lint and auto-fix json
npm install eslint-plugin-json-format- lint, format, and auto-fix json files (files ending with .json or rc)
- auto-sort package.json files (default true, can be disabled and sorting configured)
- ignores json-with-comments files (default ["/.tsconfig.json", ".vscode/"])
- ignores certain files by default (default ["**/package-lock.json"])
You'll first need to install ESLint:
``sh`
npm install eslint --save-dev
Next, install eslint-plugin-json-format:
`sh`
npm install eslint-plugin-json-format --save-dev
Add json-format to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:
`json`
{
"plugins": [
"json-format"
]
}
cli example:
`sh`lint entire poject for js and various json files
eslint --ext .js,.json,.eslintrc,.babelrc --fix .
> Note: In order to lint hidden files (e.g. .eslintrc.json), you'll need to modify/create a .eslintignore in your project root with these contents:.eslintignore:`gitignore`eslint ignores hidden files by default
!.*
**/node_modules
json
"settings": {
"json/sort-package-json": "standard",
"json/ignore-files": ["**/package-lock.json"],
"json/json-with-comments-files": ["/tsconfig.json", ".vscode/"],
}
`
> Note: glob patterns use minimatch against path names relative to the project root (cwd)$3
You can configure the exact sort order of your package.json files (or turn it off entirely with false)#### Available sorting options
false: disable
package.json sorting.sort-package-json. This is a sane, standard order."pro": places scripts and dependencies at the top, reducing need to scroll down to view them. Pros only.
["your", "custom", "order", "here"]: provide an array to manually set the sort order.
$3
to turn off sorting
package.json files for example, in your .eslintrc:
`json
{
"plugins": [
"json-format"
],
"settings": {
"json/sort-package-json": false,
}
}
`to format
tsconfig.json (this will strip comments!), in your .eslintrc:
`json
{
"plugins": [
"json-format"
],
"settings": {
"json/json-with-comments-files": [],
}
}
`change the sort order of
package.json:
`json
{
"plugins": [
"json-format"
],
"settings": {
"json/package-json-sort-order": ["license", "dependencies"],
}
}
`Editor Configuration
VSCode:
vscode-eslint extension, you'll need to enable linting json files.settings.json:
`json
// enable eslint fix-on-save
"eslint.autoFixOnSave": true,
"eslint.validate":
{
"language": "json",
"autoFix": true
},
`> to auto-format
json-with-comments-files, also add "language": "jsonc" ( will strip comments)License
[MITCredits
eslint-plugin-html`