Awesome
jsonc-eslint-parser
:name_badge: 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.
:cd: Installation
npm i --save-dev jsonc-eslint-parser
:book: 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.
}
},
];
:book: 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.
},
],
}
:gear: 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
- AST.md is AST specification.
- Plugins.md describes using this in an ESLint plugin.
- no-template-literals.ts is an example.
- You can see the AST on the Online DEMO.
:traffic_light: Semantic Versioning Policy
jsonc-eslint-parser follows Semantic Versioning.
:couple: Related Packages
- eslint-plugin-jsonc ... ESLint plugin for JSON, JSON with comments (JSONC) and JSON5.
- eslint-plugin-yml ... ESLint plugin for YAML.
- eslint-plugin-toml ... ESLint plugin for TOML.
- eslint-plugin-json-schema-validator ... ESLint plugin that validates data using JSON Schema Validator.
- yaml-eslint-parser ... YAML parser for use with ESLint plugins.
- toml-eslint-parser ... TOML parser for use with ESLint plugins.
:lock: License
See the LICENSE file for license rights and limitations (MIT).