skuba 4.4.1 → 5.0.0-beta.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 (313) 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 +126 -124
  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 +84 -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 +79 -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.js +238 -207
  165. package/lib/cli/init/getConfig.js.map +7 -1
  166. package/lib/cli/init/git.js +70 -63
  167. package/lib/cli/init/git.js.map +7 -1
  168. package/lib/cli/init/index.js +133 -100
  169. package/lib/cli/init/index.js.map +7 -1
  170. package/lib/cli/init/prompts.js +84 -54
  171. package/lib/cli/init/prompts.js.map +7 -1
  172. package/lib/cli/init/types.js +52 -52
  173. package/lib/cli/init/types.js.map +7 -1
  174. package/lib/cli/init/validation.js +34 -12
  175. package/lib/cli/init/validation.js.map +7 -1
  176. package/lib/cli/init/writePackageJson.js +51 -22
  177. package/lib/cli/init/writePackageJson.js.map +7 -1
  178. package/lib/cli/lint/annotate/buildkite/eslint.js +34 -28
  179. package/lib/cli/lint/annotate/buildkite/eslint.js.map +7 -1
  180. package/lib/cli/lint/annotate/buildkite/index.js +50 -44
  181. package/lib/cli/lint/annotate/buildkite/index.js.map +7 -1
  182. package/lib/cli/lint/annotate/buildkite/prettier.js +41 -35
  183. package/lib/cli/lint/annotate/buildkite/prettier.js.map +7 -1
  184. package/lib/cli/lint/annotate/buildkite/tsc.js +39 -39
  185. package/lib/cli/lint/annotate/buildkite/tsc.js.map +7 -1
  186. package/lib/cli/lint/annotate/github/eslint.js +40 -16
  187. package/lib/cli/lint/annotate/github/eslint.js.map +7 -1
  188. package/lib/cli/lint/annotate/github/index.js +55 -51
  189. package/lib/cli/lint/annotate/github/index.js.map +7 -1
  190. package/lib/cli/lint/annotate/github/prettier.js +36 -13
  191. package/lib/cli/lint/annotate/github/prettier.js.map +7 -1
  192. package/lib/cli/lint/annotate/github/tsc.js +52 -52
  193. package/lib/cli/lint/annotate/github/tsc.js.map +7 -1
  194. package/lib/cli/lint/annotate/index.js +33 -10
  195. package/lib/cli/lint/annotate/index.js.map +7 -1
  196. package/lib/cli/lint/autofix.js +122 -117
  197. package/lib/cli/lint/autofix.js.map +7 -1
  198. package/lib/cli/lint/eslint.js +48 -18
  199. package/lib/cli/lint/eslint.js.map +7 -1
  200. package/lib/cli/lint/external.js +102 -81
  201. package/lib/cli/lint/external.js.map +7 -1
  202. package/lib/cli/lint/index.js +42 -18
  203. package/lib/cli/lint/index.js.map +7 -1
  204. package/lib/cli/lint/internal.js +54 -21
  205. package/lib/cli/lint/internal.js.map +7 -1
  206. package/lib/cli/lint/prettier.js +48 -18
  207. package/lib/cli/lint/prettier.js.map +7 -1
  208. package/lib/cli/lint/tsc.js +56 -32
  209. package/lib/cli/lint/tsc.js.map +7 -1
  210. package/lib/cli/lint/types.js +16 -2
  211. package/lib/cli/lint/types.js.map +7 -1
  212. package/lib/cli/node.js +65 -58
  213. package/lib/cli/node.js.map +7 -1
  214. package/lib/cli/release.js +29 -6
  215. package/lib/cli/release.js.map +7 -1
  216. package/lib/cli/start.js +61 -24
  217. package/lib/cli/start.js.map +7 -1
  218. package/lib/cli/test/index.js +35 -11
  219. package/lib/cli/test/index.js.map +7 -1
  220. package/lib/cli/test/reporters/github/annotations.js +89 -92
  221. package/lib/cli/test/reporters/github/annotations.js.map +7 -1
  222. package/lib/cli/test/reporters/github/index.js +68 -68
  223. package/lib/cli/test/reporters/github/index.js.map +7 -1
  224. package/lib/cli/version.js +31 -8
  225. package/lib/cli/version.js.map +7 -1
  226. package/lib/enquirer.d.js +2 -0
  227. package/lib/enquirer.d.js.map +7 -0
  228. package/lib/index.d.ts +6 -0
  229. package/lib/index.js +45 -41
  230. package/lib/index.js.map +7 -1
  231. package/lib/skuba.js +45 -38
  232. package/lib/skuba.js.map +7 -1
  233. package/lib/utils/args.js +97 -96
  234. package/lib/utils/args.js.map +7 -1
  235. package/lib/utils/command.js +64 -33
  236. package/lib/utils/command.js.map +7 -1
  237. package/lib/utils/copy.js +88 -51
  238. package/lib/utils/copy.js.map +7 -1
  239. package/lib/utils/dir.js +79 -67
  240. package/lib/utils/dir.js.map +7 -1
  241. package/lib/utils/env.js +27 -7
  242. package/lib/utils/env.js.map +7 -1
  243. package/lib/utils/error.js +58 -56
  244. package/lib/utils/error.js.map +7 -1
  245. package/lib/utils/exec.js +139 -110
  246. package/lib/utils/exec.js.map +7 -1
  247. package/lib/utils/help.js +31 -8
  248. package/lib/utils/help.js.map +7 -1
  249. package/lib/utils/logging.js +52 -24
  250. package/lib/utils/logging.js.map +7 -1
  251. package/lib/utils/logo.js +65 -27
  252. package/lib/utils/logo.js.map +7 -1
  253. package/lib/utils/manifest.d.ts +1 -0
  254. package/lib/utils/manifest.js +65 -51
  255. package/lib/utils/manifest.js.map +7 -1
  256. package/lib/utils/port.js +38 -17
  257. package/lib/utils/port.js.map +7 -1
  258. package/lib/utils/template.js +106 -87
  259. package/lib/utils/template.js.map +7 -1
  260. package/lib/utils/validation.js +43 -18
  261. package/lib/utils/validation.js.map +7 -1
  262. package/lib/utils/version.js +72 -82
  263. package/lib/utils/version.js.map +7 -1
  264. package/lib/utils/wait.js +52 -25
  265. package/lib/utils/wait.js.map +7 -1
  266. package/lib/utils/worker.js +59 -44
  267. package/lib/utils/worker.js.map +7 -1
  268. package/lib/wrapper/function-arguments.d.js +2 -0
  269. package/lib/wrapper/function-arguments.d.js.map +7 -0
  270. package/lib/wrapper/functionHandler.js +56 -29
  271. package/lib/wrapper/functionHandler.js.map +7 -1
  272. package/lib/wrapper/http.js +66 -56
  273. package/lib/wrapper/http.js.map +7 -1
  274. package/lib/wrapper/index.js +9 -21
  275. package/lib/wrapper/index.js.map +7 -1
  276. package/lib/wrapper/main.js +39 -20
  277. package/lib/wrapper/main.js.map +7 -1
  278. package/lib/wrapper/requestListener.js +50 -35
  279. package/lib/wrapper/requestListener.js.map +7 -1
  280. package/package.json +19 -13
  281. package/template/base/jest.config.ts +0 -6
  282. package/template/base/jest.setup.ts +2 -0
  283. package/template/express-rest-api/.buildkite/pipeline.yml +1 -1
  284. package/template/express-rest-api/package.json +1 -1
  285. package/template/greeter/.buildkite/pipeline.yml +1 -1
  286. package/template/greeter/package.json +1 -1
  287. package/template/greeter/src/app.test.ts +3 -1
  288. package/template/koa-rest-api/.buildkite/pipeline.yml +1 -1
  289. package/template/koa-rest-api/package.json +6 -7
  290. package/template/koa-rest-api/src/api/jobs/postJob.test.ts +3 -7
  291. package/template/koa-rest-api/src/api/jobs/postJob.ts +2 -2
  292. package/template/koa-rest-api/src/framework/validation.test.ts +17 -15
  293. package/template/koa-rest-api/src/framework/validation.ts +50 -9
  294. package/template/koa-rest-api/src/testing/types.ts +5 -10
  295. package/template/koa-rest-api/src/types/jobs.ts +5 -10
  296. package/template/lambda-sqs-worker/.buildkite/pipeline.yml +3 -3
  297. package/template/lambda-sqs-worker/package.json +2 -6
  298. package/template/lambda-sqs-worker/src/app.ts +2 -2
  299. package/template/lambda-sqs-worker/src/framework/validation.test.ts +37 -17
  300. package/template/lambda-sqs-worker/src/framework/validation.ts +4 -2
  301. package/template/lambda-sqs-worker/src/services/jobScorer.ts +2 -2
  302. package/template/lambda-sqs-worker/src/testing/types.ts +5 -10
  303. package/template/lambda-sqs-worker/src/types/jobScorer.ts +9 -16
  304. package/template/lambda-sqs-worker/src/types/pipelineEvents.ts +13 -20
  305. package/template/lambda-sqs-worker-cdk/.buildkite/pipeline.yml +3 -3
  306. package/template/lambda-sqs-worker-cdk/infra/__snapshots__/appStack.test.ts.snap +6 -0
  307. package/template/lambda-sqs-worker-cdk/infra/appStack.ts +3 -3
  308. package/template/lambda-sqs-worker-cdk/infra/index.ts +2 -2
  309. package/template/lambda-sqs-worker-cdk/package.json +2 -2
  310. package/template/lambda-sqs-worker-cdk/shared/context-types.ts +16 -25
  311. package/template/oss-npm-package/_package.json +1 -1
  312. package/template/private-npm-package/_package.json +1 -1
  313. package/jest/resolver.js +0 -24
@@ -1,59 +1,73 @@
1
1
  "use strict";
2
- /* eslint-disable new-cap */
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- 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 });
25
11
  };
26
- var __importDefault = (this && this.__importDefault) || function (mod) {
27
- 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;
28
19
  };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.getEntryPointFromManifest = exports.getConsumerManifest = exports.getSkubaManifest = exports.PROJECT_TYPES = exports.ProjectType = void 0;
31
- const read_pkg_up_1 = __importDefault(require("read-pkg-up"));
32
- const t = __importStar(require("runtypes"));
33
- const validation_1 = require("./validation");
34
- exports.ProjectType = t.Union(t.Literal('application'), t.Literal('package'));
35
- exports.PROJECT_TYPES = ['application', 'package'];
36
- const DEFAULT_ENTRY_POINT = 'src/app.ts';
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 manifest_exports = {};
26
+ __export(manifest_exports, {
27
+ PROJECT_TYPES: () => PROJECT_TYPES,
28
+ ProjectType: () => ProjectType,
29
+ getConsumerManifest: () => getConsumerManifest,
30
+ getEntryPointFromManifest: () => getEntryPointFromManifest,
31
+ getSkubaManifest: () => getSkubaManifest,
32
+ getStringPropFromConsumerManifest: () => getStringPropFromConsumerManifest
33
+ });
34
+ module.exports = __toCommonJS(manifest_exports);
35
+ var import_read_pkg_up = __toESM(require("read-pkg-up"));
36
+ var t = __toESM(require("runtypes"));
37
+ var import_validation = require("./validation");
38
+ const ProjectType = t.Union(
39
+ t.Literal("application"),
40
+ t.Literal("package")
41
+ );
42
+ const PROJECT_TYPES = ["application", "package"];
43
+ const DEFAULT_ENTRY_POINT = "src/app.ts";
37
44
  let skubaManifest;
38
45
  const getSkubaManifest = async () => {
39
- if (skubaManifest !== undefined) {
40
- return skubaManifest;
41
- }
42
- const result = await (0, read_pkg_up_1.default)({ cwd: __dirname });
43
- if (result === undefined) {
44
- throw Error('skuba could not find its own manifest');
45
- }
46
- return (skubaManifest = result.packageJson);
46
+ if (skubaManifest !== void 0) {
47
+ return skubaManifest;
48
+ }
49
+ const result = await (0, import_read_pkg_up.default)({ cwd: __dirname });
50
+ if (result === void 0) {
51
+ throw Error("skuba could not find its own manifest");
52
+ }
53
+ return skubaManifest = result.packageJson;
54
+ };
55
+ const getConsumerManifest = () => (0, import_read_pkg_up.default)();
56
+ const getStringPropFromConsumerManifest = async (prop) => {
57
+ const result = await getConsumerManifest();
58
+ return result !== void 0 && (0, import_validation.hasStringProp)(result.packageJson.skuba, prop) ? result.packageJson.skuba[prop] : void 0;
47
59
  };
48
- exports.getSkubaManifest = getSkubaManifest;
49
- const getConsumerManifest = () => (0, read_pkg_up_1.default)();
50
- exports.getConsumerManifest = getConsumerManifest;
51
60
  const getEntryPointFromManifest = async () => {
52
- const result = await (0, exports.getConsumerManifest)();
53
- return result !== undefined &&
54
- (0, validation_1.hasStringProp)(result.packageJson.skuba, 'entryPoint')
55
- ? result.packageJson.skuba.entryPoint
56
- : DEFAULT_ENTRY_POINT;
61
+ const entryPoint = await getStringPropFromConsumerManifest("entryPoint");
62
+ return entryPoint ?? DEFAULT_ENTRY_POINT;
57
63
  };
58
- exports.getEntryPointFromManifest = getEntryPointFromManifest;
59
- //# sourceMappingURL=manifest.js.map
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ PROJECT_TYPES,
67
+ ProjectType,
68
+ getConsumerManifest,
69
+ getEntryPointFromManifest,
70
+ getSkubaManifest,
71
+ getStringPropFromConsumerManifest
72
+ });
73
+ //# sourceMappingURL=manifest.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/utils/manifest.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAG5B,8DAAoC;AACpC,4CAA8B;AAE9B,6CAA6C;AAIhC,QAAA,WAAW,GAAG,CAAC,CAAC,KAAK,CAChC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EACxB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CACrB,CAAC;AAEW,QAAA,aAAa,GAAG,CAAC,aAAa,EAAE,SAAS,CAAU,CAAC;AAEjE,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC,IAAI,aAAgD,CAAC;AAE9C,MAAM,gBAAgB,GAAG,KAAK,IAAoC,EAAE;IACzE,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,OAAO,aAAa,CAAC;KACtB;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAEnD,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,KAAK,CAAC,uCAAuC,CAAC,CAAC;KACtD;IAED,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC,CAAC;AAZW,QAAA,gBAAgB,oBAY3B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,IAAA,qBAAS,GAAE,CAAC;AAAxC,QAAA,mBAAmB,uBAAqB;AAE9C,MAAM,yBAAyB,GAAG,KAAK,IAAI,EAAE;IAClD,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAmB,GAAE,CAAC;IAE3C,OAAO,MAAM,KAAK,SAAS;QACzB,IAAA,0BAAa,EAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU;QACrC,CAAC,CAAC,mBAAmB,CAAC;AAC1B,CAAC,CAAC;AAPW,QAAA,yBAAyB,6BAOpC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/manifest.ts"],
4
+ "sourcesContent": ["/* eslint-disable new-cap */\n\nimport type { NormalizedPackageJson } from 'read-pkg-up';\nimport readPkgUp from 'read-pkg-up';\nimport * as t from 'runtypes';\n\nimport { hasStringProp } from './validation';\n\nexport type ProjectType = t.Static<typeof ProjectType>;\n\nexport const ProjectType = t.Union(\n t.Literal('application'),\n t.Literal('package'),\n);\n\nexport const PROJECT_TYPES = ['application', 'package'] as const;\n\nconst DEFAULT_ENTRY_POINT = 'src/app.ts';\n\nlet skubaManifest: NormalizedPackageJson | undefined;\n\nexport const getSkubaManifest = async (): Promise<NormalizedPackageJson> => {\n if (skubaManifest !== undefined) {\n return skubaManifest;\n }\n\n const result = await readPkgUp({ cwd: __dirname });\n\n if (result === undefined) {\n throw Error('skuba could not find its own manifest');\n }\n\n return (skubaManifest = result.packageJson);\n};\n\nexport const getConsumerManifest = () => readPkgUp();\n\nexport const getStringPropFromConsumerManifest = async <T extends string>(\n prop: T,\n): Promise<string | undefined> => {\n const result = await getConsumerManifest();\n\n return result !== undefined && hasStringProp(result.packageJson.skuba, prop)\n ? result.packageJson.skuba[prop]\n : undefined;\n};\n\nexport const getEntryPointFromManifest = async (): Promise<string> => {\n const entryPoint = await getStringPropFromConsumerManifest('entryPoint');\n\n return entryPoint ?? DEFAULT_ENTRY_POINT;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAsB;AACtB,QAAmB;AAEnB,wBAA8B;AAIvB,MAAM,cAAc,EAAE;AAAA,EAC3B,EAAE,QAAQ,aAAa;AAAA,EACvB,EAAE,QAAQ,SAAS;AACrB;AAEO,MAAM,gBAAgB,CAAC,eAAe,SAAS;AAEtD,MAAM,sBAAsB;AAE5B,IAAI;AAEG,MAAM,mBAAmB,YAA4C;AAC1E,MAAI,kBAAkB,QAAW;AAC/B,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,UAAM,mBAAAA,SAAU,EAAE,KAAK,UAAU,CAAC;AAEjD,MAAI,WAAW,QAAW;AACxB,UAAM,MAAM,uCAAuC;AAAA,EACrD;AAEA,SAAQ,gBAAgB,OAAO;AACjC;AAEO,MAAM,sBAAsB,UAAM,mBAAAA,SAAU;AAE5C,MAAM,oCAAoC,OAC/C,SACgC;AAChC,QAAM,SAAS,MAAM,oBAAoB;AAEzC,SAAO,WAAW,cAAa,iCAAc,OAAO,YAAY,OAAO,IAAI,IACvE,OAAO,YAAY,MAAM,QACzB;AACN;AAEO,MAAM,4BAA4B,YAA6B;AACpE,QAAM,aAAa,MAAM,kCAAkC,YAAY;AAEvE,SAAO,cAAc;AACvB;",
6
+ "names": ["readPkgUp"]
7
+ }
package/lib/utils/port.js CHANGED
@@ -1,23 +1,44 @@
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.getRandomPort = exports.randomIntBetween = void 0;
7
- const get_port_1 = __importDefault(require("get-port"));
8
- /* Smallest 5-digit port; these are less common than 4-digit ports. */
9
- const MIN_PORT = 10000;
10
- /** Largest port in the IANA user port range. */
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 port_exports = {};
26
+ __export(port_exports, {
27
+ getRandomPort: () => getRandomPort,
28
+ randomIntBetween: () => randomIntBetween
29
+ });
30
+ module.exports = __toCommonJS(port_exports);
31
+ var import_get_port = __toESM(require("get-port"));
32
+ const MIN_PORT = 1e4;
11
33
  const MAX_PORT = 49151;
12
34
  const randomIntBetween = (min, max) => min + Math.floor(Math.random() * (1 + max - min));
13
- exports.randomIntBetween = randomIntBetween;
14
35
  const getRandomPort = () => {
15
- // Seed some random ports to use, if available.
16
- // get-port falls back to the private port range.
17
- const preferredPorts = new Array(10)
18
- .fill(null)
19
- .map(() => (0, exports.randomIntBetween)(MIN_PORT, MAX_PORT));
20
- return (0, get_port_1.default)({ port: preferredPorts });
36
+ const preferredPorts = new Array(10).fill(null).map(() => randomIntBetween(MIN_PORT, MAX_PORT));
37
+ return (0, import_get_port.default)({ port: preferredPorts });
21
38
  };
22
- exports.getRandomPort = getRandomPort;
23
- //# sourceMappingURL=port.js.map
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ getRandomPort,
42
+ randomIntBetween
43
+ });
44
+ //# sourceMappingURL=port.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/utils/port.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAE/B,sEAAsE;AACtE,MAAM,QAAQ,GAAG,KAAK,CAAC;AAEvB,gDAAgD;AAChD,MAAM,QAAQ,GAAG,KAAK,CAAC;AAEhB,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAC3D,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AADvC,QAAA,gBAAgB,oBACuB;AAE7C,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,+CAA+C;IAC/C,iDAAiD;IACjD,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;SACjC,IAAI,CAAC,IAAI,CAAC;SACV,GAAG,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAgB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnD,OAAO,IAAA,kBAAO,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/port.ts"],
4
+ "sourcesContent": ["import getPort from 'get-port';\n\n/* Smallest 5-digit port; these are less common than 4-digit ports. */\nconst MIN_PORT = 10000;\n\n/** Largest port in the IANA user port range. */\nconst MAX_PORT = 49151;\n\nexport const randomIntBetween = (min: number, max: number) =>\n min + Math.floor(Math.random() * (1 + max - min));\n\nexport const getRandomPort = () => {\n // Seed some random ports to use, if available.\n // get-port falls back to the private port range.\n const preferredPorts = new Array(10)\n .fill(null)\n .map(() => randomIntBetween(MIN_PORT, MAX_PORT));\n\n return getPort({ port: preferredPorts });\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAoB;AAGpB,MAAM,WAAW;AAGjB,MAAM,WAAW;AAEV,MAAM,mBAAmB,CAAC,KAAa,QAC5C,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI,MAAM,IAAI;AAE3C,MAAM,gBAAgB,MAAM;AAGjC,QAAM,iBAAiB,IAAI,MAAM,EAAE,EAChC,KAAK,IAAI,EACT,IAAI,MAAM,iBAAiB,UAAU,QAAQ,CAAC;AAEjD,aAAO,gBAAAA,SAAQ,EAAE,MAAM,eAAe,CAAC;AACzC;",
6
+ "names": ["getPort"]
7
+ }
@@ -1,93 +1,112 @@
1
1
  "use strict";
2
- /* eslint-disable new-cap */
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- 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 });
25
11
  };
26
- var __importDefault = (this && this.__importDefault) || function (mod) {
27
- 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;
28
19
  };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.readBaseTemplateFile = exports.ensureTemplateConfigDeletion = exports.BASE_TEMPLATE_DIR = exports.TEMPLATE_DIR = exports.TEMPLATE_CONFIG_FILENAME = exports.TemplateConfig = exports.TEMPLATE_DOCUMENTATION_CONFIG = exports.TEMPLATE_NAMES_WITH_BYO = exports.TEMPLATE_NAMES = void 0;
31
- const path_1 = __importDefault(require("path"));
32
- const fs_extra_1 = __importDefault(require("fs-extra"));
33
- const t = __importStar(require("runtypes"));
34
- const manifest_1 = require("./manifest");
35
- exports.TEMPLATE_NAMES = [
36
- 'express-rest-api',
37
- 'greeter',
38
- 'koa-rest-api',
39
- 'lambda-sqs-worker',
40
- 'lambda-sqs-worker-cdk',
41
- 'oss-npm-package',
42
- 'private-npm-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 template_exports = {};
26
+ __export(template_exports, {
27
+ BASE_TEMPLATE_DIR: () => BASE_TEMPLATE_DIR,
28
+ TEMPLATE_CONFIG_FILENAME: () => TEMPLATE_CONFIG_FILENAME,
29
+ TEMPLATE_DIR: () => TEMPLATE_DIR,
30
+ TEMPLATE_DOCUMENTATION_CONFIG: () => TEMPLATE_DOCUMENTATION_CONFIG,
31
+ TEMPLATE_NAMES: () => TEMPLATE_NAMES,
32
+ TEMPLATE_NAMES_WITH_BYO: () => TEMPLATE_NAMES_WITH_BYO,
33
+ TemplateConfig: () => TemplateConfig,
34
+ ensureTemplateConfigDeletion: () => ensureTemplateConfigDeletion,
35
+ readBaseTemplateFile: () => readBaseTemplateFile
36
+ });
37
+ module.exports = __toCommonJS(template_exports);
38
+ var import_path = __toESM(require("path"));
39
+ var import_fs_extra = __toESM(require("fs-extra"));
40
+ var t = __toESM(require("runtypes"));
41
+ var import_manifest = require("./manifest");
42
+ const TEMPLATE_NAMES = [
43
+ "express-rest-api",
44
+ "greeter",
45
+ "koa-rest-api",
46
+ "lambda-sqs-worker",
47
+ "lambda-sqs-worker-cdk",
48
+ "oss-npm-package",
49
+ "private-npm-package"
43
50
  ];
44
- exports.TEMPLATE_NAMES_WITH_BYO = [...exports.TEMPLATE_NAMES, 'github →'];
45
- exports.TEMPLATE_DOCUMENTATION_CONFIG = {
46
- 'express-rest-api': {
47
- added: '3.8.0',
48
- filename: 'api.md',
49
- },
50
- greeter: {
51
- added: '3.4.1',
52
- filename: 'barebones.md',
53
- },
54
- 'koa-rest-api': {
55
- added: '3.4.1',
56
- filename: 'api.md',
57
- },
58
- 'lambda-sqs-worker': {
59
- added: '3.4.1',
60
- filename: 'worker.md',
61
- },
62
- 'lambda-sqs-worker-cdk': {
63
- added: '3.13.0',
64
- filename: 'worker.md',
65
- },
66
- 'oss-npm-package': {
67
- added: '3.7.0',
68
- filename: 'package.md',
69
- },
70
- 'private-npm-package': {
71
- added: '3.6.0',
72
- filename: 'package.md',
73
- },
51
+ const TEMPLATE_NAMES_WITH_BYO = [...TEMPLATE_NAMES, "github \u2192"];
52
+ const TEMPLATE_DOCUMENTATION_CONFIG = {
53
+ "express-rest-api": {
54
+ added: "3.8.0",
55
+ filename: "api.md"
56
+ },
57
+ greeter: {
58
+ added: "3.4.1",
59
+ filename: "barebones.md"
60
+ },
61
+ "koa-rest-api": {
62
+ added: "3.4.1",
63
+ filename: "api.md"
64
+ },
65
+ "lambda-sqs-worker": {
66
+ added: "3.4.1",
67
+ filename: "worker.md"
68
+ },
69
+ "lambda-sqs-worker-cdk": {
70
+ added: "3.13.0",
71
+ filename: "worker.md"
72
+ },
73
+ "oss-npm-package": {
74
+ added: "3.7.0",
75
+ filename: "package.md"
76
+ },
77
+ "private-npm-package": {
78
+ added: "3.6.0",
79
+ filename: "package.md"
80
+ }
74
81
  };
75
- exports.TemplateConfig = t.Record({
76
- fields: t.Array(t.Record({
77
- name: t.String,
78
- message: t.String,
79
- initial: t.String,
80
- validate: t.Function.optional(),
81
- })),
82
- entryPoint: t.String.optional(),
83
- noSkip: t.Boolean.optional(),
84
- type: manifest_1.ProjectType.optional(),
82
+ const TemplateConfig = t.Record({
83
+ fields: t.Array(
84
+ t.Record({
85
+ name: t.String,
86
+ message: t.String,
87
+ initial: t.String,
88
+ validate: t.Function.optional()
89
+ })
90
+ ),
91
+ entryPoint: t.String.optional(),
92
+ noSkip: t.Boolean.optional(),
93
+ type: import_manifest.ProjectType.optional()
94
+ });
95
+ const TEMPLATE_CONFIG_FILENAME = "skuba.template.js";
96
+ const TEMPLATE_DIR = import_path.default.join(__dirname, "..", "..", "template");
97
+ const BASE_TEMPLATE_DIR = import_path.default.join(TEMPLATE_DIR, "base");
98
+ const ensureTemplateConfigDeletion = (dir) => import_fs_extra.default.promises.rm(import_path.default.join(dir, TEMPLATE_CONFIG_FILENAME));
99
+ const readBaseTemplateFile = (src) => import_fs_extra.default.promises.readFile(import_path.default.join(BASE_TEMPLATE_DIR, src), "utf8");
100
+ // Annotate the CommonJS export names for ESM import in node:
101
+ 0 && (module.exports = {
102
+ BASE_TEMPLATE_DIR,
103
+ TEMPLATE_CONFIG_FILENAME,
104
+ TEMPLATE_DIR,
105
+ TEMPLATE_DOCUMENTATION_CONFIG,
106
+ TEMPLATE_NAMES,
107
+ TEMPLATE_NAMES_WITH_BYO,
108
+ TemplateConfig,
109
+ ensureTemplateConfigDeletion,
110
+ readBaseTemplateFile
85
111
  });
86
- exports.TEMPLATE_CONFIG_FILENAME = 'skuba.template.js';
87
- exports.TEMPLATE_DIR = path_1.default.join(__dirname, '..', '..', 'template');
88
- exports.BASE_TEMPLATE_DIR = path_1.default.join(exports.TEMPLATE_DIR, 'base');
89
- const ensureTemplateConfigDeletion = (dir) => fs_extra_1.default.promises.rm(path_1.default.join(dir, exports.TEMPLATE_CONFIG_FILENAME));
90
- exports.ensureTemplateConfigDeletion = ensureTemplateConfigDeletion;
91
- const readBaseTemplateFile = (src) => fs_extra_1.default.promises.readFile(path_1.default.join(exports.BASE_TEMPLATE_DIR, src), 'utf8');
92
- exports.readBaseTemplateFile = readBaseTemplateFile;
93
- //# sourceMappingURL=template.js.map
112
+ //# sourceMappingURL=template.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5B,gDAAwB;AAExB,wDAA0B;AAC1B,4CAA8B;AAE9B,yCAAyC;AAE5B,QAAA,cAAc,GAAG;IAC5B,kBAAkB;IAClB,SAAS;IACT,cAAc;IACd,mBAAmB;IACnB,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;CACb,CAAC;AAIE,QAAA,uBAAuB,GAAG,CAAC,GAAG,sBAAc,EAAE,UAAU,CAAU,CAAC;AAkBnE,QAAA,6BAA6B,GAGtC;IACF,kBAAkB,EAAE;QAClB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,QAAQ;KACnB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,cAAc;KACzB;IACD,cAAc,EAAE;QACd,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,QAAQ;KACnB;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW;KACtB;IACD,uBAAuB,EAAE;QACvB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,WAAW;KACtB;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,YAAY;KACvB;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,YAAY;KACvB;CACF,CAAC;AAIW,QAAA,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM;QACd,OAAO,EAAE,CAAC,CAAC,MAAM;QACjB,OAAO,EAAE,CAAC,CAAC,MAAM;QACjB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;KAChC,CAAC,CACH;IACD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,sBAAW,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,mBAAmB,CAAC;AAE/C,QAAA,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAE5D,QAAA,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,MAAM,CAAC,CAAC;AAE1D,MAAM,4BAA4B,GAAG,CAAC,GAAW,EAAiB,EAAE,CACzE,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gCAAwB,CAAC,CAAC,CAAC;AAD9C,QAAA,4BAA4B,gCACkB;AAEpD,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAmB,EAAE,CACnE,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,yBAAiB,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AADrD,QAAA,oBAAoB,wBACiC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/template.ts"],
4
+ "sourcesContent": ["/* eslint-disable new-cap */\n\nimport path from 'path';\n\nimport fs from 'fs-extra';\nimport * as t from 'runtypes';\n\nimport { ProjectType } from './manifest';\n\nexport const TEMPLATE_NAMES = [\n 'express-rest-api',\n 'greeter',\n 'koa-rest-api',\n 'lambda-sqs-worker',\n 'lambda-sqs-worker-cdk',\n 'oss-npm-package',\n 'private-npm-package',\n] as const;\n\nexport type TemplateName = typeof TEMPLATE_NAMES[number];\n\nexport const TEMPLATE_NAMES_WITH_BYO = [...TEMPLATE_NAMES, 'github \u2192'] as const;\n\ninterface TemplateDocumentationConfig {\n /**\n * The semantic version in which the template was first added.\n *\n * This is used to filter out historical changelogs.\n */\n added: string;\n\n /**\n * The Markdown file for the template in our `/docs`.\n *\n * This is used to compile per-template changelogs for our documentation site.\n */\n filename: string;\n}\n\nexport const TEMPLATE_DOCUMENTATION_CONFIG: Record<\n TemplateName,\n TemplateDocumentationConfig\n> = {\n 'express-rest-api': {\n added: '3.8.0',\n filename: 'api.md',\n },\n greeter: {\n added: '3.4.1',\n filename: 'barebones.md',\n },\n 'koa-rest-api': {\n added: '3.4.1',\n filename: 'api.md',\n },\n 'lambda-sqs-worker': {\n added: '3.4.1',\n filename: 'worker.md',\n },\n 'lambda-sqs-worker-cdk': {\n added: '3.13.0',\n filename: 'worker.md',\n },\n 'oss-npm-package': {\n added: '3.7.0',\n filename: 'package.md',\n },\n 'private-npm-package': {\n added: '3.6.0',\n filename: 'package.md',\n },\n};\n\nexport type TemplateConfig = t.Static<typeof TemplateConfig>;\n\nexport const TemplateConfig = t.Record({\n fields: t.Array(\n t.Record({\n name: t.String,\n message: t.String,\n initial: t.String,\n validate: t.Function.optional(),\n }),\n ),\n entryPoint: t.String.optional(),\n noSkip: t.Boolean.optional(),\n type: ProjectType.optional(),\n});\n\nexport const TEMPLATE_CONFIG_FILENAME = 'skuba.template.js';\n\nexport const TEMPLATE_DIR = path.join(__dirname, '..', '..', 'template');\n\nexport const BASE_TEMPLATE_DIR = path.join(TEMPLATE_DIR, 'base');\n\nexport const ensureTemplateConfigDeletion = (dir: string): Promise<void> =>\n fs.promises.rm(path.join(dir, TEMPLATE_CONFIG_FILENAME));\n\nexport const readBaseTemplateFile = (src: string): Promise<string> =>\n fs.promises.readFile(path.join(BASE_TEMPLATE_DIR, src), 'utf8');\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAAiB;AAEjB,sBAAe;AACf,QAAmB;AAEnB,sBAA4B;AAErB,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,0BAA0B,CAAC,GAAG,gBAAgB,eAAU;AAkB9D,MAAM,gCAGT;AAAA,EACF,oBAAoB;AAAA,IAClB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,qBAAqB;AAAA,IACnB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,yBAAyB;AAAA,IACvB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,mBAAmB;AAAA,IACjB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA,uBAAuB;AAAA,IACrB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AACF;AAIO,MAAM,iBAAiB,EAAE,OAAO;AAAA,EACrC,QAAQ,EAAE;AAAA,IACR,EAAE,OAAO;AAAA,MACP,MAAM,EAAE;AAAA,MACR,SAAS,EAAE;AAAA,MACX,SAAS,EAAE;AAAA,MACX,UAAU,EAAE,SAAS,SAAS;AAAA,IAChC,CAAC;AAAA,EACH;AAAA,EACA,YAAY,EAAE,OAAO,SAAS;AAAA,EAC9B,QAAQ,EAAE,QAAQ,SAAS;AAAA,EAC3B,MAAM,4BAAY,SAAS;AAC7B,CAAC;AAEM,MAAM,2BAA2B;AAEjC,MAAM,eAAe,YAAAA,QAAK,KAAK,WAAW,MAAM,MAAM,UAAU;AAEhE,MAAM,oBAAoB,YAAAA,QAAK,KAAK,cAAc,MAAM;AAExD,MAAM,+BAA+B,CAAC,QAC3C,gBAAAC,QAAG,SAAS,GAAG,YAAAD,QAAK,KAAK,KAAK,wBAAwB,CAAC;AAElD,MAAM,uBAAuB,CAAC,QACnC,gBAAAC,QAAG,SAAS,SAAS,YAAAD,QAAK,KAAK,mBAAmB,GAAG,GAAG,MAAM;",
6
+ "names": ["path", "fs"]
7
+ }
@@ -1,19 +1,44 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasStringProp = exports.hasNumberProp = exports.hasProp = exports.isObject = exports.isIpPort = exports.isFunction = void 0;
4
- const isFunction = (data) => typeof data === 'function';
5
- exports.isFunction = isFunction;
6
- const isIpPort = (value) => typeof value === 'number' &&
7
- Number.isSafeInteger(value) &&
8
- value >= 0 &&
9
- value <= 65535;
10
- exports.isIpPort = isIpPort;
11
- const isObject = (value) => typeof value === 'object' && value !== null;
12
- exports.isObject = isObject;
13
- const hasProp = (value, prop) => (0, exports.isObject)(value) && value.hasOwnProperty(prop);
14
- exports.hasProp = hasProp;
15
- const hasNumberProp = (value, prop) => (0, exports.isObject)(value) && typeof value[prop] === 'number';
16
- exports.hasNumberProp = hasNumberProp;
17
- const hasStringProp = (value, prop) => (0, exports.isObject)(value) && typeof value[prop] === 'string';
18
- exports.hasStringProp = hasStringProp;
19
- //# sourceMappingURL=validation.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 validation_exports = {};
20
+ __export(validation_exports, {
21
+ hasNumberProp: () => hasNumberProp,
22
+ hasProp: () => hasProp,
23
+ hasStringProp: () => hasStringProp,
24
+ isFunction: () => isFunction,
25
+ isIpPort: () => isIpPort,
26
+ isObject: () => isObject
27
+ });
28
+ module.exports = __toCommonJS(validation_exports);
29
+ const isFunction = (data) => typeof data === "function";
30
+ const isIpPort = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0 && value <= 65535;
31
+ const isObject = (value) => typeof value === "object" && value !== null;
32
+ const hasProp = (value, prop) => isObject(value) && value.hasOwnProperty(prop);
33
+ const hasNumberProp = (value, prop) => isObject(value) && typeof value[prop] === "number";
34
+ const hasStringProp = (value, prop) => isObject(value) && typeof value[prop] === "string";
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ hasNumberProp,
38
+ hasProp,
39
+ hasStringProp,
40
+ isFunction,
41
+ isIpPort,
42
+ isObject
43
+ });
44
+ //# sourceMappingURL=validation.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CACxB,IAAa,EAC+C,EAAE,CAC9D,OAAO,IAAI,KAAK,UAAU,CAAC;AAHhB,QAAA,UAAU,cAGM;AAEtB,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ;IACzB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;IAC3B,KAAK,IAAI,CAAC;IACV,KAAK,IAAI,KAAK,CAAC;AAJJ,QAAA,QAAQ,YAIJ;AAEV,MAAM,QAAQ,GAAG,CACtB,KAAc,EACyB,EAAE,CACzC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAHjC,QAAA,QAAQ,YAGyB;AAEvC,MAAM,OAAO,GAAG,CACrB,KAAc,EACd,IAAO,EACsB,EAAE,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAHnE,QAAA,OAAO,WAG4D;AAEzE,MAAM,aAAa,GAAG,CAC3B,KAAc,EACd,IAAO,EACqB,EAAE,CAC9B,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;AAJxC,QAAA,aAAa,iBAI2B;AAE9C,MAAM,aAAa,GAAG,CAC3B,KAAc,EACd,IAAO,EACqB,EAAE,CAC9B,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;AAJxC,QAAA,aAAa,iBAI2B"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/validation.ts"],
4
+ "sourcesContent": ["export const isFunction = (\n data: unknown,\n): data is (...args: unknown[]) => unknown | Promise<unknown> =>\n typeof data === 'function';\n\nexport const isIpPort = (value: unknown): value is number =>\n typeof value === 'number' &&\n Number.isSafeInteger(value) &&\n value >= 0 &&\n value <= 65535;\n\nexport const isObject = (\n value: unknown,\n): value is Record<PropertyKey, unknown> =>\n typeof value === 'object' && value !== null;\n\nexport const hasProp = <P extends PropertyKey>(\n value: unknown,\n prop: P,\n): value is Record<P, unknown> => isObject(value) && value.hasOwnProperty(prop);\n\nexport const hasNumberProp = <P extends PropertyKey>(\n value: unknown,\n prop: P,\n): value is Record<P, string> =>\n isObject(value) && typeof value[prop] === 'number';\n\nexport const hasStringProp = <P extends PropertyKey>(\n value: unknown,\n prop: P,\n): value is Record<P, string> =>\n isObject(value) && typeof value[prop] === 'string';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,aAAa,CACxB,SAEA,OAAO,SAAS;AAEX,MAAM,WAAW,CAAC,UACvB,OAAO,UAAU,YACjB,OAAO,cAAc,KAAK,KAC1B,SAAS,KACT,SAAS;AAEJ,MAAM,WAAW,CACtB,UAEA,OAAO,UAAU,YAAY,UAAU;AAElC,MAAM,UAAU,CACrB,OACA,SACgC,SAAS,KAAK,KAAK,MAAM,eAAe,IAAI;AAEvE,MAAM,gBAAgB,CAC3B,OACA,SAEA,SAAS,KAAK,KAAK,OAAO,MAAM,UAAU;AAErC,MAAM,gBAAgB,CAC3B,OACA,SAEA,SAAS,KAAK,KAAK,OAAO,MAAM,UAAU;",
6
+ "names": []
7
+ }