ESLint JSON processor and rules
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install eslint-plugin-json-files
:
$ npm install eslint-plugin-json-files --save-dev
Note: If you installed ESLint globally (using the -g
flag) then you must also install eslint-plugin-json-files
globally.
Add json-files
to the plugins and processor section of your eslint.config.js
configuration file.
You can omit the eslint-plugin-
prefix:
const jsonFiles = require('eslint-plugin-json-files');
// ...
{
plugins: {
'json-files': jsonFiles,
},
processor: 'json-files/json',
}
Then configure the rules you want to use under the rules section.
{
rules: {
'json-files/rule-name': 'error',
},
}
Rule ID | Description |
---|---|
json-files/ensure-repository-directory | ensure repository/directory in package.json |
json-files/ensure-volta-extends | ensure volta-extends in package.json |
json-files/ensure-workspaces | ensure workspace globs in package.json resolve to directories |
json-files/eol-last | require or disallow newline at the end of package.json |
json-files/no-branch-in-dependencies | prevent branches in package.json dependencies |
json-files/require-engines | require the engines field in package.json |
json-files/require-license | require a license in package.json |
json-files/require-unique-dependency-names | prevent duplicate packages in dependencies and devDependencies |
json-files/restrict-ranges | restrict the dependency ranges in package.json |
json-files/sort-package-json | enforce package.json sorting |
json-files/validate-schema | require a valid JSON Schema |
I wouldn't mind getting this merged into eslint-plugin-node or eslint-plugin-json.