It uses Prettier to lint your handlebars templates with ember-template-lint. The plugin defines a - single - rule. That rule will compare your code with Prettier's output.
Here is an output example:
./node_modules/.bin/ember-template-lint app/templates/lists/new-addons.hbs
(code from emberobserver).
- Node.js
^12.22.0 || ^14.17.0 || >=16.0.0
- ember-template-lint
>=4.0.0
- prettier
>=1.18.1
Note: ember-template-lint-plugin-prettier@3 is compatible with older versions of ember-template-lint, in particular ember-template-lint@3.
yarn add -D prettier ember-template-lint-plugin-prettier
As peerDependencies, prettier
and ember-template-lint
will have to be installed in your project. Prettier version local to the project will be used (not any global one!).
A recommended configuration is available. To use it, merge the following object
to your .template-lintrc.js
file:
module.exports = {
plugins: ["ember-template-lint-plugin-prettier"],
extends: ["recommended", "ember-template-lint-plugin-prettier:recommended"]
};
The recommended set will apply these rules.
Prettier can be configured via standard prettier config files.
You may want to define these two scripts in your package.json:
{
"scripts": {
"lint:hbs": "ember-template-lint .",
"format:hbs": "prettier **/*.hbs --write"
}
}
yarn lint:hbs
is useful in CI. yarn format:hbs
will let you format your templates if your editor does not have this feature yet.
This plugin has been inspired by the prettier plugin for Eslint.
See CONTRIBUTING.md