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 +1 @@
1
- export declare const tsc: () => Promise<import("execa").ExecaReturnValue<string>>;
1
+ export declare const tsc: (args?: string[]) => Promise<import("execa").ExecaReturnValue<string>>;
@@ -1,25 +1,36 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tsc = void 0;
4
- const exec_1 = require("../../utils/exec");
5
- const DEFAULT_ARGS = ['--project', 'tsconfig.build.json'];
6
- const PROJECT_OPTS = new Set([
7
- // Build flag is incompatible with project flag
8
- '-b',
9
- '-build',
10
- '--build',
11
- '-p',
12
- '-project',
13
- '--project',
14
- ]);
15
- const tsc = async () => {
16
- const args = process.argv.slice(2);
17
- const defaultArgs = args
18
- .map((arg) => arg.toLocaleLowerCase())
19
- .some((arg) => PROJECT_OPTS.has(arg))
20
- ? []
21
- : DEFAULT_ARGS;
22
- return (0, exec_1.exec)('tsc', ...defaultArgs, ...args);
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 });
23
9
  };
24
- exports.tsc = tsc;
25
- //# sourceMappingURL=tsc.js.map
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 tsc_exports = {};
20
+ __export(tsc_exports, {
21
+ tsc: () => tsc
22
+ });
23
+ module.exports = __toCommonJS(tsc_exports);
24
+ var import_exec = require("../../utils/exec");
25
+ var import_args = require("./args");
26
+ const DEFAULT_ARGS = ["--project", "tsconfig.build.json"];
27
+ const tsc = async (args = process.argv.slice(2)) => {
28
+ const tscArgs = (0, import_args.parseTscArgs)(args);
29
+ const defaultArgs = tscArgs.build || tscArgs.project ? [] : DEFAULT_ARGS;
30
+ return (0, import_exec.exec)("tsc", ...defaultArgs, ...args);
31
+ };
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ tsc
35
+ });
36
+ //# sourceMappingURL=tsc.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../../src/cli/build/tsc.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,qBAAqB,CAAU,CAAC;AAEnE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,+CAA+C;IAC/C,IAAI;IACJ,QAAQ;IACR,SAAS;IAET,IAAI;IACJ,UAAU;IACV,WAAW;CACZ,CAAC,CAAC;AAEI,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,IAAI;SACrB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;SACrC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CAAC;IAEjB,OAAO,IAAA,WAAI,EAAC,KAAK,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAC;AAVW,QAAA,GAAG,OAUd"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/cli/build/tsc.ts"],
4
+ "sourcesContent": ["import { exec } from '../../utils/exec';\n\nimport { parseTscArgs } from './args';\n\nconst DEFAULT_ARGS = ['--project', 'tsconfig.build.json'] as const;\n\nexport const tsc = async (args = process.argv.slice(2)) => {\n const tscArgs = parseTscArgs(args);\n\n // Build flag is incompatible with project flag.\n const defaultArgs = tscArgs.build || tscArgs.project ? [] : DEFAULT_ARGS;\n\n return exec('tsc', ...defaultArgs, ...args);\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqB;AAErB,kBAA6B;AAE7B,MAAM,eAAe,CAAC,aAAa,qBAAqB;AAEjD,MAAM,MAAM,OAAO,OAAO,QAAQ,KAAK,MAAM,CAAC,MAAM;AACzD,QAAM,cAAU,0BAAa,IAAI;AAGjC,QAAM,cAAc,QAAQ,SAAS,QAAQ,UAAU,CAAC,IAAI;AAE5D,aAAO,kBAAK,OAAO,GAAG,aAAa,GAAG,IAAI;AAC5C;",
6
+ "names": []
7
+ }
@@ -1,26 +1,56 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildPackage = void 0;
4
- const args_1 = require("../utils/args");
5
- const exec_1 = require("../utils/exec");
6
- const buildPackage = (args = process.argv) => (0, exec_1.execConcurrently)([
7
- {
8
- command: 'tsc --module CommonJS --outDir lib-commonjs --project tsconfig.build.json',
9
- name: 'commonjs',
10
- prefixColor: 'green',
11
- },
12
- {
13
- command: 'tsc --module ES2015 --outDir lib-es2015 --project tsconfig.build.json',
14
- name: 'es2015',
15
- prefixColor: 'yellow',
16
- },
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 buildPackage_exports = {};
20
+ __export(buildPackage_exports, {
21
+ buildPackage: () => buildPackage
22
+ });
23
+ module.exports = __toCommonJS(buildPackage_exports);
24
+ var import_args = require("../utils/args");
25
+ var import_exec = require("../utils/exec");
26
+ var import_addEmptyExports = require("./configure/addEmptyExports");
27
+ const buildPackage = async (args = process.argv.slice(2)) => {
28
+ await (0, import_addEmptyExports.tryAddEmptyExports)();
29
+ await (0, import_exec.execConcurrently)(
30
+ [
31
+ {
32
+ command: "tsc --module CommonJS --outDir lib-commonjs --project tsconfig.build.json",
33
+ name: "commonjs",
34
+ prefixColor: "green"
35
+ },
36
+ {
37
+ command: "tsc --module ES2015 --outDir lib-es2015 --project tsconfig.build.json",
38
+ name: "es2015",
39
+ prefixColor: "yellow"
40
+ },
41
+ {
42
+ command: "tsc --allowJS false --declaration --emitDeclarationOnly --outDir lib-types --project tsconfig.build.json",
43
+ name: "types",
44
+ prefixColor: "blue"
45
+ }
46
+ ],
17
47
  {
18
- command: 'tsc --allowJS false --declaration --emitDeclarationOnly --outDir lib-types --project tsconfig.build.json',
19
- name: 'types',
20
- prefixColor: 'blue',
21
- },
22
- ], {
23
- maxProcesses: (0, args_1.hasSerialFlag)(args) ? 1 : undefined,
48
+ maxProcesses: (0, import_args.hasSerialFlag)(args) ? 1 : void 0
49
+ }
50
+ );
51
+ };
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ buildPackage
24
55
  });
25
- exports.buildPackage = buildPackage;
26
- //# sourceMappingURL=buildPackage.js.map
56
+ //# sourceMappingURL=buildPackage.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"buildPackage.js","sourceRoot":"","sources":["../../src/cli/buildPackage.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAC9C,wCAAiD;AAE1C,MAAM,YAAY,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,CAClD,IAAA,uBAAgB,EACd;IACE;QACE,OAAO,EACL,2EAA2E;QAC7E,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,OAAO;KACrB;IACD;QACE,OAAO,EACL,uEAAuE;QACzE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,OAAO,EACL,0GAA0G;QAC5G,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,MAAM;KACpB;CACF,EACD;IACE,YAAY,EAAE,IAAA,oBAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;CAClD,CACF,CAAC;AAzBS,QAAA,YAAY,gBAyBrB"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cli/buildPackage.ts"],
4
+ "sourcesContent": ["import { hasSerialFlag } from '../utils/args';\nimport { execConcurrently } from '../utils/exec';\n\nimport { tryAddEmptyExports } from './configure/addEmptyExports';\n\nexport const buildPackage = async (args = process.argv.slice(2)) => {\n await tryAddEmptyExports();\n\n await execConcurrently(\n [\n {\n command:\n 'tsc --module CommonJS --outDir lib-commonjs --project tsconfig.build.json',\n name: 'commonjs',\n prefixColor: 'green',\n },\n {\n command:\n 'tsc --module ES2015 --outDir lib-es2015 --project tsconfig.build.json',\n name: 'es2015',\n prefixColor: 'yellow',\n },\n {\n command:\n 'tsc --allowJS false --declaration --emitDeclarationOnly --outDir lib-types --project tsconfig.build.json',\n name: 'types',\n prefixColor: 'blue',\n },\n ],\n {\n maxProcesses: hasSerialFlag(args) ? 1 : undefined,\n },\n );\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA8B;AAC9B,kBAAiC;AAEjC,6BAAmC;AAE5B,MAAM,eAAe,OAAO,OAAO,QAAQ,KAAK,MAAM,CAAC,MAAM;AAClE,YAAM,2CAAmB;AAEzB,YAAM;AAAA,IACJ;AAAA,MACE;AAAA,QACE,SACE;AAAA,QACF,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,MACA;AAAA,QACE,SACE;AAAA,QACF,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,MACA;AAAA,QACE,SACE;AAAA,QACF,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,kBAAc,2BAAc,IAAI,IAAI,IAAI;AAAA,IAC1C;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tries to add an empty `export {}` statement to the bottom of Jest setup files
3
+ * for compliance with TypeScript isolated modules.
4
+ */
5
+ export declare const tryAddEmptyExports: () => Promise<void>;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var addEmptyExports_exports = {};
26
+ __export(addEmptyExports_exports, {
27
+ tryAddEmptyExports: () => tryAddEmptyExports
28
+ });
29
+ module.exports = __toCommonJS(addEmptyExports_exports);
30
+ var import_path = __toESM(require("path"));
31
+ var import_util = require("util");
32
+ var import_fs_extra = __toESM(require("fs-extra"));
33
+ var import_logging = require("../../utils/logging");
34
+ var import_package = require("./analysis/package");
35
+ var import_project = require("./analysis/project");
36
+ var import_prettier = require("./processing/prettier");
37
+ const addEmptyExports = async () => {
38
+ const manifest = await (0, import_package.getDestinationManifest)();
39
+ const destinationRoot = import_path.default.dirname(manifest.path);
40
+ const readDestinationFile = (0, import_project.createDestinationFileReader)(destinationRoot);
41
+ const addEmptyExport = async (filename) => {
42
+ const inputFile = await readDestinationFile(filename);
43
+ if (!inputFile || inputFile.includes("import ") || inputFile.includes("export ")) {
44
+ return;
45
+ }
46
+ const data = (0, import_prettier.formatPrettier)([inputFile, "export {}"].join("\n\n"), {
47
+ parser: "typescript"
48
+ });
49
+ const filepath = import_path.default.join(destinationRoot, filename);
50
+ await import_fs_extra.default.promises.writeFile(filepath, data);
51
+ };
52
+ const jestSetupFiles = ["jest.setup.ts", "jest.setup.int.ts"];
53
+ await Promise.all(jestSetupFiles.map(addEmptyExport));
54
+ };
55
+ const tryAddEmptyExports = async () => {
56
+ try {
57
+ await addEmptyExports();
58
+ } catch (err) {
59
+ import_logging.log.warn("Failed to convert Jest setup files to isolated modules.");
60
+ import_logging.log.subtle((0, import_util.inspect)(err));
61
+ }
62
+ };
63
+ // Annotate the CommonJS export names for ESM import in node:
64
+ 0 && (module.exports = {
65
+ tryAddEmptyExports
66
+ });
67
+ //# sourceMappingURL=addEmptyExports.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/cli/configure/addEmptyExports.ts"],
4
+ "sourcesContent": ["import path from 'path';\nimport { inspect } from 'util';\n\nimport fs from 'fs-extra';\n\nimport { log } from '../../utils/logging';\n\nimport { getDestinationManifest } from './analysis/package';\nimport { createDestinationFileReader } from './analysis/project';\nimport { formatPrettier } from './processing/prettier';\n\nconst addEmptyExports = async () => {\n const manifest = await getDestinationManifest();\n\n const destinationRoot = path.dirname(manifest.path);\n\n const readDestinationFile = createDestinationFileReader(destinationRoot);\n\n const addEmptyExport = async (filename: string) => {\n const inputFile = await readDestinationFile(filename);\n\n if (\n !inputFile ||\n // The file appears to have an import or export so it should be compatible\n // with isolated modules. This is a very naive check that we don't want to\n // overcomplicate because it is invoked before many skuba commands.\n inputFile.includes('import ') ||\n inputFile.includes('export ')\n ) {\n return;\n }\n\n const data = formatPrettier([inputFile, 'export {}'].join('\\n\\n'), {\n parser: 'typescript',\n });\n\n const filepath = path.join(destinationRoot, filename);\n\n await fs.promises.writeFile(filepath, data);\n };\n\n // TODO: glob `**/jest.*setup*.ts`?\n const jestSetupFiles = ['jest.setup.ts', 'jest.setup.int.ts'];\n\n await Promise.all(jestSetupFiles.map(addEmptyExport));\n};\n\n/**\n * Tries to add an empty `export {}` statement to the bottom of Jest setup files\n * for compliance with TypeScript isolated modules.\n */\nexport const tryAddEmptyExports = async () => {\n try {\n await addEmptyExports();\n } catch (err) {\n log.warn('Failed to convert Jest setup files to isolated modules.');\n log.subtle(inspect(err));\n }\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,kBAAwB;AAExB,sBAAe;AAEf,qBAAoB;AAEpB,qBAAuC;AACvC,qBAA4C;AAC5C,sBAA+B;AAE/B,MAAM,kBAAkB,YAAY;AAClC,QAAM,WAAW,UAAM,uCAAuB;AAE9C,QAAM,kBAAkB,YAAAA,QAAK,QAAQ,SAAS,IAAI;AAElD,QAAM,0BAAsB,4CAA4B,eAAe;AAEvE,QAAM,iBAAiB,OAAO,aAAqB;AACjD,UAAM,YAAY,MAAM,oBAAoB,QAAQ;AAEpD,QACE,CAAC,aAID,UAAU,SAAS,SAAS,KAC5B,UAAU,SAAS,SAAS,GAC5B;AACA;AAAA,IACF;AAEA,UAAM,WAAO,gCAAe,CAAC,WAAW,WAAW,EAAE,KAAK,MAAM,GAAG;AAAA,MACjE,QAAQ;AAAA,IACV,CAAC;AAED,UAAM,WAAW,YAAAA,QAAK,KAAK,iBAAiB,QAAQ;AAEpD,UAAM,gBAAAC,QAAG,SAAS,UAAU,UAAU,IAAI;AAAA,EAC5C;AAGA,QAAM,iBAAiB,CAAC,iBAAiB,mBAAmB;AAE5D,QAAM,QAAQ,IAAI,eAAe,IAAI,cAAc,CAAC;AACtD;AAMO,MAAM,qBAAqB,YAAY;AAC5C,MAAI;AACF,UAAM,gBAAgB;AAAA,EACxB,SAAS,KAAP;AACA,uBAAI,KAAK,yDAAyD;AAClE,uBAAI,WAAO,qBAAQ,GAAG,CAAC;AAAA,EACzB;AACF;",
6
+ "names": ["path", "fs"]
7
+ }
@@ -1,35 +1,65 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
4
11
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.analyseConfiguration = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const fs_extra_1 = __importDefault(require("fs-extra"));
9
- const logging_1 = require("../../utils/logging");
10
- const project_1 = require("./analysis/project");
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var analyseConfiguration_exports = {};
26
+ __export(analyseConfiguration_exports, {
27
+ analyseConfiguration: () => analyseConfiguration
28
+ });
29
+ module.exports = __toCommonJS(analyseConfiguration_exports);
30
+ var import_path = __toESM(require("path"));
31
+ var import_fs_extra = __toESM(require("fs-extra"));
32
+ var import_logging = require("../../utils/logging");
33
+ var import_project = require("./analysis/project");
11
34
  const analyseConfiguration = async (props) => {
12
- logging_1.log.newline();
13
- logging_1.log.plain(logging_1.log.bold('Config:'));
14
- const files = await (0, project_1.diffFiles)(props);
15
- if (Object.keys(files).length === 0) {
16
- logging_1.log.newline();
17
- logging_1.log.ok('✔ No changes');
18
- return;
19
- }
20
- logging_1.log.newline();
21
- Object.entries(files)
22
- .sort(([filenameA], [filenameB]) => filenameA.localeCompare(filenameB))
23
- .forEach(([filename, { operation }]) => logging_1.log.plain(operation, filename));
24
- return async () => {
25
- const dirnames = [
26
- ...new Set(Object.keys(files).map((filename) => path_1.default.dirname(filename))),
27
- ];
28
- await Promise.all(dirnames.map((dirname) => fs_extra_1.default.promises.mkdir(dirname, { recursive: true })));
29
- await Promise.all(Object.entries(files).map(([filename, { data }]) => data === undefined
30
- ? fs_extra_1.default.promises.rm(filename)
31
- : fs_extra_1.default.promises.writeFile(filename, data)));
32
- };
35
+ import_logging.log.newline();
36
+ import_logging.log.plain(import_logging.log.bold("Config:"));
37
+ const files = await (0, import_project.diffFiles)(props);
38
+ if (Object.keys(files).length === 0) {
39
+ import_logging.log.newline();
40
+ import_logging.log.ok("\u2714 No changes");
41
+ return;
42
+ }
43
+ import_logging.log.newline();
44
+ Object.entries(files).sort(([filenameA], [filenameB]) => filenameA.localeCompare(filenameB)).forEach(([filename, { operation }]) => import_logging.log.plain(operation, filename));
45
+ return async () => {
46
+ const dirnames = [
47
+ ...new Set(Object.keys(files).map((filename) => import_path.default.dirname(filename)))
48
+ ];
49
+ await Promise.all(
50
+ dirnames.map(
51
+ (dirname) => import_fs_extra.default.promises.mkdir(dirname, { recursive: true })
52
+ )
53
+ );
54
+ await Promise.all(
55
+ Object.entries(files).map(
56
+ ([filename, { data }]) => data === void 0 ? import_fs_extra.default.promises.rm(filename) : import_fs_extra.default.promises.writeFile(filename, data)
57
+ )
58
+ );
59
+ };
33
60
  };
34
- exports.analyseConfiguration = analyseConfiguration;
35
- //# sourceMappingURL=analyseConfiguration.js.map
61
+ // Annotate the CommonJS export names for ESM import in node:
62
+ 0 && (module.exports = {
63
+ analyseConfiguration
64
+ });
65
+ //# sourceMappingURL=analyseConfiguration.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"analyseConfiguration.js","sourceRoot":"","sources":["../../../src/cli/configure/analyseConfiguration.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAE1B,iDAA0C;AAG1C,gDAA+C;AASxC,MAAM,oBAAoB,GAAG,KAAK,EACvC,KAAY,EACgC,EAAE;IAC9C,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,aAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAE/B,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAS,EAAC,KAAK,CAAC,CAAC;IAErC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACnC,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QACvB,OAAO;KACR;IAED,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SACtE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,aAAG,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1E,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,QAAQ,GAAG;YACf,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SACzE,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACvB,kBAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAChD,CACF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CACjD,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC;YAC1B,CAAC,CAAC,kBAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC1C,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,oBAAoB,wBAsC/B"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/cli/configure/analyseConfiguration.ts"],
4
+ "sourcesContent": ["import path from 'path';\n\nimport fs from 'fs-extra';\n\nimport { log } from '../../utils/logging';\nimport type { ProjectType } from '../../utils/manifest';\n\nimport { diffFiles } from './analysis/project';\n\ninterface Props {\n destinationRoot: string;\n entryPoint: string;\n firstRun: boolean;\n type: ProjectType;\n}\n\nexport const analyseConfiguration = async (\n props: Props,\n): Promise<undefined | (() => Promise<void>)> => {\n log.newline();\n log.plain(log.bold('Config:'));\n\n const files = await diffFiles(props);\n\n if (Object.keys(files).length === 0) {\n log.newline();\n log.ok('\u2714 No changes');\n return;\n }\n\n log.newline();\n Object.entries(files)\n .sort(([filenameA], [filenameB]) => filenameA.localeCompare(filenameB))\n .forEach(([filename, { operation }]) => log.plain(operation, filename));\n\n return async () => {\n const dirnames = [\n ...new Set(Object.keys(files).map((filename) => path.dirname(filename))),\n ];\n\n await Promise.all(\n dirnames.map((dirname) =>\n fs.promises.mkdir(dirname, { recursive: true }),\n ),\n );\n\n await Promise.all(\n Object.entries(files).map(([filename, { data }]) =>\n data === undefined\n ? fs.promises.rm(filename)\n : fs.promises.writeFile(filename, data),\n ),\n );\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AAEjB,sBAAe;AAEf,qBAAoB;AAGpB,qBAA0B;AASnB,MAAM,uBAAuB,OAClC,UAC+C;AAC/C,qBAAI,QAAQ;AACZ,qBAAI,MAAM,mBAAI,KAAK,SAAS,CAAC;AAE7B,QAAM,QAAQ,UAAM,0BAAU,KAAK;AAEnC,MAAI,OAAO,KAAK,KAAK,EAAE,WAAW,GAAG;AACnC,uBAAI,QAAQ;AACZ,uBAAI,GAAG,mBAAc;AACrB;AAAA,EACF;AAEA,qBAAI,QAAQ;AACZ,SAAO,QAAQ,KAAK,EACjB,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,MAAM,UAAU,cAAc,SAAS,CAAC,EACrE,QAAQ,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,mBAAI,MAAM,WAAW,QAAQ,CAAC;AAExE,SAAO,YAAY;AACjB,UAAM,WAAW;AAAA,MACf,GAAG,IAAI,IAAI,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,aAAa,YAAAA,QAAK,QAAQ,QAAQ,CAAC,CAAC;AAAA,IACzE;AAEA,UAAM,QAAQ;AAAA,MACZ,SAAS;AAAA,QAAI,CAAC,YACZ,gBAAAC,QAAG,SAAS,MAAM,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,MAChD;AAAA,IACF;AAEA,UAAM,QAAQ;AAAA,MACZ,OAAO,QAAQ,KAAK,EAAE;AAAA,QAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,MAC5C,SAAS,SACL,gBAAAA,QAAG,SAAS,GAAG,QAAQ,IACvB,gBAAAA,QAAG,SAAS,UAAU,UAAU,IAAI;AAAA,MAC1C;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": ["path", "fs"]
7
+ }
@@ -1,123 +1,132 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
24
11
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
27
19
  };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.analyseDependencies = void 0;
30
- const path_1 = __importDefault(require("path"));
31
- const fs_extra_1 = __importDefault(require("fs-extra"));
32
- const copy_1 = require("../../utils/copy");
33
- const logging_1 = require("../../utils/logging");
34
- const version_1 = require("../../utils/version");
35
- const package_1 = require("./analysis/package");
36
- const dependencyMutators = __importStar(require("./dependencies"));
37
- const package_2 = require("./processing/package");
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var analyseDependencies_exports = {};
26
+ __export(analyseDependencies_exports, {
27
+ analyseDependencies: () => analyseDependencies
28
+ });
29
+ module.exports = __toCommonJS(analyseDependencies_exports);
30
+ var import_path = __toESM(require("path"));
31
+ var import_fs_extra = __toESM(require("fs-extra"));
32
+ var import_copy = require("../../utils/copy");
33
+ var import_logging = require("../../utils/logging");
34
+ var import_version = require("../../utils/version");
35
+ var import_package = require("./analysis/package");
36
+ var dependencyMutators = __toESM(require("./dependencies"));
37
+ var import_package2 = require("./processing/package");
38
38
  const logDiff = (diff) => {
39
- const entries = Object.entries(diff);
40
- if (entries.length === 0) {
41
- logging_1.log.ok('✔ No changes');
42
- return false;
43
- }
44
- Object.entries(diff)
45
- .sort(([nameA], [nameB]) => nameA.localeCompare(nameB))
46
- .forEach(([name, { operation, version }]) => logging_1.log.plain(operation, name, logging_1.log.formatSubtle(version)));
47
- return true;
39
+ const entries = Object.entries(diff);
40
+ if (entries.length === 0) {
41
+ import_logging.log.ok("\u2714 No changes");
42
+ return false;
43
+ }
44
+ Object.entries(diff).sort(([nameA], [nameB]) => nameA.localeCompare(nameB)).forEach(
45
+ ([name, { operation, version }]) => import_logging.log.plain(operation, name, import_logging.log.formatSubtle(version))
46
+ );
47
+ return true;
48
48
  };
49
49
  const pinUnspecifiedVersions = async (dependencies) => {
50
- const updates = await Promise.all(Object.entries(dependencies)
51
- .filter(([, version]) => version === '*')
52
- .map(async ([name]) => {
53
- const version = await (name === 'skuba'
54
- ? (0, version_1.getSkubaVersion)()
55
- : (0, version_1.latestNpmVersion)(name));
56
- return [name, version];
57
- }));
58
- updates.forEach(([name, version]) => {
59
- dependencies[name] = version;
60
- });
50
+ const updates = await Promise.all(
51
+ Object.entries(dependencies).filter(([, version]) => version === "*").map(async ([name]) => {
52
+ const version = await (name === "skuba" ? (0, import_version.getSkubaVersion)() : (0, import_version.latestNpmVersion)(name));
53
+ return [name, version];
54
+ })
55
+ );
56
+ updates.forEach(([name, version]) => {
57
+ dependencies[name] = version;
58
+ });
61
59
  };
62
- const analyseDependencies = async ({ destinationRoot, include, manifest: { packageJson }, type, }) => {
63
- const input = {
64
- dependencies: packageJson.dependencies ?? {},
65
- devDependencies: packageJson.devDependencies ?? {},
66
- type,
67
- };
68
- const output = {
69
- dependencies: { ...input.dependencies },
70
- devDependencies: { ...input.devDependencies },
71
- type,
72
- };
73
- const printNotices = (0, package_1.generateNotices)(input);
74
- const processors = Object.values(dependencyMutators).reduce((acc, mutate) => {
75
- const newProcessors = mutate(output);
76
- acc.push(...newProcessors);
77
- return acc;
78
- }, []);
79
- await Promise.all([
80
- pinUnspecifiedVersions(output.dependencies),
81
- pinUnspecifiedVersions(output.devDependencies),
82
- ]);
83
- const dependencyDiff = (0, package_1.diffDependencies)({
84
- old: input.dependencies,
85
- new: output.dependencies,
86
- });
87
- logging_1.log.newline();
88
- logging_1.log.plain(logging_1.log.bold('Dependencies:'));
89
- logging_1.log.newline();
90
- const hasDependencyDiff = logDiff(dependencyDiff);
91
- const devDependencyDiff = (0, package_1.diffDependencies)({
92
- old: input.devDependencies,
93
- new: output.devDependencies,
60
+ const analyseDependencies = async ({
61
+ destinationRoot,
62
+ include,
63
+ manifest: { packageJson },
64
+ type
65
+ }) => {
66
+ const input = {
67
+ dependencies: packageJson.dependencies ?? {},
68
+ devDependencies: packageJson.devDependencies ?? {},
69
+ type
70
+ };
71
+ const output = {
72
+ dependencies: { ...input.dependencies },
73
+ devDependencies: { ...input.devDependencies },
74
+ type
75
+ };
76
+ const printNotices = (0, import_package.generateNotices)(input);
77
+ const processors = Object.values(dependencyMutators).reduce(
78
+ (acc, mutate) => {
79
+ const newProcessors = mutate(output);
80
+ acc.push(...newProcessors);
81
+ return acc;
82
+ },
83
+ []
84
+ );
85
+ await Promise.all([
86
+ pinUnspecifiedVersions(output.dependencies),
87
+ pinUnspecifiedVersions(output.devDependencies)
88
+ ]);
89
+ const dependencyDiff = (0, import_package.diffDependencies)({
90
+ old: input.dependencies,
91
+ new: output.dependencies
92
+ });
93
+ import_logging.log.newline();
94
+ import_logging.log.plain(import_logging.log.bold("Dependencies:"));
95
+ import_logging.log.newline();
96
+ const hasDependencyDiff = logDiff(dependencyDiff);
97
+ const devDependencyDiff = (0, import_package.diffDependencies)({
98
+ old: input.devDependencies,
99
+ new: output.devDependencies
100
+ });
101
+ import_logging.log.newline();
102
+ import_logging.log.plain(import_logging.log.bold("Dev dependencies:"));
103
+ import_logging.log.newline();
104
+ const hasDevDependencyDiff = logDiff(devDependencyDiff);
105
+ printNotices();
106
+ const packageJsonFilepath = import_path.default.join(destinationRoot, "package.json");
107
+ if (!hasDependencyDiff && !hasDevDependencyDiff) {
108
+ return;
109
+ }
110
+ return async () => {
111
+ const updatedPackageJson = (0, import_package2.formatPackage)({
112
+ ...packageJson,
113
+ dependencies: output.dependencies,
114
+ devDependencies: output.devDependencies
94
115
  });
95
- logging_1.log.newline();
96
- logging_1.log.plain(logging_1.log.bold('Dev dependencies:'));
97
- logging_1.log.newline();
98
- const hasDevDependencyDiff = logDiff(devDependencyDiff);
99
- printNotices();
100
- const packageJsonFilepath = path_1.default.join(destinationRoot, 'package.json');
101
- if (!hasDependencyDiff && !hasDevDependencyDiff) {
102
- return;
116
+ await import_fs_extra.default.promises.writeFile(packageJsonFilepath, updatedPackageJson);
117
+ if (processors.length === 0) {
118
+ return;
103
119
  }
104
- return async () => {
105
- const updatedPackageJson = (0, package_2.formatPackage)({
106
- ...packageJson,
107
- dependencies: output.dependencies,
108
- devDependencies: output.devDependencies,
109
- });
110
- await fs_extra_1.default.promises.writeFile(packageJsonFilepath, updatedPackageJson);
111
- if (processors.length === 0) {
112
- return;
113
- }
114
- await (0, copy_1.copyFiles)({
115
- sourceRoot: destinationRoot,
116
- destinationRoot,
117
- include,
118
- processors,
119
- });
120
- };
120
+ await (0, import_copy.copyFiles)({
121
+ sourceRoot: destinationRoot,
122
+ destinationRoot,
123
+ include,
124
+ processors
125
+ });
126
+ };
121
127
  };
122
- exports.analyseDependencies = analyseDependencies;
123
- //# sourceMappingURL=analyseDependencies.js.map
128
+ // Annotate the CommonJS export names for ESM import in node:
129
+ 0 && (module.exports = {
130
+ analyseDependencies
131
+ });
132
+ //# sourceMappingURL=analyseDependencies.js.map