knip 5.63.1 → 5.64.1

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 (112) hide show
  1. package/dist/CacheConsultant.js +1 -1
  2. package/dist/ConfigurationChief.d.ts +20 -8
  3. package/dist/DependencyDeputy.js +5 -4
  4. package/dist/IssueCollector.js +1 -1
  5. package/dist/IssueFixer.js +3 -1
  6. package/dist/ProjectPrincipal.d.ts +1 -1
  7. package/dist/ProjectPrincipal.js +2 -2
  8. package/dist/WorkspaceWorker.d.ts +1 -1
  9. package/dist/WorkspaceWorker.js +2 -2
  10. package/dist/binaries/bash-parser.d.ts +1 -0
  11. package/dist/binaries/bash-parser.js +3 -0
  12. package/dist/binaries/fallback.js +3 -2
  13. package/dist/binaries/index.js +1 -1
  14. package/dist/binaries/package-manager/bun.js +1 -0
  15. package/dist/binaries/plugins.js +3 -1
  16. package/dist/cli.js +9 -9
  17. package/dist/compilers/index.d.ts +57 -30
  18. package/dist/compilers/index.js +1 -1
  19. package/dist/constants.js +2 -0
  20. package/dist/graph/analyze.js +7 -4
  21. package/dist/graph/build.js +9 -9
  22. package/dist/index.js +2 -2
  23. package/dist/manifest/index.js +1 -1
  24. package/dist/plugins/angular/index.js +2 -3
  25. package/dist/plugins/bumpp/index.d.ts +8 -0
  26. package/dist/plugins/bumpp/index.js +11 -0
  27. package/dist/plugins/changelogen/index.js +1 -1
  28. package/dist/plugins/changelogithub/index.js +1 -1
  29. package/dist/plugins/commitlint/index.js +1 -1
  30. package/dist/plugins/eslint/index.d.ts +7 -0
  31. package/dist/plugins/eslint/index.js +12 -0
  32. package/dist/plugins/glob/index.d.ts +0 -1
  33. package/dist/plugins/glob/index.js +0 -1
  34. package/dist/plugins/index.d.ts +19 -7
  35. package/dist/plugins/index.js +6 -2
  36. package/dist/plugins/karma/helpers.js +1 -1
  37. package/dist/plugins/lint-staged/index.js +1 -1
  38. package/dist/plugins/linthtml/index.js +1 -1
  39. package/dist/plugins/lockfile-lint/index.js +1 -1
  40. package/dist/plugins/node-modules-inspector/index.d.ts +0 -1
  41. package/dist/plugins/node-modules-inspector/index.js +1 -2
  42. package/dist/plugins/npm-package-json-lint/index.js +1 -1
  43. package/dist/plugins/nuxt/index.js +7 -1
  44. package/dist/plugins/nuxt/types.d.ts +1 -1
  45. package/dist/plugins/oxlint/index.d.ts +0 -1
  46. package/dist/plugins/oxlint/index.js +0 -1
  47. package/dist/plugins/playwright/index.d.ts +0 -1
  48. package/dist/plugins/playwright/index.js +0 -1
  49. package/dist/plugins/playwright-test/index.d.ts +0 -1
  50. package/dist/plugins/playwright-test/index.js +0 -1
  51. package/dist/plugins/pnpm/index.d.ts +1 -0
  52. package/dist/plugins/pnpm/index.js +5 -1
  53. package/dist/plugins/postcss/index.js +1 -1
  54. package/dist/plugins/prisma/index.d.ts +0 -1
  55. package/dist/plugins/prisma/index.js +0 -1
  56. package/dist/plugins/react-router/index.js +1 -1
  57. package/dist/plugins/rslib/index.js +1 -1
  58. package/dist/plugins/rstest/index.d.ts +10 -0
  59. package/dist/plugins/rstest/index.js +29 -0
  60. package/dist/plugins/rstest/types.d.ts +6 -0
  61. package/dist/plugins/rstest/types.js +1 -0
  62. package/dist/plugins/semantic-release/index.js +1 -1
  63. package/dist/plugins/size-limit/index.js +1 -1
  64. package/dist/plugins/stylelint/index.js +1 -1
  65. package/dist/plugins/syncpack/index.js +1 -1
  66. package/dist/plugins/ts-node/index.d.ts +0 -1
  67. package/dist/plugins/ts-node/index.js +0 -1
  68. package/dist/plugins/unocss/index.js +1 -1
  69. package/dist/plugins.d.ts +1 -1
  70. package/dist/reporters/githubActions.d.ts +3 -0
  71. package/dist/reporters/githubActions.js +94 -0
  72. package/dist/reporters/index.d.ts +1 -0
  73. package/dist/reporters/index.js +2 -0
  74. package/dist/reporters/json.js +1 -1
  75. package/dist/reporters/util/configuration-hints.d.ts +13 -1
  76. package/dist/reporters/util/configuration-hints.js +1 -0
  77. package/dist/schema/configuration.d.ts +1187 -6393
  78. package/dist/schema/configuration.js +54 -51
  79. package/dist/schema/plugins.d.ts +579 -2595
  80. package/dist/schema/plugins.js +6 -4
  81. package/dist/types/PluginNames.d.ts +2 -2
  82. package/dist/types/PluginNames.js +2 -0
  83. package/dist/types/args.d.ts +2 -0
  84. package/dist/types/config.d.ts +2 -2
  85. package/dist/types/exports.d.ts +1 -1
  86. package/dist/types/imports.d.ts +1 -1
  87. package/dist/types/module-graph.d.ts +5 -4
  88. package/dist/typescript/SourceFile.d.ts +2 -2
  89. package/dist/typescript/ast-helpers.d.ts +4 -0
  90. package/dist/typescript/ast-helpers.js +29 -0
  91. package/dist/typescript/find-internal-references.js +10 -1
  92. package/dist/typescript/get-imports-and-exports.js +28 -18
  93. package/dist/typescript/resolve-module-names.js +1 -1
  94. package/dist/typescript/visitors/dynamic-imports/importCall.js +6 -1
  95. package/dist/util/cli-arguments.d.ts +3 -2
  96. package/dist/util/cli-arguments.js +2 -2
  97. package/dist/util/create-options.d.ts +61 -35
  98. package/dist/util/create-options.js +1 -1
  99. package/dist/util/errors.d.ts +4 -4
  100. package/dist/util/errors.js +8 -8
  101. package/dist/util/file-entry-cache.js +1 -1
  102. package/dist/util/glob-core.js +1 -1
  103. package/dist/util/glob.js +1 -1
  104. package/dist/util/input.d.ts +1 -1
  105. package/dist/util/load-config.d.ts +2 -1
  106. package/dist/util/load-config.js +4 -4
  107. package/dist/util/loader.js +1 -1
  108. package/dist/util/modules.js +18 -7
  109. package/dist/version.d.ts +1 -1
  110. package/dist/version.js +1 -1
  111. package/package.json +18 -19
  112. package/schema.json +8 -0
@@ -1,8 +1,8 @@
1
- import { z } from 'zod';
1
+ import { z } from 'zod/mini';
2
2
  import { globSchema, pluginsSchema } from './plugins.js';
3
3
  const pathsSchema = z.record(z.string(), z.array(z.string()));
4
- const syncCompilerSchema = z.union([z.function().args(z.string(), z.string()).returns(z.string()), z.literal(true)]);
5
- const asyncCompilerSchema = z.function().args(z.string(), z.string()).returns(z.promise(z.string()));
4
+ const syncCompilerSchema = z.union([z.literal(true), z.custom()]);
5
+ const asyncCompilerSchema = z.custom();
6
6
  const compilerSchema = z.union([syncCompilerSchema, asyncCompilerSchema]);
7
7
  const compilersSchema = z.record(z.string(), compilerSchema);
8
8
  const stringOrRegexSchema = z.array(z.union([z.string(), z.instanceof(RegExp)]));
@@ -22,59 +22,62 @@ const issueTypeSchema = z.union([
22
22
  z.literal('enumMembers'),
23
23
  z.literal('classMembers'),
24
24
  ]);
25
- const rulesSchema = z.record(issueTypeSchema, z.enum(['error', 'warn', 'off']));
26
- const ignoreExportsUsedInFileSchema = z.union([
27
- z.boolean(),
28
- z.record(z.union([
29
- z.literal('class'),
30
- z.literal('enum'),
31
- z.literal('function'),
32
- z.literal('interface'),
33
- z.literal('member'),
34
- z.literal('type'),
35
- ]), z.boolean()),
36
- ]);
25
+ const rulesSchema = z.partialRecord(issueTypeSchema, z.enum(['error', 'warn', 'off']));
26
+ const ignoreExportsUsedInFileObjectSchema = z.strictObject({
27
+ class: z.optional(z.boolean()),
28
+ enum: z.optional(z.boolean()),
29
+ function: z.optional(z.boolean()),
30
+ interface: z.optional(z.boolean()),
31
+ member: z.optional(z.boolean()),
32
+ type: z.optional(z.boolean()),
33
+ });
34
+ const ignoreExportsUsedInFileSchema = z.union([z.boolean(), ignoreExportsUsedInFileObjectSchema]);
37
35
  const rootConfigurationSchema = z.object({
38
- $schema: z.string().optional(),
39
- rules: rulesSchema.optional(),
40
- entry: globSchema.optional(),
41
- project: globSchema.optional(),
42
- paths: pathsSchema.optional(),
43
- ignore: globSchema.optional(),
44
- ignoreBinaries: stringOrRegexSchema.optional(),
45
- ignoreDependencies: stringOrRegexSchema.optional(),
46
- ignoreMembers: stringOrRegexSchema.optional(),
47
- ignoreUnresolved: stringOrRegexSchema.optional(),
48
- ignoreExportsUsedInFile: ignoreExportsUsedInFileSchema.optional(),
49
- ignoreWorkspaces: z.array(z.string()).optional(),
50
- includeEntryExports: z.boolean().optional(),
51
- compilers: compilersSchema.optional(),
52
- syncCompilers: z.record(z.string(), syncCompilerSchema).optional(),
53
- asyncCompilers: z.record(z.string(), asyncCompilerSchema).optional(),
54
- tags: z.array(z.string()).optional(),
55
- treatConfigHintsAsErrors: z.boolean().optional(),
36
+ $schema: z.optional(z.string()),
37
+ rules: z.optional(rulesSchema),
38
+ entry: z.optional(globSchema),
39
+ project: z.optional(globSchema),
40
+ paths: z.optional(pathsSchema),
41
+ ignore: z.optional(globSchema),
42
+ ignoreBinaries: z.optional(stringOrRegexSchema),
43
+ ignoreDependencies: z.optional(stringOrRegexSchema),
44
+ ignoreMembers: z.optional(stringOrRegexSchema),
45
+ ignoreUnresolved: z.optional(stringOrRegexSchema),
46
+ ignoreExportsUsedInFile: z.optional(ignoreExportsUsedInFileSchema),
47
+ ignoreWorkspaces: z.optional(z.array(z.string())),
48
+ includeEntryExports: z.optional(z.boolean()),
49
+ compilers: z.optional(compilersSchema),
50
+ syncCompilers: z.optional(z.record(z.string(), syncCompilerSchema)),
51
+ asyncCompilers: z.optional(z.record(z.string(), asyncCompilerSchema)),
52
+ tags: z.optional(z.array(z.string())),
53
+ treatConfigHintsAsErrors: z.optional(z.boolean()),
56
54
  });
57
55
  const reportConfigSchema = z.object({
58
- include: z.array(issueTypeSchema).optional(),
59
- exclude: z.array(issueTypeSchema).optional(),
56
+ include: z.optional(z.array(issueTypeSchema)),
57
+ exclude: z.optional(z.array(issueTypeSchema)),
60
58
  });
61
59
  const baseWorkspaceConfigurationSchema = z.object({
62
- entry: globSchema.optional(),
63
- project: globSchema.optional(),
64
- paths: pathsSchema.optional(),
65
- ignore: globSchema.optional(),
66
- ignoreBinaries: stringOrRegexSchema.optional(),
67
- ignoreDependencies: stringOrRegexSchema.optional(),
68
- ignoreMembers: stringOrRegexSchema.optional(),
69
- ignoreUnresolved: stringOrRegexSchema.optional(),
70
- includeEntryExports: z.boolean().optional(),
60
+ entry: z.optional(globSchema),
61
+ project: z.optional(globSchema),
62
+ paths: z.optional(pathsSchema),
63
+ ignore: z.optional(globSchema),
64
+ ignoreBinaries: z.optional(stringOrRegexSchema),
65
+ ignoreDependencies: z.optional(stringOrRegexSchema),
66
+ ignoreMembers: z.optional(stringOrRegexSchema),
67
+ ignoreUnresolved: z.optional(stringOrRegexSchema),
68
+ includeEntryExports: z.optional(z.boolean()),
69
+ });
70
+ const partialPluginsSchema = z.partial(pluginsSchema);
71
+ const workspaceConfigurationSchema = z.strictObject({
72
+ ...baseWorkspaceConfigurationSchema.shape,
73
+ ...partialPluginsSchema.shape,
71
74
  });
72
- const workspaceConfigurationSchema = baseWorkspaceConfigurationSchema.merge(pluginsSchema.partial());
73
75
  const workspacesConfigurationSchema = z.object({
74
- workspaces: z.record(z.string(), workspaceConfigurationSchema).optional(),
76
+ workspaces: z.optional(z.record(z.string(), workspaceConfigurationSchema)),
77
+ });
78
+ export const knipConfigurationSchema = z.strictObject({
79
+ ...rootConfigurationSchema.shape,
80
+ ...reportConfigSchema.shape,
81
+ ...workspacesConfigurationSchema.shape,
82
+ ...partialPluginsSchema.shape,
75
83
  });
76
- export const knipConfigurationSchema = rootConfigurationSchema
77
- .merge(reportConfigSchema)
78
- .merge(workspacesConfigurationSchema)
79
- .merge(pluginsSchema.partial())
80
- .strict();