skuba 3.15.1 → 3.16.1

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 (128) hide show
  1. package/README.md +61 -2
  2. package/lib/api/github/checkRun.d.ts +22 -0
  3. package/lib/api/github/checkRun.js +111 -0
  4. package/lib/api/github/checkRun.js.map +1 -0
  5. package/lib/api/github/environment.d.ts +3 -0
  6. package/lib/api/github/environment.js +21 -0
  7. package/lib/api/github/environment.js.map +1 -0
  8. package/lib/api/github/index.d.ts +2 -0
  9. package/lib/api/github/index.js +6 -0
  10. package/lib/api/github/index.js.map +1 -0
  11. package/lib/api/jest/index.d.ts +1 -1
  12. package/lib/api/jest/index.js.map +1 -1
  13. package/lib/cli/adapter/eslint.d.ts +7 -0
  14. package/lib/cli/adapter/eslint.js +21 -9
  15. package/lib/cli/adapter/eslint.js.map +1 -1
  16. package/lib/cli/adapter/prettier.d.ts +1 -4
  17. package/lib/cli/adapter/prettier.js +18 -20
  18. package/lib/cli/adapter/prettier.js.map +1 -1
  19. package/lib/cli/configure/analysis/git.d.ts +1 -1
  20. package/lib/cli/configure/analysis/git.js +11 -17
  21. package/lib/cli/configure/analysis/git.js.map +1 -1
  22. package/lib/cli/configure/index.js +2 -2
  23. package/lib/cli/configure/index.js.map +1 -1
  24. package/lib/cli/configure/processing/record.d.ts +2 -2
  25. package/lib/cli/configure/processing/record.js +2 -2
  26. package/lib/cli/configure/processing/record.js.map +1 -1
  27. package/lib/cli/configure/refreshIgnoreFiles.d.ts +2 -0
  28. package/lib/cli/configure/refreshIgnoreFiles.js +55 -0
  29. package/lib/cli/configure/refreshIgnoreFiles.js.map +1 -0
  30. package/lib/cli/format.js +2 -0
  31. package/lib/cli/format.js.map +1 -1
  32. package/lib/cli/init/getConfig.d.ts +1 -1
  33. package/lib/cli/init/git.d.ts +2 -3
  34. package/lib/cli/init/git.js +41 -10
  35. package/lib/cli/init/git.js.map +1 -1
  36. package/lib/cli/init/index.js +3 -3
  37. package/lib/cli/init/index.js.map +1 -1
  38. package/lib/cli/lint/annotate/buildkite/eslint.d.ts +2 -0
  39. package/lib/cli/lint/annotate/buildkite/eslint.js +26 -0
  40. package/lib/cli/lint/annotate/buildkite/eslint.js.map +1 -0
  41. package/lib/cli/lint/annotate/buildkite/index.d.ts +4 -0
  42. package/lib/cli/lint/annotate/buildkite/index.js +53 -0
  43. package/lib/cli/lint/annotate/buildkite/index.js.map +1 -0
  44. package/lib/cli/lint/annotate/buildkite/prettier.d.ts +2 -0
  45. package/lib/cli/lint/annotate/buildkite/prettier.js +33 -0
  46. package/lib/cli/lint/annotate/buildkite/prettier.js.map +1 -0
  47. package/lib/cli/lint/annotate/buildkite/tsc.d.ts +2 -0
  48. package/lib/cli/lint/annotate/buildkite/tsc.js +37 -0
  49. package/lib/cli/lint/annotate/buildkite/tsc.js.map +1 -0
  50. package/lib/cli/lint/annotate/github/eslint.d.ts +3 -0
  51. package/lib/cli/lint/annotate/github/eslint.js +13 -0
  52. package/lib/cli/lint/annotate/github/eslint.js.map +1 -0
  53. package/lib/cli/lint/annotate/github/index.d.ts +4 -0
  54. package/lib/cli/lint/annotate/github/index.js +61 -0
  55. package/lib/cli/lint/annotate/github/index.js.map +1 -0
  56. package/lib/cli/lint/annotate/github/prettier.d.ts +3 -0
  57. package/lib/cli/lint/annotate/github/prettier.js +16 -0
  58. package/lib/cli/lint/annotate/github/prettier.js.map +1 -0
  59. package/lib/cli/lint/annotate/github/tsc.d.ts +3 -0
  60. package/lib/cli/lint/annotate/github/tsc.js +59 -0
  61. package/lib/cli/lint/annotate/github/tsc.js.map +1 -0
  62. package/lib/cli/lint/annotate/index.d.ts +4 -0
  63. package/lib/cli/lint/annotate/index.js +22 -0
  64. package/lib/cli/lint/annotate/index.js.map +1 -0
  65. package/lib/cli/lint/external.d.ts +7 -0
  66. package/lib/cli/lint/external.js +38 -41
  67. package/lib/cli/lint/external.js.map +1 -1
  68. package/lib/cli/lint/index.d.ts +1 -1
  69. package/lib/cli/lint/index.js +4 -1
  70. package/lib/cli/lint/index.js.map +1 -1
  71. package/lib/cli/lint/types.d.ts +10 -1
  72. package/lib/index.d.ts +1 -0
  73. package/lib/index.js +2 -1
  74. package/lib/index.js.map +1 -1
  75. package/lib/utils/args.d.ts +1 -1
  76. package/lib/utils/exec.d.ts +2 -1
  77. package/lib/utils/exec.js.map +1 -1
  78. package/lib/utils/logging.d.ts +1 -2
  79. package/lib/utils/logging.js +3 -2
  80. package/lib/utils/logging.js.map +1 -1
  81. package/lib/utils/worker.d.ts +0 -1
  82. package/lib/wrapper/functionHandler.js +8 -0
  83. package/lib/wrapper/functionHandler.js.map +1 -1
  84. package/lib/wrapper/http.js +11 -7
  85. package/lib/wrapper/http.js.map +1 -1
  86. package/package.json +17 -11
  87. package/template/base/_.gitignore +1 -0
  88. package/template/base/_.prettierignore +2 -0
  89. package/template/express-rest-api/.buildkite/pipeline.yml +4 -4
  90. package/template/express-rest-api/.nvmrc +1 -1
  91. package/template/express-rest-api/Dockerfile +1 -1
  92. package/template/express-rest-api/Dockerfile.dev-deps +1 -1
  93. package/template/express-rest-api/README.md +0 -12
  94. package/template/express-rest-api/docker-compose.yml +4 -2
  95. package/template/express-rest-api/package.json +5 -5
  96. package/template/express-rest-api/src/framework/logging.ts +2 -1
  97. package/template/greeter/.buildkite/pipeline.yml +1 -1
  98. package/template/greeter/.nvmrc +1 -1
  99. package/template/greeter/Dockerfile +1 -1
  100. package/template/greeter/README.md +0 -12
  101. package/template/greeter/docker-compose.yml +4 -2
  102. package/template/greeter/package.json +2 -2
  103. package/template/koa-rest-api/.buildkite/pipeline.yml +4 -4
  104. package/template/koa-rest-api/.nvmrc +1 -1
  105. package/template/koa-rest-api/Dockerfile +1 -1
  106. package/template/koa-rest-api/Dockerfile.dev-deps +1 -1
  107. package/template/koa-rest-api/README.md +0 -12
  108. package/template/koa-rest-api/docker-compose.yml +4 -2
  109. package/template/koa-rest-api/package.json +11 -11
  110. package/template/koa-rest-api/src/framework/logging.ts +2 -1
  111. package/template/lambda-sqs-worker/.buildkite/pipeline.yml +2 -2
  112. package/template/lambda-sqs-worker/README.md +0 -12
  113. package/template/lambda-sqs-worker/docker-compose.yml +3 -1
  114. package/template/lambda-sqs-worker/package.json +9 -9
  115. package/template/lambda-sqs-worker/serverless.yml +6 -2
  116. package/template/lambda-sqs-worker/src/framework/handler.ts +2 -2
  117. package/template/lambda-sqs-worker/src/framework/logging.ts +2 -1
  118. package/template/lambda-sqs-worker-cdk/.buildkite/pipeline.yml +2 -2
  119. package/template/lambda-sqs-worker-cdk/docker-compose.yml +3 -1
  120. package/template/lambda-sqs-worker-cdk/package.json +2 -2
  121. package/template/oss-npm-package/.github/workflows/release.yml +2 -2
  122. package/template/oss-npm-package/.github/workflows/validate.yml +2 -2
  123. package/template/oss-npm-package/.nvmrc +1 -1
  124. package/template/oss-npm-package/README.md +0 -14
  125. package/template/oss-npm-package/_package.json +1 -1
  126. package/template/private-npm-package/.nvmrc +1 -1
  127. package/template/private-npm-package/README.md +0 -14
  128. package/template/private-npm-package/_package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import { ESLintOutput } from 'cli/adapter/eslint';
2
+ import { PrettierOutput } from 'cli/adapter/prettier';
3
+ import { StreamInterceptor } from '../external';
4
+ export declare const createAnnotations: (eslint: ESLintOutput, prettier: PrettierOutput, tscOk: boolean, tscOutputStream: StreamInterceptor) => Promise<void>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createAnnotations = void 0;
13
+ const buildkite_1 = require("./buildkite");
14
+ const github_1 = require("./github");
15
+ const createAnnotations = (eslint, prettier, tscOk, tscOutputStream) => __awaiter(void 0, void 0, void 0, function* () {
16
+ yield Promise.all([
17
+ (0, github_1.createGitHubAnnotations)(eslint, prettier, tscOk, tscOutputStream),
18
+ (0, buildkite_1.createBuildkiteAnnotations)(eslint, prettier, tscOk, tscOutputStream),
19
+ ]);
20
+ });
21
+ exports.createAnnotations = createAnnotations;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/lint/annotate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,2CAAyD;AACzD,qCAAmD;AAE5C,MAAM,iBAAiB,GAAG,CAC/B,MAAoB,EACpB,QAAwB,EACxB,KAAc,EACd,eAAkC,EACnB,EAAE;IACjB,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAA,gCAAuB,EAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC;QACjE,IAAA,sCAA0B,EAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC;KACrE,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAVW,QAAA,iBAAiB,qBAU5B"}
@@ -1,2 +1,9 @@
1
+ /// <reference types="node" />
2
+ import stream from 'stream';
1
3
  import type { Input } from './types';
4
+ export declare class StreamInterceptor extends stream.Transform {
5
+ private chunks;
6
+ output(): string;
7
+ _transform(chunk: any, _encoding: BufferEncoding, callback: stream.TransformCallback): void;
8
+ }
2
9
  export declare const externalLint: (input: Input) => Promise<void>;
@@ -23,26 +23,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.externalLint = void 0;
26
+ exports.externalLint = exports.StreamInterceptor = void 0;
27
27
  const stream_1 = __importDefault(require("stream"));
28
- const __1 = require("../..");
29
28
  const logging_1 = require("../../utils/logging");
29
+ const annotate_1 = require("./annotate");
30
30
  const eslint_1 = require("./eslint");
31
31
  const prettier_1 = require("./prettier");
32
32
  const tsc_1 = require("./tsc");
33
+ const tscPrefixRegex = /^(.*?tsc\s+│.*?\s)/gm;
33
34
  class StreamInterceptor extends stream_1.default.Transform {
34
35
  constructor() {
35
36
  super(...arguments);
36
37
  this.chunks = [];
37
38
  }
38
39
  output() {
39
- return Buffer.concat(this.chunks).toString();
40
+ return Buffer.concat(this.chunks).toString().replace(tscPrefixRegex, '');
40
41
  }
41
42
  _transform(chunk, _encoding, callback) {
42
43
  this.chunks.push(chunk);
43
44
  callback(null, chunk);
44
45
  }
45
46
  }
47
+ exports.StreamInterceptor = StreamInterceptor;
46
48
  const lintConcurrently = (_a) => __awaiter(void 0, void 0, void 0, function* () {
47
49
  var { tscOutputStream } = _a, input = __rest(_a, ["tscOutputStream"]);
48
50
  const [eslint, prettier, tscOk] = yield Promise.all([
@@ -52,20 +54,47 @@ const lintConcurrently = (_a) => __awaiter(void 0, void 0, void 0, function* ()
52
54
  ]);
53
55
  return { eslint, prettier, tscOk };
54
56
  });
55
- const lintSerially = (input) => __awaiter(void 0, void 0, void 0, function* () {
57
+ /**
58
+ * Run linting tools `--serial`ly for resource-constrained environments.
59
+ *
60
+ * Note that we still run ESLint and Prettier in worker threads as a
61
+ * counterintuitive optimisation. Memory can be more readily freed on worker
62
+ * thread exit, which isn't as easy with a monolithic main thread.
63
+ */
64
+ const lintSerially = (_b) => __awaiter(void 0, void 0, void 0, function* () {
65
+ var { tscOutputStream } = _b, input = __rest(_b, ["tscOutputStream"]);
66
+ const eslint = yield (0, eslint_1.runESLintInWorkerThread)(input);
67
+ const prettier = yield (0, prettier_1.runPrettierInWorkerThread)(input);
68
+ const tscOk = yield (0, tsc_1.runTscInNewProcess)(Object.assign(Object.assign({}, input), { tscOutputStream }));
69
+ return { eslint, prettier, tscOk };
70
+ });
71
+ const lintSeriallyWithoutWorkerThreads = (input) => __awaiter(void 0, void 0, void 0, function* () {
56
72
  const eslint = yield (0, eslint_1.runESLintInCurrentThread)(input);
57
73
  const prettier = yield (0, prettier_1.runPrettierInCurrentThread)(input);
58
74
  const tscOk = yield (0, tsc_1.runTscInNewProcess)(input);
59
75
  return { eslint, prettier, tscOk };
60
76
  });
61
- const externalLint = (input) => __awaiter(void 0, void 0, void 0, function* () {
62
- var _b;
77
+ const selectLintFunction = (input) => {
78
+ if (!input.workerThreads) {
79
+ return lintSeriallyWithoutWorkerThreads;
80
+ }
63
81
  // `--debug` implies `--serial`.
64
82
  const isSerial = input.debug || input.serial;
65
- const lint = isSerial ? lintSerially : lintConcurrently;
83
+ return isSerial ? lintSerially : lintConcurrently;
84
+ };
85
+ const externalLint = (input) => __awaiter(void 0, void 0, void 0, function* () {
86
+ var _c;
87
+ const lint = selectLintFunction(input);
66
88
  const tscOutputStream = new StreamInterceptor();
67
- tscOutputStream.pipe((_b = input.tscOutputStream) !== null && _b !== void 0 ? _b : process.stdout);
89
+ tscOutputStream.pipe((_c = input.tscOutputStream) !== null && _c !== void 0 ? _c : process.stdout);
68
90
  const { eslint, prettier, tscOk } = yield lint(Object.assign(Object.assign({}, input), { tscOutputStream }));
91
+ try {
92
+ yield (0, annotate_1.createAnnotations)(eslint, prettier, tscOk, tscOutputStream);
93
+ }
94
+ catch (err) {
95
+ logging_1.log.warn('Failed to annotate results.');
96
+ logging_1.log.warn(err);
97
+ }
69
98
  if (eslint.ok && prettier.ok && tscOk) {
70
99
  return;
71
100
  }
@@ -75,39 +104,7 @@ const externalLint = (input) => __awaiter(void 0, void 0, void 0, function* () {
75
104
  ...(tscOk ? [] : ['tsc']),
76
105
  ];
77
106
  logging_1.log.newline();
78
- logging_1.log.err(tools.join(', '), 'found issues that require triage.');
79
- const buildkiteOutput = [
80
- '`skuba lint` found issues that require triage:',
81
- ...(eslint.ok
82
- ? []
83
- : ['**ESLint**', __1.Buildkite.md.terminal(eslint.output.trim())]),
84
- ...(prettier.ok
85
- ? []
86
- : [
87
- '**Prettier**',
88
- __1.Buildkite.md.terminal(prettier.result.errored
89
- .map(({ err, filepath }) => [filepath, ...(err ? [String(err)] : [])].join(' '))
90
- .join('\n')),
91
- ]),
92
- ...(tscOk
93
- ? []
94
- : [
95
- '**tsc**',
96
- __1.Buildkite.md.terminal(tscOutputStream
97
- .output()
98
- .split('\n')
99
- .filter(Boolean)
100
- .map((line) => line.replace(/^tsc\s+│ /, ''))
101
- .filter((line) => !line.startsWith('TSFILE: '))
102
- .join('\n')
103
- .trim()),
104
- ]),
105
- ].join('\n\n');
106
- yield __1.Buildkite.annotate(buildkiteOutput, {
107
- context: 'skuba-lint-external',
108
- scopeContextToStep: true,
109
- style: 'error',
110
- });
107
+ logging_1.log.err(`${tools.join(', ')} found issues that require triage.`);
111
108
  process.exitCode = 1;
112
109
  });
113
110
  exports.externalLint = externalLint;
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cli/lint/external.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../src/cli/lint/external.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const lint: (args?: string[], tscOutputStream?: NodeJS.WritableStream | undefined) => Promise<void>;
1
+ export declare const lint: (args?: string[], tscOutputStream?: NodeJS.WritableStream | undefined, workerThreads?: boolean) => Promise<void>;
@@ -11,13 +11,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.lint = void 0;
13
13
  const args_1 = require("../../utils/args");
14
+ const refreshIgnoreFiles_1 = require("../configure/refreshIgnoreFiles");
14
15
  const external_1 = require("./external");
15
16
  const internal_1 = require("./internal");
16
- const lint = (args = process.argv, tscOutputStream = undefined) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const lint = (args = process.argv, tscOutputStream = undefined, workerThreads = true) => __awaiter(void 0, void 0, void 0, function* () {
18
+ yield (0, refreshIgnoreFiles_1.tryRefreshIgnoreFiles)();
17
19
  const opts = {
18
20
  debug: (0, args_1.hasDebugFlag)(args),
19
21
  serial: (0, args_1.hasSerialFlag)(args),
20
22
  tscOutputStream,
23
+ workerThreads,
21
24
  };
22
25
  yield (0, external_1.externalLint)(opts);
23
26
  yield (0, internal_1.internalLint)();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/lint/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAE/D,yCAA0C;AAC1C,yCAA0C;AAGnC,MAAM,IAAI,GAAG,CAClB,IAAI,GAAG,OAAO,CAAC,IAAI,EACnB,kBAAqD,SAAS,EAC9D,EAAE;IACF,MAAM,IAAI,GAAU;QAClB,KAAK,EAAE,IAAA,mBAAY,EAAC,IAAI,CAAC;QACzB,MAAM,EAAE,IAAA,oBAAa,EAAC,IAAI,CAAC;QAC3B,eAAe;KAChB,CAAC;IAEF,MAAM,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,IAAA,uBAAY,GAAE,CAAC;AACvB,CAAC,CAAA,CAAC;AAbW,QAAA,IAAI,QAaf"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/lint/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAC/D,wEAAwE;AAExE,yCAA0C;AAC1C,yCAA0C;AAGnC,MAAM,IAAI,GAAG,CAClB,IAAI,GAAG,OAAO,CAAC,IAAI,EACnB,kBAAqD,SAAS,EAC9D,aAAa,GAAG,IAAI,EACpB,EAAE;IACF,MAAM,IAAA,0CAAqB,GAAE,CAAC;IAE9B,MAAM,IAAI,GAAU;QAClB,KAAK,EAAE,IAAA,mBAAY,EAAC,IAAI,CAAC;QACzB,MAAM,EAAE,IAAA,oBAAa,EAAC,IAAI,CAAC;QAC3B,eAAe;QACf,aAAa;KACd,CAAC;IAEF,MAAM,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,IAAA,uBAAY,GAAE,CAAC;AACvB,CAAC,CAAA,CAAC;AAjBW,QAAA,IAAI,QAiBf"}
@@ -9,7 +9,7 @@ export interface Input {
9
9
  /**
10
10
  * Whether to disable parallelism to run linting operations serially.
11
11
  *
12
- * This can be useful for executing in compute-constrained environments and
12
+ * This can be useful for executing in resource-constrained environments and
13
13
  * snapshotting deterministic output in tests.
14
14
  *
15
15
  * Defaults to `false`.
@@ -21,4 +21,13 @@ export interface Input {
21
21
  * Defaults to `process.stdout`.
22
22
  */
23
23
  tscOutputStream?: NodeJS.WritableStream;
24
+ /**
25
+ * Whether to allow usage of Node.js worker threads.
26
+ *
27
+ * This may be set to `false` when there is a worker thread incompatibility,
28
+ * such as calling in from a TypeScript context in our Jest tests.
29
+ *
30
+ * Defaults to `true`.
31
+ */
32
+ workerThreads?: boolean;
24
33
  }
package/lib/index.d.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  * const { Net } = require('skuba');
10
10
  * ```
11
11
  */
12
+ export * as GitHub from './api/github';
12
13
  export * as Buildkite from './api/buildkite';
13
14
  export * as Jest from './api/jest';
14
15
  export * as Net from './api/net';
package/lib/index.js CHANGED
@@ -30,7 +30,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
30
30
  return result;
31
31
  };
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.Net = exports.Jest = exports.Buildkite = void 0;
33
+ exports.Net = exports.Jest = exports.Buildkite = exports.GitHub = void 0;
34
+ exports.GitHub = __importStar(require("./api/github"));
34
35
  exports.Buildkite = __importStar(require("./api/buildkite"));
35
36
  exports.Jest = __importStar(require("./api/jest"));
36
37
  exports.Net = __importStar(require("./api/net"));
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;AAEH,6DAA6C;AAC7C,mDAAmC;AACnC,iDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;AAEH,uDAAuC;AACvC,6DAA6C;AAC7C,mDAAmC;AACnC,iDAAiC"}
@@ -15,7 +15,7 @@ export declare const hasSerialFlag: (args?: string[], env?: NodeJS.ProcessEnv) =
15
15
  * ```
16
16
  */
17
17
  export declare const parseProcessArgs: (args?: string[]) => {
18
- commandName: "format" | "node" | "test" | "version" | "build" | "build-package" | "configure" | "help" | "init" | "lint" | "release" | "start";
18
+ commandName: "test" | "release" | "format" | "node" | "version" | "build" | "build-package" | "configure" | "help" | "init" | "lint" | "start";
19
19
  args: string[];
20
20
  };
21
21
  interface RunArgs {
@@ -1,10 +1,11 @@
1
1
  /// <reference types="node" />
2
+ import type { Color } from 'chalk';
2
3
  import execa, { ExecaChildProcess } from 'execa';
3
4
  export declare type Exec = (command: string, ...args: string[]) => ExecaChildProcess<string>;
4
5
  interface ExecConcurrentlyCommand {
5
6
  command: string;
6
7
  name: string;
7
- prefixColor?: string;
8
+ prefixColor?: typeof Color;
8
9
  }
9
10
  interface ExecConcurrentlyOptions {
10
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ export declare type Logger = typeof log;
3
3
  export declare const createLogger: (debug: boolean, ...prefixes: unknown[]) => {
4
4
  bold: chalk.Chalk;
5
5
  formatSubtle: chalk.Chalk;
6
- pluralise: (count: number, subject: string) => string;
7
6
  timing: (start: bigint, end: bigint) => string;
8
7
  debug: (...message: unknown[]) => void;
9
8
  subtle: (...message: unknown[]) => void;
@@ -16,7 +15,6 @@ export declare const createLogger: (debug: boolean, ...prefixes: unknown[]) => {
16
15
  export declare const log: {
17
16
  bold: chalk.Chalk;
18
17
  formatSubtle: chalk.Chalk;
19
- pluralise: (count: number, subject: string) => string;
20
18
  timing: (start: bigint, end: bigint) => string;
21
19
  debug: (...message: unknown[]) => void;
22
20
  subtle: (...message: unknown[]) => void;
@@ -26,3 +24,4 @@ export declare const log: {
26
24
  plain: (...message: unknown[]) => void;
27
25
  warn: (...message: unknown[]) => void;
28
26
  };
27
+ export declare const pluralise: (count: number, subject: string) => string;
@@ -4,14 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.log = exports.createLogger = void 0;
7
+ exports.pluralise = exports.log = exports.createLogger = void 0;
8
8
  const chalk_1 = __importDefault(require("chalk"));
9
9
  const createLogger = (debug, ...prefixes) => {
10
10
  const log = (...message) => console.log(...prefixes, ...message);
11
11
  return {
12
12
  bold: chalk_1.default.bold,
13
13
  formatSubtle: chalk_1.default.grey,
14
- pluralise: (count, subject) => `${count} ${subject}${count === 1 ? '' : 's'}`,
15
14
  timing: (start, end) => `${Number((end - start) / BigInt(10000000)) / 100}s`,
16
15
  debug: (...message) => debug ? log(chalk_1.default.grey(...message)) : undefined,
17
16
  subtle: (...message) => log(chalk_1.default.grey(...message)),
@@ -24,4 +23,6 @@ const createLogger = (debug, ...prefixes) => {
24
23
  };
25
24
  exports.createLogger = createLogger;
26
25
  exports.log = (0, exports.createLogger)(false);
26
+ const pluralise = (count, subject) => `${count} ${subject}${count === 1 ? '' : 's'}`;
27
+ exports.pluralise = pluralise;
27
28
  //# sourceMappingURL=logging.js.map
@@ -1 +1 @@
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,SAAS,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CAC5C,GAAG,KAAK,IAAI,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QAChD,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;AArBW,QAAA,YAAY,gBAqBvB;AAEW,QAAA,GAAG,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC"}
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"}
@@ -9,7 +9,6 @@ export declare const execWorkerThread: <Input, Output>(filepath: string, input:
9
9
  export declare const postWorkerOutput: <Input, Output>(fn: (input: Input) => Promise<Output>, logger?: {
10
10
  bold: import("chalk").Chalk;
11
11
  formatSubtle: import("chalk").Chalk;
12
- pluralise: (count: number, subject: string) => string;
13
12
  timing: (start: bigint, end: bigint) => string;
14
13
  debug: (...message: unknown[]) => void;
15
14
  subtle: (...message: unknown[]) => void;
@@ -8,8 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.runFunctionHandler = void 0;
16
+ const function_arguments_1 = __importDefault(require("function-arguments"));
13
17
  const logging_1 = require("../utils/logging");
14
18
  const validation_1 = require("../utils/validation");
15
19
  const http_1 = require("./http");
@@ -26,6 +30,10 @@ const runFunctionHandler = ({ availablePort, entryPoint, functionName, }) => __a
26
30
  logging_1.log.subtle(logging_1.log.bold(functionName), 'is not a function');
27
31
  return;
28
32
  }
33
+ logging_1.log.warn(logging_1.log.bold(functionName), `(${(0, function_arguments_1.default)(fn)
34
+ // Add a `?` placeholder for unnamed arguments.
35
+ .map((arg) => arg || '?')
36
+ .join(', ')})`);
29
37
  const requestListener = (0, http_1.createRequestListenerFromFunction)(fn);
30
38
  return (0, http_1.serveRequestListener)(requestListener, availablePort);
31
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"functionHandler.js","sourceRoot":"","sources":["../../src/wrapper/functionHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAuC;AACvC,oDAA2D;AAE3D,iCAGgB;AAQhB;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAAO,EACvC,aAAa,EACb,UAAU,EACV,YAAY,GACP,EAAiB,EAAE;IACxB,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;QACzB,aAAG,CAAC,MAAM,CAAC,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtD,OAAO;KACR;IAED,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAA,uBAAU,EAAC,EAAE,CAAC,EAAE;QACnB,aAAG,CAAC,MAAM,CAAC,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACxD,OAAO;KACR;IAED,MAAM,eAAe,GAAG,IAAA,wCAAiC,EAAC,EAAE,CAAC,CAAC;IAE9D,OAAO,IAAA,2BAAoB,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC,CAAA,CAAC;AApBW,QAAA,kBAAkB,sBAoB7B"}
1
+ {"version":3,"file":"functionHandler.js","sourceRoot":"","sources":["../../src/wrapper/functionHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4EAAwC;AAExC,8CAAuC;AACvC,oDAA2D;AAE3D,iCAGgB;AAQhB;;GAEG;AACI,MAAM,kBAAkB,GAAG,CAAO,EACvC,aAAa,EACb,UAAU,EACV,YAAY,GACP,EAAiB,EAAE;IACxB,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;QACzB,aAAG,CAAC,MAAM,CAAC,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtD,OAAO;KACR;IAED,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAA,uBAAU,EAAC,EAAE,CAAC,EAAE;QACnB,aAAG,CAAC,MAAM,CAAC,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACxD,OAAO;KACR;IAED,aAAG,CAAC,IAAI,CACN,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EACtB,IAAI,IAAA,4BAAM,EAAC,EAAE,CAAC;QACZ,+CAA+C;SAC9C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;SACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,wCAAiC,EAAC,EAAE,CAAC,CAAC;IAE9D,OAAO,IAAA,2BAAoB,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC,CAAA,CAAC;AA5BW,QAAA,kBAAkB,sBA4B7B"}
@@ -23,18 +23,22 @@ const logging_1 = require("../utils/logging");
23
23
  * - The function's return value is JSON stringified into the response body.
24
24
  */
25
25
  const createRequestListenerFromFunction = (fn) => (req, res) => __awaiter(void 0, void 0, void 0, function* () {
26
- const writeJsonResponse = (statusCode, jsonResponse) => new Promise((resolve, reject) => res
27
- .writeHead(statusCode, { 'Content-Type': 'application/json' })
28
- .write(JSON.stringify(jsonResponse, null, 2), 'utf8', (err) => err ? reject(err) : res.end(resolve)));
26
+ const writeJsonResponse = (statusCode, jsonResponse) => {
27
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
28
+ return new Promise((resolve, reject) => jsonResponse === undefined
29
+ ? res.end(resolve)
30
+ : res.write(JSON.stringify(jsonResponse, null, 2), 'utf8', (err) => err ? reject(err) : res.end(resolve)));
31
+ };
29
32
  try {
30
33
  const requestBody = yield new Promise((resolve, reject) => {
31
- let data = '';
34
+ const data = [];
32
35
  req
33
- .on('data', (chunk) => (data += chunk))
34
- .on('end', () => resolve(data))
36
+ .on('data', (chunk) => data.push(chunk))
37
+ .on('end', () => resolve(Buffer.concat(data).toString()))
35
38
  .on('error', (err) => reject(err));
36
39
  });
37
- const jsonRequest = JSON.parse(requestBody);
40
+ // Treat an empty body as no arguments
41
+ const jsonRequest = requestBody ? JSON.parse(requestBody) : [];
38
42
  // Pass a non-array request body as the first parameter
39
43
  const args = Array.isArray(jsonRequest) ? jsonRequest : [jsonRequest];
40
44
  const response = yield fn(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/wrapper/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAGxB,qDAAiD;AAEjD,8CAAuC;AAEvC;;;;;GAKG;AACI,MAAM,iCAAiC,GAC5C,CACE,EAAsD,EAChC,EAAE,CAC1B,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IACjB,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,YAAqB,EAAE,EAAE,CACtE,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,GAAG;SACA,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;SAC7D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5D,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CACrC,CACJ,CAAC;IAEJ,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChE,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,GAAG;iBACA,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;iBACtC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC9B,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAErD,uDAAuD;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAY,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAE5C,MAAM,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;KACxC;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAA,gCAAc,EAAC,GAAG,CAAC,CAAC,CAAC;KACnD;AACH,CAAC,CAAA,CAAC;AAnCS,QAAA,iCAAiC,qCAmC1C;AAEJ;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAClC,eAAqC,EACrC,IAAa,EACb,EAAE;IACF,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAElD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC3C,MAAM;SACH,MAAM,CAAC,IAAI,CAAC;SACZ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;SACpB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SACnB,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAiB,CAAC;QAEhD,aAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,aAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CACL,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,oBAAoB,wBAiB/B"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/wrapper/http.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "engines": {
8
8
  "node": ">=12"
9
9
  },
10
- "version": "3.15.1",
10
+ "version": "3.16.1",
11
11
  "main": "lib/index.js",
12
12
  "typings": "lib/index.d.ts",
13
13
  "files": [
@@ -39,9 +39,9 @@
39
39
  "url": "https://github.com/seek-oss/skuba.git"
40
40
  },
41
41
  "devDependencies": {
42
- "@changesets/cli": "2.17.0",
42
+ "@changesets/cli": "2.18.0",
43
43
  "@changesets/get-github-info": "0.5.0",
44
- "@types/concurrently": "6.2.1",
44
+ "@types/concurrently": "6.3.0",
45
45
  "@types/ejs": "3.1.0",
46
46
  "@types/express": "4.17.13",
47
47
  "@types/fs-extra": "9.0.13",
@@ -49,25 +49,28 @@
49
49
  "@types/lodash.mergewith": "4.6.6",
50
50
  "@types/module-alias": "2.0.1",
51
51
  "@types/npm-which": "3.0.1",
52
- "@types/picomatch": "2.2.6",
52
+ "@types/picomatch": "2.3.0",
53
53
  "@types/supertest": "2.0.11",
54
54
  "express": "4.17.1",
55
- "koa": "2.13.3",
55
+ "koa": "2.13.4",
56
56
  "semver": "7.3.5",
57
57
  "supertest": "6.1.6",
58
- "type-fest": "2.3.4"
58
+ "type-fest": "2.5.2"
59
59
  },
60
60
  "dependencies": {
61
+ "@octokit/rest": "^18.12.0",
62
+ "@octokit/types": "^6.34.0",
61
63
  "@types/jest": "^27.0.1",
62
64
  "chalk": "^4.1.0",
63
65
  "concurrently": "^6.2.1",
64
66
  "ejs": "^3.1.6",
65
67
  "enquirer": "^2.3.6",
66
68
  "eslint": "^7.27.0",
67
- "eslint-config-skuba": "1.0.11",
69
+ "eslint-config-skuba": "1.0.12",
68
70
  "execa": "^5.0.0",
69
71
  "fdir": "^5.0.0",
70
72
  "fs-extra": "^10.0.0",
73
+ "function-arguments": "^1.0.9",
71
74
  "get-port": "^5.1.1",
72
75
  "ignore": "^5.1.8",
73
76
  "is-installed-globally": "^0.4.0",
@@ -79,19 +82,19 @@
79
82
  "normalize-package-data": "^3.0.0",
80
83
  "npm-run-path": "^4.0.1",
81
84
  "npm-which": "^3.0.1",
82
- "p-limit": "3.1.0",
83
85
  "picomatch": "^2.2.2",
84
- "prettier": "2.4.1",
86
+ "prettier": "~2.4.1",
85
87
  "read-pkg-up": "^7.0.1",
86
88
  "runtypes": "^6.0.0",
87
89
  "semantic-release": "^17.4.7",
88
90
  "serialize-error": "^8.0.1",
89
91
  "source-map-support": "^0.5.19",
92
+ "strip-ansi": "^6.0.1",
90
93
  "ts-jest": "^27.0.5",
91
94
  "ts-node": "^9.1.1",
92
- "ts-node-dev": "1.1.8",
95
+ "ts-node-dev": "^1.1.8",
93
96
  "tsconfig-seek": "1.0.2",
94
- "typescript": "4.4.3"
97
+ "typescript": "~4.4.4"
95
98
  },
96
99
  "peerDependencies": {
97
100
  "skuba-dive": "1"
@@ -100,5 +103,8 @@
100
103
  "skuba-dive": {
101
104
  "optional": true
102
105
  }
106
+ },
107
+ "resolutions": {
108
+ "semantic-release/@semantic-release/npm/npm/**/ansi-regex": "5.0.1"
103
109
  }
104
110
  }
@@ -12,6 +12,7 @@ node_modules*/
12
12
  /tmp*/
13
13
 
14
14
  .DS_Store
15
+ .eslintcache
15
16
  .npmrc
16
17
  *.tgz
17
18
  *.tsbuildinfo
@@ -10,6 +10,8 @@ node_modules*/
10
10
  /tmp*/
11
11
 
12
12
  # Gantry resource files support non-standard template syntax
13
+ /.gantry/**/*.yaml
14
+ /.gantry/**/*.yml
13
15
  gantry*.yaml
14
16
  gantry*.yml
15
17
  # end managed by skuba
@@ -57,7 +57,7 @@ steps:
57
57
  - *aws-sm
58
58
  - *private-npm
59
59
  - *docker-ecr-cache
60
- - docker-compose#v3.8.0:
60
+ - docker-compose#v3.9.0:
61
61
  run: app
62
62
 
63
63
  - <<: *prod
@@ -67,7 +67,7 @@ steps:
67
67
  - *aws-sm
68
68
  - *private-npm
69
69
  - *docker-ecr-cache
70
- - seek-jobs/gantry#v1.4.1:
70
+ - seek-jobs/gantry#v1.5.2:
71
71
  command: build
72
72
  file: gantry.build.yml
73
73
  region: <%- region %>
@@ -83,7 +83,7 @@ steps:
83
83
  concurrency_group: <%- teamName %>/deploy/gantry/<%- devGantryEnvironmentName %>
84
84
  key: deploy-dev
85
85
  plugins:
86
- - seek-jobs/gantry#v1.4.1:
86
+ - seek-jobs/gantry#v1.5.2:
87
87
  command: apply
88
88
  environment: <%- devGantryEnvironmentName %>
89
89
  file: gantry.apply.yml
@@ -99,7 +99,7 @@ steps:
99
99
  concurrency_group: <%- teamName %>/deploy/gantry/<%- prodGantryEnvironmentName %>
100
100
  depends_on: deploy-dev
101
101
  plugins:
102
- - seek-jobs/gantry#v1.4.1:
102
+ - seek-jobs/gantry#v1.5.2:
103
103
  command: apply
104
104
  environment: <%- prodGantryEnvironmentName %>
105
105
  file: gantry.apply.yml
@@ -1 +1 @@
1
- 14
1
+ 16
@@ -17,7 +17,7 @@ RUN yarn build
17
17
 
18
18
  ###
19
19
 
20
- FROM gcr.io/distroless/nodejs:14 AS runtime
20
+ FROM gcr.io/distroless/nodejs:16 AS runtime
21
21
 
22
22
  WORKDIR /workdir
23
23
 
@@ -1,6 +1,6 @@
1
1
  # syntax=docker/dockerfile:1.2
2
2
 
3
- FROM node:14-alpine AS dev-deps
3
+ FROM node:16-alpine AS dev-deps
4
4
 
5
5
  WORKDIR /workdir
6
6