#javascript #typescript #dead-code #lint #unused

bin+lib pior

Blazingly fast dead code detection for JS/TS projects

2 releases

0.1.1 Dec 17, 2025
0.1.0 Dec 17, 2025

#1834 in Development tools

MIT license

200KB
5.5K SLoC

Pior

Dead code detector for JavaScript/TypeScript. Written in Rust.

Install

cargo install pior

Usage

pior                      # analyze current directory
pior ./path/to/project    # analyze specific path
pior --fix                # auto-remove unused deps/exports
pior --format json        # json output
pior --watch              # re-run on file changes
pior --cache              # cache parsed files

What it finds

  • Unused files
  • Unused exports
  • Unused dependencies
  • Unlisted dependencies
  • Unresolved imports

Config

Create pior.json:

{
  "entry": ["src/index.ts"],
  "project": ["src/**/*.ts"],
  "ignore": ["**/*.test.ts"],
  "ignoreDependencies": ["@types/node"]
}

Monorepo

pior --workspaces         # list workspaces
pior --workspace pkg-name # analyze single workspace

Output formats

pretty | json | compact | github | codeclimate

Benchmark

Tested on TanStack/query (908 files):

Tool Time
pior 117 ms
knip 3.5 s

~30x faster

Single package (@tanstack/query-core, 52 files):

Tool Time
pior 9.4 ms
knip 473 ms

~50x faster

Run your own:

hyperfine --warmup 2 -i 'pior' 'bunx knip'

Dependencies

~21–37MB
~440K SLoC