A YAML parser that produces output compatible with ESLint.
This parser is backed by excellent yaml package and it is heavily inspired by yaml-unist-parser package.
npm install --save-dev yaml-eslint-parser
Use .eslintrc.*
file to configure parser. See also: https://eslint.org/docs/user-guide/configuring.
Example .eslintrc.js:
module.exports = {
overrides: [
{
files: ["*.yaml", "*.yml"],
parser: "yaml-eslint-parser",
},
],
};
The following additional configuration options are available by specifying them in parserOptions in your ESLint configuration file.
Example .eslintrc.js:
module.exports = {
overrides: [
{
files: ["*.yaml", "*.yml"],
parser: "yaml-eslint-parser",
// Additional configuration options
parserOptions: {
defaultYAMLVersion: "1.2",
},
},
],
};
Set to "1.2"
or "1.1"
. Select the YAML version used by documents without a %YAML
directive.
If not specified, If not specified, the yaml's default version
option ("1.2"
) is used.
See https://eemeli.org/yaml/#document-options for details.
- AST.md is AST specification.
- block-mapping.ts is an example.
- You can see the AST on the Online DEMO.
Example:
import type { AST } from "yaml-eslint-parser";
import { parseYAML, getStaticYAMLValue } from "yaml-eslint-parser";
const code = `
american:
- Boston Red Sox
- Detroit Tigers
- New York Yankees
national:
- New York Mets
- Chicago Cubs
- Atlanta Braves
`;
const ast: AST.YAMLProgram = parseYAML(code);
console.log(ast);
const value = getStaticYAMLValue(ast);
console.log(value);
- 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.
- jsonc-eslint-parser ... JSON, JSONC and JSON5 parser for use with ESLint plugins.
- toml-eslint-parser ... TOML parser for use with ESLint plugins.