knip 6.4.1 → 6.6.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 (336) hide show
  1. package/dist/CacheConsultant.js +3 -3
  2. package/dist/CatalogCounselor.js +5 -5
  3. package/dist/ConfigurationChief.d.ts +39 -16
  4. package/dist/ConfigurationChief.js +15 -15
  5. package/dist/DependencyDeputy.d.ts +1 -1
  6. package/dist/DependencyDeputy.js +5 -5
  7. package/dist/IssueCollector.js +3 -3
  8. package/dist/IssueFixer.js +5 -5
  9. package/dist/JsonCatalogPeeker.js +1 -1
  10. package/dist/ProjectPrincipal.js +13 -13
  11. package/dist/WorkspaceWorker.d.ts +3 -2
  12. package/dist/WorkspaceWorker.js +39 -26
  13. package/dist/YamlCatalogPeeker.js +1 -1
  14. package/dist/binaries/bash-parser.js +10 -10
  15. package/dist/binaries/fallback.js +3 -3
  16. package/dist/binaries/index.js +3 -3
  17. package/dist/binaries/plugins.js +6 -6
  18. package/dist/binaries/resolvers/bun.js +4 -4
  19. package/dist/binaries/resolvers/bunx.js +4 -4
  20. package/dist/binaries/resolvers/find.js +1 -1
  21. package/dist/binaries/resolvers/index.js +8 -8
  22. package/dist/binaries/resolvers/npx.js +4 -4
  23. package/dist/binaries/resolvers/pnpm.js +3 -3
  24. package/dist/binaries/resolvers/pnpx.js +2 -2
  25. package/dist/binaries/resolvers/yarn.js +4 -4
  26. package/dist/cli.js +10 -10
  27. package/dist/compilers/index.d.ts +62 -22
  28. package/dist/compilers/index.js +2 -2
  29. package/dist/compilers/mdx.js +1 -1
  30. package/dist/compilers/scss.js +1 -1
  31. package/dist/constants.d.ts +25 -25
  32. package/dist/constants.js +1 -1
  33. package/dist/graph/analyze.js +7 -7
  34. package/dist/graph/build.d.ts +2 -2
  35. package/dist/graph/build.js +34 -26
  36. package/dist/graph-explorer/constants.d.ts +5 -5
  37. package/dist/graph-explorer/explorer.js +9 -9
  38. package/dist/graph-explorer/operations/build-exports-tree.js +2 -2
  39. package/dist/graph-explorer/operations/get-contention.js +3 -3
  40. package/dist/graph-explorer/operations/get-dependency-usage.js +1 -1
  41. package/dist/graph-explorer/operations/get-usage.js +5 -5
  42. package/dist/graph-explorer/operations/has-strictly-ns-references.js +1 -1
  43. package/dist/graph-explorer/operations/is-referenced.js +2 -2
  44. package/dist/graph-explorer/operations/resolve-definition.js +3 -3
  45. package/dist/graph-explorer/utils.d.ts +1 -1
  46. package/dist/graph-explorer/utils.js +2 -2
  47. package/dist/graph-explorer/visitors.js +1 -1
  48. package/dist/graph-explorer/walk-down.js +2 -2
  49. package/dist/graph-explorer/walk-up.js +2 -2
  50. package/dist/index.js +2 -2
  51. package/dist/manifest/helpers.js +2 -2
  52. package/dist/manifest/index.js +3 -3
  53. package/dist/plugins/_template/index.js +2 -2
  54. package/dist/plugins/angular/index.js +4 -4
  55. package/dist/plugins/astro/compiler-mdx.js +1 -1
  56. package/dist/plugins/astro/compiler.js +1 -1
  57. package/dist/plugins/astro/index.js +8 -6
  58. package/dist/plugins/astro/resolveFromAST.d.ts +1 -0
  59. package/dist/plugins/astro/resolveFromAST.js +40 -1
  60. package/dist/plugins/astro-db/index.js +1 -1
  61. package/dist/plugins/astro-og-canvas/index.js +2 -2
  62. package/dist/plugins/ava/index.js +2 -2
  63. package/dist/plugins/babel/helpers.d.ts +44 -6
  64. package/dist/plugins/babel/helpers.js +1 -1
  65. package/dist/plugins/babel/index.js +4 -4
  66. package/dist/plugins/biome/index.js +4 -4
  67. package/dist/plugins/bumpp/index.js +2 -2
  68. package/dist/plugins/bun/index.js +1 -1
  69. package/dist/plugins/c8/index.js +1 -1
  70. package/dist/plugins/capacitor/index.js +3 -3
  71. package/dist/plugins/changelogen/index.js +2 -2
  72. package/dist/plugins/changelogithub/index.js +2 -2
  73. package/dist/plugins/changesets/index.js +3 -3
  74. package/dist/plugins/commitizen/index.js +2 -2
  75. package/dist/plugins/commitlint/index.js +3 -3
  76. package/dist/plugins/convex/index.js +1 -1
  77. package/dist/plugins/create-typescript-app/index.js +1 -1
  78. package/dist/plugins/cspell/index.js +2 -2
  79. package/dist/plugins/cucumber/index.js +2 -2
  80. package/dist/plugins/cypress/helpers.js +2 -2
  81. package/dist/plugins/cypress/index.js +3 -3
  82. package/dist/plugins/danger/index.js +1 -1
  83. package/dist/plugins/dependency-cruiser/index.js +1 -1
  84. package/dist/plugins/docusaurus/helpers.js +2 -2
  85. package/dist/plugins/docusaurus/index.js +4 -4
  86. package/dist/plugins/dotenv/index.js +1 -1
  87. package/dist/plugins/drizzle/index.js +2 -2
  88. package/dist/plugins/eleventy/index.js +6 -6
  89. package/dist/plugins/eslint/helpers.js +5 -5
  90. package/dist/plugins/eslint/index.js +4 -4
  91. package/dist/plugins/eslint/resolveFromAST.js +3 -3
  92. package/dist/plugins/execa/index.js +2 -2
  93. package/dist/plugins/execa/visitors/execa.js +1 -1
  94. package/dist/plugins/expo/helpers.d.ts +3 -3
  95. package/dist/plugins/expo/helpers.js +3 -3
  96. package/dist/plugins/expo/index.js +4 -4
  97. package/dist/plugins/expressive-code/index.js +1 -1
  98. package/dist/plugins/gatsby/index.js +2 -2
  99. package/dist/plugins/github-action/index.js +4 -4
  100. package/dist/plugins/github-actions/index.js +4 -4
  101. package/dist/plugins/graphql-codegen/index.js +5 -5
  102. package/dist/plugins/hardhat/index.js +2 -2
  103. package/dist/plugins/husky/index.js +3 -3
  104. package/dist/plugins/i18next-parser/index.js +1 -1
  105. package/dist/plugins/index.d.ts +4 -0
  106. package/dist/plugins/index.js +152 -144
  107. package/dist/plugins/jest/helpers.js +2 -2
  108. package/dist/plugins/jest/index.js +4 -4
  109. package/dist/plugins/karma/helpers.d.ts +1 -1
  110. package/dist/plugins/karma/helpers.js +2 -2
  111. package/dist/plugins/karma/index.js +4 -4
  112. package/dist/plugins/knex/index.js +3 -3
  113. package/dist/plugins/ladle/index.js +4 -4
  114. package/dist/plugins/lefthook/index.js +5 -5
  115. package/dist/plugins/lint-staged/index.js +2 -2
  116. package/dist/plugins/linthtml/index.js +3 -3
  117. package/dist/plugins/lockfile-lint/index.js +2 -2
  118. package/dist/plugins/lost-pixel/index.js +1 -1
  119. package/dist/plugins/markdownlint/index.js +3 -3
  120. package/dist/plugins/mdx/index.js +2 -2
  121. package/dist/plugins/mdxlint/index.js +3 -3
  122. package/dist/plugins/metro/index.js +4 -4
  123. package/dist/plugins/mocha/index.js +2 -2
  124. package/dist/plugins/moonrepo/index.js +1 -1
  125. package/dist/plugins/msw/index.js +3 -3
  126. package/dist/plugins/nano-staged/index.js +1 -1
  127. package/dist/plugins/nest/index.js +2 -2
  128. package/dist/plugins/netlify/index.js +4 -4
  129. package/dist/plugins/next/index.js +3 -3
  130. package/dist/plugins/next/resolveFromAST.js +1 -1
  131. package/dist/plugins/next-intl/index.js +1 -1
  132. package/dist/plugins/next-mdx/index.js +3 -3
  133. package/dist/plugins/next-mdx/resolveFromAST.js +1 -1
  134. package/dist/plugins/nitro/index.js +3 -3
  135. package/dist/plugins/node/index.js +1 -1
  136. package/dist/plugins/node-modules-inspector/index.js +2 -2
  137. package/dist/plugins/npm-package-json-lint/index.js +3 -3
  138. package/dist/plugins/nuxt/helpers.js +3 -3
  139. package/dist/plugins/nuxt/index.js +10 -11
  140. package/dist/plugins/nx/index.js +4 -4
  141. package/dist/plugins/nyc/index.js +2 -2
  142. package/dist/plugins/oclif/index.js +2 -2
  143. package/dist/plugins/openapi-ts/index.js +2 -2
  144. package/dist/plugins/oxfmt/index.js +1 -1
  145. package/dist/plugins/oxlint/index.js +3 -3
  146. package/dist/plugins/panda-css/index.js +2 -2
  147. package/dist/plugins/parcel/index.js +2 -2
  148. package/dist/plugins/payload/index.js +2 -2
  149. package/dist/plugins/pino/index.d.ts +3 -0
  150. package/dist/plugins/pino/index.js +15 -0
  151. package/dist/plugins/pino/visitors/transportCall.d.ts +2 -0
  152. package/dist/plugins/pino/visitors/transportCall.js +87 -0
  153. package/dist/plugins/playwright/index.js +4 -4
  154. package/dist/plugins/playwright-ct/index.js +3 -3
  155. package/dist/plugins/playwright-test/index.js +1 -1
  156. package/dist/plugins/plop/index.js +1 -1
  157. package/dist/plugins/pm2/index.js +3 -3
  158. package/dist/plugins/pnpm/index.js +1 -1
  159. package/dist/plugins/postcss/index.js +3 -3
  160. package/dist/plugins/preconstruct/index.js +3 -3
  161. package/dist/plugins/prettier/index.js +6 -2
  162. package/dist/plugins/prisma/index.js +5 -5
  163. package/dist/plugins/qwik/index.js +5 -5
  164. package/dist/plugins/qwik/resolveFromAST.js +1 -1
  165. package/dist/plugins/raycast/index.js +3 -3
  166. package/dist/plugins/react-cosmos/index.js +3 -3
  167. package/dist/plugins/react-email/index.d.ts +3 -0
  168. package/dist/plugins/react-email/index.js +26 -0
  169. package/dist/plugins/react-native/index.js +2 -2
  170. package/dist/plugins/react-router/index.js +6 -10
  171. package/dist/plugins/relay/index.js +3 -3
  172. package/dist/plugins/release-it/index.js +2 -2
  173. package/dist/plugins/remark/index.js +3 -3
  174. package/dist/plugins/remix/index.js +1 -1
  175. package/dist/plugins/rolldown/index.js +3 -3
  176. package/dist/plugins/rolldown/resolveFromAST.js +1 -1
  177. package/dist/plugins/rollup/index.js +3 -3
  178. package/dist/plugins/rollup/resolveFromAST.js +1 -1
  179. package/dist/plugins/rsbuild/index.js +2 -2
  180. package/dist/plugins/rslib/index.js +1 -1
  181. package/dist/plugins/rspack/index.js +2 -2
  182. package/dist/plugins/rstest/index.js +2 -2
  183. package/dist/plugins/sanity/index.js +1 -1
  184. package/dist/plugins/semantic-release/index.js +3 -3
  185. package/dist/plugins/sentry/index.js +1 -1
  186. package/dist/plugins/serverless-framework/index.d.ts +3 -0
  187. package/dist/plugins/serverless-framework/index.js +23 -0
  188. package/dist/plugins/serverless-framework/types.d.ts +7 -0
  189. package/dist/plugins/serverless-framework/types.js +1 -0
  190. package/dist/plugins/simple-git-hooks/index.js +2 -2
  191. package/dist/plugins/size-limit/index.js +3 -3
  192. package/dist/plugins/sst/index.js +2 -2
  193. package/dist/plugins/sst/resolveFromAST.js +5 -5
  194. package/dist/plugins/starlight/index.js +4 -4
  195. package/dist/plugins/starlight/resolveFromAST.js +1 -1
  196. package/dist/plugins/stencil/index.js +3 -3
  197. package/dist/plugins/storybook/index.js +3 -3
  198. package/dist/plugins/stryker/index.js +2 -2
  199. package/dist/plugins/stylelint/index.js +3 -3
  200. package/dist/plugins/svelte/compiler.js +1 -1
  201. package/dist/plugins/svelte/index.js +3 -3
  202. package/dist/plugins/sveltejs-package/helpers.d.ts +8 -0
  203. package/dist/plugins/sveltejs-package/helpers.js +65 -0
  204. package/dist/plugins/sveltejs-package/index.d.ts +3 -0
  205. package/dist/plugins/sveltejs-package/index.js +27 -0
  206. package/dist/plugins/sveltekit/index.js +3 -3
  207. package/dist/plugins/svgo/index.js +1 -1
  208. package/dist/plugins/svgr/index.js +2 -2
  209. package/dist/plugins/swc/index.js +3 -3
  210. package/dist/plugins/syncpack/index.js +2 -2
  211. package/dist/plugins/tailwind/index.js +2 -2
  212. package/dist/plugins/tanstack-router/index.js +3 -3
  213. package/dist/plugins/taskfile/index.js +3 -3
  214. package/dist/plugins/travis/index.js +1 -1
  215. package/dist/plugins/tsdown/index.js +3 -3
  216. package/dist/plugins/tsdown/resolveFromAST.js +1 -1
  217. package/dist/plugins/tsup/index.js +3 -3
  218. package/dist/plugins/tsup/resolveFromAST.js +1 -1
  219. package/dist/plugins/tsx/index.js +2 -2
  220. package/dist/plugins/typedoc/index.js +2 -2
  221. package/dist/plugins/typescript/index.js +4 -4
  222. package/dist/plugins/unbuild/index.js +2 -2
  223. package/dist/plugins/unocss/index.js +2 -2
  224. package/dist/plugins/vercel-og/index.js +1 -1
  225. package/dist/plugins/vike/index.js +1 -1
  226. package/dist/plugins/vite/helpers.js +4 -4
  227. package/dist/plugins/vite/index.js +5 -5
  228. package/dist/plugins/vite/visitors/importMetaGlob.js +4 -4
  229. package/dist/plugins/vitepress/index.js +1 -1
  230. package/dist/plugins/vitest/helpers.d.ts +4 -2
  231. package/dist/plugins/vitest/helpers.js +18 -0
  232. package/dist/plugins/vitest/index.js +9 -23
  233. package/dist/plugins/vue/compiler.js +1 -1
  234. package/dist/plugins/vue/index.js +4 -4
  235. package/dist/plugins/webdriver-io/index.js +2 -2
  236. package/dist/plugins/webpack/index.js +5 -5
  237. package/dist/plugins/webpack/visitors/requireContext.js +6 -7
  238. package/dist/plugins/wireit/index.js +1 -1
  239. package/dist/plugins/wrangler/index.js +2 -2
  240. package/dist/plugins/xo/index.js +2 -2
  241. package/dist/plugins/yarn/index.js +2 -2
  242. package/dist/plugins/yorkie/index.js +2 -2
  243. package/dist/plugins/zx/index.js +2 -2
  244. package/dist/plugins.js +2 -2
  245. package/dist/reporters/codeclimate.js +2 -2
  246. package/dist/reporters/codeowners.js +3 -3
  247. package/dist/reporters/compact.js +1 -1
  248. package/dist/reporters/disclosure.js +1 -1
  249. package/dist/reporters/github-actions.js +4 -4
  250. package/dist/reporters/index.js +8 -8
  251. package/dist/reporters/json.js +4 -4
  252. package/dist/reporters/markdown.js +2 -2
  253. package/dist/reporters/symbols.js +2 -2
  254. package/dist/reporters/trace.js +7 -7
  255. package/dist/reporters/util/configuration-hints.d.ts +2 -2
  256. package/dist/reporters/util/configuration-hints.js +7 -10
  257. package/dist/reporters/util/util.d.ts +3 -3
  258. package/dist/reporters/util/util.js +16 -15
  259. package/dist/reporters/watch.js +7 -7
  260. package/dist/run.js +14 -14
  261. package/dist/schema/configuration.d.ts +89 -31
  262. package/dist/schema/configuration.js +2 -2
  263. package/dist/schema/plugins.d.ts +20 -0
  264. package/dist/schema/plugins.js +4 -0
  265. package/dist/session/build-maps.js +3 -3
  266. package/dist/session/file-descriptor.js +3 -3
  267. package/dist/session/index.js +7 -7
  268. package/dist/session/package-json-descriptor.js +1 -1
  269. package/dist/session/session.js +3 -3
  270. package/dist/types/PluginNames.d.ts +2 -2
  271. package/dist/types/PluginNames.js +4 -0
  272. package/dist/types/config.d.ts +13 -0
  273. package/dist/types/issues.d.ts +1 -1
  274. package/dist/typescript/SourceFileManager.js +3 -3
  275. package/dist/typescript/ast-helpers.d.ts +2 -0
  276. package/dist/typescript/ast-helpers.js +5 -5
  277. package/dist/typescript/comments.js +1 -1
  278. package/dist/typescript/follow-imports.js +2 -2
  279. package/dist/typescript/get-imports-and-exports.js +10 -10
  280. package/dist/typescript/resolve-module-names.js +5 -5
  281. package/dist/typescript/visitors/calls.js +3 -3
  282. package/dist/typescript/visitors/exports.js +4 -4
  283. package/dist/typescript/visitors/helpers.js +3 -3
  284. package/dist/typescript/visitors/imports.js +4 -4
  285. package/dist/typescript/visitors/members.js +4 -4
  286. package/dist/typescript/visitors/walk.js +9 -9
  287. package/dist/util/Performance.d.ts +1 -1
  288. package/dist/util/Performance.js +2 -2
  289. package/dist/util/catalog.js +3 -3
  290. package/dist/util/codeowners.js +4 -4
  291. package/dist/util/colors.d.ts +18 -0
  292. package/dist/util/colors.js +24 -0
  293. package/dist/util/create-input-handler.js +6 -6
  294. package/dist/util/create-options.d.ts +72 -33
  295. package/dist/util/create-options.js +14 -15
  296. package/dist/util/create-workspace-graph.js +1 -1
  297. package/dist/util/debug.js +2 -4
  298. package/dist/util/file-entry-cache.js +4 -4
  299. package/dist/util/fs.js +2 -2
  300. package/dist/util/get-included-issue-types.js +2 -2
  301. package/dist/util/git.js +1 -1
  302. package/dist/util/glob-cache.js +4 -4
  303. package/dist/util/glob-core.d.ts +3 -3
  304. package/dist/util/glob-core.js +80 -64
  305. package/dist/util/glob.d.ts +1 -1
  306. package/dist/util/glob.js +14 -7
  307. package/dist/util/input.js +1 -1
  308. package/dist/util/issue-initializers.js +1 -1
  309. package/dist/util/jiti.js +1 -1
  310. package/dist/util/load-config.js +3 -3
  311. package/dist/util/load-tsconfig.js +62 -50
  312. package/dist/util/loader.js +5 -5
  313. package/dist/util/log.js +3 -3
  314. package/dist/util/map-workspaces.js +6 -6
  315. package/dist/util/modules.js +2 -2
  316. package/dist/util/package-name.js +1 -1
  317. package/dist/util/parse-and-convert-gitignores.d.ts +4 -2
  318. package/dist/util/parse-and-convert-gitignores.js +19 -7
  319. package/dist/util/plugin.js +5 -5
  320. package/dist/util/remove-export.js +1 -1
  321. package/dist/util/reporter.js +3 -3
  322. package/dist/util/require.js +1 -1
  323. package/dist/util/resolve.js +3 -3
  324. package/dist/util/string.d.ts +1 -1
  325. package/dist/util/table.js +1 -1
  326. package/dist/util/tag.js +1 -1
  327. package/dist/util/to-source-path.d.ts +4 -2
  328. package/dist/util/to-source-path.js +46 -22
  329. package/dist/util/trace.js +8 -8
  330. package/dist/util/watch.js +8 -8
  331. package/dist/util/workspace-file-filter.js +2 -2
  332. package/dist/util/workspace-selectors.js +4 -4
  333. package/dist/version.d.ts +1 -1
  334. package/dist/version.js +1 -1
  335. package/package.json +12 -19
  336. package/schema.json +13 -1
@@ -1,5 +1,5 @@
1
- import { toDependency } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toDependency } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'React Native';
4
4
  const enablers = ['react-native'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,11 +1,9 @@
1
1
  import { existsSync } from 'node:fs';
2
- import os from 'node:os';
3
- import { _glob } from "../../util/glob.js";
4
- import { toEntry, toProductionDependency, toProductionEntry } from "../../util/input.js";
5
- import { join, toAbsolute } from "../../util/path.js";
6
- import { hasDependency, load } from "../../util/plugin.js";
7
- import vite from "../vite/index.js";
8
- const isWindows = os.platform() === 'win32';
2
+ import { _glob } from '../../util/glob.js';
3
+ import { toEntry, toProductionDependency, toProductionEntry } from '../../util/input.js';
4
+ import { join, toAbsolute } from '../../util/path.js';
5
+ import { hasDependency, load } from '../../util/plugin.js';
6
+ import vite from '../vite/index.js';
9
7
  const title = 'React Router';
10
8
  const enablers = ['@react-router/dev'];
11
9
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -28,9 +26,7 @@ const resolveConfig = async (localConfig, options) => {
28
26
  const mapRoute = (route) => {
29
27
  return [toAbsolute(route.file, appDir), ...(route.children ? route.children.flatMap(mapRoute) : [])];
30
28
  };
31
- const routes = routeConfig
32
- .flatMap(mapRoute)
33
- .map(route => (isWindows ? route : route.replace(/[\^*?()[\]]/g, '\\$&')));
29
+ const routes = routeConfig.flatMap(mapRoute);
34
30
  const resolved = [
35
31
  toEntry(join(appDir, 'routes.{js,ts}')),
36
32
  toProductionEntry(join(appDir, 'root.{jsx,tsx}')),
@@ -1,7 +1,7 @@
1
1
  import parseArgs from 'minimist';
2
- import { toProductionEntry } from "../../util/input.js";
3
- import { join } from "../../util/path.js";
4
- import { hasDependency } from "../../util/plugin.js";
2
+ import { toProductionEntry } from '../../util/input.js';
3
+ import { join } from '../../util/path.js';
4
+ import { hasDependency } from '../../util/plugin.js';
5
5
  const title = 'Relay';
6
6
  const enablers = ['vite-plugin-relay', '@swc/plugin-relay', 'babel-plugin-relay'];
7
7
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { toDependency } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toDependency } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'Release It!';
4
4
  const enablers = ['release-it'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,6 +1,6 @@
1
- import { toDeferResolve } from "../../util/input.js";
2
- import { isInternal } from "../../util/path.js";
3
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toDeferResolve } from '../../util/input.js';
2
+ import { isInternal } from '../../util/path.js';
3
+ import { hasDependency } from '../../util/plugin.js';
4
4
  const title = 'Remark';
5
5
  const enablers = ['remark-cli'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { hasDependency } from "../../util/plugin.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
2
  const title = 'Remix';
3
3
  const enablers = [/^@remix-run\//];
4
4
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,6 +1,6 @@
1
- import { toProductionEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { getInputFromAST } from "./resolveFromAST.js";
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { getInputFromAST } from './resolveFromAST.js';
4
4
  const title = 'Rolldown';
5
5
  const enablers = ['rolldown'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { collectPropertyValues } from "../../typescript/ast-helpers.js";
1
+ import { collectPropertyValues } from '../../typescript/ast-helpers.js';
2
2
  export const getInputFromAST = (program) => {
3
3
  return collectPropertyValues(program, 'input');
4
4
  };
@@ -1,6 +1,6 @@
1
- import { toProductionEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { getInputFromAST } from "./resolveFromAST.js";
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { getInputFromAST } from './resolveFromAST.js';
4
4
  const title = 'Rollup';
5
5
  const enablers = ['rollup'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { collectPropertyValues } from "../../typescript/ast-helpers.js";
1
+ import { collectPropertyValues } from '../../typescript/ast-helpers.js';
2
2
  export const getInputFromAST = (program) => {
3
3
  return collectPropertyValues(program, 'input');
4
4
  };
@@ -1,5 +1,5 @@
1
- import { toProductionEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'Rsbuild';
4
4
  const enablers = ['@rsbuild/core'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { hasDependency } from "../../util/plugin.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
2
  const title = 'Rslib';
3
3
  const enablers = ['@rslib/core'];
4
4
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { hasDependency } from "../../util/plugin.js";
2
- import { findWebpackDependenciesFromConfig } from "../webpack/index.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
+ import { findWebpackDependenciesFromConfig } from '../webpack/index.js';
3
3
  const title = 'Rspack';
4
4
  const enablers = ['@rspack/core'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { toDeferResolve, toEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toDeferResolve, toEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'Rstest';
4
4
  const enablers = ['@rstest/core'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { hasDependency } from "../../util/plugin.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
2
  const title = 'Sanity';
3
3
  const enablers = ['sanity'];
4
4
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,6 +1,6 @@
1
- import { toDeferResolve } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { toCosmiconfig } from "../../util/plugin-config.js";
1
+ import { toDeferResolve } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { toCosmiconfig } from '../../util/plugin-config.js';
4
4
  const title = 'Semantic Release';
5
5
  const enablers = ['semantic-release'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { hasDependency } from "../../util/plugin.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
2
  const title = 'Sentry';
3
3
  const enablers = [/^@sentry\//];
4
4
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -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 { toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ const title = 'Serverless Framework';
4
+ const enablers = ['serverless'];
5
+ const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
6
+ const config = ['serverless.{yml,yaml}'];
7
+ const handlerToEntry = (handler) => {
8
+ const dot = handler.lastIndexOf('.');
9
+ return toProductionEntry(`${handler.slice(0, dot)}.{js,ts}`);
10
+ };
11
+ const resolveConfig = async (config) => {
12
+ if (!config.functions)
13
+ return [];
14
+ return Object.values(config.functions).map(fn => handlerToEntry(fn.handler));
15
+ };
16
+ const plugin = {
17
+ title,
18
+ enablers,
19
+ isEnabled,
20
+ config,
21
+ resolveConfig,
22
+ };
23
+ export default plugin;
@@ -0,0 +1,7 @@
1
+ export type PluginConfig = {
2
+ functions?: Record<string, ServerlessFunction>;
3
+ };
4
+ type ServerlessFunction = {
5
+ handler: string;
6
+ };
7
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
- import { toDependency } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toDependency } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'simple-git-hooks';
4
4
  const enablers = ['simple-git-hooks'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,6 +1,6 @@
1
- import { toDependency } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { toLilconfig } from "../../util/plugin-config.js";
1
+ import { toDependency } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { toLilconfig } from '../../util/plugin-config.js';
4
4
  const title = 'size-limit';
5
5
  const enablers = ['size-limit'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { hasDependency } from "../../util/plugin.js";
2
- import { getInputsFromHandlers } from "./resolveFromAST.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
+ import { getInputsFromHandlers } from './resolveFromAST.js';
3
3
  const title = 'SST';
4
4
  const enablers = ['sst'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,9 +1,9 @@
1
1
  import { Visitor } from 'oxc-parser';
2
- import { collectPropertyValues, getImportMap } from "../../typescript/ast-helpers.js";
3
- import { parseFile } from "../../typescript/visitors/helpers.js";
4
- import { toDeferResolveProductionEntry } from "../../util/input.js";
5
- import { dirname } from "../../util/path.js";
6
- import { _resolveSync } from "../../util/resolve.js";
2
+ import { collectPropertyValues, getImportMap } from '../../typescript/ast-helpers.js';
3
+ import { parseFile } from '../../typescript/visitors/helpers.js';
4
+ import { toDeferResolveProductionEntry } from '../../util/input.js';
5
+ import { dirname } from '../../util/path.js';
6
+ import { _resolveSync } from '../../util/resolve.js';
7
7
  export const getInputsFromHandlers = (program, options) => {
8
8
  const entries = new Set();
9
9
  const addHandlers = (values) => {
@@ -1,7 +1,7 @@
1
- import { toProductionEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { config } from "../astro/index.js";
4
- import { getComponentPathsFromSourceFile } from "./resolveFromAST.js";
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { config } from '../astro/index.js';
4
+ import { getComponentPathsFromSourceFile } from './resolveFromAST.js';
5
5
  const title = 'Starlight';
6
6
  const enablers = ['@astrojs/starlight'];
7
7
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { findCallArg, getDefaultImportName, getImportMap, getPropertyValues } from "../../typescript/ast-helpers.js";
1
+ import { findCallArg, getDefaultImportName, getImportMap, getPropertyValues } from '../../typescript/ast-helpers.js';
2
2
  export const getComponentPathsFromSourceFile = (program) => {
3
3
  const importMap = getImportMap(program);
4
4
  const starlightImportName = getDefaultImportName(importMap, '@astrojs/starlight');
@@ -1,6 +1,6 @@
1
- import { toConfig, toProductionEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { collectPropertyValues } from "../../typescript/ast-helpers.js";
1
+ import { toConfig, toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { collectPropertyValues } from '../../typescript/ast-helpers.js';
4
4
  const title = 'Stencil';
5
5
  const enablers = ['@stencil/core'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,6 +1,6 @@
1
- import { toConfig, toDeferResolve, toDependency, toEntry } from "../../util/input.js";
2
- import { join, relative } from "../../util/path.js";
3
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toConfig, toDeferResolve, toDependency, toEntry } from '../../util/input.js';
2
+ import { join, relative } from '../../util/path.js';
3
+ import { hasDependency } from '../../util/plugin.js';
4
4
  const title = 'Storybook';
5
5
  const enablers = [/^@storybook\//, '@nrwl/storybook'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { toDeferResolve } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toDeferResolve } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'Stryker';
4
4
  const enablers = ['@stryker-mutator/core'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,6 +1,6 @@
1
- import { toDeferResolve } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { toCosmiconfig } from "../../util/plugin-config.js";
1
+ import { toDeferResolve } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { toCosmiconfig } from '../../util/plugin-config.js';
4
4
  const title = 'Stylelint';
5
5
  const enablers = ['stylelint'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,3 +1,3 @@
1
- import { importsWithinScripts } from "../../compilers/compilers.js";
1
+ import { importsWithinScripts } from '../../compilers/compilers.js';
2
2
  const compiler = importsWithinScripts;
3
3
  export default compiler;
@@ -1,6 +1,6 @@
1
- import { hasDependency } from "../../util/plugin.js";
2
- import { config as viteConfig } from "../vite/index.js";
3
- import compiler from "./compiler.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
+ import { config as viteConfig } from '../vite/index.js';
3
+ import compiler from './compiler.js';
4
4
  const title = 'Svelte';
5
5
  const enablers = ['svelte'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -0,0 +1,8 @@
1
+ export declare const DEFAULT_INPUT = "src/lib";
2
+ export declare const DEFAULT_OUTPUT = "dist";
3
+ interface IO {
4
+ input: string;
5
+ output: string;
6
+ }
7
+ export declare const parseScripts: (scripts: Record<string, string | undefined> | undefined) => IO[];
8
+ export {};
@@ -0,0 +1,65 @@
1
+ import parseArgs from 'minimist';
2
+ import { parse } from 'unbash';
3
+ const BIN = 'svelte-package';
4
+ export const DEFAULT_INPUT = 'src/lib';
5
+ export const DEFAULT_OUTPUT = 'dist';
6
+ const parseCommandIO = (args) => {
7
+ const parsed = parseArgs(args, { string: ['i', 'o', 'input', 'output'], alias: { input: ['i'], output: ['o'] } });
8
+ return { input: parsed.input ?? DEFAULT_INPUT, output: parsed.output ?? DEFAULT_OUTPUT };
9
+ };
10
+ const collectFromCommands = (statements, out) => {
11
+ for (const stmt of statements)
12
+ visit(stmt.command, out);
13
+ };
14
+ const visit = (node, out) => {
15
+ switch (node.type) {
16
+ case 'Command':
17
+ if (node.name?.value === BIN)
18
+ out.push(parseCommandIO(node.suffix.map(w => w.value)));
19
+ return;
20
+ case 'AndOr':
21
+ case 'Pipeline':
22
+ for (const n of node.commands)
23
+ visit(n, out);
24
+ return;
25
+ case 'If':
26
+ collectFromCommands(node.clause.commands, out);
27
+ collectFromCommands(node.then.commands, out);
28
+ if (node.else)
29
+ visit(node.else, out);
30
+ return;
31
+ case 'While':
32
+ collectFromCommands(node.clause.commands, out);
33
+ collectFromCommands(node.body.commands, out);
34
+ return;
35
+ case 'For':
36
+ case 'Select':
37
+ case 'Subshell':
38
+ case 'BraceGroup':
39
+ collectFromCommands(node.body.commands, out);
40
+ return;
41
+ case 'CompoundList':
42
+ collectFromCommands(node.commands, out);
43
+ return;
44
+ case 'Function':
45
+ case 'Coproc':
46
+ visit(node.body, out);
47
+ return;
48
+ case 'Statement':
49
+ visit(node.command, out);
50
+ }
51
+ };
52
+ export const parseScripts = (scripts) => {
53
+ const out = [];
54
+ for (const script of Object.values(scripts ?? {})) {
55
+ if (typeof script !== 'string' || !script.includes(BIN))
56
+ continue;
57
+ try {
58
+ const parsed = parse(script);
59
+ if (parsed.commands)
60
+ collectFromCommands(parsed.commands, out);
61
+ }
62
+ catch { }
63
+ }
64
+ return out;
65
+ };
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from '../../types/config.ts';
2
+ declare const plugin: Plugin;
3
+ export default plugin;
@@ -0,0 +1,27 @@
1
+ import { join } from '../../util/path.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { DEFAULT_INPUT, DEFAULT_OUTPUT, parseScripts } from './helpers.js';
4
+ const title = '@sveltejs/package';
5
+ const enablers = ['@sveltejs/package'];
6
+ const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
7
+ const resolveSourceMap = ({ cwd, manifest }) => {
8
+ const ios = parseScripts(manifest.scripts);
9
+ const effective = ios.length > 0 ? ios : [{ input: DEFAULT_INPUT, output: DEFAULT_OUTPUT }];
10
+ const seen = new Set();
11
+ const pairs = [];
12
+ for (const { input, output } of effective) {
13
+ const key = `${input}→${output}`;
14
+ if (seen.has(key))
15
+ continue;
16
+ seen.add(key);
17
+ pairs.push({ srcDir: join(cwd, input), outDir: join(cwd, output) });
18
+ }
19
+ return pairs;
20
+ };
21
+ const plugin = {
22
+ title,
23
+ enablers,
24
+ isEnabled,
25
+ resolveSourceMap,
26
+ };
27
+ export default plugin;
@@ -1,6 +1,6 @@
1
- import { toAlias, toIgnore, toProductionEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { collectPropertyValues } from "../../typescript/ast-helpers.js";
1
+ import { toAlias, toIgnore, toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { collectPropertyValues } from '../../typescript/ast-helpers.js';
4
4
  const title = 'SvelteKit';
5
5
  const enablers = ['@sveltejs/kit'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { hasDependency } from "../../util/plugin.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
2
  const title = 'SVGO';
3
3
  const enablers = ['svgo', '@svgr/plugin-svgo'];
4
4
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { toDependency } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toDependency } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'SVGR';
4
4
  const enablers = ['@svgr/cli', '@svgr/core'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,6 +1,6 @@
1
- import { compact } from "../../util/array.js";
2
- import { toDependency } from "../../util/input.js";
3
- import { hasDependency } from "../../util/plugin.js";
1
+ import { compact } from '../../util/array.js';
2
+ import { toDependency } from '../../util/input.js';
3
+ import { hasDependency } from '../../util/plugin.js';
4
4
  const title = 'SWC';
5
5
  const enablers = ['@swc/core'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { hasDependency } from "../../util/plugin.js";
2
- import { toCosmiconfig } from "../../util/plugin-config.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
+ import { toCosmiconfig } from '../../util/plugin-config.js';
3
3
  const title = 'Syncpack';
4
4
  const enablers = ['syncpack'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { hasDependency } from "../../util/plugin.js";
2
- import compiler from "./compiler.js";
1
+ import { hasDependency } from '../../util/plugin.js';
2
+ import compiler from './compiler.js';
3
3
  const title = 'Tailwind';
4
4
  const enablers = ['tailwindcss', '@tailwindcss/vite', '@tailwindcss/postcss', '@tailwindcss/cli'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,6 +1,6 @@
1
- import { toProductionEntry } from "../../util/input.js";
2
- import { toAbsolute } from "../../util/path.js";
3
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { toAbsolute } from '../../util/path.js';
3
+ import { hasDependency } from '../../util/plugin.js';
4
4
  const title = 'TanStack Router';
5
5
  const enablers = [
6
6
  '@tanstack/react-router',
@@ -1,6 +1,6 @@
1
- import { isFile } from "../../util/fs.js";
2
- import { toConfig } from "../../util/input.js";
3
- import { join, relative } from "../../util/path.js";
1
+ import { isFile } from '../../util/fs.js';
2
+ import { toConfig } from '../../util/input.js';
3
+ import { join, relative } from '../../util/path.js';
4
4
  const title = 'Taskfile';
5
5
  const enablers = 'This plugin is enabled when a Taskfile is found (Taskfile.yml, taskfile.yml, Taskfile.yaml, taskfile.yaml, etc.).';
6
6
  const isRootOnly = true;
@@ -1,4 +1,4 @@
1
- import { _glob } from "../../util/glob.js";
1
+ import { _glob } from '../../util/glob.js';
2
2
  const title = 'Travis CI';
3
3
  const enablers = 'This plugin is enabled when a `.travis.yml` file is found in the root folder.';
4
4
  const isEnabled = async ({ cwd }) => (await _glob({ cwd, patterns: ['.travis.yml'] })).length > 0;
@@ -1,6 +1,6 @@
1
- import { toProductionEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { getEntryFromAST } from "./resolveFromAST.js";
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { getEntryFromAST } from './resolveFromAST.js';
4
4
  const title = 'tsdown';
5
5
  const enablers = ['tsdown'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { collectPropertyValues } from "../../typescript/ast-helpers.js";
1
+ import { collectPropertyValues } from '../../typescript/ast-helpers.js';
2
2
  export const getEntryFromAST = (program) => {
3
3
  return collectPropertyValues(program, 'entry');
4
4
  };
@@ -1,6 +1,6 @@
1
- import { toProductionEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
3
- import { getEntryFromAST } from "./resolveFromAST.js";
1
+ import { toProductionEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
+ import { getEntryFromAST } from './resolveFromAST.js';
4
4
  const title = 'tsup';
5
5
  const enablers = ['tsup'];
6
6
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,4 +1,4 @@
1
- import { collectPropertyValues } from "../../typescript/ast-helpers.js";
1
+ import { collectPropertyValues } from '../../typescript/ast-helpers.js';
2
2
  export const getEntryFromAST = (program) => {
3
3
  return collectPropertyValues(program, 'entry');
4
4
  };
@@ -1,5 +1,5 @@
1
- import { toEntry } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toEntry } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'tsx';
4
4
  const enablers = ['tsx'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
@@ -1,5 +1,5 @@
1
- import { toDeferResolve } from "../../util/input.js";
2
- import { hasDependency } from "../../util/plugin.js";
1
+ import { toDeferResolve } from '../../util/input.js';
2
+ import { hasDependency } from '../../util/plugin.js';
3
3
  const title = 'TypeDoc';
4
4
  const enablers = ['typedoc'];
5
5
  const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);