dont create unknown prop warnings for $$scope etc, or if component has $$props - fixes #2878

pull/2881/head
Richard Harris 5 years ago
parent 60a2a512dd
commit cb1a76b08c

@ -395,11 +395,11 @@ export default function dom(
});
let unknown_props_check;
if (component.compile_options.dev && writable_props.length) {
if (component.compile_options.dev && !component.var_lookup.has('$$props') && writable_props.length) {
unknown_props_check = deindent`
const writable_props = [${writable_props.map(prop => `'${prop.export_name}'`).join(', ')}];
Object.keys($$props).forEach(key => {
if (!writable_props.includes(key)) console.warn(\`<${component.tag}> was created with unknown prop '\${key}'\`);
if (!writable_props.includes(key) && !key.startsWith('$$')) console.warn(\`<${component.tag}> was created with unknown prop '\${key}'\`);
});
`;
}

@ -0,0 +1,7 @@
<script>
export let foo = undefined;
</script>
<div>{foo}</div>
<div>{JSON.stringify($$props)}</div>

@ -0,0 +1,7 @@
export default {
compileOptions: {
dev: true
},
warnings: []
};

@ -0,0 +1,5 @@
<script>
import Foo from './Foo.svelte';
</script>
<Foo fo="sho"/>

@ -0,0 +1,6 @@
<script>
export let answer;
</script>
<h1>{answer}</h1>
<div><slot></slot></div>

@ -0,0 +1,7 @@
export default {
compileOptions: {
dev: true
},
warnings: []
};

@ -0,0 +1,7 @@
<script>
import Foo from './Foo.svelte';
</script>
<Foo answer={42}>
bar
</Foo>
Loading…
Cancel
Save