vuejs / language-tools

⚡ High-performance Vue language tooling based-on Volar.js
https://marketplace.visualstudio.com/items?itemName=Vue.volar
MIT License
5.56k stars 373 forks source link

fix(vue-tsc): update required volar version #4498

Closed davidmatter closed 6 days ago

davidmatter commented 1 week ago

CI runs with --frozen-lockfile which contains dependency versions that don't match with what will be installed in the end in userland because the lockfile is not shipped.

This results in tests not running on the same code as will be installed for the user, causing e.g. https://github.com/vuejs/language-tools/issues/4497

Ciscodefran commented 1 week ago

Why don you update this to 2.3.3 https://github.com/volarjs/volar.js/releases/tag/v2.3.3

davidmatter commented 1 week ago

I've created this PR before 2.3.3 was released

davidmatter commented 1 week ago

Not sure if @johnsoncodehk wants to pin to an exact volar version? I imagine you'd like to be flexible in updating volar without needing to re-publish vue-tsc. The problem is just the possibility of having upstream regressions when volar is updated. Feel free to close this one.

johnsoncodehk commented 1 week ago

@davidmatter I think we can add a CI test to test without --frozen-lockfile flag. Would you want to update this PR for it?

davidmatter commented 1 week ago

Well, if I think about it: Even if we run CI without --frozen-lockfile, updating volar can still break the language tools when it's not pinned to a specific version as it's a direct dependency of vue-tsc that users will automatically fetch when they update their dependencies. Removing --frozen-lockfile would only help when vue-tsc is re-published :) If semver is used, this should not be a problem in general - we just need to be careful not to introduce breaking changes when not pinned.

johnsoncodehk commented 6 days ago

I just updated the PR to update the required version to ~2.3.4 to avoid installing the regression 2.3.2.

If semver is used, this should not be a problem in general - we just need to be careful not to introduce breaking changes when not pinned.

This is what https://github.com/volarjs/ecosystem-ci for, it got a little damaged recently and I'm going to get it working again.