0.0.0-development • Published 4 years ago

ts-prune-fork v0.0.0-development

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

Build David npm GitHub issues

ts-prune

Remove unused exports in your Typescript project with zero configuration.

asciicast

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": {
    "find-deadcode": "ts-prune"
  }

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:

  1. Verify your code still compiles
  2. Run ts-prune --fix again, since there may be new unused exports after the first run
  3. 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,

1. Prefix the export with // ts-prune-ignore-next
// ts-prune-ignore-next
export const thisNeedsIgnoring = foo;
2. Use grep -v to ignore a more widely used export name
ts-prune | grep -v ignoreThisThroughoutMyCodebase

Acknowledgements

Licence

MIT