diff --git a/src/main.ts b/src/main.ts index 27d0752..9426879 100644 --- a/src/main.ts +++ b/src/main.ts @@ -74,7 +74,7 @@ export async function transformMain( output.push( `/* normalize component */ -import __normalizer from "${NORMALIZER_ID}" +import {normalizeComponent as __normalizer, getExports as __getExports} from "${NORMALIZER_ID}" var __component__ = /*#__PURE__*/__normalizer( _sfc_main, _sfc_render, @@ -137,7 +137,7 @@ var __component__ = /*#__PURE__*/__normalizer( let resolvedMap: RawSourceMap | undefined = scriptMap - output.push(`export default __component__.exports`) + output.push(`export default /*#__PURE__*/ __getExports(__component__)`) // handle TS transpilation let resolvedCode = output.join('\n') diff --git a/src/utils/componentNormalizer.ts b/src/utils/componentNormalizer.ts index f1c6cee..5b02535 100644 --- a/src/utils/componentNormalizer.ts +++ b/src/utils/componentNormalizer.ts @@ -4,7 +4,12 @@ export const NORMALIZER_ID = '\0plugin-vue2:normalizer' // This module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle. export const normalizerCode = ` -export default function normalizeComponent ( +// Used to facilitate tree-shaking since property access is not guaranteed to be pure +export function getExports(component) { + return component.exports +} + +export function normalizeComponent ( scriptExports, render, staticRenderFns,