eslint-plugin-json-es
A JSON parser for ESLint that works with a lot of existing ESLint rules or your custom rules.
Installation
npm install eslint-plugin-json-es --save-dev
Configure ESLint
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": {
}
}]
}
Examples
See the example branch for different use cases and ESLint configurations.
Alternative JSON Plugins
There are three different ways how to add JSON linting to ESLint.
Select the package that fits your needs:
(1) Uses custom AST node types
(2) Not every ESLint rule makes sense for JSON
Rules Configurations
Recommended
./config/recommended.js
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 |
Readable
Based on the recommended rules with stylistic aspects.
./config/style.js
Optional Rules
A list of optional rules that can be added to your configuration.
json-es/use-camelcase
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]*"]}]
}
}