Skip to content

fregante/ts-prune

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build npm GitHub issues

ts-prune

Remove unused exports in your Typescript project with zero configuration.

asciicast Join the chat at https://gitter.im/ts-prune/community

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
npm install ts-prune --save-dev
# yarn
yarn add -D ts-prune

Usage

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

Examples

Configuration

ts-prune supports CLI and file configuration via cosmiconfig (all file formats are supported).

Configuration options

  • -p, --project - tsconfig.json path(tsconfig.json by 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?"
}

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

Contributors

Nadeesha
Nadeesha Cabral
Snyk
Snyk bot
Dan
Dan Vanderkam
Vitaly
Vitaly Iegorov
Amir
Amir Arad
David
David Graham
Davis
Davis Ford
Ivo
Ivo Raisr
Josh
Josh Goldberg
Kristján
Kristján Oddsson
Simon
Simon Jang
The
The Gitter Badger
Tim
Tim Saunders
Torkel
Torkel Rogstad
William
William Candillon
phiresky/
phiresky

About

Find unused exports in a typescript project. 🛀

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 93.8%
  • Shell 4.4%
  • JavaScript 1.8%