Skip to content

chore(deadcode): ratchet down the 85 pre-existing unused exports/types (follow-up to #607) #682

Description

@scottschreckengaust

Follow-up to #607 (PR #673).

After #673 re-greened the dead-code ratchet, the knip baseline holds at 85 — all of it pre-existing drift, no longer masked by the devDep/false-positive noise:

category count
`exports` 44
`types` 41

Why this matters

The ratchet job (`check:deadcode-ratchet`) is advisory / non-blocking today (`continue-on-error: true`). Its stated milestone is to "flip to blocking once the baseline is driven to zero." Because it is non-blocking, roughly 7 genuine unused export/type regressions drifted into `main` unnoticed inside the +13 that #607 reconciled. Every merge that adds dead code under a non-blocking gate pushes the flip-to-blocking milestone further out.

Ask

Chip the 85 down over one or more scoped PRs, lowering `knip-baseline.json` `count` in the same PR each time to lock in the gain (per the baseline's own guidance). Removing unused exports/types requires per-symbol analysis — some may be public API surface or referenced dynamically — so this is deliberately not a single bulk-delete.

Reproduce the current list:

```
node_modules/.bin/knip --reporter json | jq '[.issues[] | {file, exports: (.exports // [] | map(.name)), types: (.types // [] | map(.name))}] | map(select((.exports|length)>0 or (.types|length)>0))'
```

Once the count reaches 0, drop `continue-on-error: true` from the ratchet CI job to make it blocking.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions