ESLint JSON processor and rules
npm install eslint-plugin-json-files
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.eslint-plugin-
You can omit the prefix:
`js
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.
`js``
{
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.