skuba 13.0.2 → 14.0.0-esmify-skuba-20251031135439

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 (516) hide show
  1. package/config/eslint.js +1 -1
  2. package/config/prettier.js +10 -2
  3. package/lib/cli/adapter/eslint.js +10 -46
  4. package/lib/cli/adapter/eslint.js.map +2 -2
  5. package/lib/cli/adapter/prettier.js +40 -72
  6. package/lib/cli/adapter/prettier.js.map +2 -2
  7. package/lib/cli/build/args.js +7 -43
  8. package/lib/cli/build/args.js.map +2 -2
  9. package/lib/cli/build/assets.js +27 -62
  10. package/lib/cli/build/assets.js.map +2 -2
  11. package/lib/cli/build/esbuild.js +20 -55
  12. package/lib/cli/build/esbuild.js.map +3 -3
  13. package/lib/cli/build/index.js +20 -56
  14. package/lib/cli/build/index.js.map +2 -2
  15. package/lib/cli/build/tsc.js +24 -66
  16. package/lib/cli/build/tsc.js.map +2 -2
  17. package/lib/cli/buildPackage/index.js +7 -33
  18. package/lib/cli/buildPackage/index.js.map +1 -1
  19. package/lib/cli/configure/analyseConfiguration.js +15 -51
  20. package/lib/cli/configure/analyseConfiguration.js.map +2 -2
  21. package/lib/cli/configure/analyseDependencies.js +24 -60
  22. package/lib/cli/configure/analyseDependencies.js.map +3 -3
  23. package/lib/cli/configure/analysis/diff.js +4 -40
  24. package/lib/cli/configure/analysis/diff.js.map +2 -2
  25. package/lib/cli/configure/analysis/files.js +7 -43
  26. package/lib/cli/configure/analysis/files.js.map +2 -2
  27. package/lib/cli/configure/analysis/git.js +11 -47
  28. package/lib/cli/configure/analysis/git.js.map +2 -2
  29. package/lib/cli/configure/analysis/package.js +10 -48
  30. package/lib/cli/configure/analysis/package.js.map +3 -3
  31. package/lib/cli/configure/analysis/project.js +18 -53
  32. package/lib/cli/configure/analysis/project.js.map +2 -2
  33. package/lib/cli/configure/dependencies/index.js +5 -39
  34. package/lib/cli/configure/dependencies/index.js.map +1 -1
  35. package/lib/cli/configure/dependencies/seekDatadogCustomMetrics.js +3 -29
  36. package/lib/cli/configure/dependencies/seekDatadogCustomMetrics.js.map +1 -1
  37. package/lib/cli/configure/dependencies/seekKoala.js +3 -29
  38. package/lib/cli/configure/dependencies/seekKoala.js.map +1 -1
  39. package/lib/cli/configure/dependencies/skuba.js +3 -29
  40. package/lib/cli/configure/dependencies/skuba.js.map +1 -1
  41. package/lib/cli/configure/dependencies/skubaDeps.js +1 -27
  42. package/lib/cli/configure/dependencies/skubaDeps.js.map +1 -1
  43. package/lib/cli/configure/dependencies/skubaDive.js +4 -32
  44. package/lib/cli/configure/dependencies/skubaDive.js.map +1 -1
  45. package/lib/cli/configure/ensureTemplateCompletion.js +31 -61
  46. package/lib/cli/configure/ensureTemplateCompletion.js.map +3 -3
  47. package/lib/cli/configure/getEntryPoint.js +13 -49
  48. package/lib/cli/configure/getEntryPoint.js.map +3 -3
  49. package/lib/cli/configure/getProjectType.js +13 -36
  50. package/lib/cli/configure/getProjectType.js.map +2 -2
  51. package/lib/cli/configure/index.js +49 -85
  52. package/lib/cli/configure/index.js.map +3 -3
  53. package/lib/cli/configure/modules/eslint.js +9 -35
  54. package/lib/cli/configure/modules/eslint.js.map +1 -1
  55. package/lib/cli/configure/modules/ignore.js +7 -33
  56. package/lib/cli/configure/modules/ignore.js.map +1 -1
  57. package/lib/cli/configure/modules/index.js +17 -45
  58. package/lib/cli/configure/modules/index.js.map +2 -2
  59. package/lib/cli/configure/modules/nodemon.js +2 -28
  60. package/lib/cli/configure/modules/nodemon.js.map +1 -1
  61. package/lib/cli/configure/modules/package.js +9 -35
  62. package/lib/cli/configure/modules/package.js.map +1 -1
  63. package/lib/cli/configure/modules/prettier.js +10 -36
  64. package/lib/cli/configure/modules/prettier.js.map +1 -1
  65. package/lib/cli/configure/modules/renovate.js +17 -43
  66. package/lib/cli/configure/modules/renovate.js.map +2 -2
  67. package/lib/cli/configure/modules/serverless.js +1 -27
  68. package/lib/cli/configure/modules/serverless.js.map +1 -1
  69. package/lib/cli/configure/modules/tslint.js +2 -28
  70. package/lib/cli/configure/modules/tslint.js.map +1 -1
  71. package/lib/cli/configure/processing/configFile.js +4 -44
  72. package/lib/cli/configure/processing/configFile.js.map +1 -1
  73. package/lib/cli/configure/processing/deleteFiles.js +1 -27
  74. package/lib/cli/configure/processing/deleteFiles.js.map +1 -1
  75. package/lib/cli/configure/processing/javascript.js +2 -30
  76. package/lib/cli/configure/processing/javascript.js.map +1 -1
  77. package/lib/cli/configure/processing/json.js +6 -34
  78. package/lib/cli/configure/processing/json.js.map +1 -1
  79. package/lib/cli/configure/processing/loadFiles.js +1 -27
  80. package/lib/cli/configure/processing/loadFiles.js.map +1 -1
  81. package/lib/cli/configure/processing/module.js +2 -28
  82. package/lib/cli/configure/processing/module.js.map +1 -1
  83. package/lib/cli/configure/processing/package.js +10 -52
  84. package/lib/cli/configure/processing/package.js.map +3 -3
  85. package/lib/cli/configure/processing/prettier.js +3 -39
  86. package/lib/cli/configure/processing/prettier.js.map +2 -2
  87. package/lib/cli/configure/processing/record.js +4 -44
  88. package/lib/cli/configure/processing/record.js.map +2 -2
  89. package/lib/cli/configure/processing/typescript.js +28 -70
  90. package/lib/cli/configure/processing/typescript.js.map +2 -2
  91. package/lib/cli/configure/types.js +0 -15
  92. package/lib/cli/configure/types.js.map +3 -3
  93. package/lib/cli/format/index.js +19 -55
  94. package/lib/cli/format/index.js.map +2 -2
  95. package/lib/cli/help/index.js +5 -31
  96. package/lib/cli/help/index.js.map +1 -1
  97. package/lib/cli/init/getConfig.js +75 -107
  98. package/lib/cli/init/getConfig.js.map +3 -3
  99. package/lib/cli/init/git.js +16 -54
  100. package/lib/cli/init/git.js.map +3 -3
  101. package/lib/cli/init/index.js +66 -99
  102. package/lib/cli/init/index.js.map +2 -2
  103. package/lib/cli/init/prompts.js +20 -56
  104. package/lib/cli/init/prompts.js.map +3 -3
  105. package/lib/cli/init/types.js +6 -42
  106. package/lib/cli/init/types.js.map +1 -1
  107. package/lib/cli/init/validation.js +5 -39
  108. package/lib/cli/init/validation.js.map +1 -1
  109. package/lib/cli/init/writePackageJson.js +7 -43
  110. package/lib/cli/init/writePackageJson.js.map +2 -2
  111. package/lib/cli/lint/annotate/buildkite/eslint.js +2 -38
  112. package/lib/cli/lint/annotate/buildkite/eslint.js.map +1 -1
  113. package/lib/cli/lint/annotate/buildkite/index.js +10 -46
  114. package/lib/cli/lint/annotate/buildkite/index.js.map +1 -1
  115. package/lib/cli/lint/annotate/buildkite/internal.js +2 -38
  116. package/lib/cli/lint/annotate/buildkite/internal.js.map +1 -1
  117. package/lib/cli/lint/annotate/buildkite/prettier.js +2 -38
  118. package/lib/cli/lint/annotate/buildkite/prettier.js.map +1 -1
  119. package/lib/cli/lint/annotate/buildkite/tsc.js +2 -38
  120. package/lib/cli/lint/annotate/buildkite/tsc.js.map +1 -1
  121. package/lib/cli/lint/annotate/github/eslint.js +1 -27
  122. package/lib/cli/lint/annotate/github/eslint.js.map +1 -1
  123. package/lib/cli/lint/annotate/github/index.js +10 -46
  124. package/lib/cli/lint/annotate/github/index.js.map +1 -1
  125. package/lib/cli/lint/annotate/github/internal.js +1 -27
  126. package/lib/cli/lint/annotate/github/internal.js.map +1 -1
  127. package/lib/cli/lint/annotate/github/prettier.js +1 -27
  128. package/lib/cli/lint/annotate/github/prettier.js.map +1 -1
  129. package/lib/cli/lint/annotate/github/tsc.js +3 -29
  130. package/lib/cli/lint/annotate/github/tsc.js.map +2 -2
  131. package/lib/cli/lint/annotate/index.js +5 -31
  132. package/lib/cli/lint/annotate/index.js.map +1 -1
  133. package/lib/cli/lint/autofix.js +38 -78
  134. package/lib/cli/lint/autofix.js.map +3 -3
  135. package/lib/cli/lint/eslint.js +14 -52
  136. package/lib/cli/lint/eslint.js.map +3 -3
  137. package/lib/cli/lint/external.js +18 -53
  138. package/lib/cli/lint/external.js.map +2 -2
  139. package/lib/cli/lint/index.js +24 -50
  140. package/lib/cli/lint/index.js.map +1 -1
  141. package/lib/cli/lint/internal.js +17 -53
  142. package/lib/cli/lint/internal.js.map +2 -2
  143. package/lib/cli/lint/internalLints/detectBadCodeowners.js +8 -36
  144. package/lib/cli/lint/internalLints/detectBadCodeowners.js.map +1 -1
  145. package/lib/cli/lint/internalLints/noSkubaTemplateJs.js +10 -46
  146. package/lib/cli/lint/internalLints/noSkubaTemplateJs.js.map +3 -3
  147. package/lib/cli/lint/internalLints/patchRenovateConfig.js +20 -56
  148. package/lib/cli/lint/internalLints/patchRenovateConfig.js.map +2 -2
  149. package/lib/cli/lint/internalLints/refreshConfigFiles.js +33 -68
  150. package/lib/cli/lint/internalLints/refreshConfigFiles.js.map +2 -2
  151. package/lib/cli/lint/internalLints/upgrade/index.js +21 -54
  152. package/lib/cli/lint/internalLints/upgrade/index.js.map +3 -3
  153. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.js +3 -29
  154. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.js.map +1 -1
  155. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.js +10 -46
  156. package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.js.map +2 -2
  157. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.js +5 -31
  158. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.js.map +1 -1
  159. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.js +36 -73
  160. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.js.map +3 -3
  161. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.js +11 -49
  162. package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.js.map +2 -2
  163. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/index.js +3 -29
  164. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/index.js.map +1 -1
  165. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.js +24 -64
  166. package/lib/cli/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.js.map +2 -2
  167. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/index.js +3 -29
  168. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/index.js.map +1 -1
  169. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.js +11 -49
  170. package/lib/cli/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.js.map +2 -2
  171. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/index.js +5 -31
  172. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/index.js.map +1 -1
  173. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.js +11 -49
  174. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.js.map +2 -2
  175. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.js +11 -49
  176. package/lib/cli/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.js.map +2 -2
  177. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/index.js +3 -29
  178. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/index.js.map +1 -1
  179. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.js +11 -49
  180. package/lib/cli/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.js.map +2 -2
  181. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.js +32 -76
  182. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.js.map +2 -2
  183. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/index.js +9 -35
  184. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/index.js.map +1 -1
  185. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.js +10 -46
  186. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.js.map +2 -2
  187. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.js +28 -88
  188. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.js.map +2 -2
  189. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.js +19 -58
  190. package/lib/cli/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.js.map +3 -3
  191. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.js +16 -52
  192. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.js.map +2 -2
  193. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/index.js +9 -35
  194. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/index.js.map +1 -1
  195. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.js +9 -45
  196. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.js.map +2 -2
  197. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.js +11 -47
  198. package/lib/cli/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.js.map +2 -2
  199. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/index.js +3 -29
  200. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/index.js.map +1 -1
  201. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.js +14 -50
  202. package/lib/cli/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.js.map +2 -2
  203. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.js +10 -46
  204. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.js.map +2 -2
  205. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/index.js +9 -40
  206. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/index.js.map +2 -2
  207. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.js +10 -46
  208. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.js.map +2 -2
  209. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.js +10 -46
  210. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.js.map +2 -2
  211. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.js +12 -48
  212. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.js.map +2 -2
  213. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/index.js +3 -29
  214. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/index.js.map +1 -1
  215. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.js +10 -46
  216. package/lib/cli/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.js.map +2 -2
  217. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.js +3 -29
  218. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.js.map +1 -1
  219. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.js +7 -33
  220. package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.js.map +1 -1
  221. package/lib/cli/lint/prettier.js +13 -51
  222. package/lib/cli/lint/prettier.js.map +3 -3
  223. package/lib/cli/lint/tsc.js +3 -29
  224. package/lib/cli/lint/tsc.js.map +1 -1
  225. package/lib/cli/lint/types.js +0 -15
  226. package/lib/cli/lint/types.js.map +3 -3
  227. package/lib/cli/migrate/index.js +9 -35
  228. package/lib/cli/migrate/index.js.map +1 -1
  229. package/lib/cli/migrate/nodeVersion/checks.js +26 -68
  230. package/lib/cli/migrate/nodeVersion/checks.js.map +2 -2
  231. package/lib/cli/migrate/nodeVersion/index.js +24 -56
  232. package/lib/cli/migrate/nodeVersion/index.js.map +2 -2
  233. package/lib/cli/node/index.js +20 -60
  234. package/lib/cli/node/index.js.map +3 -3
  235. package/lib/cli/release/index.js +3 -29
  236. package/lib/cli/release/index.js.map +1 -1
  237. package/lib/cli/start/index.js +15 -51
  238. package/lib/cli/start/index.js.map +3 -3
  239. package/lib/cli/test/index.js +3 -45
  240. package/lib/cli/test/index.js.map +2 -2
  241. package/lib/cli/version/index.js +5 -31
  242. package/lib/cli/version/index.js.map +1 -1
  243. package/lib/config/prettier.d.ts +7 -0
  244. package/lib/index.js +4 -49
  245. package/lib/index.js.map +2 -2
  246. package/lib/skuba.js +26 -44
  247. package/lib/skuba.js.map +3 -3
  248. package/lib/{cli → src/cli}/configure/analyseDependencies.d.ts +1 -1
  249. package/lib/{cli → src/cli}/configure/analysis/package.d.ts +2 -3
  250. package/lib/{cli → src/cli}/configure/ensureTemplateCompletion.d.ts +1 -1
  251. package/lib/{cli → src/cli}/configure/getEntryPoint.d.ts +1 -1
  252. package/lib/{cli → src/cli}/configure/getProjectType.d.ts +1 -1
  253. package/lib/src/cli/configure/processing/package.d.ts +5 -0
  254. package/lib/{cli → src/cli}/configure/types.d.ts +15 -4
  255. package/lib/{cli → src/cli}/init/getConfig.d.ts +1 -1
  256. package/lib/{cli → src/cli}/init/prompts.d.ts +4 -4
  257. package/lib/{cli → src/cli}/lint/internalLints/upgrade/index.d.ts +1 -1
  258. package/lib/{index.d.ts → src/index.d.ts} +0 -1
  259. package/lib/src/utils/fs.d.ts +1 -0
  260. package/lib/{utils → src/utils}/manifest.d.ts +3 -2
  261. package/lib/src/utils/sleep.d.ts +5 -0
  262. package/lib/{utils → src/utils}/wait.d.ts +0 -4
  263. package/lib/{wrapper → src/wrapper}/http.d.ts +0 -6
  264. package/lib/src/wrapper/server.d.ts +7 -0
  265. package/lib/utils/args.js +8 -50
  266. package/lib/utils/args.js.map +2 -2
  267. package/lib/utils/command.js +6 -50
  268. package/lib/utils/command.js.map +3 -3
  269. package/lib/utils/copy.js +22 -64
  270. package/lib/utils/copy.js.map +2 -2
  271. package/lib/utils/dir.js +37 -84
  272. package/lib/utils/dir.js.map +3 -3
  273. package/lib/utils/env.js +1 -27
  274. package/lib/utils/env.js.map +1 -1
  275. package/lib/utils/error.js +11 -53
  276. package/lib/utils/error.js.map +1 -1
  277. package/lib/utils/exec.js +26 -70
  278. package/lib/utils/exec.js.map +3 -3
  279. package/lib/utils/fs.js +15 -0
  280. package/lib/utils/fs.js.map +7 -0
  281. package/lib/utils/help.js +5 -31
  282. package/lib/utils/help.js.map +1 -1
  283. package/lib/utils/logging.js +13 -55
  284. package/lib/utils/logging.js.map +2 -2
  285. package/lib/utils/logo.js +23 -59
  286. package/lib/utils/logo.js.map +2 -2
  287. package/lib/utils/manifest.js +12 -60
  288. package/lib/utils/manifest.js.map +3 -3
  289. package/lib/utils/npmrc.js +1 -27
  290. package/lib/utils/npmrc.js.map +1 -1
  291. package/lib/utils/packageManager.js +14 -56
  292. package/lib/utils/packageManager.js.map +2 -2
  293. package/lib/utils/port.js +4 -42
  294. package/lib/utils/port.js.map +2 -2
  295. package/lib/utils/sleep.js +9 -0
  296. package/lib/utils/sleep.js.map +7 -0
  297. package/lib/utils/template.js +21 -68
  298. package/lib/utils/template.js.map +3 -3
  299. package/lib/utils/validation.js +6 -42
  300. package/lib/utils/validation.js.map +1 -1
  301. package/lib/utils/version.js +11 -53
  302. package/lib/utils/version.js.map +2 -2
  303. package/lib/utils/wait.js +6 -42
  304. package/lib/utils/wait.js.map +2 -2
  305. package/lib/utils/worker.js +9 -37
  306. package/lib/utils/worker.js.map +1 -1
  307. package/lib/wrapper/functionHandler.js +17 -50
  308. package/lib/wrapper/functionHandler.js.map +2 -2
  309. package/lib/wrapper/http.js +7 -53
  310. package/lib/wrapper/http.js.map +3 -3
  311. package/lib/wrapper/index.js +6 -6
  312. package/lib/wrapper/index.js.map +1 -1
  313. package/lib/wrapper/main.js +7 -43
  314. package/lib/wrapper/main.js.map +3 -3
  315. package/lib/wrapper/requestListener.js +12 -47
  316. package/lib/wrapper/requestListener.js.map +3 -3
  317. package/lib/wrapper/server.js +9 -0
  318. package/lib/wrapper/server.js.map +7 -0
  319. package/package.json +19 -24
  320. package/template/base/_.prettierrc.js +1 -1
  321. package/template/base/_eslint.config.js +1 -1
  322. package/template/base/_pnpm-workspace.yaml +3 -2
  323. package/template/base/vitest.config.ts +25 -0
  324. package/template/express-rest-api/.gantry/dev.yml +2 -2
  325. package/template/express-rest-api/.gantry/prod.yml +2 -2
  326. package/template/express-rest-api/package.json +6 -5
  327. package/template/express-rest-api/skuba.template.js +1 -1
  328. package/template/express-rest-api/src/app.test.ts +1 -0
  329. package/template/greeter/package.json +4 -3
  330. package/template/greeter/skuba.template.js +1 -1
  331. package/template/greeter/src/app.test.ts +3 -1
  332. package/template/koa-rest-api/.gantry/dev.yml +2 -2
  333. package/template/koa-rest-api/.gantry/prod.yml +2 -2
  334. package/template/koa-rest-api/package.json +6 -5
  335. package/template/koa-rest-api/skuba.template.js +1 -1
  336. package/template/koa-rest-api/src/api/jobs/getJobs.test.ts +2 -0
  337. package/template/koa-rest-api/src/api/jobs/postJob.test.ts +2 -0
  338. package/template/koa-rest-api/src/app.test.ts +2 -0
  339. package/template/koa-rest-api/src/framework/server.test.ts +2 -2
  340. package/template/koa-rest-api/src/framework/validation.test.ts +2 -0
  341. package/template/koa-rest-api/src/testing/metrics.ts +2 -0
  342. package/template/lambda-sqs-worker-cdk/infra/__snapshots__/appStack.test.ts.snap +15 -3
  343. package/template/lambda-sqs-worker-cdk/infra/appStack.test.ts +11 -9
  344. package/template/lambda-sqs-worker-cdk/infra/appStack.ts +1 -1
  345. package/template/lambda-sqs-worker-cdk/package.json +6 -5
  346. package/template/lambda-sqs-worker-cdk/skuba.template.js +1 -1
  347. package/template/lambda-sqs-worker-cdk/src/app.test.ts +22 -13
  348. package/template/lambda-sqs-worker-cdk/src/framework/handler.test.ts +1 -0
  349. package/template/lambda-sqs-worker-cdk/src/framework/validation.test.ts +33 -31
  350. package/template/lambda-sqs-worker-cdk/src/services/jobScorer.test.ts +8 -2
  351. package/template/lambda-sqs-worker-cdk/src/services/pipelineEventSender.test.ts +3 -2
  352. package/template/lambda-sqs-worker-cdk/src/testing/services.ts +4 -3
  353. package/template/oss-npm-package/.github/workflows/release.yml +1 -1
  354. package/template/oss-npm-package/.github/workflows/validate.yml +1 -1
  355. package/template/oss-npm-package/_package.json +1 -0
  356. package/template/oss-npm-package/skuba.template.js +1 -1
  357. package/template/oss-npm-package/src/index.test.ts +2 -0
  358. package/template/private-npm-package/_package.json +1 -0
  359. package/template/private-npm-package/skuba.template.js +1 -1
  360. package/template/private-npm-package/src/index.test.ts +2 -0
  361. package/config/jest.js +0 -1
  362. package/config/prettier.d.ts +0 -4
  363. package/jest/moduleNameMapper.js +0 -64
  364. package/jest/transform.js +0 -62
  365. package/jest/tsConfig.js +0 -26
  366. package/jest-preset.js +0 -37
  367. package/lib/api/jest/index.d.ts +0 -15
  368. package/lib/api/jest/index.js +0 -59
  369. package/lib/api/jest/index.js.map +0 -7
  370. package/lib/cli/configure/modules/jest.d.ts +0 -2
  371. package/lib/cli/configure/modules/jest.js +0 -86
  372. package/lib/cli/configure/modules/jest.js.map +0 -7
  373. package/lib/cli/configure/processing/package.d.ts +0 -71
  374. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/upgradeESLint.d.ts +0 -2
  375. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/upgradeESLint.js +0 -144
  376. package/lib/cli/lint/internalLints/upgrade/patches/8.2.1/upgradeESLint.js.map +0 -7
  377. package/lib/cli/test/reporters/github/annotations.d.ts +0 -9
  378. package/lib/cli/test/reporters/github/annotations.js +0 -102
  379. package/lib/cli/test/reporters/github/annotations.js.map +0 -7
  380. package/lib/cli/test/reporters/github/index.d.ts +0 -5
  381. package/lib/cli/test/reporters/github/index.js +0 -74
  382. package/lib/cli/test/reporters/github/index.js.map +0 -7
  383. package/template/base/jest.config.ts +0 -19
  384. package/template/base/jest.setup.ts +0 -3
  385. /package/lib/{cli → src/cli}/adapter/eslint.d.ts +0 -0
  386. /package/lib/{cli → src/cli}/adapter/prettier.d.ts +0 -0
  387. /package/lib/{cli → src/cli}/build/args.d.ts +0 -0
  388. /package/lib/{cli → src/cli}/build/assets.d.ts +0 -0
  389. /package/lib/{cli → src/cli}/build/esbuild.d.ts +0 -0
  390. /package/lib/{cli → src/cli}/build/index.d.ts +0 -0
  391. /package/lib/{cli → src/cli}/build/tsc.d.ts +0 -0
  392. /package/lib/{cli → src/cli}/buildPackage/index.d.ts +0 -0
  393. /package/lib/{cli → src/cli}/configure/analyseConfiguration.d.ts +0 -0
  394. /package/lib/{cli → src/cli}/configure/analysis/diff.d.ts +0 -0
  395. /package/lib/{cli → src/cli}/configure/analysis/files.d.ts +0 -0
  396. /package/lib/{cli → src/cli}/configure/analysis/git.d.ts +0 -0
  397. /package/lib/{cli → src/cli}/configure/analysis/project.d.ts +0 -0
  398. /package/lib/{cli → src/cli}/configure/dependencies/index.d.ts +0 -0
  399. /package/lib/{cli → src/cli}/configure/dependencies/seekDatadogCustomMetrics.d.ts +0 -0
  400. /package/lib/{cli → src/cli}/configure/dependencies/seekKoala.d.ts +0 -0
  401. /package/lib/{cli → src/cli}/configure/dependencies/skuba.d.ts +0 -0
  402. /package/lib/{cli → src/cli}/configure/dependencies/skubaDeps.d.ts +0 -0
  403. /package/lib/{cli → src/cli}/configure/dependencies/skubaDive.d.ts +0 -0
  404. /package/lib/{cli → src/cli}/configure/index.d.ts +0 -0
  405. /package/lib/{cli → src/cli}/configure/modules/eslint.d.ts +0 -0
  406. /package/lib/{cli → src/cli}/configure/modules/ignore.d.ts +0 -0
  407. /package/lib/{cli → src/cli}/configure/modules/index.d.ts +0 -0
  408. /package/lib/{cli → src/cli}/configure/modules/nodemon.d.ts +0 -0
  409. /package/lib/{cli → src/cli}/configure/modules/package.d.ts +0 -0
  410. /package/lib/{cli → src/cli}/configure/modules/prettier.d.ts +0 -0
  411. /package/lib/{cli → src/cli}/configure/modules/renovate.d.ts +0 -0
  412. /package/lib/{cli → src/cli}/configure/modules/serverless.d.ts +0 -0
  413. /package/lib/{cli → src/cli}/configure/modules/tslint.d.ts +0 -0
  414. /package/lib/{cli → src/cli}/configure/processing/configFile.d.ts +0 -0
  415. /package/lib/{cli → src/cli}/configure/processing/deleteFiles.d.ts +0 -0
  416. /package/lib/{cli → src/cli}/configure/processing/javascript.d.ts +0 -0
  417. /package/lib/{cli → src/cli}/configure/processing/json.d.ts +0 -0
  418. /package/lib/{cli → src/cli}/configure/processing/loadFiles.d.ts +0 -0
  419. /package/lib/{cli → src/cli}/configure/processing/module.d.ts +0 -0
  420. /package/lib/{cli → src/cli}/configure/processing/prettier.d.ts +0 -0
  421. /package/lib/{cli → src/cli}/configure/processing/record.d.ts +0 -0
  422. /package/lib/{cli → src/cli}/configure/processing/typescript.d.ts +0 -0
  423. /package/lib/{cli → src/cli}/format/index.d.ts +0 -0
  424. /package/lib/{cli → src/cli}/help/index.d.ts +0 -0
  425. /package/lib/{cli → src/cli}/init/git.d.ts +0 -0
  426. /package/lib/{cli → src/cli}/init/index.d.ts +0 -0
  427. /package/lib/{cli → src/cli}/init/types.d.ts +0 -0
  428. /package/lib/{cli → src/cli}/init/validation.d.ts +0 -0
  429. /package/lib/{cli → src/cli}/init/writePackageJson.d.ts +0 -0
  430. /package/lib/{cli → src/cli}/lint/annotate/buildkite/eslint.d.ts +0 -0
  431. /package/lib/{cli → src/cli}/lint/annotate/buildkite/index.d.ts +0 -0
  432. /package/lib/{cli → src/cli}/lint/annotate/buildkite/internal.d.ts +0 -0
  433. /package/lib/{cli → src/cli}/lint/annotate/buildkite/prettier.d.ts +0 -0
  434. /package/lib/{cli → src/cli}/lint/annotate/buildkite/tsc.d.ts +0 -0
  435. /package/lib/{cli → src/cli}/lint/annotate/github/eslint.d.ts +0 -0
  436. /package/lib/{cli → src/cli}/lint/annotate/github/index.d.ts +0 -0
  437. /package/lib/{cli → src/cli}/lint/annotate/github/internal.d.ts +0 -0
  438. /package/lib/{cli → src/cli}/lint/annotate/github/prettier.d.ts +0 -0
  439. /package/lib/{cli → src/cli}/lint/annotate/github/tsc.d.ts +0 -0
  440. /package/lib/{cli → src/cli}/lint/annotate/index.d.ts +0 -0
  441. /package/lib/{cli → src/cli}/lint/autofix.d.ts +0 -0
  442. /package/lib/{cli → src/cli}/lint/eslint.d.ts +0 -0
  443. /package/lib/{cli → src/cli}/lint/external.d.ts +0 -0
  444. /package/lib/{cli → src/cli}/lint/index.d.ts +0 -0
  445. /package/lib/{cli → src/cli}/lint/internal.d.ts +0 -0
  446. /package/lib/{cli → src/cli}/lint/internalLints/detectBadCodeowners.d.ts +0 -0
  447. /package/lib/{cli → src/cli}/lint/internalLints/noSkubaTemplateJs.d.ts +0 -0
  448. /package/lib/{cli → src/cli}/lint/internalLints/patchRenovateConfig.d.ts +0 -0
  449. /package/lib/{cli → src/cli}/lint/internalLints/refreshConfigFiles.d.ts +0 -0
  450. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/10.0.4/index.d.ts +0 -0
  451. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.d.ts +0 -0
  452. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/10.1.0/index.d.ts +0 -0
  453. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/10.1.0/migrateNpmrcToPnpmWorkspace.d.ts +0 -0
  454. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.d.ts +0 -0
  455. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.0.2/index.d.ts +0 -0
  456. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.0.2/unhandledRejections.d.ts +0 -0
  457. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.1.1/index.d.ts +0 -0
  458. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.1.1/patchJestSnapshots.d.ts +0 -0
  459. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.3.0/index.d.ts +0 -0
  460. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.3.0/patchApiTokenFromEnvironment.d.ts +0 -0
  461. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.3.0/patchDockerfileSyntaxDirective.d.ts +0 -0
  462. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.4.0/index.d.ts +0 -0
  463. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.4.0/patchDockerfileCIVariable.d.ts +0 -0
  464. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.4.1/configureTsConfigForESM.d.ts +0 -0
  465. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.4.1/index.d.ts +0 -0
  466. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.4.1/patchApiDockerfiles.d.ts +0 -0
  467. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.4.1/rewriteSrcImports.d.ts +0 -0
  468. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/12.4.1/updateLambdaConfigs.d.ts +0 -0
  469. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/7.3.1/addEmptyExports.d.ts +0 -0
  470. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/7.3.1/index.d.ts +0 -0
  471. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/7.3.1/patchDockerfile.d.ts +0 -0
  472. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/7.3.1/patchServerListener.d.ts +0 -0
  473. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/8.0.0/index.d.ts +0 -0
  474. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/8.0.0/patchPnpmPackageManager.d.ts +0 -0
  475. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/8.2.1/collapseDuplicateMergeKeys.d.ts +0 -0
  476. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/8.2.1/index.d.ts +0 -0
  477. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/8.2.1/moveNpmrcMounts.d.ts +0 -0
  478. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/8.2.1/patchDockerCompose.d.ts +0 -0
  479. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/8.2.1/patchDockerImages.d.ts +0 -0
  480. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/9.0.1/index.d.ts +0 -0
  481. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/9.0.1/patchPnpmDockerImages.d.ts +0 -0
  482. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/9.1.0/index.d.ts +0 -0
  483. /package/lib/{cli → src/cli}/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.d.ts +0 -0
  484. /package/lib/{cli → src/cli}/lint/prettier.d.ts +0 -0
  485. /package/lib/{cli → src/cli}/lint/tsc.d.ts +0 -0
  486. /package/lib/{cli → src/cli}/lint/types.d.ts +0 -0
  487. /package/lib/{cli → src/cli}/migrate/index.d.ts +0 -0
  488. /package/lib/{cli → src/cli}/migrate/nodeVersion/checks.d.ts +0 -0
  489. /package/lib/{cli → src/cli}/migrate/nodeVersion/index.d.ts +0 -0
  490. /package/lib/{cli → src/cli}/node/index.d.ts +0 -0
  491. /package/lib/{cli → src/cli}/release/index.d.ts +0 -0
  492. /package/lib/{cli → src/cli}/start/index.d.ts +0 -0
  493. /package/lib/{cli → src/cli}/test/index.d.ts +0 -0
  494. /package/lib/{cli → src/cli}/version/index.d.ts +0 -0
  495. /package/lib/{skuba.d.ts → src/skuba.d.ts} +0 -0
  496. /package/lib/{utils → src/utils}/args.d.ts +0 -0
  497. /package/lib/{utils → src/utils}/command.d.ts +0 -0
  498. /package/lib/{utils → src/utils}/copy.d.ts +0 -0
  499. /package/lib/{utils → src/utils}/dir.d.ts +0 -0
  500. /package/lib/{utils → src/utils}/env.d.ts +0 -0
  501. /package/lib/{utils → src/utils}/error.d.ts +0 -0
  502. /package/lib/{utils → src/utils}/exec.d.ts +0 -0
  503. /package/lib/{utils → src/utils}/help.d.ts +0 -0
  504. /package/lib/{utils → src/utils}/logging.d.ts +0 -0
  505. /package/lib/{utils → src/utils}/logo.d.ts +0 -0
  506. /package/lib/{utils → src/utils}/npmrc.d.ts +0 -0
  507. /package/lib/{utils → src/utils}/packageManager.d.ts +0 -0
  508. /package/lib/{utils → src/utils}/port.d.ts +0 -0
  509. /package/lib/{utils → src/utils}/template.d.ts +0 -0
  510. /package/lib/{utils → src/utils}/validation.d.ts +0 -0
  511. /package/lib/{utils → src/utils}/version.d.ts +0 -0
  512. /package/lib/{utils → src/utils}/worker.d.ts +0 -0
  513. /package/lib/{wrapper → src/wrapper}/functionHandler.d.ts +0 -0
  514. /package/lib/{wrapper → src/wrapper}/index.d.ts +0 -0
  515. /package/lib/{wrapper → src/wrapper}/main.d.ts +0 -0
  516. /package/lib/{wrapper → src/wrapper}/requestListener.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skuba",
3
- "version": "13.0.2",
3
+ "version": "14.0.0-esmify-skuba-20251031135439",
4
4
  "private": false,
5
5
  "description": "SEEK development toolkit for backend applications and packages",
6
6
  "homepage": "https://github.com/seek-oss/skuba#readme",
@@ -13,6 +13,7 @@
13
13
  },
14
14
  "license": "MIT",
15
15
  "sideEffects": false,
16
+ "type": "module",
16
17
  "main": "lib/index.js",
17
18
  "types": "./lib/index.d.ts",
18
19
  "bin": {
@@ -20,12 +21,10 @@
20
21
  },
21
22
  "files": [
22
23
  "config/**/*",
23
- "jest/**/*.js",
24
24
  "lib*/**/*.d.ts",
25
25
  "lib*/**/*.js",
26
26
  "lib*/**/*.js.map",
27
- "template/**/*",
28
- "jest-preset.js"
27
+ "template/**/*"
29
28
  ],
30
29
  "remarkConfig": {
31
30
  "plugins": [
@@ -57,13 +56,14 @@
57
56
  "dependencies": {
58
57
  "@esbuild-plugins/tsconfig-paths": "^0.1.0",
59
58
  "@eslint/migrate-config": "~1.3.8",
60
- "@jest/types": "^30.0.0",
61
59
  "@octokit/graphql": "^9.0.0",
62
60
  "@octokit/graphql-schema": "^15.3.0",
63
61
  "@octokit/rest": "^22.0.0",
64
62
  "@octokit/types": "^15.0.0",
65
- "@types/jest": "^30.0.0",
66
63
  "@types/node": "^22.0.0",
64
+ "@vitest/coverage-v8": "^4.0.5",
65
+ "@vitest/ui": "^4.0.5",
66
+ "@vitest/utils": "^4.0.5",
67
67
  "chalk": "^4.1.0",
68
68
  "concurrently": "^9.0.0",
69
69
  "ejs": "^3.1.6",
@@ -80,8 +80,6 @@
80
80
  "ignore": "^7.0.0",
81
81
  "is-installed-globally": "^0.4.0",
82
82
  "isomorphic-git": "^1.11.1",
83
- "jest": "^30.0.0",
84
- "jest-watch-typeahead": "^3.0.1",
85
83
  "lodash.mergewith": "^4.6.2",
86
84
  "minimist": "^1.2.6",
87
85
  "normalize-package-data": "^7.0.0",
@@ -91,25 +89,23 @@
91
89
  "picomatch": "^4.0.0",
92
90
  "prettier": "~3.6.0",
93
91
  "prettier-plugin-packagejson": "^2.4.10",
94
- "read-pkg-up": "^7.0.1",
92
+ "read-package-up": "^11.0.0",
95
93
  "semantic-release": "^24.2.3",
96
94
  "simple-git": "^3.5.0",
97
95
  "ts-dedent": "^2.2.0",
98
- "ts-jest": "^29.4.0",
99
96
  "ts-node": "^10.9.2",
100
97
  "tsconfig-paths": "^4.0.0",
101
98
  "tsconfig-seek": "2.0.0",
102
99
  "tsx": "^4.16.2",
103
100
  "typescript": "~5.9.0",
101
+ "vitest": "^4.0.5",
104
102
  "zod": "^4.0.0",
105
- "@skuba-lib/api": "^1.0.1",
106
- "eslint-config-skuba": "7.2.0"
103
+ "@skuba-lib/api": "^1.1.0-esmify-skuba-20251031135439",
104
+ "eslint-config-skuba": "7.3.0-esmify-skuba-20251031135439"
107
105
  },
108
106
  "devDependencies": {
109
107
  "@changesets/cli": "2.29.7",
110
108
  "@changesets/get-github-info": "0.6.0",
111
- "@jest/reporters": "30.2.0",
112
- "@jest/test-result": "30.2.0",
113
109
  "@types/ejs": "3.1.5",
114
110
  "@types/express": "5.0.3",
115
111
  "@types/fs-extra": "11.0.4",
@@ -125,18 +121,17 @@
125
121
  "enhanced-resolve": "5.18.3",
126
122
  "express": "5.1.0",
127
123
  "fastify": "5.6.1",
128
- "jest-diff": "30.2.0",
129
124
  "jsonfile": "6.2.0",
130
- "koa": "3.0.1",
131
- "memfs": "4.48.1",
125
+ "koa": "3.0.3",
126
+ "memfs": "4.49.0",
132
127
  "remark-cli": "12.0.1",
133
128
  "remark-preset-lint-recommended": "7.0.1",
134
- "semver": "7.7.2",
129
+ "semver": "7.7.3",
135
130
  "supertest": "7.1.4",
136
131
  "type-fest": "2.19.0"
137
132
  },
138
133
  "peerDependencies": {
139
- "skuba-dive": "1 || 2"
134
+ "skuba-dive": "3.0.0-esmify-skuba-20251031135439"
140
135
  },
141
136
  "peerDependenciesMeta": {
142
137
  "skuba-dive": {
@@ -166,12 +161,12 @@
166
161
  "release": "pnpm --silent build && changeset publish",
167
162
  "skuba": "pnpm --silent build && pnpm --silent skuba:exec",
168
163
  "skuba:exec": "node lib/skuba",
169
- "stage": "changeset version && node ./.changeset/inject.js && pnpm format",
170
- "test": "pnpm --silent skuba test --selectProjects unit",
171
- "test:ci": "pnpm --silent skuba test --runInBand",
172
- "test:int": "pnpm --silent skuba test --selectProjects integration --runInBand",
164
+ "stage": "changeset version && node ./.changeset/inject.cjs && pnpm format",
165
+ "test": "pnpm --silent skuba test run",
166
+ "test:ci": "pnpm --silent skuba test run",
167
+ "test:int": "pnpm --silent skuba test run",
173
168
  "test:template": "scripts/test-template.sh",
174
169
  "test:template:updateSnapshot": "scripts/test-template.sh -u",
175
- "test:watch": "pnpm --silent skuba test --runInBand --watch"
170
+ "test:watch": "pnpm --silent skuba test"
176
171
  }
177
172
  }
@@ -1 +1 @@
1
- module.exports = require('skuba/config/prettier');
1
+ export { default } from 'skuba/config/prettier.js';
@@ -1 +1 @@
1
- module.exports = require('eslint-config-skuba');
1
+ export { default } from 'eslint-config-skuba';
@@ -1,6 +1,6 @@
1
1
  # managed by skuba
2
2
  ignorePatchFailures: false
3
- minimumReleaseAge: 4320 # 3 days
3
+ # minimumReleaseAge: 4320 # 3 days
4
4
  minimumReleaseAgeExclude:
5
5
  - '@seek/*'
6
6
  - '@skuba-lib/*'
@@ -12,11 +12,12 @@ minimumReleaseAgeExclude:
12
12
  packageManagerStrictVersion: true
13
13
  publicHoistPattern:
14
14
  - '@types*'
15
+ - '@vitest/*'
15
16
  - eslint
16
17
  - eslint-config-skuba
17
18
  - prettier
18
19
  - esbuild
19
- - jest
20
20
  - tsconfig-seek
21
21
  - typescript
22
+ - vitest
22
23
  # end managed by skuba
@@ -0,0 +1,25 @@
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
+ });
@@ -1,8 +1,8 @@
1
- deployment: dev
1
+ deployment: <%- devGantryEnvironmentName %>
2
2
  env: development
3
3
 
4
- maxInstanceCount: 1
5
4
  minInstanceCount: 1
5
+ maxInstanceCount: 1
6
6
 
7
7
  # Disable dashboard for cost savings
8
8
  cloudwatchDashboardDisabled: true
@@ -1,8 +1,8 @@
1
- deployment: prod
1
+ deployment: <%- prodGantryEnvironmentName %>
2
2
  env: production
3
3
 
4
- maxInstanceCount: 10
5
4
  minInstanceCount: 3
5
+ maxInstanceCount: 10
6
6
 
7
7
  openTelemetry:
8
8
  enabled: true
@@ -2,6 +2,7 @@
2
2
  "name": "@seek/<%- serviceName %>",
3
3
  "private": true,
4
4
  "license": "UNLICENSED",
5
+ "type": "module",
5
6
  "imports": {
6
7
  "#src/*": {
7
8
  "@seek/<%- serviceName %>/source": "./src/*",
@@ -21,11 +22,11 @@
21
22
  "dependencies": {
22
23
  "@opentelemetry/api": "^1.9.0",
23
24
  "@opentelemetry/core": "^2.0.0",
24
- "@opentelemetry/exporter-trace-otlp-grpc": "^0.205.0",
25
- "@opentelemetry/instrumentation-aws-sdk": "^0.61.0",
26
- "@opentelemetry/instrumentation-http": "^0.205.0",
25
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.206.0",
26
+ "@opentelemetry/instrumentation-aws-sdk": "^0.62.0",
27
+ "@opentelemetry/instrumentation-http": "^0.206.0",
27
28
  "@opentelemetry/propagator-b3": "^2.0.0",
28
- "@opentelemetry/sdk-node": "^0.205.0",
29
+ "@opentelemetry/sdk-node": "^0.206.0",
29
30
  "@seek/logger": "^11.1.0",
30
31
  "express": "^5.0.0",
31
32
  "hot-shots": "^11.0.0",
@@ -40,7 +41,7 @@
40
41
  "skuba": "*",
41
42
  "supertest": "^7.0.0"
42
43
  },
43
- "packageManager": "pnpm@10.17.1",
44
+ "packageManager": "pnpm@10.19.0",
44
45
  "engines": {
45
46
  "node": ">=22"
46
47
  }
@@ -2,7 +2,7 @@
2
2
  * Run `skuba configure` to finish templating and remove this file.
3
3
  */
4
4
 
5
- module.exports = {
5
+ export default {
6
6
  entryPoint: 'src/app.ts',
7
7
  fields: [
8
8
  {
@@ -1,4 +1,5 @@
1
1
  import request from 'supertest';
2
+ import { describe, it } from 'vitest';
2
3
 
3
4
  import app from './app.js';
4
5
 
@@ -2,6 +2,7 @@
2
2
  "name": "@seek/greeter",
3
3
  "private": true,
4
4
  "license": "UNLICENSED",
5
+ "type": "module",
5
6
  "imports": {
6
7
  "#src/*": {
7
8
  "@seek/<%- serviceName %>/source": "./src/*",
@@ -19,13 +20,13 @@
19
20
  "test:watch": "skuba test --watch"
20
21
  },
21
22
  "dependencies": {
22
- "skuba-dive": "^2.0.0"
23
+ "skuba-dive": "3.0.0-esmify-skuba-20251031135439"
23
24
  },
24
25
  "devDependencies": {
25
26
  "@types/node": "^22.13.10",
26
- "skuba": "*"
27
+ "skuba": "14.0.0-esmify-skuba-20251031135439"
27
28
  },
28
- "packageManager": "pnpm@10.17.1",
29
+ "packageManager": "pnpm@10.19.0",
29
30
  "engines": {
30
31
  "node": ">=22"
31
32
  }
@@ -2,7 +2,7 @@
2
2
  * Run `skuba configure` to finish templating and remove this file.
3
3
  */
4
4
 
5
- module.exports = {
5
+ export default {
6
6
  entryPoint: 'src/app.ts',
7
7
  fields: [
8
8
  {
@@ -1,5 +1,7 @@
1
+ import { describe, expect, it } from 'vitest';
2
+
1
3
  import * as app from './app.js';
2
4
 
3
5
  describe('app', () => {
4
- it('is importable', () => expect(app).toEqual({}));
6
+ it('is importable', () => expect(app).toBeDefined());
5
7
  });
@@ -1,8 +1,8 @@
1
- deployment: dev
1
+ deployment: <%- devGantryEnvironmentName %>
2
2
  env: development
3
3
 
4
- maxInstanceCount: 1
5
4
  minInstanceCount: 1
5
+ maxInstanceCount: 1
6
6
 
7
7
  # Disable dashboard for cost savings
8
8
  cloudwatchDashboardDisabled: true
@@ -1,8 +1,8 @@
1
- deployment: prod
1
+ deployment: <%- prodGantryEnvironmentName %>
2
2
  env: production
3
3
 
4
- maxInstanceCount: 10
5
4
  minInstanceCount: 3
5
+ maxInstanceCount: 10
6
6
 
7
7
  openTelemetry:
8
8
  enabled: true
@@ -2,6 +2,7 @@
2
2
  "name": "@seek/<%- serviceName %>",
3
3
  "private": true,
4
4
  "license": "UNLICENSED",
5
+ "type": "module",
5
6
  "imports": {
6
7
  "#src/*": {
7
8
  "@seek/<%- serviceName %>/source": "./src/*",
@@ -23,11 +24,11 @@
23
24
  "@koa/router": "^14.0.0",
24
25
  "@opentelemetry/api": "^1.9.0",
25
26
  "@opentelemetry/core": "^2.0.0",
26
- "@opentelemetry/exporter-trace-otlp-grpc": "^0.205.0",
27
- "@opentelemetry/instrumentation-aws-sdk": "^0.61.0",
28
- "@opentelemetry/instrumentation-http": "^0.205.0",
27
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.206.0",
28
+ "@opentelemetry/instrumentation-aws-sdk": "^0.62.0",
29
+ "@opentelemetry/instrumentation-http": "^0.206.0",
29
30
  "@opentelemetry/propagator-b3": "^2.0.0",
30
- "@opentelemetry/sdk-node": "^0.205.0",
31
+ "@opentelemetry/sdk-node": "^0.206.0",
31
32
  "@seek/logger": "^11.1.0",
32
33
  "hot-shots": "^11.0.0",
33
34
  "koa": "^3.0.1",
@@ -49,7 +50,7 @@
49
50
  "skuba": "*",
50
51
  "supertest": "^7.0.0"
51
52
  },
52
- "packageManager": "pnpm@10.17.1",
53
+ "packageManager": "pnpm@10.19.0",
53
54
  "engines": {
54
55
  "node": ">=22"
55
56
  }
@@ -2,7 +2,7 @@
2
2
  * Run `skuba configure` to finish templating and remove this file.
3
3
  */
4
4
 
5
- module.exports = {
5
+ export default {
6
6
  entryPoint: 'src/app.ts',
7
7
  fields: [
8
8
  {
@@ -1,3 +1,5 @@
1
+ import { describe, it } from 'vitest';
2
+
1
3
  import { jobRouter } from './index.js';
2
4
 
3
5
  import { agentFromRouter } from '#src/testing/server.js';
@@ -1,3 +1,5 @@
1
+ import { describe, expect, it } from 'vitest';
2
+
1
3
  import { jobRouter } from './index.js';
2
4
 
3
5
  import { agentFromRouter } from '#src/testing/server.js';
@@ -1,3 +1,5 @@
1
+ import { describe, expect, it } from 'vitest';
2
+
1
3
  import app from './app.js';
2
4
 
3
5
  import { agentFromApp } from '#src/testing/server.js';
@@ -1,4 +1,5 @@
1
1
  import Router from '@koa/router';
2
+ import { afterEach, describe, expect, it, vi } from 'vitest';
2
3
 
3
4
  import { stdoutMock } from './logging.js';
4
5
 
@@ -7,8 +8,7 @@ import { agentFromRouter } from '#src/testing/server.js';
7
8
  import { chance } from '#src/testing/types.js';
8
9
  import type { Middleware } from '#src/types/koa.js';
9
10
 
10
- const middleware = jest.fn<void, Parameters<Middleware>>();
11
-
11
+ const middleware = vi.fn<Middleware>();
12
12
  const router = new Router()
13
13
  .use('/nested', new Router().put('/:param', middleware).routes())
14
14
  .get('/', middleware);
@@ -1,3 +1,5 @@
1
+ import { describe, expect, it } from 'vitest';
2
+
1
3
  import { jsonBodyParser } from './bodyParser.js';
2
4
  import { validate } from './validation.js';
3
5
 
@@ -1,3 +1,5 @@
1
+ import { expect } from 'vitest';
2
+
1
3
  import * as metrics from '#src/framework/metrics.js';
2
4
 
3
5
  function assertDefined<T>(value: T | undefined): asserts value is T {
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
3
  exports[`returns expected CloudFormation stack for dev 1`] = `
4
4
  {
@@ -763,6 +763,14 @@ exports[`returns expected CloudFormation stack for prod 1`] = `
763
763
  },
764
764
  },
765
765
  "Resources": {
766
+ "datadogapikeysecret046FEF06": {
767
+ "DeletionPolicy": "Delete",
768
+ "Properties": {
769
+ "GenerateSecretString": {},
770
+ },
771
+ "Type": "AWS::SecretsManager::Secret",
772
+ "UpdateReplacePolicy": "Delete",
773
+ },
766
774
  "destinationtopicDCE2E0B8": {
767
775
  "Properties": {
768
776
  "KmsMasterKeyId": {
@@ -920,7 +928,9 @@ exports[`returns expected CloudFormation stack for prod 1`] = `
920
928
  },
921
929
  "Environment": {
922
930
  "Variables": {
923
- "DD_API_KEY_SECRET_ARN": "arn:aws:secretsmanager:<Region>:<AccountId>:secret:TODO_SECRET_NAME",
931
+ "DD_API_KEY_SECRET_ARN": {
932
+ "Ref": "datadogapikeysecret046FEF06",
933
+ },
924
934
  "DD_CAPTURE_LAMBDA_PAYLOAD": "false",
925
935
  "DD_ENV": "production",
926
936
  "DD_FLUSH_TO_LOG": "false",
@@ -1384,7 +1394,9 @@ exports[`returns expected CloudFormation stack for prod 1`] = `
1384
1394
  "secretsmanager:DescribeSecret",
1385
1395
  ],
1386
1396
  "Effect": "Allow",
1387
- "Resource": "arn:aws:secretsmanager:<Region>:<AccountId>:secret:TODO_SECRET_NAME-??????",
1397
+ "Resource": {
1398
+ "Ref": "datadogapikeysecret046FEF06",
1399
+ },
1388
1400
  },
1389
1401
  {
1390
1402
  "Action": [
@@ -1,5 +1,6 @@
1
1
  import { App, aws_secretsmanager, aws_sns } from 'aws-cdk-lib';
2
2
  import { Template } from 'aws-cdk-lib/assertions';
3
+ import { afterAll, afterEach, expect, it, vi } from 'vitest';
3
4
 
4
5
  const originalDeployment = process.env.DEPLOYMENT;
5
6
  const originalVersion = process.env.VERSION;
@@ -10,7 +11,7 @@ afterAll(() => {
10
11
  });
11
12
 
12
13
  afterEach(() => {
13
- jest.resetModules();
14
+ vi.resetModules();
14
15
  });
15
16
 
16
17
  it.each(['dev', 'prod'])(
@@ -21,15 +22,16 @@ it.each(['dev', 'prod'])(
21
22
 
22
23
  const { AppStack } = await import('./appStack.js');
23
24
 
24
- jest
25
- .spyOn(aws_sns.Topic, 'fromTopicArn')
26
- .mockImplementation((scope, id) => new aws_sns.Topic(scope, id));
25
+ vi.spyOn(aws_sns.Topic, 'fromTopicArn').mockImplementation(
26
+ (scope, id) => new aws_sns.Topic(scope, id),
27
+ );
27
28
 
28
- jest
29
- .spyOn(aws_secretsmanager.Secret, 'fromSecretPartialArn')
30
- .mockImplementation(
31
- (scope, id) => new aws_secretsmanager.Secret(scope, id),
32
- );
29
+ vi.spyOn(
30
+ aws_secretsmanager.Secret,
31
+ 'fromSecretPartialArn',
32
+ ).mockImplementation(
33
+ (scope, id) => new aws_secretsmanager.Secret(scope, id),
34
+ );
33
35
 
34
36
  const app = new App({ context: { 'aws:cdk:bundling-stacks': [] } });
35
37
 
@@ -19,7 +19,7 @@ import { DatadogLambda } from 'datadog-cdk-constructs-v2';
19
19
  import { config } from './config.js';
20
20
 
21
21
  // Updated by https://github.com/seek-oss/rynovate
22
- const DATADOG_EXTENSION_LAYER_VERSION = 87;
22
+ const DATADOG_EXTENSION_LAYER_VERSION = 88;
23
23
 
24
24
  // Updated by https://github.com/seek-oss/rynovate
25
25
  const DATADOG_NODE_LAYER_VERSION = 126;
@@ -2,6 +2,7 @@
2
2
  "name": "@seek/<%- serviceName %>",
3
3
  "private": true,
4
4
  "license": "UNLICENSED",
5
+ "type": "module",
5
6
  "imports": {
6
7
  "#src/*": {
7
8
  "@seek/<%- serviceName %>/source": "./src/*",
@@ -23,7 +24,7 @@
23
24
  "@aws-sdk/client-sns": "^3.363.0",
24
25
  "@seek/aws-codedeploy-hooks": "^2.0.0",
25
26
  "@seek/logger": "^11.1.0",
26
- "skuba-dive": "^2.0.0",
27
+ "skuba-dive": "3.0.0-esmify-skuba-20251031135439",
27
28
  "zod": "^4.0.0"
28
29
  },
29
30
  "devDependencies": {
@@ -33,17 +34,17 @@
33
34
  "@types/node": "^22.13.10",
34
35
  "aws-cdk": "^2.1010.0",
35
36
  "aws-cdk-lib": "^2.190.0",
36
- "aws-sdk-client-mock": "^4.0.0",
37
- "aws-sdk-client-mock-jest": "^4.0.0",
37
+ "aws-sdk-client-mock": "^4.1.0",
38
+ "aws-sdk-client-mock-vitest": "^6.2.1",
38
39
  "chance": "^1.1.8",
39
40
  "constructs": "^10.0.17",
40
41
  "datadog-cdk-constructs-v2": "^3.0.0",
41
42
  "datadog-lambda-js": "^12.0.0",
42
43
  "dd-trace": "^5.0.0",
43
44
  "pino-pretty": "^13.0.0",
44
- "skuba": "*"
45
+ "skuba": "14.0.0-esmify-skuba-20251031135439"
45
46
  },
46
- "packageManager": "pnpm@10.17.1",
47
+ "packageManager": "pnpm@10.19.0",
47
48
  "engines": {
48
49
  "node": ">=22"
49
50
  }
@@ -2,7 +2,7 @@
2
2
  * Run `skuba configure` to finish templating and remove this file.
3
3
  */
4
4
 
5
- module.exports = {
5
+ export default {
6
6
  entryPoint: 'src/app.ts#handler',
7
7
  fields: [
8
8
  {