eslint-package-json weekly downloads statistics
By sindresorhus (6 listings) · npm · ESLint plugins
Powerful ESLint rules for package.json
eslint-package-json has 16,572 recorded weekly downloads on npm, a decrease of 26.1% over the past 30 days.
It ranks #799 of 2,251 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by +831%.
PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.
About eslint-package-json
eslint-package-json
Powerful ESLint rules for package.json
Lint and autofix your package.json files with ESLint, powered by @eslint/json.
This plugin catches real package.json mistakes (invalid names, bad version ranges, broken exports, misplaced @types/*, redundant files entries, and more) and fixes many of them automatically.
Install
Requires ESLint >=10.4, flat config, and ESM.
Usage
Add the recommended config to your eslint.config.js:
This lints every package.json in your project. To tweak individual rules, add them to the same config object:
If you prefer to wire it up manually instead of using a preset:
Configs
• recommended — Enables the rules that catch real, uncontroversial mistakes. • all — Enables every rule. Useful for discovering rules; not recommended for everyday use.
Rules
💼 Configurations enabled in.\ ✅ Set in the recommended configuration.\ 🔧 Automatically fixable by the --fix CLI option.\ 💡 Manually fixable by editor suggestions.
| Name | Description | 💼 | 🔧 | 💡 |
| consistent-name-casing | Enforce kebab-case for keys in scripts and bin objects. | | | | | consistent-path-prefix | Enforce consistent ./ prefix on local path fields. | ✅ | 🔧 | 💡 | | dependency-version-range | Enforce a consistent version range style for dependencies. | ✅ | | 💡 | | description-format | Enforce formatting of the description field. | | 🔧 | | | no-absolute-paths | Disallow absolute paths in path fields. | ✅ | | 💡 | | no-absolute-paths-in-scripts | Disallow absolute paths in scripts. | ✅ | | | | no-backslash-paths | Enforce forward slashes in path fields. | ✅ | 🔧 | 💡 | | no-core-module-dependencies | Disallow dependencies that shadow Node.js built-in modules. | ✅ | | 💡 | | no-deprecated-fields | Disallow fields and scripts that npm has deprecated. | ✅ | | | | no-dist-tag-dependencies | Disallow dist-tags as dependency specifiers. | ✅ | | | | no-duplicate-dependencies | Disallow a dependency listed in multiple dependency groups. | ✅ | 🔧 | 💡 | | no-empty-fields | Disallow empty fields. | ✅ | | 💡 | | no-exact-peer-dependencies | Disallow exact versions for peer dependencies. | | | 💡 | | no-exports-trailing-slash | Disallow trailing-slash folder mappings in exports/imports. | ✅ | | 💡 | | no-fallback-export-arrays | Discourage string-target fallback arrays in exports/imports. | ✅ | | | | no-git-dependencies | Disallow git URLs as dependency specifiers. | | | | | no-http-dependencies | Disallow HTTP URLs as dependency specifiers. | ✅ | | | | no-incompatible-peer-dependency-ranges | Disallow incompatible ranges for peer dependencies also listed as runtime dependencies. | ✅ | | 💡 | | no-install-scripts | Disallow install lifecycle scripts. | ✅ | | 💡 | | no-invalid-direct-overrides | Disallow npm overrides that conflict with direct dependencies. | ✅ | | 💡 | | no-local-dependencies | Disallow local filesystem paths as dependency specifiers. | | | | | no-manual-maintainers | Disallow a manually-set maintainers field. | ✅ | | 💡 | | no-missing-files | Disallow missing files referenced by package metadata. | | | | | no-nested-exports | Disallow exports in nested package.json files. | ✅ | | 💡 | | no-node-modules-bin-paths | Disallow direct node_modules/.bin paths in scripts. | ✅ | | 💡 | | no-orphan-script-hooks | Disallow pre/post script hooks without a corresponding script. | ✅ | | | | no-orphan-types | Disallow @types/* packages without a corresponding dependency. | ✅ | | 💡 | | no-overrides-in-published-package | Disallow overrides in packages that can be published. | ✅ | | 💡 | | no-package-manager-engines | Disallow package manager versions in the engines field. | ✅ | | 💡 | | no-pre-release-dependencies | Disallow pre-release versions as dependency specifiers. | | | | | no-redundant-files | Disallow redundant entries in the files field. | ✅ | 🔧 | | | no-redundant-repository-fields | Disallow bugs/homepage values that duplicate what npm infers from repository. | | 🔧 | | | no-restricted-dependencies | Disallow specific dependencies. | | | | | no-restricted-fields | Disallow specific fields. | | | 💡 | | no-self-dependency | Disallow a package depending on itself. | ✅ | | 💡 | | no-short-flags-in-scripts | Disallow short-form flags in scripts. | ✅ | 🔧 | | | no-typo-fields | Disallow misspelled package.json field names. | ✅ | | 💡 | | no-wildcard-dependencies | Disallow wildcard version ranges for dependencies. | ✅ | | | | no-workspace-protocol-in-published-package | Disallow workspace: dependency specifiers in packages that can be published. | ✅ | | | | peer-dependencies-as-dev-dependencies | Enforce peer dependencies to also be listed in devDependencies at a compatible version. | ✅ | | 💡 | | prefer-engines-range | Prefer open-ended >= ranges in the engines field. | ✅ | | 💡 | | prefer-exports | Prefer an exports-first package interface. | ✅ | | | | prefer-files-field | Require a files allowlist that covers published entry points. | ✅ | | | | prefer-https-urls | Prefer https:// URLs in metadata fields. | ✅ | 🔧 | | | prefer-provenance | Enforce npm provenance via publishConfig.provenance. | | | 💡 | | prefer-shorthand | Prefer the shorthand string form of fields where possible. | ✅ | 🔧 | | | prefer-side-effects-field | Recommend declaring the sideEffects field for packages. | ✅ | | 💡 | | prefer-type-module | Prefer the type field to be module. | ✅ | | 💡 | | require-bin-executable | Require bin files to be executable by their owner. | ✅ | | | | require-bin-shebang | Require bin files to start with a #!/usr/bin/env node shebang. | ✅ | | | | require-default-condition | Require a last default entry in exports/imports conditions objects. | ✅ | | | | require-engines | Require the engines.node field. | ✅ | | | | require-entry-point | Require an entry point field. | ✅ | | | | require-exports-root | Require a usable . root entry in the exports field. | | | | | require-fields | Require specific fields to be present, always or only for published packages. | ✅ | | | |…
Description from the npm listing.
- eslint
- eslintplugin
- eslint-plugin
- package.json
- package-json
- npm
- manifest
- linter
- lint
- json
Where eslint-package-json 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-package-json. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.