Vetur: Warn user if update brings breaking change

Created on 27 Nov 2018  路  7Comments  路  Source: vuejs/vetur

  • [ x ] I have searched through existing issues
  • [ x ] I have read through docs
  • [ x ] I have read FAQ

Info

  • Platform: - Win
  • Vetur version: 0.14.2
  • VS Code version: 1.29.1

Problem

Today I start working and I notice html is formatted in a very ugly way and semicolons are appended. I spent a lot of time trying to understand why, I did no change in my configurations.

I found Vetur did update yesterday and the changelog says that everything that worked until now will only work if the user changes settings in some places.

Please, when you plan to push breaking changes, add a way to prevent the update. Warn the user, hey, you'll spend half day fixing your workspace, do it in weekend.

Even better would have been that you respect the settings which previously worked and do a translation of the old settings to the new ones on the fly.

Reproducible Case

Update Vetur, workspace broken.

Workaround

Download previous version VSIX file from the changelog tab. Uninstall extension. Disable auto update extensions in VS Code. Install extension from VSIX. Problem solved.

question

All 7 comments

i disabled prettyhtml because i use eslint and autofix but i cant remove the semicolons in the js part :/篓

i also downgraded to 0.13 fixed the smemi problem

Here for the same reason as @csicky but the issue was already here. Thanks for spending your time and letting others know what have happened.

Another workaround to avoid <template> formatting and let eslint + eslint-plugin-vue do their thing instead is to add "vetur.format.defaultFormatter.html": "none" to workspace config.

Please, when you plan to push breaking changes, add a way to prevent the update. Warn the user, hey, you'll spend half day fixing your workspace, do it in weekend.

"extensions.autoUpdate": false

The changelog links to VSIX of old versions which you can download: https://github.com/vuejs/vetur/blob/master/CHANGELOG.md

semi

Read https://vuejs.github.io/vetur/formatting.html#settings

"vetur.format.defaultFormatterOptions": {
  "prettier": {
    // Prettier option here
    "semi": false
  }
}

The change happened because it's too confusing to read settings from another extension's scope prettier.*. Most confusingly is how prettier.eslintIntegration makes Vetur use prettier-eslint.

You are right, any breaking update which is necessary must be done as soon as possible. The real problem comes from VS Code. If an extension would have a way to notify the user before applying the update and a way to postpone it, it would be no problem at all.

From user's point of view it was confusing. My code just became differently formatted suddenly this morning with no indication for why it happened. The real issue is the surprise breaking change, not the change itself.

Yeah, as you noticed, there is no easy way to say "show an information on user update" from extension author's behalf, and extension autoupdates auto updates everything without checking semver.

And there is no built-in way to downgrade extension yet.

Was this page helpful?
0 / 5 - 0 ratings