What is jsonc-eslint-parser?
The jsonc-eslint-parser npm package is a parser that allows ESLint to lint JSONC files. JSONC (JSON with Comments) is a superset of JSON which supports comments. This parser integrates with ESLint to provide linting capabilities for JSONC files, ensuring that they are syntactically correct and adhere to specified style rules.
What are jsonc-eslint-parser's main functionalities?
Linting JSONC files
This feature allows developers to lint JSONC files using ESLint by extending the recommended configuration. It helps in identifying and reporting the patterns found in JSONC files that might lead to errors.
{ "extends": "plugin:jsonc/recommended" }
Customizable rules
Developers can customize specific linting rules for JSONC files. For example, setting the 'no-octal-escape' rule to 'error' ensures that octal escapes are flagged as errors, promoting better coding practices.
{ "rules": { "jsonc/no-octal-escape": "error" } }
Integration with ESLint
This feature highlights the integration capability of jsonc-eslint-parser with ESLint, allowing it to be set as the parser in ESLint configuration files. This enables the linting of JSONC files within a project's ESLint setup.
{ "parser": "jsonc-eslint-parser" }
Other packages similar to jsonc-eslint-parser
eslint-plugin-json
This package provides linting rules for JSON files. Unlike jsonc-eslint-parser, it does not support comments within JSON files but offers a similar linting capability for standard JSON.
yaml-eslint-parser
Similar to jsonc-eslint-parser, this parser allows ESLint to lint YAML files. It supports YAML, a data serialization format that is more extensive than JSONC, providing functionality for linting a different type of data format.
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
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
:traffic_light: Semantic Versioning Policy
jsonc-eslint-parser follows Semantic Versioning.
:couple: Related Packages
:lock: License
See the LICENSE file for license rights and limitations (MIT).