Skip to content

danielrentz/eslint-plugin-json-es

 
 

Repository files navigation

NPM version CI status CodeQL

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:

eslint-plugin-json-es eslint-plugin-json eslint-plugin-jsonc
Version NPM version NPM version NPM 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

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/readable.js

Auto-fix Rule Comment
🔧 indent 4
🔧 no-multiple-empty-lines
sort-keys Alternative with fix eslint-plugin-sort-keys-fix

About

A ESLint plugin to lint JSON.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%