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
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/exec.ts"],
4
4
  "sourcesContent": ["import { cpus } from 'os';\nimport stream from 'stream';\nimport util from 'util';\n\nimport type { Color } from 'chalk';\nimport concurrently from 'concurrently';\nimport execa, { type ExecaChildProcess } from 'execa';\nimport npmRunPath from 'npm-run-path';\nimport npmWhich from 'npm-which';\n\nimport { concurrentlyErrorsSchema, isErrorWithCode } from './error.js';\nimport { log } from './logging.js';\nimport type { PackageManager } from './packageManager.js';\n\nclass YarnSpamFilter extends stream.Transform {\n silenced = false;\n\n _transform(\n chunk: Uint8Array,\n _encoding: BufferEncoding,\n callback: stream.TransformCallback,\n ) {\n const str = Buffer.from(chunk).toString();\n\n // Yarn spews the entire installed dependency tree after this message\n if (str.startsWith('info Direct dependencies')) {\n this.silenced = true;\n }\n\n if (\n !this.silenced &&\n // This isn't very useful given the command generates a lockfile\n !str.startsWith('info No lockfile found')\n ) {\n this.push(chunk);\n }\n\n callback();\n }\n}\n\nclass YarnWarningFilter extends stream.Transform {\n _transform(\n chunk: Uint8Array,\n _encoding: BufferEncoding,\n callback: stream.TransformCallback,\n ) {\n const str = Buffer.from(chunk).toString();\n\n // Filter out annoying deprecation warnings that users can do little about\n if (!str.startsWith('warning skuba >')) {\n this.push(chunk);\n }\n\n callback();\n }\n}\n\nexport type Exec = (\n command: string,\n ...args: string[]\n) => ExecaChildProcess<string>;\n\ninterface ExecConcurrentlyCommand {\n command: string;\n name: string;\n prefixColor?: typeof Color;\n}\n\ninterface ExecConcurrentlyOptions {\n /**\n * The maximum number of processes that can execute concurrently.\n *\n * Defaults to the CPU core count.\n */\n maxProcesses?: number;\n\n /**\n * A set length to pad names to.\n *\n * Defaults to the length of the longest command name.\n */\n nameLength?: number;\n\n /**\n * The stream that logging output will be written to.\n *\n * Defaults to `process.stdout`.\n */\n outputStream?: stream.Writable;\n}\n\ntype ExecOptions = execa.Options & { streamStdio?: true | PackageManager };\n\nconst envWithPath = {\n PATH: npmRunPath({ cwd: import.meta.dirname }),\n};\n\nconst runCommand = (command: string, args: string[], opts?: ExecOptions) => {\n const subprocess = execa(command, args, {\n localDir: import.meta.dirname,\n preferLocal: true,\n stdio: 'inherit',\n ...opts,\n });\n\n switch (opts?.streamStdio) {\n case 'yarn':\n const stderrFilter = new YarnWarningFilter();\n const stdoutFilter = new YarnSpamFilter();\n\n subprocess.stderr?.pipe(stderrFilter).pipe(process.stderr);\n subprocess.stdout?.pipe(stdoutFilter).pipe(process.stdout);\n\n break;\n\n case 'pnpm':\n case true:\n subprocess.stderr?.pipe(process.stderr);\n subprocess.stdout?.pipe(process.stdout);\n\n break;\n }\n\n return subprocess;\n};\n\nconst whichCallback = npmWhich(import.meta.dirname);\n\nconst which = util.promisify<string, string>(whichCallback);\n\nexport const createExec =\n (opts: ExecOptions): Exec =>\n (command, ...args) =>\n runCommand(command, args, opts);\n\nexport const exec: Exec = (command, ...args) => runCommand(command, args);\n\nexport const execConcurrently = async (\n commands: ExecConcurrentlyCommand[],\n { maxProcesses, nameLength, outputStream }: ExecConcurrentlyOptions = {},\n) => {\n const maxNameLength =\n nameLength ??\n commands.reduce(\n (length, command) => Math.max(length, command.name.length),\n 0,\n );\n\n try {\n await concurrently(\n commands.map(({ command, name, prefixColor }) => ({\n command,\n env: envWithPath,\n name: name.padEnd(maxNameLength),\n prefixColor,\n })),\n {\n maxProcesses: maxProcesses ?? cpus().length,\n\n outputStream,\n\n // Use a minimalist logging prefix.\n prefix: '{name} \u2502',\n },\n ).result;\n } catch (err) {\n const result = concurrentlyErrorsSchema.safeParse(err);\n\n if (!result.success) {\n throw err;\n }\n\n const failed = result.data\n .filter(({ exitCode }) => exitCode !== 0)\n .sort(({ index: indexA }, { index: indexB }) => indexA - indexB)\n .map((subprocess) => subprocess.command.name);\n\n throw Error(\n `${failed.join(', ')} subprocess${\n failed.length === 1 ? '' : 'es'\n } failed.`,\n );\n }\n};\n\nexport const ensureCommands = async (...names: string[]) => {\n let success = true;\n\n await Promise.all(\n names.map(async (name) => {\n const result = await hasCommand(name);\n\n if (!result) {\n success = false;\n\n log.err(log.bold(name), 'needs to be installed.');\n }\n }),\n );\n\n if (!success) {\n process.exit(1);\n }\n};\n\nexport const hasCommand = async (name: string) => {\n try {\n await which(name);\n\n return true;\n } catch (err) {\n if (isErrorWithCode(err, 'ENOENT')) {\n return false;\n }\n\n throw err;\n }\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/lib/utils/fs.js CHANGED
@@ -1,7 +1,6 @@
1
- "use strict";
2
1
  import fs from "fs-extra";
3
2
  import { isErrorWithCode } from "./error.js";
4
- export const pathExists = async (filePath) => {
3
+ const pathExists = async (filePath) => {
5
4
  try {
6
5
  await fs.promises.access(filePath);
7
6
  return true;
@@ -12,4 +11,7 @@ export const pathExists = async (filePath) => {
12
11
  throw error;
13
12
  }
14
13
  };
14
+ export {
15
+ pathExists
16
+ };
15
17
  //# sourceMappingURL=fs.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/fs.ts"],
4
4
  "sourcesContent": ["import fs from 'fs-extra';\n\nimport { isErrorWithCode } from './error.js';\n\nexport const pathExists = async (filePath: string): Promise<boolean> => {\n try {\n await fs.promises.access(filePath);\n\n return true; // Path exists and is accessible\n } catch (error: unknown) {\n if (isErrorWithCode(error, 'ENOENT')) {\n return false; // Path does not exist\n }\n\n throw error; // Other errors (include permission issues)\n }\n};\n"],
5
- "mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAS,uBAAuB;AAEzB,aAAM,aAAa,OAAO,aAAuC;AACtE,MAAI;AACF,UAAM,GAAG,SAAS,OAAO,QAAQ;AAEjC,WAAO;AAAA,EACT,SAAS,OAAgB;AACvB,QAAI,gBAAgB,OAAO,QAAQ,GAAG;AACpC,aAAO;AAAA,IACT;AAEA,UAAM;AAAA,EACR;AACF;",
5
+ "mappings": "AAAA,OAAO,QAAQ;AAEf,SAAS,uBAAuB;AAEzB,MAAM,aAAa,OAAO,aAAuC;AACtE,MAAI;AACF,UAAM,GAAG,SAAS,OAAO,QAAQ;AAEjC,WAAO;AAAA,EACT,SAAS,OAAgB;AACvB,QAAI,gBAAgB,OAAO,QAAQ,GAAG;AACpC,aAAO;AAAA,IACT;AAEA,UAAM;AAAA,EACR;AACF;",
6
6
  "names": []
7
7
  }
package/lib/utils/help.js CHANGED
@@ -1,8 +1,10 @@
1
- "use strict";
2
1
  import { COMMAND_LIST } from "./command.js";
3
2
  import { log } from "./logging.js";
4
- export const showHelp = () => {
3
+ const showHelp = () => {
5
4
  log.plain(log.bold("Available commands:"));
6
5
  COMMAND_LIST.forEach((item) => log.plain(item));
7
6
  };
7
+ export {
8
+ showHelp
9
+ };
8
10
  //# sourceMappingURL=help.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/help.ts"],
4
4
  "sourcesContent": ["import { COMMAND_LIST } from './command.js';\nimport { log } from './logging.js';\n\nexport const showHelp = () => {\n log.plain(log.bold('Available commands:'));\n\n COMMAND_LIST.forEach((item) => log.plain(item));\n};\n"],
5
- "mappings": ";AAAA,SAAS,oBAAoB;AAC7B,SAAS,WAAW;AAEb,aAAM,WAAW,MAAM;AAC5B,MAAI,MAAM,IAAI,KAAK,qBAAqB,CAAC;AAEzC,eAAa,QAAQ,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC;AAChD;",
5
+ "mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,WAAW;AAEb,MAAM,WAAW,MAAM;AAC5B,MAAI,MAAM,IAAI,KAAK,qBAAqB,CAAC;AAEzC,eAAa,QAAQ,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC;AAChD;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,5 @@
1
- "use strict";
2
1
  import chalk from "chalk";
3
- export const createLogger = ({
2
+ const createLogger = ({
4
3
  debug,
5
4
  prefixes = [],
6
5
  suffixes = []
@@ -22,11 +21,17 @@ export const createLogger = ({
22
21
  warn: (...message) => log2(chalk.yellow(...message))
23
22
  };
24
23
  };
25
- export const log = createLogger({ debug: false });
26
- export const childLogger = (logger, settings) => createLogger({
24
+ const log = createLogger({ debug: false });
25
+ const childLogger = (logger, settings) => createLogger({
27
26
  debug: settings.debug ?? logger.settings.debug,
28
27
  prefixes: [...settings.prefixes ?? [], ...logger.settings.prefixes],
29
28
  suffixes: [...logger.settings.suffixes, ...settings.suffixes ?? []]
30
29
  });
31
- export const pluralise = (count, subject) => `${count} ${subject}${count === 1 ? "" : "s"}`;
30
+ const pluralise = (count, subject) => `${count} ${subject}${count === 1 ? "" : "s"}`;
31
+ export {
32
+ childLogger,
33
+ createLogger,
34
+ log,
35
+ pluralise
36
+ };
32
37
  //# sourceMappingURL=logging.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/logging.ts"],
4
4
  "sourcesContent": ["/* eslint-disable no-console */\n\nimport chalk from 'chalk';\n\nexport type Logger = typeof log;\n\nexport const createLogger = ({\n debug,\n prefixes = [],\n suffixes = [],\n}: {\n debug: boolean;\n prefixes?: unknown[];\n suffixes?: unknown[];\n}) => {\n const logWithoutSuffixes = (...message: unknown[]) =>\n console.log(...prefixes, ...message);\n\n const log = (...message: unknown[]) =>\n logWithoutSuffixes(...message, ...suffixes);\n\n return {\n settings: { debug, prefixes, suffixes },\n\n bold: chalk.bold,\n dim: chalk.dim,\n formatSubtle: chalk.grey,\n\n timing: (start: bigint, end: bigint) =>\n `${Number((end - start) / BigInt(10_000_000)) / 100}s`,\n\n debug: (...message: unknown[]) =>\n debug ? log(chalk.grey(...message)) : undefined,\n subtle: (...message: unknown[]) => log(chalk.grey(...message)),\n err: (...message: unknown[]) => log(chalk.red(...message)),\n newline: () => logWithoutSuffixes(),\n ok: (...message: unknown[]) => log(chalk.green(...message)),\n plain: (...message: unknown[]) => log(...message),\n warn: (...message: unknown[]) => log(chalk.yellow(...message)),\n };\n};\n\nexport const log = createLogger({ debug: false });\n\nexport const childLogger = (\n logger: Logger,\n settings: Partial<Logger['settings']>,\n) =>\n createLogger({\n debug: settings.debug ?? logger.settings.debug,\n prefixes: [...(settings.prefixes ?? []), ...logger.settings.prefixes],\n suffixes: [...logger.settings.suffixes, ...(settings.suffixes ?? [])],\n });\n\nexport const pluralise = (count: number, subject: string) =>\n `${count} ${subject}${count === 1 ? '' : 's'}`;\n"],
5
- "mappings": ";AAEA,OAAO,WAAW;AAIX,aAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,WAAW,CAAC;AACd,MAIM;AACJ,QAAM,qBAAqB,IAAI,YAC7B,QAAQ,IAAI,GAAG,UAAU,GAAG,OAAO;AAErC,QAAMA,OAAM,IAAI,YACd,mBAAmB,GAAG,SAAS,GAAG,QAAQ;AAE5C,SAAO;AAAA,IACL,UAAU,EAAE,OAAO,UAAU,SAAS;AAAA,IAEtC,MAAM,MAAM;AAAA,IACZ,KAAK,MAAM;AAAA,IACX,cAAc,MAAM;AAAA,IAEpB,QAAQ,CAAC,OAAe,QACtB,GAAG,QAAQ,MAAM,SAAS,OAAO,GAAU,CAAC,IAAI,GAAG;AAAA,IAErD,OAAO,IAAI,YACT,QAAQA,KAAI,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI;AAAA,IACxC,QAAQ,IAAI,YAAuBA,KAAI,MAAM,KAAK,GAAG,OAAO,CAAC;AAAA,IAC7D,KAAK,IAAI,YAAuBA,KAAI,MAAM,IAAI,GAAG,OAAO,CAAC;AAAA,IACzD,SAAS,MAAM,mBAAmB;AAAA,IAClC,IAAI,IAAI,YAAuBA,KAAI,MAAM,MAAM,GAAG,OAAO,CAAC;AAAA,IAC1D,OAAO,IAAI,YAAuBA,KAAI,GAAG,OAAO;AAAA,IAChD,MAAM,IAAI,YAAuBA,KAAI,MAAM,OAAO,GAAG,OAAO,CAAC;AAAA,EAC/D;AACF;AAEO,aAAM,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAEzC,aAAM,cAAc,CACzB,QACA,aAEA,aAAa;AAAA,EACX,OAAO,SAAS,SAAS,OAAO,SAAS;AAAA,EACzC,UAAU,CAAC,GAAI,SAAS,YAAY,CAAC,GAAI,GAAG,OAAO,SAAS,QAAQ;AAAA,EACpE,UAAU,CAAC,GAAG,OAAO,SAAS,UAAU,GAAI,SAAS,YAAY,CAAC,CAAE;AACtE,CAAC;AAEI,aAAM,YAAY,CAAC,OAAe,YACvC,GAAG,KAAK,IAAI,OAAO,GAAG,UAAU,IAAI,KAAK,GAAG;",
5
+ "mappings": "AAEA,OAAO,WAAW;AAIX,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,WAAW,CAAC;AACd,MAIM;AACJ,QAAM,qBAAqB,IAAI,YAC7B,QAAQ,IAAI,GAAG,UAAU,GAAG,OAAO;AAErC,QAAMA,OAAM,IAAI,YACd,mBAAmB,GAAG,SAAS,GAAG,QAAQ;AAE5C,SAAO;AAAA,IACL,UAAU,EAAE,OAAO,UAAU,SAAS;AAAA,IAEtC,MAAM,MAAM;AAAA,IACZ,KAAK,MAAM;AAAA,IACX,cAAc,MAAM;AAAA,IAEpB,QAAQ,CAAC,OAAe,QACtB,GAAG,QAAQ,MAAM,SAAS,OAAO,GAAU,CAAC,IAAI,GAAG;AAAA,IAErD,OAAO,IAAI,YACT,QAAQA,KAAI,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI;AAAA,IACxC,QAAQ,IAAI,YAAuBA,KAAI,MAAM,KAAK,GAAG,OAAO,CAAC;AAAA,IAC7D,KAAK,IAAI,YAAuBA,KAAI,MAAM,IAAI,GAAG,OAAO,CAAC;AAAA,IACzD,SAAS,MAAM,mBAAmB;AAAA,IAClC,IAAI,IAAI,YAAuBA,KAAI,MAAM,MAAM,GAAG,OAAO,CAAC;AAAA,IAC1D,OAAO,IAAI,YAAuBA,KAAI,GAAG,OAAO;AAAA,IAChD,MAAM,IAAI,YAAuBA,KAAI,MAAM,OAAO,GAAG,OAAO,CAAC;AAAA,EAC/D;AACF;AAEO,MAAM,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAEzC,MAAM,cAAc,CACzB,QACA,aAEA,aAAa;AAAA,EACX,OAAO,SAAS,SAAS,OAAO,SAAS;AAAA,EACzC,UAAU,CAAC,GAAI,SAAS,YAAY,CAAC,GAAI,GAAG,OAAO,SAAS,QAAQ;AAAA,EACpE,UAAU,CAAC,GAAG,OAAO,SAAS,UAAU,GAAI,SAAS,YAAY,CAAC,CAAE;AACtE,CAAC;AAEI,MAAM,YAAY,CAAC,OAAe,YACvC,GAAG,KAAK,IAAI,OAAO,GAAG,UAAU,IAAI,KAAK,GAAG;",
6
6
  "names": ["log"]
7
7
  }
package/lib/utils/logo.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import chalk from "chalk";
3
2
  import { log } from "./logging.js";
4
3
  import { detectPackageManager } from "./packageManager.js";
@@ -9,7 +8,7 @@ const LOGO = chalk.blueBright(`
9
8
  \u2502_ \u2500\u2524 <${chalk.magentaBright("\u2502 \u2575 \u2502")} \u2022 \u2502 \u2022 \u2502
10
9
  \u2570\u2500\u2500\u2500\u2570\u2500\u2534\u2500${chalk.magentaBright("\u2570\u2500\u2500\u2500\u256F")}\u2500\u2500\u2500\u256F\u2500\u2500 \u2570
11
10
  `);
12
- export const showLogoAndVersionInfo = async () => {
11
+ const showLogoAndVersionInfo = async () => {
13
12
  const [versionInfo, packageManager] = await Promise.all([
14
13
  getSkubaVersionInfo(),
15
14
  detectPackageManager()
@@ -33,4 +32,7 @@ export const showLogoAndVersionInfo = async () => {
33
32
  }
34
33
  return versionInfo;
35
34
  };
35
+ export {
36
+ showLogoAndVersionInfo
37
+ };
36
38
  //# sourceMappingURL=logo.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/logo.ts"],
4
4
  "sourcesContent": ["import chalk from 'chalk';\n\nimport { log } from './logging.js';\nimport { detectPackageManager } from './packageManager.js';\nimport { getSkubaVersionInfo } from './version.js';\n\nconst LOGO = chalk.blueBright(`\n \u256D\u2500\u256E ${chalk.magentaBright(' ')}\u256D\u2500\u256E\n\u256D\u2500\u2500\u2500\u2502 \u2570\u2500${chalk.magentaBright('\u256D\u2500\u252C\u2500\u256E')} \u2570\u2500\u256E\u2500\u2500\u2500\u256E\n\u2502_ \u2500\u2524 <${chalk.magentaBright('\u2502 \u2575 \u2502')} \u2022 \u2502 \u2022 \u2502\n\u2570\u2500\u2500\u2500\u2570\u2500\u2534\u2500${chalk.magentaBright('\u2570\u2500\u2500\u2500\u256F')}\u2500\u2500\u2500\u256F\u2500\u2500 \u2570\n`);\n\nexport const showLogoAndVersionInfo = async () => {\n const [versionInfo, packageManager] = await Promise.all([\n getSkubaVersionInfo(),\n detectPackageManager(),\n ]);\n\n log.plain(LOGO);\n log.subtle(\n log.bold(versionInfo.local),\n '|',\n 'latest',\n log.bold(versionInfo.latest ?? 'offline \u2708'),\n );\n log.newline();\n\n if (versionInfo.isStale) {\n log.warn('Your skuba installation is out of date.');\n log.warn('Consider upgrading:');\n log.newline();\n log.warn(\n log.bold(packageManager.print.update, `skuba@${versionInfo.latest}`),\n );\n log.newline();\n }\n\n return versionInfo;\n};\n"],
5
- "mappings": ";AAAA,OAAO,WAAW;AAElB,SAAS,WAAW;AACpB,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AAEpC,MAAM,OAAO,MAAM,WAAW;AAAA,yBACpB,MAAM,cAAc,MAAM,CAAC;AAAA,6CAC3B,MAAM,cAAc,gCAAO,CAAC;AAAA,yBAC5B,MAAM,cAAc,sBAAO,CAAC;AAAA,kDAC5B,MAAM,cAAc,gCAAO,CAAC;AAAA,CACrC;AAEM,aAAM,yBAAyB,YAAY;AAChD,QAAM,CAAC,aAAa,cAAc,IAAI,MAAM,QAAQ,IAAI;AAAA,IACtD,oBAAoB;AAAA,IACpB,qBAAqB;AAAA,EACvB,CAAC;AAED,MAAI,MAAM,IAAI;AACd,MAAI;AAAA,IACF,IAAI,KAAK,YAAY,KAAK;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,IAAI,KAAK,YAAY,UAAU,gBAAW;AAAA,EAC5C;AACA,MAAI,QAAQ;AAEZ,MAAI,YAAY,SAAS;AACvB,QAAI,KAAK,yCAAyC;AAClD,QAAI,KAAK,qBAAqB;AAC9B,QAAI,QAAQ;AACZ,QAAI;AAAA,MACF,IAAI,KAAK,eAAe,MAAM,QAAQ,SAAS,YAAY,MAAM,EAAE;AAAA,IACrE;AACA,QAAI,QAAQ;AAAA,EACd;AAEA,SAAO;AACT;",
5
+ "mappings": "AAAA,OAAO,WAAW;AAElB,SAAS,WAAW;AACpB,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AAEpC,MAAM,OAAO,MAAM,WAAW;AAAA,yBACpB,MAAM,cAAc,MAAM,CAAC;AAAA,6CAC3B,MAAM,cAAc,gCAAO,CAAC;AAAA,yBAC5B,MAAM,cAAc,sBAAO,CAAC;AAAA,kDAC5B,MAAM,cAAc,gCAAO,CAAC;AAAA,CACrC;AAEM,MAAM,yBAAyB,YAAY;AAChD,QAAM,CAAC,aAAa,cAAc,IAAI,MAAM,QAAQ,IAAI;AAAA,IACtD,oBAAoB;AAAA,IACpB,qBAAqB;AAAA,EACvB,CAAC;AAED,MAAI,MAAM,IAAI;AACd,MAAI;AAAA,IACF,IAAI,KAAK,YAAY,KAAK;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,IAAI,KAAK,YAAY,UAAU,gBAAW;AAAA,EAC5C;AACA,MAAI,QAAQ;AAEZ,MAAI,YAAY,SAAS;AACvB,QAAI,KAAK,yCAAyC;AAClD,QAAI,KAAK,qBAAqB;AAC9B,QAAI,QAAQ;AACZ,QAAI;AAAA,MACF,IAAI,KAAK,eAAe,MAAM,QAAQ,SAAS,YAAY,MAAM,EAAE;AAAA,IACrE;AACA,QAAI,QAAQ;AAAA,EACd;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -1,15 +1,14 @@
1
- "use strict";
2
1
  import { readPackageUp } from "read-package-up";
3
2
  import * as z from "zod/v4";
4
3
  import { hasProp } from "./validation.js";
5
- export const projectTypeSchema = z.union([
4
+ const projectTypeSchema = z.union([
6
5
  z.literal("application"),
7
6
  z.literal("package")
8
7
  ]);
9
- export const PROJECT_TYPES = ["application", "package"];
8
+ const PROJECT_TYPES = ["application", "package"];
10
9
  const DEFAULT_ENTRY_POINT = "src/app.ts";
11
10
  let skubaManifest;
12
- export const getSkubaManifest = async () => {
11
+ const getSkubaManifest = async () => {
13
12
  if (skubaManifest !== void 0) {
14
13
  return skubaManifest;
15
14
  }
@@ -19,8 +18,8 @@ export const getSkubaManifest = async () => {
19
18
  }
20
19
  return skubaManifest = result.packageJson;
21
20
  };
22
- export const getConsumerManifest = (cwd) => readPackageUp({ cwd, normalize: false });
23
- export const getManifestProperties = async (prop) => {
21
+ const getConsumerManifest = (cwd) => readPackageUp({ cwd, normalize: false });
22
+ const getManifestProperties = async (prop) => {
24
23
  const manifest = await getConsumerManifest();
25
24
  if (!manifest) {
26
25
  return void 0;
@@ -33,12 +32,21 @@ export const getManifestProperties = async (prop) => {
33
32
  path: manifest.path
34
33
  };
35
34
  };
36
- export const getStringPropFromConsumerManifest = async (prop) => {
35
+ const getStringPropFromConsumerManifest = async (prop) => {
37
36
  const manifest = await getManifestProperties(prop);
38
37
  return typeof manifest?.value === "string" ? manifest.value : void 0;
39
38
  };
40
- export const getEntryPointFromManifest = async () => {
39
+ const getEntryPointFromManifest = async () => {
41
40
  const entryPoint = await getStringPropFromConsumerManifest("entryPoint");
42
41
  return entryPoint ?? DEFAULT_ENTRY_POINT;
43
42
  };
43
+ export {
44
+ PROJECT_TYPES,
45
+ getConsumerManifest,
46
+ getEntryPointFromManifest,
47
+ getManifestProperties,
48
+ getSkubaManifest,
49
+ getStringPropFromConsumerManifest,
50
+ projectTypeSchema
51
+ };
44
52
  //# sourceMappingURL=manifest.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/manifest.ts"],
4
4
  "sourcesContent": ["import { type NormalizedPackageJson, readPackageUp } from 'read-package-up';\nimport * as z from 'zod/v4';\n\nimport type { ReadResult } from '../cli/configure/types.js';\n\nimport { hasProp } from './validation.js';\n\nexport type ProjectType = z.infer<typeof projectTypeSchema>;\n\nexport const projectTypeSchema = z.union([\n z.literal('application'),\n z.literal('package'),\n]);\n\nexport const PROJECT_TYPES = ['application', 'package'] as const;\n\nconst DEFAULT_ENTRY_POINT = 'src/app.ts';\n\nlet skubaManifest: NormalizedPackageJson | undefined;\n\nexport const getSkubaManifest = async (): Promise<NormalizedPackageJson> => {\n if (skubaManifest !== undefined) {\n return skubaManifest;\n }\n\n const result = await readPackageUp({ cwd: import.meta.dirname });\n\n if (result === undefined) {\n throw Error('skuba could not find its own manifest');\n }\n\n return (skubaManifest = result.packageJson);\n};\n\nexport const getConsumerManifest = (\n cwd?: string,\n): Promise<ReadResult | undefined> => readPackageUp({ cwd, normalize: false });\n\nexport const getManifestProperties = async <T extends string, V = unknown>(\n prop: T,\n): Promise<\n | {\n value: V | undefined;\n type: string | undefined;\n path: string;\n }\n | undefined\n> => {\n const manifest = await getConsumerManifest();\n\n if (!manifest) {\n return undefined;\n }\n\n const value = hasProp<T, V>(manifest.packageJson.skuba, prop)\n ? manifest.packageJson.skuba[prop]\n : undefined;\n\n const type =\n typeof manifest.packageJson.type === 'string'\n ? manifest.packageJson.type\n : undefined;\n\n return {\n value,\n type,\n path: manifest.path,\n };\n};\n\nexport const getStringPropFromConsumerManifest = async <T extends string>(\n prop: T,\n): Promise<string | undefined> => {\n const manifest = await getManifestProperties(prop);\n\n return typeof manifest?.value === 'string' ? manifest.value : undefined;\n};\n\nexport const getEntryPointFromManifest = async (): Promise<string> => {\n const entryPoint = await getStringPropFromConsumerManifest('entryPoint');\n\n return entryPoint ?? DEFAULT_ENTRY_POINT;\n};\n"],
5
- "mappings": ";AAAA,SAAqC,qBAAqB;AAC1D,YAAY,OAAO;AAInB,SAAS,eAAe;AAIjB,aAAM,oBAAoB,EAAE,MAAM;AAAA,EACvC,EAAE,QAAQ,aAAa;AAAA,EACvB,EAAE,QAAQ,SAAS;AACrB,CAAC;AAEM,aAAM,gBAAgB,CAAC,eAAe,SAAS;AAEtD,MAAM,sBAAsB;AAE5B,IAAI;AAEG,aAAM,mBAAmB,YAA4C;AAC1E,MAAI,kBAAkB,QAAW;AAC/B,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,MAAM,cAAc,EAAE,KAAK,YAAY,QAAQ,CAAC;AAE/D,MAAI,WAAW,QAAW;AACxB,UAAM,MAAM,uCAAuC;AAAA,EACrD;AAEA,SAAQ,gBAAgB,OAAO;AACjC;AAEO,aAAM,sBAAsB,CACjC,QACoC,cAAc,EAAE,KAAK,WAAW,MAAM,CAAC;AAEtE,aAAM,wBAAwB,OACnC,SAQG;AACH,QAAM,WAAW,MAAM,oBAAoB;AAE3C,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,QAAc,SAAS,YAAY,OAAO,IAAI,IACxD,SAAS,YAAY,MAAM,IAAI,IAC/B;AAEJ,QAAM,OACJ,OAAO,SAAS,YAAY,SAAS,WACjC,SAAS,YAAY,OACrB;AAEN,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,MAAM,SAAS;AAAA,EACjB;AACF;AAEO,aAAM,oCAAoC,OAC/C,SACgC;AAChC,QAAM,WAAW,MAAM,sBAAsB,IAAI;AAEjD,SAAO,OAAO,UAAU,UAAU,WAAW,SAAS,QAAQ;AAChE;AAEO,aAAM,4BAA4B,YAA6B;AACpE,QAAM,aAAa,MAAM,kCAAkC,YAAY;AAEvE,SAAO,cAAc;AACvB;",
5
+ "mappings": "AAAA,SAAqC,qBAAqB;AAC1D,YAAY,OAAO;AAInB,SAAS,eAAe;AAIjB,MAAM,oBAAoB,EAAE,MAAM;AAAA,EACvC,EAAE,QAAQ,aAAa;AAAA,EACvB,EAAE,QAAQ,SAAS;AACrB,CAAC;AAEM,MAAM,gBAAgB,CAAC,eAAe,SAAS;AAEtD,MAAM,sBAAsB;AAE5B,IAAI;AAEG,MAAM,mBAAmB,YAA4C;AAC1E,MAAI,kBAAkB,QAAW;AAC/B,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,MAAM,cAAc,EAAE,KAAK,YAAY,QAAQ,CAAC;AAE/D,MAAI,WAAW,QAAW;AACxB,UAAM,MAAM,uCAAuC;AAAA,EACrD;AAEA,SAAQ,gBAAgB,OAAO;AACjC;AAEO,MAAM,sBAAsB,CACjC,QACoC,cAAc,EAAE,KAAK,WAAW,MAAM,CAAC;AAEtE,MAAM,wBAAwB,OACnC,SAQG;AACH,QAAM,WAAW,MAAM,oBAAoB;AAE3C,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,QAAc,SAAS,YAAY,OAAO,IAAI,IACxD,SAAS,YAAY,MAAM,IAAI,IAC/B;AAEJ,QAAM,OACJ,OAAO,SAAS,YAAY,SAAS,WACjC,SAAS,YAAY,OACrB;AAEN,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,MAAM,SAAS;AAAA,EACjB;AACF;AAEO,MAAM,oCAAoC,OAC/C,SACgC;AAChC,QAAM,WAAW,MAAM,sBAAsB,IAAI;AAEjD,SAAO,OAAO,UAAU,UAAU,WAAW,SAAS,QAAQ;AAChE;AAEO,MAAM,4BAA4B,YAA6B;AACpE,QAAM,aAAa,MAAM,kCAAkC,YAAY;AAEvE,SAAO,cAAc;AACvB;",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,5 @@
1
- "use strict";
2
- export const hasNpmrcSecret = (lineOrFullFileContents) => lineOrFullFileContents.includes("_auth") || lineOrFullFileContents.includes("_password");
1
+ const hasNpmrcSecret = (lineOrFullFileContents) => lineOrFullFileContents.includes("_auth") || lineOrFullFileContents.includes("_password");
2
+ export {
3
+ hasNpmrcSecret
4
+ };
3
5
  //# sourceMappingURL=npmrc.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/npmrc.ts"],
4
4
  "sourcesContent": ["// Preventing against _auth, _authToken, _password\n// https://docs.npmjs.com/cli/v10/configuring-npm/npmrc#auth-related-configuration\nexport const hasNpmrcSecret = (lineOrFullFileContents: string): boolean =>\n lineOrFullFileContents.includes('_auth') ||\n lineOrFullFileContents.includes('_password');\n"],
5
- "mappings": ";AAEO,aAAM,iBAAiB,CAAC,2BAC7B,uBAAuB,SAAS,OAAO,KACvC,uBAAuB,SAAS,WAAW;",
5
+ "mappings": "AAEO,MAAM,iBAAiB,CAAC,2BAC7B,uBAAuB,SAAS,OAAO,KACvC,uBAAuB,SAAS,WAAW;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,8 @@
1
- "use strict";
2
1
  import findUp from "find-up";
3
2
  import isInstalledGlobally from "is-installed-globally";
4
3
  import * as z from "zod/v4";
5
4
  import { log } from "./logging.js";
6
- export const DEFAULT_PACKAGE_MANAGER = "pnpm";
5
+ const DEFAULT_PACKAGE_MANAGER = "pnpm";
7
6
  const PACKAGE_MANAGERS = {
8
7
  pnpm: {
9
8
  print: {
@@ -20,11 +19,11 @@ const PACKAGE_MANAGERS = {
20
19
  }
21
20
  }
22
21
  };
23
- export const configForPackageManager = (packageManager) => ({
22
+ const configForPackageManager = (packageManager) => ({
24
23
  ...PACKAGE_MANAGERS[packageManager],
25
24
  command: packageManager
26
25
  });
27
- export const detectPackageManager = async (cwd) => {
26
+ const detectPackageManager = async (cwd) => {
28
27
  let packageManager = DEFAULT_PACKAGE_MANAGER;
29
28
  try {
30
29
  const [yarnDepth, pnpmDepth] = await Promise.all([
@@ -58,5 +57,11 @@ const findDepth = async (filename, cwd) => {
58
57
  const path = await findUp(filename, { cwd });
59
58
  return path ? path.split("/").length : void 0;
60
59
  };
61
- export const packageManagerSchema = z.enum(["pnpm", "yarn"]).default(DEFAULT_PACKAGE_MANAGER);
60
+ const packageManagerSchema = z.enum(["pnpm", "yarn"]).default(DEFAULT_PACKAGE_MANAGER);
61
+ export {
62
+ DEFAULT_PACKAGE_MANAGER,
63
+ configForPackageManager,
64
+ detectPackageManager,
65
+ packageManagerSchema
66
+ };
62
67
  //# sourceMappingURL=packageManager.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/packageManager.ts"],
4
4
  "sourcesContent": ["import findUp from 'find-up';\nimport isInstalledGlobally from 'is-installed-globally';\nimport * as z from 'zod/v4';\n\nimport { log } from './logging.js';\n\nexport const DEFAULT_PACKAGE_MANAGER = 'pnpm';\n\nexport type PackageManagerConfig =\n (typeof PACKAGE_MANAGERS)[keyof typeof PACKAGE_MANAGERS] & {\n command: PackageManager;\n };\n\nconst PACKAGE_MANAGERS = {\n pnpm: {\n print: {\n exec: 'pnpm exec',\n runSilent: 'pnpm --silent run',\n update: isInstalledGlobally ? 'pnpm update --global' : 'pnpm update',\n },\n },\n yarn: {\n print: {\n exec: 'yarn',\n runSilent: 'yarn -s',\n update: isInstalledGlobally ? 'yarn global upgrade' : 'yarn upgrade',\n },\n },\n};\n\nexport const configForPackageManager = (\n packageManager: PackageManager,\n): PackageManagerConfig => ({\n ...PACKAGE_MANAGERS[packageManager],\n command: packageManager,\n});\n\nexport const detectPackageManager = async (\n cwd?: string,\n): Promise<PackageManagerConfig> => {\n let packageManager: PackageManager = DEFAULT_PACKAGE_MANAGER;\n\n try {\n const [yarnDepth, pnpmDepth] = await Promise.all([\n findDepth('yarn.lock', cwd),\n findDepth('pnpm-lock.yaml', cwd),\n ]);\n\n if (yarnDepth === undefined && pnpmDepth === undefined) {\n throw new Error('No package manager lockfile found.');\n }\n\n packageManager = (pnpmDepth ?? -1) > (yarnDepth ?? -1) ? 'pnpm' : 'yarn';\n } catch (err) {\n log.warn(\n `Failed to detect package manager; defaulting to ${log.bold(\n DEFAULT_PACKAGE_MANAGER,\n )}.`,\n );\n log.subtle(\n (() => {\n switch (true) {\n case err instanceof Error:\n return err.message;\n\n default:\n return String(err);\n }\n })(),\n );\n }\n\n return configForPackageManager(packageManager);\n};\n\nconst findDepth = async (filename: string, cwd?: string) => {\n const path = await findUp(filename, { cwd });\n return path ? path.split('/').length : undefined;\n};\n\nexport type PackageManager = z.infer<typeof packageManagerSchema>;\n\nexport const packageManagerSchema = z\n .enum(['pnpm', 'yarn'])\n .default(DEFAULT_PACKAGE_MANAGER);\n"],
5
- "mappings": ";AAAA,OAAO,YAAY;AACnB,OAAO,yBAAyB;AAChC,YAAY,OAAO;AAEnB,SAAS,WAAW;AAEb,aAAM,0BAA0B;AAOvC,MAAM,mBAAmB;AAAA,EACvB,MAAM;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ,sBAAsB,yBAAyB;AAAA,IACzD;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ,sBAAsB,wBAAwB;AAAA,IACxD;AAAA,EACF;AACF;AAEO,aAAM,0BAA0B,CACrC,oBAC0B;AAAA,EAC1B,GAAG,iBAAiB,cAAc;AAAA,EAClC,SAAS;AACX;AAEO,aAAM,uBAAuB,OAClC,QACkC;AAClC,MAAI,iBAAiC;AAErC,MAAI;AACF,UAAM,CAAC,WAAW,SAAS,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC/C,UAAU,aAAa,GAAG;AAAA,MAC1B,UAAU,kBAAkB,GAAG;AAAA,IACjC,CAAC;AAED,QAAI,cAAc,UAAa,cAAc,QAAW;AACtD,YAAM,IAAI,MAAM,oCAAoC;AAAA,IACtD;AAEA,sBAAkB,aAAa,OAAO,aAAa,MAAM,SAAS;AAAA,EACpE,SAAS,KAAK;AACZ,QAAI;AAAA,MACF,mDAAmD,IAAI;AAAA,QACrD;AAAA,MACF,CAAC;AAAA,IACH;AACA,QAAI;AAAA,OACD,MAAM;AACL,gBAAQ,MAAM;AAAA,UACZ,KAAK,eAAe;AAClB,mBAAO,IAAI;AAAA,UAEb;AACE,mBAAO,OAAO,GAAG;AAAA,QACrB;AAAA,MACF,GAAG;AAAA,IACL;AAAA,EACF;AAEA,SAAO,wBAAwB,cAAc;AAC/C;AAEA,MAAM,YAAY,OAAO,UAAkB,QAAiB;AAC1D,QAAM,OAAO,MAAM,OAAO,UAAU,EAAE,IAAI,CAAC;AAC3C,SAAO,OAAO,KAAK,MAAM,GAAG,EAAE,SAAS;AACzC;AAIO,aAAM,uBAAuB,EACjC,KAAK,CAAC,QAAQ,MAAM,CAAC,EACrB,QAAQ,uBAAuB;",
5
+ "mappings": "AAAA,OAAO,YAAY;AACnB,OAAO,yBAAyB;AAChC,YAAY,OAAO;AAEnB,SAAS,WAAW;AAEb,MAAM,0BAA0B;AAOvC,MAAM,mBAAmB;AAAA,EACvB,MAAM;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ,sBAAsB,yBAAyB;AAAA,IACzD;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ,sBAAsB,wBAAwB;AAAA,IACxD;AAAA,EACF;AACF;AAEO,MAAM,0BAA0B,CACrC,oBAC0B;AAAA,EAC1B,GAAG,iBAAiB,cAAc;AAAA,EAClC,SAAS;AACX;AAEO,MAAM,uBAAuB,OAClC,QACkC;AAClC,MAAI,iBAAiC;AAErC,MAAI;AACF,UAAM,CAAC,WAAW,SAAS,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC/C,UAAU,aAAa,GAAG;AAAA,MAC1B,UAAU,kBAAkB,GAAG;AAAA,IACjC,CAAC;AAED,QAAI,cAAc,UAAa,cAAc,QAAW;AACtD,YAAM,IAAI,MAAM,oCAAoC;AAAA,IACtD;AAEA,sBAAkB,aAAa,OAAO,aAAa,MAAM,SAAS;AAAA,EACpE,SAAS,KAAK;AACZ,QAAI;AAAA,MACF,mDAAmD,IAAI;AAAA,QACrD;AAAA,MACF,CAAC;AAAA,IACH;AACA,QAAI;AAAA,OACD,MAAM;AACL,gBAAQ,MAAM;AAAA,UACZ,KAAK,eAAe;AAClB,mBAAO,IAAI;AAAA,UAEb;AACE,mBAAO,OAAO,GAAG;AAAA,QACrB;AAAA,MACF,GAAG;AAAA,IACL;AAAA,EACF;AAEA,SAAO,wBAAwB,cAAc;AAC/C;AAEA,MAAM,YAAY,OAAO,UAAkB,QAAiB;AAC1D,QAAM,OAAO,MAAM,OAAO,UAAU,EAAE,IAAI,CAAC;AAC3C,SAAO,OAAO,KAAK,MAAM,GAAG,EAAE,SAAS;AACzC;AAIO,MAAM,uBAAuB,EACjC,KAAK,CAAC,QAAQ,MAAM,CAAC,EACrB,QAAQ,uBAAuB;",
6
6
  "names": []
7
7
  }
package/lib/utils/port.js CHANGED
@@ -1,10 +1,13 @@
1
- "use strict";
2
1
  import getPort from "get-port";
3
2
  const MIN_PORT = 1e4;
4
3
  const MAX_PORT = 49151;
5
- export const randomIntBetween = (min, max) => min + Math.floor(Math.random() * (1 + max - min));
6
- export const getRandomPort = () => {
4
+ const randomIntBetween = (min, max) => min + Math.floor(Math.random() * (1 + max - min));
5
+ const getRandomPort = () => {
7
6
  const preferredPorts = new Array(10).fill(null).map(() => randomIntBetween(MIN_PORT, MAX_PORT));
8
7
  return getPort({ port: preferredPorts });
9
8
  };
9
+ export {
10
+ getRandomPort,
11
+ randomIntBetween
12
+ };
10
13
  //# sourceMappingURL=port.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/port.ts"],
4
4
  "sourcesContent": ["import getPort from 'get-port';\n\n/* Smallest 5-digit port; these are less common than 4-digit ports. */\nconst MIN_PORT = 10000;\n\n/** Largest port in the IANA user port range. */\nconst MAX_PORT = 49151;\n\nexport const randomIntBetween = (min: number, max: number) =>\n min + Math.floor(Math.random() * (1 + max - min));\n\nexport const getRandomPort = () => {\n // Seed some random ports to use, if available.\n // get-port falls back to the private port range.\n const preferredPorts = new Array(10)\n .fill(null)\n .map(() => randomIntBetween(MIN_PORT, MAX_PORT));\n\n return getPort({ port: preferredPorts });\n};\n"],
5
- "mappings": ";AAAA,OAAO,aAAa;AAGpB,MAAM,WAAW;AAGjB,MAAM,WAAW;AAEV,aAAM,mBAAmB,CAAC,KAAa,QAC5C,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI,MAAM,IAAI;AAE3C,aAAM,gBAAgB,MAAM;AAGjC,QAAM,iBAAiB,IAAI,MAAM,EAAE,EAChC,KAAK,IAAI,EACT,IAAI,MAAM,iBAAiB,UAAU,QAAQ,CAAC;AAEjD,SAAO,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC;",
5
+ "mappings": "AAAA,OAAO,aAAa;AAGpB,MAAM,WAAW;AAGjB,MAAM,WAAW;AAEV,MAAM,mBAAmB,CAAC,KAAa,QAC5C,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI,MAAM,IAAI;AAE3C,MAAM,gBAAgB,MAAM;AAGjC,QAAM,iBAAiB,IAAI,MAAM,EAAE,EAChC,KAAK,IAAI,EACT,IAAI,MAAM,iBAAiB,UAAU,QAAQ,CAAC;AAEjD,SAAO,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,11 @@
1
- "use strict";
2
- export const sleep = (ms) => {
1
+ const sleep = (ms) => {
3
2
  let timeout;
4
3
  return Object.assign(
5
4
  new Promise((resolve) => timeout = setTimeout(resolve, ms)),
6
5
  { clear: () => clearTimeout(timeout) }
7
6
  );
8
7
  };
8
+ export {
9
+ sleep
10
+ };
9
11
  //# sourceMappingURL=sleep.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/sleep.ts"],
4
4
  "sourcesContent": ["interface Timeout extends PromiseLike<void> {\n clear?: () => void;\n}\n\nexport const sleep = (ms: number): Timeout => {\n let timeout: NodeJS.Timeout;\n\n return Object.assign(\n new Promise<void>((resolve) => (timeout = setTimeout(resolve, ms))),\n { clear: () => clearTimeout(timeout) },\n );\n};\n"],
5
- "mappings": ";AAIO,aAAM,QAAQ,CAAC,OAAwB;AAC5C,MAAI;AAEJ,SAAO,OAAO;AAAA,IACZ,IAAI,QAAc,CAAC,YAAa,UAAU,WAAW,SAAS,EAAE,CAAE;AAAA,IAClE,EAAE,OAAO,MAAM,aAAa,OAAO,EAAE;AAAA,EACvC;AACF;",
5
+ "mappings": "AAIO,MAAM,QAAQ,CAAC,OAAwB;AAC5C,MAAI;AAEJ,SAAO,OAAO;AAAA,IACZ,IAAI,QAAc,CAAC,YAAa,UAAU,WAAW,SAAS,EAAE,CAAE;AAAA,IAClE,EAAE,OAAO,MAAM,aAAa,OAAO,EAAE;AAAA,EACvC;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,10 +1,9 @@
1
- "use strict";
2
1
  import path from "path";
3
2
  import fs from "fs-extra";
4
3
  import * as z from "zod/v4";
5
4
  import { projectTypeSchema } from "./manifest.js";
6
5
  import { packageManagerSchema } from "./packageManager.js";
7
- export const TEMPLATE_NAMES = [
6
+ const TEMPLATE_NAMES = [
8
7
  "express-rest-api",
9
8
  "greeter",
10
9
  "koa-rest-api",
@@ -12,8 +11,8 @@ export const TEMPLATE_NAMES = [
12
11
  "oss-npm-package",
13
12
  "private-npm-package"
14
13
  ];
15
- export const TEMPLATE_NAMES_WITH_BYO = [...TEMPLATE_NAMES, "github \u2192"];
16
- export const TEMPLATE_DOCUMENTATION_CONFIG = {
14
+ const TEMPLATE_NAMES_WITH_BYO = [...TEMPLATE_NAMES, "github \u2192"];
15
+ const TEMPLATE_DOCUMENTATION_CONFIG = {
17
16
  "express-rest-api": {
18
17
  added: "3.8.0",
19
18
  filename: "api.md"
@@ -46,7 +45,7 @@ const functionSchema = (schema) => z.custom().transform((arg, ctx) => {
46
45
  }
47
46
  return schema.implement(arg);
48
47
  });
49
- export const templateConfigSchema = z.object({
48
+ const templateConfigSchema = z.object({
50
49
  fields: z.array(
51
50
  z.object({
52
51
  name: z.string(),
@@ -65,14 +64,25 @@ export const templateConfigSchema = z.object({
65
64
  packageManager: packageManagerSchema,
66
65
  type: projectTypeSchema.optional()
67
66
  });
68
- export const TEMPLATE_CONFIG_FILENAME = "skuba.template.js";
69
- export const TEMPLATE_DIR = path.join(
67
+ const TEMPLATE_CONFIG_FILENAME = "skuba.template.js";
68
+ const TEMPLATE_DIR = path.join(
70
69
  import.meta.dirname,
71
70
  "..",
72
71
  "..",
73
72
  "template"
74
73
  );
75
- export const BASE_TEMPLATE_DIR = path.join(TEMPLATE_DIR, "base");
76
- export const ensureTemplateConfigDeletion = (dir) => fs.promises.rm(path.join(dir, TEMPLATE_CONFIG_FILENAME));
77
- export const readBaseTemplateFile = (src) => fs.promises.readFile(path.join(BASE_TEMPLATE_DIR, src), "utf8");
74
+ const BASE_TEMPLATE_DIR = path.join(TEMPLATE_DIR, "base");
75
+ const ensureTemplateConfigDeletion = (dir) => fs.promises.rm(path.join(dir, TEMPLATE_CONFIG_FILENAME));
76
+ const readBaseTemplateFile = (src) => fs.promises.readFile(path.join(BASE_TEMPLATE_DIR, src), "utf8");
77
+ export {
78
+ BASE_TEMPLATE_DIR,
79
+ TEMPLATE_CONFIG_FILENAME,
80
+ TEMPLATE_DIR,
81
+ TEMPLATE_DOCUMENTATION_CONFIG,
82
+ TEMPLATE_NAMES,
83
+ TEMPLATE_NAMES_WITH_BYO,
84
+ ensureTemplateConfigDeletion,
85
+ readBaseTemplateFile,
86
+ templateConfigSchema
87
+ };
78
88
  //# sourceMappingURL=template.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/template.ts"],
4
4
  "sourcesContent": ["import path from 'path';\n\nimport fs from 'fs-extra';\nimport * as z from 'zod/v4';\n\nimport { projectTypeSchema } from './manifest.js';\nimport { packageManagerSchema } from './packageManager.js';\n\nexport const TEMPLATE_NAMES = [\n 'express-rest-api',\n 'greeter',\n 'koa-rest-api',\n 'lambda-sqs-worker-cdk',\n 'oss-npm-package',\n 'private-npm-package',\n] as const;\n\nexport type TemplateName = (typeof TEMPLATE_NAMES)[number];\n\nexport const TEMPLATE_NAMES_WITH_BYO = [...TEMPLATE_NAMES, 'github \u2192'] as const;\n\ninterface TemplateDocumentationConfig {\n /**\n * The semantic version in which the template was first added.\n *\n * This is used to filter out historical changelogs.\n */\n added: string;\n\n /**\n * The Markdown file for the template in our `/docs`.\n *\n * This is used to compile per-template changelogs for our documentation site.\n */\n filename: string;\n}\n\nexport const TEMPLATE_DOCUMENTATION_CONFIG: Record<\n TemplateName,\n TemplateDocumentationConfig\n> = {\n 'express-rest-api': {\n added: '3.8.0',\n filename: 'api.md',\n },\n greeter: {\n added: '3.4.1',\n filename: 'barebones.md',\n },\n 'koa-rest-api': {\n added: '3.4.1',\n filename: 'api.md',\n },\n 'lambda-sqs-worker-cdk': {\n added: '3.13.0',\n filename: 'worker.md',\n },\n 'oss-npm-package': {\n added: '3.7.0',\n filename: 'package.md',\n },\n 'private-npm-package': {\n added: '3.6.0',\n filename: 'package.md',\n },\n};\n\nexport type TemplateConfig = z.infer<typeof templateConfigSchema>;\n\n// https://github.com/colinhacks/zod/issues/4143#issuecomment-2845134912\n// https://github.com/colinhacks/zod/issues/4143#issuecomment-2931729793\nconst functionSchema = <T extends z.core.$ZodFunction>(schema: T) =>\n z.custom<Parameters<T['implement']>[0]>().transform((arg, ctx) => {\n if (typeof arg !== 'function') {\n ctx.addIssue('Must be function');\n return z.NEVER;\n }\n return schema.implement(arg);\n });\n\nexport const templateConfigSchema = z.object({\n fields: z.array(\n z.object({\n name: z.string(),\n message: z.string(),\n initial: z.string(),\n validate: functionSchema(\n z.function({\n input: [z.string()],\n output: z.union([z.boolean(), z.string()]),\n }),\n ).optional(),\n }),\n ),\n entryPoint: z.string().optional(),\n noSkip: z.boolean().optional(),\n packageManager: packageManagerSchema,\n type: projectTypeSchema.optional(),\n});\n\nexport const TEMPLATE_CONFIG_FILENAME = 'skuba.template.js';\n\nexport const TEMPLATE_DIR = path.join(\n import.meta.dirname,\n '..',\n '..',\n 'template',\n);\n\nexport const BASE_TEMPLATE_DIR = path.join(TEMPLATE_DIR, 'base');\n\nexport const ensureTemplateConfigDeletion = (dir: string): Promise<void> =>\n fs.promises.rm(path.join(dir, TEMPLATE_CONFIG_FILENAME));\n\nexport const readBaseTemplateFile = (src: string): Promise<string> =>\n fs.promises.readFile(path.join(BASE_TEMPLATE_DIR, src), 'utf8');\n"],
5
- "mappings": ";AAAA,OAAO,UAAU;AAEjB,OAAO,QAAQ;AACf,YAAY,OAAO;AAEnB,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AAE9B,aAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,aAAM,0BAA0B,CAAC,GAAG,gBAAgB,eAAU;AAkB9D,aAAM,gCAGT;AAAA,EACF,oBAAoB;AAAA,IAClB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,yBAAyB;AAAA,IACvB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,mBAAmB;AAAA,IACjB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,uBAAuB;AAAA,IACrB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AACF;AAMA,MAAM,iBAAiB,CAAgC,WACrD,EAAE,OAAsC,EAAE,UAAU,CAAC,KAAK,QAAQ;AAChE,MAAI,OAAO,QAAQ,YAAY;AAC7B,QAAI,SAAS,kBAAkB;AAC/B,WAAO,EAAE;AAAA,EACX;AACA,SAAO,OAAO,UAAU,GAAG;AAC7B,CAAC;AAEI,aAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,QAAQ,EAAE;AAAA,IACR,EAAE,OAAO;AAAA,MACP,MAAM,EAAE,OAAO;AAAA,MACf,SAAS,EAAE,OAAO;AAAA,MAClB,SAAS,EAAE,OAAO;AAAA,MAClB,UAAU;AAAA,QACR,EAAE,SAAS;AAAA,UACT,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,UAClB,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC;AAAA,QAC3C,CAAC;AAAA,MACH,EAAE,SAAS;AAAA,IACb,CAAC;AAAA,EACH;AAAA,EACA,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,gBAAgB;AAAA,EAChB,MAAM,kBAAkB,SAAS;AACnC,CAAC;AAEM,aAAM,2BAA2B;AAEjC,aAAM,eAAe,KAAK;AAAA,EAC/B,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AACF;AAEO,aAAM,oBAAoB,KAAK,KAAK,cAAc,MAAM;AAExD,aAAM,+BAA+B,CAAC,QAC3C,GAAG,SAAS,GAAG,KAAK,KAAK,KAAK,wBAAwB,CAAC;AAElD,aAAM,uBAAuB,CAAC,QACnC,GAAG,SAAS,SAAS,KAAK,KAAK,mBAAmB,GAAG,GAAG,MAAM;",
5
+ "mappings": "AAAA,OAAO,UAAU;AAEjB,OAAO,QAAQ;AACf,YAAY,OAAO;AAEnB,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AAE9B,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,0BAA0B,CAAC,GAAG,gBAAgB,eAAU;AAkB9D,MAAM,gCAGT;AAAA,EACF,oBAAoB;AAAA,IAClB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,yBAAyB;AAAA,IACvB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,mBAAmB;AAAA,IACjB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,uBAAuB;AAAA,IACrB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AACF;AAMA,MAAM,iBAAiB,CAAgC,WACrD,EAAE,OAAsC,EAAE,UAAU,CAAC,KAAK,QAAQ;AAChE,MAAI,OAAO,QAAQ,YAAY;AAC7B,QAAI,SAAS,kBAAkB;AAC/B,WAAO,EAAE;AAAA,EACX;AACA,SAAO,OAAO,UAAU,GAAG;AAC7B,CAAC;AAEI,MAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,QAAQ,EAAE;AAAA,IACR,EAAE,OAAO;AAAA,MACP,MAAM,EAAE,OAAO;AAAA,MACf,SAAS,EAAE,OAAO;AAAA,MAClB,SAAS,EAAE,OAAO;AAAA,MAClB,UAAU;AAAA,QACR,EAAE,SAAS;AAAA,UACT,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,UAClB,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC;AAAA,QAC3C,CAAC;AAAA,MACH,EAAE,SAAS;AAAA,IACb,CAAC;AAAA,EACH;AAAA,EACA,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,gBAAgB;AAAA,EAChB,MAAM,kBAAkB,SAAS;AACnC,CAAC;AAEM,MAAM,2BAA2B;AAEjC,MAAM,eAAe,KAAK;AAAA,EAC/B,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,oBAAoB,KAAK,KAAK,cAAc,MAAM;AAExD,MAAM,+BAA+B,CAAC,QAC3C,GAAG,SAAS,GAAG,KAAK,KAAK,KAAK,wBAAwB,CAAC;AAElD,MAAM,uBAAuB,CAAC,QACnC,GAAG,SAAS,SAAS,KAAK,KAAK,mBAAmB,GAAG,GAAG,MAAM;",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,15 @@
1
- "use strict";
2
- export const isFunction = (data) => typeof data === "function";
3
- export const isIpPort = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0 && value <= 65535;
4
- export const isObject = (value) => typeof value === "object" && value !== null;
5
- export const hasProp = (value, prop) => isObject(value) && value.hasOwnProperty(prop);
6
- export const hasNumberProp = (value, prop) => isObject(value) && typeof value[prop] === "number";
7
- export const hasStringProp = (value, prop) => isObject(value) && typeof value[prop] === "string";
1
+ const isFunction = (data) => typeof data === "function";
2
+ const isIpPort = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0 && value <= 65535;
3
+ const isObject = (value) => typeof value === "object" && value !== null;
4
+ const hasProp = (value, prop) => isObject(value) && value.hasOwnProperty(prop);
5
+ const hasNumberProp = (value, prop) => isObject(value) && typeof value[prop] === "number";
6
+ const hasStringProp = (value, prop) => isObject(value) && typeof value[prop] === "string";
7
+ export {
8
+ hasNumberProp,
9
+ hasProp,
10
+ hasStringProp,
11
+ isFunction,
12
+ isIpPort,
13
+ isObject
14
+ };
8
15
  //# sourceMappingURL=validation.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/validation.ts"],
4
4
  "sourcesContent": ["export const isFunction = (\n data: unknown,\n): data is (...args: unknown[]) => Promise<unknown> =>\n typeof data === 'function';\n\nexport const isIpPort = (value: unknown): value is number =>\n typeof value === 'number' &&\n Number.isSafeInteger(value) &&\n value >= 0 &&\n value <= 65535;\n\nexport const isObject = (\n value: unknown,\n): value is Record<PropertyKey, unknown> =>\n typeof value === 'object' && value !== null;\n\nexport const hasProp = <P extends PropertyKey, V = unknown>(\n value: unknown,\n prop: P,\n): value is Record<P, V> => isObject(value) && value.hasOwnProperty(prop);\n\nexport const hasNumberProp = <P extends PropertyKey>(\n value: unknown,\n prop: P,\n): value is Record<P, number> =>\n isObject(value) && typeof value[prop] === 'number';\n\nexport const hasStringProp = <P extends PropertyKey>(\n value: unknown,\n prop: P,\n): value is Record<P, string> =>\n isObject(value) && typeof value[prop] === 'string';\n"],
5
- "mappings": ";AAAO,aAAM,aAAa,CACxB,SAEA,OAAO,SAAS;AAEX,aAAM,WAAW,CAAC,UACvB,OAAO,UAAU,YACjB,OAAO,cAAc,KAAK,KAC1B,SAAS,KACT,SAAS;AAEJ,aAAM,WAAW,CACtB,UAEA,OAAO,UAAU,YAAY,UAAU;AAElC,aAAM,UAAU,CACrB,OACA,SAC0B,SAAS,KAAK,KAAK,MAAM,eAAe,IAAI;AAEjE,aAAM,gBAAgB,CAC3B,OACA,SAEA,SAAS,KAAK,KAAK,OAAO,MAAM,IAAI,MAAM;AAErC,aAAM,gBAAgB,CAC3B,OACA,SAEA,SAAS,KAAK,KAAK,OAAO,MAAM,IAAI,MAAM;",
5
+ "mappings": "AAAO,MAAM,aAAa,CACxB,SAEA,OAAO,SAAS;AAEX,MAAM,WAAW,CAAC,UACvB,OAAO,UAAU,YACjB,OAAO,cAAc,KAAK,KAC1B,SAAS,KACT,SAAS;AAEJ,MAAM,WAAW,CACtB,UAEA,OAAO,UAAU,YAAY,UAAU;AAElC,MAAM,UAAU,CACrB,OACA,SAC0B,SAAS,KAAK,KAAK,MAAM,eAAe,IAAI;AAEjE,MAAM,gBAAgB,CAC3B,OACA,SAEA,SAAS,KAAK,KAAK,OAAO,MAAM,IAAI,MAAM;AAErC,MAAM,gBAAgB,CAC3B,OACA,SAEA,SAAS,KAAK,KAAK,OAAO,MAAM,IAAI,MAAM;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import npmFetch from "npm-registry-fetch";
3
2
  import * as z from "zod/v4";
4
3
  import { getSkubaManifest } from "./manifest.js";
@@ -36,11 +35,11 @@ const getNpmPackage = async (packageName) => {
36
35
  throw error;
37
36
  }
38
37
  };
39
- export const getNpmVersions = async (packageName) => {
38
+ const getNpmVersions = async (packageName) => {
40
39
  const response = await getNpmPackage(packageName);
41
40
  return response?.versions ?? null;
42
41
  };
43
- export const getLatestNpmVersion = async (packageName) => {
42
+ const getLatestNpmVersion = async (packageName) => {
44
43
  const response = await getNpmPackage(packageName);
45
44
  return response?.["dist-tags"]?.latest ?? null;
46
45
  };
@@ -52,11 +51,11 @@ const latestSkubaVersion = async () => {
52
51
  return null;
53
52
  }
54
53
  };
55
- export const getSkubaVersion = async () => {
54
+ const getSkubaVersion = async () => {
56
55
  const { version } = await getSkubaManifest();
57
56
  return version;
58
57
  };
59
- export const getSkubaVersionInfo = async () => {
58
+ const getSkubaVersionInfo = async () => {
60
59
  const [local, latest] = await Promise.all([
61
60
  getSkubaVersion(),
62
61
  latestSkubaVersion()
@@ -74,4 +73,10 @@ export const getSkubaVersionInfo = async () => {
74
73
  latest
75
74
  };
76
75
  };
76
+ export {
77
+ getLatestNpmVersion,
78
+ getNpmVersions,
79
+ getSkubaVersion,
80
+ getSkubaVersionInfo
81
+ };
77
82
  //# sourceMappingURL=version.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/version.ts"],
4
4
  "sourcesContent": ["import npmFetch from 'npm-registry-fetch';\nimport * as z from 'zod/v4';\n\nimport { getSkubaManifest } from './manifest.js';\nimport { withTimeout } from './wait.js';\n\nconst NpmVersions = z.record(\n z.string(),\n z.object({\n name: z.string(),\n version: z.string(),\n deprecated: z.string().optional(),\n }),\n);\n\nexport type NpmVersions = z.infer<typeof NpmVersions>;\n\nconst PackageResponse = z.object({\n 'dist-tags': z.record(z.string(), z.string()).optional(),\n versions: NpmVersions,\n});\n\nconst getNpmPackage = async (packageName: string) => {\n try {\n const response = await npmFetch.json(packageName, {\n headers: {\n Accept:\n 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*',\n },\n });\n\n const parsedResponse = PackageResponse.safeParse(response);\n if (!parsedResponse.success) {\n throw new Error(\n `Failed to parse package response from npm for package ${packageName}`,\n );\n }\n\n return parsedResponse.data;\n } catch (error) {\n if (\n error instanceof Error &&\n 'statusCode' in error &&\n error.statusCode === 404\n ) {\n return null;\n }\n throw error;\n }\n};\n\nexport const getNpmVersions = async (\n packageName: string,\n): Promise<NpmVersions | null> => {\n const response = await getNpmPackage(packageName);\n return response?.versions ?? null;\n};\n\nexport const getLatestNpmVersion = async (\n packageName: string,\n): Promise<string | null> => {\n const response = await getNpmPackage(packageName);\n return response?.['dist-tags']?.latest ?? null;\n};\n\nconst latestSkubaVersion = async (): Promise<string | null> => {\n try {\n const result = await withTimeout(getLatestNpmVersion('skuba'), { s: 2 });\n\n return result.ok ? result.value : null;\n } catch {\n return null;\n }\n};\n\nexport const getSkubaVersion = async (): Promise<string> => {\n const { version } = await getSkubaManifest();\n\n return version;\n};\n\ntype SkubaVersionInfo =\n | {\n isStale: true;\n\n local: string;\n latest: string;\n }\n | {\n isStale: false;\n\n local: string;\n latest: string | null;\n };\n\nexport const getSkubaVersionInfo = async (): Promise<SkubaVersionInfo> => {\n const [local, latest] = await Promise.all([\n getSkubaVersion(),\n latestSkubaVersion(),\n ]);\n\n if (latest === null) {\n // Assume we're up to date if we can't reach the npm registry\n return {\n isStale: false,\n local,\n latest,\n };\n }\n\n return {\n isStale: latest !== local,\n local,\n latest,\n };\n};\n"],
5
- "mappings": ";AAAA,OAAO,cAAc;AACrB,YAAY,OAAO;AAEnB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAE5B,MAAM,cAAc,EAAE;AAAA,EACpB,EAAE,OAAO;AAAA,EACT,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,OAAO;AAAA,IACf,SAAS,EAAE,OAAO;AAAA,IAClB,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,CAAC;AACH;AAIA,MAAM,kBAAkB,EAAE,OAAO;AAAA,EAC/B,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACvD,UAAU;AACZ,CAAC;AAED,MAAM,gBAAgB,OAAO,gBAAwB;AACnD,MAAI;AACF,UAAM,WAAW,MAAM,SAAS,KAAK,aAAa;AAAA,MAChD,SAAS;AAAA,QACP,QACE;AAAA,MACJ;AAAA,IACF,CAAC;AAED,UAAM,iBAAiB,gBAAgB,UAAU,QAAQ;AACzD,QAAI,CAAC,eAAe,SAAS;AAC3B,YAAM,IAAI;AAAA,QACR,yDAAyD,WAAW;AAAA,MACtE;AAAA,IACF;AAEA,WAAO,eAAe;AAAA,EACxB,SAAS,OAAO;AACd,QACE,iBAAiB,SACjB,gBAAgB,SAChB,MAAM,eAAe,KACrB;AACA,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAEO,aAAM,iBAAiB,OAC5B,gBACgC;AAChC,QAAM,WAAW,MAAM,cAAc,WAAW;AAChD,SAAO,UAAU,YAAY;AAC/B;AAEO,aAAM,sBAAsB,OACjC,gBAC2B;AAC3B,QAAM,WAAW,MAAM,cAAc,WAAW;AAChD,SAAO,WAAW,WAAW,GAAG,UAAU;AAC5C;AAEA,MAAM,qBAAqB,YAAoC;AAC7D,MAAI;AACF,UAAM,SAAS,MAAM,YAAY,oBAAoB,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvE,WAAO,OAAO,KAAK,OAAO,QAAQ;AAAA,EACpC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,aAAM,kBAAkB,YAA6B;AAC1D,QAAM,EAAE,QAAQ,IAAI,MAAM,iBAAiB;AAE3C,SAAO;AACT;AAgBO,aAAM,sBAAsB,YAAuC;AACxE,QAAM,CAAC,OAAO,MAAM,IAAI,MAAM,QAAQ,IAAI;AAAA,IACxC,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,EACrB,CAAC;AAED,MAAI,WAAW,MAAM;AAEnB,WAAO;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS,WAAW;AAAA,IACpB;AAAA,IACA;AAAA,EACF;AACF;",
5
+ "mappings": "AAAA,OAAO,cAAc;AACrB,YAAY,OAAO;AAEnB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAE5B,MAAM,cAAc,EAAE;AAAA,EACpB,EAAE,OAAO;AAAA,EACT,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,OAAO;AAAA,IACf,SAAS,EAAE,OAAO;AAAA,IAClB,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,CAAC;AACH;AAIA,MAAM,kBAAkB,EAAE,OAAO;AAAA,EAC/B,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACvD,UAAU;AACZ,CAAC;AAED,MAAM,gBAAgB,OAAO,gBAAwB;AACnD,MAAI;AACF,UAAM,WAAW,MAAM,SAAS,KAAK,aAAa;AAAA,MAChD,SAAS;AAAA,QACP,QACE;AAAA,MACJ;AAAA,IACF,CAAC;AAED,UAAM,iBAAiB,gBAAgB,UAAU,QAAQ;AACzD,QAAI,CAAC,eAAe,SAAS;AAC3B,YAAM,IAAI;AAAA,QACR,yDAAyD,WAAW;AAAA,MACtE;AAAA,IACF;AAEA,WAAO,eAAe;AAAA,EACxB,SAAS,OAAO;AACd,QACE,iBAAiB,SACjB,gBAAgB,SAChB,MAAM,eAAe,KACrB;AACA,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAEO,MAAM,iBAAiB,OAC5B,gBACgC;AAChC,QAAM,WAAW,MAAM,cAAc,WAAW;AAChD,SAAO,UAAU,YAAY;AAC/B;AAEO,MAAM,sBAAsB,OACjC,gBAC2B;AAC3B,QAAM,WAAW,MAAM,cAAc,WAAW;AAChD,SAAO,WAAW,WAAW,GAAG,UAAU;AAC5C;AAEA,MAAM,qBAAqB,YAAoC;AAC7D,MAAI;AACF,UAAM,SAAS,MAAM,YAAY,oBAAoB,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvE,WAAO,OAAO,KAAK,OAAO,QAAQ;AAAA,EACpC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB,YAA6B;AAC1D,QAAM,EAAE,QAAQ,IAAI,MAAM,iBAAiB;AAE3C,SAAO;AACT;AAgBO,MAAM,sBAAsB,YAAuC;AACxE,QAAM,CAAC,OAAO,MAAM,IAAI,MAAM,QAAQ,IAAI;AAAA,IACxC,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,EACrB,CAAC;AAED,MAAI,WAAW,MAAM;AAEnB,WAAO;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS,WAAW;AAAA,IACpB;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
package/lib/utils/wait.js CHANGED
@@ -1,15 +1,14 @@
1
- "use strict";
2
1
  import { createTerseError } from "./error.js";
3
2
  import { pluralise } from "./logging.js";
4
3
  import { sleep } from "./sleep.js";
5
- export const throwOnTimeout = async (promise, { s }) => {
4
+ const throwOnTimeout = async (promise, { s }) => {
6
5
  const result = await withTimeout(promise, { s });
7
6
  if (!result.ok) {
8
7
  throw createTerseError(`Timed out after ${pluralise(s, "second")}`);
9
8
  }
10
9
  return result.value;
11
10
  };
12
- export const withTimeout = async (promise, { s }) => {
11
+ const withTimeout = async (promise, { s }) => {
13
12
  const timeout = sleep(s * 1e3);
14
13
  try {
15
14
  return await Promise.race([
@@ -20,4 +19,8 @@ export const withTimeout = async (promise, { s }) => {
20
19
  timeout.clear?.();
21
20
  }
22
21
  };
22
+ export {
23
+ throwOnTimeout,
24
+ withTimeout
25
+ };
23
26
  //# sourceMappingURL=wait.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/wait.ts"],
4
4
  "sourcesContent": ["import { createTerseError } from './error.js';\nimport { pluralise } from './logging.js';\nimport { sleep } from './sleep.js';\n\nexport const throwOnTimeout = async <T>(\n promise: PromiseLike<T>,\n { s }: { s: number },\n): Promise<T> => {\n const result = await withTimeout(promise, { s });\n\n if (!result.ok) {\n throw createTerseError(`Timed out after ${pluralise(s, 'second')}`);\n }\n\n return result.value;\n};\n\ntype TimeoutResult<T> = { ok: true; value: T } | { ok: false };\n\nexport const withTimeout = async <T>(\n promise: T | PromiseLike<T>,\n { s }: { s: number },\n): Promise<TimeoutResult<T>> => {\n const timeout = sleep(s * 1_000);\n\n try {\n return await Promise.race<TimeoutResult<T>>([\n Promise.resolve(promise).then((value) => ({ ok: true, value })),\n timeout.then(() => ({ ok: false })),\n ]);\n } finally {\n timeout.clear?.();\n }\n};\n"],
5
- "mappings": ";AAAA,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,aAAa;AAEf,aAAM,iBAAiB,OAC5B,SACA,EAAE,EAAE,MACW;AACf,QAAM,SAAS,MAAM,YAAY,SAAS,EAAE,EAAE,CAAC;AAE/C,MAAI,CAAC,OAAO,IAAI;AACd,UAAM,iBAAiB,mBAAmB,UAAU,GAAG,QAAQ,CAAC,EAAE;AAAA,EACpE;AAEA,SAAO,OAAO;AAChB;AAIO,aAAM,cAAc,OACzB,SACA,EAAE,EAAE,MAC0B;AAC9B,QAAM,UAAU,MAAM,IAAI,GAAK;AAE/B,MAAI;AACF,WAAO,MAAM,QAAQ,KAAuB;AAAA,MAC1C,QAAQ,QAAQ,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,MAAM,EAAE;AAAA,MAC9D,QAAQ,KAAK,OAAO,EAAE,IAAI,MAAM,EAAE;AAAA,IACpC,CAAC;AAAA,EACH,UAAE;AACA,YAAQ,QAAQ;AAAA,EAClB;AACF;",
5
+ "mappings": "AAAA,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,aAAa;AAEf,MAAM,iBAAiB,OAC5B,SACA,EAAE,EAAE,MACW;AACf,QAAM,SAAS,MAAM,YAAY,SAAS,EAAE,EAAE,CAAC;AAE/C,MAAI,CAAC,OAAO,IAAI;AACd,UAAM,iBAAiB,mBAAmB,UAAU,GAAG,QAAQ,CAAC,EAAE;AAAA,EACpE;AAEA,SAAO,OAAO;AAChB;AAIO,MAAM,cAAc,OACzB,SACA,EAAE,EAAE,MAC0B;AAC9B,QAAM,UAAU,MAAM,IAAI,GAAK;AAE/B,MAAI;AACF,WAAO,MAAM,QAAQ,KAAuB;AAAA,MAC1C,QAAQ,QAAQ,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,MAAM,EAAE;AAAA,MAC9D,QAAQ,KAAK,OAAO,EAAE,IAAI,MAAM,EAAE;AAAA,IACpC,CAAC;AAAA,EACH,UAAE;AACA,YAAQ,QAAQ;AAAA,EAClB;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,7 @@
1
- "use strict";
2
1
  import { inspect } from "util";
3
2
  import { Worker, parentPort, workerData } from "worker_threads";
4
3
  import { log } from "./logging.js";
5
- export const execWorkerThread = async (filepath, input) => {
4
+ const execWorkerThread = async (filepath, input) => {
6
5
  let output;
7
6
  let messageReceived = false;
8
7
  return new Promise(
@@ -21,7 +20,7 @@ export const execWorkerThread = async (filepath, input) => {
21
20
  }).on("messageerror", (err) => reject(err))
22
21
  );
23
22
  };
24
- export const postWorkerOutput = (fn, logger = log) => {
23
+ const postWorkerOutput = (fn, logger = log) => {
25
24
  const port = parentPort;
26
25
  if (!port) {
27
26
  logger.err("`postWorkerOutput` called outside of a worker thread context");
@@ -32,4 +31,8 @@ export const postWorkerOutput = (fn, logger = log) => {
32
31
  process.exit(1);
33
32
  });
34
33
  };
34
+ export {
35
+ execWorkerThread,
36
+ postWorkerOutput
37
+ };
35
38
  //# sourceMappingURL=worker.js.map