# Deno Standard Library

The Deno Standard Library is not a set of runtime globals. It is a collection of independently versioned modules under the JSR `@std` scope. Install only the packages the project uses:

```bash
deno add jsr:@std/path jsr:@std/fs jsr:@std/assert
```

```ts
import { join } from "@std/path";
import { ensureDir } from "@std/fs";
import { assertEquals } from "@std/assert";

await ensureDir(join("data", "cache"));
assertEquals(join("data", "file.txt"), "data/file.txt");
```

## Common packages

| Task | Package | Note |
| --- | --- | --- |
| portable paths | `@std/path` | do not concatenate `/` manually |
| file helpers | `@std/fs` | still subject to Deno permissions |
| test assertions | `@std/assert` | pair with `Deno.test` |
| date and time helpers | `@std/datetime` | marked UNSTABLE on JSR and never stabilized with std 1.0; prefer Web `Temporal` / `Intl` |
| UUIDs | Web `crypto.randomUUID()` | usually no package required |
| HTTP | `Deno.serve` | add a framework for routing or sessions |

Standard-library packages have no third-party dependencies and aim to work across Deno, Node, Bun, Workers, and browsers where the underlying platform API exists.

Official references: [Deno Standard Library](https://docs.deno.com/runtime/reference/std/) and [JSR @std](https://jsr.io/@std).
