knip 6.36.0 → 6.38.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 (79) hide show
  1. package/dist/ConfigurationChief.d.ts +20 -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/compilers/compilers.js +1 -1
  22. package/dist/graph/analyze.js +16 -12
  23. package/dist/manifest/index.js +1 -3
  24. package/dist/plugins/ava/index.js +1 -1
  25. package/dist/plugins/eslint/helpers.d.ts +4 -1
  26. package/dist/plugins/eslint/helpers.js +42 -11
  27. package/dist/plugins/eslint/index.js +2 -2
  28. package/dist/plugins/eslint/resolveFromAST.js +12 -8
  29. package/dist/plugins/eve/index.js +26 -8
  30. package/dist/plugins/github-actions/index.js +1 -1
  31. package/dist/plugins/graphql-codegen/index.js +15 -4
  32. package/dist/plugins/graphql-codegen/types.d.ts +11 -1
  33. package/dist/plugins/graphql-codegen/types.js +6 -0
  34. package/dist/plugins/husky/index.js +1 -1
  35. package/dist/plugins/index.d.ts +2 -0
  36. package/dist/plugins/index.js +4 -0
  37. package/dist/plugins/lefthook/index.js +1 -1
  38. package/dist/plugins/mdx/index.d.ts +3 -0
  39. package/dist/plugins/mdx/index.js +16 -6
  40. package/dist/plugins/mise/scripts.js +5 -5
  41. package/dist/plugins/mocha/index.js +3 -1
  42. package/dist/plugins/mocha/types.d.ts +1 -0
  43. package/dist/plugins/oxlint/index.js +24 -8
  44. package/dist/plugins/oxlint/types.d.ts +1 -0
  45. package/dist/plugins/plop/index.js +2 -2
  46. package/dist/plugins/taskfile/index.js +1 -1
  47. package/dist/plugins/tauri/index.js +1 -1
  48. package/dist/plugins/travis/index.js +1 -1
  49. package/dist/plugins/turbo/index.d.ts +3 -0
  50. package/dist/plugins/turbo/index.js +23 -0
  51. package/dist/plugins/typescript/content-mappers.d.ts +4 -0
  52. package/dist/plugins/typescript/content-mappers.js +4 -0
  53. package/dist/plugins/typescript/index.js +14 -18
  54. package/dist/plugins/typescript-content-mapper/index.d.ts +3 -0
  55. package/dist/plugins/typescript-content-mapper/index.js +23 -0
  56. package/dist/plugins/typescript-content-mapper/types.d.ts +3 -0
  57. package/dist/plugins/typescript-content-mapper/types.js +1 -0
  58. package/dist/plugins/vite-plus/resolveFromAST.js +1 -1
  59. package/dist/schema/configuration.d.ts +33 -0
  60. package/dist/schema/configuration.js +2 -0
  61. package/dist/schema/plugins.d.ts +10 -0
  62. package/dist/schema/plugins.js +2 -0
  63. package/dist/types/PluginNames.d.ts +2 -2
  64. package/dist/types/PluginNames.js +2 -0
  65. package/dist/types/config.d.ts +4 -1
  66. package/dist/types/package-json.d.ts +1 -1
  67. package/dist/types/tsconfig-json.d.ts +1 -3
  68. package/dist/util/create-input-handler.js +3 -3
  69. package/dist/util/create-options.d.ts +28 -2
  70. package/dist/util/jiti.js +1 -0
  71. package/dist/util/modules.d.ts +2 -0
  72. package/dist/util/modules.js +3 -1
  73. package/dist/util/package-json.d.ts +187 -185
  74. package/dist/util/parse-args.d.ts +2 -0
  75. package/dist/util/parse-args.js +6 -1
  76. package/dist/version.d.ts +1 -1
  77. package/dist/version.js +1 -1
  78. package/package.json +5 -5
  79. package/schema.json +20 -0
@@ -97,7 +97,7 @@ const resolveConfig = async (localConfig, options) => {
97
97
  for (const task of Object.values(localConfig.tasks)) {
98
98
  for (const script of extractScriptsFromTask(task)) {
99
99
  for (const input of getInputsFromScripts([script], {
100
- knownBinsOnly: true,
100
+ optionalBinaries: true,
101
101
  containingFilePath: configFilePath,
102
102
  })) {
103
103
  if (isProduction)
@@ -26,7 +26,7 @@ const resolveConfig = async (localConfig, options) => {
26
26
  continue;
27
27
  const dir = typeof command === 'string' || !command.cwd ? options.cwd : join(options.cwd, command.cwd);
28
28
  const manifest = options.getManifest(dir) ?? options.manifest;
29
- for (const input of options.getInputsFromScripts(script, { knownBinsOnly: true, cwd: dir, manifest })) {
29
+ for (const input of options.getInputsFromScripts(script, { optionalBinaries: true, cwd: dir, manifest })) {
30
30
  inputs.push({ ...input, dir });
31
31
  }
32
32
  }
@@ -11,7 +11,7 @@ const resolveConfig = async (config, options) => {
11
11
  const beforeInstall = config.before_install ?? [];
12
12
  const beforeScript = config.before_script ?? [];
13
13
  const scripts = [beforeDeploy, beforeInstall, beforeScript].flat();
14
- return options.getInputsFromScripts(scripts, { knownBinsOnly: true });
14
+ return options.getInputsFromScripts(scripts, { optionalBinaries: true });
15
15
  };
16
16
  const plugin = {
17
17
  title,
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from '../../types/config.ts';
2
+ declare const plugin: Plugin;
3
+ export default plugin;
@@ -0,0 +1,23 @@
1
+ import { toEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ const title = 'Turborepo';
4
+ const enablers = ['turbo', '@turbo/gen'];
5
+ const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
6
+ const extensions = '{ts,js,cjs,mts,mjs}';
7
+ const entry = [`turbo/generators/config.${extensions}`];
8
+ const resolve = ({ cwd, rootCwd }) => (cwd === rootCwd ? [toEntry(`plopfile.${extensions}`)] : []);
9
+ const args = {
10
+ string: ['config'],
11
+ resolveInputs: parsed => (parsed._[0] === 'gen' || parsed._[0] === 'generate') && typeof parsed.config === 'string'
12
+ ? [toEntry(parsed.config)]
13
+ : [],
14
+ };
15
+ const plugin = {
16
+ title,
17
+ enablers,
18
+ isEnabled,
19
+ entry,
20
+ resolve,
21
+ args,
22
+ };
23
+ export default plugin;
@@ -0,0 +1,4 @@
1
+ import type { Input } from '../../util/input.ts';
2
+ type ResolveContentMapperOptions = (options: Record<string, unknown>) => Input[];
3
+ export declare const contentMapperResolvers: Map<string, ResolveContentMapperOptions>;
4
+ export {};
@@ -0,0 +1,4 @@
1
+ import { contentMappers as mdxContentMappers, resolveContentMapperOptions as resolveMdxOptions } from '../mdx/index.js';
2
+ export const contentMapperResolvers = new Map();
3
+ for (const name of mdxContentMappers)
4
+ contentMapperResolvers.set(name, resolveMdxOptions);
@@ -2,20 +2,22 @@ import { compact } from '../../util/array.js';
2
2
  import { toConfig, toDeferResolve, toDependency, toProductionDependency } from '../../util/input.js';
3
3
  import { join } from '../../util/path.js';
4
4
  import { hasDependency } from '../../util/plugin.js';
5
- import { toShellCommand } from '../../util/scripts.js';
5
+ import { contentMapperResolvers } from './content-mappers.js';
6
6
  const title = 'TypeScript';
7
7
  const enablers = ['typescript', '@typescript/native', '@typescript/native-preview'];
8
8
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
9
- const config = ['tsconfig.json', 'package.json'];
10
- const packageJsonPath = 'typescript.contentMapper';
11
- const resolveContentMapper = ({ exec }, options) => {
12
- if (!Array.isArray(exec) || exec.some(arg => typeof arg !== 'string'))
13
- return [];
14
- return options
15
- .getInputsFromScripts(toShellCommand(exec))
16
- .map(input => input.type === 'entry' || input.type === 'deferResolveEntry' ? { ...input, production: true } : input);
9
+ const config = ['tsconfig.json'];
10
+ const resolveContentMappers = (localConfig) => {
11
+ const inputs = [];
12
+ for (const { package: name, options } of localConfig.contentMappers ?? []) {
13
+ inputs.push(toDependency(name));
14
+ const resolveOptions = contentMapperResolvers.get(name);
15
+ if (resolveOptions && options)
16
+ inputs.push(...resolveOptions(options));
17
+ }
18
+ return inputs;
17
19
  };
18
- const resolveTsConfig = (localConfig, options) => {
20
+ const resolveConfig = (localConfig, options) => {
19
21
  const { compilerOptions } = localConfig;
20
22
  const extend = localConfig.extends
21
23
  ? [localConfig.extends]
@@ -25,7 +27,7 @@ const resolveTsConfig = (localConfig, options) => {
25
27
  const references = localConfig.references
26
28
  ?.filter(reference => reference.path.endsWith('.json'))
27
29
  .map(reference => toConfig('typescript', reference.path, { containingFilePath: options.configFilePath })) ?? [];
28
- const contentMappers = localConfig.contentMappers?.map(contentMapper => toDependency(contentMapper.package)) ?? [];
30
+ const contentMappers = resolveContentMappers(localConfig);
29
31
  if (!(compilerOptions && localConfig))
30
32
  return compact([...contentMappers, ...extend, ...references]);
31
33
  const jsx = (compilerOptions?.jsxImportSource ? [compilerOptions.jsxImportSource] : []).map(toProductionDependency);
@@ -43,25 +45,19 @@ const resolveTsConfig = (localConfig, options) => {
43
45
  ...jsx,
44
46
  ]);
45
47
  };
46
- const resolveConfig = (localConfig, options) => options.configFileName === 'package.json'
47
- ? resolveContentMapper(localConfig, options)
48
- : resolveTsConfig(localConfig, options);
49
48
  const args = {
50
49
  binaries: ['tsc', 'tsgo'],
51
50
  string: ['project'],
52
51
  alias: { project: ['p'] },
53
52
  config: [['project', (p) => (p.endsWith('.json') ? p : join(p, 'tsconfig.json'))]],
54
53
  };
55
- const note = `[What's up with that configurable tsconfig.json location?](/reference/faq#whats-up-with-that-configurable-tsconfigjson-location)
56
-
57
- In a content mapper package, the command in \`package.json#typescript.contentMapper.exec\` is resolved to a production entry.`;
54
+ const note = `[What's up with that configurable tsconfig.json location?](/reference/faq#whats-up-with-that-configurable-tsconfigjson-location)`;
58
55
  export const docs = { note };
59
56
  const plugin = {
60
57
  title,
61
58
  enablers,
62
59
  isEnabled,
63
60
  config,
64
- packageJsonPath,
65
61
  resolveConfig,
66
62
  args,
67
63
  };
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from '../../types/config.ts';
2
+ declare const plugin: Plugin;
3
+ export default plugin;
@@ -0,0 +1,23 @@
1
+ import { get } from '../../util/object.js';
2
+ import { toShellCommand } from '../../util/scripts.js';
3
+ const title = 'TypeScript Content Mapper';
4
+ const enablers = 'This plugin is enabled when `package.json#typescript.contentMapper` is present.';
5
+ const isEnabled = ({ manifest }) => Boolean(get(manifest, 'typescript.contentMapper'));
6
+ const packageJsonPath = 'typescript.contentMapper';
7
+ const config = ['package.json'];
8
+ const resolveConfig = ({ exec }, options) => {
9
+ if (!Array.isArray(exec) || exec.some(arg => typeof arg !== 'string'))
10
+ return [];
11
+ return options
12
+ .getInputsFromScripts(toShellCommand(exec))
13
+ .map(input => input.type === 'entry' || input.type === 'deferResolveEntry' ? { ...input, production: true } : input);
14
+ };
15
+ const plugin = {
16
+ title,
17
+ enablers,
18
+ isEnabled,
19
+ packageJsonPath,
20
+ config,
21
+ resolveConfig,
22
+ };
23
+ export default plugin;
@@ -0,0 +1,3 @@
1
+ export interface ContentMapperManifest {
2
+ exec?: string[];
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -30,7 +30,7 @@ export const resolveFromAST = (program, options) => {
30
30
  visitor.visit(program);
31
31
  const inputs = [];
32
32
  for (const command of commands) {
33
- for (const input of options.getInputsFromScripts(command, { knownBinsOnly: true }))
33
+ for (const input of options.getInputsFromScripts(command, { optionalBinaries: true }))
34
34
  inputs.push(input);
35
35
  }
36
36
  return inputs;
@@ -766,6 +766,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
766
766
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
767
767
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
768
768
  }, z.core.$strip>]>>;
769
+ turbo: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
770
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
771
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
772
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
773
+ }, z.core.$strip>]>>;
769
774
  typedoc: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
770
775
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
771
776
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -776,6 +781,11 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
776
781
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
777
782
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
778
783
  }, z.core.$strip>]>>;
784
+ 'typescript-content-mapper': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
785
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
786
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
787
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
788
+ }, z.core.$strip>]>>;
779
789
  unbuild: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
780
790
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
781
791
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -932,6 +942,7 @@ export declare const workspaceConfigurationSchema: z.ZodMiniObject<{
932
942
  ignore: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
933
943
  ignoreFiles: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
934
944
  ignoreBinaries: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
945
+ ignoreGlobalBinaries: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
935
946
  ignoreDependencies: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
936
947
  ignoreMembers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
937
948
  ignoreUnresolved: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
@@ -1707,6 +1718,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1707
1718
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1708
1719
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1709
1720
  }, z.core.$strip>]>>;
1721
+ turbo: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1722
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1723
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1724
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1725
+ }, z.core.$strip>]>>;
1710
1726
  typedoc: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1711
1727
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1712
1728
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1717,6 +1733,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1717
1733
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1718
1734
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1719
1735
  }, z.core.$strip>]>>;
1736
+ 'typescript-content-mapper': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1737
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1738
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1739
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1740
+ }, z.core.$strip>]>>;
1720
1741
  unbuild: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
1721
1742
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1722
1743
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -1879,6 +1900,7 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
1879
1900
  ignore: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1880
1901
  ignoreFiles: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
1881
1902
  ignoreBinaries: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
1903
+ ignoreGlobalBinaries: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
1882
1904
  ignoreDependencies: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
1883
1905
  ignoreMembers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
1884
1906
  ignoreUnresolved: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
@@ -2667,6 +2689,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
2667
2689
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2668
2690
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2669
2691
  }, z.core.$strip>]>>;
2692
+ turbo: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2693
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2694
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2695
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2696
+ }, z.core.$strip>]>>;
2670
2697
  typedoc: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2671
2698
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2672
2699
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -2677,6 +2704,11 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
2677
2704
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2678
2705
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2679
2706
  }, z.core.$strip>]>>;
2707
+ 'typescript-content-mapper': z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2708
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2709
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2710
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2711
+ }, z.core.$strip>]>>;
2680
2712
  unbuild: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
2681
2713
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2682
2714
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -2833,6 +2865,7 @@ export declare const knipConfigurationSchema: z.ZodMiniObject<{
2833
2865
  ignore: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2834
2866
  ignoreFiles: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
2835
2867
  ignoreBinaries: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
2868
+ ignoreGlobalBinaries: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
2836
2869
  ignoreDependencies: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
2837
2870
  ignoreMembers: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
2838
2871
  ignoreUnresolved: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniCustom<RegExp, RegExp>]>>>;
@@ -42,6 +42,7 @@ const rootConfigurationSchema = z.object({
42
42
  ignore: z.optional(globSchema),
43
43
  ignoreFiles: z.optional(globSchema),
44
44
  ignoreBinaries: z.optional(stringOrRegexSchema),
45
+ ignoreGlobalBinaries: z.optional(z.boolean()),
45
46
  ignoreDependencies: z.optional(stringOrRegexSchema),
46
47
  ignoreMembers: z.optional(stringOrRegexSchema),
47
48
  ignoreUnresolved: z.optional(stringOrRegexSchema),
@@ -69,6 +70,7 @@ const baseWorkspaceConfigurationSchema = z.object({
69
70
  ignore: z.optional(globSchema),
70
71
  ignoreFiles: z.optional(globSchema),
71
72
  ignoreBinaries: z.optional(stringOrRegexSchema),
73
+ ignoreGlobalBinaries: z.optional(z.boolean()),
72
74
  ignoreDependencies: z.optional(stringOrRegexSchema),
73
75
  ignoreMembers: z.optional(stringOrRegexSchema),
74
76
  ignoreUnresolved: z.optional(stringOrRegexSchema),
@@ -771,6 +771,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
771
771
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
772
772
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
773
773
  }, z.core.$strip>]>;
774
+ turbo: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
775
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
776
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
777
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
778
+ }, z.core.$strip>]>;
774
779
  typedoc: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
775
780
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
776
781
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -781,6 +786,11 @@ export declare const pluginsSchema: z.ZodMiniObject<{
781
786
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
782
787
  project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
783
788
  }, z.core.$strip>]>;
789
+ 'typescript-content-mapper': z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
790
+ config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
791
+ entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
792
+ project: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
793
+ }, z.core.$strip>]>;
784
794
  unbuild: z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>, z.ZodMiniObject<{
785
795
  config: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
786
796
  entry: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
@@ -163,8 +163,10 @@ export const pluginsSchema = z.object({
163
163
  tsdown: pluginSchema,
164
164
  tsup: pluginSchema,
165
165
  tsx: pluginSchema,
166
+ turbo: pluginSchema,
166
167
  typedoc: pluginSchema,
167
168
  typescript: pluginSchema,
169
+ 'typescript-content-mapper': pluginSchema,
168
170
  unbuild: pluginSchema,
169
171
  unocss: pluginSchema,
170
172
  'unplugin-auto-import': pluginSchema,
@@ -1,2 +1,2 @@
1
- export type PluginName = 'angular' | 'astro' | 'astro-db' | 'astro-markdoc' | 'astro-og-canvas' | 'ava' | 'babel' | 'biome' | 'borp' | 'bumpp' | 'bun' | 'c8' | 'capacitor' | 'catalyst' | 'changelogen' | 'changelogithub' | 'changesets' | 'commitizen' | 'commitlint' | 'convex' | 'create-typescript-app' | 'cspell' | 'cucumber' | 'cypress' | 'danger' | 'dependency-cruiser' | 'docusaurus' | 'dotenv' | 'drizzle' | 'electron-vite' | 'eleventy' | 'esbuild' | 'eslint' | 'eve' | 'execa' | 'expo' | 'expressive-code' | 'fast' | 'fumadocs' | 'gatsby' | 'github-action' | 'github-actions' | 'glob' | 'graphql-codegen' | 'hardhat' | 'husky' | 'i18next-parser' | 'jest' | 'karma' | 'knex' | 'ladle' | 'laravel-vite-plugin' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lit' | 'lockfile-lint' | 'lost-pixel' | 'lunaria' | 'markdownlint' | 'marko' | 'mdx' | 'mdxlint' | 'metro' | 'mise' | 'mocha' | 'moonrepo' | 'msw' | 'nano-spawn' | 'nano-staged' | 'nest' | 'netlify' | 'next' | 'next-intl' | 'next-mdx' | 'nitro' | 'node' | 'node-modules-inspector' | 'nodemon' | 'npm-package-json-lint' | 'nuxt' | 'nuxtjs-i18n' | 'nx' | 'nyc' | 'oclif' | 'openapi-ts' | 'openclaw' | 'orval' | 'oxfmt' | 'oxlint' | 'panda-css' | 'parcel' | 'payload' | 'pino' | 'playwright' | 'playwright-ct' | 'playwright-test' | 'plop' | 'pm2' | 'pnpm' | 'postcss' | 'pre-commit' | 'preconstruct' | 'prettier' | 'prisma' | 'quasar' | 'qwik' | 'raycast' | 'react-cosmos' | 'react-email' | 'react-native' | 'react-router' | 'relay' | 'release-it' | 'remark' | 'remix' | 'rolldown' | 'rollup' | 'rsbuild' | 'rslib' | 'rspack' | 'rstest' | 'sanity' | 'semantic-release' | 'sentry' | 'serverless-framework' | 'simple-git-hooks' | 'size-limit' | 'sst' | 'starlight' | 'stencil' | 'storybook' | 'stryker' | 'stylelint' | 'svelte' | 'sveltejs-package' | 'sveltekit' | 'svgo' | 'svgr' | 'swc' | 'syncpack' | 'tailwind' | 'tanstack-router' | 'taskfile' | 'tauri' | 'temporal' | 'textlint' | 'travis' | 'ts-node' | 'tsd' | 'tsdown' | 'tsup' | 'tsx' | 'typedoc' | 'typescript' | 'unbuild' | 'unocss' | 'unplugin-auto-import' | 'unplugin-icons' | 'unplugin-vue-components' | 'unplugin-vue-i18n' | 'unplugin-vue-markdown' | 'unplugin-vue-router' | 'varlock' | 'vercel' | 'vercel-og' | 'vike' | 'vite' | 'vite-plugin-pages' | 'vite-plugin-pwa' | 'vite-plugin-vue-layouts-next' | 'vite-plus' | 'vite-pwa-assets-generator' | 'vitepress' | 'vitest' | 'vue' | 'webdriver-io' | 'webpack' | 'wireit' | 'wrangler' | 'wxt' | 'xo' | 'yarn' | 'yorkie' | 'zx';
2
- export declare const pluginNames: readonly ['angular', 'astro', 'astro-db', 'astro-markdoc', 'astro-og-canvas', 'ava', 'babel', 'biome', 'borp', 'bumpp', 'bun', 'c8', 'capacitor', 'catalyst', 'changelogen', 'changelogithub', 'changesets', 'commitizen', 'commitlint', 'convex', 'create-typescript-app', 'cspell', 'cucumber', 'cypress', 'danger', 'dependency-cruiser', 'docusaurus', 'dotenv', 'drizzle', 'electron-vite', 'eleventy', 'esbuild', 'eslint', 'eve', 'execa', 'expo', 'expressive-code', 'fast', 'fumadocs', 'gatsby', 'github-action', 'github-actions', 'glob', 'graphql-codegen', 'hardhat', 'husky', 'i18next-parser', 'jest', 'karma', 'knex', 'ladle', 'laravel-vite-plugin', 'lefthook', 'lint-staged', 'linthtml', 'lit', 'lockfile-lint', 'lost-pixel', 'lunaria', 'markdownlint', 'marko', 'mdx', 'mdxlint', 'metro', 'mise', 'mocha', 'moonrepo', 'msw', 'nano-spawn', 'nano-staged', 'nest', 'netlify', 'next', 'next-intl', 'next-mdx', 'nitro', 'node', 'node-modules-inspector', 'nodemon', 'npm-package-json-lint', 'nuxt', 'nuxtjs-i18n', 'nx', 'nyc', 'oclif', 'openapi-ts', 'openclaw', 'orval', 'oxfmt', 'oxlint', 'panda-css', 'parcel', 'payload', 'pino', 'playwright', 'playwright-ct', 'playwright-test', 'plop', 'pm2', 'pnpm', 'postcss', 'pre-commit', 'preconstruct', 'prettier', 'prisma', 'quasar', 'qwik', 'raycast', 'react-cosmos', 'react-email', 'react-native', 'react-router', 'relay', 'release-it', 'remark', 'remix', 'rolldown', 'rollup', 'rsbuild', 'rslib', 'rspack', 'rstest', 'sanity', 'semantic-release', 'sentry', 'serverless-framework', 'simple-git-hooks', 'size-limit', 'sst', 'starlight', 'stencil', 'storybook', 'stryker', 'stylelint', 'svelte', 'sveltejs-package', 'sveltekit', 'svgo', 'svgr', 'swc', 'syncpack', 'tailwind', 'tanstack-router', 'taskfile', 'tauri', 'temporal', 'textlint', 'travis', 'ts-node', 'tsd', 'tsdown', 'tsup', 'tsx', 'typedoc', 'typescript', 'unbuild', 'unocss', 'unplugin-auto-import', 'unplugin-icons', 'unplugin-vue-components', 'unplugin-vue-i18n', 'unplugin-vue-markdown', 'unplugin-vue-router', 'varlock', 'vercel', 'vercel-og', 'vike', 'vite', 'vite-plugin-pages', 'vite-plugin-pwa', 'vite-plugin-vue-layouts-next', 'vite-plus', 'vite-pwa-assets-generator', 'vitepress', 'vitest', 'vue', 'webdriver-io', 'webpack', 'wireit', 'wrangler', 'wxt', 'xo', 'yarn', 'yorkie', 'zx'];
1
+ export type PluginName = 'angular' | 'astro' | 'astro-db' | 'astro-markdoc' | 'astro-og-canvas' | 'ava' | 'babel' | 'biome' | 'borp' | 'bumpp' | 'bun' | 'c8' | 'capacitor' | 'catalyst' | 'changelogen' | 'changelogithub' | 'changesets' | 'commitizen' | 'commitlint' | 'convex' | 'create-typescript-app' | 'cspell' | 'cucumber' | 'cypress' | 'danger' | 'dependency-cruiser' | 'docusaurus' | 'dotenv' | 'drizzle' | 'electron-vite' | 'eleventy' | 'esbuild' | 'eslint' | 'eve' | 'execa' | 'expo' | 'expressive-code' | 'fast' | 'fumadocs' | 'gatsby' | 'github-action' | 'github-actions' | 'glob' | 'graphql-codegen' | 'hardhat' | 'husky' | 'i18next-parser' | 'jest' | 'karma' | 'knex' | 'ladle' | 'laravel-vite-plugin' | 'lefthook' | 'lint-staged' | 'linthtml' | 'lit' | 'lockfile-lint' | 'lost-pixel' | 'lunaria' | 'markdownlint' | 'marko' | 'mdx' | 'mdxlint' | 'metro' | 'mise' | 'mocha' | 'moonrepo' | 'msw' | 'nano-spawn' | 'nano-staged' | 'nest' | 'netlify' | 'next' | 'next-intl' | 'next-mdx' | 'nitro' | 'node' | 'node-modules-inspector' | 'nodemon' | 'npm-package-json-lint' | 'nuxt' | 'nuxtjs-i18n' | 'nx' | 'nyc' | 'oclif' | 'openapi-ts' | 'openclaw' | 'orval' | 'oxfmt' | 'oxlint' | 'panda-css' | 'parcel' | 'payload' | 'pino' | 'playwright' | 'playwright-ct' | 'playwright-test' | 'plop' | 'pm2' | 'pnpm' | 'postcss' | 'pre-commit' | 'preconstruct' | 'prettier' | 'prisma' | 'quasar' | 'qwik' | 'raycast' | 'react-cosmos' | 'react-email' | 'react-native' | 'react-router' | 'relay' | 'release-it' | 'remark' | 'remix' | 'rolldown' | 'rollup' | 'rsbuild' | 'rslib' | 'rspack' | 'rstest' | 'sanity' | 'semantic-release' | 'sentry' | 'serverless-framework' | 'simple-git-hooks' | 'size-limit' | 'sst' | 'starlight' | 'stencil' | 'storybook' | 'stryker' | 'stylelint' | 'svelte' | 'sveltejs-package' | 'sveltekit' | 'svgo' | 'svgr' | 'swc' | 'syncpack' | 'tailwind' | 'tanstack-router' | 'taskfile' | 'tauri' | 'temporal' | 'textlint' | 'travis' | 'ts-node' | 'tsd' | 'tsdown' | 'tsup' | 'tsx' | 'turbo' | 'typedoc' | 'typescript' | 'typescript-content-mapper' | 'unbuild' | 'unocss' | 'unplugin-auto-import' | 'unplugin-icons' | 'unplugin-vue-components' | 'unplugin-vue-i18n' | 'unplugin-vue-markdown' | 'unplugin-vue-router' | 'varlock' | 'vercel' | 'vercel-og' | 'vike' | 'vite' | 'vite-plugin-pages' | 'vite-plugin-pwa' | 'vite-plugin-vue-layouts-next' | 'vite-plus' | 'vite-pwa-assets-generator' | 'vitepress' | 'vitest' | 'vue' | 'webdriver-io' | 'webpack' | 'wireit' | 'wrangler' | 'wxt' | 'xo' | 'yarn' | 'yorkie' | 'zx';
2
+ export declare const pluginNames: readonly ['angular', 'astro', 'astro-db', 'astro-markdoc', 'astro-og-canvas', 'ava', 'babel', 'biome', 'borp', 'bumpp', 'bun', 'c8', 'capacitor', 'catalyst', 'changelogen', 'changelogithub', 'changesets', 'commitizen', 'commitlint', 'convex', 'create-typescript-app', 'cspell', 'cucumber', 'cypress', 'danger', 'dependency-cruiser', 'docusaurus', 'dotenv', 'drizzle', 'electron-vite', 'eleventy', 'esbuild', 'eslint', 'eve', 'execa', 'expo', 'expressive-code', 'fast', 'fumadocs', 'gatsby', 'github-action', 'github-actions', 'glob', 'graphql-codegen', 'hardhat', 'husky', 'i18next-parser', 'jest', 'karma', 'knex', 'ladle', 'laravel-vite-plugin', 'lefthook', 'lint-staged', 'linthtml', 'lit', 'lockfile-lint', 'lost-pixel', 'lunaria', 'markdownlint', 'marko', 'mdx', 'mdxlint', 'metro', 'mise', 'mocha', 'moonrepo', 'msw', 'nano-spawn', 'nano-staged', 'nest', 'netlify', 'next', 'next-intl', 'next-mdx', 'nitro', 'node', 'node-modules-inspector', 'nodemon', 'npm-package-json-lint', 'nuxt', 'nuxtjs-i18n', 'nx', 'nyc', 'oclif', 'openapi-ts', 'openclaw', 'orval', 'oxfmt', 'oxlint', 'panda-css', 'parcel', 'payload', 'pino', 'playwright', 'playwright-ct', 'playwright-test', 'plop', 'pm2', 'pnpm', 'postcss', 'pre-commit', 'preconstruct', 'prettier', 'prisma', 'quasar', 'qwik', 'raycast', 'react-cosmos', 'react-email', 'react-native', 'react-router', 'relay', 'release-it', 'remark', 'remix', 'rolldown', 'rollup', 'rsbuild', 'rslib', 'rspack', 'rstest', 'sanity', 'semantic-release', 'sentry', 'serverless-framework', 'simple-git-hooks', 'size-limit', 'sst', 'starlight', 'stencil', 'storybook', 'stryker', 'stylelint', 'svelte', 'sveltejs-package', 'sveltekit', 'svgo', 'svgr', 'swc', 'syncpack', 'tailwind', 'tanstack-router', 'taskfile', 'tauri', 'temporal', 'textlint', 'travis', 'ts-node', 'tsd', 'tsdown', 'tsup', 'tsx', 'turbo', 'typedoc', 'typescript', 'typescript-content-mapper', 'unbuild', 'unocss', 'unplugin-auto-import', 'unplugin-icons', 'unplugin-vue-components', 'unplugin-vue-i18n', 'unplugin-vue-markdown', 'unplugin-vue-router', 'varlock', 'vercel', 'vercel-og', 'vike', 'vite', 'vite-plugin-pages', 'vite-plugin-pwa', 'vite-plugin-vue-layouts-next', 'vite-plus', 'vite-pwa-assets-generator', 'vitepress', 'vitest', 'vue', 'webdriver-io', 'webpack', 'wireit', 'wrangler', 'wxt', 'xo', 'yarn', 'yorkie', 'zx'];
@@ -152,8 +152,10 @@ export const pluginNames = [
152
152
  'tsdown',
153
153
  'tsup',
154
154
  'tsx',
155
+ 'turbo',
155
156
  'typedoc',
156
157
  'typescript',
158
+ 'typescript-content-mapper',
157
159
  'unbuild',
158
160
  'unocss',
159
161
  'unplugin-auto-import',
@@ -13,7 +13,8 @@ import type { Tags } from './options.ts';
13
13
  import type { PluginName } from './PluginNames.ts';
14
14
  import type { PackageJson } from './package-json.ts';
15
15
  export interface GetInputsFromScriptsOptions extends BaseOptions {
16
- knownBinsOnly?: boolean;
16
+ isForwardedArgs?: boolean;
17
+ optionalBinaries?: boolean;
17
18
  containingFilePath: string;
18
19
  expandedScripts?: Set<string>;
19
20
  }
@@ -47,6 +48,7 @@ export type GetImportsAndExportsOptions = {
47
48
  export interface Configuration {
48
49
  ignore: NormalizedGlob;
49
50
  ignoreBinaries: IgnorePatterns;
51
+ ignoreGlobalBinaries: boolean;
50
52
  ignoreDependencies: IgnorePatterns;
51
53
  ignoreExportsUsedInFile: IgnoreExportsUsedInFile;
52
54
  ignoreFiles: NormalizedGlob;
@@ -71,6 +73,7 @@ interface BaseWorkspaceConfiguration {
71
73
  paths: Record<string, string[]>;
72
74
  ignore: NormalizedGlob;
73
75
  ignoreFiles: NormalizedGlob;
76
+ ignoreGlobalBinaries: boolean;
74
77
  ignoreExportsUsedInFile: IgnoreExportsUsedInFile;
75
78
  isIncludeEntryExports: boolean;
76
79
  }
@@ -18,7 +18,7 @@ type WithPackageJsonPathAsKey<T> = {
18
18
  [K in keyof T]: PackageJsonPath<T[K]> extends never ? K : PackageJsonPath<T[K]>;
19
19
  };
20
20
  type PluginConfig<P> = {
21
- [K in keyof P as WithPackageJsonPathAsKey<P>[K]]: unknown;
21
+ [K in keyof P as WithPackageJsonPathAsKey<P>[K]]?: unknown;
22
22
  };
23
23
  type Plugins = PluginConfig<PluginMap>;
24
24
  export type Scripts = Record<string, string>;
@@ -10,11 +10,9 @@ export interface TsConfigJson {
10
10
  };
11
11
  contentMappers?: {
12
12
  package: string;
13
+ options?: Record<string, unknown>;
13
14
  }[];
14
15
  references?: Array<{
15
16
  path: string;
16
17
  }>;
17
18
  }
18
- export interface ContentMapperManifest {
19
- exec?: string[];
20
- }
@@ -1,4 +1,4 @@
1
- import { IGNORED_RUNTIME_DEPENDENCIES } from '../constants.js';
1
+ import { IGNORED_GLOBAL_BINARIES, IGNORED_RUNTIME_DEPENDENCIES } from '../constants.js';
2
2
  import { debugLog } from './debug.js';
3
3
  import { fromBinary, isBinary, isConfig, isDeferResolve, isDeferResolveEntry, isDependency, toDebugString, } from './input.js';
4
4
  import { getPackageNameFromSpecifier } from './modules.js';
@@ -32,12 +32,12 @@ export const createInputHandler = (deputy, chief, isGitIgnored, addIssue, extern
32
32
  }
33
33
  return;
34
34
  }
35
- if (dependencies || input.optional)
35
+ if (input.optional || (inputWorkspace.config.ignoreGlobalBinaries && IGNORED_GLOBAL_BINARIES.has(binaryName)))
36
36
  return;
37
37
  addIssue({
38
38
  type: 'binaries',
39
39
  filePath: containingFilePath,
40
- workspace: workspace.name,
40
+ workspace: inputWorkspace.name,
41
41
  symbol: binaryName,
42
42
  specifier,
43
43
  fixes: [],
@@ -811,6 +811,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
811
811
  entry?: string | string[] | undefined;
812
812
  project?: string | string[] | undefined;
813
813
  } | undefined;
814
+ turbo?: string | boolean | string[] | {
815
+ config?: string | string[] | undefined;
816
+ entry?: string | string[] | undefined;
817
+ project?: string | string[] | undefined;
818
+ } | undefined;
814
819
  typedoc?: string | boolean | string[] | {
815
820
  config?: string | string[] | undefined;
816
821
  entry?: string | string[] | undefined;
@@ -821,6 +826,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
821
826
  entry?: string | string[] | undefined;
822
827
  project?: string | string[] | undefined;
823
828
  } | undefined;
829
+ 'typescript-content-mapper'?: string | boolean | string[] | {
830
+ config?: string | string[] | undefined;
831
+ entry?: string | string[] | undefined;
832
+ project?: string | string[] | undefined;
833
+ } | undefined;
824
834
  unbuild?: string | boolean | string[] | {
825
835
  config?: string | string[] | undefined;
826
836
  entry?: string | string[] | undefined;
@@ -979,10 +989,13 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
979
989
  ignore?: string | string[] | undefined;
980
990
  ignoreFiles?: string | string[] | undefined;
981
991
  ignoreBinaries?: (string | RegExp)[] | undefined;
992
+ ignoreGlobalBinaries?: boolean | undefined;
982
993
  ignoreDependencies?: (string | RegExp)[] | undefined;
983
994
  ignoreMembers?: (string | RegExp)[] | undefined;
984
995
  ignoreUnresolved?: (string | RegExp)[] | undefined;
985
- ignoreExportsUsedInFile?: boolean | Record<string, boolean | undefined> | undefined;
996
+ ignoreExportsUsedInFile?: boolean | {
997
+ [x: string]: boolean | undefined;
998
+ } | undefined;
986
999
  ignoreIssues?: Record<string, ("binaries" | "catalog" | "catalogReferences" | "cycles" | "dependencies" | "devDependencies" | "duplicates" | "enumMembers" | "exports" | "files" | "namespaceMembers" | "nsExports" | "nsTypes" | "optionalPeerDependencies" | "types" | "unlisted" | "unresolved")[]> | undefined;
987
1000
  cycles?: {
988
1001
  allow?: string[][] | undefined;
@@ -1765,6 +1778,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
1765
1778
  entry?: string | string[] | undefined;
1766
1779
  project?: string | string[] | undefined;
1767
1780
  } | undefined;
1781
+ turbo?: string | boolean | string[] | {
1782
+ config?: string | string[] | undefined;
1783
+ entry?: string | string[] | undefined;
1784
+ project?: string | string[] | undefined;
1785
+ } | undefined;
1768
1786
  typedoc?: string | boolean | string[] | {
1769
1787
  config?: string | string[] | undefined;
1770
1788
  entry?: string | string[] | undefined;
@@ -1775,6 +1793,11 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
1775
1793
  entry?: string | string[] | undefined;
1776
1794
  project?: string | string[] | undefined;
1777
1795
  } | undefined;
1796
+ 'typescript-content-mapper'?: string | boolean | string[] | {
1797
+ config?: string | string[] | undefined;
1798
+ entry?: string | string[] | undefined;
1799
+ project?: string | string[] | undefined;
1800
+ } | undefined;
1778
1801
  unbuild?: string | boolean | string[] | {
1779
1802
  config?: string | string[] | undefined;
1780
1803
  entry?: string | string[] | undefined;
@@ -1931,10 +1954,13 @@ export declare const createOptions: (options: CreateOptions) => Promise<{
1931
1954
  ignore?: string | string[] | undefined;
1932
1955
  ignoreFiles?: string | string[] | undefined;
1933
1956
  ignoreBinaries?: (string | RegExp)[] | undefined;
1957
+ ignoreGlobalBinaries?: boolean | undefined;
1934
1958
  ignoreDependencies?: (string | RegExp)[] | undefined;
1935
1959
  ignoreMembers?: (string | RegExp)[] | undefined;
1936
1960
  ignoreUnresolved?: (string | RegExp)[] | undefined;
1937
- ignoreExportsUsedInFile?: boolean | Record<string, boolean | undefined> | undefined;
1961
+ ignoreExportsUsedInFile?: boolean | {
1962
+ [x: string]: boolean | undefined;
1963
+ } | undefined;
1938
1964
  ignoreIssues?: Record<string, ("binaries" | "catalog" | "catalogReferences" | "cycles" | "dependencies" | "devDependencies" | "duplicates" | "enumMembers" | "exports" | "files" | "namespaceMembers" | "nsExports" | "nsTypes" | "optionalPeerDependencies" | "types" | "unlisted" | "unresolved")[]> | undefined;
1939
1965
  includeEntryExports?: boolean | undefined;
1940
1966
  }> | undefined;
package/dist/util/jiti.js CHANGED
@@ -8,6 +8,7 @@ const options = {
8
8
  '@rushstack/eslint-patch/modern-module-resolution': empty,
9
9
  },
10
10
  tsconfigPaths: true,
11
+ jsx: true,
11
12
  };
12
13
  const createLoader = (options) => createJiti(process.cwd(), options);
13
14
  export const jiti = createLoader(options);
@@ -3,6 +3,8 @@ export declare const getPackageNameFromFilePath: (value: string) => string;
3
3
  export declare const getPackageNameFromSpecifier: (specifier: string) => string | undefined;
4
4
  export declare const isStartsLikePackageName: (specifier: string) => boolean;
5
5
  export declare const stripVersionFromSpecifier: (specifier: string) => string;
6
+ export declare const isInNodeModulesBin: (value: string) => boolean;
7
+ export declare const isRelativeNodeModulesBin: (value: string) => boolean;
6
8
  export declare const extractBinary: (command: string) => string;
7
9
  export declare const isValidBinary: (str: string) => boolean;
8
10
  export declare const isDefinitelyTyped: (packageName: string) => boolean;
@@ -38,7 +38,7 @@ const getPackageNameFromYarnPnpmStore = (posixPath) => {
38
38
  };
39
39
  export const getPackageNameFromFilePath = (value) => {
40
40
  const name = value.startsWith('file://') ? value.slice(7) : value;
41
- if (name.includes('node_modules/.bin/'))
41
+ if (isInNodeModulesBin(name))
42
42
  return extractBinary(name);
43
43
  const posixPath = toPosix(name);
44
44
  const match = posixPath.match(lastPackageNameMatch);
@@ -56,6 +56,8 @@ export const isStartsLikePackageName = (specifier) => {
56
56
  return ch === 64 ? isPackageScopeStart(specifier.charCodeAt(1)) : isPackageNameStart(ch);
57
57
  };
58
58
  export const stripVersionFromSpecifier = (specifier) => specifier.replace(/(\S+)@.*/, '$1');
59
+ export const isInNodeModulesBin = (value) => value.includes('node_modules/.bin/');
60
+ export const isRelativeNodeModulesBin = (value) => /^(?:\.\.?\/)*node_modules\/\.bin\//.test(value);
59
61
  const stripNodeModulesFromPath = (command) => command.replace(/(?:\.{0,2}\/)*node_modules\//, '');
60
62
  export const extractBinary = (command) => stripVersionFromSpecifier(stripNodeModulesFromPath(command)
61
63
  .replace(/^(\.bin\/)/, '')