DEV Community

Alex M
Alex M

Posted on

Unpopular opinion: Volar is a buggy mess.

I love Vue and the concept of SFCs - but SFCs have a downside of DX tooling around it, and there is only one de-facto tool for it - Volar.

I have used Volar since its inception when it succeeded Vetur and watched it grow over the years. Unfortunately, these were painful years not without some hair-pulling moments.

My biggest gripe with Volar's development was the amount of breaking changes between each release. Every time a VSCode extension would auto-update, something would break; even more so if you used any of the Volar plugins for .vue file formatting such as volar-plugins/prettier. While I was chasing the latest versions, I have personally filed many issues on GitHub, some of which have been fixed but ultimately it was eating into my development time and I could no longer afford to do that. I have since stopped auto-updating the extension or any of dependencies.

My current setup includes an extension and dependencies that are 7 months old, and it works as expected. There were so many major version updates since then, that I've recently tried to update to it - with a predicted result: it broke formatting. Back to my old versions I go.

Top comments (4)

Collapse
 
renanfranca profile image
Renan Franca

I am starting to learn and work with vue using vscode. I have that doubt if volar is good and helpful. Everyone said that Vetur was so good back in 2021 (I read some older opinions).

Definitely, I won't update the extension. Which version of Volar are you using?

Thanks for sharing this!!!

Collapse
 
thuragan profile image
Alex M

Volar 1.0.24 with @volar-plugins/prettier": "^1.1.5" if you use any plugins for .vue formatting.

Collapse
 
renanfranca profile image
Renan Franca

Thank you! I am using lint and prettier too 😆

Collapse
 
johnsoncodehk profile image
Johnson Chu

Volar author here. 👋 Please note that @volar-plugins/prettier has been renamed to volar-service-prettier, and the plugins: [...] option in volar.config.js has been changed to services: [...], these are recorded at 1.8 changelog.
I agree that the breaking changes to volar.config.js caused confusion, and I do plan to seek improvements, or replace volar.config.js with some alternative.

Volar was basically a one-man project, but the project scale was far greater than what one person could do, so I make overdraft a lot of time on it. If you're not happy with it, please consider contributing to improve it (whether it's code or docs), problem solving is what we as developers are supposed to do, whether the problem comes from your project or not.

(I'm sorry if you're offended by my reply, I just said what I wanted to say, and won't say more just in case drama.)