Skip to content

Commit 1b1eab4

Browse files
committed
feat: add compilation variables report option
1 parent dafbdc2 commit 1b1eab4

File tree

2 files changed

+24
-13
lines changed

2 files changed

+24
-13
lines changed

src/compiler/compile/Component.ts

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -340,19 +340,7 @@ export default class Component {
340340
css,
341341
ast: this.original_ast,
342342
warnings: this.warnings,
343-
vars: this.vars
344-
.filter(v => !v.global && !v.internal)
345-
.map(v => ({
346-
name: v.name,
347-
export_name: v.export_name || null,
348-
injected: v.injected || false,
349-
module: v.module || false,
350-
mutated: v.mutated || false,
351-
reassigned: v.reassigned || false,
352-
referenced: v.referenced || false,
353-
writable: v.writable || false,
354-
referenced_from_script: v.referenced_from_script || false
355-
})),
343+
vars: this.get_vars_report(),
356344
stats: this.stats.render()
357345
};
358346
}
@@ -402,6 +390,28 @@ export default class Component {
402390
};
403391
}
404392

393+
get_vars_report(): Var[] {
394+
const { compile_options, vars } = this;
395+
396+
const vars_report = compile_options.varsReport === false
397+
? []
398+
: compile_options.varsReport === 'full'
399+
? vars
400+
: vars.filter(v => !v.global && !v.internal);
401+
402+
return vars_report.map(v => ({
403+
name: v.name,
404+
export_name: v.export_name || null,
405+
injected: v.injected || false,
406+
module: v.module || false,
407+
mutated: v.mutated || false,
408+
reassigned: v.reassigned || false,
409+
referenced: v.referenced || false,
410+
writable: v.writable || false,
411+
referenced_from_script: v.referenced_from_script || false
412+
}));
413+
}
414+
405415
error(
406416
pos: {
407417
start: number;

src/compiler/interfaces.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ export interface CompileOptions {
116116
name?: string;
117117
filename?: string;
118118
generate?: 'dom' | 'ssr' | false;
119+
varsReport?: 'full' | 'strict' | false;
119120

120121
sourcemap?: object | string;
121122
outputFilename?: string;

0 commit comments

Comments
 (0)