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.
Hirotaka Tagawa / wafuwafu13 6f16413550
chore(node/querystring): add test case for escape (#1304)
11 hours ago
.github fix: use strict-ts44.tsconfig.json on release tests (#1278) 1 week ago
_util refactor: use native hasOwn (#1177) 3 weeks ago
_wasm_crypto fix: update to latest signal API changes (#1211) 1 week ago
archive docs: correct typos (#1207) 2 weeks ago
async feat(testing/asserts): add assertThrows() overload to receive error (#1219) 1 week ago
bytes docs: correct typos (#1207) 2 weeks ago
collections feat(collections): use function overloading (#1286) 3 days ago
crypto fix(crypto): make crypto bench depend on sibling version of testing module (#1135) 1 month ago
datetime docs(datetime): fix example in README (#1199) 3 weeks ago
encoding docs(encoding): add hex docs (#1287) 5 days ago
examples docs: reduce friction for windows users r.e. `0.0.0.0` (#1210) 2 weeks ago
flags chore: wrap examples in fenced code blocks (#1222) 2 weeks ago
fmt chore: wrap examples in fenced code blocks (#1222) 2 weeks ago
fs fix: update to latest signal API changes (#1211) 1 week ago
hash fix: update to latest signal API changes (#1211) 1 week ago
http fix: update to latest signal API changes (#1211) 1 week ago
io fix: update to latest signal API changes (#1211) 1 week ago
log fix: type check examples in README files (#1121) 1 month ago
mime fix: update to latest signal API changes (#1211) 1 week ago
node chore(node/querystring): add test case for escape (#1304) 11 hours ago
path chore: wrap examples in fenced code blocks (#1222) 2 weeks ago
permissions chore: wrap examples in fenced code blocks (#1222) 2 weeks ago
signal fix: update to latest signal API changes (#1211) 1 week ago
testing fix: use strict-ts44.tsconfig.json on release tests (#1278) 1 week ago
textproto fix: update to latest signal API changes (#1211) 1 week ago
uuid BREAKING std/uuid: rework v4 and v5 module (#971) 3 months ago
wasi fix: update to latest signal API changes (#1211) 1 week ago
ws docs: correct typos (#1207) 2 weeks ago
.editorconfig add charset & trim_trailing_whitespace (#158) 3 years ago
.gitattributes chore: Setup CI and tests 8 months ago
.gitignore feat(crypto): add std/crypto wrapping and extending runtime WebCrypto (#1025) 2 months ago
.gitmodules chore: Setup CI and tests 8 months ago
LICENSE chore: update README and LICENSE (#634) 8 months ago
README.md doc: add an explanation about how to test markdown files (#1221) 2 weeks ago
Releases.md 0.108.0 2 days ago
browser-compat.tsconfig.json fix: improve type safety for browser-compatible modules (#995) 3 months ago
strict-ts44.tsconfig.json chore: updates related to TypeScript 4.4 (#1171) 3 weeks ago
test_import_map.json chore: updates related to TypeScript 4.4 (#1171) 3 weeks ago
version.ts 0.108.0 2 days ago

README.md

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

Before opening a PR make sure to:

  • there are tests that cover the changes.
  • deno test --unstable --allow-all passes.
  • deno fmt --check passes without changing files.
  • deno lint --unstable passes.

Give the PR a descriptive title.

Examples of good title:

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

Examples of bad title:

  • 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. You need to pass the following 6 checks for your PR to be accepted:

  • test with Deno 1.x on Windows
  • test with Deno 1.x on Linux
  • test with Deno 1.x on macOS
  • lint
  • wasm crypto check
  • CLA

You don't need to pass the following 3 checks (These are informative checks for maintainers):

  • test with Deno canary on Windows
  • test with Deno canary on Linux
  • test with Deno canary on macOS

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.