From 42f4cccedabdc14a1dde9afa28b29400fcac796b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Fern=C3=A1ndez?= Date: Thu, 20 Jun 2024 19:23:39 +0000 Subject: [PATCH] feat(compiler-core): add allowSideEffectTag option By default, the compiler drops ``, { + allowSideEffectTags: true, + }) + expect(code).toMatch('script') + }) + it('should ignore style', () => { let err: CompilerError | undefined const { code } = compile(``, { @@ -24,4 +31,11 @@ describe('compiler: ignore side effect tags', () => { expect(err).toBeDefined() expect(err!.message).toMatch(`Tags with side effect`) }) + + it('should allow style when allowSideEffectTags is true', () => { + const { code } = compile(``, { + allowSideEffectTags: true, + }) + expect(code).toMatch('style') + }) }) diff --git a/packages/compiler-dom/src/transforms/ignoreSideEffectTags.ts b/packages/compiler-dom/src/transforms/ignoreSideEffectTags.ts index 81dc49849..7c4882266 100644 --- a/packages/compiler-dom/src/transforms/ignoreSideEffectTags.ts +++ b/packages/compiler-dom/src/transforms/ignoreSideEffectTags.ts @@ -5,7 +5,8 @@ export const ignoreSideEffectTags: NodeTransform = (node, context) => { if ( node.type === NodeTypes.ELEMENT && node.tagType === ElementTypes.ELEMENT && - (node.tag === 'script' || node.tag === 'style') + (node.tag === 'script' || node.tag === 'style') && + !context.allowSideEffectTags ) { __DEV__ && context.onError(