SuperAPI AI 工具集

knip dead code detection

编程与开发

查看项目

更新于 10-16 11:19

技能介绍

用途:Knip 用于在 JavaScript/TypeScript 项目中查找未使用的代码与依赖,帮助保持代码库整洁并在死代码累积前发现它们。

主要能力:检测未使用的依赖(npm、工作区包)、未使用的导出与类型、未使用的文件、未使用的枚举成员和类成员、未被使用的再导出。具备插件系统,支持 React、Next.js、Vue、Svelte、Vite、Remix、Astro、SvelteKit、Nuxt 等框架,以及 Vitest、Jest、Playwright、Cypress 等测试运行器与 ESLint、TypeScript、PostCSS、Tailwind 等构建工具。支持 monorepo/工作区,输出带文件位置的可执行报告,并提供用于 CI 的退出码。

使用方式:安装推荐项目本地执行 bun add --dev knip,全局执行为 bun add --global knip,验证安装用 bunx knip --version。基本运行 bunx knip,可按需使用 --dependencies、--exports、--files、--production、--exclude-exports-used-in-file、--reporter json、--debug 等参数。配置可用 knip.json 或 knip.ts,也可零配置自动检测入口、框架、测试运行器与构建工具;支持 ignore、ignoreDependencies、ignoreBinaries、workspaces 等字段与内联注释(如 @knip-ignore-export、@knip-ignore-dependency)。可集成 GitHub Actions、GitLab CI 与 pre-commit 钩子。

适用场景:检查未使用依赖、库开发时清理未使用导出、生产模式检查、monorepo 工作区检查、增量检查与 CI 严格构建。

限制:资料未提供收费、价格与效果保证等说明;如遇误报可通过配置忽略或加入入口点,性能问题可调整内存或排除规则。