The Deno Standard Library
Go to file
2022-07-27 23:15:28 +09:00
_tools chore: updates for using deno 1.23 (#2354) 2022-06-16 23:25:21 -04:00
_util chore: format for 1.21.1 (#2385) 2022-06-24 12:02:23 +02:00
_wasm_crypto chore: add overview paragraph to _wasm_crypto README.md (#2383) 2022-06-23 19:38:55 -04:00
_wasm_varint chore: upgrade wasmbuild to 0.6 (#2362) 2022-06-17 11:12:27 -04:00
.devcontainer chore: add development container configuration (#1938) 2022-02-21 14:23:43 +11:00
.github chore: upgrade wasmbuild to 0.6 (#2362) 2022-06-17 11:12:27 -04:00
archive fix(archive/tar): export TarEntry class (#2429) 2022-07-11 17:38:23 +09:00
async chore: Update top level module JSDocs (#2343) 2022-06-14 11:20:56 +02:00
bytes chore(bytes): rename equalsSimd to equals32Bit (#2345) 2022-06-14 18:09:21 +09:00
collections BREAKING(collections): rename RBTree/BSTree to RedBlackTree/BinarySearchTree (#2400) 2022-06-30 14:58:42 +09:00
crypto chore: update to changes in spawn API (#2448) 2022-07-19 02:35:19 +02:00
datetime chore: Update top level module JSDocs (#2343) 2022-06-14 11:20:56 +02:00
dotenv docs(dotenv): remove duplicated section (#2458) 2022-07-22 20:58:00 +09:00
encoding chore: workaround swc emit issues (#2439) 2022-07-13 09:15:32 -04:00
examples chore: update to changes in spawn API (#2448) 2022-07-19 02:35:19 +02:00
flags chore: format for 1.21.1 (#2385) 2022-06-24 12:02:23 +02:00
fmt chore: Update top level module JSDocs (#2343) 2022-06-14 11:20:56 +02:00
fs chore: update to changes in spawn API (#2448) 2022-07-19 02:35:19 +02:00
hash chore: update to changes in spawn API (#2448) 2022-07-19 02:35:19 +02:00
http feat(http/http_errors): add headers property (#2462) 2022-07-26 14:28:47 +10:00
io fix(io): StringWriter retaining references after write (#2456) 2022-07-25 15:21:13 +09:00
log chore: Update top level module JSDocs (#2343) 2022-06-14 11:20:56 +02:00
media_types feat(media_types): Improve contentType type definition (#2357) 2022-06-22 09:13:01 -04:00
node fix(node): correct import specifiers (#2474) 2022-07-27 23:15:28 +09:00
path docs: update path.dirname to be clear it returns the directory path (#2365) 2022-06-20 10:06:46 -04:00
permissions chore: Update top level module JSDocs (#2343) 2022-06-14 11:20:56 +02:00
semver feat(semver): add "semver" module (#2434) 2022-07-18 13:17:42 +02:00
signal chore: Update top level module JSDocs (#2343) 2022-06-14 11:20:56 +02:00
streams fix(streams/delimiter): avoid recursion in TextLineStream (#2318) 2022-06-29 17:09:42 +09:00
testing fix(testing): add support for PromiseLike in assertRejects (#2443) 2022-07-17 09:01:14 +10:00
textproto chore: Update top level module JSDocs (#2343) 2022-06-14 11:20:56 +02:00
uuid chore: Update top level module JSDocs (#2343) 2022-06-14 11:20:56 +02:00
wasi chore: update to changes in spawn API (#2448) 2022-07-19 02:35:19 +02:00
_deno_unstable_test.ts chore: update to changes in spawn API (#2448) 2022-07-19 02:35:19 +02:00
_deno_unstable.ts feat(node/dgram): support dgram (udp) node module compat (#2205) 2022-05-17 10:58:39 +09:00
.editorconfig chore(node): add asn1.js (#1971) 2022-02-28 20:55:56 +09:00
.gitattributes chore: try to disable language stats for node/ directory (#2063) 2022-03-25 17:16:47 +01:00
.gitignore refactor: use wasmbuild (#2319) 2022-06-08 11:19:50 -04:00
.gitmodules chore: Setup CI and tests 2021-02-01 12:20:35 +01:00
browser-compat.tsconfig.json fix: improve type safety for browser-compatible modules (#995) 2021-07-06 11:15:37 +09:00
deno.json chore: upgrade wasmbuild to 0.6 (#2362) 2022-06-17 11:12:27 -04:00
LICENSE chore: update copyright header (#1871) 2022-02-02 23:21:39 +09:00
README.md docs(README): using deno fmt --check (#2339) 2022-06-11 19:06:23 +09:00
Releases.md 0.149.0 (#2453) 2022-07-21 00:14:30 +02:00
test_import_map.json chore: updates related to TypeScript 4.4 (#1171) 2021-08-31 14:39:04 +10:00
version.ts 0.149.0 (#2453) 2022-07-21 00:14:30 +02:00

Deno Standard Modules

codecov

These modules do not have external dependencies and they are reviewed by the Deno core team. The intention is to have a standard set of high quality code that all Deno projects can use fearlessly.

Contributions are welcome!

Releases

Standard library is currently tagged independently of Deno version. This will change once the library is stabilized.

To check compatibility of different version of standard library with Deno CLI see this list.

How to use

These modules will eventually be tagged in accordance with Deno releases but as of today we do not yet consider them stable and so we version the standard modules differently from the Deno runtime to reflect this.

It is strongly recommended that you link to tagged releases to avoid unintended updates and breaking changes.

Don't link to / import any module whose path:

  • Has a name or parent with an underscore prefix: _foo.ts, _util/bar.ts.
  • Is that of a test module or test data: test.ts, foo_test.ts, testdata/bar.txt.

Don't import any symbol with an underscore prefix: export function _baz() {}.

These elements are not considered part of the public API, thus no stability is guaranteed for them.

Documentation

To browse documentation for modules:

Contributing

NOTE: This repository was unarchived and synced on Feb, 1st, 2021. If you already had it cloned, we suggest to do a fresh clone to avoid git conflicts.

deno_std is a loose port of Go's standard library. When in doubt, simply port Go's source code, documentation, and tests. There are many times when the nature of JavaScript, TypeScript, or Deno itself justifies diverging from Go, but if possible we want to leverage the energy that went into building Go. We generally welcome direct ports of Go's code.

Please ensure the copyright headers cite the code's origin.

Follow the style guide.

Opening a pull request

After cloning don't forget to git submodule update --init.

Before opening a PR make sure to:

  • have the latest Deno version installed locally
  • add tests that cover your changes.
  • deno task test passes.
  • deno fmt --check passes.
  • deno lint passes.

Give the PR a descriptive title.

Examples of good titles:

  • fix(http): Fix race condition in server
  • docs(fmt): Update docstrings
  • feat(log): Handle nested messages

Examples of bad titles:

  • fix #7123
  • update docs
  • fix bugs

Ensure there is a related issue and it is referenced in the PR text.

For contributions to the Node compatibility library please check the std/node contributing guide

About CI checks:

We currently have 9 checks on CI. Each PR should pass all of these checks to be accepted.

  • test with Deno canary on Windows
  • test with Deno canary on Linux
  • test with Deno canary on macOS
  • test Node polyfill with Deno canary on Windows
  • test Node polyfill with Deno canary on Linux
  • test Node polyfill with Deno canary on macOS
  • lint
  • wasm crypto check
  • CLA

Typechecking code in Markdown files:

If you want to run deno test --doc x.md you will need to specify the flag --import-map=test_import_map.json, this import map is in the root of deno_std.

For maintainers:

To release a new version a tag in the form of x.y.z should be added.