Giter VIP home page Giter VIP logo

ts-prune's Introduction

Build npm GitHub issues

ts-prune

Find potentially 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?

You can either,

1. Use the -i, --ignore configuration option:
ts-prune --ignore 'src/ignore-this-path'
2. Use grep -v to filter the output:
ts-prune | grep -v src/ignore-this-path

How do I ignore multiple paths?

You can either,

1. Use the -i, --ignore configuration option:
ts-prune --ignore 'src/ignore-this-path|src/also-ignore-this-path'
2. Use multiple grep -v to filter the output:
ts-prune | grep -v src/ignore-this-path | grep -v src/also-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
Josh
Josh Goldberg
Vitaly
Vitaly Iegorov
Amir
Amir Arad
David
David Graham
Davis
Davis Ford
Ivo
Ivo Raisr
Kristján
Kristján Oddsson
Simon
Simon Jang
The
The Gitter Badger
Tim
Tim Bodeit
Tim
Tim Saunders
Torkel
Torkel Rogstad
Victor
Victor Nogueira
William
William Candillon
phiresky/
phiresky

ts-prune's People

Contributors

amir-arad avatar calebpeterson avatar danvk avatar daviseford avatar dependabot[bot] avatar depfu[bot] avatar dgraham avatar felladrin avatar github-actions[bot] avatar gitter-badger avatar ivosh avatar joshuakgoldberg avatar koddsson avatar nadeesha avatar phiresky avatar sauntimo avatar simonjang avatar snyk-bot avatar timbodeit avatar torkelrogstad avatar vitalyiegorov avatar wcandillon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.