diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 0000000000..a9fd8c5cb4 --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,29 @@ +name: Copilot Setup Steps + +on: + workflow_dispatch: + push: + paths: + - .github/workflows/copilot-setup-steps.yml + pull_request: + paths: + - .github/workflows/copilot-setup-steps.yml + +permissions: + contents: read + +jobs: + copilot-setup-steps: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + + - run: pnpm install diff --git a/.oxlintrc.json b/.oxlintrc.json deleted file mode 100644 index 569c5e6e74..0000000000 --- a/.oxlintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "./node_modules/oxlint/configuration_schema.json", - "ignorePatterns": [ - "**/*.vue" - ], - "rules": { - "curly": "warn", - "no-unused-expressions": "warn", - "require-await": "warn" - } -} diff --git a/.vscode/settings.json b/.vscode/settings.json index 28d945c5b2..f64fd89dc2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,11 +13,6 @@ "editor.defaultFormatter": "dprint.dprint" }, "editor.formatOnSave": true, - "editor.codeActionsOnSave": { - "source.organizeImports": "always" - }, - "editor.detectIndentation": false, - "editor.insertSpaces": false, "files.exclude": { "packages/*/*.d.ts": true, "packages/*/*.js": true, @@ -26,7 +21,5 @@ "packages/*/lib/**/*.js": true, "packages/*/lib/**/*.map": true }, - "json.format.keepLines": true, - "typescript.format.semicolons": "insert", "typescript.tsdk": "node_modules/typescript/lib" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 9644756046..d79290bccc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,70 @@ # Changelog +## 3.0.6 (2025-08-20) + +### Bug Fixes + +- fix(language-core): wrap `:class` expression with parens - Thanks to @KazariEX! +- fix(vscode): revert Vue 2 versions in `target` option (#5583) - Thanks to @gxres042! +- fix(language-service): skip document highlight from tsserver within element tags (#5584) - Thanks to @KazariEX! +- fix(component-meta): re-export `vue-component-type-helpers` to `lib/helpers` (#5600) +- fix(language-core): remove the non-strict `configFileName` default value (#5606) +- fix(language-core): don't look for input files during evaluation of vueCompilerOptions (#5598) +- fix(vscode): Improved reliability of handling extension activation contention (#5588) +- chore: update volar to 2.4.23 + - Support `js/ts.hover.maximumLength` and `typescript.experimental.expandableHover` (#5577) + +### Other Changes + +- feat(lint): update tsslint config (#5602) +- refactor(language-core): generate setup returns on demand - Thanks to @KazariEX! +- chore(language-service): remove `exclude` config suggestion from global types error message (#5579) - Thanks to @Ciallo-Chiaki +- chore(vscode): update extension display name "Vue.js" (#5582) +- chore: update `vue-component-type-helpers` to current version (#5589) - Thanks to @kingyue737! + +## 3.0.5 (2025-08-01) + +### Features + +- feat(language-core): introduce `compileSFCStyle` to provide style related infomation (#5548) - Thanks to @KazariEX! +- feat(language-service): completion snippet for `v-for` (#5553) - Thanks to @KazariEX! + +### Bug Fixes + +- fix(language-core): generate `modelModifiers` for explicitly declared default model name (#5558) - Thanks to @KazariEX! +- fix(language-service): more responsive `.value` insertion +- fix(vscode): add `class` scope fallback for `component` semantic tokens (#5559) - Thanks to @KazariEX! +- fix(vscode): make sure extension is loaded immediately +- fix(language-service): only check `globalTypesPath` for FS files +- fix(vscode): handle fail tsserver requests to avoid memory leak +- fix(vscode): do not delay the execution of `restartExtensionHost` +- fix(language-core): avoid references highlight of unrelated native element tags (#5563) - Thanks to @KazariEX! +- fix(language-core): tolerance for incomplete root template tag +- fix(language-core): enable navigation code feature on directive modifiers - Thanks to @KazariEX! + +### Other Changes + +- chore(language-service): improve global types error message for JS projects (#5574) - Thanks to @Ciallo-Chiaki! + +## 3.0.4 (2025-07-25) + +### Features + +- feat(language-service): check casing when dropping component into template - Thanks to @KazariEX! +- feat(language-service): native completion experience for slot names (#5552) - Thanks to @KazariEX! + +### Bug Fixes + +- fix(language-core): avoid clearing global types path when local compiler options is present - Thanks to @KazariEX! +- fix(language-core): do not evaluate `skipTemplateCodegen` when exposing `$slots` - Thanks to @KazariEX! +- fix(language-service): correct kind and order of component completion items - Thanks to @KazariEX! +- fix(component-meta): filter events out of props (#5547) - Thanks to @Akryum! + +### Other Changes + +- refactor(language-core): allow configuring `checkUnknownEvents` and `checkUnknownComponents` in sfc (#5537) - Thanks to @KazariEX! +- chore(language-service): add restart server hint to global types warning - Thanks to @KazariEX! + ## 3.0.3 (2025-07-18) ### Bug Fixes @@ -143,4828 +208,16 @@ - refactor(vscode): remove split editor feature (#5446) - refactor(vscode): rename configuration keys from `complete` to `suggest` for clarity -## 2.2.10 official (2025-04-22) - -## Bug Fixes - -- fix(language-core): generate condition guards for model events (#5225) - Thanks to @KazariEX! -- fix(language-core): prevent global types generation in declaration files (#5239) - Thanks to @KazariEX! -- fix(language-core): prevent eager inference of slot props from generics (#5247) - Thanks to @KazariEX! -- fix(typescript-plugin): prevent highlighting native element tags with same name as components (#5253) - Thanks to @KazariEX! - -## 2.2.8 official, 2.2.9 insiders (2025-03-02) - -### Bug Fixes - -- revert "fix(language-core): validate `v-model` variable against model type" - -## 2.2.6 official, 2.2.7 insiders (2025-03-01) - -### Features - -- feat(language-core): infer prop JSDoc from `defineModel`'s leading comments (#5211) - Thanks to @KazariEX! - -### Bug Fixes - -- fix(language-core): map camelized prop name correctly (#5207) - Thanks to @KazariEX! -- fix(component-meta): resolve `defineModel` options to collect `default` value (#5209) - Thanks to @KazariEX! -- fix(language-core): avoid duplicate generation of `defineExpose`'s codes - Thanks to @KazariEX! -- fix(language-core): generate camelized prop name for `defineModel` (#5213) - Thanks to @KazariEX! -- fix(language-core): validate `v-model` variable against model type (#5214) - Thanks to @KazariEX! -- fix(language-core): use keywords instead of semicolons to separate script sections (#5217) - Thanks to @KazariEX! - -### Other Changes - -- ci: auto close issues with `can't reproduce` label - Thanks to @KazariEX! -- refactor(language-core): defer the calculation of `linkedCodeMappings` offsets (#5220) - Thanks to @KazariEX! - -## 2.2.4 official, 2.2.5 insiders (2025-02-22) - -### Features - -- feat(language-service): map sfc compiler errors outside the template inner content (#5045) - Thanks to @KazariEX! -- feat(language-core): introduce options to control type inference of `$attrs`, `$el`, `$refs` and `$slots` (#5135) - Thanks to @KazariEX! -- feat(language-core): enhance single root nodes collection (#4819) - Thanks to @KazariEX! - -### Bug Fixes - -- fix(language-core): move `generateSfcBlockSection` to the end to fix missing comma errors (#5184) - Thanks to @zhiyuanzmj! -- fix(language-core): handle edge case of default slot name mismatch - Thanks to @KazariEX! -- fix(language-core): combine dollar variable keys from the upper level interface - Thanks to @KazariEX! -- fix(language-core): hoist the variables that may cause `TS4081` (#5192) - Thanks to @KazariEX! -- fix(language-core): adjust regex match for `@vue-generic` to improve offset calculation (#5193) - Thanks to @Gehbt! -- fix(language-core): correct codegen of native element refs - Thanks to @KazariEX! -- fix(language-core): ignore latex block content (#5151) - Thanks to @KazariEX! -- fix(language-core): do not emit `undefined` for model with default value (#5198) - Thanks to @RylanBueckert-Broadsign! -- fix(language-service): typescript-semantic renaming first in style blocks (#4685) - Thanks to @KazariEX! -- fix(typescript-plugin): prevent removed components from appearing in the completion list - Thanks to @KazariEX! - -### Other Changes - -- refactor(language-core): drop invalid `v-scope` implemention - Thanks to @KazariEX! -- refactor(language-core): improve type declaration of `v-for` - Thanks to @KazariEX! -- test: enable `declaration` to track more errors - Thanks to @KazariEX! -- refactor(language-core): remove semantic highlight of style module names - Thanks to @KazariEX! -- chore(language-core): add docs for `@vue-expect-error` support (#5176) - Thanks to @machty! -- ci: upload extension as artifact for each commit - Thanks to @KazariEX! - -## 2.2.2 official, 2.2.3 insiders (2025-02-15) - -### Features - -- feat(language-core): navigation support for `$attrs`, `$slots`, `$refs` and `$el` in the template (#5056) - Thanks to @KazariEX! -- feat(language-service): support global directives completion (#4989) - Thanks to @KazariEX! -- feat(language-core): type support of `useAttrs` (#5106) - Thanks to @KazariEX! -- feat(language-core): add options for fine-grained configuration of `strictTemplates` (#5138) -- feat(language-service): display deprecated info of props in completion (#5134) - Thanks to @KazariEX! -- feat(component-meta): collect destructured props defaults (#5101) - Thanks to @Akryum! -- feat(language-core): add `checkUnknownDirectives` option (#5141) - Thanks to @KazariEX! -- feat(language-core): support `