diff --git a/packages/compiler/src/codegen.ts b/packages/compiler/src/codegen.ts index 08c23a3c..e19d57dd 100644 --- a/packages/compiler/src/codegen.ts +++ b/packages/compiler/src/codegen.ts @@ -742,13 +742,6 @@ function renderNestedComponentInvocation( return ` ${attr.name}`; } - if (/^\s*\{\{[\s\S]*\}\}\s*$/.test(attr.value)) { - throw new Error( - `WRN-PROP-INLINE-OBJECT: '${attr.name}' uses an inline object or array prop. ` + - `Hoist it to state and pass ${attr.name}={yourState} instead.`, - ); - } - const wholeExpression = wholeAttributeExpression(attr.value); const compiledValue = wholeExpression diff --git a/packages/compiler/test/compiler.test.ts b/packages/compiler/test/compiler.test.ts index 737e18b5..45fcb76e 100644 --- a/packages/compiler/test/compiler.test.ts +++ b/packages/compiler/test/compiler.test.ts @@ -1083,19 +1083,6 @@ page Home { expect(output).toContain("__wrnexusPropAttr(["); }); -test("rejects inline object props with a hoisting diagnostic", () => { - expect(() => - generate( - parse(`component Example { view { } }`), - ), - ).toThrow("WRN-PROP-INLINE-OBJECT"); - - expect(() => - generate( - parse(`component Example { state items = [{ a: 1 }] view { } }`), - ), - ).not.toThrow(); -}); test("component functions are available during server rendering", () => { const output = generate( parse(`