diff --git a/src/compiler/compile/Component.ts b/src/compiler/compile/Component.ts
index 5f7d4b9758..63c62a256a 100644
--- a/src/compiler/compile/Component.ts
+++ b/src/compiler/compile/Component.ts
@@ -519,7 +519,7 @@ export default class Component {
return result;
}
- private _extract_exports(node: ExportDefaultDeclaration | ExportNamedDeclaration | ExportAllDeclaration, module_script) {
+ private _extract_exports(node: ExportDefaultDeclaration | ExportNamedDeclaration | ExportAllDeclaration, module_script: boolean) {
if (node.type === 'ExportDefaultDeclaration') {
return this.error(node as any, compiler_errors.default_export);
}
@@ -539,7 +539,7 @@ export default class Component {
extract_names(declarator.id).forEach(name => {
const variable = this.var_lookup.get(name);
variable.export_name = name;
- if (variable.writable && !(variable.referenced || variable.referenced_from_script || variable.subscribable)) {
+ if (!module_script && variable.writable && !(variable.referenced || variable.referenced_from_script || variable.subscribable)) {
this.warn(declarator as any, compiler_warnings.unused_export_let(this.name.name, name));
}
});
@@ -559,7 +559,7 @@ export default class Component {
if (variable) {
variable.export_name = specifier.exported.name;
- if (variable.writable && !(variable.referenced || variable.referenced_from_script || variable.subscribable)) {
+ if (!module_script && variable.writable && !(variable.referenced || variable.referenced_from_script || variable.subscribable)) {
this.warn(specifier as any, compiler_warnings.unused_export_let(this.name.name, specifier.exported.name));
}
}
diff --git a/test/validator/samples/unreferenced-variables/input.svelte b/test/validator/samples/unreferenced-variables/input.svelte
index 8c9e0b15f3..cebd861985 100644
--- a/test/validator/samples/unreferenced-variables/input.svelte
+++ b/test/validator/samples/unreferenced-variables/input.svelte
@@ -1,25 +1,48 @@
+
+
-{$q}
+{$q2}
diff --git a/test/validator/samples/unreferenced-variables/warnings.json b/test/validator/samples/unreferenced-variables/warnings.json
index dfac58ebdb..4097ba023b 100644
--- a/test/validator/samples/unreferenced-variables/warnings.json
+++ b/test/validator/samples/unreferenced-variables/warnings.json
@@ -2,76 +2,76 @@
{
"code": "unused-export-let",
"end": {
- "character": 103,
- "column": 12,
- "line": 8
+ "character": 519,
+ "column": 13,
+ "line": 31
},
- "message": "Component has unused export property 'd'. If it is for external reference only, please consider using `export const d`",
- "pos": 102,
+ "message": "Component has unused export property 'd2'. If it is for external reference only, please consider using `export const d2`",
+ "pos": 517,
"start": {
- "character": 102,
+ "character": 517,
"column": 11,
- "line": 8
+ "line": 31
}
},
{
"code": "unused-export-let",
"end": {
- "character": 106,
- "column": 15,
- "line": 8
+ "character": 523,
+ "column": 17,
+ "line": 31
},
- "message": "Component has unused export property 'e'. If it is for external reference only, please consider using `export const e`",
- "pos": 105,
+ "message": "Component has unused export property 'e2'. If it is for external reference only, please consider using `export const e2`",
+ "pos": 521,
"start": {
- "character": 105,
- "column": 14,
- "line": 8
+ "character": 521,
+ "column": 15,
+ "line": 31
}
},
{
"code": "unused-export-let",
"end": {
- "character": 130,
- "column": 18,
- "line": 9
+ "character": 549,
+ "column": 19,
+ "line": 32
},
- "message": "Component has unused export property 'g'. If it is for external reference only, please consider using `export const g`",
- "pos": 125,
+ "message": "Component has unused export property 'g2'. If it is for external reference only, please consider using `export const g2`",
+ "pos": 543,
"start": {
- "character": 125,
+ "character": 543,
"column": 13,
- "line": 9
+ "line": 32
}
},
{
"code": "unused-export-let",
"end": {
- "character": 150,
- "column": 18,
- "line": 10
+ "character": 570,
+ "column": 19,
+ "line": 33
},
- "message": "Component has unused export property 'h'. If it is for external reference only, please consider using `export const h`",
- "pos": 145,
+ "message": "Component has unused export property 'h2'. If it is for external reference only, please consider using `export const h2`",
+ "pos": 564,
"start": {
- "character": 145,
+ "character": 564,
"column": 13,
- "line": 10
+ "line": 33
}
},
{
"code": "unused-export-let",
"end": {
- "character": 199,
- "column": 25,
- "line": 12
+ "character": 621,
+ "column": 26,
+ "line": 35
},
- "message": "Component has unused export property 'j'. If it is for external reference only, please consider using `export const j`",
- "pos": 187,
+ "message": "Component has unused export property 'j2'. If it is for external reference only, please consider using `export const j2`",
+ "pos": 608,
"start": {
- "character": 187,
+ "character": 608,
"column": 13,
- "line": 12
+ "line": 35
}
}
]