Skip to content
PluginStats

eslint-package-json weekly downloads statistics

By sindresorhus (6 listings) · npm · ESLint plugins

Powerful ESLint rules for package.json

View on npm Fresh · Oct 17, 2026

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.

Weekly downloads
16,572
Official API · Oct 17, 2026
7-day growth
-53.7%
-19.2K weekly downloads
30-day growth
-26.1%
-5.9K weekly downloads
90-day growth
+831%
+14.8K weekly downloads
Rank
#799
Among tracked npm listings

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.

All npm2,248 listings · 113 pages · page 40, #19 (overall #799)
All npm: every listing in weekly downloads order
PNG SVG
ESLint plugins252 listings · 13 pages · page 11, #1 (overall #201)
ESLint plugins: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

eslint-package-json weekly downloads on npm, last 90 days: 16,572 weekly downloads as of Oct 17, 2026, +831% over 90 days.eslint-package-jsonWeekly downloads on npm · Last 90 days16,572downloads / week+831% over 90 days010K20K30K40KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
eslint-package-json weekly downloads on npm, last 90 days: 16,572 weekly downloads as of Oct 17, 2026, +831% over 90 days.
PNG SVG

7/30/90-day growth

eslint-package-json weekly downloads growth on npm: -53.7% over 7 days, -26.1% over 30 days, +831% over 90 days.eslint-package-jsonWeekly downloads growth on npm16,572downloads / week now7-day growth-19,247 weekly downloads-53.7%30-day growth-5,853 weekly downloads-26.1%90-day growth+14,792 weekly downloads+831%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
eslint-package-json weekly downloads growth on npm: -53.7% over 7 days, -26.1% over 30 days, +831% over 90 days.
PNG SVG

Ranking history

eslint-package-json npm ranking history: currently #799 (by weekly downloads).eslint-package-jsonnpm ranking · by weekly downloads · Last 90 days#799current rank#797#798#799#800#801Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 18, 2026 – Oct 18, 2026 · 1 observations · Updated Oct 17, 2026pluginstats.com
eslint-package-json npm ranking history: currently #799 (by weekly downloads).
PNG SVG

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)
Recent weekly downloads observations for eslint-package-json
Date (UTC)Weekly downloadsChange vs. previous
16,572-2.9K
19,505-1.3K
20,831-7.3K
28,114-8K
36,0680
36,068-254
36,322+503
35,819+21
35,798+1.4K
34,435+1.3K
33,176+2.4K
30,794-6.3K
37,109-503
37,612—

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.