noNodejsModules (JavaScript)
Language JavaScript (and super languages)
Summary
Section titled “Summary”- Rule available since:
v1.5.0 - Diagnostic Category:
lint/correctness/noNodejsModules - This rule isn’t recommended, so you need to enable it.
- This rule doesn’t have a fix.
- The default severity of this rule is warning.
- Sources:
- Same as
import/no-nodejs-modules
- Same as
How to configure
Section titled “How to configure”{ "linter": { "rules": { "correctness": { "noNodejsModules": "error" } } }}Description
Section titled “Description”Forbid the use of Node.js builtin modules.
This can be useful for client-side web projects that don’t have access to those modules.
The rule doesn’t trigger if there are dependencies declared in the package.json that match
the name of a built-in Node.js module.
Type-only imports are ignored.
Examples
Section titled “Examples”Invalid
Section titled “Invalid”import fs from "fs";code-block.js:1:16 lint/correctness/noNodejsModules ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This import references a Node.js builtin module.
> 1 │ import fs from "fs";
│ ^^^^
2 │
ℹ Node.js builtin modules are unavailable outside the Node.js runtime, so this import breaks client-side and other non-Node.js environments.
ℹ Remove this import or replace it with a runtime-agnostic alternative.
import path from "node:path";code-block.js:1:18 lint/correctness/noNodejsModules ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This import references a Node.js builtin module.
> 1 │ import path from "node:path";
│ ^^^^^^^^^^^
2 │
ℹ Node.js builtin modules are unavailable outside the Node.js runtime, so this import breaks client-side and other non-Node.js environments.
ℹ Remove this import or replace it with a runtime-agnostic alternative.
import fs from "fs-custom";import type path from "node:path";Related links
Section titled “Related links”Copyright (c) 2023-present Biome Developers and Contributors.