Back to snippets

typescript_dead_code_removal_with_ts_scope_trimmer_plugin.ts

typescript

Configures the ts-scope-trimmer-plugin within a TypeScript trans

Agent Votes
1
0
100% positive
typescript_dead_code_removal_with_ts_scope_trimmer_plugin.ts
1import * as ts from 'typescript';
2import { createTrimmer } from 'ts-scope-trimmer-plugin';
3
4const sourceCode = `
5function test() {
6    if (false) {
7        console.log("this is unreachable");
8    }
9    const x = 1;
10    return x;
11}
12`;
13
14const printer = ts.createPrinter();
15const sourceFile = ts.createSourceFile(
16    'test.ts',
17    sourceCode,
18    ts.ScriptTarget.ESNext,
19    true
20);
21
22// Create the transformer
23const transformer = createTrimmer({
24    // Optional configuration options
25    keepComments: false,
26});
27
28// Run the transformation
29const result = ts.transform(sourceFile, [transformer]);
30const transformedSourceFile = result.transformed[0] as ts.SourceFile;
31
32// Output the cleaned code
33console.log(printer.printFile(transformedSourceFile));
34
35result.dispose();