Skip to content

Commit

Permalink
Clean up docs
Browse files Browse the repository at this point in the history
  • Loading branch information
ai committed Jan 8, 2025
1 parent 9dcbd55 commit 90bb934
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 23 deletions.
42 changes: 26 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ model.id = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"
- [Benchmark](#benchmark)
- [Security](#security)
- [Install](#install)
- [ESM](#esm)
- [CommonJS](#commonjs)
- [CDN](#cdn)
- [API](#api)
- [Blocking](#blocking)
- [Non-Secure](#non-secure)
Expand Down Expand Up @@ -128,40 +131,47 @@ Test configuration: Framework 13 7840U, Fedora 39, Node.js 21.6.

## Install

```bash
npm install nanoid
```

### ESM
Nano ID 5 works with ESM projects (with `import`) in tests or Node.js scripts.

For quick hacks, you can load Nano ID from CDN. Though, it is not recommended
to be used in production because of the lower loading performance.
Nano ID 5 works with ESM projects (with `import`) in tests or Node.js scripts.

```js
import { nanoid } from 'https://cdn.jsdelivr.net/npm/nanoid/nanoid.js'
```bash
npm install nanoid
```

### CommonJS
Nano ID 5 can be used with CommonJS in one of the following ways:

- You can use `require()` to import Nano ID. You need to use latest Node.js 22.12 (works out-of-the-box) or Node.js 20 (with `--experimental-require-module`)
Nano ID can be used with CommonJS in one of the following ways:

- You can use `require()` to import Nano ID. You need to use latest Node.js
22.12 (works out-of-the-box) or Node.js 20
(with `--experimental-require-module`).

- For Node.js 18 you can dynamically import Nano ID as follows:

- For Node.js 16 or newer you can dynamically import Nano ID as follows:
```js
let nanoid;

let nanoid
module.exports.createID = async () => {
if (!nanoid) ({ nanoid } = await import('nanoid'));
const id = nanoid() // => "V1StGXR8_Z5jdHi6B-myT"
if (!nanoid) ({ nanoid } = await import('nanoid'))
return nanoid() // => "V1StGXR8_Z5jdHi6B-myT"
}
```

- You can use Nano ID 3.x (we still support it):

```bash
npm install nanoid@3
```

### CDN

For quick hacks, you can load Nano ID from CDN. Though, it is not recommended
to be used in production because of the lower loading performance.

```js
import { nanoid } from 'https://cdn.jsdelivr.net/npm/nanoid/nanoid.js'
```

## API

Nano ID has 2 APIs: normal and non-secure.
Expand Down
36 changes: 29 additions & 7 deletions README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ model.id = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"
- [Сравнение производительности](#сравнение-производительности)
- [Безопасность](#безопасность)
- [Подключение](#подключение)
- [ESM](#esm)
- [CommonJS](#commonjs)
- [CDN](#cdn)
- [API](#api)
- [Блокирующий](#блокирующий)
- [Небезопасный](#небезопасный)
Expand Down Expand Up @@ -135,19 +138,38 @@ _См. также хорошую статью о теориях генерато

## Подключение

### ESM

Nano ID 5 работает с ESM-проектами (`import`) в тестах или скриптах для Node.js.

```bash
npm install nanoid
```

Nano ID 5 работает с ESM-проектами (`import`) в тестах или скриптах для Node.js.
Для CommonJS `require()` вам нужна последняя версия Node.js 22.12
(работает из коробки) или Node.js 20 (с флагом `--experimental-require-module`):
### CommonJS

Для Node.js 18 возьмите Nano ID 3.x (мы его всё ещё поддерживаем):
На проектах с CommonJS вы можете использовать:

```bash
npm install nanoid@3
```
- `require()` будет работать в последней версия Node.js 22.12 (из коробки)
или Node.js 20 (с флагом `--experimental-require-module`).

- В более старых версиях Node.js можно использовать динамический импорт:

```js
let nanoid
module.exports.createID = async () => {
if (!nanoid) ({ nanoid } = await import('nanoid'))
return nanoid() // => "V1StGXR8_Z5jdHi6B-myT"
}
```

- Или можно просто взять Nano ID 3.x (мы его всё ещё поддерживаем):

```bash
npm install nanoid@3
```

### CDN

Для быстрого прототипирования вы можете подключить Nano ID с CDN без установки.
Не используйте этот способ на реальном сайте, так как он сильно бьёт
Expand Down

0 comments on commit 90bb934

Please sign in to comment.