yaml-lint

A simple (CLI) tool to lint YAML files

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
yaml-lint
5961.7.02 years ago8 years agoMinified + gzip package size for yaml-lint in KB

Readme

YAML Lint
A simple (CLI) tool to lint YAML files

Coverage Status

Usage

npm install --save-dev yaml-lint

const yamlLint = require('yaml-lint');

yamlLint
  .lint('test: 123')
  .then(() => {
    console.log('Valid YAML file.');
  })
  .catch((error) => {
    console.error('Invalid YAML file.', error);
  });

CLI

npm install -g yaml-lint

yamllint test.yaml

Options

YAML Lint is configured using the following options via a configuration file, environment variables, and/or command-line arguments.
First of all, YAML Lint looks for a JSON file called .yaml-lint.json within the current working directory.
{
  "schema": "CORE_SCHEMA",
  "ignore": "dir/*.yaml"
}

Afterwards, YAML Lint will take environment variables into account.
YAMLLINT_SCHEMA=CORE_SCHEMA YAMLLINT_IGNORE=dir/*.yaml yamllint

Concluding, YAML Lint will take command-line arguments into account.
yamllint --schema=CORE_SCHEMA --ignore=dir/*.yaml

(All options are merged into a single configuration using the hierarchy described above.)

schema (string)

Specifies a schema to use

  • DEFAULT_SCHEMA All supported YAML types
  • FAILSAFE_SCHEMA Only strings, arrays, and plain objects ()
  • JSON_SCHEMA All JSON-supported types ()
  • CORE_SCHEMA Same as JSON_SCHEMA ()

ignore (string or array of strings)

Specifies one or multiple glob patterns to ignore

yamllint **/*.(yaml|yml) --ignore=foobar.yml --ignore=dir/*.yaml

Changelog

  • 1.7.0
- Fix glob pattern to enforce forward slashes to prevent Windows issues - Run tests on different operating systems in CI
  • 1.6.0
- Implement support for multi-document sources
  • 1.5.0
- Add tests for CLI
  • 1.4.0
- Display all failing files instead of only the first best one
  • 1.3.0
- Migrate to TypeScript and update dependencies
  • 1.2.4
- Fix paths for ignored patterns
  • 1.2.3
- Remove nocase rule to prevent problems on Windows
  • 1.2.2
- Fix CLI support relative paths
  • 1.2.1
- Fix README
  • 1.2.0
- Add documentation regarding how to specify options - Update dependencies - Support ignoring specific files
  • 1.1.0
- Update dependencies - Migrate syntax to ES2015+
  • 1.0.0
- Update dependencies - Enable tests for Node.js 8 - Remove support for Node.js 0.x
  • 0.0.4
- Print file names when logging YAML errors while using the CLI
  • 0.0.3
- Implement check for empty file selections while using the CLI
  • 0.0.2
- Prettier error messages within CLI - Add shebang for CLI
  • 0.0.1
- Initial version

License

Copyright (c) 2022 Thomas Rasshofer
Licensed under the MIT license.
See LICENSE for more info.

Contributors