Find potentially unused exports in your Typescript project with zero configuration.
ts-prune exposes a cli that reads your tsconfig file and prints out all the unused exports in your source files.
Install ts-prune with yarn or npm
# npm
npm install ts-prune --save-dev
# yarn
yarn add -D ts-pruneYou can install it in your project and alias it to a npm script in package.json.
{
"scripts": {
"find-deadcode": "ts-prune"
}
}If you want to run against different Typescript configuration than tsconfig.json:
ts-prune -p tsconfig.dev.jsonts-prune supports CLI and file configuration via cosmiconfig (all file formats are supported).
-p, --project- tsconfig.json path(tsconfig.jsonby default)-i, --ignore- errors ignore RegExp pattern-e, --error- return error code if unused exports are found-s, --skip- skip these files when determining whether code is used. (For example,.test.ts?will stop ts-prune from considering an export in test file usages)
CLI configuration options:
ts-prune -p my-tsconfig.json -i my-component-ignore-patterns?Configuration file example .ts-prunerc:
{
"ignore": "my-component-ignore-patterns?"
}ts-prune | wc -lYou can either,
ts-prune --ignore 'src/ignore-this-path'ts-prune | grep -v src/ignore-this-pathYou can either,
ts-prune --ignore 'src/ignore-this-path|src/also-ignore-this-path'ts-prune | grep -v src/ignore-this-path | grep -v src/also-ignore-this-pathYou can either,
// ts-prune-ignore-next
export const thisNeedsIgnoring = foo;ts-prune | grep -v ignoreThisThroughoutMyCodebase