Home

Awesome

yaml-eslint-parser

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 license NPM version NPM downloads NPM downloads NPM downloads NPM downloads NPM downloads Build Status Coverage Status

Installation

npm install --save-dev yaml-eslint-parser

Usage

Configuration

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",
    },
  ],
};

Advanced Configuration

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",
      },
    },
  ],
};

parserOptions.defaultYAMLVersion

Set to "1.2" or "1.1". Select the YAML version used by documents without a %YAML directive.
If not specified, the yaml's default version option ("1.2") is used.
See https://eemeli.org/yaml/#document-options for details.

Usage for Custom Rules / Plugins

Usage for Directly

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);

Related Packages