ts-prune
Remove unused exports in your Typescript project with zero configuration.
Getting Started
ts-prune
exposes a cli that reads your tsconfig file and prints out all the unused exports in your source files.
Installing
Install ts-prune with yarn or npm
npm install ts-prune -g
Usage
ts-prune
Or you can install it in your project and alias it to a npm script in package.json.
"scripts":
If you want to run against different Typescript configuration than tsconfig.json:
ts-prune -p tsconfig.dev.json
If you want to use ts-prune as a linter that fails when there are unused exports use --exit-status
:
ts-prune --exit-status && echo "no unused exports" || echo "found unused exports!"
If you want to automatically remove unused export declarations:
ts-prune --fix
This will cause all exported functions, classes and variables to become local declarations, and will remove export ... from ...
statements.
After this step, you should do the following things:
- Verify your code still compiles
- Run
ts-prune --fix
again, since there may be new unused exports after the first run - Find new unused local variable declarations with tsconfig
"noUnusedLocals": true
FAQ
How do I get the count of unused exports?
ts-prune | wc -l
How do I ignore a specific path?
ts-prune | grep -v src/ignore-this-path
How do I ignore a specific identifier?
You can either,
// ts-prune-ignore-next
1. Prefix the export with // ts-prune-ignore-next;
grep -v
to ignore a more widely used export name
2. Use ts-prune | grep -v ignoreThisThroughoutMyCodebase
Acknowledgements
Licence
MIT