A comprehensive linter for Ember.js and Handlebars templates that enforces best practices and accessibility.
ember-template-lint is a linter specifically designed for Ember.js and Handlebars templates. It analyzes template files to detect errors, enforce coding standards, and ensure accessibility compliance, helping developers build more robust and maintainable Ember applications.
Ember.js developers and teams who want to enforce consistent template patterns, improve accessibility, and catch common errors during development.
It provides a comprehensive, Ember-aware rule set out of the box, supports automatic fixes for many issues, and offers dedicated accessibility presets, making it the go-to linting tool for the Ember ecosystem.
Linter for Ember or Handlebars templates
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes over 100 configurable rules covering syntax, best practices, and accessibility, as detailed in the comprehensive rules table with presets like recommended and a11y.
Many rules support the --fix command-line option for automatic correction of issues such as attribute order or unnecessary curly strings, reducing manual refactoring effort.
Offers a dedicated a11y preset with rules like require-valid-alt-text and no-positive-tabindex, specifically targeting accessibility violations in templates.
Supports custom rules and shared configurations through plugins, allowing teams to extend functionality or enforce project-specific standards easily.
Only useful for Ember.js projects, with rules tailored to Ember APIs and patterns, making it ineffective for other frameworks or vanilla web development.
Requires setting up a .template-lintrc.js file and understanding presets, which can be complex for newcomers or projects seeking quick, opinionated defaults.
The a11y preset does not follow strict SemVer, as noted in the versioning docs, potentially introducing breaking changes without version bumps and disrupting workflows.