-
Notifications
You must be signed in to change notification settings - Fork 17
Description
🐞 Describe the Bug
I have semi: false in my prettier config. In general this works, but a semicolon is required between certain statements in a class and the <template> tag. This plugin seems to remove those required semicolons when it shouldn't. This then causes glint errors.
Example where the semicolon is required - prettier removes it, when it shouldn't.
class MyComponent extends Component {
historyBack = () => history.back();
<template>
<button type="button" {{on "click" historyBack}}>Go back</button>
</template>
}🔬 Minimal Reproduction
Added failing test snapshot
#219
😕 Actual Behavior
- use example code
- run
prettier --write . - semicolon is removed
🤔 Expected Behavior
- use example code
- run
prettier --write . - semicolon should not be removed
🌍 Environment
- prettier-plugin-ember-template-tag version: 2.0.0
- ember-template-imports version (if applicable): 4.0.0
- content-tag version (if applicable): 1.2.2
- eslint-plugin-ember version (if applicable): 11.12.0
➕ Additional Context
I was having this issue before v2.0.0 as well, so it's not a regression.
A workaround is to disable prettier for the line that the semicolon is on, exactly like this
historyBack = () => history.back(); /* prettier-ignore */ /* prettier-ignore-end */
<template>...That looks really weird, but it "works" - I believe the weirdness is because I don't think this addon parses prettier-ignore directives correctly?
The prettier-ignore-end is important so that prettier is reenabled for the lines afterward
