Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: vuejs/language-tools
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.8.19
Choose a base ref
...
head repository: vuejs/language-tools
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.8.20
Choose a head ref

Commits on Oct 12, 2023

  1. Verified

    This commit was signed with the committer’s verified signature.
    baywet Vincent Biret
    Copy the full SHA
    177055f View commit details
  2. Verified

    This commit was signed with the committer’s verified signature.
    baywet Vincent Biret
    Copy the full SHA
    c143c14 View commit details

Commits on Oct 15, 2023

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f5c438b View commit details
  2. Copy the full SHA
    f682177 View commit details
  3. Copy the full SHA
    8984741 View commit details
  4. Copy the full SHA
    385f314 View commit details
  5. Copy the full SHA
    e98185c View commit details
  6. feat: enforce v-bind argument to be an object (#3666)

    Co-authored-by: Johnson Chu <johnsoncodehk@gmail.com>
    so1ve and johnsoncodehk authored Oct 15, 2023
    Copy the full SHA
    3f5608c View commit details
  7. Copy the full SHA
    6a8d3a5 View commit details
  8. Copy the full SHA
    e1a28af View commit details

Commits on Oct 18, 2023

  1. Copy the full SHA
    323c7f0 View commit details

Commits on Oct 19, 2023

  1. Copy the full SHA
    0d01859 View commit details

Commits on Oct 22, 2023

  1. Copy the full SHA
    546cc19 View commit details
  2. Copy the full SHA
    b1ecfb8 View commit details
  3. test: add tests for Vue 2 (#3351)

    Co-authored-by: Johnson Chu <johnsoncodehk@gmail.com>
    rchl and johnsoncodehk authored Oct 22, 2023
    Copy the full SHA
    9bedf4b View commit details
  4. Copy the full SHA
    53d48a0 View commit details
  5. Copy the full SHA
    006ed12 View commit details
  6. Copy the full SHA
    2a44b10 View commit details
  7. fix: access to slots directly (#3671)

    Co-authored-by: Johnson Chu <johnsoncodehk@gmail.com>
    so1ve and johnsoncodehk authored Oct 22, 2023
    Copy the full SHA
    8476cd8 View commit details

Commits on Oct 23, 2023

  1. Copy the full SHA
    4e55d9c View commit details
  2. fix: autocomplete for $event (#3668)

    Co-authored-by: Johnson Chu <johnsoncodehk@gmail.com>
    so1ve and johnsoncodehk authored Oct 23, 2023
    Copy the full SHA
    7c7f374 View commit details
  3. Copy the full SHA
    03cf10f View commit details
  4. chore: update vue 2 tests (#3674)

    Co-authored-by: Johnson Chu <johnsoncodehk@gmail.com>
    so1ve and johnsoncodehk authored Oct 23, 2023
    Copy the full SHA
    5f2c029 View commit details
  5. Copy the full SHA
    72798f0 View commit details
  6. Copy the full SHA
    3e7cae5 View commit details
  7. chore: changelog

    johnsoncodehk committed Oct 23, 2023
    Copy the full SHA
    c8f2103 View commit details
  8. v1.8.20

    johnsoncodehk committed Oct 23, 2023
    Copy the full SHA
    c5f0a7f View commit details
Showing 340 changed files with 6,019 additions and 1,238 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -22,3 +22,7 @@ jobs:
working-directory: packages/vscode-vue
env:
OVSX_PAT: ${{ secrets.OVSX_PAT }}
- run: pnpm ovsx publish
working-directory: packages/vscode-typescript-vue-plugin
env:
OVSX_PAT: ${{ secrets.OVSX_PAT }}
26 changes: 21 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
# Changelog

## 1.8.19 (2023/10/11)

- feat: no longer checking save time ([#3650](https://github.com/vuejs/language-tools/issues/3650))
- fix(ts-plugin): tsserver doesnt have updated list of external files when new vue files are added (required TS 5.3) ([#3555](https://github.com/vuejs/language-tools/issues/3555)) ([#3649](https://github.com/vuejs/language-tools/issues/3649))
- fix: false positive error when accessing local variables in defineProps parameter ([#3643](https://github.com/vuejs/language-tools/issues/3643)) ([#3644](https://github.com/vuejs/language-tools/issues/3644)) - thanks @so1ve
## 1.8.20 (2023/10/23)

- feat: added Italian integration documentation
- feat: enforce `v-bind` argument to be an object ([#3666](https://github.com/vuejs/language-tools/issues/3666)) - thanks @so1ve
- fix: JSDoc comments not emitted when using type-only defineProps macro ([#3645](https://github.com/vuejs/language-tools/issues/3645))
- fix: autocomplete for directive comments without a space ([#3665](https://github.com/vuejs/language-tools/issues/3665)) - thanks @so1ve
- fix: fix slot type when using a interpolation in template string ([#3657](https://github.com/vuejs/language-tools/issues/3657)) - thanks @so1ve
- fix: add autocomplete for v-slot parameters ([#3661](https://github.com/vuejs/language-tools/issues/3661)) - thanks @so1ve
- fix: export correct SlotsPropertyName for vue2 ([#3669](https://github.com/vuejs/language-tools/issues/3669)) - thanks @zhiyuanzmj
- fix(types): infer discriminated unions in child component props ([#3672](https://github.com/vuejs/language-tools/issues/3669)) - thanks @davidmatter
- fix: access to slots directly ([#3671](https://github.com/vuejs/language-tools/issues/3671)) - thanks @so1ve
- fix: autocomplete not working for `$event` ([#3668](https://github.com/vuejs/language-tools/issues/3668)) - thanks @so1ve
- perf: remove duplicate virtual code for native tags
- chore: rename `volar` to `vue` in diagnostics ([#3667](https://github.com/vuejs/language-tools/issues/3667)) - thanks @so1ve
- chore: publish ts plugin to open-vsx ([#3589](https://github.com/vuejs/language-tools/issues/3589)) - thanks @brc-dd

### Full-time Support by

@@ -59,6 +69,12 @@
<a href="https://opencollective.com/volarjs">Open Collective</a>
</h5>

## 1.8.19 (2023/10/11)

- feat: no longer checking save time ([#3650](https://github.com/vuejs/language-tools/issues/3650))
- fix(ts-plugin): tsserver doesnt have updated list of external files when new vue files are added (required TS 5.3) ([#3555](https://github.com/vuejs/language-tools/issues/3555)) ([#3649](https://github.com/vuejs/language-tools/issues/3649))
- fix: false positive error when accessing local variables in defineProps parameter ([#3643](https://github.com/vuejs/language-tools/issues/3643)) ([#3644](https://github.com/vuejs/language-tools/issues/3644)) - thanks @so1ve

## 1.8.18 (2023/10/9)

#### Upgrade required VSCode version to 1.82.0 ([#3642](https://github.com/vuejs/language-tools/issues/3642))
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -4,5 +4,5 @@
"packages": [
"packages/*"
],
"version": "1.8.19"
"version": "1.8.20"
}
6 changes: 3 additions & 3 deletions packages/typescript-vue-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "typescript-vue-plugin",
"version": "1.8.19",
"version": "1.8.20",
"main": "out/index.js",
"license": "MIT",
"files": [
@@ -13,8 +13,8 @@
"directory": "packages/typescript-vue-plugin"
},
"dependencies": {
"@vue/language-core": "1.8.19",
"@vue/typescript": "1.8.19",
"@vue/language-core": "1.8.20",
"@vue/typescript": "1.8.20",
"vscode-uri": "^3.0.8"
}
}
4 changes: 2 additions & 2 deletions packages/vscode-typescript-vue-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "vscode-typescript-vue-plugin",
"version": "1.8.19",
"version": "1.8.20",
"repository": {
"type": "git",
"url": "https://github.com/vuejs/language-tools.git",
@@ -37,7 +37,7 @@
},
"devDependencies": {
"esbuild": "0.15.18",
"typescript-vue-plugin": "1.8.19",
"typescript-vue-plugin": "1.8.20",
"vsce": "latest"
}
}
6 changes: 3 additions & 3 deletions packages/vscode-vue/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "volar",
"version": "1.8.19",
"version": "1.8.20",
"repository": {
"type": "git",
"url": "https://github.com/vuejs/language-tools.git",
@@ -738,8 +738,8 @@
"@types/semver": "^7.5.3",
"@types/vscode": "^1.82.0",
"@volar/vscode": "~1.10.4",
"@vue/language-core": "1.8.19",
"@vue/language-server": "1.8.19",
"@vue/language-core": "1.8.20",
"@vue/language-server": "1.8.20",
"esbuild": "0.15.18",
"esbuild-plugin-copy": "latest",
"esbuild-visualizer": "latest",
6 changes: 3 additions & 3 deletions packages/vue-component-meta/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vue-component-meta",
"version": "1.8.19",
"version": "1.8.20",
"main": "out/index.js",
"license": "MIT",
"files": [
@@ -14,9 +14,9 @@
},
"dependencies": {
"@volar/typescript": "~1.10.4",
"@vue/language-core": "1.8.19",
"@vue/language-core": "1.8.20",
"typesafe-path": "^0.2.2",
"vue-component-type-helpers": "1.8.19"
"vue-component-type-helpers": "1.8.20"
},
"peerDependencies": {
"typescript": "*"
4 changes: 2 additions & 2 deletions packages/vue-component-meta/src/index.ts
Original file line number Diff line number Diff line change
@@ -450,7 +450,7 @@ function createSchemaResolvers(
ts: typeof import('typescript/lib/tsserverlibrary'),
core: vue.LanguageContext,
) {
const visited = new Set<ts.Type>();;
const visited = new Set<ts.Type>();

function shouldIgnore(subtype: ts.Type) {
const name = typeChecker.typeToString(subtype);
@@ -685,7 +685,7 @@ function readVueComponentDefaultProps(
function scriptSetupWorker() {

const descriptor = vueSourceFile.sfc;
const scriptSetupRanges = descriptor.scriptSetupAst ? vue.parseScriptSetupRanges(ts, descriptor.scriptSetupAst, vueCompilerOptions) : undefined;
const scriptSetupRanges = descriptor.scriptSetup ? vue.parseScriptSetupRanges(ts, descriptor.scriptSetup.ast, vueCompilerOptions) : undefined;

if (descriptor.scriptSetup && scriptSetupRanges?.props.withDefaults?.arg) {

32 changes: 16 additions & 16 deletions packages/vue-component-meta/tests/index.spec.ts
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ import { createComponentMetaChecker, createComponentMetaCheckerByJsonConfig, Met
const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describe(`vue-component-meta ${withTsconfig ? 'with tsconfig' : 'without tsconfig'}`, () => {

test('empty-component', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/empty-component/component.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/empty-component/component.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.props.map(prop => prop.name)).toEqual([
@@ -20,7 +20,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('reference-type-props', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/reference-type-props/component.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/reference-type-props/component.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -341,7 +341,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('reference-type-props-js', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/reference-type-props/component-js.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/reference-type-props/component-js.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -385,7 +385,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('reference-type-props-js-setup', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/reference-type-props/component-js-setup.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/reference-type-props/component-js-setup.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -459,7 +459,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('reference-type-events', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/reference-type-events/component.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/reference-type-events/component.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -536,7 +536,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('template-slots', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/template-slots/component.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/template-slots/component.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -564,7 +564,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('template-slots without a script block', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/template-slots/component-no-script.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/template-slots/component-no-script.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -592,7 +592,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('class-slots', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/class-slots/component.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/class-slots/component.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -611,7 +611,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('exposed', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/reference-type-exposed/component.vue');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/reference-type-exposed/component.vue');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -626,7 +626,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('ts-component', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/ts-component/component.ts');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/ts-component/component.ts');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Function);
@@ -647,7 +647,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('ts-named-exports', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/ts-named-export/component.ts');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/ts-named-export/component.ts');
const exportNames = checker.getExportNames(componentPath);
const Foo = checker.getComponentMeta(componentPath, 'Foo');
const Bar = checker.getComponentMeta(componentPath, 'Bar');
@@ -673,7 +673,7 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ

test('options-api', () => {

const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/options-api/component.ts');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/options-api/component.ts');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Class);
@@ -727,14 +727,14 @@ const worker = (checker: ComponentMetaChecker, withTsconfig: boolean) => describ
});

test('non-component', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/non-component/component.ts');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/non-component/component.ts');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Unknown);
});

test('ts-component.tsx', () => {
const componentPath = path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/ts-component/component.tsx');
const componentPath = path.resolve(__dirname, '../../../test-workspace/vue-component-meta/ts-component/component.tsx');
const meta = checker.getComponentMeta(componentPath);

expect(meta.type).toEqual(TypeMeta.Function);
@@ -762,11 +762,11 @@ const checkerOptions: MetaCheckerOptions = {
printer: { newLine: 1 },
};
const tsconfigChecker = createComponentMetaChecker(
path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta/tsconfig.json'),
path.resolve(__dirname, '../../../test-workspace/vue-component-meta/tsconfig.json'),
checkerOptions,
);
const noTsConfigChecker = createComponentMetaCheckerByJsonConfig(
path.resolve(__dirname, '../../vue-test-workspace/vue-component-meta'),
path.resolve(__dirname, '../../../test-workspace/vue-component-meta'),
{
"extends": "../tsconfig.json",
"include": [
2 changes: 1 addition & 1 deletion packages/vue-component-type-helpers/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vue-component-type-helpers",
"version": "1.8.19",
"version": "1.8.20",
"license": "MIT",
"files": [
"*.js",
4 changes: 2 additions & 2 deletions packages/vue-language-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vue/language-core",
"version": "1.8.19",
"version": "1.8.20",
"main": "out/index.js",
"license": "MIT",
"files": [
@@ -16,8 +16,8 @@
"@volar/language-core": "~1.10.4",
"@volar/source-map": "~1.10.4",
"@vue/compiler-dom": "^3.3.0",
"@vue/reactivity": "^3.3.0",
"@vue/shared": "^3.3.0",
"computeds": "^0.0.1",
"minimatch": "^9.0.3",
"muggle-string": "^0.3.1",
"vue-template-compiler": "^2.7.14"
Loading