Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. ESLint
  3. YAML

YAML

MITTypeScriptv3.6.0

An ESLint plugin that provides linting rules for YAML files, including support for Vue SFC custom blocks and ESLint directives.

Visit WebsiteGitHubGitHub
184 stars21 forks0 contributors

What is YAML?

eslint-plugin-yml is an ESLint plugin that provides linting rules for YAML files. It enables developers to find problems, enforce consistent code styles, and apply real-time checks using ESLint's ecosystem, helping maintain clean and error-free configuration files, documentation, and data serialization.

Target Audience

Developers and teams working with YAML files in projects such as configuration management (e.g., GitHub Actions, Docker Compose), documentation, or Vue.js Single File Components with i18n custom blocks. It is particularly useful for those already using ESLint and seeking to extend its benefits to YAML.

Value Proposition

Unlike other YAML linting plugins, eslint-plugin-yml provides AST and source code text to ESLint, enabling compatibility with ESLint directives (e.g., # eslint-disable), other ESLint plugins (like eslint-plugin-prettier), and rules that require text analysis. It also offers shareable configs and supports Vue SFC custom blocks.

Overview

This ESLint plugin provides linting rules for YAML.

Use Cases

Best For

  • Linting YAML configuration files in CI/CD pipelines to enforce style and prevent errors.
  • Maintaining consistent code style across YAML-based documentation or data serialization files.
  • Integrating YAML linting into existing ESLint workflows with real-time editor feedback in VS Code or JetBrains IDEs.
  • Using ESLint directives (e.g., # eslint-disable-next-line) within YAML files for granular control.
  • Linting Vue Single File Component custom blocks, such as <i18n lang="yaml">, for internationalization.
  • Combining YAML linting with other ESLint plugins, like prettier, due to its AST-based parsing.

Not Ideal For

  • Projects stuck on ESLint v8 or earlier, as it requires ESLint v9.38.0 and above.
  • Teams needing a standalone YAML linter without the overhead of ESLint integration and configuration.
  • Environments with Node.js versions outside the specified ranges (v20.19.0+, v22.13.0+, or v24.0.0+).

Pros & Cons

Pros

AST-Based ESLint Integration

Provides full AST and source code text to ESLint via yaml-eslint-parser, enabling compatibility with ESLint directives (e.g., # eslint-disable) and plugins like eslint-plugin-prettier.

Vue SFC Custom Block Support

Specifically supports linting YAML in Vue Single File Components, such as <i18n lang='yaml'>, when used with vue-eslint-parser v7.3.0+, ideal for Vue i18n workflows.

Shareable Configurations

Offers ready-to-use configs like base, recommended, standard, and prettier for quick setup and consistent styling, reducing configuration boilerplate.

Real-Time Editor Feedback

Integrates seamlessly with VS Code and JetBrains IDEs through ESLint extensions, providing instant linting feedback during development.

Cons

Stringent Version Requirements

Mandates ESLint v9.38.0+ and specific Node.js versions, which can block adoption in projects with locked or legacy dependencies.

Complex Setup for Multi-Parser Projects

Requires additional configuration when using custom parsers (e.g., @babel/eslint-parser) for other file types, as highlighted in the parser configuration examples, adding complexity.

ESLint Ecosystem Dependence

Designed exclusively for ESLint users, making it unsuitable for teams preferring alternative linting tools or minimal setups without ESLint.

Frequently Asked Questions

Quick Stats

Stars184
Forks21
Contributors0
Open Issues11
Last commit3 days ago
CreatedSince 2020

Tags

#developer-tools#yaml#eslintplugin#configuration#code-quality#eslint-plugin#vue#linting#ast#static-analysis

Built With

N
Node.js

Links & Resources

Website

Included in

ESLint4.7k
Auto-fetched 20 hours ago

Related Projects

BabelBabel

🐠 Babel is a compiler for writing next generation JavaScript.

Stars43,951
Forks5,887
Last commit23 hours ago
FlowFlow

Flow type linting rules for ESLint.

Stars1,069
Forks152
Last commit2 years ago
Flow ErrorsFlow Errors

Run Flow as an ESLint plugin

Stars402
Forks23
Last commit4 years ago
NN

Additional ESLint rules for Node.js

Stars343
Forks59
Last commit13 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub