The Deno Standard Library
Go to file
2024-01-24 19:27:04 +09:00
_tools fix: add --no-lock to spawned process args in tests (#4168) 2024-01-12 13:38:41 +09:00
.devcontainer chore: add development container configuration (#1938) 2022-02-21 14:23:43 +11:00
.github chore(crypto): upgrade to rust@1.75.0 and wasmbuild@0.15.5 (#4193) 2024-01-15 15:04:10 +11:00
archive refactor: cleanup deprecated-related APIs in std/io and std/streams (#4201) 2024-01-15 13:23:04 +09:00
assert refactor(assert): prepare for noUncheckedIndexedAccess (#4045) 2024-01-10 22:20:02 +11:00
async docs(async): fix doc of retry.ts (#4130) 2024-01-08 22:34:09 +09:00
bytes refactor(bytes): prepare for noUncheckedIndexedAccess (#4119) 2024-01-06 08:37:29 +11:00
cli chore: add more explicit types for fast check (#4206) 2024-01-16 05:13:18 +11:00
collections feat(collections): pass key to mapValues() transformer (#4127) 2024-01-24 19:27:04 +09:00
console refactor(console): rename _rle to _run_length.ts (#4212) 2024-01-17 05:41:34 +11:00
crypto chore(crypto): upgrade to rust@1.75.0 and wasmbuild@0.15.5 (#4193) 2024-01-15 15:04:10 +11:00
csv docs(csv): complete documentation (#4163) 2024-01-11 17:02:30 +11:00
data_structures refactor(data_structures): prepare for noUncheckedIndexedAccess (#4146) 2024-01-10 20:18:34 +00:00
datetime docs(datetime): complete documentation (#4167) 2024-01-12 13:37:19 +09:00
dotenv fix: add --no-lock to spawned process args in tests (#4168) 2024-01-12 13:38:41 +09:00
encoding BREAKING(encoding): remove base32.byteLength() (#4173) 2024-01-12 16:06:49 +11:00
expect fix(expect): fix the function signature of toMatchObject() (#4202) 2024-01-16 09:09:30 +11:00
flags fix(flags): correct deprecation notices (#4207) 2024-01-16 17:16:51 +11:00
fmt fix(fmt): correct stripColor() deprecation notice (#4208) 2024-01-16 17:17:13 +11:00
front_matter docs(front_matter): complete documentation (#4166) 2024-01-11 16:33:15 +09:00
fs deprecation(path): split off all constants into their own files and deprecate old names (#4153) 2024-01-18 14:54:39 +09:00
html fix: use with keyword for import attributes (#4141) 2024-01-10 19:07:56 +09:00
http deprecation(path): split off all constants into their own files and deprecate old names (#4153) 2024-01-18 14:54:39 +09:00
ini fix: add --no-lock to spawned process args in tests (#4168) 2024-01-12 13:38:41 +09:00
internal refactor: remove environment variable functionality notice in warnOnDeprecatedApi() (#4227) 2024-01-23 15:02:31 +11:00
io refactor: cleanup deprecated-related APIs in std/io and std/streams (#4201) 2024-01-15 13:23:04 +09:00
json refactor(json): prepare for noUncheckedIndexedAccess (#4159) 2024-01-11 00:58:48 +00:00
jsonc docs(jsonc): complete documentation (#4169) 2024-01-12 15:41:54 +11:00
log fix(log): make flattenArgs() private (#4214) 2024-01-17 16:18:02 +09:00
media_types docs(media_types): complete documentation (#4219) 2024-01-18 14:39:45 +09:00
msgpack docs(msgpack): complete documentation (#4220) 2024-01-18 16:50:35 +11:00
net refactor(using): use using keyword for Explicit Resource Management (#4143) 2024-01-15 08:35:50 +11:00
path deprecation(path): split off all constants into their own files and deprecate old names (#4153) 2024-01-18 14:54:39 +09:00
permissions chore: update copyright year (#4046) 2024-01-02 08:11:32 +11:00
regexp chore: update copyright year (#4046) 2024-01-02 08:11:32 +11:00
semver deprecation(semver): rename eq(), neq(), lt(), lte(), gt() and gte() (#4083) 2024-01-23 13:04:12 +09:00
streams feat: print warning on use of deprecated API (#4200) 2024-01-22 15:21:31 +11:00
testing fix: add --no-lock to spawned process args in tests (#4168) 2024-01-12 13:38:41 +09:00
text refactor(text): prepare for noUncheckedIndexedAccess (#4148) 2024-01-11 07:33:57 +11:00
toml docs(toml): complete documentation (#4223) 2024-01-20 20:21:55 +09:00
ulid refactor(ulid): prepare for noUncheckedIndexedAccess (#4147) 2024-01-11 07:26:34 +11:00
url refactor(url): prepare for noUncheckedIndexedAccess (#4145) 2024-01-11 06:59:09 +11:00
uuid chore: update copyright year (#4046) 2024-01-02 08:11:32 +11:00
webgpu refactor(webgpu): prepare for noUncheckedIndexedAccess (#4160) 2024-01-11 08:39:31 +11:00
yaml fix: add --no-lock to spawned process args in tests (#4168) 2024-01-12 13:38:41 +09:00
.editorconfig chore(node): add asn1.js (#1971) 2022-02-28 20:55:56 +09:00
.gitattributes Remove std/node, it was merged into Deno itself (#3206) 2023-02-22 10:28:55 -05:00
.gitignore chore: ignore /docs folder (#4112) 2024-01-05 18:55:55 +11:00
badge.svg docs: "Built with deno_std" badge (#3797) 2023-11-24 13:54:28 +11:00
browser-compat.tsconfig.json fix: improve type safety for browser-compatible modules (#995) 2021-07-06 11:15:37 +09:00
deno.json feat: print warning on use of deprecated API (#4200) 2024-01-22 15:21:31 +11:00
LICENSE chore: update copyright header (#1871) 2022-02-02 23:21:39 +09:00
README.md docs: add "Minimal Exports" explainer (#4194) 2024-01-16 12:18:57 +09:00
Releases.md 0.212.0 (#4178) 2024-01-12 14:41:39 +01:00
version.ts 0.212.0 (#4178) 2024-01-12 14:41:39 +01:00

Deno Standard Library

codecov ci

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

Get Started

import { copy } from "https://deno.land/std@$STD_VERSION/fs/copy.ts";

await copy("./foo", "./bar");

See here for recommended usage patterns.

Documentation

Check out the documentation here.

  1. Include the version of the library in the import specifier.

    Good:

    import { copy } from "https://deno.land/std@$STD_VERSION/fs/copy.ts";
    
  2. Only import modules that you require.

    Bad (when using only one function):

    import * as fs from "https://deno.land/std@$STD_VERSION/fs/mod.ts";
    

    Good (when using only one function):

    import { copy } from "https://deno.land/std@$STD_VERSION/fs/copy.ts";
    

    Good (when using multiple functions):

    import * as fs from "https://deno.land/std@$STD_VERSION/fs/mod.ts";
    
  3. Do not import symbols with an underscore in the name.

    Bad:

    import { _format } from "https://deno.land/std@$STD_VERSION/path/_common/format.ts";
    
  4. Do not import modules with an underscore in the path.

    Bad:

    import { filterInPlace } from "https://deno.land/std@$STD_VERSION/collections/_utils.ts";
    
  5. Do not import test modules or test data.

    Bad:

    import { test } from "https://deno.land/std@$STD_VERSION/front_matter/test.ts";
    

Stability

Sub-module Status
archive Unstable
assert Stable
async Stable
bytes Stable
collections Stable
console Unstable
csv Stable
datetime Unstable
dotenv Unstable
encoding Unstable
flags Unstable
fmt Stable
front_matter Unstable
fs Stable
html Unstable
http Unstable
io Deprecated
json Stable
jsonc Stable
log Unstable
media_types Stable
msgpack Unstable
path Unstable
permissions Deprecated
regexp Unstable
semver Unstable
streams Unstable
testing Stable
toml Stable
ulid Unstable
url Unstable
uuid Stable
webgpu Unstable
yaml Stable

For background and discussions regarding the stability of the following sub-modules, see #3489.

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.

Deprecation Policy

We deprecate the APIs in the Standard Library when they get covered by new JavaScript language APIs or new Web Standard APIs. These APIs are usually removed after 3 minor versions.

If you still need to use such APIs after the removal for some reason (for example, the usage in Fresh island), please use the URL pinned to the version where they are still available.

For example, if you want to keep using readableStreamFromIterable, which was deprecated and removed in favor of ReadableStream.from in v0.195.0, please use the import URL pinned to v0.194.0:

import { readableStreamFromIterable } from "https://deno.land/std@0.194.0/streams/readable_stream_from_iterable.ts";

Contributing

Check out the contributing guidelines here.

Releases

The Standard Library is versioned independently of the Deno CLI. This will change once the Standard Library is stabilized. See here for the compatibility of different versions of the Deno Standard Library and the Deno CLI.

A new minor version of the Standard Library is published at the same time as every new version of the Deno CLI (including patch versions).

Badge

Built with the Deno Standard Library

<a href="https://deno.land/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://deno.land/std)