diff --git a/vue-language-tools/vue-language-core/schemas/vue-tsconfig.schema.json b/vue-language-tools/vue-language-core/schemas/vue-tsconfig.schema.json index a6514b758..dc49d63ca 100644 --- a/vue-language-tools/vue-language-core/schemas/vue-tsconfig.schema.json +++ b/vue-language-tools/vue-language-core/schemas/vue-tsconfig.schema.json @@ -75,14 +75,6 @@ ], "markdownDescription": "Run app in browser or uni-app" }, - "experimentalTemplateCompilerOptions": { - "type": "object", - "markdownDescription": "https://github.com/johnsoncodehk/volar/issues/576" - }, - "experimentalTemplateCompilerOptionsRequirePath": { - "type": "string", - "markdownDescription": "https://github.com/johnsoncodehk/volar/issues/698" - }, "experimentalResolveStyleCssClasses": { "enum": [ "scoped", diff --git a/vue-language-tools/vue-language-core/src/plugins/vue-template-html.ts b/vue-language-tools/vue-language-core/src/plugins/vue-template-html.ts index a74a3d06f..e10676b6f 100644 --- a/vue-language-tools/vue-language-core/src/plugins/vue-template-html.ts +++ b/vue-language-tools/vue-language-core/src/plugins/vue-template-html.ts @@ -8,19 +8,12 @@ interface Loc { } type Node = CompilerDOM.RootNode | CompilerDOM.TemplateChildNode | CompilerDOM.ExpressionNode | CompilerDOM.AttributeNode | CompilerDOM.DirectiveNode; -const plugin: VueLanguagePlugin = ({ modules, vueCompilerOptions }) => { +const plugin: VueLanguagePlugin = ({ modules }) => { return { version: 1, - resolveTemplateCompilerOptions(options) { - return { - ...options, - ...vueCompilerOptions.experimentalTemplateCompilerOptions, - }; - }, - compileSFCTemplate(lang, template, options) { if (lang === 'html') { diff --git a/vue-language-tools/vue-language-core/src/types.ts b/vue-language-tools/vue-language-core/src/types.ts index 34aaa198d..08240ce63 100644 --- a/vue-language-tools/vue-language-core/src/types.ts +++ b/vue-language-tools/vue-language-core/src/types.ts @@ -27,8 +27,6 @@ export interface ResolvedVueCompilerOptions { // experimental experimentalRuntimeMode: 'runtime-dom' | 'runtime-uni-app'; - experimentalTemplateCompilerOptions: any; - experimentalTemplateCompilerOptionsRequirePath: string | undefined; experimentalResolveStyleCssClasses: 'scoped' | 'always' | 'never'; experimentalRfc436: boolean; } diff --git a/vue-language-tools/vue-language-core/src/utils/ts.ts b/vue-language-tools/vue-language-core/src/utils/ts.ts index 1408c4f9b..b182a2318 100644 --- a/vue-language-tools/vue-language-core/src/utils/ts.ts +++ b/vue-language-tools/vue-language-core/src/utils/ts.ts @@ -47,7 +47,7 @@ function createParsedCommandLineBase( extendsSet: Set, ): ParsedCommandLine { - let baseVueOptions = {}; + let vueOptions = {}; const folder = path.dirname(tsConfigPath); extendsSet.add(tsConfigPath); @@ -56,7 +56,7 @@ function createParsedCommandLineBase( try { const extendsPath = require.resolve(content.raw.extends, { paths: [folder] }); if (!extendsSet.has(extendsPath)) { - baseVueOptions = createParsedCommandLine(ts, parseConfigHost, extendsPath, extraFileExtensions, extendsSet).vueOptions; + vueOptions = createParsedCommandLine(ts, parseConfigHost, extendsPath, extraFileExtensions, extendsSet).vueOptions; } } catch (error) { @@ -66,10 +66,7 @@ function createParsedCommandLineBase( return { ...content, - vueOptions: { - ...baseVueOptions, - ...resolveVueCompilerOptionsWorker(content.raw.vueCompilerOptions ?? {}, folder), - }, + vueOptions, }; } @@ -95,32 +92,7 @@ export function resolveVueCompilerOptions(vueOptions: VueCompilerOptions): Resol // experimental experimentalRuntimeMode: vueOptions.experimentalRuntimeMode ?? 'runtime-dom', - experimentalTemplateCompilerOptions: vueOptions.experimentalTemplateCompilerOptions ?? {}, - experimentalTemplateCompilerOptionsRequirePath: vueOptions.experimentalTemplateCompilerOptionsRequirePath ?? undefined, experimentalResolveStyleCssClasses: vueOptions.experimentalResolveStyleCssClasses ?? 'scoped', experimentalRfc436: vueOptions.experimentalRfc436 ?? false, }; } - -function resolveVueCompilerOptionsWorker(rawOptions: { - [key: string]: any, - experimentalTemplateCompilerOptionsRequirePath?: string, -}, rootPath: string) { - - const result = { ...rawOptions }; - - let templateOptionsPath = rawOptions.experimentalTemplateCompilerOptionsRequirePath; - if (templateOptionsPath) { - if (!path.isAbsolute(templateOptionsPath)) { - templateOptionsPath = require.resolve(templateOptionsPath, { paths: [rootPath] }); - } - try { - result.experimentalTemplateCompilerOptions = require(templateOptionsPath).default; - } catch (error) { - console.warn('Failed to require "experimentalTemplateCompilerOptionsRequirePath":', templateOptionsPath); - console.error(error); - } - } - - return result; -}