knip 5.33.3 → 5.34.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 (304) hide show
  1. package/dist/ConfigurationChief.d.ts +27 -27
  2. package/dist/ConfigurationChief.js +20 -36
  3. package/dist/ConfigurationValidator.d.ts +392 -0
  4. package/dist/ConfigurationValidator.js +7 -0
  5. package/dist/DependencyDeputy.js +5 -2
  6. package/dist/PrincipalFactory.d.ts +3 -20
  7. package/dist/PrincipalFactory.js +4 -4
  8. package/dist/ProjectPrincipal.d.ts +2 -5
  9. package/dist/ProjectPrincipal.js +0 -5
  10. package/dist/WorkspaceWorker.d.ts +15 -13
  11. package/dist/WorkspaceWorker.js +144 -105
  12. package/dist/binaries/bash-parser.d.ts +3 -2
  13. package/dist/binaries/bash-parser.js +33 -22
  14. package/dist/binaries/fallback.d.ts +2 -0
  15. package/dist/binaries/fallback.js +12 -0
  16. package/dist/binaries/index.d.ts +2 -2
  17. package/dist/binaries/index.js +15 -26
  18. package/dist/binaries/package-manager/bun.d.ts +2 -0
  19. package/dist/binaries/{resolvers → package-manager}/bun.js +6 -4
  20. package/dist/binaries/package-manager/index.d.ts +8 -0
  21. package/dist/binaries/package-manager/index.js +12 -0
  22. package/dist/binaries/{resolvers → package-manager}/node.d.ts +0 -2
  23. package/dist/binaries/package-manager/node.js +5 -0
  24. package/dist/binaries/package-manager/npm.d.ts +2 -0
  25. package/dist/binaries/package-manager/npm.js +8 -0
  26. package/dist/binaries/package-manager/npx.d.ts +2 -0
  27. package/dist/binaries/{resolvers → package-manager}/npx.js +6 -6
  28. package/dist/binaries/package-manager/pnpm.d.ts +2 -0
  29. package/dist/binaries/{resolvers → package-manager}/pnpm.js +6 -3
  30. package/dist/binaries/package-manager/yarn.d.ts +2 -0
  31. package/dist/binaries/{resolvers → package-manager}/yarn.js +9 -7
  32. package/dist/binaries/plugins.d.ts +2 -0
  33. package/dist/binaries/plugins.js +61 -0
  34. package/dist/binaries/util.d.ts +0 -2
  35. package/dist/binaries/util.js +0 -25
  36. package/dist/compilers/index.d.ts +70 -0
  37. package/dist/constants.d.ts +1 -0
  38. package/dist/constants.js +2 -1
  39. package/dist/index.js +74 -46
  40. package/dist/manifest/helpers.d.ts +1 -5
  41. package/dist/manifest/helpers.js +8 -7
  42. package/dist/plugins/_template/index.d.ts +2 -2
  43. package/dist/plugins/_template/index.js +4 -3
  44. package/dist/plugins/angular/index.d.ts +1 -1
  45. package/dist/plugins/angular/index.js +13 -10
  46. package/dist/plugins/astro/index.d.ts +1 -1
  47. package/dist/plugins/astro/index.js +6 -5
  48. package/dist/plugins/ava/index.d.ts +1 -1
  49. package/dist/plugins/ava/index.js +4 -5
  50. package/dist/plugins/babel/helpers.js +1 -1
  51. package/dist/plugins/babel/index.d.ts +3 -2
  52. package/dist/plugins/babel/index.js +4 -3
  53. package/dist/plugins/c8/index.d.ts +10 -0
  54. package/dist/plugins/c8/index.js +11 -0
  55. package/dist/plugins/capacitor/index.d.ts +1 -1
  56. package/dist/plugins/capacitor/index.js +5 -4
  57. package/dist/plugins/changesets/index.d.ts +1 -1
  58. package/dist/plugins/changesets/index.js +4 -3
  59. package/dist/plugins/commitizen/index.d.ts +1 -1
  60. package/dist/plugins/commitizen/index.js +3 -2
  61. package/dist/plugins/commitlint/index.d.ts +1 -1
  62. package/dist/plugins/commitlint/index.js +4 -2
  63. package/dist/plugins/cspell/index.d.ts +1 -1
  64. package/dist/plugins/cspell/index.js +3 -2
  65. package/dist/plugins/cucumber/index.d.ts +2 -2
  66. package/dist/plugins/cucumber/index.js +4 -4
  67. package/dist/plugins/cypress/helpers.d.ts +1 -1
  68. package/dist/plugins/cypress/helpers.js +3 -4
  69. package/dist/plugins/cypress/index.d.ts +1 -1
  70. package/dist/plugins/cypress/index.js +6 -5
  71. package/dist/plugins/dotenv/index.d.ts +8 -0
  72. package/dist/plugins/dotenv/index.js +9 -0
  73. package/dist/plugins/drizzle/index.d.ts +1 -1
  74. package/dist/plugins/drizzle/index.js +3 -3
  75. package/dist/plugins/eleventy/index.d.ts +1 -1
  76. package/dist/plugins/eleventy/index.js +6 -6
  77. package/dist/plugins/eslint/helpers.d.ts +4 -5
  78. package/dist/plugins/eslint/helpers.js +10 -32
  79. package/dist/plugins/eslint/index.d.ts +1 -1
  80. package/dist/plugins/eslint/index.js +3 -6
  81. package/dist/plugins/gatsby/index.d.ts +1 -1
  82. package/dist/plugins/gatsby/index.js +6 -3
  83. package/dist/plugins/github-actions/index.d.ts +1 -1
  84. package/dist/plugins/github-actions/index.js +23 -7
  85. package/dist/plugins/graphql-codegen/index.d.ts +1 -1
  86. package/dist/plugins/graphql-codegen/index.js +7 -7
  87. package/dist/plugins/husky/index.d.ts +1 -1
  88. package/dist/plugins/husky/index.js +4 -3
  89. package/dist/plugins/index.d.ts +685 -77
  90. package/dist/plugins/index.js +170 -77
  91. package/dist/plugins/jest/index.d.ts +1 -1
  92. package/dist/plugins/jest/index.js +22 -24
  93. package/dist/plugins/ladle/index.d.ts +2 -2
  94. package/dist/plugins/ladle/index.js +4 -4
  95. package/dist/plugins/lefthook/index.d.ts +1 -1
  96. package/dist/plugins/lefthook/index.js +18 -14
  97. package/dist/plugins/lint-staged/index.d.ts +1 -1
  98. package/dist/plugins/lint-staged/index.js +6 -5
  99. package/dist/plugins/linthtml/index.d.ts +1 -1
  100. package/dist/plugins/linthtml/index.js +6 -8
  101. package/dist/plugins/lockfile-lint/index.d.ts +2 -2
  102. package/dist/plugins/lockfile-lint/index.js +2 -1
  103. package/dist/plugins/lost-pixel/index.d.ts +2 -2
  104. package/dist/plugins/lost-pixel/index.js +1 -1
  105. package/dist/plugins/markdownlint/index.d.ts +1 -1
  106. package/dist/plugins/markdownlint/index.js +3 -2
  107. package/dist/plugins/mocha/index.d.ts +4 -1
  108. package/dist/plugins/mocha/index.js +8 -4
  109. package/dist/plugins/moonrepo/index.d.ts +2 -2
  110. package/dist/plugins/moonrepo/index.js +4 -4
  111. package/dist/plugins/msw/index.d.ts +1 -1
  112. package/dist/plugins/msw/index.js +4 -4
  113. package/dist/plugins/nest/index.d.ts +2 -2
  114. package/dist/plugins/nest/index.js +4 -3
  115. package/dist/plugins/netlify/index.d.ts +1 -1
  116. package/dist/plugins/netlify/index.js +6 -6
  117. package/dist/plugins/next/index.d.ts +1 -1
  118. package/dist/plugins/next/index.js +1 -1
  119. package/dist/plugins/node/index.d.ts +8 -0
  120. package/dist/plugins/node/index.js +9 -0
  121. package/dist/plugins/node-test-runner/index.d.ts +1 -1
  122. package/dist/plugins/nodemon/index.d.ts +10 -0
  123. package/dist/plugins/nodemon/index.js +11 -0
  124. package/dist/plugins/npm-package-json-lint/index.d.ts +1 -1
  125. package/dist/plugins/npm-package-json-lint/index.js +4 -2
  126. package/dist/plugins/nuxt/index.d.ts +1 -1
  127. package/dist/plugins/nuxt/index.js +4 -4
  128. package/dist/plugins/nx/index.d.ts +5 -1
  129. package/dist/plugins/nx/index.js +10 -8
  130. package/dist/plugins/nyc/index.d.ts +1 -1
  131. package/dist/plugins/nyc/index.js +3 -2
  132. package/dist/plugins/oclif/index.d.ts +2 -2
  133. package/dist/plugins/oclif/index.js +3 -2
  134. package/dist/plugins/playwright/index.d.ts +13 -1
  135. package/dist/plugins/playwright/index.js +13 -6
  136. package/dist/plugins/playwright-ct/index.d.ts +9 -3
  137. package/dist/plugins/playwright-ct/index.js +3 -2
  138. package/dist/plugins/playwright-test/index.d.ts +13 -0
  139. package/dist/plugins/playwright-test/index.js +16 -0
  140. package/dist/plugins/postcss/index.d.ts +1 -1
  141. package/dist/plugins/postcss/index.js +5 -2
  142. package/dist/plugins/preconstruct/index.d.ts +1 -1
  143. package/dist/plugins/preconstruct/index.js +3 -3
  144. package/dist/plugins/prettier/index.d.ts +1 -1
  145. package/dist/plugins/prettier/index.js +5 -5
  146. package/dist/plugins/react-cosmos/index.d.ts +2 -2
  147. package/dist/plugins/react-cosmos/index.js +5 -6
  148. package/dist/plugins/release-it/index.d.ts +1 -1
  149. package/dist/plugins/release-it/index.js +4 -3
  150. package/dist/plugins/remark/index.d.ts +1 -1
  151. package/dist/plugins/remark/index.js +3 -2
  152. package/dist/plugins/remix/index.d.ts +1 -1
  153. package/dist/plugins/remix/index.js +1 -1
  154. package/dist/plugins/rollup/index.d.ts +3 -1
  155. package/dist/plugins/rollup/index.js +8 -1
  156. package/dist/plugins/rsbuild/index.d.ts +2 -2
  157. package/dist/plugins/rsbuild/index.js +1 -1
  158. package/dist/plugins/rspack/index.d.ts +2 -2
  159. package/dist/plugins/rspack/index.js +4 -8
  160. package/dist/plugins/semantic-release/index.d.ts +1 -1
  161. package/dist/plugins/semantic-release/index.js +4 -2
  162. package/dist/plugins/sentry/index.d.ts +1 -1
  163. package/dist/plugins/sentry/index.js +1 -1
  164. package/dist/plugins/simple-git-hooks/index.d.ts +2 -2
  165. package/dist/plugins/simple-git-hooks/index.js +5 -5
  166. package/dist/plugins/size-limit/index.d.ts +2 -2
  167. package/dist/plugins/size-limit/index.js +2 -1
  168. package/dist/plugins/storybook/index.d.ts +1 -1
  169. package/dist/plugins/storybook/index.js +5 -5
  170. package/dist/plugins/stryker/index.d.ts +1 -1
  171. package/dist/plugins/stryker/index.js +3 -2
  172. package/dist/plugins/stylelint/index.d.ts +1 -1
  173. package/dist/plugins/stylelint/index.js +4 -3
  174. package/dist/plugins/svelte/index.d.ts +1 -1
  175. package/dist/plugins/svelte/index.js +1 -1
  176. package/dist/plugins/syncpack/index.d.ts +2 -3
  177. package/dist/plugins/syncpack/index.js +2 -4
  178. package/dist/plugins/tailwind/index.d.ts +1 -1
  179. package/dist/plugins/tailwind/index.js +1 -1
  180. package/dist/plugins/travis/index.d.ts +1 -1
  181. package/dist/plugins/travis/index.js +2 -3
  182. package/dist/plugins/ts-node/index.d.ts +15 -0
  183. package/dist/plugins/ts-node/index.js +12 -0
  184. package/dist/plugins/tsup/index.d.ts +4 -1
  185. package/dist/plugins/tsup/index.js +7 -3
  186. package/dist/plugins/tsx/index.d.ts +9 -0
  187. package/dist/plugins/tsx/index.js +10 -0
  188. package/dist/plugins/typedoc/index.d.ts +4 -1
  189. package/dist/plugins/typedoc/index.js +10 -3
  190. package/dist/plugins/typedoc/types.d.ts +1 -0
  191. package/dist/plugins/typescript/index.d.ts +11 -2
  192. package/dist/plugins/typescript/index.js +19 -34
  193. package/dist/plugins/unbuild/index.d.ts +1 -1
  194. package/dist/plugins/unbuild/index.js +3 -3
  195. package/dist/plugins/unocss/index.d.ts +2 -2
  196. package/dist/plugins/unocss/index.js +2 -1
  197. package/dist/plugins/vercel-og/index.d.ts +1 -1
  198. package/dist/plugins/vercel-og/index.js +1 -1
  199. package/dist/plugins/vike/index.d.ts +2 -2
  200. package/dist/plugins/vike/index.js +1 -1
  201. package/dist/plugins/vite/index.d.ts +3 -3
  202. package/dist/plugins/vite/index.js +2 -2
  203. package/dist/plugins/vitest/index.d.ts +4 -1
  204. package/dist/plugins/vitest/index.js +31 -20
  205. package/dist/plugins/vue/index.d.ts +1 -1
  206. package/dist/plugins/vue/index.js +10 -10
  207. package/dist/plugins/webdriver-io/index.d.ts +1 -1
  208. package/dist/plugins/webdriver-io/index.js +3 -2
  209. package/dist/plugins/webpack/index.d.ts +3 -5
  210. package/dist/plugins/webpack/index.js +18 -19
  211. package/dist/plugins/wireit/index.d.ts +1 -1
  212. package/dist/plugins/wireit/index.js +2 -2
  213. package/dist/plugins/wrangler/index.d.ts +1 -1
  214. package/dist/plugins/wrangler/index.js +3 -2
  215. package/dist/plugins/xo/index.d.ts +2 -2
  216. package/dist/plugins/xo/index.js +4 -4
  217. package/dist/plugins/yorkie/index.d.ts +1 -1
  218. package/dist/plugins/yorkie/index.js +6 -5
  219. package/dist/plugins.d.ts +7 -4
  220. package/dist/plugins.js +17 -10
  221. package/dist/reporters/symbols.js +1 -1
  222. package/dist/types/PluginNames.d.ts +2 -0
  223. package/dist/types/PluginNames.js +86 -0
  224. package/dist/types/args.d.ts +14 -0
  225. package/dist/types/config.d.ts +84 -21
  226. package/dist/types/package-json.d.ts +10 -0
  227. package/dist/types/project.d.ts +18 -0
  228. package/dist/typescript/get-imports-and-exports.d.ts +1 -11
  229. package/dist/typescript/get-imports-and-exports.js +3 -1
  230. package/dist/typescript/visitors/dynamic-imports/importCall.d.ts +1 -1
  231. package/dist/typescript/visitors/dynamic-imports/importType.d.ts +1 -1
  232. package/dist/typescript/visitors/dynamic-imports/index.d.ts +1 -1
  233. package/dist/typescript/visitors/dynamic-imports/jsDocType.d.ts +1 -1
  234. package/dist/typescript/visitors/dynamic-imports/requireCall.d.ts +1 -1
  235. package/dist/typescript/visitors/dynamic-imports/resolveCall.d.ts +1 -1
  236. package/dist/typescript/visitors/exports/exportAssignment.d.ts +1 -1
  237. package/dist/typescript/visitors/exports/exportDeclaration.d.ts +1 -1
  238. package/dist/typescript/visitors/exports/exportKeyword.d.ts +1 -1
  239. package/dist/typescript/visitors/exports/exportsAccessExpression.d.ts +1 -1
  240. package/dist/typescript/visitors/exports/index.d.ts +1 -1
  241. package/dist/typescript/visitors/exports/moduleExportsAccessExpression.d.ts +1 -1
  242. package/dist/typescript/visitors/imports/importDeclaration.d.ts +1 -1
  243. package/dist/typescript/visitors/imports/importEqualsDeclaration.d.ts +1 -1
  244. package/dist/typescript/visitors/imports/index.d.ts +1 -1
  245. package/dist/typescript/visitors/imports/reExportDeclaration.d.ts +1 -1
  246. package/dist/typescript/visitors/index.d.ts +1 -1
  247. package/dist/typescript/visitors/scripts/bun.d.ts +1 -1
  248. package/dist/typescript/visitors/scripts/execa.d.ts +1 -1
  249. package/dist/typescript/visitors/scripts/index.d.ts +1 -1
  250. package/dist/typescript/visitors/scripts/zx.d.ts +1 -1
  251. package/dist/util/create-workspace-graph.d.ts +1 -1
  252. package/dist/util/create-workspace-graph.js +7 -7
  253. package/dist/util/debug.d.ts +2 -2
  254. package/dist/util/debug.js +1 -1
  255. package/dist/util/glob.js +2 -2
  256. package/dist/util/{handle-dependency.d.ts → handle-referenced-dependency.d.ts} +2 -1
  257. package/dist/util/handle-referenced-dependency.js +82 -0
  258. package/dist/util/input.d.ts +37 -0
  259. package/dist/util/input.js +36 -0
  260. package/dist/util/map-workspaces.d.ts +5 -2
  261. package/dist/util/map-workspaces.js +6 -6
  262. package/dist/util/modules.d.ts +1 -0
  263. package/dist/util/modules.js +4 -3
  264. package/dist/util/object.d.ts +1 -0
  265. package/dist/util/object.js +19 -0
  266. package/dist/util/plugin-config.d.ts +24 -0
  267. package/dist/util/plugin-config.js +32 -0
  268. package/dist/util/plugin.d.ts +3 -31
  269. package/dist/util/plugin.js +9 -54
  270. package/dist/util/regex.js +3 -2
  271. package/dist/version.d.ts +1 -1
  272. package/dist/version.js +1 -1
  273. package/package.json +7 -10
  274. package/schema.json +28 -0
  275. package/dist/binaries/resolvers/bun.d.ts +0 -2
  276. package/dist/binaries/resolvers/c8.d.ts +0 -2
  277. package/dist/binaries/resolvers/c8.js +0 -11
  278. package/dist/binaries/resolvers/dotenv.d.ts +0 -2
  279. package/dist/binaries/resolvers/dotenv.js +0 -7
  280. package/dist/binaries/resolvers/fallback.d.ts +0 -2
  281. package/dist/binaries/resolvers/fallback.js +0 -26
  282. package/dist/binaries/resolvers/index.d.ts +0 -15
  283. package/dist/binaries/resolvers/index.js +0 -26
  284. package/dist/binaries/resolvers/node.js +0 -11
  285. package/dist/binaries/resolvers/nodemon.d.ts +0 -2
  286. package/dist/binaries/resolvers/nodemon.js +0 -16
  287. package/dist/binaries/resolvers/npx.d.ts +0 -2
  288. package/dist/binaries/resolvers/nx.d.ts +0 -2
  289. package/dist/binaries/resolvers/nx.js +0 -9
  290. package/dist/binaries/resolvers/pnpm.d.ts +0 -2
  291. package/dist/binaries/resolvers/rollup.d.ts +0 -2
  292. package/dist/binaries/resolvers/rollup.js +0 -12
  293. package/dist/binaries/resolvers/ts-node.d.ts +0 -2
  294. package/dist/binaries/resolvers/ts-node.js +0 -16
  295. package/dist/binaries/resolvers/tsx.d.ts +0 -2
  296. package/dist/binaries/resolvers/tsx.js +0 -6
  297. package/dist/binaries/resolvers/yarn.d.ts +0 -2
  298. package/dist/binaries/types.d.ts +0 -11
  299. package/dist/types/plugins.d.ts +0 -42
  300. package/dist/util/handle-dependency.js +0 -63
  301. package/dist/util/protocols.d.ts +0 -9
  302. package/dist/util/protocols.js +0 -9
  303. /package/dist/{binaries/types.js → types/args.js} +0 -0
  304. /package/dist/types/{plugins.js → project.js} +0 -0
@@ -1,9 +1,8 @@
1
- import { isInternal, toAbsolute } from '#p/util/path.js';
2
- import { load, resolveEntry } from '#p/util/plugin.js';
1
+ import { isInternal, toAbsolute } from '../../util/path.js';
2
+ import { load } from '../../util/plugin.js';
3
3
  export const resolveDependencies = async (config, options) => {
4
4
  const { reporter } = config;
5
5
  const { configFileDir } = options;
6
- const resolve = (specifier) => resolveEntry(options, specifier);
7
6
  const reporters = reporter ? new Set([reporter]) : new Set();
8
7
  if (reporter === 'cypress-multi-reporters' && config.reporterOptions?.configFile) {
9
8
  const { configFile } = config.reporterOptions;
@@ -14,7 +13,7 @@ export const resolveDependencies = async (config, options) => {
14
13
  const { reporterEnabled: reporterConcatenatedNames } = reporterConfig;
15
14
  const reporterNames = reporterConcatenatedNames.split(',');
16
15
  for (const reporterName of reporterNames) {
17
- reporters.add(resolve(reporterName.trim()));
16
+ reporters.add(reporterName.trim());
18
17
  }
19
18
  }
20
19
  }
@@ -1,4 +1,4 @@
1
- import type { IsPluginEnabled, ResolveConfig, ResolveEntryPaths } from '#p/types/plugins.js';
1
+ import type { IsPluginEnabled, ResolveConfig, ResolveEntryPaths } from '../../types/config.js';
2
2
  import type { CypressConfig } from './types.js';
3
3
  declare const _default: {
4
4
  title: string;
@@ -1,5 +1,5 @@
1
- import { hasDependency } from '#p/util/plugin.js';
2
- import { toEntryPattern } from '../../util/protocols.js';
1
+ import { toDeferResolve, toEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  import { resolveDependencies } from './helpers.js';
4
4
  const title = 'Cypress';
5
5
  const enablers = ['cypress'];
@@ -18,10 +18,11 @@ const resolveEntryPaths = async (localConfig) => {
18
18
  return [
19
19
  ...(specPatterns.length > 0 ? specPatterns : TEST_FILE_PATTERNS),
20
20
  ...(supportFiles.length > 0 ? supportFiles : SUPPORT_FILE_PATTERNS),
21
- ].map(toEntryPattern);
21
+ ].map(toEntry);
22
22
  };
23
- const resolveConfig = (config, options) => {
24
- return resolveDependencies(config, options);
23
+ const resolveConfig = async (config, options) => {
24
+ const inputs = await resolveDependencies(config, options);
25
+ return inputs.map(toDeferResolve);
25
26
  };
26
27
  export default {
27
28
  title,
@@ -0,0 +1,8 @@
1
+ import type { ParsedArgs } from 'minimist';
2
+ declare const _default: {
3
+ title: string;
4
+ args: {
5
+ fromArgs: (parsed: ParsedArgs, args: string[]) => string[];
6
+ };
7
+ };
8
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { argsFrom } from '../../binaries/util.js';
2
+ const title = 'dotenv';
3
+ const args = {
4
+ fromArgs: (parsed, args) => argsFrom(args, parsed._[0]),
5
+ };
6
+ export default {
7
+ title,
8
+ args,
9
+ };
@@ -1,4 +1,4 @@
1
- import type { IsPluginEnabled, ResolveConfig } from '#p/types/plugins.js';
1
+ import type { IsPluginEnabled, ResolveConfig } from '../../types/config.js';
2
2
  import type { DrizzleConfig } from './types.js';
3
3
  declare const _default: {
4
4
  title: string;
@@ -1,5 +1,5 @@
1
- import { hasDependency } from '#p/util/plugin.js';
2
- import { toProductionEntryPattern } from '#p/util/protocols.js';
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'Drizzle';
4
4
  const enablers = ['drizzle-kit'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -7,7 +7,7 @@ const config = ['drizzle.config.{ts,js,json}'];
7
7
  const resolveConfig = config => {
8
8
  if (!config.schema)
9
9
  return [];
10
- return [config.schema].flat().map(toProductionEntryPattern);
10
+ return [config.schema].flat().map(id => toProductionEntry(id));
11
11
  };
12
12
  export default {
13
13
  title,
@@ -1,4 +1,4 @@
1
- import type { IsPluginEnabled, ResolveConfig, ResolveEntryPaths } from '#p/types/plugins.js';
1
+ import type { IsPluginEnabled, ResolveConfig, ResolveEntryPaths } from '../../types/config.js';
2
2
  import { DummyEleventyConfig } from './helpers.js';
3
3
  import type { EleventyConfig } from './types.js';
4
4
  type T = Partial<EleventyConfig> | ((arg: DummyEleventyConfig) => Promise<Partial<EleventyConfig>>);
@@ -1,8 +1,8 @@
1
- import { isDirectory } from '#p/util/fs.js';
2
- import { isInNodeModules, join } from '#p/util/path.js';
3
- import { hasDependency } from '#p/util/plugin.js';
4
- import { toProductionEntryPattern } from '#p/util/protocols.js';
5
1
  import { DEFAULT_EXTENSIONS } from '../../constants.js';
2
+ import { isDirectory } from '../../util/fs.js';
3
+ import { toDeferResolve, toProductionEntry } from '../../util/input.js';
4
+ import { isInNodeModules, join } from '../../util/path.js';
5
+ import { hasDependency } from '../../util/plugin.js';
6
6
  import { DummyEleventyConfig, defaultEleventyConfig } from './helpers.js';
7
7
  const title = 'Eleventy';
8
8
  const enablers = ['@11ty/eleventy'];
@@ -33,7 +33,7 @@ const resolveEntryPaths = async (localConfig, options) => {
33
33
  join(inputDir, `**/*.{${typeof templateFormats === 'string' ? templateFormats : templateFormats.join(',')}}`),
34
34
  join(inputDir, '**/*.11tydata.js'),
35
35
  ...copiedEntries,
36
- ].map(toProductionEntryPattern);
36
+ ].map(id => toProductionEntry(id));
37
37
  };
38
38
  const resolveConfig = async (localConfig) => {
39
39
  const dummyUserConfig = new DummyEleventyConfig();
@@ -44,7 +44,7 @@ const resolveConfig = async (localConfig) => {
44
44
  if (isInNodeModules(path))
45
45
  copiedPackages.add(path);
46
46
  }
47
- return [...copiedPackages];
47
+ return [...copiedPackages].map(id => toDeferResolve(id));
48
48
  };
49
49
  export default {
50
50
  title,
@@ -1,5 +1,4 @@
1
- import type { PluginOptions } from '../../types/plugins.js';
2
- import type { ESLintConfig } from './types.js';
3
- type GetDependenciesDeep = (localConfig: ESLintConfig, options: PluginOptions, dependencies?: Set<string>) => Promise<Set<string>>;
4
- export declare const getDependenciesDeep: GetDependenciesDeep;
5
- export {};
1
+ import type { PluginOptions } from '../../types/config.js';
2
+ import { type ConfigInput, type Input } from '../../util/input.js';
3
+ import type { ESLintConfig, OverrideConfig } from './types.js';
4
+ export declare const getDependencies: (config: ESLintConfig | OverrideConfig, options: PluginOptions) => (Input | ConfigInput)[];
@@ -1,12 +1,13 @@
1
- import { compact } from '#p/util/array.js';
2
- import { getPackageNameFromFilePath, getPackageNameFromModuleSpecifier } from '#p/util/modules.js';
3
- import { basename, dirname, isAbsolute, isInternal, toAbsolute } from '#p/util/path.js';
4
- import { load, resolve } from '#p/util/plugin.js';
1
+ import { compact } from '../../util/array.js';
2
+ import { toConfig, toDeferResolve } from '../../util/input.js';
3
+ import { getPackageNameFromFilePath, getPackageNameFromModuleSpecifier } from '../../util/modules.js';
4
+ import { isAbsolute, isInternal } from '../../util/path.js';
5
5
  import { getDependenciesFromConfig } from '../babel/index.js';
6
- const getDependencies = (config) => {
7
- const extendsSpecifiers = config.extends ? [config.extends].flat().map(resolveExtendSpecifier) : [];
6
+ export const getDependencies = (config, options) => {
7
+ const extendsSpecifiers = config.extends ? compact([config.extends].flat().map(resolveExtendSpecifier)) : [];
8
8
  if (extendsSpecifiers.some(specifier => specifier?.startsWith('eslint-plugin-prettier')))
9
9
  extendsSpecifiers.push('eslint-config-prettier');
10
+ const extendConfigs = extendsSpecifiers.map(specifier => toConfig('eslint', specifier, options.configFilePath));
10
11
  const plugins = config.plugins ? config.plugins.map(resolvePluginSpecifier) : [];
11
12
  const parser = config.parser ?? config.parserOptions?.parser;
12
13
  const babelDependencies = config.parserOptions?.babelOptions
@@ -14,32 +15,9 @@ const getDependencies = (config) => {
14
15
  : [];
15
16
  const settings = config.settings ? getDependenciesFromSettings(config.settings) : [];
16
17
  const rules = getDependenciesFromRules({});
17
- const overrides = config.overrides ? [config.overrides].flat().flatMap(getDependencies) : [];
18
- return compact([...extendsSpecifiers, ...plugins, parser, ...babelDependencies, ...settings, ...rules, ...overrides]);
19
- };
20
- export const getDependenciesDeep = async (localConfig, options, dependencies = new Set()) => {
21
- const { configFileDir } = options;
22
- const addAll = (deps) => {
23
- for (const dependency of deps)
24
- dependencies.add(dependency);
25
- };
26
- if (localConfig) {
27
- if (localConfig.extends) {
28
- for (const extend of [localConfig.extends].flat()) {
29
- if (isInternal(extend)) {
30
- const filePath = resolve(toAbsolute(extend, configFileDir), configFileDir);
31
- if (filePath) {
32
- dependencies.add(filePath);
33
- const localConfig = await load(filePath);
34
- const opts = { ...options, configFileDir: dirname(filePath), configFileName: basename(filePath) };
35
- addAll(await getDependenciesDeep(localConfig, opts, dependencies));
36
- }
37
- }
38
- }
39
- }
40
- addAll(getDependencies(localConfig));
41
- }
42
- return dependencies;
18
+ const overrides = config.overrides ? [config.overrides].flat().flatMap(d => getDependencies(d, options)) : [];
19
+ const x = compact([...extendsSpecifiers, ...plugins, parser, ...settings, ...rules]).map(toDeferResolve);
20
+ return [...extendConfigs, ...x, ...babelDependencies, ...overrides];
43
21
  };
44
22
  const isQualifiedSpecifier = (specifier) => specifier === 'eslint' ||
45
23
  /\/eslint-(config|plugin)$/.test(specifier) ||
@@ -1,4 +1,4 @@
1
- import type { IsPluginEnabled, ResolveConfig } from '#p/types/plugins.js';
1
+ import type { IsPluginEnabled, ResolveConfig } from '../../types/config.js';
2
2
  import type { ESLintConfig } from './types.js';
3
3
  declare const _default: {
4
4
  title: string;
@@ -1,5 +1,5 @@
1
- import { hasDependency } from '#p/util/plugin.js';
2
- import { getDependenciesDeep } from './helpers.js';
1
+ import { hasDependency } from '../../util/plugin.js';
2
+ import { getDependencies } from './helpers.js';
3
3
  const title = 'ESLint';
4
4
  const enablers = ['eslint', '@eslint/js'];
5
5
  const isEnabled = ({ dependencies, manifest, config }) => hasDependency(dependencies, enablers) ||
@@ -8,10 +8,7 @@ const isEnabled = ({ dependencies, manifest, config }) => hasDependency(dependen
8
8
  const packageJsonPath = 'eslintConfig';
9
9
  const entry = ['eslint.config.{js,cjs,mjs}'];
10
10
  const config = ['.eslintrc', '.eslintrc.{js,json,cjs}', '.eslintrc.{yml,yaml}', 'package.json'];
11
- const resolveConfig = async (localConfig, options) => {
12
- const dependencies = await getDependenciesDeep(localConfig, options);
13
- return Array.from(dependencies);
14
- };
11
+ const resolveConfig = (localConfig, options) => getDependencies(localConfig, options);
15
12
  export default {
16
13
  title,
17
14
  enablers,
@@ -1,4 +1,4 @@
1
- import type { IsPluginEnabled, ResolveConfig } from '#p/types/plugins.js';
1
+ import type { IsPluginEnabled, ResolveConfig } from '../../types/config.js';
2
2
  import type { GatsbyConfig, GatsbyNode } from './types.js';
3
3
  declare const _default: {
4
4
  title: string;
@@ -1,4 +1,5 @@
1
- import { hasDependency } from '#p/util/plugin.js';
1
+ import { toDeferResolve, toDependency } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
2
3
  const title = 'Gatsby';
3
4
  const enablers = ['gatsby', 'gatsby-cli'];
4
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -14,7 +15,9 @@ const production = [
14
15
  const resolveConfig = async (localConfig, options) => {
15
16
  const { configFileName } = options;
16
17
  if (/gatsby-config/.test(configFileName)) {
17
- return localConfig.plugins.map(plugin => (typeof plugin === 'string' ? plugin : plugin.resolve));
18
+ return localConfig.plugins
19
+ .map(plugin => (typeof plugin === 'string' ? plugin : plugin.resolve))
20
+ .map(toDeferResolve);
18
21
  }
19
22
  if (/gatsby-node/.test(configFileName)) {
20
23
  const plugins = new Set();
@@ -23,7 +26,7 @@ const resolveConfig = async (localConfig, options) => {
23
26
  if (typeof _config.onCreateBabelConfig === 'function') {
24
27
  _config.onCreateBabelConfig({ actions });
25
28
  }
26
- return Array.from(plugins);
29
+ return Array.from(plugins).map(toDependency);
27
30
  }
28
31
  return [];
29
32
  };
@@ -1,4 +1,4 @@
1
- import type { IsPluginEnabled, ResolveConfig } from '#p/types/plugins.js';
1
+ import type { IsPluginEnabled, ResolveConfig } from '../../types/config.js';
2
2
  declare const _default: {
3
3
  title: string;
4
4
  enablers: string;
@@ -1,15 +1,31 @@
1
- import { _firstGlob } from '#p/util/glob.js';
2
- import { getValuesByKeyDeep } from '#p/util/object.js';
3
- import { join } from '#p/util/path.js';
4
- import { getDependenciesFromScripts } from '#p/util/plugin.js';
1
+ import { _firstGlob } from '../../util/glob.js';
2
+ import { isDeferResolveEntry, toEntry } from '../../util/input.js';
3
+ import { findByKeyDeep } from '../../util/object.js';
4
+ import { join, relative } from '../../util/path.js';
5
5
  const title = 'GitHub Actions';
6
6
  const enablers = 'This plugin is enabled when a `.yml` or `.yaml` file is found in the `.github/workflows` folder.';
7
7
  const isEnabled = async ({ cwd }) => Boolean(await _firstGlob({ cwd, patterns: ['.github/workflows/*.{yml,yaml}'] }));
8
8
  const config = ['.github/workflows/*.{yml,yaml}', '.github/**/action.{yml,yaml}'];
9
9
  const isString = (value) => typeof value === 'string';
10
10
  const resolveConfig = async (config, options) => {
11
- const { configFileDir, configFileName } = options;
12
- const scripts = getValuesByKeyDeep(config, 'run').filter(isString);
11
+ const { configFileDir, configFileName, rootCwd, getInputsFromScripts } = options;
12
+ const inputs = new Set();
13
+ const jobs = findByKeyDeep(config, 'steps');
14
+ for (const steps of jobs) {
15
+ const action = steps.steps.find(step => step.uses?.startsWith('actions/checkout@') && typeof step.with?.path === 'string' && !step.with.repository);
16
+ const path = action?.with?.path;
17
+ for (const step of steps.steps) {
18
+ const workingDir = step['working-directory'];
19
+ const dir = join(rootCwd, path && workingDir ? relative(workingDir, path) : workingDir ? workingDir : '.');
20
+ if (step.run) {
21
+ for (const input of getInputsFromScripts([step.run], { knownBinsOnly: true })) {
22
+ if (isDeferResolveEntry(input) && path && !workingDir)
23
+ input.specifier = relative(join(dir, path), join(rootCwd, input.specifier));
24
+ inputs.add({ ...input, dir });
25
+ }
26
+ }
27
+ }
28
+ }
13
29
  const getActionDependencies = () => {
14
30
  const isActionManifest = configFileName === 'action.yml' || configFileName === 'action.yaml';
15
31
  if (!(isActionManifest && config?.runs?.using?.startsWith('node')))
@@ -17,7 +33,7 @@ const resolveConfig = async (config, options) => {
17
33
  const scripts = [config.runs.pre, config.runs.main, config.runs.post].filter(isString);
18
34
  return scripts.map(script => join(configFileDir, script));
19
35
  };
20
- return [...getActionDependencies(), ...getDependenciesFromScripts(scripts, { ...options, knownGlobalsOnly: true })];
36
+ return [...getActionDependencies().map(toEntry), ...inputs];
21
37
  };
22
38
  export default {
23
39
  title,
@@ -1,4 +1,4 @@
1
- import type { IsPluginEnabled, ResolveConfig } from '#p/types/plugins.js';
1
+ import type { IsPluginEnabled, ResolveConfig } from '../../types/config.js';
2
2
  import type { GraphqlCodegenTypes, GraphqlConfigTypes, GraphqlProjectsConfigTypes } from './types.js';
3
3
  declare const _default: {
4
4
  title: string;
@@ -1,7 +1,7 @@
1
- import { get } from '#p/util/object.js';
2
- import { isInternal } from '#p/util/path.js';
3
- import { hasDependency } from '#p/util/plugin.js';
4
- import { toEntryPattern } from '#p/util/protocols.js';
1
+ import { toDependency, toEntry } from '../../util/input.js';
2
+ import { get } from '../../util/object.js';
3
+ import { isInternal } from '../../util/path.js';
4
+ import { hasDependency } from '../../util/plugin.js';
5
5
  import { isConfigurationOutput, isGraphqlConfigTypes, isGraphqlProjectsConfigTypes } from './types.js';
6
6
  const title = 'GraphQL Codegen';
7
7
  const enablers = [/^@graphql-codegen\//, 'graphql-config'];
@@ -47,10 +47,10 @@ const resolveConfig = config => {
47
47
  if (typeof plugin !== 'string')
48
48
  return [];
49
49
  if (isInternal(plugin))
50
- return [toEntryPattern(plugin)];
51
- return [plugin.includes('codegen-') ? plugin : `@graphql-codegen/${plugin}`];
50
+ return [toEntry(plugin)];
51
+ return [plugin.includes('codegen-') ? plugin : `@graphql-codegen/${plugin}`].map(toDependency);
52
52
  });
53
- return [...presets, ...flatPlugins, ...nestedPlugins];
53
+ return [...presets, ...flatPlugins, ...nestedPlugins].map(id => (typeof id === 'string' ? toDependency(id) : id));
54
54
  };
55
55
  export default {
56
56
  title,
@@ -1,4 +1,4 @@
1
- import type { IsPluginEnabled, ResolveConfig } from '../../types/plugins.js';
1
+ import type { IsPluginEnabled, ResolveConfig } from '../../types/config.js';
2
2
  declare const _default: {
3
3
  title: string;
4
4
  enablers: string[];
@@ -1,5 +1,6 @@
1
1
  import { getGitHookPaths } from '../../util/git.js';
2
- import { getDependenciesFromScripts, hasDependency } from '../../util/plugin.js';
2
+ import { toDependency } from '../../util/input.js';
3
+ import { hasDependency } from '../../util/plugin.js';
3
4
  const title = 'husky';
4
5
  const enablers = ['husky'];
5
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -12,10 +13,10 @@ const resolveConfig = (script, options) => {
12
13
  const hooks = script.hooks;
13
14
  if (hooks) {
14
15
  const scripts = Object.values(hooks);
15
- return ['husky', ...getDependenciesFromScripts(scripts, { ...options })];
16
+ return [toDependency('husky'), ...options.getInputsFromScripts(scripts, { ...options })];
16
17
  }
17
18
  }
18
- return getDependenciesFromScripts(String(script), { ...options, knownGlobalsOnly: true });
19
+ return options.getInputsFromScripts(String(script), { knownBinsOnly: true });
19
20
  };
20
21
  export default {
21
22
  title,