Rules for valid, consistent, and readable package.json files
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install eslint-plugin-package-json
:
$ npm install eslint-plugin-package-json --save-dev
Note: If you installed ESLint globally (using the -g
flag) then you must also install eslint-plugin-package-json
globally.
Add package-json
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": ["package-json"]
}
Use the prepackaged config by adding an "extends" property, or appending to an existing "extends" property:
{
"extends": ["eslint:recommended", "plugin:package-json/recommended"],
"plugins": ["package-json"]
}
Or, individually configure the rules you want to use under the rules section.
{
"rules": {
"package-json/rule-name": 2
}
}
package-json/order-properties
: Require top-level properties to be in a conventional order ("name"
first, etc.).package-json/sort-collections
: Keep sub-collections like"dependencies"
and"scripts"
in alphabetical order.package-json/valid-package-def
: Validatepackage.json
files against the NPM specification.
These rules only run on package.json
files; they will ignore all other files being linted. They lint package.json
files at project root, and in any subfolder of the project, making this plugin great for monorepos.