pior

Crates.iopior
lib.rspior
version0.1.1
created_at2025-12-17 21:28:07.864708+00
updated_at2025-12-17 22:01:53.468885+00
descriptionBlazingly fast dead code detection for JS/TS projects
homepage
repositoryhttps://github.com/ddoemonn/pior
max_upload_size
id1991169
size254,144
ozer (ddoemonn)

documentation

README

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'
Commit count: 0

cargo fmt