skuba 14.0.0-esmify-skuba-20251031141102 → 14.0.0-esmify-skuba-20251105034821

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 (453) hide show
  1. package/config/prettier.d.ts +8 -0
  2. package/lib/cli/adapter/eslint.js +4 -2
  3. package/lib/cli/adapter/eslint.js.map +1 -1
  4. package/lib/cli/adapter/prettier.js +8 -4
  5. package/lib/cli/adapter/prettier.js.map +1 -1
  6. package/lib/cli/build/args.js +4 -2
  7. package/lib/cli/build/args.js.map +1 -1
  8. package/lib/cli/build/assets.js +6 -3
  9. package/lib/cli/build/assets.js.map +1 -1
  10. package/lib/cli/build/esbuild.js +5 -3
  11. package/lib/cli/build/esbuild.js.map +2 -2
  12. package/lib/cli/build/index.js +4 -2
  13. package/lib/cli/build/index.js.map +1 -1
  14. package/lib/cli/build/tsc.js +10 -5
  15. package/lib/cli/build/tsc.js.map +1 -1
  16. package/lib/cli/buildPackage/index.js +4 -2
  17. package/lib/cli/buildPackage/index.js.map +1 -1
  18. package/lib/cli/configure/analyseConfiguration.js +4 -2
  19. package/lib/cli/configure/analyseConfiguration.js.map +1 -1
  20. package/lib/cli/configure/analyseDependencies.js +4 -2
  21. package/lib/cli/configure/analyseDependencies.js.map +1 -1
  22. package/lib/cli/configure/analysis/diff.js +4 -2
  23. package/lib/cli/configure/analysis/diff.js.map +1 -1
  24. package/lib/cli/configure/analysis/files.js +4 -2
  25. package/lib/cli/configure/analysis/files.js.map +1 -1
  26. package/lib/cli/configure/analysis/git.js +4 -2
  27. package/lib/cli/configure/analysis/git.js.map +1 -1
  28. package/lib/cli/configure/analysis/package.js +6 -3
  29. package/lib/cli/configure/analysis/package.js.map +1 -1
  30. package/lib/cli/configure/analysis/project.js +6 -3
  31. package/lib/cli/configure/analysis/project.js.map +1 -1
  32. package/lib/cli/configure/dependencies/index.js +12 -6
  33. package/lib/cli/configure/dependencies/index.js.map +1 -1
  34. package/lib/cli/configure/dependencies/seekDatadogCustomMetrics.js +4 -2
  35. package/lib/cli/configure/dependencies/seekDatadogCustomMetrics.js.map +1 -1
  36. package/lib/cli/configure/dependencies/seekKoala.js +4 -2
  37. package/lib/cli/configure/dependencies/seekKoala.js.map +1 -1
  38. package/lib/cli/configure/dependencies/skuba.js +4 -2
  39. package/lib/cli/configure/dependencies/skuba.js.map +1 -1
  40. package/lib/cli/configure/dependencies/skubaDeps.js +4 -2
  41. package/lib/cli/configure/dependencies/skubaDeps.js.map +1 -1
  42. package/lib/cli/configure/dependencies/skubaDive.js +6 -3
  43. package/lib/cli/configure/dependencies/skubaDive.js.map +1 -1
  44. package/lib/cli/configure/ensureTemplateCompletion.js +4 -2
  45. package/lib/cli/configure/ensureTemplateCompletion.js.map +1 -1
  46. package/lib/cli/configure/getEntryPoint.js +4 -2
  47. package/lib/cli/configure/getEntryPoint.js.map +1 -1
  48. package/lib/cli/configure/getProjectType.js +4 -2
  49. package/lib/cli/configure/getProjectType.js.map +1 -1
  50. package/lib/cli/configure/index.js +4 -2
  51. package/lib/cli/configure/index.js.map +1 -1
  52. package/lib/cli/configure/modules/eslint.js +4 -2
  53. package/lib/cli/configure/modules/eslint.js.map +1 -1
  54. package/lib/cli/configure/modules/ignore.js +4 -2
  55. package/lib/cli/configure/modules/ignore.js.map +1 -1
  56. package/lib/cli/configure/modules/index.js +4 -2
  57. package/lib/cli/configure/modules/index.js.map +1 -1
  58. package/lib/cli/configure/modules/nodemon.js +4 -2
  59. package/lib/cli/configure/modules/nodemon.js.map +1 -1
  60. package/lib/cli/configure/modules/package.js +4 -2
  61. package/lib/cli/configure/modules/package.js.map +1 -1
  62. package/lib/cli/configure/modules/prettier.js +4 -2
  63. package/lib/cli/configure/modules/prettier.js.map +1 -1
  64. package/lib/cli/configure/modules/renovate.js +6 -3
  65. package/lib/cli/configure/modules/renovate.js.map +1 -1
  66. package/lib/cli/configure/modules/serverless.js +4 -2
  67. package/lib/cli/configure/modules/serverless.js.map +1 -1
  68. package/lib/cli/configure/modules/tslint.js +4 -2
  69. package/lib/cli/configure/modules/tslint.js.map +1 -1
  70. package/lib/cli/configure/processing/configFile.js +8 -4
  71. package/lib/cli/configure/processing/configFile.js.map +1 -1
  72. package/lib/cli/configure/processing/deleteFiles.js +4 -2
  73. package/lib/cli/configure/processing/deleteFiles.js.map +1 -1
  74. package/lib/cli/configure/processing/javascript.js +6 -3
  75. package/lib/cli/configure/processing/javascript.js.map +1 -1
  76. package/lib/cli/configure/processing/json.js +6 -3
  77. package/lib/cli/configure/processing/json.js.map +1 -1
  78. package/lib/cli/configure/processing/loadFiles.js +4 -2
  79. package/lib/cli/configure/processing/loadFiles.js.map +1 -1
  80. package/lib/cli/configure/processing/module.js +4 -2
  81. package/lib/cli/configure/processing/module.js.map +1 -1
  82. package/lib/cli/configure/processing/package.js +10 -5
  83. package/lib/cli/configure/processing/package.js.map +1 -1
  84. package/lib/cli/configure/processing/prettier.js +4 -2
  85. package/lib/cli/configure/processing/prettier.js.map +1 -1
  86. package/lib/cli/configure/processing/record.js +8 -4
  87. package/lib/cli/configure/processing/record.js.map +1 -1
  88. package/lib/cli/configure/processing/typescript.js +10 -5
  89. package/lib/cli/configure/processing/typescript.js.map +1 -1
  90. package/lib/cli/configure/types.js +0 -1
  91. package/lib/cli/format/index.js +4 -2
  92. package/lib/cli/format/index.js.map +1 -1
  93. package/lib/cli/help/index.js +4 -2
  94. package/lib/cli/help/index.js.map +1 -1
  95. package/lib/cli/init/getConfig.js +12 -6
  96. package/lib/cli/init/getConfig.js.map +1 -1
  97. package/lib/cli/init/git.js +6 -3
  98. package/lib/cli/init/git.js.map +1 -1
  99. package/lib/cli/init/index.js +4 -2
  100. package/lib/cli/init/index.js.map +1 -1
  101. package/lib/cli/init/prompts.js +10 -5
  102. package/lib/cli/init/prompts.js.map +1 -1
  103. package/lib/cli/init/types.js +4 -2
  104. package/lib/cli/init/types.js.map +1 -1
  105. package/lib/cli/init/validation.js +12 -6
  106. package/lib/cli/init/validation.js.map +1 -1
  107. package/lib/cli/init/writePackageJson.js +4 -2
  108. package/lib/cli/init/writePackageJson.js.map +1 -1
  109. package/lib/cli/lint/annotate/buildkite/eslint.js +4 -2
  110. package/lib/cli/lint/annotate/buildkite/eslint.js.map +1 -1
  111. package/lib/cli/lint/annotate/buildkite/index.js +4 -2
  112. package/lib/cli/lint/annotate/buildkite/index.js.map +1 -1
  113. package/lib/cli/lint/annotate/buildkite/internal.js +4 -2
  114. package/lib/cli/lint/annotate/buildkite/internal.js.map +1 -1
  115. package/lib/cli/lint/annotate/buildkite/prettier.js +4 -2
  116. package/lib/cli/lint/annotate/buildkite/prettier.js.map +1 -1
  117. package/lib/cli/lint/annotate/buildkite/tsc.js +4 -2
  118. package/lib/cli/lint/annotate/buildkite/tsc.js.map +1 -1
  119. package/lib/cli/lint/annotate/github/eslint.js +4 -2
  120. package/lib/cli/lint/annotate/github/eslint.js.map +1 -1
  121. package/lib/cli/lint/annotate/github/index.js +4 -2
  122. package/lib/cli/lint/annotate/github/index.js.map +1 -1
  123. package/lib/cli/lint/annotate/github/internal.js +4 -2
  124. package/lib/cli/lint/annotate/github/internal.js.map +1 -1
  125. package/lib/cli/lint/annotate/github/prettier.js +4 -2
  126. package/lib/cli/lint/annotate/github/prettier.js.map +1 -1
  127. package/lib/cli/lint/annotate/github/tsc.js +4 -2
  128. package/lib/cli/lint/annotate/github/tsc.js.map +1 -1
  129. package/lib/cli/lint/annotate/index.js +4 -2
  130. package/lib/cli/lint/annotate/index.js.map +1 -1
  131. package/lib/cli/lint/autofix.js +8 -4
  132. package/lib/cli/lint/autofix.js.map +1 -1
  133. package/lib/cli/lint/eslint.js +6 -3
  134. package/lib/cli/lint/eslint.js.map +1 -1
  135. package/lib/cli/lint/external.js +6 -3
  136. package/lib/cli/lint/external.js.map +1 -1
  137. package/lib/cli/lint/index.js +4 -2
  138. package/lib/cli/lint/index.js.map +1 -1
  139. package/lib/cli/lint/internal.js +4 -2
  140. package/lib/cli/lint/internal.js.map +1 -1
  141. package/lib/cli/lint/internalLints/detectBadCodeowners.js +6 -3
  142. package/lib/cli/lint/internalLints/detectBadCodeowners.js.map +1 -1
  143. package/lib/cli/lint/internalLints/noSkubaTemplateJs.js +4 -2
  144. package/lib/cli/lint/internalLints/noSkubaTemplateJs.js.map +1 -1
  145. package/lib/cli/lint/internalLints/patchRenovateConfig.js +4 -2
  146. package/lib/cli/lint/internalLints/patchRenovateConfig.js.map +1 -1
  147. package/lib/cli/lint/internalLints/refreshConfigFiles.js +8 -4
  148. package/lib/cli/lint/internalLints/refreshConfigFiles.js.map +1 -1
  149. package/lib/cli/lint/internalLints/upgrade/index.js +4 -2
  150. package/lib/cli/lint/internalLints/upgrade/index.js.map +1 -1
  151. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.js +4 -2
  152. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.js.map +1 -1
  153. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.js +4 -2
  154. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.js.map +1 -1
  155. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.js +4 -2
  156. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.js.map +1 -1
  157. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.js +4 -2
  158. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.js.map +1 -1
  159. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.js +6 -3
  160. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.js.map +1 -1
  161. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/index.js +4 -2
  162. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/index.js.map +1 -1
  163. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.js +8 -4
  164. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.js.map +1 -1
  165. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/index.js +4 -2
  166. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/index.js.map +1 -1
  167. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.js +6 -3
  168. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.js.map +1 -1
  169. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/index.js +4 -2
  170. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/index.js.map +1 -1
  171. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.js +6 -3
  172. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.js.map +1 -1
  173. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.js +6 -3
  174. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.js.map +1 -1
  175. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/index.js +4 -2
  176. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/index.js.map +1 -1
  177. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.js +6 -3
  178. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.js.map +1 -1
  179. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.js +12 -6
  180. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.js.map +1 -1
  181. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/index.js +4 -2
  182. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/index.js.map +1 -1
  183. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.js +4 -2
  184. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.js.map +1 -1
  185. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.js +28 -14
  186. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.js.map +1 -1
  187. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.js +6 -3
  188. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.js.map +1 -1
  189. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.js +4 -2
  190. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.js.map +1 -1
  191. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/index.js +4 -2
  192. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/index.js.map +1 -1
  193. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.js +4 -2
  194. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.js.map +1 -1
  195. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.js +4 -2
  196. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.js.map +1 -1
  197. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/index.js +4 -2
  198. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/index.js.map +1 -1
  199. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.js +4 -2
  200. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.js.map +1 -1
  201. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.js +4 -2
  202. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.js.map +1 -1
  203. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/index.js +4 -2
  204. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/index.js.map +1 -1
  205. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.js +4 -2
  206. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.js.map +1 -1
  207. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.js +4 -2
  208. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.js.map +1 -1
  209. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.js +4 -2
  210. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.js.map +1 -1
  211. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/index.js +4 -2
  212. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/index.js.map +1 -1
  213. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.js +4 -2
  214. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.js.map +1 -1
  215. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.js +4 -2
  216. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.js.map +1 -1
  217. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.js +4 -2
  218. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.js.map +1 -1
  219. package/lib/cli/lint/prettier.js +6 -3
  220. package/lib/cli/lint/prettier.js.map +1 -1
  221. package/lib/cli/lint/tsc.js +4 -2
  222. package/lib/cli/lint/tsc.js.map +1 -1
  223. package/lib/cli/lint/types.js +0 -1
  224. package/lib/cli/migrate/index.js +4 -2
  225. package/lib/cli/migrate/index.js.map +1 -1
  226. package/lib/cli/migrate/nodeVersion/checks.js +10 -5
  227. package/lib/cli/migrate/nodeVersion/checks.js.map +1 -1
  228. package/lib/cli/migrate/nodeVersion/index.js +4 -2
  229. package/lib/cli/migrate/nodeVersion/index.js.map +1 -1
  230. package/lib/cli/node/index.js +6 -3
  231. package/lib/cli/node/index.js.map +1 -1
  232. package/lib/cli/release/index.js +4 -2
  233. package/lib/cli/release/index.js.map +1 -1
  234. package/lib/cli/start/index.js +4 -2
  235. package/lib/cli/start/index.js.map +1 -1
  236. package/lib/cli/test/index.js +4 -2
  237. package/lib/cli/test/index.js.map +1 -1
  238. package/lib/cli/version/index.js +4 -2
  239. package/lib/cli/version/index.js.map +1 -1
  240. package/lib/enquirer.d.js +0 -1
  241. package/lib/eslint.d.js +0 -1
  242. package/lib/index.js +10 -5
  243. package/lib/index.js.map +1 -1
  244. package/lib/skuba.js +0 -1
  245. package/lib/skuba.js.map +1 -1
  246. package/lib/utils/args.js +10 -5
  247. package/lib/utils/args.js.map +1 -1
  248. package/lib/utils/command.js +12 -6
  249. package/lib/utils/command.js.map +1 -1
  250. package/lib/utils/copy.js +10 -5
  251. package/lib/utils/copy.js.map +1 -1
  252. package/lib/utils/dir.js +16 -8
  253. package/lib/utils/dir.js.map +1 -1
  254. package/lib/utils/env.js +4 -2
  255. package/lib/utils/env.js.map +1 -1
  256. package/lib/utils/error.js +10 -5
  257. package/lib/utils/error.js.map +1 -1
  258. package/lib/utils/exec.js +12 -6
  259. package/lib/utils/exec.js.map +1 -1
  260. package/lib/utils/fs.js +4 -2
  261. package/lib/utils/fs.js.map +1 -1
  262. package/lib/utils/help.js +4 -2
  263. package/lib/utils/help.js.map +1 -1
  264. package/lib/utils/logging.js +10 -5
  265. package/lib/utils/logging.js.map +1 -1
  266. package/lib/utils/logo.js +4 -2
  267. package/lib/utils/logo.js.map +1 -1
  268. package/lib/utils/manifest.js +16 -8
  269. package/lib/utils/manifest.js.map +1 -1
  270. package/lib/utils/npmrc.js +4 -2
  271. package/lib/utils/npmrc.js.map +1 -1
  272. package/lib/utils/packageManager.js +10 -5
  273. package/lib/utils/packageManager.js.map +1 -1
  274. package/lib/utils/port.js +6 -3
  275. package/lib/utils/port.js.map +1 -1
  276. package/lib/utils/sleep.js +4 -2
  277. package/lib/utils/sleep.js.map +1 -1
  278. package/lib/utils/template.js +20 -10
  279. package/lib/utils/template.js.map +1 -1
  280. package/lib/utils/validation.js +14 -7
  281. package/lib/utils/validation.js.map +1 -1
  282. package/lib/utils/version.js +10 -5
  283. package/lib/utils/version.js.map +1 -1
  284. package/lib/utils/wait.js +6 -3
  285. package/lib/utils/wait.js.map +1 -1
  286. package/lib/utils/worker.js +6 -3
  287. package/lib/utils/worker.js.map +1 -1
  288. package/lib/wrapper/function-arguments.d.js +0 -1
  289. package/lib/wrapper/functionHandler.js +4 -2
  290. package/lib/wrapper/functionHandler.js.map +1 -1
  291. package/lib/wrapper/http.js +6 -3
  292. package/lib/wrapper/http.js.map +1 -1
  293. package/lib/wrapper/index.js +0 -1
  294. package/lib/wrapper/index.js.map +1 -1
  295. package/lib/wrapper/main.js +4 -2
  296. package/lib/wrapper/main.js.map +1 -1
  297. package/lib/wrapper/requestListener.js +4 -2
  298. package/lib/wrapper/requestListener.js.map +1 -1
  299. package/lib/wrapper/server.js +4 -2
  300. package/lib/wrapper/server.js.map +1 -1
  301. package/package.json +4 -4
  302. package/template/greeter/package.json +2 -2
  303. package/template/lambda-sqs-worker-cdk/package.json +2 -2
  304. package/lib/config/prettier.d.ts +0 -7
  305. /package/lib/{src/cli → cli}/adapter/eslint.d.ts +0 -0
  306. /package/lib/{src/cli → cli}/adapter/prettier.d.ts +0 -0
  307. /package/lib/{src/cli → cli}/build/args.d.ts +0 -0
  308. /package/lib/{src/cli → cli}/build/assets.d.ts +0 -0
  309. /package/lib/{src/cli → cli}/build/esbuild.d.ts +0 -0
  310. /package/lib/{src/cli → cli}/build/index.d.ts +0 -0
  311. /package/lib/{src/cli → cli}/build/tsc.d.ts +0 -0
  312. /package/lib/{src/cli → cli}/buildPackage/index.d.ts +0 -0
  313. /package/lib/{src/cli → cli}/configure/analyseConfiguration.d.ts +0 -0
  314. /package/lib/{src/cli → cli}/configure/analyseDependencies.d.ts +0 -0
  315. /package/lib/{src/cli → cli}/configure/analysis/diff.d.ts +0 -0
  316. /package/lib/{src/cli → cli}/configure/analysis/files.d.ts +0 -0
  317. /package/lib/{src/cli → cli}/configure/analysis/git.d.ts +0 -0
  318. /package/lib/{src/cli → cli}/configure/analysis/package.d.ts +0 -0
  319. /package/lib/{src/cli → cli}/configure/analysis/project.d.ts +0 -0
  320. /package/lib/{src/cli → cli}/configure/dependencies/index.d.ts +0 -0
  321. /package/lib/{src/cli → cli}/configure/dependencies/seekDatadogCustomMetrics.d.ts +0 -0
  322. /package/lib/{src/cli → cli}/configure/dependencies/seekKoala.d.ts +0 -0
  323. /package/lib/{src/cli → cli}/configure/dependencies/skuba.d.ts +0 -0
  324. /package/lib/{src/cli → cli}/configure/dependencies/skubaDeps.d.ts +0 -0
  325. /package/lib/{src/cli → cli}/configure/dependencies/skubaDive.d.ts +0 -0
  326. /package/lib/{src/cli → cli}/configure/ensureTemplateCompletion.d.ts +0 -0
  327. /package/lib/{src/cli → cli}/configure/getEntryPoint.d.ts +0 -0
  328. /package/lib/{src/cli → cli}/configure/getProjectType.d.ts +0 -0
  329. /package/lib/{src/cli → cli}/configure/index.d.ts +0 -0
  330. /package/lib/{src/cli → cli}/configure/modules/eslint.d.ts +0 -0
  331. /package/lib/{src/cli → cli}/configure/modules/ignore.d.ts +0 -0
  332. /package/lib/{src/cli → cli}/configure/modules/index.d.ts +0 -0
  333. /package/lib/{src/cli → cli}/configure/modules/nodemon.d.ts +0 -0
  334. /package/lib/{src/cli → cli}/configure/modules/package.d.ts +0 -0
  335. /package/lib/{src/cli → cli}/configure/modules/prettier.d.ts +0 -0
  336. /package/lib/{src/cli → cli}/configure/modules/renovate.d.ts +0 -0
  337. /package/lib/{src/cli → cli}/configure/modules/serverless.d.ts +0 -0
  338. /package/lib/{src/cli → cli}/configure/modules/tslint.d.ts +0 -0
  339. /package/lib/{src/cli → cli}/configure/processing/configFile.d.ts +0 -0
  340. /package/lib/{src/cli → cli}/configure/processing/deleteFiles.d.ts +0 -0
  341. /package/lib/{src/cli → cli}/configure/processing/javascript.d.ts +0 -0
  342. /package/lib/{src/cli → cli}/configure/processing/json.d.ts +0 -0
  343. /package/lib/{src/cli → cli}/configure/processing/loadFiles.d.ts +0 -0
  344. /package/lib/{src/cli → cli}/configure/processing/module.d.ts +0 -0
  345. /package/lib/{src/cli → cli}/configure/processing/package.d.ts +0 -0
  346. /package/lib/{src/cli → cli}/configure/processing/prettier.d.ts +0 -0
  347. /package/lib/{src/cli → cli}/configure/processing/record.d.ts +0 -0
  348. /package/lib/{src/cli → cli}/configure/processing/typescript.d.ts +0 -0
  349. /package/lib/{src/cli → cli}/configure/types.d.ts +0 -0
  350. /package/lib/{src/cli → cli}/format/index.d.ts +0 -0
  351. /package/lib/{src/cli → cli}/help/index.d.ts +0 -0
  352. /package/lib/{src/cli → cli}/init/getConfig.d.ts +0 -0
  353. /package/lib/{src/cli → cli}/init/git.d.ts +0 -0
  354. /package/lib/{src/cli → cli}/init/index.d.ts +0 -0
  355. /package/lib/{src/cli → cli}/init/prompts.d.ts +0 -0
  356. /package/lib/{src/cli → cli}/init/types.d.ts +0 -0
  357. /package/lib/{src/cli → cli}/init/validation.d.ts +0 -0
  358. /package/lib/{src/cli → cli}/init/writePackageJson.d.ts +0 -0
  359. /package/lib/{src/cli → cli}/lint/annotate/buildkite/eslint.d.ts +0 -0
  360. /package/lib/{src/cli → cli}/lint/annotate/buildkite/index.d.ts +0 -0
  361. /package/lib/{src/cli → cli}/lint/annotate/buildkite/internal.d.ts +0 -0
  362. /package/lib/{src/cli → cli}/lint/annotate/buildkite/prettier.d.ts +0 -0
  363. /package/lib/{src/cli → cli}/lint/annotate/buildkite/tsc.d.ts +0 -0
  364. /package/lib/{src/cli → cli}/lint/annotate/github/eslint.d.ts +0 -0
  365. /package/lib/{src/cli → cli}/lint/annotate/github/index.d.ts +0 -0
  366. /package/lib/{src/cli → cli}/lint/annotate/github/internal.d.ts +0 -0
  367. /package/lib/{src/cli → cli}/lint/annotate/github/prettier.d.ts +0 -0
  368. /package/lib/{src/cli → cli}/lint/annotate/github/tsc.d.ts +0 -0
  369. /package/lib/{src/cli → cli}/lint/annotate/index.d.ts +0 -0
  370. /package/lib/{src/cli → cli}/lint/autofix.d.ts +0 -0
  371. /package/lib/{src/cli → cli}/lint/eslint.d.ts +0 -0
  372. /package/lib/{src/cli → cli}/lint/external.d.ts +0 -0
  373. /package/lib/{src/cli → cli}/lint/index.d.ts +0 -0
  374. /package/lib/{src/cli → cli}/lint/internal.d.ts +0 -0
  375. /package/lib/{src/cli → cli}/lint/internalLints/detectBadCodeowners.d.ts +0 -0
  376. /package/lib/{src/cli → cli}/lint/internalLints/noSkubaTemplateJs.d.ts +0 -0
  377. /package/lib/{src/cli → cli}/lint/internalLints/patchRenovateConfig.d.ts +0 -0
  378. /package/lib/{src/cli → cli}/lint/internalLints/refreshConfigFiles.d.ts +0 -0
  379. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/index.d.ts +0 -0
  380. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.0.4/index.d.ts +0 -0
  381. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.d.ts +0 -0
  382. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.1.0/index.d.ts +0 -0
  383. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.d.ts +0 -0
  384. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.d.ts +0 -0
  385. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.0.2/index.d.ts +0 -0
  386. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.d.ts +0 -0
  387. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.1.1/index.d.ts +0 -0
  388. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.d.ts +0 -0
  389. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.3.0/index.d.ts +0 -0
  390. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.d.ts +0 -0
  391. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.d.ts +0 -0
  392. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.0/index.d.ts +0 -0
  393. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.d.ts +0 -0
  394. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.d.ts +0 -0
  395. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/index.d.ts +0 -0
  396. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.d.ts +0 -0
  397. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.d.ts +0 -0
  398. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.d.ts +0 -0
  399. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.d.ts +0 -0
  400. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/7.3.1/index.d.ts +0 -0
  401. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.d.ts +0 -0
  402. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.d.ts +0 -0
  403. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.0.0/index.d.ts +0 -0
  404. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.d.ts +0 -0
  405. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.d.ts +0 -0
  406. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/index.d.ts +0 -0
  407. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.d.ts +0 -0
  408. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.d.ts +0 -0
  409. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.d.ts +0 -0
  410. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/9.0.1/index.d.ts +0 -0
  411. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.d.ts +0 -0
  412. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/9.1.0/index.d.ts +0 -0
  413. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.d.ts +0 -0
  414. /package/lib/{src/cli → cli}/lint/prettier.d.ts +0 -0
  415. /package/lib/{src/cli → cli}/lint/tsc.d.ts +0 -0
  416. /package/lib/{src/cli → cli}/lint/types.d.ts +0 -0
  417. /package/lib/{src/cli → cli}/migrate/index.d.ts +0 -0
  418. /package/lib/{src/cli → cli}/migrate/nodeVersion/checks.d.ts +0 -0
  419. /package/lib/{src/cli → cli}/migrate/nodeVersion/index.d.ts +0 -0
  420. /package/lib/{src/cli → cli}/node/index.d.ts +0 -0
  421. /package/lib/{src/cli → cli}/release/index.d.ts +0 -0
  422. /package/lib/{src/cli → cli}/start/index.d.ts +0 -0
  423. /package/lib/{src/cli → cli}/test/index.d.ts +0 -0
  424. /package/lib/{src/cli → cli}/version/index.d.ts +0 -0
  425. /package/lib/{src/index.d.ts → index.d.ts} +0 -0
  426. /package/lib/{src/skuba.d.ts → skuba.d.ts} +0 -0
  427. /package/lib/{src/utils → utils}/args.d.ts +0 -0
  428. /package/lib/{src/utils → utils}/command.d.ts +0 -0
  429. /package/lib/{src/utils → utils}/copy.d.ts +0 -0
  430. /package/lib/{src/utils → utils}/dir.d.ts +0 -0
  431. /package/lib/{src/utils → utils}/env.d.ts +0 -0
  432. /package/lib/{src/utils → utils}/error.d.ts +0 -0
  433. /package/lib/{src/utils → utils}/exec.d.ts +0 -0
  434. /package/lib/{src/utils → utils}/fs.d.ts +0 -0
  435. /package/lib/{src/utils → utils}/help.d.ts +0 -0
  436. /package/lib/{src/utils → utils}/logging.d.ts +0 -0
  437. /package/lib/{src/utils → utils}/logo.d.ts +0 -0
  438. /package/lib/{src/utils → utils}/manifest.d.ts +0 -0
  439. /package/lib/{src/utils → utils}/npmrc.d.ts +0 -0
  440. /package/lib/{src/utils → utils}/packageManager.d.ts +0 -0
  441. /package/lib/{src/utils → utils}/port.d.ts +0 -0
  442. /package/lib/{src/utils → utils}/sleep.d.ts +0 -0
  443. /package/lib/{src/utils → utils}/template.d.ts +0 -0
  444. /package/lib/{src/utils → utils}/validation.d.ts +0 -0
  445. /package/lib/{src/utils → utils}/version.d.ts +0 -0
  446. /package/lib/{src/utils → utils}/wait.d.ts +0 -0
  447. /package/lib/{src/utils → utils}/worker.d.ts +0 -0
  448. /package/lib/{src/wrapper → wrapper}/functionHandler.d.ts +0 -0
  449. /package/lib/{src/wrapper → wrapper}/http.d.ts +0 -0
  450. /package/lib/{src/wrapper → wrapper}/index.d.ts +0 -0
  451. /package/lib/{src/wrapper → wrapper}/main.d.ts +0 -0
  452. /package/lib/{src/wrapper → wrapper}/requestListener.d.ts +0 -0
  453. /package/lib/{src/wrapper → wrapper}/server.d.ts +0 -0
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import path from "path";
3
2
  import execa from "execa";
4
3
  import getPort from "get-port";
@@ -6,8 +5,8 @@ import { parseRunArgs } from "../../utils/args.js";
6
5
  import { createExec } from "../../utils/exec.js";
7
6
  import { isIpPort } from "../../utils/validation.js";
8
7
  import { getCustomConditions } from "../build/tsc.js";
9
- export const longRunning = true;
10
- export const node = async () => {
8
+ const longRunning = true;
9
+ const node = async () => {
11
10
  const args = parseRunArgs(process.argv.slice(2));
12
11
  const customConditions = getCustomConditions();
13
12
  const uniqueConditions = [
@@ -48,4 +47,8 @@ export const node = async () => {
48
47
  }
49
48
  );
50
49
  };
50
+ export {
51
+ longRunning,
52
+ node
53
+ };
51
54
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/node/index.ts"],
4
4
  "sourcesContent": ["import path from 'path';\n\nimport execa from 'execa';\nimport getPort from 'get-port';\n\nimport { parseRunArgs } from '../../utils/args.js';\nimport { createExec } from '../../utils/exec.js';\nimport { isIpPort } from '../../utils/validation.js';\nimport { getCustomConditions } from '../build/tsc.js';\n\nexport const longRunning = true;\n\nexport const node = async () => {\n const args = parseRunArgs(process.argv.slice(2));\n const customConditions = getCustomConditions();\n\n const uniqueConditions = [\n ...new Set([...(args.conditions ?? []), ...customConditions]),\n ];\n\n const availablePort = await getPort();\n\n const commonArgs = [\n ...args.node,\n ...uniqueConditions.map((condition) => `--conditions=${condition}`),\n '--env-file-if-exists',\n '.env',\n ];\n\n if (args.entryPoint) {\n const exec = createExec({\n env: {\n __SKUBA_ENTRY_POINT: args.entryPoint,\n __SKUBA_PORT: String(isIpPort(args.port) ? args.port : availablePort),\n },\n });\n\n return exec(\n 'tsx',\n ...commonArgs,\n path.join(import.meta.dirname, '..', '..', 'wrapper', 'index.js'),\n ...args.script,\n );\n }\n\n return execa(\n new URL(import.meta.resolve('tsx/cli')).pathname,\n [\n ...commonArgs,\n '--import',\n // Unsure if bug or feature that this is needed, but tsx appears to not do anything typescript in the REPL without this!\n // Doesn't occur when just running the tsx binary directly \uD83E\uDDD0\n new URL(import.meta.resolve('tsx/patch-repl')).pathname,\n ],\n {\n stdio: 'inherit',\n },\n );\n};\n"],
5
- "mappings": ";AAAA,OAAO,UAAU;AAEjB,OAAO,WAAW;AAClB,OAAO,aAAa;AAEpB,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAE7B,aAAM,cAAc;AAEpB,aAAM,OAAO,YAAY;AAC9B,QAAM,OAAO,aAAa,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC/C,QAAM,mBAAmB,oBAAoB;AAE7C,QAAM,mBAAmB;AAAA,IACvB,GAAG,oBAAI,IAAI,CAAC,GAAI,KAAK,cAAc,CAAC,GAAI,GAAG,gBAAgB,CAAC;AAAA,EAC9D;AAEA,QAAM,gBAAgB,MAAM,QAAQ;AAEpC,QAAM,aAAa;AAAA,IACjB,GAAG,KAAK;AAAA,IACR,GAAG,iBAAiB,IAAI,CAAC,cAAc,gBAAgB,SAAS,EAAE;AAAA,IAClE;AAAA,IACA;AAAA,EACF;AAEA,MAAI,KAAK,YAAY;AACnB,UAAM,OAAO,WAAW;AAAA,MACtB,KAAK;AAAA,QACH,qBAAqB,KAAK;AAAA,QAC1B,cAAc,OAAO,SAAS,KAAK,IAAI,IAAI,KAAK,OAAO,aAAa;AAAA,MACtE;AAAA,IACF,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA,GAAG;AAAA,MACH,KAAK,KAAK,YAAY,SAAS,MAAM,MAAM,WAAW,UAAU;AAAA,MAChE,GAAG,KAAK;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AAAA,IACL,IAAI,IAAI,YAAY,QAAQ,SAAS,CAAC,EAAE;AAAA,IACxC;AAAA,MACE,GAAG;AAAA,MACH;AAAA;AAAA;AAAA,MAGA,IAAI,IAAI,YAAY,QAAQ,gBAAgB,CAAC,EAAE;AAAA,IACjD;AAAA,IACA;AAAA,MACE,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
5
+ "mappings": "AAAA,OAAO,UAAU;AAEjB,OAAO,WAAW;AAClB,OAAO,aAAa;AAEpB,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAE7B,MAAM,cAAc;AAEpB,MAAM,OAAO,YAAY;AAC9B,QAAM,OAAO,aAAa,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC/C,QAAM,mBAAmB,oBAAoB;AAE7C,QAAM,mBAAmB;AAAA,IACvB,GAAG,oBAAI,IAAI,CAAC,GAAI,KAAK,cAAc,CAAC,GAAI,GAAG,gBAAgB,CAAC;AAAA,EAC9D;AAEA,QAAM,gBAAgB,MAAM,QAAQ;AAEpC,QAAM,aAAa;AAAA,IACjB,GAAG,KAAK;AAAA,IACR,GAAG,iBAAiB,IAAI,CAAC,cAAc,gBAAgB,SAAS,EAAE;AAAA,IAClE;AAAA,IACA;AAAA,EACF;AAEA,MAAI,KAAK,YAAY;AACnB,UAAM,OAAO,WAAW;AAAA,MACtB,KAAK;AAAA,QACH,qBAAqB,KAAK;AAAA,QAC1B,cAAc,OAAO,SAAS,KAAK,IAAI,IAAI,KAAK,OAAO,aAAa;AAAA,MACtE;AAAA,IACF,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA,GAAG;AAAA,MACH,KAAK,KAAK,YAAY,SAAS,MAAM,MAAM,WAAW,UAAU;AAAA,MAChE,GAAG,KAAK;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AAAA,IACL,IAAI,IAAI,YAAY,QAAQ,SAAS,CAAC,EAAE;AAAA,IACxC;AAAA,MACE,GAAG;AAAA,MACH;AAAA;AAAA;AAAA,MAGA,IAAI,IAAI,YAAY,QAAQ,gBAAgB,CAAC,EAAE;AAAA,IACjD;AAAA,IACA;AAAA,MACE,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,8 @@
1
- "use strict";
2
1
  import { exec } from "../../utils/exec.js";
3
- export const release = async () => {
2
+ const release = async () => {
4
3
  await exec("semantic-release", "--success", "false");
5
4
  };
5
+ export {
6
+ release
7
+ };
6
8
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/release/index.ts"],
4
4
  "sourcesContent": ["import { exec } from '../../utils/exec.js';\n\nexport const release = async () => {\n await exec('semantic-release', '--success', 'false');\n};\n"],
5
- "mappings": ";AAAA,SAAS,YAAY;AAEd,aAAM,UAAU,YAAY;AACjC,QAAM,KAAK,oBAAoB,aAAa,OAAO;AACrD;",
5
+ "mappings": "AAAA,SAAS,YAAY;AAEd,MAAM,UAAU,YAAY;AACjC,QAAM,KAAK,oBAAoB,aAAa,OAAO;AACrD;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import path from "path";
3
2
  import getPort from "get-port";
4
3
  import { parseRunArgs } from "../../utils/args.js";
@@ -6,7 +5,7 @@ import { createExec } from "../../utils/exec.js";
6
5
  import { getEntryPointFromManifest } from "../../utils/manifest.js";
7
6
  import { isIpPort } from "../../utils/validation.js";
8
7
  import { getCustomConditions } from "../build/tsc.js";
9
- export const start = async () => {
8
+ const start = async () => {
10
9
  const customConditions = getCustomConditions();
11
10
  const args = parseRunArgs(process.argv.slice(2));
12
11
  const availablePort = await getPort();
@@ -34,4 +33,7 @@ export const start = async () => {
34
33
  ...args.script
35
34
  );
36
35
  };
36
+ export {
37
+ start
38
+ };
37
39
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/start/index.ts"],
4
4
  "sourcesContent": ["import path from 'path';\n\nimport getPort from 'get-port';\n\nimport { parseRunArgs } from '../../utils/args.js';\nimport { createExec } from '../../utils/exec.js';\nimport { getEntryPointFromManifest } from '../../utils/manifest.js';\nimport { isIpPort } from '../../utils/validation.js';\nimport { getCustomConditions } from '../build/tsc.js';\n\nexport const start = async () => {\n const customConditions = getCustomConditions();\n const args = parseRunArgs(process.argv.slice(2));\n const availablePort = await getPort();\n\n const uniqueConditions = [\n ...new Set([...(args.conditions ?? []), ...customConditions]),\n ];\n\n args.entryPoint ??= await getEntryPointFromManifest();\n\n const execProcess = createExec({\n env: {\n __SKUBA_ENTRY_POINT: args.entryPoint,\n __SKUBA_PORT: String(isIpPort(args.port) ? args.port : availablePort),\n },\n });\n\n return execProcess(\n 'tsx',\n 'watch',\n '--clear-screen=false',\n ...args.node,\n ...uniqueConditions.map((condition) => `--conditions=${condition}`),\n '--env-file-if-exists',\n '.env',\n '--require',\n 'tsconfig-paths/register',\n path.join(import.meta.dirname, '..', '..', 'wrapper', 'index.js'),\n ...args.script,\n );\n};\n"],
5
- "mappings": ";AAAA,OAAO,UAAU;AAEjB,OAAO,aAAa;AAEpB,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,iCAAiC;AAC1C,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAE7B,aAAM,QAAQ,YAAY;AAC/B,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,OAAO,aAAa,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC/C,QAAM,gBAAgB,MAAM,QAAQ;AAEpC,QAAM,mBAAmB;AAAA,IACvB,GAAG,oBAAI,IAAI,CAAC,GAAI,KAAK,cAAc,CAAC,GAAI,GAAG,gBAAgB,CAAC;AAAA,EAC9D;AAEA,OAAK,eAAe,MAAM,0BAA0B;AAEpD,QAAM,cAAc,WAAW;AAAA,IAC7B,KAAK;AAAA,MACH,qBAAqB,KAAK;AAAA,MAC1B,cAAc,OAAO,SAAS,KAAK,IAAI,IAAI,KAAK,OAAO,aAAa;AAAA,IACtE;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG,KAAK;AAAA,IACR,GAAG,iBAAiB,IAAI,CAAC,cAAc,gBAAgB,SAAS,EAAE;AAAA,IAClE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,KAAK,YAAY,SAAS,MAAM,MAAM,WAAW,UAAU;AAAA,IAChE,GAAG,KAAK;AAAA,EACV;AACF;",
5
+ "mappings": "AAAA,OAAO,UAAU;AAEjB,OAAO,aAAa;AAEpB,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,iCAAiC;AAC1C,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAE7B,MAAM,QAAQ,YAAY;AAC/B,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,OAAO,aAAa,QAAQ,KAAK,MAAM,CAAC,CAAC;AAC/C,QAAM,gBAAgB,MAAM,QAAQ;AAEpC,QAAM,mBAAmB;AAAA,IACvB,GAAG,oBAAI,IAAI,CAAC,GAAI,KAAK,cAAc,CAAC,GAAI,GAAG,gBAAgB,CAAC;AAAA,EAC9D;AAEA,OAAK,eAAe,MAAM,0BAA0B;AAEpD,QAAM,cAAc,WAAW;AAAA,IAC7B,KAAK;AAAA,MACH,qBAAqB,KAAK;AAAA,MAC1B,cAAc,OAAO,SAAS,KAAK,IAAI,IAAI,KAAK,OAAO,aAAa;AAAA,IACtE;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG,KAAK;AAAA,IACR,GAAG,iBAAiB,IAAI,CAAC,cAAc,gBAAgB,SAAS,EAAE;AAAA,IAClE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,KAAK,YAAY,SAAS,MAAM,MAAM,WAAW,UAAU;AAAA,IAChE,GAAG,KAAK;AAAA,EACV;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,9 @@
1
- "use strict";
2
1
  import { exec } from "../../utils/exec.js";
3
- export const test = async () => {
2
+ const test = async () => {
4
3
  const argv = process.argv.slice(2);
5
4
  return exec("vitest", ...argv);
6
5
  };
6
+ export {
7
+ test
8
+ };
7
9
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/test/index.ts"],
4
4
  "sourcesContent": ["import { exec } from '../../utils/exec.js';\n\nexport const test = async () => {\n const argv = process.argv.slice(2);\n\n return exec('vitest', ...argv);\n};\n"],
5
- "mappings": ";AAAA,SAAS,YAAY;AAEd,aAAM,OAAO,YAAY;AAC9B,QAAM,OAAO,QAAQ,KAAK,MAAM,CAAC;AAEjC,SAAO,KAAK,UAAU,GAAG,IAAI;AAC/B;",
5
+ "mappings": "AAAA,SAAS,YAAY;AAEd,MAAM,OAAO,YAAY;AAC9B,QAAM,OAAO,QAAQ,KAAK,MAAM,CAAC;AAEjC,SAAO,KAAK,UAAU,GAAG,IAAI;AAC/B;",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,10 @@
1
- "use strict";
2
1
  import { log } from "../../utils/logging.js";
3
2
  import { getSkubaVersion } from "../../utils/version.js";
4
- export const version = async () => {
3
+ const version = async () => {
5
4
  const skubaVersion = await getSkubaVersion();
6
5
  log.plain(skubaVersion);
7
6
  };
7
+ export {
8
+ version
9
+ };
8
10
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/version/index.ts"],
4
4
  "sourcesContent": ["import { log } from '../../utils/logging.js';\nimport { getSkubaVersion } from '../../utils/version.js';\n\nexport const version = async () => {\n const skubaVersion = await getSkubaVersion();\n\n log.plain(skubaVersion);\n};\n"],
5
- "mappings": ";AAAA,SAAS,WAAW;AACpB,SAAS,uBAAuB;AAEzB,aAAM,UAAU,YAAY;AACjC,QAAM,eAAe,MAAM,gBAAgB;AAE3C,MAAI,MAAM,YAAY;AACxB;",
5
+ "mappings": "AAAA,SAAS,WAAW;AACpB,SAAS,uBAAuB;AAEzB,MAAM,UAAU,YAAY;AACjC,QAAM,eAAe,MAAM,gBAAgB;AAE3C,MAAI,MAAM,YAAY;AACxB;",
6
6
  "names": []
7
7
  }
package/lib/enquirer.d.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
1
  //# sourceMappingURL=enquirer.d.js.map
package/lib/eslint.d.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
1
  //# sourceMappingURL=eslint.d.js.map
package/lib/index.js CHANGED
@@ -1,6 +1,11 @@
1
- "use strict";
2
- export * as Buildkite from "@skuba-lib/api/buildkite";
3
- export * as Git from "@skuba-lib/api/git";
4
- export * as GitHub from "@skuba-lib/api/github";
5
- export * as Net from "@skuba-lib/api/net";
1
+ import * as Buildkite from "@skuba-lib/api/buildkite";
2
+ import * as Git from "@skuba-lib/api/git";
3
+ import * as GitHub from "@skuba-lib/api/github";
4
+ import * as Net from "@skuba-lib/api/net";
5
+ export {
6
+ Buildkite,
7
+ Git,
8
+ GitHub,
9
+ Net
10
+ };
6
11
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
4
  "sourcesContent": ["/**\n * Entry point for the Node.js development API.\n *\n * This is where skuba imports point to:\n *\n * ```typescript\n * import { Net } from 'skuba';\n *\n * const { Net } = require('skuba');\n * ```\n */\n\nexport * as Buildkite from '@skuba-lib/api/buildkite';\nexport * as Git from '@skuba-lib/api/git';\nexport * as GitHub from '@skuba-lib/api/github';\nexport * as Net from '@skuba-lib/api/net';\n\n// evanw/esbuild#2388\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace WebAssembly {\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n interface Module {}\n }\n}\n"],
5
- "mappings": ";AAYA,YAAY,eAAe;AAC3B,YAAY,SAAS;AACrB,YAAY,YAAY;AACxB,YAAY,SAAS;",
5
+ "mappings": "AAYA,YAAY,eAAe;AAC3B,YAAY,SAAS;AACrB,YAAY,YAAY;AACxB,YAAY,SAAS;",
6
6
  "names": []
7
7
  }
package/lib/skuba.js CHANGED
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
2
  import path from "path";
4
3
  import { parseProcessArgs } from "./utils/args.js";
5
4
  import {
package/lib/skuba.js.map CHANGED
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/skuba.ts"],
4
4
  "sourcesContent": ["#!/usr/bin/env node\n\n/**\n * Entry point for the CLI.\n *\n * This is where you end up when you run:\n *\n * ```bash\n * [pnpm|yarn] skuba help\n * ```\n */\n\nimport path from 'path';\n\nimport { parseProcessArgs } from './utils/args.js';\nimport {\n COMMAND_DIR,\n COMMAND_SET,\n type Command,\n commandToModule,\n} from './utils/command.js';\nimport { isCiEnv } from './utils/env.js';\nimport { handleCliError } from './utils/error.js';\nimport { showHelp } from './utils/help.js';\nimport { log } from './utils/logging.js';\nimport { showLogoAndVersionInfo } from './utils/logo.js';\nimport { isObject } from './utils/validation.js';\n\nconst THIRTY_MINUTES = 30 * 60 * 1000;\n\nconst skuba = async () => {\n const { commandName } = parseProcessArgs(process.argv);\n\n if (COMMAND_SET.has(commandName)) {\n const moduleName = commandToModule(commandName as Command);\n\n const commandModule = (await import(\n path.join(COMMAND_DIR, moduleName, 'index.js')\n )) as unknown;\n\n if (!isObject(commandModule) || !(moduleName in commandModule)) {\n log.err(log.bold(commandName), \"couldn't run! Please submit an issue.\");\n process.exitCode = 1;\n return;\n }\n\n const run = commandModule[moduleName] as () => Promise<unknown>;\n\n if (commandModule.longRunning) {\n // This is a long-running command, so we don't want to impose a timeout.\n return run();\n }\n\n // If we're not in a CI environment, we don't need to worry about timeouts, which are primarily to prevent\n // builds running \"forever\" in CI without our knowledge.\n // Local commands may run for a long time, e.g. `skuba start` or `skuba test --watch`, which are unlikely to be used in CI.\n if (!isCiEnv() || process.env.SKUBA_NO_TIMEOUT === 'true') {\n return run();\n }\n\n const timeoutId = setTimeout(\n () => {\n log.err(\n log.bold(commandName),\n 'timed out. This may indicate a process hanging - please file an issue.',\n );\n\n // Need to force exit because promises may be hanging so node won't exit on its own.\n process.exit(1);\n },\n process.env.SKUBA_TIMEOUT_MS\n ? parseInt(process.env.SKUBA_TIMEOUT_MS, 10)\n : THIRTY_MINUTES,\n );\n\n return run().finally(() => clearTimeout(timeoutId));\n }\n\n log.err(log.bold(commandName), 'is not recognised as a command.');\n await showLogoAndVersionInfo();\n showHelp();\n\n process.exitCode = 1;\n return;\n};\n\nskuba().catch(handleCliError);\n"],
5
- "mappings": ";;AAYA,OAAO,UAAU;AAEjB,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AACP,SAAS,eAAe;AACxB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAS,WAAW;AACpB,SAAS,8BAA8B;AACvC,SAAS,gBAAgB;AAEzB,MAAM,iBAAiB,KAAK,KAAK;AAEjC,MAAM,QAAQ,YAAY;AACxB,QAAM,EAAE,YAAY,IAAI,iBAAiB,QAAQ,IAAI;AAErD,MAAI,YAAY,IAAI,WAAW,GAAG;AAChC,UAAM,aAAa,gBAAgB,WAAsB;AAEzD,UAAM,gBAAiB,MAAM,OAC3B,KAAK,KAAK,aAAa,YAAY,UAAU;AAG/C,QAAI,CAAC,SAAS,aAAa,KAAK,EAAE,cAAc,gBAAgB;AAC9D,UAAI,IAAI,IAAI,KAAK,WAAW,GAAG,uCAAuC;AACtE,cAAQ,WAAW;AACnB;AAAA,IACF;AAEA,UAAM,MAAM,cAAc,UAAU;AAEpC,QAAI,cAAc,aAAa;AAE7B,aAAO,IAAI;AAAA,IACb;AAKA,QAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,qBAAqB,QAAQ;AACzD,aAAO,IAAI;AAAA,IACb;AAEA,UAAM,YAAY;AAAA,MAChB,MAAM;AACJ,YAAI;AAAA,UACF,IAAI,KAAK,WAAW;AAAA,UACpB;AAAA,QACF;AAGA,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,MACA,QAAQ,IAAI,mBACR,SAAS,QAAQ,IAAI,kBAAkB,EAAE,IACzC;AAAA,IACN;AAEA,WAAO,IAAI,EAAE,QAAQ,MAAM,aAAa,SAAS,CAAC;AAAA,EACpD;AAEA,MAAI,IAAI,IAAI,KAAK,WAAW,GAAG,iCAAiC;AAChE,QAAM,uBAAuB;AAC7B,WAAS;AAET,UAAQ,WAAW;AACnB;AACF;AAEA,MAAM,EAAE,MAAM,cAAc;",
5
+ "mappings": ";AAYA,OAAO,UAAU;AAEjB,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AACP,SAAS,eAAe;AACxB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAS,WAAW;AACpB,SAAS,8BAA8B;AACvC,SAAS,gBAAgB;AAEzB,MAAM,iBAAiB,KAAK,KAAK;AAEjC,MAAM,QAAQ,YAAY;AACxB,QAAM,EAAE,YAAY,IAAI,iBAAiB,QAAQ,IAAI;AAErD,MAAI,YAAY,IAAI,WAAW,GAAG;AAChC,UAAM,aAAa,gBAAgB,WAAsB;AAEzD,UAAM,gBAAiB,MAAM,OAC3B,KAAK,KAAK,aAAa,YAAY,UAAU;AAG/C,QAAI,CAAC,SAAS,aAAa,KAAK,EAAE,cAAc,gBAAgB;AAC9D,UAAI,IAAI,IAAI,KAAK,WAAW,GAAG,uCAAuC;AACtE,cAAQ,WAAW;AACnB;AAAA,IACF;AAEA,UAAM,MAAM,cAAc,UAAU;AAEpC,QAAI,cAAc,aAAa;AAE7B,aAAO,IAAI;AAAA,IACb;AAKA,QAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,qBAAqB,QAAQ;AACzD,aAAO,IAAI;AAAA,IACb;AAEA,UAAM,YAAY;AAAA,MAChB,MAAM;AACJ,YAAI;AAAA,UACF,IAAI,KAAK,WAAW;AAAA,UACpB;AAAA,QACF;AAGA,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,MACA,QAAQ,IAAI,mBACR,SAAS,QAAQ,IAAI,kBAAkB,EAAE,IACzC;AAAA,IACN;AAEA,WAAO,IAAI,EAAE,QAAQ,MAAM,aAAa,SAAS,CAAC;AAAA,EACpD;AAEA,MAAI,IAAI,IAAI,KAAK,WAAW,GAAG,iCAAiC;AAChE,QAAM,uBAAuB;AAC7B,WAAS;AAET,UAAQ,WAAW;AACnB;AACF;AAEA,MAAM,EAAE,MAAM,cAAc;",
6
6
  "names": []
7
7
  }
package/lib/utils/args.js CHANGED
@@ -1,15 +1,14 @@
1
- "use strict";
2
1
  import assert from "assert";
3
2
  import { COMMAND_ALIASES } from "./command.js";
4
- export const hasDebugFlag = (args = process.argv) => args.some((arg) => arg.toLocaleLowerCase() === "--debug");
5
- export const hasSerialFlag = (args = process.argv, env = process.env) => args.some((arg) => arg.toLocaleLowerCase() === "--serial") || Boolean(
3
+ const hasDebugFlag = (args = process.argv) => args.some((arg) => arg.toLocaleLowerCase() === "--debug");
4
+ const hasSerialFlag = (args = process.argv, env = process.env) => args.some((arg) => arg.toLocaleLowerCase() === "--serial") || Boolean(
6
5
  // Run serially on SEEK's central npm publishing pipeline.
7
6
  // Exhausting agents here can cause grief.
8
7
  env.BUILDKITE_AGENT_META_DATA_QUEUE?.split(",").some(
9
8
  (queueName) => queueName.startsWith("artefacts:npm")
10
9
  )
11
10
  );
12
- export const parseProcessArgs = (args = process.argv) => {
11
+ const parseProcessArgs = (args = process.argv) => {
13
12
  const skubaIdx = args.findIndex((chunk) => /skuba(\.[jt]s)?$/.test(chunk));
14
13
  assert(skubaIdx >= 0, "Cannot parse args for `skuba`");
15
14
  const rawCommand = (args[skubaIdx + 1] ?? "help").toLocaleLowerCase();
@@ -21,7 +20,7 @@ export const parseProcessArgs = (args = process.argv) => {
21
20
  args.splice(skubaIdx + 1, 1);
22
21
  return payload;
23
22
  };
24
- export const parseRunArgs = (argv) => {
23
+ const parseRunArgs = (argv) => {
25
24
  const state = {
26
25
  node: [],
27
26
  script: []
@@ -74,4 +73,10 @@ const parseRunArgsIteration = (state, args) => {
74
73
  state.script.push(...args.slice(1));
75
74
  return [];
76
75
  };
76
+ export {
77
+ hasDebugFlag,
78
+ hasSerialFlag,
79
+ parseProcessArgs,
80
+ parseRunArgs
81
+ };
77
82
  //# sourceMappingURL=args.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/args.ts"],
4
4
  "sourcesContent": ["import assert from 'assert';\n\nimport { COMMAND_ALIASES } from './command.js';\n\nexport const hasDebugFlag = (args = process.argv) =>\n args.some((arg) => arg.toLocaleLowerCase() === '--debug');\n\nexport const hasSerialFlag = (args = process.argv, env = process.env) =>\n args.some((arg) => arg.toLocaleLowerCase() === '--serial') ||\n Boolean(\n // Run serially on SEEK's central npm publishing pipeline.\n // Exhausting agents here can cause grief.\n env.BUILDKITE_AGENT_META_DATA_QUEUE?.split(',').some((queueName) =>\n queueName.startsWith('artefacts:npm'),\n ),\n );\n\n/**\n * Parse process arguments.\n *\n * This function mutates the input list by removing the command name element.\n * Downstream commands can access their args with an ordinary\n * `process.argv.slice(2)`.\n *\n * Example input:\n *\n * ```typescript\n * ['/bin/node', 'node_modules/.bin/skuba', 'test', '--foo', '--bar']\n * ```\n */\nexport const parseProcessArgs = (args = process.argv) => {\n const skubaIdx = args.findIndex((chunk) => /skuba(\\.[jt]s)?$/.test(chunk));\n\n assert(skubaIdx >= 0, 'Cannot parse args for `skuba`');\n\n const rawCommand = (args[skubaIdx + 1] ?? 'help').toLocaleLowerCase();\n\n const commandName = COMMAND_ALIASES[rawCommand] ?? rawCommand;\n\n const payload = {\n commandName,\n args: args.slice(skubaIdx + 2),\n };\n\n args.splice(skubaIdx + 1, 1);\n\n return payload;\n};\n\ninterface RunArgs {\n /** The conditions to pass to the entry point script. */\n conditions?: string[];\n\n /** The path to the entry point script. */\n entryPoint?: string;\n\n /** The port to start an HTTP server on. */\n port?: number;\n\n /** Arguments passed through to the Node.js executable. */\n node: string[];\n\n /** Arguments passed through to the entry point script. */\n script: string[];\n}\n\n/**\n * Make a best effort to parse \"run\" args.\n *\n * These are arguments that would be passed to `skuba node` or `skuba start`.\n * Parsing is handrolled because we support some weird and wonderful behaviour:\n *\n * - The `--port` option may be intended for skuba itself\n * - The `--inspect` options may be intended for the Node.js inspector\n * - The entry point may be omitted in favour of `package.json` inference\n * - Other args may be intended for propagation to the entry point\n */\nexport const parseRunArgs = (argv: string[]): RunArgs => {\n const state: RunArgs = {\n node: [],\n script: [],\n };\n\n let args = argv.filter((element) => element.length);\n\n while (args.length) {\n args = parseRunArgsIteration(state, args);\n }\n\n return state;\n};\n\nconst isDigits = (arg: unknown): arg is string =>\n typeof arg === 'string' && /^\\d+$/.test(arg);\n\nconst parseRunArgsIteration = (state: RunArgs, args: string[]): string[] => {\n const [arg1, arg2] = args;\n\n if (!arg1) {\n return [];\n }\n\n if (/^--inspect(-brk)?=\\d+$/.test(arg1)) {\n state.node.push(arg1);\n return args.slice(1);\n }\n\n // Node.js inspector options that are optionally followed by a numeric port.\n if (['--inspect', '--inspect-brk'].includes(arg1)) {\n if (isDigits(arg2)) {\n state.node.push(`${arg1}=${arg2}`);\n return args.slice(2);\n }\n\n state.node.push(arg1);\n\n if (arg2) {\n // Some other string that doesn't relate to the Node.js inspector option.\n // This is presumably the entry point script to run.\n state.entryPoint = arg2;\n state.script.push(...args.slice(2));\n }\n\n return [];\n }\n\n if (/^--port=\\d+$/.test(arg1)) {\n state.port = Number(arg1.slice(7));\n return args.slice(1);\n }\n\n if (arg1 === '--port') {\n if (isDigits(arg2)) {\n state.port = Number(arg2);\n return args.slice(2);\n }\n\n // Invalid port argument; eat it.\n return args.slice(1);\n }\n\n if (arg1.startsWith('--conditions=')) {\n state.conditions ??= [];\n state.conditions.push(arg1.slice(13));\n return args.slice(1);\n }\n\n state.entryPoint = arg1;\n state.script.push(...args.slice(1));\n return [];\n};\n"],
5
- "mappings": ";AAAA,OAAO,YAAY;AAEnB,SAAS,uBAAuB;AAEzB,aAAM,eAAe,CAAC,OAAO,QAAQ,SAC1C,KAAK,KAAK,CAAC,QAAQ,IAAI,kBAAkB,MAAM,SAAS;AAEnD,aAAM,gBAAgB,CAAC,OAAO,QAAQ,MAAM,MAAM,QAAQ,QAC/D,KAAK,KAAK,CAAC,QAAQ,IAAI,kBAAkB,MAAM,UAAU,KACzD;AAAA;AAAA;AAAA,EAGE,IAAI,iCAAiC,MAAM,GAAG,EAAE;AAAA,IAAK,CAAC,cACpD,UAAU,WAAW,eAAe;AAAA,EACtC;AACF;AAeK,aAAM,mBAAmB,CAAC,OAAO,QAAQ,SAAS;AACvD,QAAM,WAAW,KAAK,UAAU,CAAC,UAAU,mBAAmB,KAAK,KAAK,CAAC;AAEzE,SAAO,YAAY,GAAG,+BAA+B;AAErD,QAAM,cAAc,KAAK,WAAW,CAAC,KAAK,QAAQ,kBAAkB;AAEpE,QAAM,cAAc,gBAAgB,UAAU,KAAK;AAEnD,QAAM,UAAU;AAAA,IACd;AAAA,IACA,MAAM,KAAK,MAAM,WAAW,CAAC;AAAA,EAC/B;AAEA,OAAK,OAAO,WAAW,GAAG,CAAC;AAE3B,SAAO;AACT;AA8BO,aAAM,eAAe,CAAC,SAA4B;AACvD,QAAM,QAAiB;AAAA,IACrB,MAAM,CAAC;AAAA,IACP,QAAQ,CAAC;AAAA,EACX;AAEA,MAAI,OAAO,KAAK,OAAO,CAAC,YAAY,QAAQ,MAAM;AAElD,SAAO,KAAK,QAAQ;AAClB,WAAO,sBAAsB,OAAO,IAAI;AAAA,EAC1C;AAEA,SAAO;AACT;AAEA,MAAM,WAAW,CAAC,QAChB,OAAO,QAAQ,YAAY,QAAQ,KAAK,GAAG;AAE7C,MAAM,wBAAwB,CAAC,OAAgB,SAA6B;AAC1E,QAAM,CAAC,MAAM,IAAI,IAAI;AAErB,MAAI,CAAC,MAAM;AACT,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,yBAAyB,KAAK,IAAI,GAAG;AACvC,UAAM,KAAK,KAAK,IAAI;AACpB,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAGA,MAAI,CAAC,aAAa,eAAe,EAAE,SAAS,IAAI,GAAG;AACjD,QAAI,SAAS,IAAI,GAAG;AAClB,YAAM,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE;AACjC,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AAEA,UAAM,KAAK,KAAK,IAAI;AAEpB,QAAI,MAAM;AAGR,YAAM,aAAa;AACnB,YAAM,OAAO,KAAK,GAAG,KAAK,MAAM,CAAC,CAAC;AAAA,IACpC;AAEA,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,eAAe,KAAK,IAAI,GAAG;AAC7B,UAAM,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC;AACjC,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAEA,MAAI,SAAS,UAAU;AACrB,QAAI,SAAS,IAAI,GAAG;AAClB,YAAM,OAAO,OAAO,IAAI;AACxB,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AAGA,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAEA,MAAI,KAAK,WAAW,eAAe,GAAG;AACpC,UAAM,eAAe,CAAC;AACtB,UAAM,WAAW,KAAK,KAAK,MAAM,EAAE,CAAC;AACpC,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAEA,QAAM,aAAa;AACnB,QAAM,OAAO,KAAK,GAAG,KAAK,MAAM,CAAC,CAAC;AAClC,SAAO,CAAC;AACV;",
5
+ "mappings": "AAAA,OAAO,YAAY;AAEnB,SAAS,uBAAuB;AAEzB,MAAM,eAAe,CAAC,OAAO,QAAQ,SAC1C,KAAK,KAAK,CAAC,QAAQ,IAAI,kBAAkB,MAAM,SAAS;AAEnD,MAAM,gBAAgB,CAAC,OAAO,QAAQ,MAAM,MAAM,QAAQ,QAC/D,KAAK,KAAK,CAAC,QAAQ,IAAI,kBAAkB,MAAM,UAAU,KACzD;AAAA;AAAA;AAAA,EAGE,IAAI,iCAAiC,MAAM,GAAG,EAAE;AAAA,IAAK,CAAC,cACpD,UAAU,WAAW,eAAe;AAAA,EACtC;AACF;AAeK,MAAM,mBAAmB,CAAC,OAAO,QAAQ,SAAS;AACvD,QAAM,WAAW,KAAK,UAAU,CAAC,UAAU,mBAAmB,KAAK,KAAK,CAAC;AAEzE,SAAO,YAAY,GAAG,+BAA+B;AAErD,QAAM,cAAc,KAAK,WAAW,CAAC,KAAK,QAAQ,kBAAkB;AAEpE,QAAM,cAAc,gBAAgB,UAAU,KAAK;AAEnD,QAAM,UAAU;AAAA,IACd;AAAA,IACA,MAAM,KAAK,MAAM,WAAW,CAAC;AAAA,EAC/B;AAEA,OAAK,OAAO,WAAW,GAAG,CAAC;AAE3B,SAAO;AACT;AA8BO,MAAM,eAAe,CAAC,SAA4B;AACvD,QAAM,QAAiB;AAAA,IACrB,MAAM,CAAC;AAAA,IACP,QAAQ,CAAC;AAAA,EACX;AAEA,MAAI,OAAO,KAAK,OAAO,CAAC,YAAY,QAAQ,MAAM;AAElD,SAAO,KAAK,QAAQ;AAClB,WAAO,sBAAsB,OAAO,IAAI;AAAA,EAC1C;AAEA,SAAO;AACT;AAEA,MAAM,WAAW,CAAC,QAChB,OAAO,QAAQ,YAAY,QAAQ,KAAK,GAAG;AAE7C,MAAM,wBAAwB,CAAC,OAAgB,SAA6B;AAC1E,QAAM,CAAC,MAAM,IAAI,IAAI;AAErB,MAAI,CAAC,MAAM;AACT,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,yBAAyB,KAAK,IAAI,GAAG;AACvC,UAAM,KAAK,KAAK,IAAI;AACpB,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAGA,MAAI,CAAC,aAAa,eAAe,EAAE,SAAS,IAAI,GAAG;AACjD,QAAI,SAAS,IAAI,GAAG;AAClB,YAAM,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE;AACjC,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AAEA,UAAM,KAAK,KAAK,IAAI;AAEpB,QAAI,MAAM;AAGR,YAAM,aAAa;AACnB,YAAM,OAAO,KAAK,GAAG,KAAK,MAAM,CAAC,CAAC;AAAA,IACpC;AAEA,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,eAAe,KAAK,IAAI,GAAG;AAC7B,UAAM,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC;AACjC,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAEA,MAAI,SAAS,UAAU;AACrB,QAAI,SAAS,IAAI,GAAG;AAClB,YAAM,OAAO,OAAO,IAAI;AACxB,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AAGA,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAEA,MAAI,KAAK,WAAW,eAAe,GAAG;AACpC,UAAM,eAAe,CAAC;AACtB,UAAM,WAAW,KAAK,KAAK,MAAM,EAAE,CAAC;AACpC,WAAO,KAAK,MAAM,CAAC;AAAA,EACrB;AAEA,QAAM,aAAa;AACnB,QAAM,OAAO,KAAK,GAAG,KAAK,MAAM,CAAC,CAAC;AAClC,SAAO,CAAC;AACV;",
6
6
  "names": []
7
7
  }
@@ -1,13 +1,12 @@
1
- "use strict";
2
1
  import path from "path";
3
- export const COMMAND_ALIASES = {
2
+ const COMMAND_ALIASES = {
4
3
  "-h": "help",
5
4
  "--help": "help",
6
5
  "-v": "version",
7
6
  "--version": "version"
8
7
  };
9
- export const COMMAND_DIR = path.join(import.meta.dirname, "..", "cli");
10
- export const COMMAND_LIST = [
8
+ const COMMAND_DIR = path.join(import.meta.dirname, "..", "cli");
9
+ const COMMAND_LIST = [
11
10
  "build",
12
11
  "build-package",
13
12
  "configure",
@@ -22,8 +21,15 @@ export const COMMAND_LIST = [
22
21
  "test",
23
22
  "version"
24
23
  ];
25
- export const COMMAND_SET = new Set(COMMAND_LIST);
26
- export const commandToModule = (command) => command.split("-").map(
24
+ const COMMAND_SET = new Set(COMMAND_LIST);
25
+ const commandToModule = (command) => command.split("-").map(
27
26
  (segment, index) => index === 0 ? segment : `${(segment[0] ?? "").toLocaleUpperCase()}${segment.slice(1)}`
28
27
  ).join("");
28
+ export {
29
+ COMMAND_ALIASES,
30
+ COMMAND_DIR,
31
+ COMMAND_LIST,
32
+ COMMAND_SET,
33
+ commandToModule
34
+ };
29
35
  //# sourceMappingURL=command.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/command.ts"],
4
4
  "sourcesContent": ["import path from 'path';\n\nexport type Command = (typeof COMMAND_LIST)[number];\n\nexport const COMMAND_ALIASES: Record<string, Command> = {\n '-h': 'help',\n '--help': 'help',\n '-v': 'version',\n '--version': 'version',\n};\n\nexport const COMMAND_DIR = path.join(import.meta.dirname, '..', 'cli');\n\nexport const COMMAND_LIST = [\n 'build',\n 'build-package',\n 'configure',\n 'format',\n 'help',\n 'init',\n 'lint',\n 'migrate',\n 'node',\n 'release',\n 'start',\n 'test',\n 'version',\n] as const;\n\nexport const COMMAND_SET = new Set<string>(COMMAND_LIST);\n\nexport const commandToModule = (command: Command): string =>\n command\n .split('-')\n .map((segment, index) =>\n index === 0\n ? segment\n : `${(segment[0] ?? '').toLocaleUpperCase()}${segment.slice(1)}`,\n )\n .join('');\n"],
5
- "mappings": ";AAAA,OAAO,UAAU;AAIV,aAAM,kBAA2C;AAAA,EACtD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAa;AACf;AAEO,aAAM,cAAc,KAAK,KAAK,YAAY,SAAS,MAAM,KAAK;AAE9D,aAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,aAAM,cAAc,IAAI,IAAY,YAAY;AAEhD,aAAM,kBAAkB,CAAC,YAC9B,QACG,MAAM,GAAG,EACT;AAAA,EAAI,CAAC,SAAS,UACb,UAAU,IACN,UACA,IAAI,QAAQ,CAAC,KAAK,IAAI,kBAAkB,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;AAClE,EACC,KAAK,EAAE;",
5
+ "mappings": "AAAA,OAAO,UAAU;AAIV,MAAM,kBAA2C;AAAA,EACtD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAa;AACf;AAEO,MAAM,cAAc,KAAK,KAAK,YAAY,SAAS,MAAM,KAAK;AAE9D,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,cAAc,IAAI,IAAY,YAAY;AAEhD,MAAM,kBAAkB,CAAC,YAC9B,QACG,MAAM,GAAG,EACT;AAAA,EAAI,CAAC,SAAS,UACb,UAAU,IACN,UACA,IAAI,QAAQ,CAAC,KAAK,IAAI,kBAAkB,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;AAClE,EACC,KAAK,EAAE;",
6
6
  "names": []
7
7
  }
package/lib/utils/copy.js CHANGED
@@ -1,10 +1,9 @@
1
- "use strict";
2
1
  import path from "path";
3
2
  import ejs from "ejs";
4
3
  import fs from "fs-extra";
5
4
  import { isErrorWithCode } from "./error.js";
6
5
  import { log } from "./logging.js";
7
- export const copyFile = async (sourcePath, destinationPath, {
6
+ const copyFile = async (sourcePath, destinationPath, {
8
7
  overwrite = true,
9
8
  processors
10
9
  }) => {
@@ -27,7 +26,7 @@ export const copyFile = async (sourcePath, destinationPath, {
27
26
  throw err;
28
27
  }
29
28
  };
30
- export const createEjsRenderer = (templateData) => (sourcePath, contents) => {
29
+ const createEjsRenderer = (templateData) => (sourcePath, contents) => {
31
30
  try {
32
31
  return ejs.render(contents, templateData, { strict: false });
33
32
  } catch (err) {
@@ -36,11 +35,11 @@ export const createEjsRenderer = (templateData) => (sourcePath, contents) => {
36
35
  return contents;
37
36
  }
38
37
  };
39
- export const createStringReplacer = (replacements) => (_sourcePath, contents) => replacements.reduce(
38
+ const createStringReplacer = (replacements) => (_sourcePath, contents) => replacements.reduce(
40
39
  (newContents, { input, output }) => newContents.replace(input, output),
41
40
  contents
42
41
  );
43
- export const copyFiles = async (opts, currentSourceDir = opts.sourceRoot, currentDestinationDir = opts.destinationRoot) => {
42
+ const copyFiles = async (opts, currentSourceDir = opts.sourceRoot, currentDestinationDir = opts.destinationRoot) => {
44
43
  const filenames = await fs.promises.readdir(currentSourceDir);
45
44
  const toDestinationPath = (filename) => path.join(
46
45
  currentDestinationDir,
@@ -68,4 +67,10 @@ export const copyFiles = async (opts, currentSourceDir = opts.sourceRoot, curren
68
67
  })
69
68
  );
70
69
  };
70
+ export {
71
+ copyFile,
72
+ copyFiles,
73
+ createEjsRenderer,
74
+ createStringReplacer
75
+ };
71
76
  //# sourceMappingURL=copy.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/copy.ts"],
4
4
  "sourcesContent": ["import path from 'path';\n\nimport ejs from 'ejs';\nimport fs from 'fs-extra';\n\nimport { isErrorWithCode } from './error.js';\nimport { log } from './logging.js';\n\nexport type TextProcessor = (sourcePath: string, contents: string) => string;\n\nexport const copyFile = async (\n sourcePath: string,\n destinationPath: string,\n {\n overwrite = true,\n processors,\n }: Pick<CopyFilesOptions, 'overwrite' | 'processors'>,\n) => {\n const oldContents = await fs.promises.readFile(sourcePath, 'utf8');\n\n const newContents = processors.reduce(\n (contents, process) => process(sourcePath, contents),\n oldContents,\n );\n\n if (oldContents === newContents && sourcePath === destinationPath) {\n return;\n }\n\n try {\n await fs.promises.writeFile(destinationPath, newContents, {\n flag: overwrite ? 'w' : 'wx',\n });\n } catch (err) {\n if (isErrorWithCode(err, 'EEXIST')) {\n return;\n }\n\n throw err;\n }\n};\n\ninterface CopyFilesOptions {\n sourceRoot: string;\n destinationRoot: string;\n\n include: (pathname: string) => boolean;\n overwrite?: boolean;\n processors: TextProcessor[];\n stripUnderscorePrefix?: boolean;\n}\n\nexport const createEjsRenderer =\n (templateData: Record<string, unknown>): TextProcessor =>\n (sourcePath: string, contents) => {\n try {\n return ejs.render(contents, templateData, { strict: false });\n } catch (err) {\n log.err('Failed to render', log.bold(sourcePath));\n log.subtle(err);\n return contents;\n }\n };\n\nexport const createStringReplacer =\n (\n replacements: Array<{\n input: RegExp;\n output: string;\n }>,\n ): TextProcessor =>\n (_sourcePath: string, contents) =>\n replacements.reduce(\n (newContents, { input, output }) => newContents.replace(input, output),\n contents,\n );\n\nexport const copyFiles = async (\n opts: CopyFilesOptions,\n currentSourceDir: string = opts.sourceRoot,\n currentDestinationDir: string = opts.destinationRoot,\n) => {\n const filenames = await fs.promises.readdir(currentSourceDir);\n\n const toDestinationPath = (filename: string) =>\n path.join(\n currentDestinationDir,\n opts.stripUnderscorePrefix\n ? filename\n .replace(/^_\\./, '.')\n .replace(/^_package\\.json/, 'package.json')\n .replace(/^_eslint\\.config\\.js/, 'eslint.config.js')\n .replace(/^_pnpm-workspace\\.yaml/, 'pnpm-workspace.yaml')\n : filename,\n );\n\n const filteredFilenames = filenames.filter((filename) =>\n opts.include(\n path.relative(opts.destinationRoot, toDestinationPath(filename)),\n ),\n );\n\n await Promise.all(\n filteredFilenames.map(async (filename) => {\n const sourcePath = path.join(currentSourceDir, filename);\n const destinationPath = toDestinationPath(filename);\n\n try {\n await copyFile(sourcePath, destinationPath, opts);\n } catch (err) {\n if (isErrorWithCode(err, 'EISDIR')) {\n await fs.promises.mkdir(destinationPath, { recursive: true });\n return copyFiles(opts, sourcePath, destinationPath);\n }\n\n log.err('Failed to render', log.bold(sourcePath));\n\n throw err;\n }\n }),\n );\n};\n"],
5
- "mappings": ";AAAA,OAAO,UAAU;AAEjB,OAAO,SAAS;AAChB,OAAO,QAAQ;AAEf,SAAS,uBAAuB;AAChC,SAAS,WAAW;AAIb,aAAM,WAAW,OACtB,YACA,iBACA;AAAA,EACE,YAAY;AAAA,EACZ;AACF,MACG;AACH,QAAM,cAAc,MAAM,GAAG,SAAS,SAAS,YAAY,MAAM;AAEjE,QAAM,cAAc,WAAW;AAAA,IAC7B,CAAC,UAAU,YAAY,QAAQ,YAAY,QAAQ;AAAA,IACnD;AAAA,EACF;AAEA,MAAI,gBAAgB,eAAe,eAAe,iBAAiB;AACjE;AAAA,EACF;AAEA,MAAI;AACF,UAAM,GAAG,SAAS,UAAU,iBAAiB,aAAa;AAAA,MACxD,MAAM,YAAY,MAAM;AAAA,IAC1B,CAAC;AAAA,EACH,SAAS,KAAK;AACZ,QAAI,gBAAgB,KAAK,QAAQ,GAAG;AAClC;AAAA,IACF;AAEA,UAAM;AAAA,EACR;AACF;AAYO,aAAM,oBACX,CAAC,iBACD,CAAC,YAAoB,aAAa;AAChC,MAAI;AACF,WAAO,IAAI,OAAO,UAAU,cAAc,EAAE,QAAQ,MAAM,CAAC;AAAA,EAC7D,SAAS,KAAK;AACZ,QAAI,IAAI,oBAAoB,IAAI,KAAK,UAAU,CAAC;AAChD,QAAI,OAAO,GAAG;AACd,WAAO;AAAA,EACT;AACF;AAEK,aAAM,uBACX,CACE,iBAKF,CAAC,aAAqB,aACpB,aAAa;AAAA,EACX,CAAC,aAAa,EAAE,OAAO,OAAO,MAAM,YAAY,QAAQ,OAAO,MAAM;AAAA,EACrE;AACF;AAEG,aAAM,YAAY,OACvB,MACA,mBAA2B,KAAK,YAChC,wBAAgC,KAAK,oBAClC;AACH,QAAM,YAAY,MAAM,GAAG,SAAS,QAAQ,gBAAgB;AAE5D,QAAM,oBAAoB,CAAC,aACzB,KAAK;AAAA,IACH;AAAA,IACA,KAAK,wBACD,SACG,QAAQ,QAAQ,GAAG,EACnB,QAAQ,mBAAmB,cAAc,EACzC,QAAQ,wBAAwB,kBAAkB,EAClD,QAAQ,0BAA0B,qBAAqB,IAC1D;AAAA,EACN;AAEF,QAAM,oBAAoB,UAAU;AAAA,IAAO,CAAC,aAC1C,KAAK;AAAA,MACH,KAAK,SAAS,KAAK,iBAAiB,kBAAkB,QAAQ,CAAC;AAAA,IACjE;AAAA,EACF;AAEA,QAAM,QAAQ;AAAA,IACZ,kBAAkB,IAAI,OAAO,aAAa;AACxC,YAAM,aAAa,KAAK,KAAK,kBAAkB,QAAQ;AACvD,YAAM,kBAAkB,kBAAkB,QAAQ;AAElD,UAAI;AACF,cAAM,SAAS,YAAY,iBAAiB,IAAI;AAAA,MAClD,SAAS,KAAK;AACZ,YAAI,gBAAgB,KAAK,QAAQ,GAAG;AAClC,gBAAM,GAAG,SAAS,MAAM,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAC5D,iBAAO,UAAU,MAAM,YAAY,eAAe;AAAA,QACpD;AAEA,YAAI,IAAI,oBAAoB,IAAI,KAAK,UAAU,CAAC;AAEhD,cAAM;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
5
+ "mappings": "AAAA,OAAO,UAAU;AAEjB,OAAO,SAAS;AAChB,OAAO,QAAQ;AAEf,SAAS,uBAAuB;AAChC,SAAS,WAAW;AAIb,MAAM,WAAW,OACtB,YACA,iBACA;AAAA,EACE,YAAY;AAAA,EACZ;AACF,MACG;AACH,QAAM,cAAc,MAAM,GAAG,SAAS,SAAS,YAAY,MAAM;AAEjE,QAAM,cAAc,WAAW;AAAA,IAC7B,CAAC,UAAU,YAAY,QAAQ,YAAY,QAAQ;AAAA,IACnD;AAAA,EACF;AAEA,MAAI,gBAAgB,eAAe,eAAe,iBAAiB;AACjE;AAAA,EACF;AAEA,MAAI;AACF,UAAM,GAAG,SAAS,UAAU,iBAAiB,aAAa;AAAA,MACxD,MAAM,YAAY,MAAM;AAAA,IAC1B,CAAC;AAAA,EACH,SAAS,KAAK;AACZ,QAAI,gBAAgB,KAAK,QAAQ,GAAG;AAClC;AAAA,IACF;AAEA,UAAM;AAAA,EACR;AACF;AAYO,MAAM,oBACX,CAAC,iBACD,CAAC,YAAoB,aAAa;AAChC,MAAI;AACF,WAAO,IAAI,OAAO,UAAU,cAAc,EAAE,QAAQ,MAAM,CAAC;AAAA,EAC7D,SAAS,KAAK;AACZ,QAAI,IAAI,oBAAoB,IAAI,KAAK,UAAU,CAAC;AAChD,QAAI,OAAO,GAAG;AACd,WAAO;AAAA,EACT;AACF;AAEK,MAAM,uBACX,CACE,iBAKF,CAAC,aAAqB,aACpB,aAAa;AAAA,EACX,CAAC,aAAa,EAAE,OAAO,OAAO,MAAM,YAAY,QAAQ,OAAO,MAAM;AAAA,EACrE;AACF;AAEG,MAAM,YAAY,OACvB,MACA,mBAA2B,KAAK,YAChC,wBAAgC,KAAK,oBAClC;AACH,QAAM,YAAY,MAAM,GAAG,SAAS,QAAQ,gBAAgB;AAE5D,QAAM,oBAAoB,CAAC,aACzB,KAAK;AAAA,IACH;AAAA,IACA,KAAK,wBACD,SACG,QAAQ,QAAQ,GAAG,EACnB,QAAQ,mBAAmB,cAAc,EACzC,QAAQ,wBAAwB,kBAAkB,EAClD,QAAQ,0BAA0B,qBAAqB,IAC1D;AAAA,EACN;AAEF,QAAM,oBAAoB,UAAU;AAAA,IAAO,CAAC,aAC1C,KAAK;AAAA,MACH,KAAK,SAAS,KAAK,iBAAiB,kBAAkB,QAAQ,CAAC;AAAA,IACjE;AAAA,EACF;AAEA,QAAM,QAAQ;AAAA,IACZ,kBAAkB,IAAI,OAAO,aAAa;AACxC,YAAM,aAAa,KAAK,KAAK,kBAAkB,QAAQ;AACvD,YAAM,kBAAkB,kBAAkB,QAAQ;AAElD,UAAI;AACF,cAAM,SAAS,YAAY,iBAAiB,IAAI;AAAA,MAClD,SAAS,KAAK;AACZ,YAAI,gBAAgB,KAAK,QAAQ,GAAG;AAClC,gBAAM,GAAG,SAAS,MAAM,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAC5D,iBAAO,UAAU,MAAM,YAAY,eAAe;AAAA,QACpD;AAEA,YAAI,IAAI,oBAAoB,IAAI,KAAK,UAAU,CAAC;AAEhD,cAAM;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
6
  "names": []
7
7
  }
package/lib/utils/dir.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import path from "path";
3
2
  import fs from "fs-extra";
4
3
  import ignore from "ignore";
@@ -6,14 +5,14 @@ import picomatch from "picomatch";
6
5
  import { isErrorWithCode } from "./error.js";
7
6
  import { pathExists } from "./fs.js";
8
7
  import * as Git from "@skuba-lib/api/git";
9
- export const buildPatternToFilepathMap = (patterns, allFilepaths, options) => Object.fromEntries(
8
+ const buildPatternToFilepathMap = (patterns, allFilepaths, options) => Object.fromEntries(
10
9
  patterns.map((pattern) => {
11
10
  const isMatch = picomatch(pattern, options);
12
11
  const filepaths = allFilepaths.filter((filepath) => isMatch(filepath));
13
12
  return [pattern, filepaths];
14
13
  })
15
14
  );
16
- export const crawlDirectory = async (root, ignoreFilenames = [".gitignore"]) => {
15
+ const crawlDirectory = async (root, ignoreFilenames = [".gitignore"]) => {
17
16
  const ignoreFileFilter = await createInclusionFilter(
18
17
  ignoreFilenames.map((ignoreFilename) => path.join(root, ignoreFilename))
19
18
  );
@@ -26,7 +25,7 @@ export const crawlDirectory = async (root, ignoreFilenames = [".gitignore"]) =>
26
25
  );
27
26
  return relativeFilepaths;
28
27
  };
29
- export const createInclusionFilter = async (ignoreFilepaths) => {
28
+ const createInclusionFilter = async (ignoreFilepaths) => {
30
29
  const ignoreFiles = await Promise.all(
31
30
  ignoreFilepaths.map(async (ignoreFilepath) => {
32
31
  try {
@@ -62,7 +61,7 @@ async function crawl(directoryPath, filters, paths = []) {
62
61
  }
63
62
  return paths;
64
63
  }
65
- export const locateNearestFile = async ({
64
+ const locateNearestFile = async ({
66
65
  cwd,
67
66
  filename
68
67
  }) => {
@@ -76,7 +75,7 @@ export const locateNearestFile = async ({
76
75
  }
77
76
  return null;
78
77
  };
79
- export const locateFurthestFile = async ({
78
+ const locateFurthestFile = async ({
80
79
  cwd,
81
80
  filename
82
81
  }) => {
@@ -92,7 +91,7 @@ export const locateFurthestFile = async ({
92
91
  return furthestFilePath;
93
92
  };
94
93
  const workspaceRootCache = {};
95
- export const findWorkspaceRoot = async (cwd = process.cwd()) => {
94
+ const findWorkspaceRoot = async (cwd = process.cwd()) => {
96
95
  const find = async () => {
97
96
  const [pnpmLock, yarnLock, packageJson, gitRoot] = await Promise.all([
98
97
  locateNearestFile({ cwd, filename: "pnpm-lock.yaml" }),
@@ -118,11 +117,20 @@ export const findWorkspaceRoot = async (cwd = process.cwd()) => {
118
117
  };
119
118
  return workspaceRootCache[cwd] ??= await find();
120
119
  };
121
- export const findCurrentWorkspaceProjectRoot = async (cwd = process.cwd()) => {
120
+ const findCurrentWorkspaceProjectRoot = async (cwd = process.cwd()) => {
122
121
  const packageJson = await locateNearestFile({
123
122
  cwd,
124
123
  filename: "package.json"
125
124
  });
126
125
  return packageJson ? path.dirname(packageJson) : null;
127
126
  };
127
+ export {
128
+ buildPatternToFilepathMap,
129
+ crawlDirectory,
130
+ createInclusionFilter,
131
+ findCurrentWorkspaceProjectRoot,
132
+ findWorkspaceRoot,
133
+ locateFurthestFile,
134
+ locateNearestFile
135
+ };
128
136
  //# sourceMappingURL=dir.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/dir.ts"],
4
4
  "sourcesContent": ["import path from 'path';\n\nimport fs from 'fs-extra';\nimport ignore from 'ignore';\nimport picomatch from 'picomatch';\n\nimport { isErrorWithCode } from './error.js';\nimport { pathExists } from './fs.js';\n\nimport * as Git from '@skuba-lib/api/git';\n\n/**\n * Build a map that associates each glob pattern with its matching filepaths.\n */\nexport const buildPatternToFilepathMap = (\n patterns: string[],\n allFilepaths: string[],\n options?: picomatch.PicomatchOptions,\n) =>\n Object.fromEntries(\n patterns.map((pattern) => {\n const isMatch = picomatch(pattern, options);\n\n const filepaths = allFilepaths.filter((filepath) => isMatch(filepath));\n\n return [pattern, filepaths] as const;\n }),\n );\n\n/**\n * List relative filepaths contained within a directory root.\n *\n * This excludes:\n *\n * - Patterns in the ignore files specified in `ignoreFilenames`\n * - `.git` subdirectories\n * - `node_modules` subdirectories\n */\nexport const crawlDirectory = async (\n root: string,\n ignoreFilenames = ['.gitignore'],\n) => {\n const ignoreFileFilter = await createInclusionFilter(\n ignoreFilenames.map((ignoreFilename) => path.join(root, ignoreFilename)),\n );\n\n const absoluteFilenames = await crawl(root, {\n includeDirName: (dirname) => !['.git', 'node_modules'].includes(dirname),\n includeFilePath: (pathname) =>\n ignoreFileFilter(path.relative(root, pathname)),\n });\n\n const relativeFilepaths = absoluteFilenames.map((filepath) =>\n path.relative(root, filepath),\n );\n\n return relativeFilepaths;\n};\n\n/**\n * Create a filter function that excludes filepaths based on ignore files like\n * `.gitignore` and `.prettierignore`.\n */\nexport const createInclusionFilter = async (ignoreFilepaths: string[]) => {\n const ignoreFiles = await Promise.all(\n ignoreFilepaths.map(async (ignoreFilepath) => {\n try {\n return await fs.promises.readFile(ignoreFilepath, 'utf8');\n } catch (err) {\n if (isErrorWithCode(err, 'ENOENT')) {\n return;\n }\n\n throw err;\n }\n }),\n );\n\n const managers = ignoreFiles\n .filter((value): value is string => typeof value === 'string')\n .map((value) => ignore().add(value));\n\n return ignore().add('.git').add(managers).createFilter();\n};\n\n/**\n * Recursively crawl a directory and return all file paths that match the\n * filters. `paths` is mutated and returned.\n */\nasync function crawl(\n directoryPath: string,\n filters: {\n includeDirName: (dirName: string) => boolean;\n includeFilePath: (path: string) => boolean;\n },\n paths: string[] = [],\n) {\n try {\n const entries = await fs.promises.readdir(directoryPath, {\n withFileTypes: true,\n });\n\n await Promise.all(\n entries.map(async (entry) => {\n const fullPath = path.join(directoryPath, entry.name);\n\n if (\n (entry.isFile() || entry.isSymbolicLink()) &&\n filters.includeFilePath(fullPath)\n ) {\n paths.push(fullPath);\n }\n\n if (entry.isDirectory() && filters.includeDirName(entry.name)) {\n await crawl(fullPath, filters, paths);\n }\n }),\n );\n } catch {\n // Ignore errors, because of e.g. permission issues reading directories\n }\n\n return paths;\n}\n\nexport const locateNearestFile = async ({\n cwd,\n filename,\n}: {\n cwd: string;\n filename: string;\n}) => {\n let currentDir = cwd;\n while (currentDir !== path.dirname(currentDir)) {\n const filePath = path.join(currentDir, filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n currentDir = path.dirname(currentDir);\n }\n\n return null;\n};\n\nexport const locateFurthestFile = async ({\n cwd,\n filename,\n}: {\n cwd: string;\n filename: string;\n}) => {\n let currentDir = cwd;\n let furthestFilePath: string | null = null;\n\n while (currentDir !== path.dirname(currentDir)) {\n const filePath = path.join(currentDir, filename);\n if (await pathExists(filePath)) {\n furthestFilePath = filePath;\n }\n currentDir = path.dirname(currentDir);\n }\n\n return furthestFilePath;\n};\n\nconst workspaceRootCache: Record<string, string | null> = {};\n\nexport const findWorkspaceRoot = async (\n cwd = process.cwd(),\n): Promise<string | null> => {\n const find = async (): Promise<string | null> => {\n const [pnpmLock, yarnLock, packageJson, gitRoot] = await Promise.all([\n locateNearestFile({ cwd, filename: 'pnpm-lock.yaml' }),\n locateNearestFile({ cwd, filename: 'yarn.lock' }),\n locateFurthestFile({ cwd, filename: 'package.json' }),\n Git.findRoot({ dir: cwd }),\n ]);\n\n const candidates = [\n pnpmLock ? path.dirname(pnpmLock) : null,\n yarnLock ? path.dirname(yarnLock) : null,\n packageJson ? path.dirname(packageJson) : null,\n gitRoot,\n ].filter((dir): dir is string => dir !== null);\n\n if (candidates[0]) {\n // Pick the longest path. This will be the most specific, which helps guard against someone\n // having an accidental lockfile in a parent directory by mistake.\n\n return candidates.reduce((longest, current) => {\n if (current.split(path.sep).length > longest.split(path.sep).length) {\n return current;\n }\n return longest;\n }, candidates[0]);\n }\n\n return null;\n };\n\n return (workspaceRootCache[cwd] ??= await find());\n};\n\nexport const findCurrentWorkspaceProjectRoot = async (\n cwd = process.cwd(),\n): Promise<string | null> => {\n const packageJson = await locateNearestFile({\n cwd,\n filename: 'package.json',\n });\n return packageJson ? path.dirname(packageJson) : null;\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/lib/utils/env.js CHANGED
@@ -1,3 +1,5 @@
1
- "use strict";
2
- export const isCiEnv = (env = process.env) => Boolean(env.BUILDKITE || env.CI || env.GITHUB_ACTIONS);
1
+ const isCiEnv = (env = process.env) => Boolean(env.BUILDKITE || env.CI || env.GITHUB_ACTIONS);
2
+ export {
3
+ isCiEnv
4
+ };
3
5
  //# sourceMappingURL=env.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/env.ts"],
4
4
  "sourcesContent": ["/**\n * Whether the code is executing in a CI environment.\n */\nexport const isCiEnv = (env = process.env): boolean =>\n Boolean(env.BUILDKITE || env.CI || env.GITHUB_ACTIONS);\n"],
5
- "mappings": ";AAGO,aAAM,UAAU,CAAC,MAAM,QAAQ,QACpC,QAAQ,IAAI,aAAa,IAAI,MAAM,IAAI,cAAc;",
5
+ "mappings": "AAGO,MAAM,UAAU,CAAC,MAAM,QAAQ,QACpC,QAAQ,IAAI,aAAa,IAAI,MAAM,IAAI,cAAc;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,8 @@
1
- "use strict";
2
1
  import { inspect } from "util";
3
2
  import * as z from "zod/v4";
4
3
  import { log } from "./logging.js";
5
4
  import { hasNumberProp, hasProp } from "./validation.js";
6
- export const concurrentlyErrorsSchema = z.array(
5
+ const concurrentlyErrorsSchema = z.array(
7
6
  z.object({
8
7
  command: z.object({
9
8
  command: z.string(),
@@ -13,11 +12,11 @@ export const concurrentlyErrorsSchema = z.array(
13
12
  exitCode: z.number()
14
13
  })
15
14
  );
16
- export const createTerseError = (message) => Object.assign(new Error(message), {
15
+ const createTerseError = (message) => Object.assign(new Error(message), {
17
16
  [inspect.custom]: () => message
18
17
  });
19
18
  const isExecaError = (err) => hasNumberProp(err, "exitCode");
20
- export const handleCliError = (err) => {
19
+ const handleCliError = (err) => {
21
20
  if (isExecaError(err)) {
22
21
  process.exitCode = err.exitCode;
23
22
  return;
@@ -26,5 +25,11 @@ export const handleCliError = (err) => {
26
25
  process.exitCode = 1;
27
26
  return;
28
27
  };
29
- export const isErrorWithCode = (err, code) => hasProp(err, "code") && err.code === code;
28
+ const isErrorWithCode = (err, code) => hasProp(err, "code") && err.code === code;
29
+ export {
30
+ concurrentlyErrorsSchema,
31
+ createTerseError,
32
+ handleCliError,
33
+ isErrorWithCode
34
+ };
30
35
  //# sourceMappingURL=error.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/error.ts"],
4
4
  "sourcesContent": ["import { inspect } from 'util';\n\nimport type { ExecaError } from 'execa';\nimport * as z from 'zod/v4';\n\nimport { log } from './logging.js';\nimport { hasNumberProp, hasProp } from './validation.js';\n\nexport type ConcurrentlyErrors = z.infer<typeof concurrentlyErrorsSchema>;\n\nexport const concurrentlyErrorsSchema = z.array(\n z.object({\n command: z.object({\n command: z.string(),\n name: z.string(),\n }),\n index: z.number(),\n exitCode: z.number(),\n }),\n);\n\n/**\n * Creates an error that returns its plain `message` rather than a full stack\n * trace when `util.inspect`ed.\n *\n * This can be useful for terser handling and logging of known error scenarios\n * that have descriptive messages.\n *\n * https://nodejs.org/api/util.html#custom-inspection-functions-on-objects\n */\nexport const createTerseError = (message?: string) =>\n Object.assign(new Error(message), {\n [inspect.custom]: () => message,\n });\n\nconst isExecaError = (err: unknown): err is ExecaError =>\n hasNumberProp(err, 'exitCode');\n\nexport const handleCliError = (err: unknown) => {\n if (isExecaError(err)) {\n process.exitCode = err.exitCode;\n return;\n }\n\n log.err(inspect(err));\n process.exitCode = 1;\n return;\n};\n\nexport const isErrorWithCode = <T>(\n err: unknown,\n code: T,\n): err is Record<PropertyKey, unknown> & { code: T } =>\n hasProp(err, 'code') && err.code === code;\n"],
5
- "mappings": ";AAAA,SAAS,eAAe;AAGxB,YAAY,OAAO;AAEnB,SAAS,WAAW;AACpB,SAAS,eAAe,eAAe;AAIhC,aAAM,2BAA2B,EAAE;AAAA,EACxC,EAAE,OAAO;AAAA,IACP,SAAS,EAAE,OAAO;AAAA,MAChB,SAAS,EAAE,OAAO;AAAA,MAClB,MAAM,EAAE,OAAO;AAAA,IACjB,CAAC;AAAA,IACD,OAAO,EAAE,OAAO;AAAA,IAChB,UAAU,EAAE,OAAO;AAAA,EACrB,CAAC;AACH;AAWO,aAAM,mBAAmB,CAAC,YAC/B,OAAO,OAAO,IAAI,MAAM,OAAO,GAAG;AAAA,EAChC,CAAC,QAAQ,MAAM,GAAG,MAAM;AAC1B,CAAC;AAEH,MAAM,eAAe,CAAC,QACpB,cAAc,KAAK,UAAU;AAExB,aAAM,iBAAiB,CAAC,QAAiB;AAC9C,MAAI,aAAa,GAAG,GAAG;AACrB,YAAQ,WAAW,IAAI;AACvB;AAAA,EACF;AAEA,MAAI,IAAI,QAAQ,GAAG,CAAC;AACpB,UAAQ,WAAW;AACnB;AACF;AAEO,aAAM,kBAAkB,CAC7B,KACA,SAEA,QAAQ,KAAK,MAAM,KAAK,IAAI,SAAS;",
5
+ "mappings": "AAAA,SAAS,eAAe;AAGxB,YAAY,OAAO;AAEnB,SAAS,WAAW;AACpB,SAAS,eAAe,eAAe;AAIhC,MAAM,2BAA2B,EAAE;AAAA,EACxC,EAAE,OAAO;AAAA,IACP,SAAS,EAAE,OAAO;AAAA,MAChB,SAAS,EAAE,OAAO;AAAA,MAClB,MAAM,EAAE,OAAO;AAAA,IACjB,CAAC;AAAA,IACD,OAAO,EAAE,OAAO;AAAA,IAChB,UAAU,EAAE,OAAO;AAAA,EACrB,CAAC;AACH;AAWO,MAAM,mBAAmB,CAAC,YAC/B,OAAO,OAAO,IAAI,MAAM,OAAO,GAAG;AAAA,EAChC,CAAC,QAAQ,MAAM,GAAG,MAAM;AAC1B,CAAC;AAEH,MAAM,eAAe,CAAC,QACpB,cAAc,KAAK,UAAU;AAExB,MAAM,iBAAiB,CAAC,QAAiB;AAC9C,MAAI,aAAa,GAAG,GAAG;AACrB,YAAQ,WAAW,IAAI;AACvB;AAAA,EACF;AAEA,MAAI,IAAI,QAAQ,GAAG,CAAC;AACpB,UAAQ,WAAW;AACnB;AACF;AAEO,MAAM,kBAAkB,CAC7B,KACA,SAEA,QAAQ,KAAK,MAAM,KAAK,IAAI,SAAS;",
6
6
  "names": []
7
7
  }
package/lib/utils/exec.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { cpus } from "os";
3
2
  import stream from "stream";
4
3
  import util from "util";
@@ -58,9 +57,9 @@ const runCommand = (command, args, opts) => {
58
57
  };
59
58
  const whichCallback = npmWhich(import.meta.dirname);
60
59
  const which = util.promisify(whichCallback);
61
- export const createExec = (opts) => (command, ...args) => runCommand(command, args, opts);
62
- export const exec = (command, ...args) => runCommand(command, args);
63
- export const execConcurrently = async (commands, { maxProcesses, nameLength, outputStream } = {}) => {
60
+ const createExec = (opts) => (command, ...args) => runCommand(command, args, opts);
61
+ const exec = (command, ...args) => runCommand(command, args);
62
+ const execConcurrently = async (commands, { maxProcesses, nameLength, outputStream } = {}) => {
64
63
  const maxNameLength = nameLength ?? commands.reduce(
65
64
  (length, command) => Math.max(length, command.name.length),
66
65
  0
@@ -91,7 +90,7 @@ export const execConcurrently = async (commands, { maxProcesses, nameLength, out
91
90
  );
92
91
  }
93
92
  };
94
- export const ensureCommands = async (...names) => {
93
+ const ensureCommands = async (...names) => {
95
94
  let success = true;
96
95
  await Promise.all(
97
96
  names.map(async (name) => {
@@ -106,7 +105,7 @@ export const ensureCommands = async (...names) => {
106
105
  process.exit(1);
107
106
  }
108
107
  };
109
- export const hasCommand = async (name) => {
108
+ const hasCommand = async (name) => {
110
109
  try {
111
110
  await which(name);
112
111
  return true;
@@ -117,4 +116,11 @@ export const hasCommand = async (name) => {
117
116
  throw err;
118
117
  }
119
118
  };
119
+ export {
120
+ createExec,
121
+ ensureCommands,
122
+ exec,
123
+ execConcurrently,
124
+ hasCommand
125
+ };
120
126
  //# sourceMappingURL=exec.js.map