2023-10-28 07:50:54 +00:00
|
|
|
# Deno Standard Library
|
2018-11-07 19:28:47 +00:00
|
|
|
|
2024-04-23 05:12:50 +00:00
|
|
|
[![JSR @std](https://jsr.io/badges/@std)](https://jsr.io/@std)
|
2021-03-17 08:30:10 +00:00
|
|
|
[![codecov](https://codecov.io/gh/denoland/deno_std/branch/main/graph/badge.svg?token=w6s3ODtULz)](https://codecov.io/gh/denoland/deno_std)
|
2023-10-28 07:50:54 +00:00
|
|
|
[![ci](https://github.com/denoland/deno_std/actions/workflows/ci.yml/badge.svg)](https://github.com/denoland/deno_std/actions/workflows/ci.yml)
|
2021-03-17 08:30:10 +00:00
|
|
|
|
2023-10-28 07:50:54 +00:00
|
|
|
High-quality APIs for [Deno](https://deno.com/) and the web. Use fearlessly.
|
2019-01-03 16:40:09 +00:00
|
|
|
|
2024-05-08 07:00:48 +00:00
|
|
|
<!--deno-fmt-ignore-start-->
|
|
|
|
> [!NOTE]
|
|
|
|
> Newer versions of the Standard Library are now hosted on
|
2024-04-29 07:07:37 +00:00
|
|
|
> [JSR](https://jsr.io/@std). Older versions up till 0.224.0 are still available
|
|
|
|
> at [deno.land/std](https://deno.land/std).
|
2024-05-08 07:00:48 +00:00
|
|
|
<!--deno-fmt-ignore-end-->
|
2019-04-13 19:30:56 +00:00
|
|
|
|
2024-04-22 06:47:41 +00:00
|
|
|
## Packages
|
2023-10-31 06:17:28 +00:00
|
|
|
|
2024-04-29 07:07:37 +00:00
|
|
|
The following list contains links to the Standard Library's packages and
|
|
|
|
documentation:
|
2024-04-22 05:16:28 +00:00
|
|
|
|
2024-04-27 09:58:58 +00:00
|
|
|
| Package | Status | Latest version |
|
|
|
|
| ------------------------------------------------------ | -------- | ----------------------------------------------------------------------------------------- |
|
|
|
|
| [archive](https://jsr.io/@std/archive) | Unstable | [![JSR](https://jsr.io/badges/@std/archive)](https://jsr.io/@std/archive) |
|
|
|
|
| [assert](https://jsr.io/@std/assert) | Settled | [![JSR](https://jsr.io/badges/@std/assert)](https://jsr.io/@std/assert) |
|
|
|
|
| [async](https://jsr.io/@std/async) | Settled | [![JSR](https://jsr.io/badges/@std/async)](https://jsr.io/@std/async) |
|
|
|
|
| [bytes](https://jsr.io/@std/bytes) | Settled | [![JSR](https://jsr.io/badges/@std/bytes)](https://jsr.io/@std/bytes) |
|
|
|
|
| [cli](https://jsr.io/@std/cli) | Unstable | [![JSR](https://jsr.io/badges/@std/cli)](https://jsr.io/@std/cli) |
|
|
|
|
| [collections](https://jsr.io/@std/collections) | Settled | [![JSR](https://jsr.io/badges/@std/collections)](https://jsr.io/@std/collections) |
|
|
|
|
| [crypto](https://jsr.io/@std/crypto) | Settled | [![JSR](https://jsr.io/badges/@std/crypto)](https://jsr.io/@std/crypto) |
|
|
|
|
| [csv](https://jsr.io/@std/csv) | Settled | [![JSR](https://jsr.io/badges/@std/csv)](https://jsr.io/@std/csv) |
|
|
|
|
| [data_structures](https://jsr.io/@std/data_structures) | Unstable | [![JSR](https://jsr.io/badges/@std/data-structures)](https://jsr.io/@std/data-structures) |
|
|
|
|
| [datetime](https://jsr.io/@std/datetime) | Unstable | [![JSR](https://jsr.io/badges/@std/datetime)](https://jsr.io/@std/datetime) |
|
|
|
|
| [dotenv](https://jsr.io/@std/dotenv) | Unstable | [![JSR](https://jsr.io/badges/@std/dotenv)](https://jsr.io/@std/dotenv) |
|
|
|
|
| [encoding](https://jsr.io/@std/encoding) | Settled | [![JSR](https://jsr.io/badges/@std/encoding)](https://jsr.io/@std/encoding) |
|
|
|
|
| [expect](https://jsr.io/@std/expect) | Unstable | [![JSR](https://jsr.io/badges/@std/expect)](https://jsr.io/@std/expect) |
|
|
|
|
| [fmt](https://jsr.io/@std/fmt) | Settled | [![JSR](https://jsr.io/badges/@std/fmt)](https://jsr.io/@std/fmt) |
|
|
|
|
| [front_matter](https://jsr.io/@std/front-matter) | Settled | [![JSR](https://jsr.io/badges/@std/front-matter)](https://jsr.io/@std/front-matter) |
|
|
|
|
| [fs](https://jsr.io/@std/fs) | Settled | [![JSR](https://jsr.io/badges/@std/fs)](https://jsr.io/@std/fs) |
|
|
|
|
| [html](https://jsr.io/@std/html) | Unstable | [![JSR](https://jsr.io/badges/@std/html)](https://jsr.io/@std/html) |
|
|
|
|
| [http](https://jsr.io/@std/http) | Unstable | [![JSR](https://jsr.io/badges/@std/http)](https://jsr.io/@std/http) |
|
|
|
|
| [ini](https://jsr.io/@std/ini) | Unstable | [![JSR](https://jsr.io/badges/@std/ini)](https://jsr.io/@std/ini) |
|
|
|
|
| [io](https://jsr.io/@std/io) | Unstable | [![JSR](https://jsr.io/badges/@std/io)](https://jsr.io/@std/io) |
|
|
|
|
| [json](https://jsr.io/@std/json) | Settled | [![JSR](https://jsr.io/badges/@std/json)](https://jsr.io/@std/json) |
|
|
|
|
| [jsonc](https://jsr.io/@std/jsonc) | Settled | [![JSR](https://jsr.io/badges/@std/jsonc)](https://jsr.io/@std/jsonc) |
|
|
|
|
| [log](https://jsr.io/@std/log) | Unstable | [![JSR](https://jsr.io/badges/@std/log)](https://jsr.io/@std/log) |
|
|
|
|
| [media_types](https://jsr.io/@std/media-types) | Settled | [![JSR](https://jsr.io/badges/@std/media-types)](https://jsr.io/@std/media-types) |
|
|
|
|
| [msgpack](https://jsr.io/@std/msgpack) | Unstable | [![JSR](https://jsr.io/badges/@std/msgpack)](https://jsr.io/@std/msgpack) |
|
|
|
|
| [net](https://jsr.io/@std/net) | Unstable | [![JSR](https://jsr.io/badges/@std/net)](https://jsr.io/@std/net) |
|
|
|
|
| [path](https://jsr.io/@std/path) | Settled | [![JSR](https://jsr.io/badges/@std/path)](https://jsr.io/@std/path) |
|
|
|
|
| [regexp](https://jsr.io/@std/regexp) | Unstable | [![JSR](https://jsr.io/badges/@std/regexp)](https://jsr.io/@std/regexp) |
|
|
|
|
| [semver](https://jsr.io/@std/semver) | Unstable | [![JSR](https://jsr.io/badges/@std/semver)](https://jsr.io/@std/semver) |
|
|
|
|
| [streams](https://jsr.io/@std/streams) | Settled | [![JSR](https://jsr.io/badges/@std/streams)](https://jsr.io/@std/streams) |
|
|
|
|
| [testing](https://jsr.io/@std/testing) | Settled | [![JSR](https://jsr.io/badges/@std/testing)](https://jsr.io/@std/testing) |
|
|
|
|
| [text](https://jsr.io/@std/text) | Unstable | [![JSR](https://jsr.io/badges/@std/text)](https://jsr.io/@std/text) |
|
|
|
|
| [toml](https://jsr.io/@std/toml) | Settled | [![JSR](https://jsr.io/badges/@std/toml)](https://jsr.io/@std/toml) |
|
|
|
|
| [ulid](https://jsr.io/@std/ulid) | Unstable | [![JSR](https://jsr.io/badges/@std/ulid)](https://jsr.io/@std/ulid) |
|
|
|
|
| [url](https://jsr.io/@std/url) | Unstable | [![JSR](https://jsr.io/badges/@std/url)](https://jsr.io/@std/url) |
|
|
|
|
| [uuid](https://jsr.io/@std/uuid) | Settled | [![JSR](https://jsr.io/badges/@std/uuid)](https://jsr.io/@std/uuid) |
|
|
|
|
| [webgpu](https://jsr.io/@std/webgpu) | Unstable | [![JSR](https://jsr.io/badges/@std/webgpu)](https://jsr.io/@std/webgpu) |
|
|
|
|
| [yaml](https://jsr.io/@std/yaml) | Settled | [![JSR](https://jsr.io/badges/@std/yaml)](https://jsr.io/@std/yaml) |
|
2024-04-22 06:47:41 +00:00
|
|
|
|
|
|
|
> Note: Settled status means a package is unlikely to have breaking changes, but
|
|
|
|
> has not yet achieved v1 status.
|
2023-10-31 06:17:28 +00:00
|
|
|
|
2024-04-29 07:07:37 +00:00
|
|
|
## Stabilization
|
|
|
|
|
2024-06-04 03:22:08 +00:00
|
|
|
The Standard Library is now in the process of stabilizing its packages. See
|
|
|
|
#4600 for the release schedule.
|
2024-05-17 06:03:09 +00:00
|
|
|
|
|
|
|
Each package must go through the following steps to achieve stabilization:
|
2024-05-17 03:30:04 +00:00
|
|
|
|
|
|
|
1. Publish version 1.0.0-rc.1 once meeting the following requirements:
|
|
|
|
1. Approved by at least 2 maintainers. There must be consensus that the
|
|
|
|
design, documentation and implementation of the package are good and that
|
|
|
|
it is unlikely to undergo breaking changes in the future.
|
|
|
|
1. 100% documented, passing `deno doc --lint` checks and adhering to the
|
|
|
|
[documentation guidelines](https://github.com/denoland/deno_std/blob/main/.github/CONTRIBUTING.md#documentation).
|
|
|
|
1. Maximum possible test coverage
|
|
|
|
1. No open issues or pull requests that might lead to breaking changes. For
|
|
|
|
example, issues that suggest new non-breaking features are fine to exist
|
|
|
|
at stabilization.
|
|
|
|
1. Allow 1 month for the community and the core team to review the package and
|
|
|
|
handle any feedback. There must be consensus that the design, documentation
|
|
|
|
and implementation of the package are good and that it is unlikely to undergo
|
|
|
|
breaking changes in the future.
|
|
|
|
1. If there are no remaining issues, publish version 1.0.0. If there are
|
|
|
|
remaining issues, extend the waiting period to allow further time for a
|
|
|
|
resolution. Then, repeat this step.
|
2024-04-29 07:07:37 +00:00
|
|
|
|
2024-04-10 01:27:39 +00:00
|
|
|
## Architecture
|
|
|
|
|
|
|
|
Check out the architecture guide [here](./.github/ARCHITECTURE.md).
|
|
|
|
|
2024-01-16 03:18:57 +00:00
|
|
|
## Design
|
|
|
|
|
2024-04-16 10:06:02 +00:00
|
|
|
### Minimal Exports
|
2024-01-16 03:18:57 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2019-02-12 23:23:49 +00:00
|
|
|
## Contributing
|
2019-01-04 04:13:21 +00:00
|
|
|
|
2023-11-11 11:11:19 +00:00
|
|
|
Check out the contributing guidelines [here](.github/CONTRIBUTING.md).
|
2023-10-28 07:50:54 +00:00
|
|
|
|
|
|
|
## Releases
|
|
|
|
|
2024-05-20 12:50:40 +00:00
|
|
|
New versions of packages are published every 1 or 2 weeks. Package versions
|
|
|
|
>=1.0.0 follow [Semantic Versioning](https://semver.org/), and package versions
|
|
|
|
<1.0.0 follow [this proposal](https://github.com/semver/semver/pull/923).
|
2023-11-24 02:54:28 +00:00
|
|
|
|
|
|
|
## Badge
|
|
|
|
|
2024-04-29 02:57:30 +00:00
|
|
|
[![Built with the Deno Standard Library](./badge.svg)](https://jsr.io/@std)
|
2023-11-24 02:54:28 +00:00
|
|
|
|
|
|
|
```html
|
2024-04-29 02:57:30 +00:00
|
|
|
<a href="https://jsr.io/@std">
|
2023-11-24 02:54:28 +00:00
|
|
|
<img
|
|
|
|
width="135"
|
|
|
|
height="20"
|
|
|
|
src="https://raw.githubusercontent.com/denoland/deno_std/main/badge.svg"
|
|
|
|
alt="Built with the Deno Standard Library"
|
|
|
|
/>
|
|
|
|
</a>
|
|
|
|
```
|
|
|
|
|
|
|
|
```md
|
2024-04-29 02:57:30 +00:00
|
|
|
[![Built with the Deno Standard Library](https://raw.githubusercontent.com/denoland/deno_std/main/badge.svg)](https://jsr.io/@std)
|
2023-11-24 02:54:28 +00:00
|
|
|
```
|
2024-05-17 05:00:18 +00:00
|
|
|
|
|
|
|
## Frequently Asked Questions
|
|
|
|
|
|
|
|
Check out the frequently asked questions page [here](./.github/FAQ.md).
|