useNodejsImportProtocol
Summary
Section titled “Summary”- Rule available since:
v1.5.0
- Diagnostic Category:
lint/style/useNodejsImportProtocol
- This rule is recommended, which means is enabled by default.
- This rule has an unsafe fix.
- The default severity of this rule is information.
- Sources:
- Same as
unicorn/prefer-node-protocol
- Same as
Description
Section titled “Description”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 “Examples”Invalid
Section titled “Invalid”import fs from 'fs';
code-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 │
import os from 'os';
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 │
import path from 'path';
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 │
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
How to configure
Section titled “How to configure”{ "linter": { "rules": { "style": { "useNodejsImportProtocol": "error" } } }}