skuba 4.4.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/config/tsconfig.json +1 -0
  2. package/jest/moduleNameMapper.js +50 -78
  3. package/jest/moduleNameMapper.test.ts +4 -14
  4. package/jest/transform.js +10 -1
  5. package/jest/tsConfig.js +26 -0
  6. package/lib/api/buildkite/annotate.js +46 -33
  7. package/lib/api/buildkite/annotate.js.map +7 -1
  8. package/lib/api/buildkite/index.js +31 -7
  9. package/lib/api/buildkite/index.js.map +7 -1
  10. package/lib/api/buildkite/md.js +31 -8
  11. package/lib/api/buildkite/md.js.map +7 -1
  12. package/lib/api/git/commit.js +45 -17
  13. package/lib/api/git/commit.js.map +7 -1
  14. package/lib/api/git/commitAllChanges.js +57 -27
  15. package/lib/api/git/commitAllChanges.js.map +7 -1
  16. package/lib/api/git/currentBranch.js +50 -28
  17. package/lib/api/git/currentBranch.js.map +7 -1
  18. package/lib/api/git/getChangedFiles.js +49 -27
  19. package/lib/api/git/getChangedFiles.js.map +7 -1
  20. package/lib/api/git/index.js +54 -22
  21. package/lib/api/git/index.js.map +7 -1
  22. package/lib/api/git/log.js +63 -42
  23. package/lib/api/git/log.js.map +7 -1
  24. package/lib/api/git/pull.js +62 -31
  25. package/lib/api/git/pull.js.map +7 -1
  26. package/lib/api/git/push.js +63 -31
  27. package/lib/api/git/push.js.map +7 -1
  28. package/lib/api/git/remote.js +59 -56
  29. package/lib/api/git/remote.js.map +7 -1
  30. package/lib/api/git/reset.js +55 -27
  31. package/lib/api/git/reset.js.map +7 -1
  32. package/lib/api/git/statusMatrix.js +46 -13
  33. package/lib/api/git/statusMatrix.js.map +7 -1
  34. package/lib/api/github/checkRun.js +70 -79
  35. package/lib/api/github/checkRun.js.map +7 -1
  36. package/lib/api/github/environment.js +40 -33
  37. package/lib/api/github/environment.js.map +7 -1
  38. package/lib/api/github/index.js +47 -17
  39. package/lib/api/github/index.js.map +7 -1
  40. package/lib/api/github/issueComment.js +73 -81
  41. package/lib/api/github/issueComment.js.map +7 -1
  42. package/lib/api/github/pullRequest.js +60 -61
  43. package/lib/api/github/pullRequest.js.map +7 -1
  44. package/lib/api/github/push.js +138 -133
  45. package/lib/api/github/push.js.map +7 -1
  46. package/lib/api/jest/index.d.ts +2 -1
  47. package/lib/api/jest/index.js +35 -14
  48. package/lib/api/jest/index.js.map +7 -1
  49. package/lib/api/net/compose.js +45 -17
  50. package/lib/api/net/compose.js.map +7 -1
  51. package/lib/api/net/index.js +28 -5
  52. package/lib/api/net/index.js.map +7 -1
  53. package/lib/api/net/socket.js +58 -36
  54. package/lib/api/net/socket.js.map +7 -1
  55. package/lib/api/net/waitFor.js +38 -18
  56. package/lib/api/net/waitFor.js.map +7 -1
  57. package/lib/cli/adapter/eslint.js +95 -72
  58. package/lib/cli/adapter/eslint.js.map +7 -1
  59. package/lib/cli/adapter/prettier.js +135 -123
  60. package/lib/cli/adapter/prettier.js.map +7 -1
  61. package/lib/cli/build/args.d.ts +7 -0
  62. package/lib/cli/build/args.js +69 -0
  63. package/lib/cli/build/args.js.map +7 -0
  64. package/lib/cli/build/esbuild.d.ts +5 -0
  65. package/lib/cli/build/esbuild.js +128 -0
  66. package/lib/cli/build/esbuild.js.map +7 -0
  67. package/lib/cli/build/index.d.ts +1 -1
  68. package/lib/cli/build/index.js +68 -5
  69. package/lib/cli/build/index.js.map +7 -1
  70. package/lib/cli/build/tsc.d.ts +1 -1
  71. package/lib/cli/build/tsc.js +34 -23
  72. package/lib/cli/build/tsc.js.map +7 -1
  73. package/lib/cli/buildPackage.js +53 -23
  74. package/lib/cli/buildPackage.js.map +7 -1
  75. package/lib/cli/configure/addEmptyExports.d.ts +5 -0
  76. package/lib/cli/configure/addEmptyExports.js +67 -0
  77. package/lib/cli/configure/addEmptyExports.js.map +7 -0
  78. package/lib/cli/configure/analyseConfiguration.js +61 -31
  79. package/lib/cli/configure/analyseConfiguration.js.map +7 -1
  80. package/lib/cli/configure/analyseDependencies.js +122 -113
  81. package/lib/cli/configure/analyseDependencies.js.map +7 -1
  82. package/lib/cli/configure/analysis/diff.js +37 -11
  83. package/lib/cli/configure/analysis/diff.js.map +7 -1
  84. package/lib/cli/configure/analysis/files.js +49 -22
  85. package/lib/cli/configure/analysis/files.js.map +7 -1
  86. package/lib/cli/configure/analysis/git.js +46 -16
  87. package/lib/cli/configure/analysis/git.js.map +7 -1
  88. package/lib/cli/configure/analysis/package.js +99 -52
  89. package/lib/cli/configure/analysis/package.js.map +7 -1
  90. package/lib/cli/configure/analysis/project.js +90 -54
  91. package/lib/cli/configure/analysis/project.js.map +7 -1
  92. package/lib/cli/configure/dependencies/index.js +40 -13
  93. package/lib/cli/configure/dependencies/index.js.map +7 -1
  94. package/lib/cli/configure/dependencies/seekDatadogCustomMetrics.js +57 -32
  95. package/lib/cli/configure/dependencies/seekDatadogCustomMetrics.js.map +7 -1
  96. package/lib/cli/configure/dependencies/seekKoala.js +53 -31
  97. package/lib/cli/configure/dependencies/seekKoala.js.map +7 -1
  98. package/lib/cli/configure/dependencies/skuba.js +49 -27
  99. package/lib/cli/configure/dependencies/skuba.js.map +7 -1
  100. package/lib/cli/configure/dependencies/skubaDeps.js +49 -28
  101. package/lib/cli/configure/dependencies/skubaDeps.js.map +7 -1
  102. package/lib/cli/configure/dependencies/skubaDive.js +65 -38
  103. package/lib/cli/configure/dependencies/skubaDive.js.map +7 -1
  104. package/lib/cli/configure/ensureTemplateCompletion.js +69 -41
  105. package/lib/cli/configure/ensureTemplateCompletion.js.map +7 -1
  106. package/lib/cli/configure/getEntryPoint.js +62 -32
  107. package/lib/cli/configure/getEntryPoint.js.map +7 -1
  108. package/lib/cli/configure/getProjectType.js +50 -28
  109. package/lib/cli/configure/getProjectType.js.map +7 -1
  110. package/lib/cli/configure/index.js +134 -109
  111. package/lib/cli/configure/index.js.map +7 -1
  112. package/lib/cli/configure/modules/eslint.js +57 -26
  113. package/lib/cli/configure/modules/eslint.js.map +7 -1
  114. package/lib/cli/configure/modules/ignore.js +37 -14
  115. package/lib/cli/configure/modules/ignore.js.map +7 -1
  116. package/lib/cli/configure/modules/index.js +53 -28
  117. package/lib/cli/configure/modules/index.js.map +7 -1
  118. package/lib/cli/configure/modules/jest.js +82 -47
  119. package/lib/cli/configure/modules/jest.js.map +7 -1
  120. package/lib/cli/configure/modules/nodemon.js +29 -6
  121. package/lib/cli/configure/modules/nodemon.js.map +7 -1
  122. package/lib/cli/configure/modules/package.js +113 -92
  123. package/lib/cli/configure/modules/package.js.map +7 -1
  124. package/lib/cli/configure/modules/prettier.js +48 -19
  125. package/lib/cli/configure/modules/prettier.js.map +7 -1
  126. package/lib/cli/configure/modules/renovate.js +52 -39
  127. package/lib/cli/configure/modules/renovate.js.map +7 -1
  128. package/lib/cli/configure/modules/serverless.js +33 -15
  129. package/lib/cli/configure/modules/serverless.js.map +7 -1
  130. package/lib/cli/configure/modules/skubaDive.js +63 -37
  131. package/lib/cli/configure/modules/skubaDive.js.map +7 -1
  132. package/lib/cli/configure/modules/tsconfig.js +84 -63
  133. package/lib/cli/configure/modules/tsconfig.js.map +7 -1
  134. package/lib/cli/configure/modules/tslint.js +29 -6
  135. package/lib/cli/configure/modules/tslint.js.map +7 -1
  136. package/lib/cli/configure/processing/deleteFiles.js +30 -8
  137. package/lib/cli/configure/processing/deleteFiles.js.map +7 -1
  138. package/lib/cli/configure/processing/ignoreFile.js +65 -59
  139. package/lib/cli/configure/processing/ignoreFile.js.map +7 -1
  140. package/lib/cli/configure/processing/javascript.js +35 -15
  141. package/lib/cli/configure/processing/javascript.js.map +7 -1
  142. package/lib/cli/configure/processing/json.js +51 -20
  143. package/lib/cli/configure/processing/json.js.map +7 -1
  144. package/lib/cli/configure/processing/loadFiles.js +30 -8
  145. package/lib/cli/configure/processing/loadFiles.js.map +7 -1
  146. package/lib/cli/configure/processing/module.js +37 -14
  147. package/lib/cli/configure/processing/module.js.map +7 -1
  148. package/lib/cli/configure/processing/package.js +73 -43
  149. package/lib/cli/configure/processing/package.js.map +7 -1
  150. package/lib/cli/configure/processing/prettier.js +37 -11
  151. package/lib/cli/configure/processing/prettier.js.map +7 -1
  152. package/lib/cli/configure/processing/record.js +54 -31
  153. package/lib/cli/configure/processing/record.js.map +7 -1
  154. package/lib/cli/configure/processing/typescript.js +176 -158
  155. package/lib/cli/configure/processing/typescript.js.map +7 -1
  156. package/lib/cli/configure/refreshIgnoreFiles.js +64 -40
  157. package/lib/cli/configure/refreshIgnoreFiles.js.map +7 -1
  158. package/lib/cli/configure/types.js +16 -2
  159. package/lib/cli/configure/types.js.map +7 -1
  160. package/lib/cli/format.js +58 -31
  161. package/lib/cli/format.js.map +7 -1
  162. package/lib/cli/help.js +31 -8
  163. package/lib/cli/help.js.map +7 -1
  164. package/lib/cli/init/getConfig.d.ts +1 -1
  165. package/lib/cli/init/getConfig.js +238 -207
  166. package/lib/cli/init/getConfig.js.map +7 -1
  167. package/lib/cli/init/git.js +70 -63
  168. package/lib/cli/init/git.js.map +7 -1
  169. package/lib/cli/init/index.js +133 -100
  170. package/lib/cli/init/index.js.map +7 -1
  171. package/lib/cli/init/prompts.js +84 -54
  172. package/lib/cli/init/prompts.js.map +7 -1
  173. package/lib/cli/init/types.js +52 -52
  174. package/lib/cli/init/types.js.map +7 -1
  175. package/lib/cli/init/validation.js +34 -12
  176. package/lib/cli/init/validation.js.map +7 -1
  177. package/lib/cli/init/writePackageJson.js +51 -22
  178. package/lib/cli/init/writePackageJson.js.map +7 -1
  179. package/lib/cli/lint/annotate/buildkite/eslint.js +34 -28
  180. package/lib/cli/lint/annotate/buildkite/eslint.js.map +7 -1
  181. package/lib/cli/lint/annotate/buildkite/index.js +50 -44
  182. package/lib/cli/lint/annotate/buildkite/index.js.map +7 -1
  183. package/lib/cli/lint/annotate/buildkite/prettier.js +41 -35
  184. package/lib/cli/lint/annotate/buildkite/prettier.js.map +7 -1
  185. package/lib/cli/lint/annotate/buildkite/tsc.js +39 -39
  186. package/lib/cli/lint/annotate/buildkite/tsc.js.map +7 -1
  187. package/lib/cli/lint/annotate/github/eslint.js +40 -16
  188. package/lib/cli/lint/annotate/github/eslint.js.map +7 -1
  189. package/lib/cli/lint/annotate/github/index.js +55 -51
  190. package/lib/cli/lint/annotate/github/index.js.map +7 -1
  191. package/lib/cli/lint/annotate/github/prettier.js +36 -13
  192. package/lib/cli/lint/annotate/github/prettier.js.map +7 -1
  193. package/lib/cli/lint/annotate/github/tsc.js +52 -52
  194. package/lib/cli/lint/annotate/github/tsc.js.map +7 -1
  195. package/lib/cli/lint/annotate/index.d.ts +1 -1
  196. package/lib/cli/lint/annotate/index.js +33 -10
  197. package/lib/cli/lint/annotate/index.js.map +7 -1
  198. package/lib/cli/lint/autofix.js +122 -117
  199. package/lib/cli/lint/autofix.js.map +7 -1
  200. package/lib/cli/lint/eslint.js +48 -18
  201. package/lib/cli/lint/eslint.js.map +7 -1
  202. package/lib/cli/lint/external.js +102 -81
  203. package/lib/cli/lint/external.js.map +7 -1
  204. package/lib/cli/lint/index.js +42 -18
  205. package/lib/cli/lint/index.js.map +7 -1
  206. package/lib/cli/lint/internal.js +54 -21
  207. package/lib/cli/lint/internal.js.map +7 -1
  208. package/lib/cli/lint/prettier.js +48 -18
  209. package/lib/cli/lint/prettier.js.map +7 -1
  210. package/lib/cli/lint/tsc.js +56 -32
  211. package/lib/cli/lint/tsc.js.map +7 -1
  212. package/lib/cli/lint/types.js +16 -2
  213. package/lib/cli/lint/types.js.map +7 -1
  214. package/lib/cli/node.js +65 -58
  215. package/lib/cli/node.js.map +7 -1
  216. package/lib/cli/release.js +29 -6
  217. package/lib/cli/release.js.map +7 -1
  218. package/lib/cli/start.js +61 -24
  219. package/lib/cli/start.js.map +7 -1
  220. package/lib/cli/test/index.js +35 -11
  221. package/lib/cli/test/index.js.map +7 -1
  222. package/lib/cli/test/reporters/github/annotations.js +89 -92
  223. package/lib/cli/test/reporters/github/annotations.js.map +7 -1
  224. package/lib/cli/test/reporters/github/index.js +68 -68
  225. package/lib/cli/test/reporters/github/index.js.map +7 -1
  226. package/lib/cli/version.js +31 -8
  227. package/lib/cli/version.js.map +7 -1
  228. package/lib/enquirer.d.js +2 -0
  229. package/lib/enquirer.d.js.map +7 -0
  230. package/lib/index.d.ts +6 -0
  231. package/lib/index.js +45 -41
  232. package/lib/index.js.map +7 -1
  233. package/lib/skuba.js +45 -38
  234. package/lib/skuba.js.map +7 -1
  235. package/lib/utils/args.js +97 -96
  236. package/lib/utils/args.js.map +7 -1
  237. package/lib/utils/command.js +64 -33
  238. package/lib/utils/command.js.map +7 -1
  239. package/lib/utils/copy.js +88 -51
  240. package/lib/utils/copy.js.map +7 -1
  241. package/lib/utils/dir.js +79 -67
  242. package/lib/utils/dir.js.map +7 -1
  243. package/lib/utils/env.js +27 -7
  244. package/lib/utils/env.js.map +7 -1
  245. package/lib/utils/error.js +58 -56
  246. package/lib/utils/error.js.map +7 -1
  247. package/lib/utils/exec.js +139 -110
  248. package/lib/utils/exec.js.map +7 -1
  249. package/lib/utils/help.js +31 -8
  250. package/lib/utils/help.js.map +7 -1
  251. package/lib/utils/logging.js +52 -24
  252. package/lib/utils/logging.js.map +7 -1
  253. package/lib/utils/logo.js +65 -27
  254. package/lib/utils/logo.js.map +7 -1
  255. package/lib/utils/manifest.d.ts +1 -0
  256. package/lib/utils/manifest.js +65 -51
  257. package/lib/utils/manifest.js.map +7 -1
  258. package/lib/utils/port.js +38 -17
  259. package/lib/utils/port.js.map +7 -1
  260. package/lib/utils/template.js +106 -87
  261. package/lib/utils/template.js.map +7 -1
  262. package/lib/utils/validation.js +43 -18
  263. package/lib/utils/validation.js.map +7 -1
  264. package/lib/utils/version.js +72 -82
  265. package/lib/utils/version.js.map +7 -1
  266. package/lib/utils/wait.js +52 -25
  267. package/lib/utils/wait.js.map +7 -1
  268. package/lib/utils/worker.js +59 -44
  269. package/lib/utils/worker.js.map +7 -1
  270. package/lib/wrapper/function-arguments.d.js +2 -0
  271. package/lib/wrapper/function-arguments.d.js.map +7 -0
  272. package/lib/wrapper/functionHandler.js +56 -29
  273. package/lib/wrapper/functionHandler.js.map +7 -1
  274. package/lib/wrapper/http.js +66 -56
  275. package/lib/wrapper/http.js.map +7 -1
  276. package/lib/wrapper/index.js +9 -21
  277. package/lib/wrapper/index.js.map +7 -1
  278. package/lib/wrapper/main.js +39 -20
  279. package/lib/wrapper/main.js.map +7 -1
  280. package/lib/wrapper/requestListener.js +50 -35
  281. package/lib/wrapper/requestListener.js.map +7 -1
  282. package/package.json +85 -79
  283. package/template/base/jest.config.ts +0 -6
  284. package/template/base/jest.setup.ts +2 -0
  285. package/template/base/tsconfig.json +2 -2
  286. package/template/express-rest-api/.buildkite/pipeline.yml +1 -1
  287. package/template/express-rest-api/.nvmrc +1 -1
  288. package/template/express-rest-api/Dockerfile +1 -1
  289. package/template/express-rest-api/Dockerfile.dev-deps +1 -1
  290. package/template/express-rest-api/package.json +14 -14
  291. package/template/greeter/.buildkite/pipeline.yml +1 -1
  292. package/template/greeter/.nvmrc +1 -1
  293. package/template/greeter/Dockerfile +1 -1
  294. package/template/greeter/package.json +11 -11
  295. package/template/greeter/src/app.test.ts +3 -1
  296. package/template/koa-rest-api/.buildkite/pipeline.yml +1 -1
  297. package/template/koa-rest-api/.nvmrc +1 -1
  298. package/template/koa-rest-api/Dockerfile +1 -1
  299. package/template/koa-rest-api/Dockerfile.dev-deps +1 -1
  300. package/template/koa-rest-api/package.json +20 -21
  301. package/template/koa-rest-api/src/api/jobs/postJob.test.ts +3 -7
  302. package/template/koa-rest-api/src/api/jobs/postJob.ts +2 -2
  303. package/template/koa-rest-api/src/framework/validation.test.ts +17 -15
  304. package/template/koa-rest-api/src/framework/validation.ts +66 -12
  305. package/template/koa-rest-api/src/testing/types.ts +5 -10
  306. package/template/koa-rest-api/src/types/jobs.ts +5 -10
  307. package/template/lambda-sqs-worker/.buildkite/pipeline.yml +4 -4
  308. package/template/lambda-sqs-worker/Dockerfile +1 -1
  309. package/template/lambda-sqs-worker/package.json +16 -20
  310. package/template/lambda-sqs-worker/src/app.ts +2 -2
  311. package/template/lambda-sqs-worker/src/framework/validation.test.ts +37 -17
  312. package/template/lambda-sqs-worker/src/framework/validation.ts +10 -2
  313. package/template/lambda-sqs-worker/src/services/jobScorer.ts +2 -2
  314. package/template/lambda-sqs-worker/src/testing/types.ts +5 -10
  315. package/template/lambda-sqs-worker/src/types/jobScorer.ts +9 -16
  316. package/template/lambda-sqs-worker/src/types/pipelineEvents.ts +13 -20
  317. package/template/lambda-sqs-worker/tsconfig.json +13 -0
  318. package/template/lambda-sqs-worker-cdk/.buildkite/pipeline.yml +4 -4
  319. package/template/lambda-sqs-worker-cdk/Dockerfile +1 -1
  320. package/template/lambda-sqs-worker-cdk/infra/__snapshots__/appStack.test.ts.snap +6 -0
  321. package/template/lambda-sqs-worker-cdk/infra/appStack.ts +3 -3
  322. package/template/lambda-sqs-worker-cdk/infra/index.ts +2 -2
  323. package/template/lambda-sqs-worker-cdk/package.json +14 -14
  324. package/template/lambda-sqs-worker-cdk/shared/context-types.ts +16 -25
  325. package/template/lambda-sqs-worker-cdk/tsconfig.json +13 -0
  326. package/template/oss-npm-package/.nvmrc +1 -1
  327. package/template/oss-npm-package/_package.json +1 -1
  328. package/template/private-npm-package/.nvmrc +1 -1
  329. package/template/private-npm-package/_package.json +1 -1
  330. package/jest/resolver.js +0 -24
@@ -1,29 +1,60 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eslintModule = void 0;
4
- const template_1 = require("../../../utils/template");
5
- const deleteFiles_1 = require("../processing/deleteFiles");
6
- const ignoreFile_1 = require("../processing/ignoreFile");
7
- const package_1 = require("../processing/package");
8
- const prettier_1 = require("../processing/prettier");
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var eslint_exports = {};
20
+ __export(eslint_exports, {
21
+ eslintModule: () => eslintModule
22
+ });
23
+ module.exports = __toCommonJS(eslint_exports);
24
+ var import_template = require("../../../utils/template");
25
+ var import_deleteFiles = require("../processing/deleteFiles");
26
+ var import_ignoreFile = require("../processing/ignoreFile");
27
+ var import_package = require("../processing/package");
28
+ var import_prettier = require("../processing/prettier");
9
29
  const eslintModule = async () => {
10
- const [configFile, ignoreFile] = await Promise.all([
11
- (0, template_1.readBaseTemplateFile)('_.eslintrc.js'),
12
- (0, template_1.readBaseTemplateFile)('_.eslintignore'),
13
- ]);
14
- return {
15
- ...(0, deleteFiles_1.deleteFiles)('.eslintrc.cjs', '.eslintrc.yaml', '.eslintrc.yml', '.eslintrc.json', '.eslintrc'),
16
- // allow customised ESLint configs that extend skuba
17
- '.eslintrc.js': (inputFile) => {
18
- if (inputFile?.includes('skuba')) {
19
- const processedFile = inputFile.replace(/require.resolve\(['"](@seek\/)?skuba\/config\/eslint['"]\)/, "'skuba'");
20
- return (0, prettier_1.formatPrettier)(processedFile, { parser: 'typescript' });
21
- }
22
- return configFile;
23
- },
24
- '.eslintignore': (0, ignoreFile_1.mergeWithIgnoreFile)(ignoreFile),
25
- 'package.json': (0, package_1.withPackage)(({ eslintConfig, ...data }) => data),
26
- };
30
+ const [configFile, ignoreFile] = await Promise.all([
31
+ (0, import_template.readBaseTemplateFile)("_.eslintrc.js"),
32
+ (0, import_template.readBaseTemplateFile)("_.eslintignore")
33
+ ]);
34
+ return {
35
+ ...(0, import_deleteFiles.deleteFiles)(
36
+ ".eslintrc.cjs",
37
+ ".eslintrc.yaml",
38
+ ".eslintrc.yml",
39
+ ".eslintrc.json",
40
+ ".eslintrc"
41
+ ),
42
+ ".eslintrc.js": (inputFile) => {
43
+ if (inputFile?.includes("skuba")) {
44
+ const processedFile = inputFile.replace(
45
+ /require.resolve\(['"](@seek\/)?skuba\/config\/eslint['"]\)/,
46
+ "'skuba'"
47
+ );
48
+ return (0, import_prettier.formatPrettier)(processedFile, { parser: "typescript" });
49
+ }
50
+ return configFile;
51
+ },
52
+ ".eslintignore": (0, import_ignoreFile.mergeWithIgnoreFile)(ignoreFile),
53
+ "package.json": (0, import_package.withPackage)(({ eslintConfig, ...data }) => data)
54
+ };
27
55
  };
28
- exports.eslintModule = eslintModule;
29
- //# sourceMappingURL=eslint.js.map
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ eslintModule
59
+ });
60
+ //# sourceMappingURL=eslint.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/eslint.ts"],"names":[],"mappings":";;;AAAA,sDAA+D;AAC/D,2DAAwD;AACxD,yDAA+D;AAC/D,mDAAoD;AACpD,qDAAwD;AAGjD,MAAM,YAAY,GAAG,KAAK,IAAqB,EAAE;IACtD,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjD,IAAA,+BAAoB,EAAC,eAAe,CAAC;QACrC,IAAA,+BAAoB,EAAC,gBAAgB,CAAC;KACvC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,IAAA,yBAAW,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,WAAW,CACZ;QAED,oDAAoD;QACpD,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE;YAC5B,IAAI,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAChC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CACrC,4DAA4D,EAC5D,SAAS,CACV,CAAC;gBAEF,OAAO,IAAA,yBAAc,EAAC,aAAa,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;aAChE;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,eAAe,EAAE,IAAA,gCAAmB,EAAC,UAAU,CAAC;QAEhD,cAAc,EAAE,IAAA,qBAAW,EAAC,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;KACjE,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,YAAY,gBAiCvB"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/configure/modules/eslint.ts"],
4
+ "sourcesContent": ["import { readBaseTemplateFile } from '../../../utils/template';\nimport { deleteFiles } from '../processing/deleteFiles';\nimport { mergeWithIgnoreFile } from '../processing/ignoreFile';\nimport { withPackage } from '../processing/package';\nimport { formatPrettier } from '../processing/prettier';\nimport type { Module } from '../types';\n\nexport const eslintModule = async (): Promise<Module> => {\n const [configFile, ignoreFile] = await Promise.all([\n readBaseTemplateFile('_.eslintrc.js'),\n readBaseTemplateFile('_.eslintignore'),\n ]);\n\n return {\n ...deleteFiles(\n '.eslintrc.cjs',\n '.eslintrc.yaml',\n '.eslintrc.yml',\n '.eslintrc.json',\n '.eslintrc',\n ),\n\n // allow customised ESLint configs that extend skuba\n '.eslintrc.js': (inputFile) => {\n if (inputFile?.includes('skuba')) {\n const processedFile = inputFile.replace(\n /require.resolve\\(['\"](@seek\\/)?skuba\\/config\\/eslint['\"]\\)/,\n \"'skuba'\",\n );\n\n return formatPrettier(processedFile, { parser: 'typescript' });\n }\n\n return configFile;\n },\n\n '.eslintignore': mergeWithIgnoreFile(ignoreFile),\n\n 'package.json': withPackage(({ eslintConfig, ...data }) => data),\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAqC;AACrC,yBAA4B;AAC5B,wBAAoC;AACpC,qBAA4B;AAC5B,sBAA+B;AAGxB,MAAM,eAAe,YAA6B;AACvD,QAAM,CAAC,YAAY,UAAU,IAAI,MAAM,QAAQ,IAAI;AAAA,QACjD,sCAAqB,eAAe;AAAA,QACpC,sCAAqB,gBAAgB;AAAA,EACvC,CAAC;AAED,SAAO;AAAA,IACL,OAAG;AAAA,MACD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IAGA,gBAAgB,CAAC,cAAc;AAC7B,UAAI,WAAW,SAAS,OAAO,GAAG;AAChC,cAAM,gBAAgB,UAAU;AAAA,UAC9B;AAAA,UACA;AAAA,QACF;AAEA,mBAAO,gCAAe,eAAe,EAAE,QAAQ,aAAa,CAAC;AAAA,MAC/D;AAEA,aAAO;AAAA,IACT;AAAA,IAEA,qBAAiB,uCAAoB,UAAU;AAAA,IAE/C,oBAAgB,4BAAY,CAAC,EAAE,iBAAiB,KAAK,MAAM,IAAI;AAAA,EACjE;AACF;",
6
+ "names": []
7
+ }
@@ -1,17 +1,40 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ignoreModule = void 0;
4
- const template_1 = require("../../../utils/template");
5
- const ignoreFile_1 = require("../processing/ignoreFile");
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var ignore_exports = {};
20
+ __export(ignore_exports, {
21
+ ignoreModule: () => ignoreModule
22
+ });
23
+ module.exports = __toCommonJS(ignore_exports);
24
+ var import_template = require("../../../utils/template");
25
+ var import_ignoreFile = require("../processing/ignoreFile");
6
26
  const ignoreModule = async () => {
7
- const [dockerFile, gitFile] = await Promise.all([
8
- (0, template_1.readBaseTemplateFile)('_.dockerignore'),
9
- (0, template_1.readBaseTemplateFile)('_.gitignore'),
10
- ]);
11
- return {
12
- '.dockerignore': (0, ignoreFile_1.mergeWithIgnoreFile)(dockerFile),
13
- '.gitignore': (0, ignoreFile_1.mergeWithIgnoreFile)(gitFile),
14
- };
27
+ const [dockerFile, gitFile] = await Promise.all([
28
+ (0, import_template.readBaseTemplateFile)("_.dockerignore"),
29
+ (0, import_template.readBaseTemplateFile)("_.gitignore")
30
+ ]);
31
+ return {
32
+ ".dockerignore": (0, import_ignoreFile.mergeWithIgnoreFile)(dockerFile),
33
+ ".gitignore": (0, import_ignoreFile.mergeWithIgnoreFile)(gitFile)
34
+ };
15
35
  };
16
- exports.ignoreModule = ignoreModule;
17
- //# sourceMappingURL=ignore.js.map
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ ignoreModule
39
+ });
40
+ //# sourceMappingURL=ignore.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/ignore.ts"],"names":[],"mappings":";;;AAAA,sDAA+D;AAC/D,yDAA+D;AAGxD,MAAM,YAAY,GAAG,KAAK,IAAqB,EAAE;IACtD,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,IAAA,+BAAoB,EAAC,gBAAgB,CAAC;QACtC,IAAA,+BAAoB,EAAC,aAAa,CAAC;KACpC,CAAC,CAAC;IAEH,OAAO;QACL,eAAe,EAAE,IAAA,gCAAmB,EAAC,UAAU,CAAC;QAEhD,YAAY,EAAE,IAAA,gCAAmB,EAAC,OAAO,CAAC;KAC3C,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,YAAY,gBAWvB"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/configure/modules/ignore.ts"],
4
+ "sourcesContent": ["import { readBaseTemplateFile } from '../../../utils/template';\nimport { mergeWithIgnoreFile } from '../processing/ignoreFile';\nimport type { Module } from '../types';\n\nexport const ignoreModule = async (): Promise<Module> => {\n const [dockerFile, gitFile] = await Promise.all([\n readBaseTemplateFile('_.dockerignore'),\n readBaseTemplateFile('_.gitignore'),\n ]);\n\n return {\n '.dockerignore': mergeWithIgnoreFile(dockerFile),\n\n '.gitignore': mergeWithIgnoreFile(gitFile),\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAqC;AACrC,wBAAoC;AAG7B,MAAM,eAAe,YAA6B;AACvD,QAAM,CAAC,YAAY,OAAO,IAAI,MAAM,QAAQ,IAAI;AAAA,QAC9C,sCAAqB,gBAAgB;AAAA,QACrC,sCAAqB,aAAa;AAAA,EACpC,CAAC;AAED,SAAO;AAAA,IACL,qBAAiB,uCAAoB,UAAU;AAAA,IAE/C,kBAAc,uCAAoB,OAAO;AAAA,EAC3C;AACF;",
6
+ "names": []
7
+ }
@@ -1,29 +1,54 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadModules = void 0;
4
- const eslint_1 = require("./eslint");
5
- const ignore_1 = require("./ignore");
6
- const jest_1 = require("./jest");
7
- const nodemon_1 = require("./nodemon");
8
- const package_1 = require("./package");
9
- const prettier_1 = require("./prettier");
10
- const renovate_1 = require("./renovate");
11
- const serverless_1 = require("./serverless");
12
- const skubaDive_1 = require("./skubaDive");
13
- const tsconfig_1 = require("./tsconfig");
14
- const tslint_1 = require("./tslint");
15
- const loadModules = (opts) => Promise.all([
16
- eslint_1.eslintModule,
17
- ignore_1.ignoreModule,
18
- jest_1.jestModule,
19
- nodemon_1.nodemonModule,
20
- package_1.packageModule,
21
- prettier_1.prettierModule,
22
- renovate_1.renovateModule,
23
- serverless_1.serverlessModule,
24
- skubaDive_1.skubaDiveModule,
25
- tsconfig_1.tsconfigModule,
26
- tslint_1.tslintModule,
27
- ].map((createModule) => createModule(opts)));
28
- exports.loadModules = loadModules;
29
- //# sourceMappingURL=index.js.map
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var modules_exports = {};
20
+ __export(modules_exports, {
21
+ loadModules: () => loadModules
22
+ });
23
+ module.exports = __toCommonJS(modules_exports);
24
+ var import_eslint = require("./eslint");
25
+ var import_ignore = require("./ignore");
26
+ var import_jest = require("./jest");
27
+ var import_nodemon = require("./nodemon");
28
+ var import_package = require("./package");
29
+ var import_prettier = require("./prettier");
30
+ var import_renovate = require("./renovate");
31
+ var import_serverless = require("./serverless");
32
+ var import_skubaDive = require("./skubaDive");
33
+ var import_tsconfig = require("./tsconfig");
34
+ var import_tslint = require("./tslint");
35
+ const loadModules = (opts) => Promise.all(
36
+ [
37
+ import_eslint.eslintModule,
38
+ import_ignore.ignoreModule,
39
+ import_jest.jestModule,
40
+ import_nodemon.nodemonModule,
41
+ import_package.packageModule,
42
+ import_prettier.prettierModule,
43
+ import_renovate.renovateModule,
44
+ import_serverless.serverlessModule,
45
+ import_skubaDive.skubaDiveModule,
46
+ import_tsconfig.tsconfigModule,
47
+ import_tslint.tslintModule
48
+ ].map((createModule) => createModule(opts))
49
+ );
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ loadModules
53
+ });
54
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/index.ts"],"names":[],"mappings":";;;AAEA,qCAAwC;AACxC,qCAAwC;AACxC,iCAAoC;AACpC,uCAA0C;AAC1C,uCAA0C;AAC1C,yCAA4C;AAC5C,yCAA4C;AAC5C,6CAAgD;AAChD,2CAA8C;AAC9C,yCAA4C;AAC5C,qCAAwC;AAEjC,MAAM,WAAW,GAAG,CAAC,IAAa,EAAqB,EAAE,CAC9D,OAAO,CAAC,GAAG,CACT;IACE,qBAAY;IACZ,qBAAY;IACZ,iBAAU;IACV,uBAAa;IACb,uBAAa;IACb,yBAAc;IACd,yBAAc;IACd,6BAAgB;IAChB,2BAAe;IACf,yBAAc;IACd,qBAAY;CACb,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAC5C,CAAC;AAfS,QAAA,WAAW,eAepB"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/configure/modules/index.ts"],
4
+ "sourcesContent": ["import type { Module, Options } from '../types';\n\nimport { eslintModule } from './eslint';\nimport { ignoreModule } from './ignore';\nimport { jestModule } from './jest';\nimport { nodemonModule } from './nodemon';\nimport { packageModule } from './package';\nimport { prettierModule } from './prettier';\nimport { renovateModule } from './renovate';\nimport { serverlessModule } from './serverless';\nimport { skubaDiveModule } from './skubaDive';\nimport { tsconfigModule } from './tsconfig';\nimport { tslintModule } from './tslint';\n\nexport const loadModules = (opts: Options): Promise<Module[]> =>\n Promise.all(\n [\n eslintModule,\n ignoreModule,\n jestModule,\n nodemonModule,\n packageModule,\n prettierModule,\n renovateModule,\n serverlessModule,\n skubaDiveModule,\n tsconfigModule,\n tslintModule,\n ].map((createModule) => createModule(opts)),\n );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA6B;AAC7B,oBAA6B;AAC7B,kBAA2B;AAC3B,qBAA8B;AAC9B,qBAA8B;AAC9B,sBAA+B;AAC/B,sBAA+B;AAC/B,wBAAiC;AACjC,uBAAgC;AAChC,sBAA+B;AAC/B,oBAA6B;AAEtB,MAAM,cAAc,CAAC,SAC1B,QAAQ;AAAA,EACN;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,IAAI,CAAC,iBAAiB,aAAa,IAAI,CAAC;AAC5C;",
6
+ "names": []
7
+ }
@@ -1,51 +1,86 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jestModule = void 0;
4
- const template_1 = require("../../../utils/template");
5
- const deleteFiles_1 = require("../processing/deleteFiles");
6
- const loadFiles_1 = require("../processing/loadFiles");
7
- const package_1 = require("../processing/package");
8
- const typescript_1 = require("../processing/typescript");
9
- // Jest options to preserve during migration
10
- const filterProps = (0, typescript_1.createPropFilter)([
11
- 'collectCoverageFrom',
12
- 'coverageThreshold',
13
- 'globalSetup',
14
- 'globalTeardown',
15
- 'setupFiles',
16
- 'setupFilesAfterEnv',
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var jest_exports = {};
20
+ __export(jest_exports, {
21
+ jestModule: () => jestModule
22
+ });
23
+ module.exports = __toCommonJS(jest_exports);
24
+ var import_template = require("../../../utils/template");
25
+ var import_deleteFiles = require("../processing/deleteFiles");
26
+ var import_package = require("../processing/package");
27
+ var import_typescript = require("../processing/typescript");
28
+ const OUTDATED_ISOLATED_MODULES_CONFIG_SNIPPETS = [
29
+ `
30
+ globals: {
31
+ 'ts-jest': {
32
+ // seek-oss/skuba#626
33
+ isolatedModules: true,
34
+ },
35
+ },`,
36
+ `
37
+ globals: {
38
+ 'ts-jest': {
39
+ isolatedModules: true,
40
+ },
41
+ },`
42
+ ];
43
+ const filterProps = (0, import_typescript.createPropFilter)([
44
+ "collectCoverageFrom",
45
+ "coverageThreshold",
46
+ "globalSetup",
47
+ "globalTeardown",
48
+ "setupFiles",
49
+ "setupFilesAfterEnv"
17
50
  ]);
18
51
  const jestModule = async () => {
19
- const [configFile, setupFile] = await Promise.all([
20
- (0, template_1.readBaseTemplateFile)('jest.config.ts'),
21
- (0, template_1.readBaseTemplateFile)('jest.setup.ts'),
22
- ]);
23
- return {
24
- ...(0, deleteFiles_1.deleteFiles)('jest.config.js'),
25
- ...(0, loadFiles_1.loadFiles)('jest.setup.js'),
26
- 'jest.config.ts': (tsFile, currentFiles, initialFiles) => {
27
- // Allow customised TS Jest config that extends skuba
28
- if (tsFile?.includes('skuba')) {
29
- return tsFile;
30
- }
31
- const jsFile = initialFiles['jest.config.js'];
32
- // Migrate a JS config that extends skuba, retaining all existing props
33
- if (jsFile?.includes('skuba')) {
34
- return (0, typescript_1.transformModuleImportsAndExports)(jsFile, (_, p) => p);
35
- }
36
- currentFiles['jest.setup.ts'] ?? (currentFiles['jest.setup.ts'] = setupFile);
37
- const inputFile = tsFile ?? jsFile;
38
- const props = inputFile === undefined ? undefined : (0, typescript_1.readModuleExports)(inputFile);
39
- if (props === undefined) {
40
- return configFile;
41
- }
42
- const filteredProps = filterProps(null, props);
43
- const appendProps = (0, typescript_1.createPropAppender)(filteredProps);
44
- // Append a subset of custom props to our base `jest.config.ts`
45
- return (0, typescript_1.transformModuleImportsAndExports)(configFile, appendProps);
46
- },
47
- 'package.json': (0, package_1.withPackage)(({ jest, ...data }) => data),
48
- };
52
+ const [configFile, setupFile] = await Promise.all([
53
+ (0, import_template.readBaseTemplateFile)("jest.config.ts"),
54
+ (0, import_template.readBaseTemplateFile)("jest.setup.ts")
55
+ ]);
56
+ return {
57
+ ...(0, import_deleteFiles.deleteFiles)("jest.config.js", "jest.setup.js"),
58
+ "jest.config.ts": (tsFile, currentFiles, initialFiles) => {
59
+ if (tsFile?.includes("skuba")) {
60
+ return OUTDATED_ISOLATED_MODULES_CONFIG_SNIPPETS.reduce(
61
+ (acc, snippet) => acc.replace(snippet, ""),
62
+ tsFile
63
+ );
64
+ }
65
+ const jsFile = initialFiles["jest.config.js"];
66
+ if (jsFile?.includes("skuba")) {
67
+ return (0, import_typescript.transformModuleImportsAndExports)(jsFile, (_, p) => p);
68
+ }
69
+ currentFiles["jest.setup.ts"] ?? (currentFiles["jest.setup.ts"] = initialFiles["jest.setup.js"] ?? setupFile);
70
+ const inputFile = tsFile ?? jsFile;
71
+ const props = inputFile === void 0 ? void 0 : (0, import_typescript.readModuleExports)(inputFile);
72
+ if (props === void 0) {
73
+ return configFile;
74
+ }
75
+ const filteredProps = filterProps(null, props);
76
+ const appendProps = (0, import_typescript.createPropAppender)(filteredProps);
77
+ return (0, import_typescript.transformModuleImportsAndExports)(configFile, appendProps);
78
+ },
79
+ "package.json": (0, import_package.withPackage)(({ jest, ...data }) => data)
80
+ };
49
81
  };
50
- exports.jestModule = jestModule;
51
- //# sourceMappingURL=jest.js.map
82
+ // Annotate the CommonJS export names for ESM import in node:
83
+ 0 && (module.exports = {
84
+ jestModule
85
+ });
86
+ //# sourceMappingURL=jest.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"jest.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/jest.ts"],"names":[],"mappings":";;;AAAA,sDAA+D;AAC/D,2DAAwD;AACxD,uDAAoD;AACpD,mDAAoD;AACpD,yDAKkC;AAGlC,4CAA4C;AAC5C,MAAM,WAAW,GAAG,IAAA,6BAAgB,EAAC;IACnC,qBAAqB;IACrB,mBAAmB;IACnB,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,oBAAoB;CACrB,CAAC,CAAC;AAEI,MAAM,UAAU,GAAG,KAAK,IAAqB,EAAE;IACpD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,IAAA,+BAAoB,EAAC,gBAAgB,CAAC;QACtC,IAAA,+BAAoB,EAAC,eAAe,CAAC;KACtC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,IAAA,yBAAW,EAAC,gBAAgB,CAAC;QAChC,GAAG,IAAA,qBAAS,EAAC,eAAe,CAAC;QAE7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE;YACvD,qDAAqD;YACrD,IAAI,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC7B,OAAO,MAAM,CAAC;aACf;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAE9C,uEAAuE;YACvE,IAAI,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC7B,OAAO,IAAA,6CAAgC,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9D;YAED,YAAY,CAAC,eAAe,MAA5B,YAAY,CAAC,eAAe,IAAM,SAAS,EAAC;YAE5C,MAAM,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC;YAEnC,MAAM,KAAK,GACT,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,8BAAiB,EAAC,SAAS,CAAC,CAAC;YAErE,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,OAAO,UAAU,CAAC;aACnB;YAED,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE/C,MAAM,WAAW,GAAG,IAAA,+BAAkB,EAAC,aAAa,CAAC,CAAC;YAEtD,+DAA+D;YAC/D,OAAO,IAAA,6CAAgC,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC;QAED,cAAc,EAAE,IAAA,qBAAW,EAAC,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,UAAU,cA4CrB"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/configure/modules/jest.ts"],
4
+ "sourcesContent": ["import { readBaseTemplateFile } from '../../../utils/template';\nimport { deleteFiles } from '../processing/deleteFiles';\nimport { withPackage } from '../processing/package';\nimport {\n createPropAppender,\n createPropFilter,\n readModuleExports,\n transformModuleImportsAndExports,\n} from '../processing/typescript';\nimport type { Module } from '../types';\n\nconst OUTDATED_ISOLATED_MODULES_CONFIG_SNIPPETS = [\n `\n globals: {\n 'ts-jest': {\n // seek-oss/skuba#626\n isolatedModules: true,\n },\n },`,\n `\n globals: {\n 'ts-jest': {\n isolatedModules: true,\n },\n },`,\n];\n\n// Jest options to preserve during migration\nconst filterProps = createPropFilter([\n 'collectCoverageFrom',\n 'coverageThreshold',\n 'globalSetup',\n 'globalTeardown',\n 'setupFiles',\n 'setupFilesAfterEnv',\n]);\n\nexport const jestModule = async (): Promise<Module> => {\n const [configFile, setupFile] = await Promise.all([\n readBaseTemplateFile('jest.config.ts'),\n readBaseTemplateFile('jest.setup.ts'),\n ]);\n\n return {\n ...deleteFiles('jest.config.js', 'jest.setup.js'),\n\n 'jest.config.ts': (tsFile, currentFiles, initialFiles) => {\n // Allow customised TS Jest config that extends skuba\n if (tsFile?.includes('skuba')) {\n return OUTDATED_ISOLATED_MODULES_CONFIG_SNIPPETS.reduce(\n (acc, snippet) => acc.replace(snippet, ''),\n tsFile,\n );\n }\n\n const jsFile = initialFiles['jest.config.js'];\n\n // Migrate a JS config that extends skuba, retaining all existing props\n if (jsFile?.includes('skuba')) {\n return transformModuleImportsAndExports(jsFile, (_, p) => p);\n }\n\n currentFiles['jest.setup.ts'] ??=\n initialFiles['jest.setup.js'] ?? setupFile;\n\n const inputFile = tsFile ?? jsFile;\n\n const props =\n inputFile === undefined ? undefined : readModuleExports(inputFile);\n\n if (props === undefined) {\n return configFile;\n }\n\n const filteredProps = filterProps(null, props);\n\n const appendProps = createPropAppender(filteredProps);\n\n // Append a subset of custom props to our base `jest.config.ts`\n return transformModuleImportsAndExports(configFile, appendProps);\n },\n\n 'package.json': withPackage(({ jest, ...data }) => data),\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAqC;AACrC,yBAA4B;AAC5B,qBAA4B;AAC5B,wBAKO;AAGP,MAAM,4CAA4C;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMF;AAGA,MAAM,kBAAc,oCAAiB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,MAAM,aAAa,YAA6B;AACrD,QAAM,CAAC,YAAY,SAAS,IAAI,MAAM,QAAQ,IAAI;AAAA,QAChD,sCAAqB,gBAAgB;AAAA,QACrC,sCAAqB,eAAe;AAAA,EACtC,CAAC;AAED,SAAO;AAAA,IACL,OAAG,gCAAY,kBAAkB,eAAe;AAAA,IAEhD,kBAAkB,CAAC,QAAQ,cAAc,iBAAiB;AAExD,UAAI,QAAQ,SAAS,OAAO,GAAG;AAC7B,eAAO,0CAA0C;AAAA,UAC/C,CAAC,KAAK,YAAY,IAAI,QAAQ,SAAS,EAAE;AAAA,UACzC;AAAA,QACF;AAAA,MACF;AAEA,YAAM,SAAS,aAAa;AAG5B,UAAI,QAAQ,SAAS,OAAO,GAAG;AAC7B,mBAAO,oDAAiC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAAA,MAC7D;AAEA,wEACE,aAAa,oBAAoB;AAEnC,YAAM,YAAY,UAAU;AAE5B,YAAM,QACJ,cAAc,SAAY,aAAY,qCAAkB,SAAS;AAEnE,UAAI,UAAU,QAAW;AACvB,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,YAAY,MAAM,KAAK;AAE7C,YAAM,kBAAc,sCAAmB,aAAa;AAGpD,iBAAO,oDAAiC,YAAY,WAAW;AAAA,IACjE;AAAA,IAEA,oBAAgB,4BAAY,CAAC,EAAE,SAAS,KAAK,MAAM,IAAI;AAAA,EACzD;AACF;",
6
+ "names": []
7
+ }
@@ -1,7 +1,30 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nodemonModule = void 0;
4
- const deleteFiles_1 = require("../processing/deleteFiles");
5
- const nodemonModule = () => (0, deleteFiles_1.deleteFiles)('nodemon.json');
6
- exports.nodemonModule = nodemonModule;
7
- //# sourceMappingURL=nodemon.js.map
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var nodemon_exports = {};
20
+ __export(nodemon_exports, {
21
+ nodemonModule: () => nodemonModule
22
+ });
23
+ module.exports = __toCommonJS(nodemon_exports);
24
+ var import_deleteFiles = require("../processing/deleteFiles");
25
+ const nodemonModule = () => (0, import_deleteFiles.deleteFiles)("nodemon.json");
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ nodemonModule
29
+ });
30
+ //# sourceMappingURL=nodemon.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"nodemon.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/nodemon.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAGjD,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC,IAAA,yBAAW,EAAC,cAAc,CAAC,CAAC;AAA1D,QAAA,aAAa,iBAA6C"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/configure/modules/nodemon.ts"],
4
+ "sourcesContent": ["import { deleteFiles } from '../processing/deleteFiles';\nimport type { Module } from '../types';\n\nexport const nodemonModule = (): Module => deleteFiles('nodemon.json');\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA4B;AAGrB,MAAM,gBAAgB,UAAc,gCAAY,cAAc;",
6
+ "names": []
7
+ }