-
-
Notifications
You must be signed in to change notification settings - Fork 403
Closed
Description
I'm wondering if it is time to add Prettier for Handlebars to default blueprints.
This would be a follow-up to using Prettier for JavaScript files, which landed in #628. At the time we adopted Prettier for JavaScript files, Prettier for Handlebars wasn't stable yet. It is stable since Prettier v2.3, which was released in May this year.
@patocallaghan summarized the trade-offs very well in his proposal to use it for adopted-ember-addons: adopted-ember-addons/program-guidelines#20 (comment)
The following changes to default blueprints would be required:
- Add ember-template-lint-plugin-prettier to
devDependencies. - Change
.template-lintrc.jsto include the Prettier plugin:diff --git a/.template-lintrc.js b/.template-lintrc.js index f35f61c..0520e96 100644 --- a/.template-lintrc.js +++ b/.template-lintrc.js @@ -1,5 +1,6 @@ 'use strict'; module.exports = { - extends: 'recommended', + plugins: ['ember-template-lint-plugin-prettier'], + extends: ['recommended', 'ember-template-lint-plugin-prettier:recommended'], };
- Configure Prettier to use double quotes for Handlebar templates only (if using Ember < 4.10):
diff --git a/.prettierrc.js b/.prettierrc.js index 534e6d35aa..e5f7b6d1ee 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,5 +1,12 @@ 'use strict'; module.exports = { - singleQuote: true, + overrides: [ + { + files: '*.{js,ts}', + options: { + singleQuote: true, + }, + }, + ], };
Open issues for Glimmer syntax, which may need to be fixed before:
[handlebars] Named blocks can't be self closing prettier/prettier#11900(fixed by v2.5.1)Correctly identify which backslashes are removed by glimmer prettier/prettier#12302 Prettier should not re-escape a backslash in a string literal prettier/prettier#11401(fixed by v2.6.0)- Wrap and indent long class names with glimmer parser prettier/prettier#10163
- Glimmer: tilde is moved next to the last word prettier/prettier#10847
- Handlebars: Print one element per line (like HTML printer) prettier/prettier#10178
- Use insertFinalNewline option from editorconfig for Handlebars / Ember files prettier/prettier#10759
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels