Deno standard library
GitHub Stars
Go to latest

A collection of APIs to provide help with asynchronous tasks like delays, debouncing, deferreds or pooling.


Provides helper functions to manipulate Uint8Array byte slices that are not included on the Uint8Array prototype.


This module is browser compatible.


Utilities for dealing with Date objects.


Configure environmental variables using .env files.


CLI flag parser.


This module is browser compatible.


HTTP server implementation and other utilities for working with cookies and status codes.


Buffering and various utilities for working with Deno's Reader and Writer interfaces.


Logging library with the support for terminal and file outputs. Provides interfaces for building custom loggers.


Provides utility functions for media types.


Utilities for working with OS-specific file paths.


Helpers for interacting with Deno's permissions system.


High level API for dealing with OS signals.


Utilities for working with the Streams API. Includes buffering and conversion.


A reader for dealing with text based protocols like HTTP.


Generators and validators for UUIDs for versions 1, 4 and 5.

# Deno Standard Modules
These modules do not have external dependencies and they are reviewed by theDeno core team. The intention is to have a standard set of high quality codethat all Deno projects can use fearlessly.
Contributions are welcome!
## Releases
Standard library is currently tagged independently of Deno version. This willchange once the library is stabilized.
To check compatibility of different version of standard library with Deno CLIsee[this list](
## How to use
These modules will eventually be tagged in accordance with Deno releases but asof today we do not yet consider them stable and so we version the standardmodules differently from the Deno runtime to reflect this.
It is strongly recommended that you link to tagged releases to avoid unintendedupdates 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 isguaranteed for them.
## Documentation
To browse documentation for modules:
- Go to Navigate to any module of interest.- Click "View Documentation".
## Contributing
**NOTE: This repository was unarchived and synced on Feb, 1st, 2021. If youalready 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]( in doubt, simply port Go's source code, documentation, and tests. There aremany times when the nature of JavaScript, TypeScript, or Deno itself justifiesdiverging from Go, but if possible we want to leverage the energy that went intobuilding 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](./node/
_About CI checks_:
We currently have 9 checks on CI. Each PR should pass all of these checks to beaccepted.
- 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.