From 5fdf109ed39b89c323d4ce801dee675e03a420a8 Mon Sep 17 00:00:00 2001 From: Paul Sherman Date: Tue, 30 Apr 2019 09:18:00 -0500 Subject: [PATCH] Set initialised per declarator --- src/compile/utils/scope.ts | 3 +-- .../no-warn-initialised-props/_config.js | 3 +++ .../no-warn-initialised-props/main.svelte | 7 +++++++ .../samples/no-warn-initialised-props/test.js | 17 +++++++++++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 test/custom-elements/samples/no-warn-initialised-props/_config.js create mode 100644 test/custom-elements/samples/no-warn-initialised-props/main.svelte create mode 100644 test/custom-elements/samples/no-warn-initialised-props/test.js diff --git a/src/compile/utils/scope.ts b/src/compile/utils/scope.ts index 20cca46cba..35547b9776 100644 --- a/src/compile/utils/scope.ts +++ b/src/compile/utils/scope.ts @@ -75,9 +75,8 @@ export class Scope { if (node.kind === 'var' && this.block && this.parent) { this.parent.add_declaration(node); } else if (node.type === 'VariableDeclaration') { - const initialised = !!node.init; - node.declarations.forEach((declarator: Node) => { + const initialised = !!declarator.init; extract_names(declarator.id).forEach(name => { this.declarations.set(name, node); if (initialised) this.initialised_declarations.add(name); diff --git a/test/custom-elements/samples/no-warn-initialised-props/_config.js b/test/custom-elements/samples/no-warn-initialised-props/_config.js new file mode 100644 index 0000000000..e26996239d --- /dev/null +++ b/test/custom-elements/samples/no-warn-initialised-props/_config.js @@ -0,0 +1,3 @@ +export default { + dev: true +}; \ No newline at end of file diff --git a/test/custom-elements/samples/no-warn-initialised-props/main.svelte b/test/custom-elements/samples/no-warn-initialised-props/main.svelte new file mode 100644 index 0000000000..b71556eecc --- /dev/null +++ b/test/custom-elements/samples/no-warn-initialised-props/main.svelte @@ -0,0 +1,7 @@ + + + + +

foo: {foo}

diff --git a/test/custom-elements/samples/no-warn-initialised-props/test.js b/test/custom-elements/samples/no-warn-initialised-props/test.js new file mode 100644 index 0000000000..ae9edd4957 --- /dev/null +++ b/test/custom-elements/samples/no-warn-initialised-props/test.js @@ -0,0 +1,17 @@ +import * as assert from 'assert'; +import './main.svelte'; + +export default function (target) { + const warnings = []; + const warn = console.warn; + + console.warn = warning => { + warnings.push(warning); + }; + + target.innerHTML = ''; + + assert.equal(warnings.length, 0); + + console.warn = warn; +}