diff --git a/packages/compiler-dom/__tests__/transforms/stringifyStatic.spec.ts b/packages/compiler-dom/__tests__/transforms/stringifyStatic.spec.ts
index b4d96605..46fe2591 100644
--- a/packages/compiler-dom/__tests__/transforms/stringifyStatic.spec.ts
+++ b/packages/compiler-dom/__tests__/transforms/stringifyStatic.spec.ts
@@ -225,4 +225,28 @@ describe('stringify static html', () => {
type: NodeTypes.VNODE_CALL // not CALL_EXPRESSION
})
})
+
+ test('should bail on non attribute bindings', () => {
+ const { ast } = compileWithStringify(
+ `
`
+ )
+ expect(ast.hoists.length).toBe(1)
+ expect(ast.hoists[0]).toMatchObject({
+ type: NodeTypes.VNODE_CALL // not CALL_EXPRESSION
+ })
+
+ const { ast: ast2 } = compileWithStringify(
+ ``
+ )
+ expect(ast2.hoists.length).toBe(1)
+ expect(ast2.hoists[0]).toMatchObject({
+ type: NodeTypes.VNODE_CALL // not CALL_EXPRESSION
+ })
+ })
})
diff --git a/packages/compiler-dom/src/transforms/stringifyStatic.ts b/packages/compiler-dom/src/transforms/stringifyStatic.ts
index a354dc2c..6130d239 100644
--- a/packages/compiler-dom/src/transforms/stringifyStatic.ts
+++ b/packages/compiler-dom/src/transforms/stringifyStatic.ts
@@ -189,16 +189,10 @@ function analyzeNode(node: StringifiableNode): [number, number] | false {
}
for (let i = 0; i < node.children.length; i++) {
nc++
- if (nc >= StringifyThresholds.NODE_COUNT) {
- return true
- }
const child = node.children[i]
if (child.type === NodeTypes.ELEMENT) {
if (child.props.length > 0) {
ec++
- if (ec >= StringifyThresholds.ELEMENT_WITH_BINDING_COUNT) {
- return true
- }
}
walk(child)
if (bailed) {