Skip to content

Commit 5f5b92a

Browse files
daniluk4000drodichkin
and
drodichkin
authored
fix(vue-tsc): updated createVueLanguagePlugin syntax, version pin (#398)
* fix(vue-tsc): compatibility with new createVueLanguagePlugin syntax, version pin * fix: TS issues * fix: TS issues * chore: pin language core * chore: upgrade to vue-tsc 2.1.6 --------- Co-authored-by: drodichkin <[email protected]>
1 parent b2c3236 commit 5f5b92a

File tree

5 files changed

+69
-61
lines changed

5 files changed

+69
-61
lines changed

packages/runtime/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
"@vitejs/plugin-vue": "^5.0.5",
1919
"vite": "^5.3.2",
2020
"vue": "^3.3.4",
21-
"vue-tsc": "^2.0.14"
21+
"vue-tsc": "~2.1.6"
2222
}
2323
}

packages/vite-plugin-checker/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"@biomejs/biome": "^1.8.3",
5656
"@types/eslint": "^7.2.14",
5757
"@types/fs-extra": "^11.0.1",
58-
"@vue/language-core": "^2.0.14",
58+
"@vue/language-core": "~2.1.6",
5959
"esbuild": "^0.14.27",
6060
"meow": "^9.0.0",
6161
"npm-run-all2": "^5.0.0",
@@ -64,7 +64,7 @@
6464
"typescript": "^5.5.3",
6565
"vls": "^0.8.5",
6666
"vti": "^0.1.11",
67-
"vue-tsc": "^2.0.14"
67+
"vue-tsc": "~2.1.6"
6868
},
6969
"peerDependencies": {
7070
"@biomejs/biome": ">=1.7",
@@ -76,7 +76,7 @@
7676
"vite": ">=2.0.0",
7777
"vls": "*",
7878
"vti": "*",
79-
"vue-tsc": ">=2.0.0"
79+
"vue-tsc": "~2.1.6"
8080
},
8181
"peerDependenciesMeta": {
8282
"@biomejs/biome": {

packages/vite-plugin-checker/src/checkers/vueTsc/languagePlugins.cjs

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
const path = require('node:path')
2-
const { removeEmitGlobalTypes } = require('vue-tsc')
32

43
const vueTscDir = path.dirname(require.resolve('vue-tsc/package.json'))
54
const vue = /** @type {typeof import('@vue/language-core')} */ (
65
require(require.resolve('@vue/language-core', { paths: [vueTscDir] }))
76
)
87
const windowsPathReg = /\\/g
98

9+
const removeEmitGlobalTypesRegexp = /^[^\n]*__VLS_globalTypesStart[\w\W]*__VLS_globalTypesEnd[^\n]*\n?$/mg;
10+
11+
/**
12+
* @param dts {string}
13+
* @returns {string}
14+
*/
15+
function removeEmitGlobalTypes(dts) {
16+
return dts.replace(removeEmitGlobalTypesRegexp, '');
17+
}
18+
1019
// #region copied from https://github.com/vuejs/language-tools/blob/0781998a29f176ad52c30d3139d5c78a5688bd5d/packages/tsc/index.ts
1120
/**
1221
* @param {typeof import('typescript')} ts
@@ -29,21 +38,9 @@ exports.getLanguagePlugins = (ts, options) => {
2938
}
3039
const vueLanguagePlugin = vue.createVueLanguagePlugin(
3140
ts,
32-
(id) => id,
33-
() => '',
34-
(fileName) => {
35-
const fileMap = new vue.FileMap(
36-
host?.useCaseSensitiveFileNames?.() ?? false,
37-
)
38-
for (const vueFileName of options.rootNames.map((rootName) =>
39-
rootName.replace(windowsPathReg, '/'),
40-
)) {
41-
fileMap.set(vueFileName, undefined)
42-
}
43-
return fileMap.has(fileName)
44-
},
4541
options.options,
4642
vueOptions,
43+
(id) => id,
4744
)
4845
return [vueLanguagePlugin]
4946
}

playground/vue-tsc-vue3/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
2-
"private": true,
32
"name": "@playground/vue-tsc-vue3",
43
"version": "0.0.0",
4+
"private": true,
55
"type": "module",
66
"scripts": {
7-
"dev": "vite",
87
"build": "vite build",
8+
"dev": "vite",
99
"serve": "vite preview"
1010
},
1111
"dependencies": {
@@ -16,6 +16,6 @@
1616
"typescript": "^5.5.3",
1717
"vite": "^5.3.2",
1818
"vite-plugin-checker": "workspace:*",
19-
"vue-tsc": "^2.0.14"
19+
"vue-tsc": "~2.1.6"
2020
}
2121
}

pnpm-lock.yaml

Lines changed: 51 additions & 40 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)