@knip/mcp 0.0.18 → 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/package.json +17 -17
  2. package/src/docs/blog/for-editors-and-agents.md +47 -43
  3. package/src/docs/blog/knip-v3.mdx +1 -1
  4. package/src/docs/blog/knip-v4.mdx +2 -2
  5. package/src/docs/blog/two-years.mdx +1 -1
  6. package/src/docs/explanations/comparison-and-migration.md +4 -0
  7. package/src/docs/explanations/plugins.md +38 -10
  8. package/src/docs/features/auto-fix.mdx +22 -7
  9. package/src/docs/features/monorepos-and-workspaces.md +19 -4
  10. package/src/docs/features/production-mode.md +1 -1
  11. package/src/docs/features/reporters.md +9 -7
  12. package/src/docs/guides/configuring-project-files.md +13 -13
  13. package/src/docs/guides/contributing.md +1 -1
  14. package/src/docs/guides/handling-issues.mdx +183 -121
  15. package/src/docs/guides/issue-reproduction.md +21 -12
  16. package/src/docs/guides/performance.md +19 -8
  17. package/src/docs/guides/troubleshooting.md +7 -10
  18. package/src/docs/guides/using-knip-in-ci.md +16 -20
  19. package/src/docs/index.mdx +3 -3
  20. package/src/docs/overview/configuration.md +6 -6
  21. package/src/docs/overview/features.md +5 -5
  22. package/src/docs/overview/getting-started.mdx +15 -5
  23. package/src/docs/reference/cli.md +269 -243
  24. package/src/docs/reference/configuration.md +24 -7
  25. package/src/docs/reference/faq.md +111 -59
  26. package/src/docs/reference/jsdoc-tsdoc-tags.md +12 -1
  27. package/src/docs/reference/known-issues.md +43 -21
  28. package/src/docs/reference/plugins.md +15 -1
  29. package/src/docs/reference/related-tooling.md +3 -3
  30. package/src/docs/sponsors.mdx +3 -4
  31. package/src/docs/typescript/unused-exports.md +1 -1
  32. package/src/docs/writing-a-plugin/index.md +17 -4
  33. package/src/tools.js +3 -9
  34. package/src/docs/docs/blog/brief-history.md +0 -30
  35. package/src/docs/docs/blog/for-editors-and-agents.md +0 -131
  36. package/src/docs/docs/blog/knip-v3.mdx +0 -88
  37. package/src/docs/docs/blog/knip-v4.mdx +0 -149
  38. package/src/docs/docs/blog/knip-v5.mdx +0 -190
  39. package/src/docs/docs/blog/migration-to-v1.md +0 -65
  40. package/src/docs/docs/blog/release-notes-v2.md +0 -46
  41. package/src/docs/docs/blog/slim-down-to-speed-up.md +0 -269
  42. package/src/docs/docs/blog/state-of-knip.md +0 -191
  43. package/src/docs/docs/blog/two-years.mdx +0 -107
  44. package/src/docs/docs/explanations/comparison-and-migration.md +0 -129
  45. package/src/docs/docs/explanations/entry-files.md +0 -70
  46. package/src/docs/docs/explanations/plugins.md +0 -329
  47. package/src/docs/docs/explanations/why-use-knip.md +0 -128
  48. package/src/docs/docs/features/auto-fix.mdx +0 -348
  49. package/src/docs/docs/features/compilers.md +0 -172
  50. package/src/docs/docs/features/integrated-monorepos.md +0 -61
  51. package/src/docs/docs/features/monorepos-and-workspaces.md +0 -149
  52. package/src/docs/docs/features/production-mode.md +0 -95
  53. package/src/docs/docs/features/reporters.md +0 -304
  54. package/src/docs/docs/features/rules-and-filters.md +0 -102
  55. package/src/docs/docs/features/script-parser.md +0 -156
  56. package/src/docs/docs/features/source-mapping.md +0 -100
  57. package/src/docs/docs/guides/configuring-project-files.md +0 -205
  58. package/src/docs/docs/guides/contributing.md +0 -24
  59. package/src/docs/docs/guides/handling-issues.mdx +0 -708
  60. package/src/docs/docs/guides/issue-reproduction.md +0 -102
  61. package/src/docs/docs/guides/namespace-imports.md +0 -125
  62. package/src/docs/docs/guides/performance.md +0 -108
  63. package/src/docs/docs/guides/troubleshooting.md +0 -133
  64. package/src/docs/docs/guides/using-knip-in-ci.md +0 -50
  65. package/src/docs/docs/guides/working-with-commonjs.md +0 -72
  66. package/src/docs/docs/index.mdx +0 -160
  67. package/src/docs/docs/overview/configuration.md +0 -104
  68. package/src/docs/docs/overview/features.md +0 -66
  69. package/src/docs/docs/overview/getting-started.mdx +0 -205
  70. package/src/docs/docs/overview/screenshots-videos.md +0 -42
  71. package/src/docs/docs/playground.mdx +0 -38
  72. package/src/docs/docs/reference/cli.md +0 -511
  73. package/src/docs/docs/reference/configuration.md +0 -430
  74. package/src/docs/docs/reference/dynamic-configuration.mdx +0 -72
  75. package/src/docs/docs/reference/faq.md +0 -432
  76. package/src/docs/docs/reference/issue-types.md +0 -43
  77. package/src/docs/docs/reference/jsdoc-tsdoc-tags.md +0 -122
  78. package/src/docs/docs/reference/known-issues.md +0 -86
  79. package/src/docs/docs/reference/plugins/.gitkeep +0 -0
  80. package/src/docs/docs/reference/plugins/angular.md +0 -33
  81. package/src/docs/docs/reference/plugins/astro-db.md +0 -34
  82. package/src/docs/docs/reference/plugins/astro-og-canvas.md +0 -13
  83. package/src/docs/docs/reference/plugins/astro.md +0 -43
  84. package/src/docs/docs/reference/plugins/ava.md +0 -46
  85. package/src/docs/docs/reference/plugins/babel.md +0 -38
  86. package/src/docs/docs/reference/plugins/biome.md +0 -34
  87. package/src/docs/docs/reference/plugins/bumpp.md +0 -38
  88. package/src/docs/docs/reference/plugins/bun.md +0 -13
  89. package/src/docs/docs/reference/plugins/c8.md +0 -26
  90. package/src/docs/docs/reference/plugins/capacitor.md +0 -35
  91. package/src/docs/docs/reference/plugins/changelogen.md +0 -38
  92. package/src/docs/docs/reference/plugins/changelogithub.md +0 -38
  93. package/src/docs/docs/reference/plugins/changesets.md +0 -33
  94. package/src/docs/docs/reference/plugins/commitizen.md +0 -35
  95. package/src/docs/docs/reference/plugins/commitlint.md +0 -39
  96. package/src/docs/docs/reference/plugins/convex.md +0 -34
  97. package/src/docs/docs/reference/plugins/create-typescript-app.md +0 -33
  98. package/src/docs/docs/reference/plugins/cspell.md +0 -36
  99. package/src/docs/docs/reference/plugins/cucumber.md +0 -36
  100. package/src/docs/docs/reference/plugins/cypress.md +0 -40
  101. package/src/docs/docs/reference/plugins/danger.md +0 -33
  102. package/src/docs/docs/reference/plugins/dependency-cruiser.md +0 -44
  103. package/src/docs/docs/reference/plugins/docusaurus.md +0 -39
  104. package/src/docs/docs/reference/plugins/dotenv.md +0 -24
  105. package/src/docs/docs/reference/plugins/drizzle.md +0 -33
  106. package/src/docs/docs/reference/plugins/eleventy.md +0 -38
  107. package/src/docs/docs/reference/plugins/eslint.md +0 -74
  108. package/src/docs/docs/reference/plugins/expo.md +0 -38
  109. package/src/docs/docs/reference/plugins/expressive-code.md +0 -39
  110. package/src/docs/docs/reference/plugins/gatsby.md +0 -46
  111. package/src/docs/docs/reference/plugins/github-action.md +0 -33
  112. package/src/docs/docs/reference/plugins/github-actions.md +0 -34
  113. package/src/docs/docs/reference/plugins/glob.md +0 -26
  114. package/src/docs/docs/reference/plugins/graphql-codegen.md +0 -43
  115. package/src/docs/docs/reference/plugins/hardhat.md +0 -33
  116. package/src/docs/docs/reference/plugins/husky.md +0 -37
  117. package/src/docs/docs/reference/plugins/i18next-parser.md +0 -44
  118. package/src/docs/docs/reference/plugins/jest.md +0 -50
  119. package/src/docs/docs/reference/plugins/karma.md +0 -36
  120. package/src/docs/docs/reference/plugins/knex.md +0 -33
  121. package/src/docs/docs/reference/plugins/ladle.md +0 -40
  122. package/src/docs/docs/reference/plugins/lefthook.md +0 -43
  123. package/src/docs/docs/reference/plugins/lint-staged.md +0 -45
  124. package/src/docs/docs/reference/plugins/linthtml.md +0 -38
  125. package/src/docs/docs/reference/plugins/lockfile-lint.md +0 -38
  126. package/src/docs/docs/reference/plugins/lost-pixel.md +0 -33
  127. package/src/docs/docs/reference/plugins/markdownlint.md +0 -34
  128. package/src/docs/docs/reference/plugins/mdx.md +0 -37
  129. package/src/docs/docs/reference/plugins/mdxlint.md +0 -35
  130. package/src/docs/docs/reference/plugins/metro.md +0 -46
  131. package/src/docs/docs/reference/plugins/mocha.md +0 -48
  132. package/src/docs/docs/reference/plugins/moonrepo.md +0 -35
  133. package/src/docs/docs/reference/plugins/msw.md +0 -36
  134. package/src/docs/docs/reference/plugins/nano-staged.md +0 -36
  135. package/src/docs/docs/reference/plugins/nest.md +0 -38
  136. package/src/docs/docs/reference/plugins/netlify.md +0 -42
  137. package/src/docs/docs/reference/plugins/next-intl.md +0 -33
  138. package/src/docs/docs/reference/plugins/next-mdx.md +0 -36
  139. package/src/docs/docs/reference/plugins/next.md +0 -53
  140. package/src/docs/docs/reference/plugins/nitro.md +0 -50
  141. package/src/docs/docs/reference/plugins/node-modules-inspector.md +0 -45
  142. package/src/docs/docs/reference/plugins/node.md +0 -48
  143. package/src/docs/docs/reference/plugins/nodemon.md +0 -27
  144. package/src/docs/docs/reference/plugins/npm-package-json-lint.md +0 -38
  145. package/src/docs/docs/reference/plugins/nuxt.md +0 -49
  146. package/src/docs/docs/reference/plugins/nx.md +0 -57
  147. package/src/docs/docs/reference/plugins/nyc.md +0 -36
  148. package/src/docs/docs/reference/plugins/oclif.md +0 -33
  149. package/src/docs/docs/reference/plugins/oxlint.md +0 -44
  150. package/src/docs/docs/reference/plugins/parcel.md +0 -37
  151. package/src/docs/docs/reference/plugins/playwright-ct.md +0 -39
  152. package/src/docs/docs/reference/plugins/playwright-test.md +0 -26
  153. package/src/docs/docs/reference/plugins/playwright.md +0 -49
  154. package/src/docs/docs/reference/plugins/plop.md +0 -33
  155. package/src/docs/docs/reference/plugins/pnpm.md +0 -33
  156. package/src/docs/docs/reference/plugins/postcss.md +0 -43
  157. package/src/docs/docs/reference/plugins/preconstruct.md +0 -33
  158. package/src/docs/docs/reference/plugins/prettier.md +0 -36
  159. package/src/docs/docs/reference/plugins/prisma.md +0 -55
  160. package/src/docs/docs/reference/plugins/react-cosmos.md +0 -39
  161. package/src/docs/docs/reference/plugins/react-router.md +0 -34
  162. package/src/docs/docs/reference/plugins/relay.md +0 -52
  163. package/src/docs/docs/reference/plugins/release-it.md +0 -34
  164. package/src/docs/docs/reference/plugins/remark.md +0 -37
  165. package/src/docs/docs/reference/plugins/remix.md +0 -40
  166. package/src/docs/docs/reference/plugins/rollup.md +0 -47
  167. package/src/docs/docs/reference/plugins/rsbuild.md +0 -33
  168. package/src/docs/docs/reference/plugins/rslib.md +0 -33
  169. package/src/docs/docs/reference/plugins/rspack.md +0 -33
  170. package/src/docs/docs/reference/plugins/rstest.md +0 -33
  171. package/src/docs/docs/reference/plugins/semantic-release.md +0 -38
  172. package/src/docs/docs/reference/plugins/sentry.md +0 -35
  173. package/src/docs/docs/reference/plugins/simple-git-hooks.md +0 -35
  174. package/src/docs/docs/reference/plugins/size-limit.md +0 -35
  175. package/src/docs/docs/reference/plugins/sst.md +0 -33
  176. package/src/docs/docs/reference/plugins/starlight.md +0 -33
  177. package/src/docs/docs/reference/plugins/storybook.md +0 -44
  178. package/src/docs/docs/reference/plugins/stryker.md +0 -33
  179. package/src/docs/docs/reference/plugins/stylelint.md +0 -38
  180. package/src/docs/docs/reference/plugins/svelte.md +0 -34
  181. package/src/docs/docs/reference/plugins/sveltekit.md +0 -33
  182. package/src/docs/docs/reference/plugins/svgo.md +0 -37
  183. package/src/docs/docs/reference/plugins/svgr.md +0 -40
  184. package/src/docs/docs/reference/plugins/swc.md +0 -33
  185. package/src/docs/docs/reference/plugins/syncpack.md +0 -38
  186. package/src/docs/docs/reference/plugins/tailwind.md +0 -33
  187. package/src/docs/docs/reference/plugins/tanstack-router.md +0 -48
  188. package/src/docs/docs/reference/plugins/taskfile.md +0 -40
  189. package/src/docs/docs/reference/plugins/travis.md +0 -33
  190. package/src/docs/docs/reference/plugins/ts-node.md +0 -27
  191. package/src/docs/docs/reference/plugins/tsdown.md +0 -45
  192. package/src/docs/docs/reference/plugins/tsup.md +0 -45
  193. package/src/docs/docs/reference/plugins/tsx.md +0 -46
  194. package/src/docs/docs/reference/plugins/typedoc.md +0 -49
  195. package/src/docs/docs/reference/plugins/typescript.md +0 -50
  196. package/src/docs/docs/reference/plugins/unbuild.md +0 -33
  197. package/src/docs/docs/reference/plugins/unocss.md +0 -36
  198. package/src/docs/docs/reference/plugins/vercel-og.md +0 -38
  199. package/src/docs/docs/reference/plugins/vike.md +0 -34
  200. package/src/docs/docs/reference/plugins/vite.md +0 -48
  201. package/src/docs/docs/reference/plugins/vitepress.md +0 -34
  202. package/src/docs/docs/reference/plugins/vitest.md +0 -50
  203. package/src/docs/docs/reference/plugins/vue.md +0 -33
  204. package/src/docs/docs/reference/plugins/webdriver-io.md +0 -33
  205. package/src/docs/docs/reference/plugins/webpack.md +0 -48
  206. package/src/docs/docs/reference/plugins/wireit.md +0 -33
  207. package/src/docs/docs/reference/plugins/wrangler.md +0 -33
  208. package/src/docs/docs/reference/plugins/xo.md +0 -40
  209. package/src/docs/docs/reference/plugins/yarn.md +0 -33
  210. package/src/docs/docs/reference/plugins/yorkie.md +0 -33
  211. package/src/docs/docs/reference/plugins.md +0 -140
  212. package/src/docs/docs/reference/related-tooling.md +0 -46
  213. package/src/docs/docs/sponsors.mdx +0 -64
  214. package/src/docs/docs/typescript/unused-dependencies.md +0 -86
  215. package/src/docs/docs/typescript/unused-exports.md +0 -87
  216. package/src/docs/docs/writing-a-plugin/argument-parsing.md +0 -202
  217. package/src/docs/docs/writing-a-plugin/index.md +0 -392
  218. package/src/docs/docs/writing-a-plugin/inputs.md +0 -162
  219. package/src/docs/reference/plugins/angular.md +0 -33
  220. package/src/docs/reference/plugins/astro-db.md +0 -34
  221. package/src/docs/reference/plugins/astro.md +0 -43
  222. package/src/docs/reference/plugins/ava.md +0 -46
  223. package/src/docs/reference/plugins/babel.md +0 -38
  224. package/src/docs/reference/plugins/biome.md +0 -34
  225. package/src/docs/reference/plugins/bumpp.md +0 -38
  226. package/src/docs/reference/plugins/bun.md +0 -33
  227. package/src/docs/reference/plugins/c8.md +0 -26
  228. package/src/docs/reference/plugins/capacitor.md +0 -35
  229. package/src/docs/reference/plugins/changelogen.md +0 -38
  230. package/src/docs/reference/plugins/changelogithub.md +0 -38
  231. package/src/docs/reference/plugins/changesets.md +0 -33
  232. package/src/docs/reference/plugins/commitizen.md +0 -35
  233. package/src/docs/reference/plugins/commitlint.md +0 -39
  234. package/src/docs/reference/plugins/convex.md +0 -34
  235. package/src/docs/reference/plugins/create-typescript-app.md +0 -33
  236. package/src/docs/reference/plugins/cspell.md +0 -36
  237. package/src/docs/reference/plugins/cucumber.md +0 -36
  238. package/src/docs/reference/plugins/cypress.md +0 -40
  239. package/src/docs/reference/plugins/danger.md +0 -33
  240. package/src/docs/reference/plugins/dependency-cruiser.md +0 -44
  241. package/src/docs/reference/plugins/docusaurus.md +0 -39
  242. package/src/docs/reference/plugins/dotenv.md +0 -24
  243. package/src/docs/reference/plugins/drizzle.md +0 -33
  244. package/src/docs/reference/plugins/eleventy.md +0 -38
  245. package/src/docs/reference/plugins/eslint.md +0 -74
  246. package/src/docs/reference/plugins/expo.md +0 -38
  247. package/src/docs/reference/plugins/gatsby.md +0 -46
  248. package/src/docs/reference/plugins/github-action.md +0 -33
  249. package/src/docs/reference/plugins/github-actions.md +0 -34
  250. package/src/docs/reference/plugins/glob.md +0 -26
  251. package/src/docs/reference/plugins/graphql-codegen.md +0 -43
  252. package/src/docs/reference/plugins/hardhat.md +0 -33
  253. package/src/docs/reference/plugins/husky.md +0 -37
  254. package/src/docs/reference/plugins/i18next-parser.md +0 -44
  255. package/src/docs/reference/plugins/jest.md +0 -50
  256. package/src/docs/reference/plugins/karma.md +0 -36
  257. package/src/docs/reference/plugins/ladle.md +0 -40
  258. package/src/docs/reference/plugins/lefthook.md +0 -43
  259. package/src/docs/reference/plugins/lint-staged.md +0 -45
  260. package/src/docs/reference/plugins/linthtml.md +0 -38
  261. package/src/docs/reference/plugins/lockfile-lint.md +0 -38
  262. package/src/docs/reference/plugins/lost-pixel.md +0 -33
  263. package/src/docs/reference/plugins/markdownlint.md +0 -34
  264. package/src/docs/reference/plugins/mdx.md +0 -37
  265. package/src/docs/reference/plugins/mdxlint.md +0 -35
  266. package/src/docs/reference/plugins/metro.md +0 -46
  267. package/src/docs/reference/plugins/mocha.md +0 -48
  268. package/src/docs/reference/plugins/moonrepo.md +0 -35
  269. package/src/docs/reference/plugins/msw.md +0 -36
  270. package/src/docs/reference/plugins/nano-staged.md +0 -36
  271. package/src/docs/reference/plugins/nest.md +0 -38
  272. package/src/docs/reference/plugins/netlify.md +0 -42
  273. package/src/docs/reference/plugins/next-intl.md +0 -33
  274. package/src/docs/reference/plugins/next-mdx.md +0 -36
  275. package/src/docs/reference/plugins/next.md +0 -53
  276. package/src/docs/reference/plugins/node-modules-inspector.md +0 -45
  277. package/src/docs/reference/plugins/node.md +0 -48
  278. package/src/docs/reference/plugins/nodemon.md +0 -27
  279. package/src/docs/reference/plugins/npm-package-json-lint.md +0 -38
  280. package/src/docs/reference/plugins/nuxt.md +0 -49
  281. package/src/docs/reference/plugins/nx.md +0 -57
  282. package/src/docs/reference/plugins/nyc.md +0 -36
  283. package/src/docs/reference/plugins/oclif.md +0 -33
  284. package/src/docs/reference/plugins/oxlint.md +0 -44
  285. package/src/docs/reference/plugins/playwright-ct.md +0 -39
  286. package/src/docs/reference/plugins/playwright-test.md +0 -26
  287. package/src/docs/reference/plugins/playwright.md +0 -49
  288. package/src/docs/reference/plugins/plop.md +0 -33
  289. package/src/docs/reference/plugins/pnpm.md +0 -33
  290. package/src/docs/reference/plugins/postcss.md +0 -43
  291. package/src/docs/reference/plugins/preconstruct.md +0 -33
  292. package/src/docs/reference/plugins/prettier.md +0 -36
  293. package/src/docs/reference/plugins/prisma.md +0 -55
  294. package/src/docs/reference/plugins/react-cosmos.md +0 -39
  295. package/src/docs/reference/plugins/react-router.md +0 -34
  296. package/src/docs/reference/plugins/relay.md +0 -52
  297. package/src/docs/reference/plugins/release-it.md +0 -34
  298. package/src/docs/reference/plugins/remark.md +0 -37
  299. package/src/docs/reference/plugins/remix.md +0 -40
  300. package/src/docs/reference/plugins/rollup.md +0 -47
  301. package/src/docs/reference/plugins/rsbuild.md +0 -33
  302. package/src/docs/reference/plugins/rslib.md +0 -33
  303. package/src/docs/reference/plugins/rspack.md +0 -33
  304. package/src/docs/reference/plugins/rstest.md +0 -33
  305. package/src/docs/reference/plugins/semantic-release.md +0 -38
  306. package/src/docs/reference/plugins/sentry.md +0 -35
  307. package/src/docs/reference/plugins/simple-git-hooks.md +0 -35
  308. package/src/docs/reference/plugins/size-limit.md +0 -36
  309. package/src/docs/reference/plugins/sst.md +0 -33
  310. package/src/docs/reference/plugins/starlight.md +0 -33
  311. package/src/docs/reference/plugins/storybook.md +0 -44
  312. package/src/docs/reference/plugins/stryker.md +0 -33
  313. package/src/docs/reference/plugins/stylelint.md +0 -38
  314. package/src/docs/reference/plugins/svelte.md +0 -37
  315. package/src/docs/reference/plugins/svgo.md +0 -37
  316. package/src/docs/reference/plugins/svgr.md +0 -40
  317. package/src/docs/reference/plugins/swc.md +0 -33
  318. package/src/docs/reference/plugins/syncpack.md +0 -38
  319. package/src/docs/reference/plugins/tailwind.md +0 -33
  320. package/src/docs/reference/plugins/taskfile.md +0 -34
  321. package/src/docs/reference/plugins/travis.md +0 -33
  322. package/src/docs/reference/plugins/ts-node.md +0 -27
  323. package/src/docs/reference/plugins/tsdown.md +0 -45
  324. package/src/docs/reference/plugins/tsup.md +0 -45
  325. package/src/docs/reference/plugins/tsx.md +0 -46
  326. package/src/docs/reference/plugins/typedoc.md +0 -49
  327. package/src/docs/reference/plugins/typescript.md +0 -50
  328. package/src/docs/reference/plugins/unbuild.md +0 -33
  329. package/src/docs/reference/plugins/unocss.md +0 -36
  330. package/src/docs/reference/plugins/vercel-og.md +0 -38
  331. package/src/docs/reference/plugins/vike.md +0 -34
  332. package/src/docs/reference/plugins/vite.md +0 -48
  333. package/src/docs/reference/plugins/vitest.md +0 -50
  334. package/src/docs/reference/plugins/vue.md +0 -33
  335. package/src/docs/reference/plugins/webdriver-io.md +0 -33
  336. package/src/docs/reference/plugins/webpack.md +0 -48
  337. package/src/docs/reference/plugins/wireit.md +0 -33
  338. package/src/docs/reference/plugins/wrangler.md +0 -33
  339. package/src/docs/reference/plugins/xo.md +0 -40
  340. package/src/docs/reference/plugins/yarn.md +0 -33
  341. package/src/docs/reference/plugins/yorkie.md +0 -33
  342. /package/src/docs/{docs/reference → reference}/configuration-hints.md +0 -0
  343. /package/src/docs/{docs/reference → reference}/integrations.md +0 -0
@@ -1,86 +0,0 @@
1
- ---
2
- title: Unused dependencies
3
- description: Find and remove unused dependencies with Knip
4
- prev: false
5
- next: false
6
- ---
7
-
8
- One of Knip's core features is finding unused dependencies in your JavaScript
9
- and TypeScript projects. And it comes with many more features to remove clutter
10
- and keep your projects in great shape.
11
-
12
- ## Why are unused dependencies a problem?
13
-
14
- Having unused dependencies in your `package.json` is an issue for various
15
- reasons:
16
-
17
- - They might end up in the final production bundle, increasing size and load
18
- times for end users.
19
- - They waste space in `node_modules` and add to the installation time of the
20
- project.
21
- - They slow down tooling such as linters and bundlers that analyze dependencies.
22
- - They are confusing and noisy in `package.json`.
23
- - They cause unnecessary extra work when managing and upgrading dependencies.
24
- - They can cause version conflicts with other dependencies in use.
25
- - They can cause false security alerts.
26
- - They might have restrictive licenses and make your project subject to theirs.
27
- - They usually come with transitive dependencies that have the same issues.
28
-
29
- ## How do I find unused dependencies?
30
-
31
- Use Knip to find and remove unused dependencies. It also finds dependencies that
32
- are missing in `package.json` and has a lot more features to keep your
33
- JavaScript and TypeScript projects tidy.
34
-
35
- It's easy to [get started][1] and make package management easier and more fun!
36
-
37
- <div style="display: flex; justify-content: center; margin: 4rem auto;">
38
- <img src="/logo.svg" alt="Logo of Knip, to find unused dependencies, exports and files" class="logo-border" />
39
- </div>
40
-
41
- ## How does Knip identify unused dependencies?
42
-
43
- Knip works by analyzing `package.json` files, source code and configuration
44
- files for other tooling in the project to find unused and missing dependencies.
45
- Knip has many heuristics, [plugins][2] and [compilers][3] to fully automate the
46
- process.
47
-
48
- ## Can Knip remove unused dependencies?
49
-
50
- Yes, Knip can automatically remove unused dependencies installed by a package
51
- manager like npm or pnpm for you. Add the `--fix` argument to [auto-fix][4] and
52
- remove unused dependencies from `package.json`.
53
-
54
- ## Can Knip detect missing dependencies?
55
-
56
- Yes, Knip detects missing dependencies. It analyzes `package.json` files, and
57
- reports packages that are missing. They should be added to `package.json` to
58
- avoid relying on transitive dependencies that can cause version mismatches and
59
- breakage.
60
-
61
- ## Does Knip work with monorepos?
62
-
63
- Yes, Knip has first-class support for [monorepos and workspaces][5]. It analyzes
64
- all workspaces in the project and understands their relationship.
65
-
66
- For instance, if a dependency is listed in the root `package.json` it does not
67
- need to be listed in other workspaces. Except if you enable `--strict` checking.
68
-
69
- ## Does Knip separate dependencies and devDependencies?
70
-
71
- Yes, Knip understands the difference between dependencies and devDependencies.
72
- It has a [production mode][6] to focus on production code only and find dead
73
- code and dependencies that would otherwise only be referenced by tests and other
74
- tooling. This allows you to remove both unused exported code and their tests.
75
-
76
- ## Does Knip work with my package manager?
77
-
78
- Yes, Knip works with any package manager: npm, pnpm, Bun and Yarn are all
79
- supported. It's easy to [get started][1] with any package manager.
80
-
81
- [1]: ../overview/getting-started.mdx
82
- [2]: ../reference/plugins.md
83
- [3]: ../features/compilers.md
84
- [4]: ../features/auto-fix.mdx
85
- [5]: ../features/monorepos-and-workspaces.md
86
- [6]: ../features/production-mode.md
@@ -1,87 +0,0 @@
1
- ---
2
- title: Unused exports
3
- description: Find and remove unused exports with Knip
4
- prev: false
5
- next: false
6
- ---
7
-
8
- Finding unused exports in your JavaScript and TypeScript projects is one of
9
- Knip's core features. And it comes with even more features to identify and
10
- remove clutter to keep your projects in great shape.
11
-
12
- ## Why are unused exports a problem?
13
-
14
- Having unused exports in your codebase is problematic for several reasons:
15
-
16
- - They increase bundle sizes if not properly eliminated by tree-shaking.
17
- - They clutter the codebase and make it harder to navigate and understand.
18
- - They mislead developers into thinking certain code is used when it's not.
19
- - They make refactoring and maintaining the codebase more difficult.
20
- - They slow down tooling that analyze the codebase, such as bundlers, linters
21
- and type checkers.
22
- - They may represent dead code that is no longer needed but hasn't been cleaned
23
- up.
24
-
25
- ## How do I find unused exports?
26
-
27
- Knip is a powerful tool that can help you find and remove unused exports in your
28
- JavaScript and TypeScript projects. It analyzes the codebase, identifies exports
29
- that are not imported anywhere, and reports them.
30
-
31
- [Get started and install Knip][1] to run it on your project. Knip will scan your
32
- files and provide a detailed report of unused exports, and much more.
33
-
34
- <div style="display: flex; justify-content: center; margin: 4rem auto;">
35
- <img src="/logo.svg" alt="Logo of Knip, to find unused dependencies, exports and files" class="logo-border" />
36
- </div>
37
-
38
- ## How does Knip identify unused exports?
39
-
40
- Knip performs both static and dynamic analysis to determine which exports are
41
- actually being used in your codebase. It looks at import statements, export
42
- usage, and [a lot more code patterns][2] to identify unused exports.
43
-
44
- Knip supports JavaScript and TypeScript projects, and handles both [CommonJS][3]
45
- and ES Modules syntax.
46
-
47
- ## Can Knip remove unused exports?
48
-
49
- Yes, Knip not only finds unused exports but can also remove them for you. Run
50
- Knip with the `--fix` flag to enable [the auto-fix feature][4], and it will
51
- modify your source code and remove the unused exports.
52
-
53
- It's always recommended to review the changes made by Knip before committing
54
- them to ensure no unintended modifications were made.
55
-
56
- ## Can Knip handle large codebases?
57
-
58
- Absolutely. Knip supports [monorepos with workspaces][5] and utilizes [workspace
59
- sharing][6] to efficiently analyze large monorepos. This makes it easier and
60
- more fun to manage and optimize large multi-package projects.
61
-
62
- ## Does Knip work with my favorite editor or IDE?
63
-
64
- Knip is a command-line tool that runs independently of your editor or IDE.
65
- However, if you run Knip inside an integrated IDE terminal, the report contains
66
- file names and positions in a format IDEs like VS Code and WebStorm understand
67
- to easily navigate around.
68
-
69
- ## How is Knip different from ESLint for finding unused exports?
70
-
71
- While linters like ESLint can find unused imports and variables within
72
- individual files, Knip analyzes the entire project to determine which exports
73
- are actually unused. By building [a comprehensive module graph][7], Knip
74
- identifies exports that are not imported or used anywhere in the codebase. This
75
- allows Knip to catch unused exports and dead code that ESLint and other linters
76
- would miss.
77
-
78
- Also see [Why isn't Knip an ESLint plugin?][8]
79
-
80
- [1]: ../overview/getting-started.mdx
81
- [2]: ../reference/faq.md#what-does-knip-look-for-in-source-files
82
- [3]: ../guides/working-with-commonjs.md
83
- [4]: ../features/auto-fix.mdx
84
- [5]: ../features/monorepos-and-workspaces.md
85
- [6]: ../guides/performance.md#workspace-sharing
86
- [7]: ../reference/faq.md#whats-in-the-graphs
87
- [8]: ../reference/faq.md#why-isnt-knip-an-eslint-plugin
@@ -1,202 +0,0 @@
1
- ---
2
- title: Argument Parsing
3
- sidebar:
4
- order: 3
5
- ---
6
-
7
- Some plugins have an `arg` object in their implementation. It's a way for
8
- plugins to customize how command-line arguments are parsed for their tool's
9
- executables. Argument parsing in plugins help Knip identify dependencies and
10
- entry files from scripts.
11
-
12
- Knip uses [minimist][1] for argument parsing and some options are identical
13
- ([alias][2], [boolean][3], [string][4]).
14
-
15
- Also see [type definitions][5] and [examples in existing plugins][6].
16
-
17
- - [alias][2]
18
- - [args][7]
19
- - [binaries][8]
20
- - [boolean][3]
21
- - [config][9]
22
- - [fromArgs][10]
23
- - [nodeImportArgs][11]
24
- - [positional][12]
25
- - [resolve][13]
26
- - [resolveInputs][14]
27
- - [string][4]
28
-
29
- ## alias
30
-
31
- Define aliases.
32
-
33
- Example:
34
-
35
- ```ts
36
- {
37
- require: ['r'];
38
- }
39
- ```
40
-
41
- Also see [nodeImportArgs][11].
42
-
43
- ## args
44
-
45
- Modify or filter arguments before parsing. For edge cases preprocessing is
46
- useful, e.g. if minimist has trouble parsing or to modify/discard arguments.
47
-
48
- Example:
49
-
50
- ```ts
51
- {
52
- args: (args: string[]) => args.filter(arg => arg !== 'omit');
53
- }
54
- ```
55
-
56
- ## binaries
57
-
58
- Executables for the dependency.
59
-
60
- Example:
61
-
62
- ```ts
63
- {
64
- binaries: ['tsc'];
65
- }
66
- ```
67
-
68
- Default: plugin name, e.g. for the ESLint plugin the value is `["eslint"]`
69
-
70
- ## boolean
71
-
72
- Mark arguments as boolean. By default, arguments are expected to have string
73
- values.
74
-
75
- ## config
76
-
77
- Define arguments that contain the configuration file path. Usually you'll want
78
- to set aliases too. Use `true` for shorthand to set `alias` + `string` +
79
- `config`.
80
-
81
- Example:
82
-
83
- ```ts
84
- {
85
- config: true;
86
- }
87
- ```
88
-
89
- The `tsup` plugin has this. Now `tsup --config tsup.client.json` will have
90
- `tsup.client.json` go through `resolveConfig` (also `-c` alias).
91
-
92
- Example:
93
-
94
- ```ts
95
- {
96
- config: ['p'];
97
- }
98
- ```
99
-
100
- This will mark e.g. `tsc -p tsconfig.lib.json` as a configuration file and it
101
- will be handled by `resolveConfig` of the (typescript) plugin.
102
-
103
- ## fromArgs
104
-
105
- Parse return value as a new script. Can be a an array of strings, or function
106
- that returns an array of strings and those values will be parsed separately.
107
-
108
- Example:
109
-
110
- ```ts
111
- {
112
- fromArgs: ['exec'];
113
- }
114
- ```
115
-
116
- Then this script:
117
-
118
- ```sh
119
- nodemon --exec "node index.js"
120
- ```
121
-
122
- Will have `"node index.js"` being parsed as a new script.
123
-
124
- ## nodeImportArgs
125
-
126
- Set to `true` as a shorthand for this [alias][2]:
127
-
128
- ```ts
129
- {
130
- import: ['r', 'experimental-loader', 'require', 'loader']
131
- }
132
- ```
133
-
134
- Example:
135
-
136
- ```ts
137
- {
138
- nodeImportArgs: true;
139
- }
140
- ```
141
-
142
- ## positional
143
-
144
- Set to `true` to use the first positional argument as an entry point.
145
-
146
- Example:
147
-
148
- ```ts
149
- {
150
- positional: true;
151
- }
152
- ```
153
-
154
- The `tsx` plugin has this and `"tsx script.ts"` as a script will result in the
155
- `script.ts` file being an entry point.
156
-
157
- ## resolve
158
-
159
- List of arguments to resolve to a dependency or entry file path.
160
-
161
- Example:
162
-
163
- ```ts
164
- {
165
- resolve: ['plugin'];
166
- }
167
- ```
168
-
169
- Now for a script like `"program --plugin package"` this will result in
170
- `"package"` being resolved as a dependency.
171
-
172
- ## resolveInputs
173
-
174
- Return inputs from parsed arguments
175
-
176
- ```ts
177
- {
178
- resolveInputs: (parsed: ParsedArgs) =>
179
- parsed['flag'] ? [toDependency('package')] : [];
180
- }
181
- ```
182
-
183
- ## string
184
-
185
- Mark arguments as string. This is the default, but number-looking arguments are
186
- returned as numbers by minimist.
187
-
188
- [1]: https://www.npmjs.com/package/minimist
189
- [2]: #alias
190
- [3]: #boolean
191
- [4]: #string
192
- [5]: https://github.com/webpro-nl/knip/blob/main/packages/knip/src/types/args.ts
193
- [6]:
194
- https://github.com/search?q=repo%3Awebpro-nl%2Fknip++path%3Apackages%2Fknip%2Fsrc%2Fplugins+%22const+args+%3D%22&type=code
195
- [7]: #args
196
- [8]: #binaries
197
- [9]: #config
198
- [10]: #fromargs
199
- [11]: #nodeimportargs
200
- [12]: #positional
201
- [13]: #resolve
202
- [14]: #resolveinputs