You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Bartek Iwańczuk d7bdbfa3ef
feat(crypto): add md4 hash (#1799)
2 weeks ago
.github crypto(build): update Rust and Rust dependencies (#1805) 2 weeks ago
_tools ci: fix lint and format scripts (#1576) 2 months ago
_util BREAKING(http): remove Go-style address (#1660) 1 month ago
_wasm_crypto feat(crypto): add md4 hash (#1799) 2 weeks ago
archive perf: use `Array.from` instead of `new Array` (#1551) 2 months ago
async fix(std/async): fix async/tee concurent .next calls error (#1425) 3 months ago
bytes perf(bytes): switch equals to simd for large byte arrays (#1349) 4 months ago
collections revert(collection): Remove findLastIndex from std/collections (#1528) 1 month ago
crypto feat(crypto): add md4 hash (#1799) 2 weeks ago
datetime fix(datetime): fix bug for parse at the end of the month (#1676) 2 months ago
encoding feat(toml): align keys by option (#1693) 1 month ago
examples fix(examples/chat): fix applyState call (#1760) 4 weeks ago
flags chore: wrap examples in fenced code blocks (#1222) 4 months ago
fmt Revert "chore: skip fmt/colors test (#1700)" (#1709) 1 month ago
fs fix(path): change default of 'extended' options of glob methods (#1719) 1 month ago
hash feat(hash): add Tiger hash (#1729) 1 month ago
http feat(http): add eyecandy to file_server (#1804) 2 weeks ago
io chore(node/buffer): convert to js private variables (#1655) 2 months ago
log BREAKING(io): Reorganize modules (#813) 4 months ago
mime feat: streams utilities (#1141) 3 months ago
node feat(node): upstream caller-path package (#1801) 2 weeks ago
path fix(path): change default of 'extended' options of glob methods (#1719) 1 month ago
permissions test(permissions): add invalid case (#1314) 4 months ago
signal [BREAKING] Remove onSignal from 'signals/' (#1644) 1 month ago
streams [BREAKING] Remove 'server_legacy' from 'http' module (#1648) 1 month ago
testing fix(testing/assert): inequality of -0 and 0 (#1783) 3 weeks ago
textproto BREAKING(io): Reorganize modules (#813) 4 months ago
uuid feat(uuid): add function to detect RFC version of a UUID (#1766) 4 weeks ago
wasi Remove copy.ts from fs/mod.ts (#1583) 2 months ago
.editorconfig add charset & trim_trailing_whitespace (#158) 3 years ago
.gitattributes chore: Setup CI and tests 12 months ago
.gitignore feat(crypto): add std/crypto wrapping and extending runtime WebCrypto (#1025) 6 months ago
.gitmodules chore: Setup CI and tests 12 months ago
LICENSE chore: update README and LICENSE (#634) 12 months ago fix(docs): Added correct plural case for word "title" (#1617) 2 months ago 0.120.0 2 weeks ago
browser-compat.tsconfig.json fix: improve type safety for browser-compatible modules (#995) 7 months ago
deno.json feat(node): add zlib (#1790) 2 weeks ago
strict-ts44.tsconfig.json chore: updates related to TypeScript 4.4 (#1171) 5 months ago
test_import_map.json chore: updates related to TypeScript 4.4 (#1171) 5 months ago
version.ts 0.120.0 2 weeks ago

Deno Standard Modules


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!


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.


To browse documentation for modules:


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:

  • Add tests that cover your changes.
  • deno test --unstable --allow-all passes.
  • deno run -A _tools/format.js passes without changing files.
  • deno run -A _tools/lint.js 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 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.