Skip to content

Commit a648958

Browse files
committed
fix: compatibility with Vue 2.7
1 parent 98c66c9 commit a648958

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

packages/@vue/cli-plugin-typescript/index.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,23 @@ module.exports = (api, projectOptions) => {
8282
// this plugin does not play well with jest + cypress setup (tsPluginE2e.spec.js) somehow
8383
// so temporarily disabled for vue-cli tests
8484
if (!process.env.VUE_CLI_TEST) {
85+
let vueCompilerPath
86+
try {
87+
// Vue 2.7+
88+
vueCompilerPath = require.resolve('vue/compiler-sfc')
89+
} catch (e) {
90+
// Vue 2.6 and lower versions
91+
vueCompilerPath = require.resolve('vue-template-compiler')
92+
}
93+
8594
config
8695
.plugin('fork-ts-checker')
8796
.use(require('fork-ts-checker-webpack-plugin'), [{
8897
typescript: {
8998
extensions: {
9099
vue: {
91100
enabled: true,
92-
compiler: isVue3 ? require.resolve('vue/compiler-sfc') : require.resolve('vue-template-compiler')
101+
compiler: vueCompilerPath
93102
}
94103
},
95104
diagnosticOptions: {

packages/@vue/cli-service/lib/config/base.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,14 @@ module.exports = (api, options) => {
6464
const vueLoaderCacheConfig = api.genCacheConfig('vue-loader', {
6565
'vue-loader': require('@vue/vue-loader-v15/package.json').version,
6666
'@vue/component-compiler-utils': require('@vue/component-compiler-utils/package.json').version,
67-
'vue-template-compiler': require('vue-template-compiler/package.json').version
6867
})
6968

69+
try {
70+
vueLoaderCacheConfig['vue-template-compiler'] = require('vue-template-compiler/package.json').version
71+
} catch (e) {
72+
// For Vue 2.7 projects, `vue-template-compiler` is not required
73+
}
74+
7075
webpackConfig.resolve
7176
.alias
7277
.set(

0 commit comments

Comments
 (0)