The Deno Standard Library
Go to file
Asher Gomez f6857a88de
BREAKING(encoding): replace Ascii85Options with EncodeAscii85Options and DecodeAscii85Options (#4861)
* refactor(encoding): deprecate `Ascii85Options`

* tweak

* tweak

* tweak

* tweaks
2024-05-30 19:43:30 +10:00
_tools docs(toml): lint @std/toml docs (#4799) 2024-05-30 13:08:02 +09:00
.github chore: update dependency graph (#4881) 2024-05-29 19:25:36 +10:00
.vscode chore: add vscode settings (#4735) 2024-05-15 15:41:32 +09:00
archive chore: switch to JSR-oriented codebase (#4650) 2024-04-29 11:57:30 +09:00
assert docs(assert): improve docs (#4876) 2024-05-30 11:38:16 +09:00
async chore: release 2024.05.22 (#4830) 2024-05-22 19:57:28 +09:00
bytes chore: release 2024.05.22 (#4830) 2024-05-22 19:57:28 +09:00
cli chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
collections docs(collections,internal,media-types): use @typeParam tag instead of @template (#4772) 2024-05-20 17:34:47 +10:00
crypto test(crypto): test node.js custom inspection of KeyStack (#4887) 2024-05-30 11:33:50 +09:00
csv chore: release 2024.05.22 (#4830) 2024-05-22 19:57:28 +09:00
data_structures chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
datetime chore: add @example title check to doc checker (#4823) 2024-05-22 15:08:36 +10:00
dotenv chore: switch to JSR-oriented codebase (#4650) 2024-04-29 11:57:30 +09:00
encoding BREAKING(encoding): replace Ascii85Options with EncodeAscii85Options and DecodeAscii85Options (#4861) 2024-05-30 19:43:30 +10:00
expect chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
fmt chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
front_matter chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
fs chore(fmt,fs,path,internal): skip yanked version manually (#4753) 2024-05-16 20:04:16 +09:00
html chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
http feat(net): getNetworkAddress() (#4677) 2024-05-30 11:17:40 +09:00
ini chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
internal test(internal): improve test coverage (#4779) 2024-05-21 22:54:22 +10:00
io chore: switch to JSR-oriented codebase (#4650) 2024-04-29 11:57:30 +09:00
json chore: release 2024.05.22 (#4830) 2024-05-22 19:57:28 +09:00
jsonc fix: complete docs for std/jsonc (#4814) 2024-05-22 06:03:58 +00:00
log chore: release 2024.05.07 (#4689) 2024-05-08 13:32:51 +09:00
media_types chore: add @example title check to doc checker (#4823) 2024-05-22 15:08:36 +10:00
msgpack chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
net feat(net): getNetworkAddress() (#4677) 2024-05-30 11:17:40 +09:00
path test(path): add test cases of isAbsolute(), joinGlobs(), and common() (#4904) 2024-05-30 18:17:29 +09:00
regexp chore: release 2024.05.22 (#4830) 2024-05-22 19:57:28 +09:00
semver chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
streams chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
testing chore(expect): fix future no-slow-type lint errors with expando properties (#4711) 2024-05-13 08:29:05 +10:00
text chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
toml docs(toml): lint @std/toml docs (#4799) 2024-05-30 13:08:02 +09:00
ulid chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
url chore: switch to JSR-oriented codebase (#4650) 2024-04-29 11:57:30 +09:00
uuid chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
webgpu chore: release 2024.05.22 (#4830) 2024-05-22 19:57:28 +09:00
yaml chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00
.editorconfig chore: update .editorconfig (#4685) 2024-05-07 16:15:29 +09:00
.gitattributes Remove std/node, it was merged into Deno itself (#3206) 2023-02-22 10:28:55 -05:00
.gitignore chore: add vscode settings (#4735) 2024-05-15 15:41:32 +09:00
badge.svg chore: switch to JSR-oriented codebase (#4650) 2024-04-29 11:57:30 +09:00
browser-compat.tsconfig.json chore: switch to JSR-oriented codebase (#4650) 2024-04-29 11:57:30 +09:00
deno.json chore: remove RUST_BACKTRACE=1 from test task (#4905) 2024-05-30 19:43:12 +10:00
LICENSE chore: update copyright header (#1871) 2022-02-02 23:21:39 +09:00
README.md docs: add @std/media-types to stabilization schedule (#4781) 2024-05-21 14:08:32 +10:00
Releases.md chore: release 2024.05.29 (#4883) 2024-05-29 18:56:12 +09:00

Deno Standard Library

JSR @std codecov ci

High-quality APIs for Deno and the web. Use fearlessly.

Note

Newer versions of the Standard Library are now hosted on JSR. Older versions up till 0.224.0 are still available at deno.land/std.

Packages

The following list contains links to the Standard Library's packages and documentation:

Package Status Latest version
archive Unstable JSR
assert Settled JSR
async Settled JSR
bytes Settled JSR
cli Unstable JSR
collections Settled JSR
crypto Settled JSR
csv Settled JSR
data_structures Unstable JSR
datetime Unstable JSR
dotenv Unstable JSR
encoding Settled JSR
expect Unstable JSR
fmt Settled JSR
front_matter Settled JSR
fs Settled JSR
html Unstable JSR
http Unstable JSR
ini Unstable JSR
io Unstable JSR
json Settled JSR
jsonc Settled JSR
log Unstable JSR
media_types Settled JSR
msgpack Unstable JSR
net Unstable JSR
path Settled JSR
regexp Unstable JSR
semver Unstable JSR
streams Settled JSR
testing Settled JSR
text Unstable JSR
toml Settled JSR
ulid Unstable JSR
url Unstable JSR
uuid Settled JSR
webgpu Unstable JSR
yaml Settled JSR

Note: Settled status means a package is unlikely to have breaking changes, but has not yet achieved v1 status.

Stabilization

The Standard Library is now in the process of stabilizing its packages. Below is the current schedule:

Each package must go through the following steps to achieve stabilization:

  1. Publish version 1.0.0-rc.1 once meeting the following requirements:
    1. Approved by at least 2 maintainers. There must be consensus that the design, documentation and implementation of the package are good and that it is unlikely to undergo breaking changes in the future.
    2. 100% documented, passing deno doc --lint checks and adhering to the documentation guidelines.
    3. Maximum possible test coverage
    4. No open issues or pull requests that might lead to breaking changes. For example, issues that suggest new non-breaking features are fine to exist at stabilization.
  2. Allow 1 month for the community and the core team to review the package and handle any feedback. There must be consensus that the design, documentation and implementation of the package are good and that it is unlikely to undergo breaking changes in the future.
  3. If there are no remaining issues, publish version 1.0.0. If there are remaining issues, extend the waiting period to allow further time for a resolution. Then, repeat this step.

Architecture

Check out the architecture guide here.

Design

Minimal Exports

Files are structured to minimize the number of dependencies they incur and the amount of effort required to manage them, both for the maintainer and the user. In most cases, only a single function or class, alongside its related types, are exported. In other cases, functions that incur negligible dependency overhead will be grouped together in the same file.

Contributing

Check out the contributing guidelines here.

Releases

New versions of packages are published every 1 or 2 weeks. Package versions

=1.0.0 follow Semantic Versioning, and package versions <1.0.0 follow this proposal.

Badge

Built with the Deno Standard Library

<a href="https://jsr.io/@std">
  <img
    width="135"
    height="20"
    src="https://raw.githubusercontent.com/denoland/deno_std/main/badge.svg"
    alt="Built with the Deno Standard Library"
  />
</a>
[![Built with the Deno Standard Library](https://raw.githubusercontent.com/denoland/deno_std/main/badge.svg)](https://jsr.io/@std)

Frequently Asked Questions

Check out the frequently asked questions page here.