diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index 3d966f8765b0..009e1bd9279e 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -372,6 +372,14 @@ export default function dom( }) as Expression) }; + const ctx_names = component.compile_options.dev && { + type: 'ArrayExpression', + elements: initial_context.map(member => ({ + type: 'Literal', + value: member.name + }) as Expression) + }; + body.push(b` function ${definition}(${args}) { ${reactive_store_declarations} @@ -408,6 +416,8 @@ export default function dom( ${uses_props && b`$$props = @exclude_internal_props($$props);`} + ${ctx_names && x`$$self.$$.ctx_names = ${ctx_names};`} + return ${return_value}; } `); diff --git a/test/js/samples/debug-empty/expected.js b/test/js/samples/debug-empty/expected.js index 5821faadf1e8..79332c506929 100644 --- a/test/js/samples/debug-empty/expected.js +++ b/test/js/samples/debug-empty/expected.js @@ -87,6 +87,7 @@ function instance($$self, $$props, $$invalidate) { if ("name" in $$props) $$invalidate(0, name = $$props.name); }; + $$self.$$.ctx_names = ["name"]; return [name]; } diff --git a/test/js/samples/debug-foo-bar-baz-things/expected.js b/test/js/samples/debug-foo-bar-baz-things/expected.js index a1d6dba3b355..84a42c922d01 100644 --- a/test/js/samples/debug-foo-bar-baz-things/expected.js +++ b/test/js/samples/debug-foo-bar-baz-things/expected.js @@ -194,6 +194,7 @@ function instance($$self, $$props, $$invalidate) { if ("baz" in $$props) $$invalidate(3, baz = $$props.baz); }; + $$self.$$.ctx_names = ["things", "foo", "bar", "baz"]; return [things, foo, bar, baz]; } diff --git a/test/js/samples/debug-foo/expected.js b/test/js/samples/debug-foo/expected.js index af79667cc237..7c22c23f4424 100644 --- a/test/js/samples/debug-foo/expected.js +++ b/test/js/samples/debug-foo/expected.js @@ -182,6 +182,7 @@ function instance($$self, $$props, $$invalidate) { if ("foo" in $$props) $$invalidate(1, foo = $$props.foo); }; + $$self.$$.ctx_names = ["things", "foo"]; return [things, foo]; } diff --git a/test/js/samples/debug-hoisted/expected.js b/test/js/samples/debug-hoisted/expected.js index eeb946549965..93aa066c55c1 100644 --- a/test/js/samples/debug-hoisted/expected.js +++ b/test/js/samples/debug-hoisted/expected.js @@ -60,6 +60,7 @@ function instance($$self) { if ("kobzol" in $$props) $$invalidate(1, kobzol = $$props.kobzol); }; + $$self.$$.ctx_names = ["obj", "kobzol"]; return [obj, kobzol]; } diff --git a/test/js/samples/dev-warning-missing-data-computed/expected.js b/test/js/samples/dev-warning-missing-data-computed/expected.js index beb794a50c7a..c29d680033f1 100644 --- a/test/js/samples/dev-warning-missing-data-computed/expected.js +++ b/test/js/samples/dev-warning-missing-data-computed/expected.js @@ -91,6 +91,7 @@ function instance($$self, $$props, $$invalidate) { } }; + $$self.$$.ctx_names = ["foo", "bar"]; return [foo, bar]; } diff --git a/test/js/samples/loop-protect/expected.js b/test/js/samples/loop-protect/expected.js index 093cccf63c66..141a2d4319cf 100644 --- a/test/js/samples/loop-protect/expected.js +++ b/test/js/samples/loop-protect/expected.js @@ -89,6 +89,7 @@ function instance($$self) { } while (true); } + $$self.$$.ctx_names = []; return []; }