Open u3u opened 2 months ago
Well, the issue doesn't reproduce with Vite template using Vue 3.
What is your development environment like?
This is a very old large Vue2 project of the company, but I have to continue to maintain it 😰.
@ony3000 Came here to post the same issue, but for .astro
files.
I love this plugin so much, but in Astro when you have an Astro component, it will not work with newlines between class=""
.
It does work on regular HTML components as Astro handles these differently.
Would love an option to force class={``}
on newlines.
@gersomvg That's weird. Line wrapping works fine in Astro components too.
Maybe your VS Code is missing the prettier.documentSelectors
setting.
If your setup is fine but line wrapping is not working, providing example code and Prettier configuration would be helpful in investigating the issue.
@ony3000 your plugin is wrapping fine, but Astro doesn't compile if <SomeAstroComponent class="" />
has newlines in the class=""
part.
Error:
Unterminated string literal
Reference: https://github.com/withastro/astro/issues/4029 (EDIT) just recreated the referenced issue over at the right repository: https://github.com/withastro/compiler/issues/1047
In the meantime I still see an opportunity to enforce {``}
in prettier-plugin-classnames
as prettier is all about consistent formatting.
When implementing Astro integration for this plugin, I also saw https://github.com/withastro/astro/issues/4029.
I didn't take any action on this plugin at the time because it seemed to be a problem with the Astro compiler.
But it still doesn't seem to be fixed, so I'll consider adding an option.
Is your feature request related to a problem? Please describe
In Vue JSX, if
class
appears on multiple lines without using backticks, a module resolution error will occur, and now I have to manually replace double quotes with backticks.Describe the solution you'd like
Add a
jsxBackquote
option to automatically replace quotes with backticks when line breaks occur in attributes such asclass
,className
.Describe alternatives you've considered
A more advanced use case, automatically wrap the
class
content with libraries such asclsx
,twMerge
when there are multiple lines (but it may exceed the scope of this library).