std/README.md

136 lines
9.9 KiB
Markdown
Raw Normal View History

2023-10-28 07:50:54 +00:00
# Deno Standard Library
2018-11-07 19:28:47 +00:00
[![JSR @std](https://jsr.io/badges/@std)](https://jsr.io/@std)
[![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)
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
<!--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).
<!--deno-fmt-ignore-end-->
2019-04-13 19:30:56 +00:00
## Packages
2024-04-29 07:07:37 +00:00
The following list contains links to the Standard Library's packages and
documentation:
| 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) |
> Note: Settled status means a package is unlikely to have breaking changes, but
> has not yet achieved v1 status.
2024-04-29 07:07:37 +00:00
## Stabilization
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:
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
## Architecture
Check out the architecture guide [here](./.github/ARCHITECTURE.md).
## Design
### Minimal Exports
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
Check out the contributing guidelines [here](.github/CONTRIBUTING.md).
2023-10-28 07:50:54 +00:00
## Releases
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).
## Badge
[![Built with the Deno Standard Library](./badge.svg)](https://jsr.io/@std)
```html
<a href="https://jsr.io/@std">
<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
[![Built with the Deno Standard Library](https://raw.githubusercontent.com/denoland/deno_std/main/badge.svg)](https://jsr.io/@std)
```
2024-05-17 05:00:18 +00:00
## Frequently Asked Questions
Check out the frequently asked questions page [here](./.github/FAQ.md).