diff --git a/packages/runtime-core/src/apiDefineComponent.ts b/packages/runtime-core/src/apiDefineComponent.ts index 9edb9965e..76e9567fe 100644 --- a/packages/runtime-core/src/apiDefineComponent.ts +++ b/packages/runtime-core/src/apiDefineComponent.ts @@ -279,6 +279,9 @@ export function defineComponent( extraOptions?: ComponentOptions ) { return isFunction(options) - ? extend({ name: options.name }, extraOptions, { setup: options }) + ? // #8326: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /*#__PURE__*/ (() => + extend({ name: options.name }, extraOptions, { setup: options }))() : options }