diff --git a/src/compile/render-dom/index.ts b/src/compile/render-dom/index.ts index 53750232b0..aee924f0cf 100644 --- a/src/compile/render-dom/index.ts +++ b/src/compile/render-dom/index.ts @@ -257,6 +257,7 @@ export default function dom( const filtered_props = component.props.filter(prop => { if (component.hoistable_names.has(prop.name)) return false; if (component.imported_declarations.has(prop.name)) return false; + if (prop.name[0] === '$') return false; return true; }); diff --git a/src/compile/render-ssr/index.ts b/src/compile/render-ssr/index.ts index 8d4b496eb6..1289b9ef88 100644 --- a/src/compile/render-ssr/index.ts +++ b/src/compile/render-ssr/index.ts @@ -28,11 +28,7 @@ export default function ssr( component.rewrite_props(); user_code = component.javascript; } else if (component.ast.js.length === 0 && component.props.length > 0) { - const props = component.props.map(prop => { - return prop.as === prop.name - ? prop.as - : `${prop.as}: ${prop.name}` - }); + const props = component.props.map(prop => prop.as).filter(name => name[0] !== '$'); user_code = `let { ${props.join(', ')} } = $$props;` } diff --git a/test/runtime/samples/store-auto-subscribe-implicit/_config.js b/test/runtime/samples/store-auto-subscribe-implicit/_config.js new file mode 100644 index 0000000000..b8203f2a68 --- /dev/null +++ b/test/runtime/samples/store-auto-subscribe-implicit/_config.js @@ -0,0 +1,28 @@ +import { writable } from '../../../../store.js'; + +export default { + props: { + count: writable(0) + }, + + html: ` + + `, + + async test({ assert, component, target, window }) { + const button = target.querySelector('button'); + const click = new window.MouseEvent('click'); + + await button.dispatchEvent(click); + + assert.htmlEqual(target.innerHTML, ` + + `); + + await component.count.set(42); + + assert.htmlEqual(target.innerHTML, ` + + `); + } +}; \ No newline at end of file diff --git a/test/runtime/samples/store-auto-subscribe-implicit/main.html b/test/runtime/samples/store-auto-subscribe-implicit/main.html new file mode 100644 index 0000000000..1c4fdddad3 --- /dev/null +++ b/test/runtime/samples/store-auto-subscribe-implicit/main.html @@ -0,0 +1 @@ + \ No newline at end of file