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
package/lib/utils/exec.js CHANGED
@@ -1,131 +1,160 @@
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.hasCommand = exports.ensureCommands = exports.execConcurrently = exports.exec = exports.createExec = void 0;
7
- const os_1 = require("os");
8
- const stream_1 = __importDefault(require("stream"));
9
- const util_1 = __importDefault(require("util"));
10
- const concurrently_1 = __importDefault(require("concurrently"));
11
- const execa_1 = __importDefault(require("execa"));
12
- const npm_run_path_1 = __importDefault(require("npm-run-path"));
13
- const npm_which_1 = __importDefault(require("npm-which"));
14
- const error_1 = require("./error");
15
- const logging_1 = require("./logging");
16
- class YarnSpamFilter extends stream_1.default.Transform {
17
- constructor() {
18
- super(...arguments);
19
- this.silenced = false;
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 exec_exports = {};
26
+ __export(exec_exports, {
27
+ createExec: () => createExec,
28
+ ensureCommands: () => ensureCommands,
29
+ exec: () => exec,
30
+ execConcurrently: () => execConcurrently,
31
+ hasCommand: () => hasCommand
32
+ });
33
+ module.exports = __toCommonJS(exec_exports);
34
+ var import_os = require("os");
35
+ var import_stream = __toESM(require("stream"));
36
+ var import_util = __toESM(require("util"));
37
+ var import_concurrently = __toESM(require("concurrently"));
38
+ var import_execa = __toESM(require("execa"));
39
+ var import_npm_run_path = __toESM(require("npm-run-path"));
40
+ var import_npm_which = __toESM(require("npm-which"));
41
+ var import_error = require("./error");
42
+ var import_logging = require("./logging");
43
+ class YarnSpamFilter extends import_stream.default.Transform {
44
+ constructor() {
45
+ super(...arguments);
46
+ this.silenced = false;
47
+ }
48
+ _transform(chunk, _encoding, callback) {
49
+ const str = Buffer.from(chunk).toString();
50
+ if (str.startsWith("info Direct dependencies")) {
51
+ this.silenced = true;
20
52
  }
21
- _transform(chunk, _encoding, callback) {
22
- const str = Buffer.from(chunk).toString();
23
- // Yarn spews the entire installed dependency tree after this message
24
- if (str.startsWith('info Direct dependencies')) {
25
- this.silenced = true;
26
- }
27
- if (!this.silenced &&
28
- // This isn't very useful given the command generates a lockfile
29
- !str.startsWith('info No lockfile found')) {
30
- this.push(chunk);
31
- }
32
- callback();
53
+ if (!this.silenced && !str.startsWith("info No lockfile found")) {
54
+ this.push(chunk);
33
55
  }
56
+ callback();
57
+ }
34
58
  }
35
- class YarnWarningFilter extends stream_1.default.Transform {
36
- _transform(chunk, _encoding, callback) {
37
- const str = Buffer.from(chunk).toString();
38
- // Filter out annoying deprecation warnings that users can do little about
39
- if (!str.startsWith('warning skuba >')) {
40
- this.push(chunk);
41
- }
42
- callback();
59
+ class YarnWarningFilter extends import_stream.default.Transform {
60
+ _transform(chunk, _encoding, callback) {
61
+ const str = Buffer.from(chunk).toString();
62
+ if (!str.startsWith("warning skuba >")) {
63
+ this.push(chunk);
43
64
  }
65
+ callback();
66
+ }
44
67
  }
45
68
  const envWithPath = {
46
- PATH: (0, npm_run_path_1.default)({ cwd: __dirname }),
69
+ PATH: (0, import_npm_run_path.default)({ cwd: __dirname })
47
70
  };
48
71
  const runCommand = (command, args, opts) => {
49
- const subprocess = (0, execa_1.default)(command, args, {
50
- localDir: __dirname,
51
- preferLocal: true,
52
- stdio: 'inherit',
53
- ...opts,
54
- });
55
- switch (opts?.streamStdio) {
56
- case 'yarn':
57
- const stderrFilter = new YarnWarningFilter();
58
- const stdoutFilter = new YarnSpamFilter();
59
- subprocess.stderr?.pipe(stderrFilter).pipe(process.stderr);
60
- subprocess.stdout?.pipe(stdoutFilter).pipe(process.stdout);
61
- break;
62
- case true:
63
- subprocess.stderr?.pipe(process.stderr);
64
- subprocess.stdout?.pipe(process.stdout);
65
- break;
66
- }
67
- return subprocess;
72
+ const subprocess = (0, import_execa.default)(command, args, {
73
+ localDir: __dirname,
74
+ preferLocal: true,
75
+ stdio: "inherit",
76
+ ...opts
77
+ });
78
+ switch (opts?.streamStdio) {
79
+ case "yarn":
80
+ const stderrFilter = new YarnWarningFilter();
81
+ const stdoutFilter = new YarnSpamFilter();
82
+ subprocess.stderr?.pipe(stderrFilter).pipe(process.stderr);
83
+ subprocess.stdout?.pipe(stdoutFilter).pipe(process.stdout);
84
+ break;
85
+ case true:
86
+ subprocess.stderr?.pipe(process.stderr);
87
+ subprocess.stdout?.pipe(process.stdout);
88
+ break;
89
+ }
90
+ return subprocess;
68
91
  };
69
- const whichCallback = (0, npm_which_1.default)(__dirname);
70
- const which = util_1.default.promisify(whichCallback);
92
+ const whichCallback = (0, import_npm_which.default)(__dirname);
93
+ const which = import_util.default.promisify(whichCallback);
71
94
  const createExec = (opts) => (command, ...args) => runCommand(command, args, opts);
72
- exports.createExec = createExec;
73
95
  const exec = (command, ...args) => runCommand(command, args);
74
- exports.exec = exec;
75
96
  const execConcurrently = async (commands, { maxProcesses, nameLength, outputStream } = {}) => {
76
- const maxNameLength = nameLength ??
77
- commands.reduce((length, command) => Math.max(length, command.name.length), 0);
78
- try {
79
- await (0, concurrently_1.default)(commands.map(({ command, name, prefixColor }) => ({
80
- command,
81
- env: envWithPath,
82
- name: name.padEnd(maxNameLength),
83
- prefixColor,
84
- })), {
85
- maxProcesses: maxProcesses ?? (0, os_1.cpus)().length,
86
- outputStream,
87
- // Use a minimalist logging prefix.
88
- prefix: '{name} │',
89
- }).result;
90
- }
91
- catch (err) {
92
- const result = error_1.ConcurrentlyErrors.validate(err);
93
- if (!result.success) {
94
- throw err;
95
- }
96
- const failed = result.value
97
- .filter(({ exitCode }) => exitCode !== 0)
98
- .sort(({ index: indexA }, { index: indexB }) => indexA - indexB)
99
- .map((subprocess) => subprocess.command.name);
100
- throw Error(`${failed.join(', ')} subprocess${failed.length === 1 ? '' : 'es'} failed.`);
97
+ const maxNameLength = nameLength ?? commands.reduce(
98
+ (length, command) => Math.max(length, command.name.length),
99
+ 0
100
+ );
101
+ try {
102
+ await (0, import_concurrently.default)(
103
+ commands.map(({ command, name, prefixColor }) => ({
104
+ command,
105
+ env: envWithPath,
106
+ name: name.padEnd(maxNameLength),
107
+ prefixColor
108
+ })),
109
+ {
110
+ maxProcesses: maxProcesses ?? (0, import_os.cpus)().length,
111
+ outputStream,
112
+ prefix: "{name} \u2502"
113
+ }
114
+ ).result;
115
+ } catch (err) {
116
+ const result = import_error.ConcurrentlyErrors.validate(err);
117
+ if (!result.success) {
118
+ throw err;
101
119
  }
120
+ const failed = result.value.filter(({ exitCode }) => exitCode !== 0).sort(({ index: indexA }, { index: indexB }) => indexA - indexB).map((subprocess) => subprocess.command.name);
121
+ throw Error(
122
+ `${failed.join(", ")} subprocess${failed.length === 1 ? "" : "es"} failed.`
123
+ );
124
+ }
102
125
  };
103
- exports.execConcurrently = execConcurrently;
104
126
  const ensureCommands = async (...names) => {
105
- let success = true;
106
- await Promise.all(names.map(async (name) => {
107
- const result = await (0, exports.hasCommand)(name);
108
- if (!result) {
109
- success = false;
110
- logging_1.log.err(logging_1.log.bold(name), 'needs to be installed.');
111
- }
112
- }));
113
- if (!success) {
114
- process.exit(1);
115
- }
127
+ let success = true;
128
+ await Promise.all(
129
+ names.map(async (name) => {
130
+ const result = await hasCommand(name);
131
+ if (!result) {
132
+ success = false;
133
+ import_logging.log.err(import_logging.log.bold(name), "needs to be installed.");
134
+ }
135
+ })
136
+ );
137
+ if (!success) {
138
+ process.exit(1);
139
+ }
116
140
  };
117
- exports.ensureCommands = ensureCommands;
118
141
  const hasCommand = async (name) => {
119
- try {
120
- await which(name);
121
- return true;
122
- }
123
- catch (err) {
124
- if ((0, error_1.isErrorWithCode)(err, 'ENOENT')) {
125
- return false;
126
- }
127
- throw err;
142
+ try {
143
+ await which(name);
144
+ return true;
145
+ } catch (err) {
146
+ if ((0, import_error.isErrorWithCode)(err, "ENOENT")) {
147
+ return false;
128
148
  }
149
+ throw err;
150
+ }
129
151
  };
130
- exports.hasCommand = hasCommand;
131
- //# sourceMappingURL=exec.js.map
152
+ // Annotate the CommonJS export names for ESM import in node:
153
+ 0 && (module.exports = {
154
+ createExec,
155
+ ensureCommands,
156
+ exec,
157
+ execConcurrently,
158
+ hasCommand
159
+ });
160
+ //# sourceMappingURL=exec.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/exec.ts"],
4
+ "sourcesContent": ["import { cpus } from 'os';\nimport stream from 'stream';\nimport util from 'util';\n\nimport type { Color } from 'chalk';\nimport concurrently from 'concurrently';\nimport type { ExecaChildProcess } from 'execa';\nimport execa from 'execa';\nimport npmRunPath from 'npm-run-path';\nimport npmWhich from 'npm-which';\n\nimport { ConcurrentlyErrors, isErrorWithCode } from './error';\nimport { log } from './logging';\n\nclass YarnSpamFilter extends stream.Transform {\n silenced = false;\n\n _transform(\n chunk: Uint8Array,\n _encoding: BufferEncoding,\n callback: stream.TransformCallback,\n ) {\n const str = Buffer.from(chunk).toString();\n\n // Yarn spews the entire installed dependency tree after this message\n if (str.startsWith('info Direct dependencies')) {\n this.silenced = true;\n }\n\n if (\n !this.silenced &&\n // This isn't very useful given the command generates a lockfile\n !str.startsWith('info No lockfile found')\n ) {\n this.push(chunk);\n }\n\n callback();\n }\n}\n\nclass YarnWarningFilter extends stream.Transform {\n _transform(\n chunk: Uint8Array,\n _encoding: BufferEncoding,\n callback: stream.TransformCallback,\n ) {\n const str = Buffer.from(chunk).toString();\n\n // Filter out annoying deprecation warnings that users can do little about\n if (!str.startsWith('warning skuba >')) {\n this.push(chunk);\n }\n\n callback();\n }\n}\n\nexport type Exec = (\n command: string,\n ...args: string[]\n) => ExecaChildProcess<string>;\n\ninterface ExecConcurrentlyCommand {\n command: string;\n name: string;\n prefixColor?: typeof Color;\n}\n\ninterface ExecConcurrentlyOptions {\n /**\n * The maximum number of processes that can execute concurrently.\n *\n * Defaults to the CPU core count.\n */\n maxProcesses?: number;\n\n /**\n * A set length to pad names to.\n *\n * Defaults to the length of the longest command name.\n */\n nameLength?: number;\n\n /**\n * The stream that logging output will be written to.\n *\n * Defaults to `process.stdout`.\n */\n outputStream?: stream.Writable;\n}\n\ntype ExecOptions = execa.Options & { streamStdio?: true | 'yarn' };\n\nconst envWithPath = {\n PATH: npmRunPath({ cwd: __dirname }),\n};\n\nconst runCommand = (command: string, args: string[], opts?: ExecOptions) => {\n const subprocess = execa(command, args, {\n localDir: __dirname,\n preferLocal: true,\n stdio: 'inherit',\n ...opts,\n });\n\n switch (opts?.streamStdio) {\n case 'yarn':\n const stderrFilter = new YarnWarningFilter();\n const stdoutFilter = new YarnSpamFilter();\n\n subprocess.stderr?.pipe(stderrFilter).pipe(process.stderr);\n subprocess.stdout?.pipe(stdoutFilter).pipe(process.stdout);\n\n break;\n\n case true:\n subprocess.stderr?.pipe(process.stderr);\n subprocess.stdout?.pipe(process.stdout);\n\n break;\n }\n\n return subprocess;\n};\n\nconst whichCallback = npmWhich(__dirname);\n\nconst which = util.promisify<string, string>(whichCallback);\n\nexport const createExec =\n (opts: ExecOptions): Exec =>\n (command, ...args) =>\n runCommand(command, args, opts);\n\nexport const exec: Exec = (command, ...args) => runCommand(command, args);\n\nexport const execConcurrently = async (\n commands: ExecConcurrentlyCommand[],\n { maxProcesses, nameLength, outputStream }: ExecConcurrentlyOptions = {},\n) => {\n const maxNameLength =\n nameLength ??\n commands.reduce(\n (length, command) => Math.max(length, command.name.length),\n 0,\n );\n\n try {\n await concurrently(\n commands.map(({ command, name, prefixColor }) => ({\n command,\n env: envWithPath,\n name: name.padEnd(maxNameLength),\n prefixColor,\n })),\n {\n maxProcesses: maxProcesses ?? cpus().length,\n\n outputStream,\n\n // Use a minimalist logging prefix.\n prefix: '{name} \u2502',\n },\n ).result;\n } catch (err) {\n const result = ConcurrentlyErrors.validate(err);\n\n if (!result.success) {\n throw err;\n }\n\n const failed = result.value\n .filter(({ exitCode }) => exitCode !== 0)\n .sort(({ index: indexA }, { index: indexB }) => indexA - indexB)\n .map((subprocess) => subprocess.command.name);\n\n throw Error(\n `${failed.join(', ')} subprocess${\n failed.length === 1 ? '' : 'es'\n } failed.`,\n );\n }\n};\n\nexport const ensureCommands = async (...names: string[]) => {\n let success = true;\n\n await Promise.all(\n names.map(async (name) => {\n const result = await hasCommand(name);\n\n if (!result) {\n success = false;\n\n log.err(log.bold(name), 'needs to be installed.');\n }\n }),\n );\n\n if (!success) {\n process.exit(1);\n }\n};\n\nexport const hasCommand = async (name: string) => {\n try {\n await which(name);\n\n return true;\n } catch (err) {\n if (isErrorWithCode(err, 'ENOENT')) {\n return false;\n }\n\n throw err;\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["stream", "npmRunPath", "execa", "npmWhich", "util", "concurrently"]
7
+ }
package/lib/utils/help.js CHANGED
@@ -1,11 +1,34 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.showHelp = void 0;
4
- const command_1 = require("./command");
5
- const logging_1 = require("./logging");
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 help_exports = {};
20
+ __export(help_exports, {
21
+ showHelp: () => showHelp
22
+ });
23
+ module.exports = __toCommonJS(help_exports);
24
+ var import_command = require("./command");
25
+ var import_logging = require("./logging");
6
26
  const showHelp = () => {
7
- logging_1.log.plain(logging_1.log.bold('Available commands:'));
8
- command_1.COMMAND_LIST.forEach((item) => logging_1.log.plain(item));
27
+ import_logging.log.plain(import_logging.log.bold("Available commands:"));
28
+ import_command.COMMAND_LIST.forEach((item) => import_logging.log.plain(item));
9
29
  };
10
- exports.showHelp = showHelp;
11
- //# sourceMappingURL=help.js.map
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ showHelp
33
+ });
34
+ //# sourceMappingURL=help.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/utils/help.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AACzC,uCAAgC;AAEzB,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,aAAG,CAAC,KAAK,CAAC,aAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE3C,sBAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AAJW,QAAA,QAAQ,YAInB"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/help.ts"],
4
+ "sourcesContent": ["import { COMMAND_LIST } from './command';\nimport { log } from './logging';\n\nexport const showHelp = () => {\n log.plain(log.bold('Available commands:'));\n\n COMMAND_LIST.forEach((item) => log.plain(item));\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6B;AAC7B,qBAAoB;AAEb,MAAM,WAAW,MAAM;AAC5B,qBAAI,MAAM,mBAAI,KAAK,qBAAqB,CAAC;AAEzC,8BAAa,QAAQ,CAAC,SAAS,mBAAI,MAAM,IAAI,CAAC;AAChD;",
6
+ "names": []
7
+ }
@@ -1,28 +1,56 @@
1
1
  "use strict";
2
- /* eslint-disable no-console */
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- 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 });
5
11
  };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.pluralise = exports.log = exports.createLogger = void 0;
8
- const chalk_1 = __importDefault(require("chalk"));
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 logging_exports = {};
26
+ __export(logging_exports, {
27
+ createLogger: () => createLogger,
28
+ log: () => log,
29
+ pluralise: () => pluralise
30
+ });
31
+ module.exports = __toCommonJS(logging_exports);
32
+ var import_chalk = __toESM(require("chalk"));
9
33
  const createLogger = (debug, ...prefixes) => {
10
- const log = (...message) => console.log(...prefixes, ...message);
11
- return {
12
- bold: chalk_1.default.bold,
13
- formatSubtle: chalk_1.default.grey,
14
- timing: (start, end) => `${Number((end - start) / BigInt(10000000)) / 100}s`,
15
- debug: (...message) => debug ? log(chalk_1.default.grey(...message)) : undefined,
16
- subtle: (...message) => log(chalk_1.default.grey(...message)),
17
- err: (...message) => log(chalk_1.default.red(...message)),
18
- newline: () => log(),
19
- ok: (...message) => log(chalk_1.default.green(...message)),
20
- plain: (...message) => log(...message),
21
- warn: (...message) => log(chalk_1.default.yellow(...message)),
22
- };
34
+ const log2 = (...message) => console.log(...prefixes, ...message);
35
+ return {
36
+ bold: import_chalk.default.bold,
37
+ formatSubtle: import_chalk.default.grey,
38
+ timing: (start, end) => `${Number((end - start) / BigInt(1e7)) / 100}s`,
39
+ debug: (...message) => debug ? log2(import_chalk.default.grey(...message)) : void 0,
40
+ subtle: (...message) => log2(import_chalk.default.grey(...message)),
41
+ err: (...message) => log2(import_chalk.default.red(...message)),
42
+ newline: () => log2(),
43
+ ok: (...message) => log2(import_chalk.default.green(...message)),
44
+ plain: (...message) => log2(...message),
45
+ warn: (...message) => log2(import_chalk.default.yellow(...message))
46
+ };
23
47
  };
24
- exports.createLogger = createLogger;
25
- exports.log = (0, exports.createLogger)(false);
26
- const pluralise = (count, subject) => `${count} ${subject}${count === 1 ? '' : 's'}`;
27
- exports.pluralise = pluralise;
28
- //# sourceMappingURL=logging.js.map
48
+ const log = createLogger(false);
49
+ const pluralise = (count, subject) => `${count} ${subject}${count === 1 ? "" : "s"}`;
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ createLogger,
53
+ log,
54
+ pluralise
55
+ });
56
+ //# sourceMappingURL=logging.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;;;;AAE/B,kDAA0B;AAInB,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,GAAG,QAAmB,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,CAAC,GAAG,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;IAE5E,OAAO;QACL,IAAI,EAAE,eAAK,CAAC,IAAI;QAChB,YAAY,EAAE,eAAK,CAAC,IAAI;QAExB,MAAM,EAAE,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE,CACrC,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,QAAU,CAAC,CAAC,GAAG,GAAG,GAAG;QAExD,KAAK,EAAE,CAAC,GAAG,OAAkB,EAAE,EAAE,CAC/B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACjD,MAAM,EAAE,CAAC,GAAG,OAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9D,GAAG,EAAE,CAAC,GAAG,OAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;QACpB,EAAE,EAAE,CAAC,GAAG,OAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;QAC3D,KAAK,EAAE,CAAC,GAAG,OAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACjD,IAAI,EAAE,CAAC,GAAG,OAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,YAAY,gBAmBvB;AAEW,QAAA,GAAG,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;AAEhC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CAC1D,GAAG,KAAK,IAAI,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AADpC,QAAA,SAAS,aAC2B"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/logging.ts"],
4
+ "sourcesContent": ["/* eslint-disable no-console */\n\nimport chalk from 'chalk';\n\nexport type Logger = typeof log;\n\nexport const createLogger = (debug: boolean, ...prefixes: unknown[]) => {\n const log = (...message: unknown[]) => console.log(...prefixes, ...message);\n\n return {\n bold: chalk.bold,\n formatSubtle: chalk.grey,\n\n timing: (start: bigint, end: bigint) =>\n `${Number((end - start) / BigInt(10_000_000)) / 100}s`,\n\n debug: (...message: unknown[]) =>\n debug ? log(chalk.grey(...message)) : undefined,\n subtle: (...message: unknown[]) => log(chalk.grey(...message)),\n err: (...message: unknown[]) => log(chalk.red(...message)),\n newline: () => log(),\n ok: (...message: unknown[]) => log(chalk.green(...message)),\n plain: (...message: unknown[]) => log(...message),\n warn: (...message: unknown[]) => log(chalk.yellow(...message)),\n };\n};\n\nexport const log = createLogger(false);\n\nexport const pluralise = (count: number, subject: string) =>\n `${count} ${subject}${count === 1 ? '' : 's'}`;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAkB;AAIX,MAAM,eAAe,CAAC,UAAmB,aAAwB;AACtE,QAAMA,OAAM,IAAI,YAAuB,QAAQ,IAAI,GAAG,UAAU,GAAG,OAAO;AAE1E,SAAO;AAAA,IACL,MAAM,aAAAC,QAAM;AAAA,IACZ,cAAc,aAAAA,QAAM;AAAA,IAEpB,QAAQ,CAAC,OAAe,QACtB,GAAG,QAAQ,MAAM,SAAS,OAAO,GAAU,CAAC,IAAI;AAAA,IAElD,OAAO,IAAI,YACT,QAAQD,KAAI,aAAAC,QAAM,KAAK,GAAG,OAAO,CAAC,IAAI;AAAA,IACxC,QAAQ,IAAI,YAAuBD,KAAI,aAAAC,QAAM,KAAK,GAAG,OAAO,CAAC;AAAA,IAC7D,KAAK,IAAI,YAAuBD,KAAI,aAAAC,QAAM,IAAI,GAAG,OAAO,CAAC;AAAA,IACzD,SAAS,MAAMD,KAAI;AAAA,IACnB,IAAI,IAAI,YAAuBA,KAAI,aAAAC,QAAM,MAAM,GAAG,OAAO,CAAC;AAAA,IAC1D,OAAO,IAAI,YAAuBD,KAAI,GAAG,OAAO;AAAA,IAChD,MAAM,IAAI,YAAuBA,KAAI,aAAAC,QAAM,OAAO,GAAG,OAAO,CAAC;AAAA,EAC/D;AACF;AAEO,MAAM,MAAM,aAAa,KAAK;AAE9B,MAAM,YAAY,CAAC,OAAe,YACvC,GAAG,SAAS,UAAU,UAAU,IAAI,KAAK;",
6
+ "names": ["log", "chalk"]
7
+ }
package/lib/utils/logo.js CHANGED
@@ -1,32 +1,70 @@
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.showLogoAndVersionInfo = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const is_installed_globally_1 = __importDefault(require("is-installed-globally"));
9
- const logging_1 = require("./logging");
10
- const version_1 = require("./version");
11
- const LOGO = chalk_1.default.blueBright(`
12
- ╭─╮ ${chalk_1.default.magentaBright(' ')}╭─╮
13
- ╭───│ ╰─${chalk_1.default.magentaBright('╭─┬─╮')} ╰─╮───╮
14
- │_ ─┤ <${chalk_1.default.magentaBright('│ │')}
15
- ╰───╰─┴─${chalk_1.default.magentaBright('╰───╯')}───╯── ╰
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 logo_exports = {};
26
+ __export(logo_exports, {
27
+ showLogoAndVersionInfo: () => showLogoAndVersionInfo
28
+ });
29
+ module.exports = __toCommonJS(logo_exports);
30
+ var import_chalk = __toESM(require("chalk"));
31
+ var import_is_installed_globally = __toESM(require("is-installed-globally"));
32
+ var import_logging = require("./logging");
33
+ var import_version = require("./version");
34
+ const LOGO = import_chalk.default.blueBright(`
35
+ \u256D\u2500\u256E ${import_chalk.default.magentaBright(" ")}\u256D\u2500\u256E
36
+ \u256D\u2500\u2500\u2500\u2502 \u2570\u2500${import_chalk.default.magentaBright("\u256D\u2500\u252C\u2500\u256E")} \u2570\u2500\u256E\u2500\u2500\u2500\u256E
37
+ \u2502_ \u2500\u2524 <${import_chalk.default.magentaBright("\u2502 \u2575 \u2502")} \u2022 \u2502 \u2022 \u2502
38
+ \u2570\u2500\u2500\u2500\u2570\u2500\u2534\u2500${import_chalk.default.magentaBright("\u2570\u2500\u2500\u2500\u256F")}\u2500\u2500\u2500\u256F\u2500\u2500 \u2570
16
39
  `);
17
40
  const showLogoAndVersionInfo = async () => {
18
- const versionInfo = await (0, version_1.getSkubaVersionInfo)();
19
- logging_1.log.plain(LOGO);
20
- logging_1.log.subtle(logging_1.log.bold(versionInfo.local), '|', 'latest', logging_1.log.bold(versionInfo.latest ?? 'offline ✈'));
21
- logging_1.log.newline();
22
- if (versionInfo.isStale) {
23
- logging_1.log.warn('Your skuba installation is out of date.');
24
- logging_1.log.warn('Consider upgrading:');
25
- logging_1.log.newline();
26
- logging_1.log.warn(logging_1.log.bold('yarn', ...(is_installed_globally_1.default ? ['global'] : []), 'upgrade', `skuba@${versionInfo.latest}`));
27
- logging_1.log.newline();
28
- }
29
- return versionInfo;
41
+ const versionInfo = await (0, import_version.getSkubaVersionInfo)();
42
+ import_logging.log.plain(LOGO);
43
+ import_logging.log.subtle(
44
+ import_logging.log.bold(versionInfo.local),
45
+ "|",
46
+ "latest",
47
+ import_logging.log.bold(versionInfo.latest ?? "offline \u2708")
48
+ );
49
+ import_logging.log.newline();
50
+ if (versionInfo.isStale) {
51
+ import_logging.log.warn("Your skuba installation is out of date.");
52
+ import_logging.log.warn("Consider upgrading:");
53
+ import_logging.log.newline();
54
+ import_logging.log.warn(
55
+ import_logging.log.bold(
56
+ "yarn",
57
+ ...import_is_installed_globally.default ? ["global"] : [],
58
+ "upgrade",
59
+ `skuba@${versionInfo.latest}`
60
+ )
61
+ );
62
+ import_logging.log.newline();
63
+ }
64
+ return versionInfo;
30
65
  };
31
- exports.showLogoAndVersionInfo = showLogoAndVersionInfo;
32
- //# sourceMappingURL=logo.js.map
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ showLogoAndVersionInfo
69
+ });
70
+ //# sourceMappingURL=logo.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"logo.js","sourceRoot":"","sources":["../../src/utils/logo.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kFAAwD;AAExD,uCAAgC;AAChC,uCAAgD;AAEhD,MAAM,IAAI,GAAG,eAAK,CAAC,UAAU,CAAC;UACpB,eAAK,CAAC,aAAa,CAAC,MAAM,CAAC;UAC3B,eAAK,CAAC,aAAa,CAAC,OAAO,CAAC;UAC5B,eAAK,CAAC,aAAa,CAAC,OAAO,CAAC;UAC5B,eAAK,CAAC,aAAa,CAAC,OAAO,CAAC;CACrC,CAAC,CAAC;AAEI,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC/C,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAmB,GAAE,CAAC;IAEhD,aAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,aAAG,CAAC,MAAM,CACR,aAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC3B,GAAG,EACH,QAAQ,EACR,aAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,CAC5C,CAAC;IACF,aAAG,CAAC,OAAO,EAAE,CAAC;IAEd,IAAI,WAAW,CAAC,OAAO,EAAE;QACvB,aAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACpD,aAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChC,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,IAAI,CACN,aAAG,CAAC,IAAI,CACN,MAAM,EACN,GAAG,CAAC,+BAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1C,SAAS,EACT,SAAS,WAAW,CAAC,MAAM,EAAE,CAC9B,CACF,CAAC;QACF,aAAG,CAAC,OAAO,EAAE,CAAC;KACf;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AA5BW,QAAA,sBAAsB,0BA4BjC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/logo.ts"],
4
+ "sourcesContent": ["import chalk from 'chalk';\nimport isInstalledGlobally from 'is-installed-globally';\n\nimport { log } from './logging';\nimport { getSkubaVersionInfo } from './version';\n\nconst LOGO = chalk.blueBright(`\n \u256D\u2500\u256E ${chalk.magentaBright(' ')}\u256D\u2500\u256E\n\u256D\u2500\u2500\u2500\u2502 \u2570\u2500${chalk.magentaBright('\u256D\u2500\u252C\u2500\u256E')} \u2570\u2500\u256E\u2500\u2500\u2500\u256E\n\u2502_ \u2500\u2524 <${chalk.magentaBright('\u2502 \u2575 \u2502')} \u2022 \u2502 \u2022 \u2502\n\u2570\u2500\u2500\u2500\u2570\u2500\u2534\u2500${chalk.magentaBright('\u2570\u2500\u2500\u2500\u256F')}\u2500\u2500\u2500\u256F\u2500\u2500 \u2570\n`);\n\nexport const showLogoAndVersionInfo = async () => {\n const versionInfo = await getSkubaVersionInfo();\n\n log.plain(LOGO);\n log.subtle(\n log.bold(versionInfo.local),\n '|',\n 'latest',\n log.bold(versionInfo.latest ?? 'offline \u2708'),\n );\n log.newline();\n\n if (versionInfo.isStale) {\n log.warn('Your skuba installation is out of date.');\n log.warn('Consider upgrading:');\n log.newline();\n log.warn(\n log.bold(\n 'yarn',\n ...(isInstalledGlobally ? ['global'] : []),\n 'upgrade',\n `skuba@${versionInfo.latest}`,\n ),\n );\n log.newline();\n }\n\n return versionInfo;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,mCAAgC;AAEhC,qBAAoB;AACpB,qBAAoC;AAEpC,MAAM,OAAO,aAAAA,QAAM,WAAW;AAAA,yBACpB,aAAAA,QAAM,cAAc,MAAM;AAAA,6CAC1B,aAAAA,QAAM,cAAc,gCAAO;AAAA,yBAC3B,aAAAA,QAAM,cAAc,sBAAO;AAAA,kDAC3B,aAAAA,QAAM,cAAc,gCAAO;AAAA,CACpC;AAEM,MAAM,yBAAyB,YAAY;AAChD,QAAM,cAAc,UAAM,oCAAoB;AAE9C,qBAAI,MAAM,IAAI;AACd,qBAAI;AAAA,IACF,mBAAI,KAAK,YAAY,KAAK;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,mBAAI,KAAK,YAAY,UAAU,gBAAW;AAAA,EAC5C;AACA,qBAAI,QAAQ;AAEZ,MAAI,YAAY,SAAS;AACvB,uBAAI,KAAK,yCAAyC;AAClD,uBAAI,KAAK,qBAAqB;AAC9B,uBAAI,QAAQ;AACZ,uBAAI;AAAA,MACF,mBAAI;AAAA,QACF;AAAA,QACA,GAAI,6BAAAC,UAAsB,CAAC,QAAQ,IAAI,CAAC;AAAA,QACxC;AAAA,QACA,SAAS,YAAY;AAAA,MACvB;AAAA,IACF;AACA,uBAAI,QAAQ;AAAA,EACd;AAEA,SAAO;AACT;",
6
+ "names": ["chalk", "isInstalledGlobally"]
7
+ }
@@ -6,4 +6,5 @@ export declare const ProjectType: t.Union<[t.Literal<"application">, t.Literal<"
6
6
  export declare const PROJECT_TYPES: readonly ["application", "package"];
7
7
  export declare const getSkubaManifest: () => Promise<NormalizedPackageJson>;
8
8
  export declare const getConsumerManifest: () => Promise<readPkgUp.NormalizedReadResult | undefined>;
9
+ export declare const getStringPropFromConsumerManifest: <T extends string>(prop: T) => Promise<string | undefined>;
9
10
  export declare const getEntryPointFromManifest: () => Promise<string>;