Config for Node.js projects.
-
If you haven't already, make sure to install
@code-pushup/eslint-configand its required peer dependencies. -
Since this plugin requires additional peer dependencies, you have to install them as well:
npm install -D eslint-plugin-n
-
Add to your
eslint.config.jsfile:import node from '@code-pushup/eslint-config/node.js'; import { defineConfig } from 'eslint/config'; export default defineConfig(...node);
-
Some rules (e.g.
n/no-unsupported-features/node-builtins) need to know which Node version is being used. Configuration options include:-
enginesfield inpackage.json: -
settings.node.versionineslint.config.js:export default defineConfig({ // ... { settings: { node: { version: '>=22.12.0' } } } });
For more information, refer to
eslint-plugin-ndocs. -
319 rules are included from javascript config. For brevity, only the 4 additional rules are listed in this document.
🔧 Automatically fixable by the
--fixCLI option.
💡 Manually fixable by editor suggestions.
🧪🚫 Disabled for test files.
🧪⚠️ Severity lessened to warning for test files.
| Plugin | Rule | Options | Autofix | Overrides |
|---|---|---|---|---|
| no-unsupported-features/node-builtins disallow unsupported Node.js built-in APIs on the specified version |
| Plugin | Rule | Options | Autofix | Overrides |
|---|---|---|---|---|
| no-process-exit disallow the use of process.exit() |
||||
| no-sync disallow synchronous methods |
||||
| prefer-promises/fs enforce require("fs").promises |
{ // ... "engines": { "node": ">=22.12.0" }