Skip to content

JSON, JSONC and JSON5 parser for use with ESLint plugins.

License

Notifications You must be signed in to change notification settings

blefnk/jsonc-eslint-parser

 
 

Repository files navigation

jsonc-eslint-parser

NPM license NPM version NPM downloads NPM downloads Build Status Coverage Status

📛 Introduction

JSON, JSONC and JSON5 parser for use with ESLint plugins.

This parser allows us to lint JSON, JSONC and JSON5 files. This parser and the rules of eslint-plugin-jsonc would catch some of the mistakes and code style violations.

See eslint-plugin-jsonc for details.

💿 Installation

npm i --save-dev jsonc-eslint-parser

📖 Usage (Flat Config)

In your ESLint configuration file, set the parser property:

import jsoncParser from "jsonc-eslint-parser";

export default [
  {
    // ...
    // Add the following settings.
    files: ["*.json", "*.json5"], // Specify the extension or pattern you want to parse as JSON.
    languageOptions: {
      parser: jsoncParser, // Set this parser.
    }
  },
];

📖 Usage (Legacy Config)

In your ESLint configuration file, set the overrides > parser property:

{
  // ...
  // Add the following settings.
  "overrides": [
    {
      "files": ["*.json", "*.json5"], // Specify the extension or pattern you want to parse as JSON.
      "parser": "jsonc-eslint-parser", // Set this parser.
    },
  ],
}

⚙️ Configuration

The following additional configuration options are available by specifying them in parserOptions in your ESLint configuration file.

{
  // ...
  "overrides": [
    {
      "files": ["*.json", "*.json5"],
      "parser": "jsonc-eslint-parser",
      // Additional configuration options
      "parserOptions": {
        "jsonSyntax": "JSON5"
      }
    },
  ],
}

parserOptions.jsonSyntax

Set to "JSON", "JSONC" or "JSON5". Select the JSON syntax you are using.
If not specified, all syntaxes that express static values ​​are accepted. For example, template literals without interpolation.

Note : Recommended to loosen the syntax checking by the parser and use check rules of eslint-plugin-jsonc to automatically fix it.

Usage for Custom Rules / Plugins

🚥 Semantic Versioning Policy

jsonc-eslint-parser follows Semantic Versioning.

👫 Related Packages

🔒 License

See the LICENSE file for license rights and limitations (MIT).

About

JSON, JSONC and JSON5 parser for use with ESLint plugins.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 81.6%
  • Vue 13.9%
  • HTML 2.6%
  • JavaScript 1.9%