useNodejsImportProtocol
Diagnostic Category: lint/style/useNodejsImportProtocol
Since: v1.5.0
Sources:
- Same as:
unicorn/prefer-node-protocol
Enforces using the node:
protocol for Node.js builtin modules.
The rule marks traditional imports like import fs from "fs";
as invalid,
suggesting the format import fs from "node:fs";
instead.
The rule also isn’t triggered if there are dependencies declared in the package.json
that match
the name of a built-in Node.js module.
Examples
Section titled ExamplesInvalid
Section titled Invalidcode-block.js:1:16 lint/style/useNodejsImportProtocol FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ A Node.js builtin module should be imported with the node: protocol.
> 1 │ import fs from ‘fs’;
│ ^^^^
2 │
ℹ Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
ℹ Unsafe fix: Add the node: protocol.
1 │ - import·fs·from·‘fs’;
1 │ + import·fs·from·‘node:fs’;
2 2 │
code-block.js:1:16 lint/style/useNodejsImportProtocol FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ A Node.js builtin module should be imported with the node: protocol.
> 1 │ import os from ‘os’;
│ ^^^^
2 │
ℹ Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
ℹ Unsafe fix: Add the node: protocol.
1 │ - import·os·from·‘os’;
1 │ + import·os·from·‘node:os’;
2 2 │
code-block.js:1:18 lint/style/useNodejsImportProtocol FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ A Node.js builtin module should be imported with the node: protocol.
> 1 │ import path from ‘path’;
│ ^^^^^^
2 │
ℹ Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.
ℹ Unsafe fix: Add the node: protocol.
1 │ - import·path·from·‘path’;
1 │ + import·path·from·‘node:path’;
2 2 │