From 5d0184c6285b7719e6211c506c4537939b138123 Mon Sep 17 00:00:00 2001 From: Conduitry Date: Fri, 22 Feb 2019 07:40:44 -0500 Subject: [PATCH 1/2] expose implicit vars in script-less components --- src/compile/Component.ts | 2 +- test/vars/samples/implicit/_config.js | 13 +++++++- .../samples/template-references/_config.js | 33 ++++++++++++++++++- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/src/compile/Component.ts b/src/compile/Component.ts index 5ba5e223e4..32af20c12c 100644 --- a/src/compile/Component.ts +++ b/src/compile/Component.ts @@ -330,7 +330,7 @@ export default class Component { css, ast: this.ast, warnings: this.warnings, - vars: this.vars.filter(v => !v.global && !v.implicit && !v.internal).map(v => ({ + vars: this.vars.filter(v => !v.global && !v.internal).map(v => ({ name: v.name, export_name: v.export_name || null, injected: v.injected || false, diff --git a/test/vars/samples/implicit/_config.js b/test/vars/samples/implicit/_config.js index 2b84e83f12..0c685e7f18 100644 --- a/test/vars/samples/implicit/_config.js +++ b/test/vars/samples/implicit/_config.js @@ -1,5 +1,16 @@ export default { test(assert, vars) { - assert.deepEqual(vars, []); + assert.deepEqual(vars, [ + { + export_name: 'foo', + injected: false, + module: false, + mutated: false, + name: 'foo', + reassigned: false, + referenced: true, + writable: true, + }, + ]); }, }; diff --git a/test/vars/samples/template-references/_config.js b/test/vars/samples/template-references/_config.js index 2b84e83f12..1d78fbdf46 100644 --- a/test/vars/samples/template-references/_config.js +++ b/test/vars/samples/template-references/_config.js @@ -1,5 +1,36 @@ export default { test(assert, vars) { - assert.deepEqual(vars, []); + assert.deepEqual(vars, [ + { + export_name: 'foo', + injected: false, + module: false, + mutated: false, + name: 'foo', + reassigned: false, + referenced: true, + writable: true, + }, + { + export_name: 'Bar', + injected: false, + module: false, + mutated: false, + name: 'Bar', + reassigned: false, + referenced: true, + writable: true, + }, + { + export_name: 'baz', + injected: false, + module: false, + mutated: false, + name: 'baz', + reassigned: false, + referenced: true, + writable: true, + }, + ]); }, }; From a96d420e63ae6594d0151a01ed82e270eeda9942 Mon Sep 17 00:00:00 2001 From: Conduitry Date: Fri, 22 Feb 2019 07:41:36 -0500 Subject: [PATCH 2/2] repl: only display writable exports in props editor --- site/static/workers/compiler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/static/workers/compiler.js b/site/static/workers/compiler.js index 9c79eebe44..0583186dc7 100644 --- a/site/static/workers/compiler.js +++ b/site/static/workers/compiler.js @@ -37,7 +37,7 @@ function compile({ source, options, entry }) { ); const props = entry - ? (vars || stats.vars).map(v => v.export_name).filter(Boolean) // TODO remove stats post-launch + ? (vars || stats.vars).map(v => v.writable && v.export_name).filter(Boolean) // TODO remove stats post-launch : null; return { js: js.code, css: css.code, props };