skuba 14.0.0-esmify-skuba-20251105032119 → 14.0.0-hacky-hack-lang-json-20260108235938

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 (539) hide show
  1. package/config/eslint.js +1 -1
  2. package/config/jest.js +1 -0
  3. package/config/prettier.d.ts +4 -0
  4. package/config/prettier.js +2 -10
  5. package/jest/moduleNameMapper.js +64 -0
  6. package/jest/transform.js +62 -0
  7. package/jest/tsConfig.js +26 -0
  8. package/jest-preset.js +37 -0
  9. package/lib/api/jest/index.d.ts +15 -0
  10. package/lib/api/jest/index.js +59 -0
  11. package/lib/api/jest/index.js.map +7 -0
  12. package/lib/cli/adapter/eslint.js +45 -11
  13. package/lib/cli/adapter/eslint.js.map +3 -3
  14. package/lib/cli/adapter/prettier.js +67 -39
  15. package/lib/cli/adapter/prettier.js.map +2 -2
  16. package/lib/cli/build/args.js +42 -8
  17. package/lib/cli/build/args.js.map +2 -2
  18. package/lib/{src/cli → cli}/build/assets.d.ts +3 -2
  19. package/lib/cli/build/assets.js +60 -28
  20. package/lib/cli/build/assets.js.map +3 -3
  21. package/lib/cli/build/esbuild.d.ts +8 -0
  22. package/lib/cli/build/esbuild.js +64 -23
  23. package/lib/cli/build/esbuild.js.map +2 -2
  24. package/lib/cli/build/index.js +53 -21
  25. package/lib/cli/build/index.js.map +2 -2
  26. package/lib/cli/build/tsc.js +60 -24
  27. package/lib/cli/build/tsc.js.map +3 -3
  28. package/lib/cli/buildPackage/index.js +32 -8
  29. package/lib/cli/buildPackage/index.js.map +1 -1
  30. package/lib/cli/configure/analyseConfiguration.js +50 -16
  31. package/lib/cli/configure/analyseConfiguration.js.map +2 -2
  32. package/lib/{src/cli → cli}/configure/analyseDependencies.d.ts +1 -1
  33. package/lib/cli/configure/analyseDependencies.js +59 -25
  34. package/lib/cli/configure/analyseDependencies.js.map +3 -3
  35. package/lib/cli/configure/analysis/diff.js +29 -5
  36. package/lib/cli/configure/analysis/diff.js.map +2 -2
  37. package/lib/cli/configure/analysis/files.js +42 -8
  38. package/lib/cli/configure/analysis/files.js.map +2 -2
  39. package/lib/cli/configure/analysis/git.js +46 -12
  40. package/lib/cli/configure/analysis/git.js.map +2 -2
  41. package/lib/{src/cli → cli}/configure/analysis/package.d.ts +3 -2
  42. package/lib/cli/configure/analysis/package.js +45 -10
  43. package/lib/cli/configure/analysis/package.js.map +3 -3
  44. package/lib/cli/configure/analysis/project.js +50 -18
  45. package/lib/cli/configure/analysis/project.js.map +2 -2
  46. package/lib/cli/configure/dependencies/index.js +35 -7
  47. package/lib/cli/configure/dependencies/index.js.map +1 -1
  48. package/lib/cli/configure/dependencies/seekDatadogCustomMetrics.js +28 -4
  49. package/lib/cli/configure/dependencies/seekDatadogCustomMetrics.js.map +1 -1
  50. package/lib/cli/configure/dependencies/seekKoala.js +28 -4
  51. package/lib/cli/configure/dependencies/seekKoala.js.map +1 -1
  52. package/lib/cli/configure/dependencies/skuba.js +28 -4
  53. package/lib/cli/configure/dependencies/skuba.js.map +1 -1
  54. package/lib/cli/configure/dependencies/skubaDeps.js +26 -2
  55. package/lib/cli/configure/dependencies/skubaDeps.js.map +1 -1
  56. package/lib/cli/configure/dependencies/skubaDive.js +29 -4
  57. package/lib/cli/configure/dependencies/skubaDive.js.map +1 -1
  58. package/lib/{src/cli → cli}/configure/ensureTemplateCompletion.d.ts +1 -1
  59. package/lib/cli/configure/ensureTemplateCompletion.js +63 -32
  60. package/lib/cli/configure/ensureTemplateCompletion.js.map +3 -3
  61. package/lib/{src/cli → cli}/configure/getEntryPoint.d.ts +2 -2
  62. package/lib/cli/configure/getEntryPoint.js +51 -19
  63. package/lib/cli/configure/getEntryPoint.js.map +3 -3
  64. package/lib/{src/cli → cli}/configure/getProjectType.d.ts +1 -1
  65. package/lib/cli/configure/getProjectType.js +36 -17
  66. package/lib/cli/configure/getProjectType.js.map +2 -2
  67. package/lib/cli/configure/index.js +91 -56
  68. package/lib/cli/configure/index.js.map +3 -3
  69. package/lib/cli/configure/modules/eslint.js +34 -10
  70. package/lib/cli/configure/modules/eslint.js.map +1 -1
  71. package/lib/cli/configure/modules/ignore.js +32 -8
  72. package/lib/cli/configure/modules/ignore.js.map +1 -1
  73. package/lib/cli/configure/modules/index.js +44 -18
  74. package/lib/cli/configure/modules/index.js.map +2 -2
  75. package/lib/cli/configure/modules/jest.d.ts +2 -0
  76. package/lib/cli/configure/modules/jest.js +86 -0
  77. package/lib/cli/configure/modules/jest.js.map +7 -0
  78. package/lib/cli/configure/modules/nodemon.js +28 -4
  79. package/lib/cli/configure/modules/nodemon.js.map +1 -1
  80. package/lib/cli/configure/modules/package.js +34 -10
  81. package/lib/cli/configure/modules/package.js.map +1 -1
  82. package/lib/cli/configure/modules/prettier.js +35 -11
  83. package/lib/cli/configure/modules/prettier.js.map +1 -1
  84. package/lib/cli/configure/modules/renovate.js +40 -17
  85. package/lib/cli/configure/modules/renovate.js.map +2 -2
  86. package/lib/cli/configure/modules/serverless.js +26 -2
  87. package/lib/cli/configure/modules/serverless.js.map +1 -1
  88. package/lib/cli/configure/modules/tslint.js +28 -4
  89. package/lib/cli/configure/modules/tslint.js.map +1 -1
  90. package/lib/cli/configure/processing/configFile.js +39 -3
  91. package/lib/cli/configure/processing/configFile.js.map +1 -1
  92. package/lib/cli/configure/processing/deleteFiles.js +26 -2
  93. package/lib/cli/configure/processing/deleteFiles.js.map +1 -1
  94. package/lib/cli/configure/processing/javascript.js +27 -2
  95. package/lib/cli/configure/processing/javascript.js.map +1 -1
  96. package/lib/cli/configure/processing/json.js +31 -6
  97. package/lib/cli/configure/processing/json.js.map +1 -1
  98. package/lib/cli/configure/processing/loadFiles.js +26 -2
  99. package/lib/cli/configure/processing/loadFiles.js.map +1 -1
  100. package/lib/cli/configure/processing/module.js +28 -4
  101. package/lib/cli/configure/processing/module.js.map +1 -1
  102. package/lib/cli/configure/processing/package.d.ts +71 -0
  103. package/lib/cli/configure/processing/package.js +45 -8
  104. package/lib/cli/configure/processing/package.js.map +3 -3
  105. package/lib/cli/configure/processing/prettier.js +38 -4
  106. package/lib/cli/configure/processing/prettier.js.map +2 -2
  107. package/lib/cli/configure/processing/record.js +41 -5
  108. package/lib/cli/configure/processing/record.js.map +2 -2
  109. package/lib/cli/configure/processing/typescript.js +63 -26
  110. package/lib/cli/configure/processing/typescript.js.map +2 -2
  111. package/lib/{src/cli → cli}/configure/types.d.ts +4 -15
  112. package/lib/cli/configure/types.js +16 -0
  113. package/lib/cli/configure/types.js.map +3 -3
  114. package/lib/cli/format/index.js +44 -20
  115. package/lib/cli/format/index.js.map +2 -2
  116. package/lib/cli/help/index.js +30 -6
  117. package/lib/cli/help/index.js.map +1 -1
  118. package/lib/{src/cli → cli}/init/getConfig.d.ts +2 -2
  119. package/lib/cli/init/getConfig.js +121 -102
  120. package/lib/cli/init/getConfig.js.map +3 -3
  121. package/lib/cli/init/git.js +51 -16
  122. package/lib/cli/init/git.js.map +2 -2
  123. package/lib/cli/init/index.js +98 -67
  124. package/lib/cli/init/index.js.map +2 -2
  125. package/lib/{src/cli → cli}/init/prompts.d.ts +13 -10
  126. package/lib/cli/init/prompts.js +56 -35
  127. package/lib/cli/init/prompts.js.map +2 -2
  128. package/lib/cli/init/types.js +41 -7
  129. package/lib/cli/init/types.js.map +1 -1
  130. package/lib/cli/init/validation.js +30 -2
  131. package/lib/cli/init/validation.js.map +1 -1
  132. package/lib/cli/init/writePackageJson.js +42 -8
  133. package/lib/cli/init/writePackageJson.js.map +2 -2
  134. package/lib/cli/lint/annotate/buildkite/eslint.js +37 -3
  135. package/lib/cli/lint/annotate/buildkite/eslint.js.map +1 -1
  136. package/lib/cli/lint/annotate/buildkite/index.js +45 -11
  137. package/lib/cli/lint/annotate/buildkite/index.js.map +1 -1
  138. package/lib/cli/lint/annotate/buildkite/internal.js +37 -3
  139. package/lib/cli/lint/annotate/buildkite/internal.js.map +1 -1
  140. package/lib/cli/lint/annotate/buildkite/prettier.js +37 -3
  141. package/lib/cli/lint/annotate/buildkite/prettier.js.map +1 -1
  142. package/lib/cli/lint/annotate/buildkite/tsc.js +37 -3
  143. package/lib/cli/lint/annotate/buildkite/tsc.js.map +1 -1
  144. package/lib/cli/lint/annotate/github/eslint.js +26 -2
  145. package/lib/cli/lint/annotate/github/eslint.js.map +1 -1
  146. package/lib/cli/lint/annotate/github/index.js +45 -11
  147. package/lib/cli/lint/annotate/github/index.js.map +1 -1
  148. package/lib/cli/lint/annotate/github/internal.js +26 -2
  149. package/lib/cli/lint/annotate/github/internal.js.map +1 -1
  150. package/lib/cli/lint/annotate/github/prettier.js +26 -2
  151. package/lib/cli/lint/annotate/github/prettier.js.map +1 -1
  152. package/lib/cli/lint/annotate/github/tsc.js +28 -4
  153. package/lib/cli/lint/annotate/github/tsc.js.map +2 -2
  154. package/lib/cli/lint/annotate/index.js +30 -6
  155. package/lib/cli/lint/annotate/index.js.map +1 -1
  156. package/lib/{src/cli → cli}/lint/autofix.d.ts +5 -0
  157. package/lib/cli/lint/autofix.js +80 -40
  158. package/lib/cli/lint/autofix.js.map +2 -2
  159. package/lib/cli/lint/eslint.js +51 -16
  160. package/lib/cli/lint/eslint.js.map +3 -3
  161. package/lib/cli/lint/external.js +51 -19
  162. package/lib/cli/lint/external.js.map +2 -2
  163. package/lib/cli/lint/index.js +50 -28
  164. package/lib/cli/lint/index.js.map +2 -2
  165. package/lib/cli/lint/internal.js +44 -18
  166. package/lib/cli/lint/internal.js.map +2 -2
  167. package/lib/cli/lint/internalLints/detectBadCodeowners.js +33 -8
  168. package/lib/cli/lint/internalLints/detectBadCodeowners.js.map +1 -1
  169. package/lib/cli/lint/internalLints/noSkubaTemplateJs.js +46 -14
  170. package/lib/cli/lint/internalLints/noSkubaTemplateJs.js.map +3 -3
  171. package/lib/cli/lint/internalLints/patchRenovateConfig.js +55 -21
  172. package/lib/cli/lint/internalLints/patchRenovateConfig.js.map +2 -2
  173. package/lib/cli/lint/internalLints/refreshConfigFiles.js +64 -35
  174. package/lib/cli/lint/internalLints/refreshConfigFiles.js.map +3 -3
  175. package/lib/{src/cli → cli}/lint/internalLints/upgrade/index.d.ts +2 -2
  176. package/lib/cli/lint/internalLints/upgrade/index.js +105 -41
  177. package/lib/cli/lint/internalLints/upgrade/index.js.map +3 -3
  178. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.js +28 -4
  179. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.js.map +1 -1
  180. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.js +45 -11
  181. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.js.map +2 -2
  182. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.js +30 -6
  183. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.js.map +1 -1
  184. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.js +65 -34
  185. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.js.map +2 -2
  186. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.js +46 -11
  187. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.js.map +2 -2
  188. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/index.js +28 -4
  189. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/index.js.map +1 -1
  190. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.js +59 -23
  191. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.js.map +2 -2
  192. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/index.js +28 -4
  193. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/index.js.map +1 -1
  194. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.js +46 -11
  195. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.js.map +2 -2
  196. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/index.js +30 -6
  197. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/index.js.map +1 -1
  198. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.js +46 -11
  199. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.js.map +2 -2
  200. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.js +46 -11
  201. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.js.map +2 -2
  202. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/index.js +28 -4
  203. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/index.js.map +1 -1
  204. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.js +46 -11
  205. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.js.map +2 -2
  206. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.js +67 -29
  207. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.js.map +2 -2
  208. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/index.js +34 -10
  209. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/index.js.map +1 -1
  210. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.js +45 -11
  211. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.js.map +2 -2
  212. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.js +63 -17
  213. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.js.map +2 -2
  214. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.js +50 -15
  215. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.js.map +2 -2
  216. package/lib/cli/lint/internalLints/upgrade/patches/13.1.1/index.js +40 -0
  217. package/lib/cli/lint/internalLints/upgrade/patches/13.1.1/index.js.map +7 -0
  218. package/lib/cli/lint/internalLints/upgrade/patches/13.1.1/patchRootTsconfig.d.ts +3 -0
  219. package/lib/cli/lint/internalLints/upgrade/patches/13.1.1/patchRootTsconfig.js +149 -0
  220. package/lib/cli/lint/internalLints/upgrade/patches/13.1.1/patchRootTsconfig.js.map +7 -0
  221. package/lib/cli/lint/internalLints/upgrade/patches/13.1.1/upgradeNode.js +55 -0
  222. package/lib/cli/lint/internalLints/upgrade/patches/13.1.1/upgradeNode.js.map +7 -0
  223. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.js +51 -17
  224. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.js.map +2 -2
  225. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/index.js +34 -10
  226. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/index.js.map +1 -1
  227. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.js +44 -10
  228. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.js.map +2 -2
  229. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.js +46 -12
  230. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.js.map +2 -2
  231. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/index.js +28 -4
  232. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/index.js.map +1 -1
  233. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.js +49 -15
  234. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.js.map +2 -2
  235. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.js +45 -11
  236. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.js.map +2 -2
  237. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/index.js +34 -10
  238. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/index.js.map +1 -1
  239. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.js +45 -11
  240. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.js.map +2 -2
  241. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.js +45 -11
  242. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.js.map +2 -2
  243. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.js +47 -13
  244. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.js.map +2 -2
  245. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/index.js +28 -4
  246. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/index.js.map +1 -1
  247. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.js +45 -11
  248. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.js.map +2 -2
  249. package/lib/cli/lint/prettier.js +50 -15
  250. package/lib/cli/lint/prettier.js.map +3 -3
  251. package/lib/cli/lint/tsc.js +28 -4
  252. package/lib/cli/lint/tsc.js.map +1 -1
  253. package/lib/cli/lint/types.js +16 -0
  254. package/lib/cli/lint/types.js.map +3 -3
  255. package/lib/cli/migrate/index.d.ts +6 -0
  256. package/lib/cli/migrate/index.js +79 -15
  257. package/lib/cli/migrate/index.js.map +2 -2
  258. package/lib/cli/migrate/nodeVersion/checks.d.ts +1 -0
  259. package/lib/cli/migrate/nodeVersion/checks.js +51 -120
  260. package/lib/cli/migrate/nodeVersion/checks.js.map +2 -2
  261. package/lib/cli/migrate/nodeVersion/index.d.ts +10 -0
  262. package/lib/cli/migrate/nodeVersion/index.js +239 -65
  263. package/lib/cli/migrate/nodeVersion/index.js.map +3 -3
  264. package/lib/cli/migrate/nodeVersion/upgrade.d.ts +8 -0
  265. package/lib/cli/migrate/nodeVersion/upgrade.js +179 -0
  266. package/lib/cli/migrate/nodeVersion/upgrade.js.map +7 -0
  267. package/lib/cli/node/index.js +57 -20
  268. package/lib/cli/node/index.js.map +3 -3
  269. package/lib/cli/release/index.js +28 -4
  270. package/lib/cli/release/index.js.map +1 -1
  271. package/lib/cli/start/index.js +50 -16
  272. package/lib/cli/start/index.js.map +3 -3
  273. package/lib/cli/test/index.js +44 -4
  274. package/lib/cli/test/index.js.map +2 -2
  275. package/lib/cli/test/reporters/github/annotations.d.ts +9 -0
  276. package/lib/cli/test/reporters/github/annotations.js +102 -0
  277. package/lib/cli/test/reporters/github/annotations.js.map +7 -0
  278. package/lib/cli/test/reporters/github/index.d.ts +5 -0
  279. package/lib/cli/test/reporters/github/index.js +74 -0
  280. package/lib/cli/test/reporters/github/index.js.map +7 -0
  281. package/lib/cli/version/index.js +30 -6
  282. package/lib/cli/version/index.js.map +1 -1
  283. package/lib/{src/index.d.ts → index.d.ts} +1 -0
  284. package/lib/index.js +46 -6
  285. package/lib/index.js.map +2 -2
  286. package/lib/skuba.js +45 -26
  287. package/lib/skuba.js.map +3 -3
  288. package/lib/utils/args.js +43 -6
  289. package/lib/utils/args.js.map +2 -2
  290. package/lib/utils/command.js +42 -4
  291. package/lib/utils/command.js.map +3 -3
  292. package/lib/utils/copy.js +57 -20
  293. package/lib/utils/copy.js.map +2 -2
  294. package/lib/utils/dir.js +72 -32
  295. package/lib/utils/dir.js.map +2 -2
  296. package/lib/utils/env.js +26 -2
  297. package/lib/utils/env.js.map +1 -1
  298. package/lib/utils/error.js +47 -10
  299. package/lib/utils/error.js.map +1 -1
  300. package/lib/{src/utils → utils}/exec.d.ts +3 -2
  301. package/lib/utils/exec.js +62 -24
  302. package/lib/utils/exec.js.map +3 -3
  303. package/lib/utils/fs.js +40 -6
  304. package/lib/utils/fs.js.map +2 -2
  305. package/lib/utils/help.js +30 -6
  306. package/lib/utils/help.js.map +1 -1
  307. package/lib/{src/utils → utils}/logging.d.ts +9 -10
  308. package/lib/utils/logging.js +38 -11
  309. package/lib/utils/logging.js.map +2 -2
  310. package/lib/utils/logo.js +52 -25
  311. package/lib/utils/logo.js.map +2 -2
  312. package/lib/{src/utils → utils}/manifest.d.ts +2 -3
  313. package/lib/utils/manifest.js +48 -8
  314. package/lib/utils/manifest.js.map +3 -3
  315. package/lib/utils/npmrc.js +26 -2
  316. package/lib/utils/npmrc.js.map +1 -1
  317. package/lib/utils/packageManager.js +49 -12
  318. package/lib/utils/packageManager.js.map +2 -2
  319. package/lib/utils/port.js +39 -4
  320. package/lib/utils/port.js.map +2 -2
  321. package/lib/utils/sleep.js +26 -2
  322. package/lib/utils/sleep.js.map +1 -1
  323. package/lib/utils/template.js +55 -18
  324. package/lib/utils/template.js.map +3 -3
  325. package/lib/utils/validation.js +31 -2
  326. package/lib/utils/validation.js.map +1 -1
  327. package/lib/utils/version.js +46 -9
  328. package/lib/utils/version.js.map +2 -2
  329. package/lib/utils/wait.js +32 -7
  330. package/lib/utils/wait.js.map +1 -1
  331. package/lib/{src/utils → utils}/worker.d.ts +3 -3
  332. package/lib/utils/worker.js +35 -10
  333. package/lib/utils/worker.js.map +1 -1
  334. package/lib/wrapper/function-arguments.d.js +1 -0
  335. package/lib/wrapper/functionHandler.js +49 -18
  336. package/lib/wrapper/functionHandler.js.map +2 -2
  337. package/lib/wrapper/http.js +43 -8
  338. package/lib/wrapper/http.js.map +2 -2
  339. package/lib/wrapper/index.js +7 -6
  340. package/lib/wrapper/index.js.map +1 -1
  341. package/lib/wrapper/main.js +42 -8
  342. package/lib/wrapper/main.js.map +3 -3
  343. package/lib/wrapper/requestListener.js +47 -13
  344. package/lib/wrapper/requestListener.js.map +2 -2
  345. package/lib/wrapper/server.js +28 -4
  346. package/lib/wrapper/server.js.map +2 -2
  347. package/package.json +43 -45
  348. package/template/base/_.prettierrc.js +1 -1
  349. package/template/base/_eslint.config.js +1 -1
  350. package/template/base/_pnpm-workspace.yaml +4 -3
  351. package/template/base/jest.config.ts +19 -0
  352. package/template/base/jest.setup.ts +3 -0
  353. package/template/express-rest-api/.buildkite/pipeline.yml +1 -1
  354. package/template/express-rest-api/.nvmrc +1 -1
  355. package/template/express-rest-api/package.json +8 -9
  356. package/template/express-rest-api/skuba.template.js +1 -1
  357. package/template/express-rest-api/src/app.test.ts +0 -1
  358. package/template/greeter/.buildkite/pipeline.yml +1 -1
  359. package/template/greeter/.nvmrc +1 -1
  360. package/template/greeter/package.json +4 -5
  361. package/template/greeter/skuba.template.js +1 -1
  362. package/template/greeter/src/app.test.ts +1 -3
  363. package/template/koa-rest-api/.buildkite/pipeline.yml +1 -1
  364. package/template/koa-rest-api/.nvmrc +1 -1
  365. package/template/koa-rest-api/package.json +9 -11
  366. package/template/koa-rest-api/skuba.template.js +1 -1
  367. package/template/koa-rest-api/src/api/jobs/getJobs.test.ts +0 -2
  368. package/template/koa-rest-api/src/api/jobs/postJob.test.ts +0 -2
  369. package/template/koa-rest-api/src/app.test.ts +0 -2
  370. package/template/koa-rest-api/src/framework/server.test.ts +2 -2
  371. package/template/koa-rest-api/src/framework/validation.test.ts +0 -2
  372. package/template/koa-rest-api/src/testing/metrics.ts +0 -2
  373. package/template/lambda-sqs-worker-cdk/.buildkite/pipeline.yml +2 -2
  374. package/template/lambda-sqs-worker-cdk/.nvmrc +1 -1
  375. package/template/lambda-sqs-worker-cdk/infra/__snapshots__/appStack.test.ts.snap +7 -21
  376. package/template/lambda-sqs-worker-cdk/infra/appStack.test.ts +9 -11
  377. package/template/lambda-sqs-worker-cdk/infra/appStack.ts +3 -3
  378. package/template/lambda-sqs-worker-cdk/infra/config.ts +2 -4
  379. package/template/lambda-sqs-worker-cdk/package.json +9 -9
  380. package/template/lambda-sqs-worker-cdk/skuba.template.js +13 -1
  381. package/template/lambda-sqs-worker-cdk/src/app.test.ts +13 -22
  382. package/template/lambda-sqs-worker-cdk/src/framework/handler.test.ts +0 -1
  383. package/template/lambda-sqs-worker-cdk/src/framework/validation.test.ts +31 -33
  384. package/template/lambda-sqs-worker-cdk/src/services/jobScorer.test.ts +2 -8
  385. package/template/lambda-sqs-worker-cdk/src/services/pipelineEventSender.test.ts +2 -3
  386. package/template/lambda-sqs-worker-cdk/src/testing/services.ts +3 -4
  387. package/template/oss-npm-package/.github/workflows/release.yml +1 -1
  388. package/template/oss-npm-package/.github/workflows/validate.yml +1 -1
  389. package/template/oss-npm-package/.nvmrc +1 -1
  390. package/template/oss-npm-package/_package.json +0 -1
  391. package/template/oss-npm-package/skuba.template.js +1 -1
  392. package/template/oss-npm-package/src/index.test.ts +0 -2
  393. package/template/private-npm-package/.nvmrc +1 -1
  394. package/template/private-npm-package/_package.json +1 -2
  395. package/template/private-npm-package/skuba.template.js +2 -2
  396. package/template/private-npm-package/src/index.test.ts +0 -2
  397. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.js +0 -11
  398. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.js.map +0 -7
  399. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.js +0 -34
  400. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.js.map +0 -7
  401. package/lib/config/prettier.d.ts +0 -7
  402. package/lib/enquirer.d.js +0 -1
  403. package/lib/enquirer.d.js.map +0 -7
  404. package/lib/eslint.d.js +0 -1
  405. package/lib/eslint.d.js.map +0 -7
  406. package/lib/src/cli/build/esbuild.d.ts +0 -6
  407. package/lib/src/cli/configure/processing/package.d.ts +0 -5
  408. package/lib/src/cli/migrate/index.d.ts +0 -1
  409. package/lib/src/cli/migrate/nodeVersion/checks.d.ts +0 -14
  410. package/lib/src/cli/migrate/nodeVersion/index.d.ts +0 -4
  411. package/template/base/vitest.config.ts +0 -25
  412. package/lib/{src/cli → cli}/adapter/eslint.d.ts +0 -0
  413. package/lib/{src/cli → cli}/adapter/prettier.d.ts +0 -0
  414. package/lib/{src/cli → cli}/build/args.d.ts +0 -0
  415. package/lib/{src/cli → cli}/build/index.d.ts +0 -0
  416. package/lib/{src/cli → cli}/build/tsc.d.ts +0 -0
  417. package/lib/{src/cli → cli}/buildPackage/index.d.ts +0 -0
  418. package/lib/{src/cli → cli}/configure/analyseConfiguration.d.ts +0 -0
  419. package/lib/{src/cli → cli}/configure/analysis/diff.d.ts +0 -0
  420. package/lib/{src/cli → cli}/configure/analysis/files.d.ts +0 -0
  421. package/lib/{src/cli → cli}/configure/analysis/git.d.ts +0 -0
  422. package/lib/{src/cli → cli}/configure/analysis/project.d.ts +0 -0
  423. package/lib/{src/cli → cli}/configure/dependencies/index.d.ts +0 -0
  424. package/lib/{src/cli → cli}/configure/dependencies/seekDatadogCustomMetrics.d.ts +0 -0
  425. package/lib/{src/cli → cli}/configure/dependencies/seekKoala.d.ts +0 -0
  426. package/lib/{src/cli → cli}/configure/dependencies/skuba.d.ts +0 -0
  427. package/lib/{src/cli → cli}/configure/dependencies/skubaDeps.d.ts +0 -0
  428. package/lib/{src/cli → cli}/configure/dependencies/skubaDive.d.ts +0 -0
  429. package/lib/{src/cli → cli}/configure/index.d.ts +0 -0
  430. package/lib/{src/cli → cli}/configure/modules/eslint.d.ts +0 -0
  431. package/lib/{src/cli → cli}/configure/modules/ignore.d.ts +0 -0
  432. package/lib/{src/cli → cli}/configure/modules/index.d.ts +0 -0
  433. package/lib/{src/cli → cli}/configure/modules/nodemon.d.ts +0 -0
  434. package/lib/{src/cli → cli}/configure/modules/package.d.ts +0 -0
  435. package/lib/{src/cli → cli}/configure/modules/prettier.d.ts +0 -0
  436. package/lib/{src/cli → cli}/configure/modules/renovate.d.ts +0 -0
  437. package/lib/{src/cli → cli}/configure/modules/serverless.d.ts +0 -0
  438. package/lib/{src/cli → cli}/configure/modules/tslint.d.ts +0 -0
  439. package/lib/{src/cli → cli}/configure/processing/configFile.d.ts +0 -0
  440. package/lib/{src/cli → cli}/configure/processing/deleteFiles.d.ts +0 -0
  441. package/lib/{src/cli → cli}/configure/processing/javascript.d.ts +0 -0
  442. package/lib/{src/cli → cli}/configure/processing/json.d.ts +0 -0
  443. package/lib/{src/cli → cli}/configure/processing/loadFiles.d.ts +0 -0
  444. package/lib/{src/cli → cli}/configure/processing/module.d.ts +0 -0
  445. package/lib/{src/cli → cli}/configure/processing/prettier.d.ts +0 -0
  446. package/lib/{src/cli → cli}/configure/processing/record.d.ts +0 -0
  447. package/lib/{src/cli → cli}/configure/processing/typescript.d.ts +0 -0
  448. package/lib/{src/cli → cli}/format/index.d.ts +0 -0
  449. package/lib/{src/cli → cli}/help/index.d.ts +0 -0
  450. package/lib/{src/cli → cli}/init/git.d.ts +0 -0
  451. package/lib/{src/cli → cli}/init/index.d.ts +0 -0
  452. package/lib/{src/cli → cli}/init/types.d.ts +1 -1
  453. /package/lib/{src/cli → cli}/init/validation.d.ts +0 -0
  454. /package/lib/{src/cli → cli}/init/writePackageJson.d.ts +0 -0
  455. /package/lib/{src/cli → cli}/lint/annotate/buildkite/eslint.d.ts +0 -0
  456. /package/lib/{src/cli → cli}/lint/annotate/buildkite/index.d.ts +0 -0
  457. /package/lib/{src/cli → cli}/lint/annotate/buildkite/internal.d.ts +0 -0
  458. /package/lib/{src/cli → cli}/lint/annotate/buildkite/prettier.d.ts +0 -0
  459. /package/lib/{src/cli → cli}/lint/annotate/buildkite/tsc.d.ts +0 -0
  460. /package/lib/{src/cli → cli}/lint/annotate/github/eslint.d.ts +0 -0
  461. /package/lib/{src/cli → cli}/lint/annotate/github/index.d.ts +0 -0
  462. /package/lib/{src/cli → cli}/lint/annotate/github/internal.d.ts +0 -0
  463. /package/lib/{src/cli → cli}/lint/annotate/github/prettier.d.ts +0 -0
  464. /package/lib/{src/cli → cli}/lint/annotate/github/tsc.d.ts +0 -0
  465. /package/lib/{src/cli → cli}/lint/annotate/index.d.ts +0 -0
  466. /package/lib/{src/cli → cli}/lint/eslint.d.ts +0 -0
  467. /package/lib/{src/cli → cli}/lint/external.d.ts +0 -0
  468. /package/lib/{src/cli → cli}/lint/index.d.ts +0 -0
  469. /package/lib/{src/cli → cli}/lint/internal.d.ts +0 -0
  470. /package/lib/{src/cli → cli}/lint/internalLints/detectBadCodeowners.d.ts +0 -0
  471. /package/lib/{src/cli → cli}/lint/internalLints/noSkubaTemplateJs.d.ts +0 -0
  472. /package/lib/{src/cli → cli}/lint/internalLints/patchRenovateConfig.d.ts +0 -0
  473. /package/lib/{src/cli → cli}/lint/internalLints/refreshConfigFiles.d.ts +0 -0
  474. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.0.4/index.d.ts +0 -0
  475. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.d.ts +0 -0
  476. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.1.0/index.d.ts +0 -0
  477. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.d.ts +0 -0
  478. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.d.ts +0 -0
  479. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.0.2/index.d.ts +0 -0
  480. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.d.ts +0 -0
  481. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.1.1/index.d.ts +0 -0
  482. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.d.ts +0 -0
  483. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.3.0/index.d.ts +0 -0
  484. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.d.ts +0 -0
  485. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.d.ts +0 -0
  486. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.0/index.d.ts +0 -0
  487. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.d.ts +0 -0
  488. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.d.ts +0 -0
  489. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/index.d.ts +0 -0
  490. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.d.ts +0 -0
  491. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.d.ts +0 -0
  492. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.d.ts +0 -0
  493. /package/lib/{src/cli/lint/internalLints/upgrade/patches/7.3.1 → cli/lint/internalLints/upgrade/patches/13.1.1}/index.d.ts +0 -0
  494. /package/lib/{src/cli/lint/internalLints/upgrade/patches/9.1.0 → cli/lint/internalLints/upgrade/patches/13.1.1}/upgradeNode.d.ts +0 -0
  495. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.d.ts +0 -0
  496. /package/lib/{src/cli/lint/internalLints/upgrade/patches/8.0.0 → cli/lint/internalLints/upgrade/patches/7.3.1}/index.d.ts +0 -0
  497. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.d.ts +0 -0
  498. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.d.ts +0 -0
  499. /package/lib/{src/cli/lint/internalLints/upgrade/patches/8.2.1 → cli/lint/internalLints/upgrade/patches/8.0.0}/index.d.ts +0 -0
  500. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.d.ts +0 -0
  501. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.d.ts +0 -0
  502. /package/lib/{src/cli/lint/internalLints/upgrade/patches/9.0.1 → cli/lint/internalLints/upgrade/patches/8.2.1}/index.d.ts +0 -0
  503. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.d.ts +0 -0
  504. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.d.ts +0 -0
  505. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.d.ts +0 -0
  506. /package/lib/{src/cli/lint/internalLints/upgrade/patches/9.1.0 → cli/lint/internalLints/upgrade/patches/9.0.1}/index.d.ts +0 -0
  507. /package/lib/{src/cli → cli}/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.d.ts +0 -0
  508. /package/lib/{src/cli → cli}/lint/prettier.d.ts +0 -0
  509. /package/lib/{src/cli → cli}/lint/tsc.d.ts +0 -0
  510. /package/lib/{src/cli → cli}/lint/types.d.ts +0 -0
  511. /package/lib/{src/cli → cli}/node/index.d.ts +0 -0
  512. /package/lib/{src/cli → cli}/release/index.d.ts +0 -0
  513. /package/lib/{src/cli → cli}/start/index.d.ts +0 -0
  514. /package/lib/{src/cli → cli}/test/index.d.ts +0 -0
  515. /package/lib/{src/cli → cli}/version/index.d.ts +0 -0
  516. /package/lib/{src/skuba.d.ts → skuba.d.ts} +0 -0
  517. /package/lib/{src/utils → utils}/args.d.ts +0 -0
  518. /package/lib/{src/utils → utils}/command.d.ts +0 -0
  519. /package/lib/{src/utils → utils}/copy.d.ts +0 -0
  520. /package/lib/{src/utils → utils}/dir.d.ts +0 -0
  521. /package/lib/{src/utils → utils}/env.d.ts +0 -0
  522. /package/lib/{src/utils → utils}/error.d.ts +0 -0
  523. /package/lib/{src/utils → utils}/fs.d.ts +0 -0
  524. /package/lib/{src/utils → utils}/help.d.ts +0 -0
  525. /package/lib/{src/utils → utils}/logo.d.ts +0 -0
  526. /package/lib/{src/utils → utils}/npmrc.d.ts +0 -0
  527. /package/lib/{src/utils → utils}/packageManager.d.ts +0 -0
  528. /package/lib/{src/utils → utils}/port.d.ts +0 -0
  529. /package/lib/{src/utils → utils}/sleep.d.ts +0 -0
  530. /package/lib/{src/utils → utils}/template.d.ts +0 -0
  531. /package/lib/{src/utils → utils}/validation.d.ts +0 -0
  532. /package/lib/{src/utils → utils}/version.d.ts +0 -0
  533. /package/lib/{src/utils → utils}/wait.d.ts +0 -0
  534. /package/lib/{src/wrapper → wrapper}/functionHandler.d.ts +0 -0
  535. /package/lib/{src/wrapper → wrapper}/http.d.ts +0 -0
  536. /package/lib/{src/wrapper → wrapper}/index.d.ts +0 -0
  537. /package/lib/{src/wrapper → wrapper}/main.d.ts +0 -0
  538. /package/lib/{src/wrapper → wrapper}/requestListener.d.ts +0 -0
  539. /package/lib/{src/wrapper → wrapper}/server.d.ts +0 -0
@@ -1,14 +1,5 @@
1
1
  import { PublishCommand } from '@aws-sdk/client-sns';
2
2
  import type { SQSBatchResponse } from 'aws-lambda';
3
- import {
4
- afterEach,
5
- beforeAll,
6
- beforeEach,
7
- describe,
8
- expect,
9
- it,
10
- vi,
11
- } from 'vitest';
12
3
 
13
4
  import * as app from './app.js';
14
5
  import { stdoutMock } from './framework/logging.js';
@@ -29,7 +20,7 @@ describe('handler', () => {
29
20
 
30
21
  const score = chance.floating({ max: 1, min: 0 });
31
22
 
32
- const distribution = vi
23
+ const distribution = jest
33
24
  .spyOn(metricsClient, 'distribution')
34
25
  .mockReturnValue();
35
26
 
@@ -50,9 +41,9 @@ describe('handler', () => {
50
41
  it('handles one record', async () => {
51
42
  const event = createSqsEvent([JSON.stringify(jobPublished)]);
52
43
 
53
- await expect(app.handler(event, ctx)).resolves.toEqual({
44
+ await expect(app.handler(event, ctx)).resolves.toEqual<SQSBatchResponse>({
54
45
  batchItemFailures: [],
55
- } satisfies SQSBatchResponse);
46
+ });
56
47
 
57
48
  expect(scoringService.request).toHaveBeenCalledTimes(1);
58
49
 
@@ -81,9 +72,9 @@ describe('handler', () => {
81
72
  JSON.stringify(jobPublished),
82
73
  ]);
83
74
 
84
- await expect(app.handler(event, ctx)).resolves.toEqual({
75
+ await expect(app.handler(event, ctx)).resolves.toEqual<SQSBatchResponse>({
85
76
  batchItemFailures: [],
86
- } satisfies SQSBatchResponse);
77
+ });
87
78
 
88
79
  expect(stdoutMock.calls).toMatchObject([
89
80
  { count: 2, level: 20, msg: 'Received jobs' },
@@ -109,9 +100,9 @@ describe('handler', () => {
109
100
  JSON.stringify(jobPublished),
110
101
  ]);
111
102
 
112
- await expect(app.handler(event, ctx)).resolves.toEqual({
103
+ await expect(app.handler(event, ctx)).resolves.toEqual<SQSBatchResponse>({
113
104
  batchItemFailures: [{ itemIdentifier: event.Records[0]!.messageId }],
114
- } satisfies SQSBatchResponse);
105
+ });
115
106
 
116
107
  expect(stdoutMock.calls).toMatchObject([
117
108
  { count: 2, level: 20, msg: 'Received jobs' },
@@ -137,13 +128,13 @@ describe('handler', () => {
137
128
  it('returns a batchItemFailure on invalid input', () => {
138
129
  const event = createSqsEvent(['}']);
139
130
 
140
- return expect(app.handler(event, ctx)).resolves.toEqual({
131
+ return expect(app.handler(event, ctx)).resolves.toEqual<SQSBatchResponse>({
141
132
  batchItemFailures: [
142
133
  {
143
134
  itemIdentifier: event.Records[0]!.messageId,
144
135
  },
145
136
  ],
146
- } satisfies SQSBatchResponse);
137
+ });
147
138
  });
148
139
 
149
140
  it('bubbles up scoring service error', async () => {
@@ -153,9 +144,9 @@ describe('handler', () => {
153
144
 
154
145
  const event = createSqsEvent([JSON.stringify(jobPublished)]);
155
146
 
156
- await expect(app.handler(event, ctx)).resolves.toEqual({
147
+ await expect(app.handler(event, ctx)).resolves.toEqual<SQSBatchResponse>({
157
148
  batchItemFailures: [{ itemIdentifier: event.Records[0]!.messageId }],
158
- } satisfies SQSBatchResponse);
149
+ });
159
150
 
160
151
  expect(stdoutMock.calls).toMatchObject([
161
152
  { count: 1, level: 20, msg: 'Received jobs' },
@@ -179,9 +170,9 @@ describe('handler', () => {
179
170
 
180
171
  const event = createSqsEvent([JSON.stringify(jobPublished)]);
181
172
 
182
- await expect(app.handler(event, ctx)).resolves.toEqual({
173
+ await expect(app.handler(event, ctx)).resolves.toEqual<SQSBatchResponse>({
183
174
  batchItemFailures: [{ itemIdentifier: event.Records[0]!.messageId }],
184
- } satisfies SQSBatchResponse);
175
+ });
185
176
 
186
177
  expect(stdoutMock.calls).toMatchObject([
187
178
  {
@@ -1,5 +1,4 @@
1
1
  import type { SQSEvent } from 'aws-lambda';
2
- import { afterEach, describe, expect, it } from 'vitest';
3
2
 
4
3
  import { createHandler } from './handler.js';
5
4
  import { logger, stdoutMock } from './logging.js';
@@ -1,5 +1,3 @@
1
- import { describe, expect, it } from 'vitest';
2
-
3
1
  import { validateJson } from './validation.js';
4
2
 
5
3
  import {
@@ -32,17 +30,17 @@ describe('validateJson', () => {
32
30
 
33
31
  expect(() => validateJson(input, IdDescriptionSchema))
34
32
  .toThrowErrorMatchingInlineSnapshot(`
35
- [ZodError: [
36
- {
37
- "expected": "string",
38
- "code": "invalid_type",
39
- "path": [
40
- "id"
41
- ],
42
- "message": "Invalid input: expected string, received null"
43
- }
44
- ]]
45
- `);
33
+ "[
34
+ {
35
+ "expected": "string",
36
+ "code": "invalid_type",
37
+ "path": [
38
+ "id"
39
+ ],
40
+ "message": "Invalid input: expected string, received null"
41
+ }
42
+ ]"
43
+ `);
46
44
  });
47
45
 
48
46
  it('blocks missing prop', () => {
@@ -50,25 +48,25 @@ describe('validateJson', () => {
50
48
 
51
49
  expect(() => validateJson(input, IdDescriptionSchema))
52
50
  .toThrowErrorMatchingInlineSnapshot(`
53
- [ZodError: [
54
- {
55
- "expected": "string",
56
- "code": "invalid_type",
57
- "path": [
58
- "id"
59
- ],
60
- "message": "Invalid input: expected string, received undefined"
61
- },
62
- {
63
- "expected": "string",
64
- "code": "invalid_type",
65
- "path": [
66
- "description"
67
- ],
68
- "message": "Invalid input: expected string, received undefined"
69
- }
70
- ]]
71
- `);
51
+ "[
52
+ {
53
+ "expected": "string",
54
+ "code": "invalid_type",
55
+ "path": [
56
+ "id"
57
+ ],
58
+ "message": "Invalid input: expected string, received undefined"
59
+ },
60
+ {
61
+ "expected": "string",
62
+ "code": "invalid_type",
63
+ "path": [
64
+ "description"
65
+ ],
66
+ "message": "Invalid input: expected string, received undefined"
67
+ }
68
+ ]"
69
+ `);
72
70
  });
73
71
 
74
72
  it('blocks invalid JSON', () => {
@@ -77,7 +75,7 @@ describe('validateJson', () => {
77
75
  expect(() =>
78
76
  validateJson(input, IdDescriptionSchema),
79
77
  ).toThrowErrorMatchingInlineSnapshot(
80
- `[SyntaxError: Unexpected token '}', "}" is not valid JSON]`,
78
+ `"Unexpected token '}', "}" is not valid JSON"`,
81
79
  );
82
80
  });
83
81
  });
@@ -1,18 +1,12 @@
1
- import { afterEach, beforeAll, describe, expect, it } from 'vitest';
2
-
3
1
  import * as jobScorer from './jobScorer.js';
4
2
 
5
3
  import { scoringService } from '#src/testing/services.js';
6
4
  import { chance, mockJobPublishedEvent } from '#src/testing/types.js';
7
5
 
8
6
  describe('scoreJobPublishedEvent', () => {
9
- beforeAll(() => {
10
- scoringService.spy();
11
- });
7
+ beforeAll(scoringService.spy);
12
8
 
13
- afterEach(() => {
14
- scoringService.clear();
15
- });
9
+ afterEach(scoringService.clear);
16
10
 
17
11
  it('scores an event', async () => {
18
12
  const score = chance.floating({ max: 1, min: 0 });
@@ -1,5 +1,4 @@
1
1
  import { PublishCommand } from '@aws-sdk/client-sns';
2
- import { afterEach, describe, expect, it, vi } from 'vitest';
3
2
 
4
3
  import { sendPipelineEvent } from './pipelineEventSender.js';
5
4
 
@@ -8,7 +7,7 @@ import { chance } from '#src/testing/types.js';
8
7
 
9
8
  describe('sendPipelineEvent', () => {
10
9
  afterEach(() => {
11
- vi.clearAllMocks();
10
+ jest.clearAllMocks();
12
11
  });
13
12
 
14
13
  it('handles happy path', async () => {
@@ -35,7 +34,7 @@ describe('sendPipelineEvent', () => {
35
34
  return expect(
36
35
  sendPipelineEvent({}),
37
36
  ).rejects.toThrowErrorMatchingInlineSnapshot(
38
- `[Error: SNS did not return a message ID]`,
37
+ `"SNS did not return a message ID"`,
39
38
  );
40
39
  });
41
40
  });
@@ -1,19 +1,18 @@
1
- import 'aws-sdk-client-mock-vitest/extend';
1
+ import 'aws-sdk-client-mock-jest';
2
2
 
3
3
  import { PublishCommand } from '@aws-sdk/client-sns';
4
4
  import { mockClient } from 'aws-sdk-client-mock';
5
- import { vi } from 'vitest';
6
5
 
7
6
  import { sns as snsClient } from '#src/services/aws.js';
8
7
  import * as jobScorer from '#src/services/jobScorer.js';
9
8
 
10
9
  export const scoringService = {
11
- request: vi.fn(),
10
+ request: jest.fn(),
12
11
 
13
12
  clear: () => scoringService.request.mockClear(),
14
13
 
15
14
  spy: () =>
16
- vi
15
+ jest
17
16
  .spyOn(jobScorer.scoringService, 'request')
18
17
  .mockImplementation(scoringService.request),
19
18
  };
@@ -18,7 +18,7 @@ jobs:
18
18
  timeout-minutes: 20
19
19
  steps:
20
20
  - name: Check out repo
21
- uses: actions/checkout@v5
21
+ uses: actions/checkout@v6
22
22
  with:
23
23
  fetch-depth: 0
24
24
 
@@ -16,7 +16,7 @@ jobs:
16
16
  timeout-minutes: 20
17
17
  steps:
18
18
  - name: Check out repo
19
- uses: actions/checkout@v5
19
+ uses: actions/checkout@v6
20
20
 
21
21
  - name: Set up pnpm
22
22
  uses: pnpm/action-setup@v4
@@ -1 +1 @@
1
- 22
1
+ 24
@@ -14,7 +14,6 @@
14
14
  },
15
15
  "license": "MIT",
16
16
  "sideEffects": false,
17
- "type": "module",
18
17
  "main": "./lib-commonjs/index.js",
19
18
  "module": "./lib-es2015/index.js",
20
19
  "types": "./lib-types/index.d.ts",
@@ -2,7 +2,7 @@
2
2
  * Run `skuba configure` to finish templating and remove this file.
3
3
  */
4
4
 
5
- export default {
5
+ module.exports = {
6
6
  entryPoint: 'src/index.ts',
7
7
  fields: [
8
8
  {
@@ -1,5 +1,3 @@
1
- import { describe, expect, it } from 'vitest';
2
-
3
1
  import { log } from './index.js';
4
2
 
5
3
  describe('app', () => {
@@ -1 +1 @@
1
- 22
1
+ 24
@@ -14,7 +14,6 @@
14
14
  },
15
15
  "license": "UNLICENSED",
16
16
  "sideEffects": false,
17
- "type": "module",
18
17
  "main": "./lib-commonjs/index.js",
19
18
  "module": "./lib-es2015/index.js",
20
19
  "types": "./lib-types/index.d.ts",
@@ -47,6 +46,6 @@
47
46
  },
48
47
  "packageManager": "pnpm@10.7.0",
49
48
  "engines": {
50
- "node": ">=22"
49
+ "node": ">=20"
51
50
  }
52
51
  }
@@ -2,7 +2,7 @@
2
2
  * Run `skuba configure` to finish templating and remove this file.
3
3
  */
4
4
 
5
- export default {
5
+ module.exports = {
6
6
  entryPoint: 'src/index.ts',
7
7
  fields: [
8
8
  {
@@ -10,7 +10,7 @@ export default {
10
10
  message: 'Module name',
11
11
  initial: '@seek/my-first-module',
12
12
  validate: (value) =>
13
- /^@seek\/.+$/.test(value) || 'must start with an @seek/ scope',
13
+ /^@seek\/.+$/.test(value) || 'Must start with @seek/ scope',
14
14
  },
15
15
  {
16
16
  name: 'description',
@@ -1,5 +1,3 @@
1
- import { describe, expect, it } from 'vitest';
2
-
3
1
  import { log } from './index.js';
4
2
 
5
3
  describe('app', () => {
@@ -1,11 +0,0 @@
1
- import { tryUpgradeNode } from "./upgradeNode.js";
2
- const patches = [
3
- {
4
- apply: tryUpgradeNode,
5
- description: "Upgrade Node.js to version 22"
6
- }
7
- ];
8
- export {
9
- patches
10
- };
11
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/cli/lint/internalLints/upgrade/patches/9.1.0/index.ts"],
4
- "sourcesContent": ["import type { Patches } from '../../index.js';\n\nimport { tryUpgradeNode } from './upgradeNode.js';\n\nexport const patches: Patches = [\n {\n apply: tryUpgradeNode,\n description: 'Upgrade Node.js to version 22',\n },\n];\n"],
5
- "mappings": "AAEA,SAAS,sBAAsB;AAExB,MAAM,UAAmB;AAAA,EAC9B;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AACF;",
6
- "names": []
7
- }
@@ -1,34 +0,0 @@
1
- import { inspect } from "util";
2
- import { log } from "../../../../../../utils/logging.js";
3
- import { nodeVersionMigration } from "../../../../../migrate/nodeVersion/index.js";
4
- const upgradeNode = async ({
5
- mode
6
- }) => {
7
- if (process.env.SKIP_NODE_UPGRADE) {
8
- return {
9
- result: "skip",
10
- reason: "SKIP_NODE_UPGRADE environment variable set"
11
- };
12
- }
13
- if (mode === "lint") {
14
- return { result: "apply" };
15
- }
16
- await nodeVersionMigration({
17
- nodeVersion: 22,
18
- ECMAScriptVersion: "ES2024"
19
- });
20
- return { result: "apply" };
21
- };
22
- const tryUpgradeNode = async (config) => {
23
- try {
24
- return await upgradeNode(config);
25
- } catch (err) {
26
- log.warn("Failed to upgrade node version");
27
- log.subtle(inspect(err));
28
- return { result: "skip", reason: "due to an error" };
29
- }
30
- };
31
- export {
32
- tryUpgradeNode
33
- };
34
- //# sourceMappingURL=upgradeNode.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.ts"],
4
- "sourcesContent": ["import { inspect } from 'util';\n\nimport { log } from '../../../../../../utils/logging.js';\nimport { nodeVersionMigration } from '../../../../../migrate/nodeVersion/index.js';\nimport type { PatchFunction, PatchReturnType } from '../../index.js';\n\nconst upgradeNode: PatchFunction = async ({\n mode,\n}): Promise<PatchReturnType> => {\n if (process.env.SKIP_NODE_UPGRADE) {\n return {\n result: 'skip',\n reason: 'SKIP_NODE_UPGRADE environment variable set',\n };\n }\n if (mode === 'lint') {\n return { result: 'apply' };\n }\n\n await nodeVersionMigration({\n nodeVersion: 22,\n ECMAScriptVersion: 'ES2024',\n });\n\n return { result: 'apply' };\n};\n\nexport const tryUpgradeNode: PatchFunction = async (config) => {\n try {\n return await upgradeNode(config);\n } catch (err) {\n log.warn('Failed to upgrade node version');\n log.subtle(inspect(err));\n return { result: 'skip', reason: 'due to an error' };\n }\n};\n"],
5
- "mappings": "AAAA,SAAS,eAAe;AAExB,SAAS,WAAW;AACpB,SAAS,4BAA4B;AAGrC,MAAM,cAA6B,OAAO;AAAA,EACxC;AACF,MAAgC;AAC9B,MAAI,QAAQ,IAAI,mBAAmB;AACjC,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AACA,MAAI,SAAS,QAAQ;AACnB,WAAO,EAAE,QAAQ,QAAQ;AAAA,EAC3B;AAEA,QAAM,qBAAqB;AAAA,IACzB,aAAa;AAAA,IACb,mBAAmB;AAAA,EACrB,CAAC;AAED,SAAO,EAAE,QAAQ,QAAQ;AAC3B;AAEO,MAAM,iBAAgC,OAAO,WAAW;AAC7D,MAAI;AACF,WAAO,MAAM,YAAY,MAAM;AAAA,EACjC,SAAS,KAAK;AACZ,QAAI,KAAK,gCAAgC;AACzC,QAAI,OAAO,QAAQ,GAAG,CAAC;AACvB,WAAO,EAAE,QAAQ,QAAQ,QAAQ,kBAAkB;AAAA,EACrD;AACF;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- export default config;
2
- declare namespace config {
3
- let singleQuote: true;
4
- let tabWidth: number;
5
- let trailingComma: "all";
6
- let plugins: string[];
7
- }
package/lib/enquirer.d.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=enquirer.d.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
package/lib/eslint.d.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=eslint.d.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,6 +0,0 @@
1
- interface EsbuildParameters {
2
- debug: boolean;
3
- type: string | undefined;
4
- }
5
- export declare const esbuild: ({ debug, type }: EsbuildParameters, args?: string[]) => Promise<void>;
6
- export {};
@@ -1,5 +0,0 @@
1
- import type { PackageJson } from '../types.js';
2
- export declare const formatPackage: (rawData: PackageJson) => Promise<string>;
3
- export declare const parsePackage: (input: string | undefined) => PackageJson | undefined;
4
- export declare const createDependencyFilter: (names: readonly string[], type: "dependencies" | "devDependencies") => (data: PackageJson) => PackageJson;
5
- export declare const withPackage: (fn: (data: PackageJson) => PackageJson) => (input: string | undefined) => Promise<string>;
@@ -1 +0,0 @@
1
- export declare const migrate: (args?: string[]) => Promise<void>;
@@ -1,14 +0,0 @@
1
- import * as z from 'zod/v4';
2
- export declare const extractFromParentPackageJson: <T extends z.ZodRawShape>(schema: z.ZodObject<T>, currentPath: string) => Promise<{
3
- packageJson: undefined;
4
- packageJsonRelativePath: undefined;
5
- } | {
6
- packageJson: undefined;
7
- packageJsonRelativePath: string;
8
- } | {
9
- packageJson: z.core.$InferObjectOutput<T, {}>;
10
- packageJsonRelativePath: string;
11
- }>;
12
- export declare const isPatchableServerlessVersion: (currentPath: string) => Promise<boolean>;
13
- export declare const isPatchableSkubaType: (currentPath: string) => Promise<boolean>;
14
- export declare const isPatchableNodeVersion: (targetNodeVersion: number, currentPath: string) => Promise<boolean>;
@@ -1,4 +0,0 @@
1
- export declare const nodeVersionMigration: ({ nodeVersion, ECMAScriptVersion, }: {
2
- nodeVersion: number;
3
- ECMAScriptVersion: string;
4
- }, dir?: string) => Promise<void>;
@@ -1,25 +0,0 @@
1
- import { defineConfig } from 'vitest/config';
2
-
3
- export default defineConfig({
4
- ssr: {
5
- resolve: {
6
- conditions: ['@seek/<%- serviceName %>/source'],
7
- },
8
- },
9
- test: {
10
- env: {
11
- DEPLOYMENT: 'test',
12
- },
13
- coverage: {
14
- thresholds: {
15
- branches: 0,
16
- functions: 0,
17
- lines: 0,
18
- statements: 0,
19
- },
20
- include: ['src'],
21
- exclude: ['src/testing'],
22
- },
23
- include: ['**/*.test*.ts'],
24
- },
25
- });
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -21,9 +21,9 @@ export declare const initConfigInputSchema: z.ZodObject<{
21
21
  }, z.core.$strip>;
22
22
  export type InitConfig = z.infer<typeof initConfigSchema>;
23
23
  declare const initConfigSchema: z.ZodObject<{
24
- templateName: z.ZodString;
25
24
  destinationDir: z.ZodString;
26
25
  templateComplete: z.ZodBoolean;
26
+ templateName: z.ZodString;
27
27
  templateData: z.ZodObject<{
28
28
  ownerName: z.ZodString;
29
29
  repoName: z.ZodString;