From e7263b98f2e174198b322d26c6a7207d706a6639 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 24 Aug 2021 12:23:31 -0400 Subject: [PATCH] feat(plugin-vue): warn compiler-sfc version mismatch --- packages/plugin-vue/src/index.ts | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/packages/plugin-vue/src/index.ts b/packages/plugin-vue/src/index.ts index 68a99684cb0587..5f2184fd399a53 100644 --- a/packages/plugin-vue/src/index.ts +++ b/packages/plugin-vue/src/index.ts @@ -100,9 +100,16 @@ export default function vuePlugin(rawOptions: Options = {}): Plugin { ? createFilter(/\.(j|t)sx?$/) : createFilter(refTransform) + // compat for older verisons + const canUseRefTransform = typeof shouldTransformRef === 'function' + let options: ResolvedOptions = { isProduction: process.env.NODE_ENV === 'production', ...rawOptions, + include, + exclude, + customElement, + refTransform, root: process.cwd() } @@ -182,15 +189,15 @@ export default function vuePlugin(rawOptions: Options = {}): Plugin { return } if (!filter(filename) && !query.vue) { - if ( - refTransformFilter(filename) && - !query.vue && - shouldTransformRef(code) - ) { - return transformRef(code, { - filename, - sourceMap: true - }) + if (!query.vue && refTransformFilter(filename)) { + if (!canUseRefTransform) { + this.warn('refTransform requires @vue/compiler-sfc@^3.2.5.') + } else if (shouldTransformRef(code)) { + return transformRef(code, { + filename, + sourceMap: true + }) + } } return }