Detalhes do pacote

eslint-plugin-json-es

zeitport59.4kMIT1.6.0

A JSON parser for ESLint.

eslint, eslint-parser, eslint-plugin, JSON

readme (leia-me)

NPM version CI status Downloads NPM

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

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

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]*"]}]
    }
}

changelog (log de mudanças)

Changelog

All notable changes to this project will be documented in this file.

v1.6.0

25 April 2024

  • Feature: Add use-camel-case rule (closes #45)
  • Bump dependencies + npm audit fix

Note: Node.js 16.x is no longer supported (it may or may not work). Node.js 22.x tested.

v1.5.6

29 March 2022

  • Fix: Comments in JSON (closes #35)
  • Create CODE_OF_CONDUCT.md
  • Bump minimist from 1.2.5 to 1.2.6
  • Create SECURITY.md

v1.5.5

11 March 2022

  • Upgrade: Bump dependencies
  • Bump node-fetch from 2.6.1 to 2.6.7
  • Upgrade: v1.5.5
  • Docs: Add download badge

v1.5.4

21 October 2021

  • Upgrade: Bump dependencies
  • Bump tmpl from 1.0.4 to 1.0.5
  • Bump glob-parent from 5.1.1 to 5.1.2
  • Bump ws from 7.4.1 to 7.4.6
  • Bump path-parse from 1.0.6 to 1.0.7
  • Bump hosted-git-info from 2.8.8 to 2.8.9
  • Bump lodash from 4.17.20 to 4.17.21
  • Bump y18n from 4.0.0 to 4.0.1

v1.5.3

26 February 2021

  • Update: Recommended config disables the 'accessor-pairs' rule (closes #17)
  • Fix line and column number in message
  • Replace deprecated ESLint API call
  • Docs: Add CHANGELOG.md
  • Upgrade: package version number to "1.5.3"
  • Update name

v1.5.2

2 February 2021

  • Bump node-notifier from 8.0.0 to 8.0.1
  • Create codeql-analysis.yml
  • updates dependency
  • Test string input
  • Add more documentation
  • Update version to 1.5.2
  • uses main branch (fix)