A JSON parser for ESLint that works with a lot of existing ESLint rules or your custom rules.
npm install eslint-plugin-json-es --save-dev
This is an example ESLint configuration for all *.json files. It extends the recommended rules for JSON.
{
"overrides": [{
"files": ["*.json"],
"parser": "eslint-plugin-json-es",
"extends": "plugin:eslint-plugin-json-es/recommended",
"rules": {
}
}]
}See the example branch for different use cases and ESLint configurations.
There are three different ways how to add JSON linting to ESLint. Select the package that fits your needs:
| eslint-plugin-json-es | eslint-plugin-json | eslint-plugin-jsonc | |
|---|---|---|---|
| Version | |||
| Engine | ESLint espree parser | VSCode JSON Validation | Custom AST parser |
| ESLint version | >7.0.0 | ? | >6.0.0 |
| Custom rules | β | β | β (1) |
| Use existing ESLint rules | β (2) | β | β |
| Fix Code | β | β | β (partly) |
| Rule compare guide | - | Compare | #TODO :-( |
(1) Uses custom AST node types
(2) Not every ESLint rule makes sense for JSON
| Auto-fix | Rule | Version |
|---|---|---|
| π§ | comma-dangle | > 1.3.0 |
| no-dupe-keys | > 1.3.0 | |
| π§ | no-extra-parens | > 1.4.0 |
| no-irregular-whitespace | > 1.3.0 | |
| no-loss-of-precision | > 1.3.0 | |
| no-undefined | > 1.3.0 | |
| π§ | quotes | > 1.3.0 |
| π§ | quote-props | > 1.3.0 |
Based on the recommended rules with stylistic aspects.
| Auto-fix | Rule | Comment |
|---|---|---|
| π§ | indent | 4 |
| π§ | no-multiple-empty-lines | |
| sort-keys | Alternative with fix eslint-plugin-sort-keys-fix |
A list of optional rules that can be added to your configuration.
The "original" ESLint camelcase rule does not work with JSON files.
A custom 'use-camelcase' rule is available. Based on the ESLint camelcase rule with minor adjustments.
Configuration
{
"rules": {
"json-es/use-camelcase": ["error", {"allow": ["FOO", "[regex]*"]}]
}
}
Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
