knip 6.36.0 → 6.37.0

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 (52) hide show
  1. package/dist/ConfigurationChief.d.ts +8 -2
  2. package/dist/ConfigurationChief.js +15 -1
  3. package/dist/DependencyDeputy.d.ts +0 -2
  4. package/dist/DependencyDeputy.js +1 -17
  5. package/dist/WorkspaceWorker.js +1 -2
  6. package/dist/binaries/bash-parser.js +1 -1
  7. package/dist/binaries/command.js +20 -9
  8. package/dist/binaries/fallback.js +5 -4
  9. package/dist/binaries/plugins.js +4 -4
  10. package/dist/binaries/resolvers/bun.js +2 -2
  11. package/dist/binaries/resolvers/find.js +5 -4
  12. package/dist/binaries/resolvers/index.d.ts +2 -1
  13. package/dist/binaries/resolvers/index.js +3 -2
  14. package/dist/binaries/resolvers/npm.js +46 -4
  15. package/dist/binaries/resolvers/npx.js +8 -4
  16. package/dist/binaries/resolvers/nub.js +3 -2
  17. package/dist/binaries/resolvers/pnpm.js +17 -10
  18. package/dist/binaries/resolvers/yarn.js +1 -1
  19. package/dist/binaries/util.d.ts +4 -1
  20. package/dist/binaries/util.js +2 -0
  21. package/dist/manifest/index.js +1 -3
  22. package/dist/plugins/ava/index.js +1 -1
  23. package/dist/plugins/eslint/helpers.d.ts +2 -1
  24. package/dist/plugins/eslint/helpers.js +28 -8
  25. package/dist/plugins/eslint/index.js +2 -2
  26. package/dist/plugins/github-actions/index.js +1 -1
  27. package/dist/plugins/graphql-codegen/index.js +15 -4
  28. package/dist/plugins/graphql-codegen/types.d.ts +11 -1
  29. package/dist/plugins/graphql-codegen/types.js +6 -0
  30. package/dist/plugins/husky/index.js +1 -1
  31. package/dist/plugins/lefthook/index.js +1 -1
  32. package/dist/plugins/mise/scripts.js +5 -5
  33. package/dist/plugins/taskfile/index.js +1 -1
  34. package/dist/plugins/tauri/index.js +1 -1
  35. package/dist/plugins/travis/index.js +1 -1
  36. package/dist/plugins/vite-plus/resolveFromAST.js +1 -1
  37. package/dist/schema/configuration.d.ts +3 -0
  38. package/dist/schema/configuration.js +2 -0
  39. package/dist/types/config.d.ts +4 -1
  40. package/dist/types/package-json.d.ts +1 -1
  41. package/dist/util/create-input-handler.js +3 -3
  42. package/dist/util/create-options.d.ts +8 -2
  43. package/dist/util/jiti.js +1 -0
  44. package/dist/util/modules.d.ts +2 -0
  45. package/dist/util/modules.js +3 -1
  46. package/dist/util/package-json.d.ts +185 -185
  47. package/dist/util/parse-args.d.ts +2 -0
  48. package/dist/util/parse-args.js +6 -1
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/package.json +5 -5
  52. package/schema.json +12 -0
@@ -160,197 +160,197 @@ export declare const getPublishedTypeManifest: (manifest: PackageJson) => {
160
160
  catalogs?: import("../types/package-json.ts").Catalogs;
161
161
  packageManager?: string;
162
162
  engines?: Record<string, string>;
163
- pnpm: {
163
+ pnpm?: {
164
164
  overrides?: {
165
165
  [x: string]: string;
166
166
  };
167
167
  packageExtensions?: import("../types/package-json.ts").PackageExtensions;
168
168
  };
169
169
  knip?: import("../types/config.ts").WorkspaceConfiguration;
170
- angular: unknown;
171
- astro: unknown;
172
- "astro-db": unknown;
173
- "astro-markdoc": unknown;
174
- "astro-og-canvas": unknown;
175
- ava: unknown;
176
- babel: unknown;
177
- biome: unknown;
178
- borp: unknown;
179
- bumpp: unknown;
180
- bun: unknown;
181
- c8: unknown;
182
- capacitor: unknown;
183
- catalyst: unknown;
184
- changelogen: unknown;
185
- changelogithub: unknown;
186
- changesets: unknown;
187
- commitizen: unknown;
188
- commitlint: unknown;
189
- convex: unknown;
190
- "create-typescript-app": unknown;
191
- cspell: unknown;
192
- cucumber: unknown;
193
- cypress: unknown;
194
- danger: unknown;
195
- "dependency-cruiser": unknown;
196
- docusaurus: unknown;
197
- dotenv: unknown;
198
- drizzle: unknown;
199
- "electron-vite": unknown;
200
- eleventy: unknown;
201
- esbuild: unknown;
202
- eslint: unknown;
203
- eve: unknown;
204
- execa: unknown;
205
- expo: unknown;
206
- "expressive-code": unknown;
207
- fast: unknown;
208
- fumadocs: unknown;
209
- gatsby: unknown;
210
- "github-action": unknown;
211
- "github-actions": unknown;
212
- glob: unknown;
213
- "graphql-codegen": unknown;
214
- hardhat: unknown;
215
- husky: unknown;
216
- "i18next-parser": unknown;
217
- jest: unknown;
218
- karma: unknown;
219
- knex: unknown;
220
- ladle: unknown;
221
- "laravel-vite-plugin": unknown;
222
- lefthook: unknown;
223
- "lint-staged": unknown;
224
- linthtml: unknown;
225
- lit: unknown;
226
- "lockfile-lint": unknown;
227
- "lost-pixel": unknown;
228
- lunaria: unknown;
229
- markdownlint: unknown;
230
- marko: unknown;
231
- mdx: unknown;
232
- mdxlint: unknown;
233
- metro: unknown;
234
- mise: unknown;
235
- mocha: unknown;
236
- moonrepo: unknown;
237
- msw: unknown;
238
- "nano-spawn": unknown;
239
- "nano-staged": unknown;
240
- nest: unknown;
241
- netlify: unknown;
242
- next: unknown;
243
- "next-intl": unknown;
244
- "next-mdx": unknown;
245
- nitro: unknown;
246
- node: unknown;
247
- "node-modules-inspector": unknown;
248
- nodemon: unknown;
249
- "npm-package-json-lint": unknown;
250
- nuxt: unknown;
251
- "nuxtjs-i18n": unknown;
252
- nx: unknown;
253
- nyc: unknown;
254
- oclif: unknown;
255
- "openapi-ts": unknown;
256
- openclaw: unknown;
257
- orval: unknown;
258
- oxfmt: unknown;
259
- oxlint: unknown;
260
- "panda-css": unknown;
261
- parcel: unknown;
262
- payload: unknown;
263
- pino: unknown;
264
- playwright: unknown;
265
- "playwright-ct": unknown;
266
- "playwright-test": unknown;
267
- plop: unknown;
268
- pm2: unknown;
269
- postcss: unknown;
270
- "pre-commit": unknown;
271
- preconstruct: unknown;
272
- prettier: unknown;
273
- prisma: unknown;
274
- quasar: unknown;
275
- qwik: unknown;
276
- raycast: unknown;
277
- "react-cosmos": unknown;
278
- "react-email": unknown;
279
- "react-native": unknown;
280
- "react-router": unknown;
281
- relay: unknown;
282
- "release-it": unknown;
283
- remark: unknown;
284
- remix: unknown;
285
- rolldown: unknown;
286
- rollup: unknown;
287
- rsbuild: unknown;
288
- rslib: unknown;
289
- rspack: unknown;
290
- rstest: unknown;
291
- sanity: unknown;
292
- "semantic-release": unknown;
293
- sentry: unknown;
294
- "serverless-framework": unknown;
295
- "simple-git-hooks": unknown;
296
- "size-limit": unknown;
297
- sst: unknown;
298
- starlight: unknown;
299
- stencil: unknown;
300
- storybook: unknown;
301
- stryker: unknown;
302
- stylelint: unknown;
303
- svelte: unknown;
304
- "sveltejs-package": unknown;
305
- sveltekit: unknown;
306
- svgo: unknown;
307
- svgr: unknown;
308
- swc: unknown;
309
- syncpack: unknown;
310
- tailwind: unknown;
311
- "tanstack-router": unknown;
312
- taskfile: unknown;
313
- tauri: unknown;
314
- temporal: unknown;
315
- textlint: unknown;
316
- travis: unknown;
317
- "ts-node": unknown;
318
- tsd: unknown;
319
- tsdown: unknown;
320
- tsup: unknown;
321
- tsx: unknown;
322
- typedoc: unknown;
323
- typescript: unknown;
324
- unbuild: unknown;
325
- unocss: unknown;
326
- "unplugin-auto-import": unknown;
327
- "unplugin-icons": unknown;
328
- "unplugin-vue-components": unknown;
329
- "unplugin-vue-i18n": unknown;
330
- "unplugin-vue-markdown": unknown;
331
- "unplugin-vue-router": unknown;
332
- varlock: unknown;
333
- vercel: unknown;
334
- "vercel-og": unknown;
335
- vike: unknown;
336
- vite: unknown;
337
- "vite-plugin-pages": unknown;
338
- "vite-plugin-pwa": unknown;
339
- "vite-plugin-vue-layouts-next": unknown;
340
- "vite-plus": unknown;
341
- "vite-pwa-assets-generator": unknown;
342
- vitepress: unknown;
343
- vitest: unknown;
344
- vue: unknown;
345
- "webdriver-io": unknown;
346
- webpack: unknown;
347
- wireit: unknown;
348
- wrangler: unknown;
349
- wxt: unknown;
350
- xo: unknown;
351
- yarn: unknown;
352
- yorkie: unknown;
353
- zx: unknown;
170
+ angular?: unknown;
171
+ astro?: unknown;
172
+ "astro-db"?: unknown;
173
+ "astro-markdoc"?: unknown;
174
+ "astro-og-canvas"?: unknown;
175
+ ava?: unknown;
176
+ babel?: unknown;
177
+ biome?: unknown;
178
+ borp?: unknown;
179
+ bumpp?: unknown;
180
+ bun?: unknown;
181
+ c8?: unknown;
182
+ capacitor?: unknown;
183
+ catalyst?: unknown;
184
+ changelogen?: unknown;
185
+ changelogithub?: unknown;
186
+ changesets?: unknown;
187
+ commitizen?: unknown;
188
+ commitlint?: unknown;
189
+ convex?: unknown;
190
+ "create-typescript-app"?: unknown;
191
+ cspell?: unknown;
192
+ cucumber?: unknown;
193
+ cypress?: unknown;
194
+ danger?: unknown;
195
+ "dependency-cruiser"?: unknown;
196
+ docusaurus?: unknown;
197
+ dotenv?: unknown;
198
+ drizzle?: unknown;
199
+ "electron-vite"?: unknown;
200
+ eleventy?: unknown;
201
+ esbuild?: unknown;
202
+ eslint?: unknown;
203
+ eve?: unknown;
204
+ execa?: unknown;
205
+ expo?: unknown;
206
+ "expressive-code"?: unknown;
207
+ fast?: unknown;
208
+ fumadocs?: unknown;
209
+ gatsby?: unknown;
210
+ "github-action"?: unknown;
211
+ "github-actions"?: unknown;
212
+ glob?: unknown;
213
+ "graphql-codegen"?: unknown;
214
+ hardhat?: unknown;
215
+ husky?: unknown;
216
+ "i18next-parser"?: unknown;
217
+ jest?: unknown;
218
+ karma?: unknown;
219
+ knex?: unknown;
220
+ ladle?: unknown;
221
+ "laravel-vite-plugin"?: unknown;
222
+ lefthook?: unknown;
223
+ "lint-staged"?: unknown;
224
+ linthtml?: unknown;
225
+ lit?: unknown;
226
+ "lockfile-lint"?: unknown;
227
+ "lost-pixel"?: unknown;
228
+ lunaria?: unknown;
229
+ markdownlint?: unknown;
230
+ marko?: unknown;
231
+ mdx?: unknown;
232
+ mdxlint?: unknown;
233
+ metro?: unknown;
234
+ mise?: unknown;
235
+ mocha?: unknown;
236
+ moonrepo?: unknown;
237
+ msw?: unknown;
238
+ "nano-spawn"?: unknown;
239
+ "nano-staged"?: unknown;
240
+ nest?: unknown;
241
+ netlify?: unknown;
242
+ next?: unknown;
243
+ "next-intl"?: unknown;
244
+ "next-mdx"?: unknown;
245
+ nitro?: unknown;
246
+ node?: unknown;
247
+ "node-modules-inspector"?: unknown;
248
+ nodemon?: unknown;
249
+ "npm-package-json-lint"?: unknown;
250
+ nuxt?: unknown;
251
+ "nuxtjs-i18n"?: unknown;
252
+ nx?: unknown;
253
+ nyc?: unknown;
254
+ oclif?: unknown;
255
+ "openapi-ts"?: unknown;
256
+ openclaw?: unknown;
257
+ orval?: unknown;
258
+ oxfmt?: unknown;
259
+ oxlint?: unknown;
260
+ "panda-css"?: unknown;
261
+ parcel?: unknown;
262
+ payload?: unknown;
263
+ pino?: unknown;
264
+ playwright?: unknown;
265
+ "playwright-ct"?: unknown;
266
+ "playwright-test"?: unknown;
267
+ plop?: unknown;
268
+ pm2?: unknown;
269
+ postcss?: unknown;
270
+ "pre-commit"?: unknown;
271
+ preconstruct?: unknown;
272
+ prettier?: unknown;
273
+ prisma?: unknown;
274
+ quasar?: unknown;
275
+ qwik?: unknown;
276
+ raycast?: unknown;
277
+ "react-cosmos"?: unknown;
278
+ "react-email"?: unknown;
279
+ "react-native"?: unknown;
280
+ "react-router"?: unknown;
281
+ relay?: unknown;
282
+ "release-it"?: unknown;
283
+ remark?: unknown;
284
+ remix?: unknown;
285
+ rolldown?: unknown;
286
+ rollup?: unknown;
287
+ rsbuild?: unknown;
288
+ rslib?: unknown;
289
+ rspack?: unknown;
290
+ rstest?: unknown;
291
+ sanity?: unknown;
292
+ "semantic-release"?: unknown;
293
+ sentry?: unknown;
294
+ "serverless-framework"?: unknown;
295
+ "simple-git-hooks"?: unknown;
296
+ "size-limit"?: unknown;
297
+ sst?: unknown;
298
+ starlight?: unknown;
299
+ stencil?: unknown;
300
+ storybook?: unknown;
301
+ stryker?: unknown;
302
+ stylelint?: unknown;
303
+ svelte?: unknown;
304
+ "sveltejs-package"?: unknown;
305
+ sveltekit?: unknown;
306
+ svgo?: unknown;
307
+ svgr?: unknown;
308
+ swc?: unknown;
309
+ syncpack?: unknown;
310
+ tailwind?: unknown;
311
+ "tanstack-router"?: unknown;
312
+ taskfile?: unknown;
313
+ tauri?: unknown;
314
+ temporal?: unknown;
315
+ textlint?: unknown;
316
+ travis?: unknown;
317
+ "ts-node"?: unknown;
318
+ tsd?: unknown;
319
+ tsdown?: unknown;
320
+ tsup?: unknown;
321
+ tsx?: unknown;
322
+ typedoc?: unknown;
323
+ typescript?: unknown;
324
+ unbuild?: unknown;
325
+ unocss?: unknown;
326
+ "unplugin-auto-import"?: unknown;
327
+ "unplugin-icons"?: unknown;
328
+ "unplugin-vue-components"?: unknown;
329
+ "unplugin-vue-i18n"?: unknown;
330
+ "unplugin-vue-markdown"?: unknown;
331
+ "unplugin-vue-router"?: unknown;
332
+ varlock?: unknown;
333
+ vercel?: unknown;
334
+ "vercel-og"?: unknown;
335
+ vike?: unknown;
336
+ vite?: unknown;
337
+ "vite-plugin-pages"?: unknown;
338
+ "vite-plugin-pwa"?: unknown;
339
+ "vite-plugin-vue-layouts-next"?: unknown;
340
+ "vite-plus"?: unknown;
341
+ "vite-pwa-assets-generator"?: unknown;
342
+ vitepress?: unknown;
343
+ vitest?: unknown;
344
+ vue?: unknown;
345
+ "webdriver-io"?: unknown;
346
+ webpack?: unknown;
347
+ wireit?: unknown;
348
+ wrangler?: unknown;
349
+ wxt?: unknown;
350
+ xo?: unknown;
351
+ yarn?: unknown;
352
+ yorkie?: unknown;
353
+ zx?: unknown;
354
354
  };
355
355
  export declare const getPublishedTypeExportSpecifiers: (exports: PackageJson['exports']) => Set<string>;
356
356
  export declare const getPublishedTypeEntrySpecifiers: (manifest: PackageJson) => {
@@ -3,9 +3,11 @@ type ParsedValue = any;
3
3
  export interface ParsedArgs {
4
4
  _: string[];
5
5
  '--'?: string[];
6
+ positionalIndices?: number[];
6
7
  [key: string]: ParsedValue;
7
8
  }
8
9
  interface Opts {
10
+ isStorePositions?: boolean;
9
11
  string?: string[];
10
12
  boolean?: string[];
11
13
  alias?: Record<string, string | string[]>;
@@ -52,6 +52,7 @@ const parseArgs = (input, opts = {}) => {
52
52
  }
53
53
  const { tokens } = nodeParseArgs({ args, strict: false, allowPositionals: true, tokens: true });
54
54
  const positionals = [];
55
+ const positionalIndices = opts.isStorePositions ? [] : undefined;
55
56
  const dd = [];
56
57
  const store = new Map();
57
58
  const consumed = new Set();
@@ -76,8 +77,10 @@ const parseArgs = (input, opts = {}) => {
76
77
  else if (token.kind === 'positional') {
77
78
  if (terminated && opts['--'])
78
79
  dd.push(token.value);
79
- else if (!consumed.has(i))
80
+ else if (!consumed.has(i)) {
80
81
  positionals.push(coerce(token.value));
82
+ positionalIndices?.push(token.index);
83
+ }
81
84
  }
82
85
  else if (token.value === undefined && token.rawName.startsWith('--no-')) {
83
86
  set(token.name.slice(3), false);
@@ -114,6 +117,8 @@ const parseArgs = (input, opts = {}) => {
114
117
  }
115
118
  if (opts['--'])
116
119
  result['--'] = dd;
120
+ if (positionalIndices)
121
+ result.positionalIndices = positionalIndices;
117
122
  return result;
118
123
  };
119
124
  export default parseArgs;
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "6.36.0";
1
+ export declare const version = "6.37.0";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const version = '6.36.0';
1
+ export const version = '6.37.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knip",
3
- "version": "6.36.0",
3
+ "version": "6.37.0",
4
4
  "description": "Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects",
5
5
  "keywords": [
6
6
  "analysis",
@@ -85,25 +85,25 @@
85
85
  "formatly": "^0.7.0",
86
86
  "get-tsconfig": "4.14.3",
87
87
  "jiti": "^2.7.0",
88
- "oxc-parser": "^0.148.0",
88
+ "oxc-parser": "^0.150.0",
89
89
  "oxc-resolver": "11.24.2",
90
90
  "picomatch": "^4.0.7",
91
91
  "smol-toml": "^1.8.0",
92
92
  "strip-json-comments": "5.0.3",
93
93
  "tinyglobby": "^0.2.17",
94
94
  "unbash": "^4.0.11",
95
- "yaml": "^2.9.0",
95
+ "yaml": "^2.9.1",
96
96
  "zod": "^4.4.3"
97
97
  },
98
98
  "devDependencies": {
99
99
  "@jest/types": "^30.5.1",
100
- "@types/bun": "^1.4.1",
100
+ "@types/bun": "^1.4.2",
101
101
  "@types/picomatch": "^4.0.3",
102
102
  "codeclimate-types": "^0.3.1",
103
103
  "prettier": "^3.9.6",
104
104
  "tsx": "^4.23.13",
105
105
  "typescript": "7.0.2",
106
- "webpack": "^5.110.3"
106
+ "webpack": "^5.111.0"
107
107
  },
108
108
  "engines": {
109
109
  "node": "^20.19.0 || >=22.12.0"
package/schema.json CHANGED
@@ -24,6 +24,9 @@
24
24
  "ignoreBinaries": {
25
25
  "$ref": "#/definitions/ignoreBinaries"
26
26
  },
27
+ "ignoreGlobalBinaries": {
28
+ "$ref": "#/definitions/ignoreGlobalBinaries"
29
+ },
27
30
  "ignoreDependencies": {
28
31
  "$ref": "#/definitions/ignoreDependencies"
29
32
  },
@@ -203,6 +206,12 @@
203
206
  "examples": ["rm", "docker-compose", "curl"],
204
207
  "$ref": "#/definitions/list"
205
208
  },
209
+ "ignoreGlobalBinaries": {
210
+ "title": "Ignore common global binaries",
211
+ "description": "Set to false to report required binaries otherwise excluded by Knip's default list. Explicit ignoreBinaries entries still apply.",
212
+ "type": "boolean",
213
+ "default": true
214
+ },
206
215
  "ignoreDependencies": {
207
216
  "title": "Dependencies to exclude from the report (regex allowed)",
208
217
  "examples": ["husky", "lint-staged"],
@@ -347,6 +356,9 @@
347
356
  "ignoreBinaries": {
348
357
  "$ref": "#/definitions/ignoreBinaries"
349
358
  },
359
+ "ignoreGlobalBinaries": {
360
+ "$ref": "#/definitions/ignoreGlobalBinaries"
361
+ },
350
362
  "ignoreDependencies": {
351
363
  "$ref": "#/definitions/ignoreDependencies"
352
364
  },