Skip to content

Commit 1208f9e

Browse files
committed
fix(vscode): patch typescriptServerPlugin languages without FS hack
1 parent bd201b2 commit 1208f9e

File tree

2 files changed

+13
-25
lines changed

2 files changed

+13
-25
lines changed

extensions/vscode/index.ts

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -186,29 +186,24 @@ if (tsExtension.isActive) {
186186
else {
187187
const fs = require('node:fs');
188188
const readFileSync = fs.readFileSync;
189-
const extensionJsPath = require.resolve('./dist/extension.js', {
190-
paths: [tsExtension.extensionPath],
191-
});
192-
const vuePluginName = require('./package.json').contributes.typescriptServerPlugins[0].name;
189+
const extensionJsPath = require.resolve('./dist/extension.js', { paths: [tsExtension.extensionPath] });
190+
const packageJson = require('./package.json');
191+
const vueExtension = vscode.extensions.getExtension(`${packageJson.publisher}.${packageJson.name}`)!;
192+
const vuePluginName = 'vue-typescript-plugin-pack';
193+
194+
vueExtension.packageJSON.contributes.typescriptServerPlugins = [
195+
{
196+
name: vuePluginName,
197+
enableForWorkspaceTypeScriptVersions: true,
198+
configNamespace: 'typescript',
199+
languages: config.server.includeLanguages,
200+
},
201+
];
193202

194203
fs.readFileSync = (...args: any[]) => {
195204
if (args[0] === extensionJsPath) {
196205
let text = readFileSync(...args) as string;
197206

198-
// patch readPlugins
199-
text = text.replace(
200-
'languages:Array.isArray(e.languages)',
201-
[
202-
'languages:',
203-
`e.name==='${vuePluginName}'?[${
204-
config.server.includeLanguages
205-
.map(lang => `'${lang}'`)
206-
.join(',')
207-
}]`,
208-
':Array.isArray(e.languages)',
209-
].join(''),
210-
);
211-
212207
// patch jsTsLanguageModes
213208
text = text.replace(
214209
't.jsTsLanguageModes=[t.javascript,t.javascriptreact,t.typescript,t.typescriptreact]',

extensions/vscode/package.json

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,6 @@
6767
"configuration": "./languages/sfc-template-language-configuration.json"
6868
}
6969
],
70-
"typescriptServerPlugins": [
71-
{
72-
"name": "vue-typescript-plugin-pack",
73-
"enableForWorkspaceTypeScriptVersions": true,
74-
"configNamespace": "typescript"
75-
}
76-
],
7770
"grammars": [
7871
{
7972
"language": "vue",

0 commit comments

Comments
 (0)