eslint-plugin-node weekly downloads statistics
By mysticatea (2 listings) · npm · ESLint plugins
Additional ESLint's rules for Node.js
eslint-plugin-node has 1,552,526 recorded weekly downloads on npm, a decrease of 49.4% over the past 30 days.
It ranks #167 of 2,251 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by -54.3%.
PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.
About eslint-plugin-node
eslint-plugin-node
Additional ESLint's rules for Node.js
💿 Install & Usage
• Requires Node.js >=8.10.0 • Requires ESLint >=5.16.0
Note: It recommends a use of the "engines" field of package.json. The "engines" field is used by node/no-unsupported-features/* rules.
.eslintrc.json (An example)
package.json (An example)
📖 Rules
• ⭐️ - the mark of recommended rules. • ✒️ - the mark of fixable rules.
Possible Errors
| Rule ID | Description | |
| node/no-callback-literal | ensure Node.js-style error-first callback pattern is followed | | | node/no-exports-assign | disallow the assignment to exports | ⭐️ | | node/no-extraneous-import | disallow import declarations which import extraneous modules | ⭐️ | | node/no-extraneous-require | disallow require() expressions which import extraneous modules | ⭐️ | | node/no-missing-import | disallow import declarations which import non-existence modules | ⭐️ | | node/no-missing-require | disallow require() expressions which import non-existence modules | ⭐️ | | node/no-unpublished-bin | disallow bin files that npm ignores | ⭐️ | | node/no-unpublished-import | disallow import declarations which import private modules | ⭐️ | | node/no-unpublished-require | disallow require() expressions which import private modules | ⭐️ | | node/no-unsupported-features/es-builtins | disallow unsupported ECMAScript built-ins on the specified version | ⭐️ | | node/no-unsupported-features/es-syntax | disallow unsupported ECMAScript syntax on the specified version | ⭐️ | | node/no-unsupported-features/node-builtins | disallow unsupported Node.js built-in APIs on the specified version | ⭐️ | | node/process-exit-as-throw | make process.exit() expressions the same code path as throw | ⭐️ | | node/shebang | suggest correct usage of shebang | ⭐️✒️ |
Best Practices
| Rule ID | Description | |
| node/no-deprecated-api | disallow deprecated APIs | ⭐️ |
Stylistic Issues
| Rule ID | Description | |
| node/exports-style | enforce either module.exports or exports | | | node/file-extension-in-import | enforce the style of file extensions in import declarations | ✒️ | | node/prefer-global/buffer | enforce either Buffer or require("buffer").Buffer | | | node/prefer-global/console | enforce either console or require("console") | | | node/prefer-global/process | enforce either process or require("process") | | | node/prefer-global/text-decoder | enforce either TextDecoder or require("util").TextDecoder | | | node/prefer-global/text-encoder | enforce either TextEncoder or require("util").TextEncoder | | | node/prefer-global/url-search-params | enforce either URLSearchParams or require("url").URLSearchParams | | | node/prefer-global/url | enforce either URL or require("url").URL | | | node/prefer-promises/dns | enforce require("dns").promises | | | node/prefer-promises/fs | enforce require("fs").promises | |
Deprecated rules
These rules have been deprecated in accordance with the deprecation policy, and replaced by newer rules:
| Rule ID | Replaced by |
| node/no-hide-core-modules | (nothing) | | node/no-unsupported-features | node/no-unsupported-features/es-syntax and node/no-unsupported-features/es-builtins |
🔧 Configs
This plugin provides three configs:
• plugin:node/recommended condiders both CommonJS and ES Modules. If "type":"module" field existed in package.json then it considers files as ES Modules. Otherwise it considers files as CommonJS. In addition, it considers *.mjs files as ES Modules and *.cjs files as CommonJS. • plugin:node/recommended-module considers all files as ES Modules. • plugin:node/recommended-script considers all files as CommonJS.
Those preset config:
• enable no-process-exit rule because the official document does not recommend a use of process.exit(). • enable plugin rules which are given :star: in the above table. • add {ecmaVersion: 2019} and etc into parserOptions. • add proper globals into globals. • add this plugin into plugins.
👫 FAQ
• Q: The no-missing-import / no-missing-require rules don't work with nested folders in SublimeLinter-eslint • A: See context.getFilename() in rule returns relative path in the SublimeLinter-eslint FAQ.
🚥 Semantic Versioning Policy
eslint-plugin-node follows semantic versioning and ESLint's Semantic Versioning Policy.
• Patch release (intended to not break your lint build) • A bug fix in a rule that results in it reporting fewer errors. • Improvements to documentation. • Non-user-facing changes such as refactoring code, adding, deleting, or modifying tests, and increasing test coverage. • Re-releasing after a failed release (i.e., publishing a release that doesn't work for anyone). • Minor release (might break your lint build) • A bug fix in a rule that results in it reporting more errors. • A new rule is created. • A new option to an existing rule is created. • An existing rule is deprecated. • Major release (likely to break your lint build) • A support for old Node version is dropped. • A support for old ESLint version is dropped. • An existing rule is changed in it reporting more errors. • An existing rule is removed. • An existing option of a rule is removed. • An existing config is updated.
📰 Changelog
• GitHub Releases
❤️ Contributing
Welcome contributing!
Please use GitHub's Issues/PRs.
Development Tools
• npm test runs tests and measures coverage. • npm run coverage shows the coverage result of npm test command. • npm run clean removes the coverage result of npm test command.
Description from the npm listing.
- eslint
- eslintplugin
- eslint-plugin
- node
- nodejs
- ecmascript
- shebang
- file
- path
- import
- require
Where eslint-plugin-node sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (121)Similar npm ESLint plugins plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/eslint-plugin-node. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.