std/README.md

143 lines
4.2 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
[![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
2023-10-28 07:50:54 +00:00
## Get Started
2019-01-03 16:40:09 +00:00
2023-10-28 07:50:54 +00:00
```ts
import { copy } from "https://deno.land/std@$STD_VERSION/fs/copy.ts";
2023-10-28 07:50:54 +00:00
await copy("./foo", "./bar");
```
2023-10-28 07:50:54 +00:00
See [here](#recommended-usage) for recommended usage patterns.
2023-10-28 07:50:54 +00:00
## Documentation
2019-01-03 16:40:09 +00:00
2023-10-28 07:50:54 +00:00
Check out the documentation [here](https://deno.land/std?doc).
2019-01-03 16:40:09 +00:00
2023-10-28 07:50:54 +00:00
## Recommended Usage
2023-10-28 07:50:54 +00:00
1. Include the version of the library in the import specifier.
2023-10-28 07:50:54 +00:00
Good:
```ts
import { copy } from "https://deno.land/std@$STD_VERSION/fs/copy.ts";
2023-10-28 07:50:54 +00:00
```
2023-10-28 07:50:54 +00:00
1. Only import modules that you require.
2023-10-28 07:50:54 +00:00
Bad (when using only one function):
```ts
import * as fs from "https://deno.land/std@$STD_VERSION/fs/mod.ts";
```
2018-12-24 15:28:01 +00:00
2023-10-28 07:50:54 +00:00
Good (when using only one function):
```ts
import { copy } from "https://deno.land/std@$STD_VERSION/fs/copy.ts";
```
Good (when using multiple functions):
```ts
import * as fs from "https://deno.land/std@$STD_VERSION/fs/mod.ts";
```
1. Do not import symbols with an underscore in the name.
Bad:
```ts
import { _format } from "https://deno.land/std@$STD_VERSION/path/_common/format.ts";
```
2019-04-13 19:30:56 +00:00
2023-10-28 07:50:54 +00:00
1. Do not import modules with an underscore in the path.
2023-10-28 07:50:54 +00:00
Bad:
```ts
import { filterInPlace } from "https://deno.land/std@$STD_VERSION/collections/_utils.ts";
```
1. Do not import test modules or test data.
Bad:
```ts
import { test } from "https://deno.land/std@$STD_VERSION/front_matter/test.ts";
```
2019-04-13 19:30:56 +00:00
## Stability
| Sub-module | Status |
| ------------ | ---------- |
| archive | Unstable |
| assert | Stable |
| async | Stable |
| bytes | Stable |
| collections | Stable |
| console | Unstable |
| csv | Stable |
| datetime | Unstable |
| dotenv | Unstable |
| encoding | Unstable |
| flags | Unstable |
| fmt | Stable |
| front_matter | Unstable |
| fs | Stable |
| html | Unstable |
| http | Unstable |
| io | Deprecated |
| json | Stable |
| jsonc | Stable |
| log | Unstable |
| media_types | Stable |
| msgpack | Unstable |
| path | Unstable |
| permissions | Deprecated |
| regexp | Unstable |
| semver | Unstable |
| signal | Deprecated |
| streams | Unstable |
| testing | Stable |
| toml | Stable |
| ulid | Unstable |
| url | Unstable |
| uuid | Stable |
| yaml | Stable |
> For background and discussions regarding the stability of the following
> sub-modules, see [#3489](https://github.com/denoland/deno_std/issues/3489).
## Deprecation Policy
We deprecate the APIs in the Standard Library when they get covered by new
JavaScript language APIs or new Web Standard APIs. These APIs are usually
removed after 3 minor versions.
If you still need to use such APIs after the removal for some reason (for
example, the usage in Fresh island), please use the URL pinned to the version
where they are still available.
For example, if you want to keep using `readableStreamFromIterable`, which was
deprecated and removed in favor of `ReadableStream.from` in `v0.195.0`, please
use the import URL pinned to `v0.194.0`:
```ts
import { readableStreamFromIterable } from "https://deno.land/std@0.194.0/streams/readable_stream_from_iterable.ts";
```
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
The Standard Library is versioned independently of the Deno CLI. This will
change once the Standard Library is stabilized. See
[here](https://raw.githubusercontent.com/denoland/dotland/main/versions.json)
for the compatibility of different versions of the Deno Standard Library and the
Deno CLI.
A new minor version of the Standard Library is published at the same time as
every new version of the Deno CLI (including patch versions).