✨ Add knip for unused dependency and dead code detection
- Add check:knip using --include dependencies,exports,files (skips the noisy 'types' category, which produces false positives for libraries whose exported types are part of the public API) - Remove tslib and type-fest (both caught as unused by knip) - Add 'knip' to cspell word list - No knip config file: the --include flag keeps the scope targeted without boilerplate, matching the 'keep it simple' principle - Document in project-specs.md (CHECK section) and README.md
This commit is contained in:
1 parent
3fa72820df
commit
ec98223f8d
5 files changed
+947
-37
No files matched your search
@@ -17,6 +17,7 @@ Pattern matching for TypeScript/ESM environments (F#-style, not regex).
|
||||
- **oxlint** — Rust-based linter.
|
||||
- **oxfmt** — Rust-based formatter (Prettier-compatible). Formats JS/TS, JSON/JSONC, YAML, Markdown, MDX, and more; built-in `package.json` key sorting replaces `sort-package-json`.
|
||||
- **cspell** — spell checking.
|
||||
- **knip** — finds unused dependencies, exports, and files. Scoped via `--include dependencies,exports,files` to skip the noisy `types` category (which produces false positives for libraries whose exported types are part of the public API).
|
||||
- **publint** — validates `package.json` for ESM publishing correctness. Runs on publish only (in CI), not as part of `npm run check`.
|
||||
- **@arethetypeswrong/cli** (`attw`) — validates `.d.ts` declarations against multiple module-resolution scenarios. Runs on publish only with `--profile esm-only` (the package is intentionally ESM-only).
|
||||
- **lefthook** — git pre-commit hooks.
|
||||
|
||||
Reference in new issue
Block a user