skuba 3.15.1 → 3.15.2

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 (44) hide show
  1. package/README.md +61 -2
  2. package/lib/api/jest/index.d.ts +1 -1
  3. package/lib/api/jest/index.js.map +1 -1
  4. package/lib/cli/adapter/prettier.d.ts +1 -4
  5. package/lib/cli/adapter/prettier.js +13 -16
  6. package/lib/cli/adapter/prettier.js.map +1 -1
  7. package/lib/cli/configure/analysis/git.d.ts +1 -1
  8. package/lib/cli/configure/analysis/git.js +11 -17
  9. package/lib/cli/configure/analysis/git.js.map +1 -1
  10. package/lib/cli/configure/index.js +2 -2
  11. package/lib/cli/configure/index.js.map +1 -1
  12. package/lib/cli/configure/processing/record.d.ts +2 -2
  13. package/lib/cli/configure/processing/record.js +2 -2
  14. package/lib/cli/configure/processing/record.js.map +1 -1
  15. package/lib/cli/init/git.d.ts +2 -3
  16. package/lib/cli/init/git.js +41 -10
  17. package/lib/cli/init/git.js.map +1 -1
  18. package/lib/cli/init/index.js +3 -3
  19. package/lib/cli/init/index.js.map +1 -1
  20. package/lib/cli/lint/external.js +25 -5
  21. package/lib/cli/lint/external.js.map +1 -1
  22. package/lib/cli/lint/index.d.ts +1 -1
  23. package/lib/cli/lint/index.js +2 -1
  24. package/lib/cli/lint/index.js.map +1 -1
  25. package/lib/cli/lint/types.d.ts +9 -0
  26. package/lib/utils/exec.d.ts +2 -1
  27. package/lib/utils/exec.js.map +1 -1
  28. package/lib/wrapper/functionHandler.js +5 -0
  29. package/lib/wrapper/functionHandler.js.map +1 -1
  30. package/lib/wrapper/http.js +11 -7
  31. package/lib/wrapper/http.js.map +1 -1
  32. package/package.json +4 -4
  33. package/template/express-rest-api/.buildkite/pipeline.yml +3 -3
  34. package/template/express-rest-api/README.md +0 -12
  35. package/template/express-rest-api/package.json +1 -1
  36. package/template/greeter/README.md +0 -12
  37. package/template/koa-rest-api/.buildkite/pipeline.yml +3 -3
  38. package/template/koa-rest-api/README.md +0 -12
  39. package/template/koa-rest-api/package.json +1 -1
  40. package/template/lambda-sqs-worker/README.md +0 -12
  41. package/template/lambda-sqs-worker/package.json +1 -1
  42. package/template/lambda-sqs-worker/serverless.yml +5 -2
  43. package/template/oss-npm-package/README.md +0 -14
  44. package/template/private-npm-package/README.md +0 -14
package/README.md CHANGED
@@ -1,8 +1,67 @@
1
- # ![🤿 skuba](./docs/logo.svg)
1
+ # [![🤿 skuba](./docs/logo.svg)](https://seek-oss.github.io/skuba)
2
+
3
+ ---
2
4
 
3
5
  [![GitHub Release](https://github.com/seek-oss/skuba/workflows/Release/badge.svg?branch=master)](https://github.com/seek-oss/skuba/actions?query=workflow%3ARelease)
4
6
  [![GitHub Validate](https://github.com/seek-oss/skuba/workflows/Validate/badge.svg?branch=master)](https://github.com/seek-oss/skuba/actions?query=workflow%3AValidate)
5
7
  [![Node.js version](https://img.shields.io/badge/node-%3E%3D%2012-brightgreen)](https://nodejs.org/en/)
6
8
  [![npm package](https://img.shields.io/npm/v/skuba)](https://www.npmjs.com/package/skuba)
7
9
 
8
- View our documentation at **[seek-oss.github.io/skuba](https://seek-oss.github.io/skuba/)**.
10
+ ---
11
+
12
+ **skuba** is a toolkit for backend application and package development on SEEK's gravel and paved roads:
13
+
14
+ - Write in [TypeScript]
15
+ - Enforce coding standards with [ESLint] and [Prettier]
16
+ - Test with [Jest]
17
+ - Deploy with [Gantry], [Serverless] or the [AWS CDK]
18
+
19
+ [aws cdk]: https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-typescript.html
20
+ [gantry]: https://gantry.ssod.skinfra.xyz
21
+ [serverless]: https://serverless.com/
22
+
23
+ It provides you with:
24
+
25
+ - [CLI] commands for developing your project
26
+ - [Templates] to base your backend application or package on
27
+ - [Development] and optional [runtime] APIs for cross-cutting concerns
28
+
29
+ Learn more [about](docs/about.md) **skuba** and [contribute](CONTRIBUTING.md) to it.
30
+
31
+ ---
32
+
33
+ **skuba** is distributed as an npm package.
34
+
35
+ In projects that list it as a `devDependency`,
36
+ usage may look something like this:
37
+
38
+ ```shell
39
+ # Install project dependencies.
40
+ yarn
41
+
42
+ # Run the skuba CLI.
43
+ yarn skuba help
44
+ ```
45
+
46
+ Global installations are also supported to speed up local development:
47
+
48
+ ```shell
49
+ # Install skuba globally.
50
+ yarn global add skuba
51
+
52
+ # Look, no `npx`!
53
+ skuba help
54
+ ```
55
+
56
+ If you're new here, jump ahead to the [CLI] section to [create a new project] or [update an existing one].
57
+
58
+ [cli]: ./docs/cli
59
+ [create a new project]: ./docs/cli/init.md
60
+ [development]: ./docs/development-api
61
+ [eslint]: https://eslint.org/
62
+ [jest]: https://jestjs.io
63
+ [prettier]: https://prettier.io/
64
+ [runtime]: ./docs/runtime-api
65
+ [templates]: ./docs/templates
66
+ [typescript]: https://www.typescriptlang.org/
67
+ [update an existing one]: ./docs/cli/configure.md
@@ -1,5 +1,5 @@
1
1
  import { Config } from '@jest/types';
2
- declare type Props = Pick<Config.InitialOptions, 'collectCoverage' | 'collectCoverageFrom' | 'collectCoverageOnlyFrom' | 'coveragePathIgnorePatterns' | 'coverageThreshold' | 'globals' | 'globalSetup' | 'globalTeardown' | 'setupFiles' | 'setupFilesAfterEnv' | 'snapshotSerializers' | 'testPathIgnorePatterns' | 'testTimeout' | 'watchPathIgnorePatterns'>;
2
+ declare type Props = Pick<Config.InitialOptions, 'collectCoverage' | 'collectCoverageFrom' | 'collectCoverageOnlyFrom' | 'coveragePathIgnorePatterns' | 'coverageThreshold' | 'globals' | 'globalSetup' | 'globalTeardown' | 'setupFiles' | 'setupFilesAfterEnv' | 'snapshotSerializers' | 'testEnvironment' | 'testPathIgnorePatterns' | 'testTimeout' | 'watchPathIgnorePatterns'>;
3
3
  /**
4
4
  * Merge additional Jest options into the **skuba** preset.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/jest/index.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA8C;AAC9C,kEAAiE;AAoBjE;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,KAAY,EAAyB,EAAE,CACjE,IAAA,iBAAQ,EAAC,qBAAU,EAAE,KAAK,CAAC,CAAC;AADjB,QAAA,WAAW,eACM"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/jest/index.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA8C;AAC9C,kEAAiE;AAqBjE;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,KAAY,EAAyB,EAAE,CACjE,IAAA,iBAAQ,EAAC,qBAAU,EAAE,KAAK,CAAC,CAAC;AADjB,QAAA,WAAW,eACM"}
@@ -5,10 +5,7 @@ interface Result {
5
5
  err?: unknown;
6
6
  filepath: string;
7
7
  }>;
8
- touched: Array<{
9
- data: string;
10
- filepath: string;
11
- }>;
8
+ touched: string[];
12
9
  unparsed: string[];
13
10
  }
14
11
  export interface PrettierOutput {
@@ -15,11 +15,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.runPrettier = void 0;
16
16
  const path_1 = __importDefault(require("path"));
17
17
  const fs_extra_1 = __importDefault(require("fs-extra"));
18
- const p_limit_1 = __importDefault(require("p-limit"));
19
18
  const prettier_1 = require("prettier");
20
19
  const dir_1 = require("../../utils/dir");
21
20
  const manifest_1 = require("../../utils/manifest");
22
- const fsLimit = (0, p_limit_1.default)(25);
23
21
  const formatOrLintFile = ({ data, filepath, options, parser }, logger, mode, result) => {
24
22
  logger.debug(filepath);
25
23
  logger.debug(' parser:', parser !== null && parser !== void 0 ? parser : '-');
@@ -52,7 +50,8 @@ const formatOrLintFile = ({ data, filepath, options, parser }, logger, mode, res
52
50
  if (formatted === data) {
53
51
  return;
54
52
  }
55
- result.touched.push({ data: formatted, filepath });
53
+ result.touched.push(filepath);
54
+ return formatted;
56
55
  };
57
56
  /**
58
57
  * Formats/lints files with Prettier.
@@ -83,32 +82,30 @@ const runPrettier = (mode, logger) => __awaiter(void 0, void 0, void 0, function
83
82
  touched: [],
84
83
  unparsed: [],
85
84
  };
86
- logger.debug('Reading files...');
87
- const files = yield Promise.all(filepaths.map((filepath) => __awaiter(void 0, void 0, void 0, function* () {
85
+ logger.debug(mode === 'format' ? 'Formatting' : 'Linting', 'files...');
86
+ for (const filepath of filepaths) {
88
87
  const [config, data, fileInfo] = yield Promise.all([
89
- fsLimit(() => (0, prettier_1.resolveConfig)(filepath)),
90
- fsLimit(() => fs_extra_1.default.promises.readFile(filepath, 'utf-8')),
88
+ (0, prettier_1.resolveConfig)(filepath),
89
+ fs_extra_1.default.promises.readFile(filepath, 'utf-8'),
91
90
  // Infer parser upfront so we can know to ignore unsupported file types.
92
- fsLimit(() => (0, prettier_1.getFileInfo)(filepath, { resolveConfig: false })),
91
+ (0, prettier_1.getFileInfo)(filepath, { resolveConfig: false }),
93
92
  ]);
94
- return {
93
+ const file = {
95
94
  data,
96
95
  filepath,
97
96
  options: Object.assign(Object.assign({}, config), { filepath }),
98
97
  parser: fileInfo.inferredParser,
99
98
  };
100
- })));
101
- logger.debug(mode === 'format' ? 'Formatting' : 'Linting', 'files...');
102
- for (const file of files) {
103
- formatOrLintFile(file, logger, mode, result);
99
+ const formatted = formatOrLintFile(file, logger, mode, result);
100
+ if (typeof formatted === 'string') {
101
+ yield fs_extra_1.default.promises.writeFile(filepath, formatted);
102
+ }
104
103
  }
105
- logger.debug(`Writing ${logger.pluralise(result.touched.length, 'file')}...`);
106
- yield Promise.all(result.touched.map(({ data, filepath }) => fsLimit(() => fs_extra_1.default.promises.writeFile(filepath, data))));
107
104
  const end = process.hrtime.bigint();
108
105
  logger.plain(`Processed ${logger.pluralise(result.count - result.unparsed.length, 'file')} in ${logger.timing(start, end)}.`);
109
106
  if (result.touched.length) {
110
107
  logger.plain(`Formatted ${logger.pluralise(result.touched.length, 'file')}:`);
111
- for (const { filepath } of result.touched) {
108
+ for (const filepath of result.touched) {
112
109
  logger.warn(filepath);
113
110
  }
114
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../src/cli/adapter/prettier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../src/cli/adapter/prettier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const auditWorkingTree: () => Promise<void>;
1
+ export declare const auditWorkingTree: (dir: string) => Promise<void>;
@@ -8,27 +8,21 @@ 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.auditWorkingTree = void 0;
13
- const exec_1 = require("../../../utils/exec");
16
+ const fs_extra_1 = __importDefault(require("fs-extra"));
17
+ const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
18
+ const dir_1 = require("../../../utils/dir");
14
19
  const logging_1 = require("../../../utils/logging");
15
- const auditWorkingTree = () => __awaiter(void 0, void 0, void 0, function* () {
16
- const exec = (0, exec_1.createExec)({ stdio: 'pipe' });
17
- const [diff, status] = yield Promise.all([
18
- exec('git', 'diff', '--stat'),
19
- exec('git', 'status', '--short'),
20
- ]);
21
- const workingTree = {
22
- dirty: Boolean(diff.stdout),
23
- untracked: Boolean(status.stdout),
24
- };
25
- if (workingTree.dirty || workingTree.untracked) {
26
- const fileTypes = Object.entries(workingTree)
27
- .filter(([, value]) => value)
28
- .map(([key]) => key)
29
- .join('/');
20
+ const auditWorkingTree = (dir) => __awaiter(void 0, void 0, void 0, function* () {
21
+ const filepaths = yield (0, dir_1.crawlDirectory)(dir);
22
+ const statuses = yield Promise.all(filepaths.map((filepath) => isomorphic_git_1.default.status({ dir, fs: fs_extra_1.default, filepath })));
23
+ if (statuses.some((status) => status !== 'absent' && status !== 'ignored' && status !== 'unmodified')) {
30
24
  logging_1.log.newline();
31
- logging_1.log.warn('You have', fileTypes, 'files that may be overwritten.');
25
+ logging_1.log.warn('You have dirty/untracked files that may be overwritten.');
32
26
  }
33
27
  });
34
28
  exports.auditWorkingTree = auditWorkingTree;
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/git.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAiD;AACjD,oDAA6C;AAEtC,MAAM,gBAAgB,GAAG,GAAS,EAAE;IACzC,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3C,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;KAClC,CAAC;IAEF,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;aACnB,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;KACnE;AACH,CAAC,CAAA,CAAC;AAtBW,QAAA,gBAAgB,oBAsB3B"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAEjC,4CAAoD;AACpD,oDAA6C;AAEtC,MAAM,gBAAgB,GAAG,CAAO,GAAW,EAAE,EAAE;IACpD,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAc,EAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAF,kBAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC/D,CAAC;IAEF,IACE,QAAQ,CAAC,IAAI,CACX,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY,CACzE,EACD;QACA,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;KACrE;AACH,CAAC,CAAA,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B"}
@@ -41,7 +41,7 @@ const configure = () => __awaiter(void 0, void 0, void 0, function* () {
41
41
  yield (0, logo_1.showLogoAndVersionInfo)();
42
42
  const [manifest] = yield Promise.all([
43
43
  (0, package_1.getDestinationManifest)(),
44
- (0, exec_1.ensureCommands)('git', 'yarn'),
44
+ (0, exec_1.ensureCommands)('yarn'),
45
45
  ]);
46
46
  const destinationRoot = path_1.default.dirname(manifest.path);
47
47
  logging_1.log.plain('Detected project root:', logging_1.log.bold(destinationRoot));
@@ -50,7 +50,7 @@ const configure = () => __awaiter(void 0, void 0, void 0, function* () {
50
50
  path_1.default.join(destinationRoot, '.gitignore'),
51
51
  path_1.default.join(template_1.BASE_TEMPLATE_DIR, '_.gitignore'),
52
52
  ]),
53
- (0, git_1.auditWorkingTree)(),
53
+ (0, git_1.auditWorkingTree)(destinationRoot),
54
54
  ]);
55
55
  const templateConfig = yield (0, ensureTemplateCompletion_1.ensureTemplateCompletion)({
56
56
  destinationRoot,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/configure/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/configure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,uCAAkC;AAElC,yCAAwD;AACxD,2CAA8D;AAC9D,iDAA0C;AAC1C,2CAA0D;AAC1D,mDAAyD;AACzD,uDAAiD;AAEjD,iEAA8D;AAC9D,+DAA4D;AAC5D,wCAAkD;AAClD,gDAA4D;AAC5D,yEAAsE;AACtE,mDAAgD;AAChD,qDAAkD;AAElD,MAAM,WAAW,GAAG,CAAO,IAAY,EAAE,EAAE;IACzC,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAC;QACxB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;QAC/B,OAAO,EAAE,gBAAgB;QACzB,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IAElC,OAAO,MAAM,KAAK,KAAK,CAAC;AAC1B,CAAC,CAAA,CAAC;AAEK,MAAM,SAAS,GAAG,GAAS,EAAE;IAClC,MAAM,IAAA,6BAAsB,GAAE,CAAC;IAE/B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnC,IAAA,gCAAsB,GAAE;QACxB,IAAA,qBAAc,EAAC,MAAM,CAAC;KACvB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEpD,aAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,aAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAE/D,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClC,IAAA,2BAAqB,EAAC;YACpB,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;YACxC,cAAI,CAAC,IAAI,CAAC,4BAAiB,EAAE,aAAa,CAAC;SAC5C,CAAC;QAEF,IAAA,sBAAgB,EAAC,eAAe,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,IAAA,mDAAwB,EAAC;QACpD,eAAe;QACf,OAAO;QACP,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,IAAA,+BAAc,EAAC;QAChC,QAAQ;QACR,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAa,EAAC;QACrC,eAAe;QACf,QAAQ;QACR,cAAc;QACd,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,IAAA,yCAAmB,EAAC;QAChD,eAAe;QACf,OAAO;QACP,QAAQ;QACR,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,eAAe,EAAE;QACnB,aAAG,CAAC,OAAO,EAAE,CAAC;QAEd,IAAI,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE;YACxC,MAAM,eAAe,EAAE,CAAC;SACzB;KACF;IAED,MAAM,QAAQ,GAAG,IAAA,oBAAO,EAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,gBAAgB,GAAG,MAAM,IAAA,2CAAoB,EAAC;QAClD,eAAe;QACf,UAAU;QACV,QAAQ;QACR,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,gBAAgB,EAAE;QACpB,aAAG,CAAC,OAAO,EAAE,CAAC;QAEd,IAAI,MAAM,WAAW,CAAC,kBAAkB,CAAC,EAAE;YACzC,MAAM,gBAAgB,EAAE,CAAC;SAC1B;KACF;IAED,IAAI,eAAe,EAAE;QACnB,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC;YACtB,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;QAEH,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAC/B;QAAC,WAAM;YACN,aAAG,CAAC,OAAO,EAAE,CAAC;YACd,aAAG,CAAC,IAAI,CAAC,aAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAErE,aAAG,CAAC,OAAO,EAAE,CAAC;YACd,aAAG,CAAC,KAAK,CAAC,aAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACpC,aAAG,CAAC,KAAK,CAAC,aAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAEnC,aAAG,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;SACR;QACD,IAAI;YACF,MAAM,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;SAC7D;QAAC,WAAM,GAAE;KACX;IAED,IAAI,gBAAgB,IAAI,eAAe,EAAE;QACvC,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,EAAE,CAAC,aAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAE7C,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,KAAK,CAAC,aAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;KACpC;IAED,aAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC,CAAA,CAAC;AA1GW,QAAA,SAAS,aA0GpB"}
@@ -4,8 +4,8 @@ export declare const getFirstDefined: <T>(record: Record<string, T | undefined>,
4
4
  *
5
5
  * Array properties are sorted and deduped.
6
6
  */
7
- export declare const merge: <A, B>(obj: A, src: B) => A & B;
7
+ export declare const merge: <A, B>(obj: A, src: B) => {} & A & B;
8
8
  /**
9
9
  * Like `merge`, but arrays are not deduped or sorted to preserve order.
10
10
  */
11
- export declare const mergeRaw: <A, B>(obj: A, src: B) => A & B;
11
+ export declare const mergeRaw: <A, B>(obj: A, src: B) => {} & A & B;
@@ -21,7 +21,7 @@ exports.getFirstDefined = getFirstDefined;
21
21
  *
22
22
  * Array properties are sorted and deduped.
23
23
  */
24
- const merge = (obj, src) => (0, lodash_mergewith_1.default)(obj, src, (objValue, srcValue) => {
24
+ const merge = (obj, src) => (0, lodash_mergewith_1.default)({}, obj, src, (objValue, srcValue) => {
25
25
  if (isArray(objValue) && isArray(srcValue)) {
26
26
  return [...new Set(objValue.concat(srcValue))].sort();
27
27
  }
@@ -31,7 +31,7 @@ exports.merge = merge;
31
31
  /**
32
32
  * Like `merge`, but arrays are not deduped or sorted to preserve order.
33
33
  */
34
- const mergeRaw = (obj, src) => (0, lodash_mergewith_1.default)(obj, src, (objValue, srcValue) => isArray(objValue) && isArray(srcValue)
34
+ const mergeRaw = (obj, src) => (0, lodash_mergewith_1.default)({}, obj, src, (objValue, srcValue) => isArray(objValue) && isArray(srcValue)
35
35
  ? objValue.concat(srcValue)
36
36
  : undefined);
37
37
  exports.mergeRaw = mergeRaw;
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cli/configure/processing/record.ts"],"names":[],"mappings":";;;;;;AAAA,wEAAyC;AAEzC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAC7B,MAAqC,EACrC,IAAc,EACC,EAAE;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO;AACT,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC5C,IAAA,0BAAS,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;IAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACvD;IAED,OAAO;AACT,CAAC,CAAC,CAAC;AAPQ,QAAA,KAAK,SAOb;AAEL;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC/C,IAAA,0BAAS,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE,CAC3D,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC,SAAS,CACd,CAAC;AALS,QAAA,QAAQ,YAKjB"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cli/configure/processing/record.ts"],"names":[],"mappings":";;;;;;AAAA,wEAAyC;AAEzC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAC7B,MAAqC,EACrC,IAAc,EACC,EAAE;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO;AACT,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC5C,IAAA,0BAAS,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;IAC/D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACvD;IAED,OAAO;AACT,CAAC,CAAC,CAAC;AAPQ,QAAA,KAAK,SAOb;AAEL;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC/C,IAAA,0BAAS,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE,CAC/D,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC,SAAS,CACd,CAAC;AALS,QAAA,QAAQ,YAKjB"}
@@ -1,9 +1,8 @@
1
- import { Exec } from '../../utils/exec';
2
1
  interface GitHubProject {
3
2
  orgName: string;
4
3
  repoName: string;
5
4
  }
6
- export declare const initialiseRepo: (exec: Exec, { orgName, repoName }: GitHubProject) => Promise<void>;
7
- export declare const commitChanges: (exec: Exec, message: string) => Promise<void>;
5
+ export declare const initialiseRepo: (dir: string, { orgName, repoName }: GitHubProject) => Promise<void>;
6
+ export declare const commitChanges: (dir: string, message: string) => Promise<void>;
8
7
  export declare const downloadGitHubTemplate: (gitHubPath: string, destinationDir: string) => Promise<void>;
9
8
  export {};
@@ -15,24 +15,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.downloadGitHubTemplate = exports.commitChanges = exports.initialiseRepo = void 0;
16
16
  const path_1 = __importDefault(require("path"));
17
17
  const fs_extra_1 = __importDefault(require("fs-extra"));
18
- const exec_1 = require("../../utils/exec");
18
+ const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
19
+ const node_1 = __importDefault(require("isomorphic-git/http/node"));
20
+ const dir_1 = require("../../utils/dir");
19
21
  const logging_1 = require("../../utils/logging");
20
- const initialiseRepo = (exec, { orgName, repoName }) => __awaiter(void 0, void 0, void 0, function* () {
21
- yield exec('git', 'init');
22
- yield exec('git', '-c', 'user.email=<>', '-c', 'user.name=skuba', 'commit', '--allow-empty', '--author', 'skuba <>', '--message', 'Initial commit', '--quiet');
23
- yield exec('git', 'remote', 'add', 'origin', `git@github.com:${orgName}/${repoName}.git`);
22
+ const initialiseRepo = (dir, { orgName, repoName }) => __awaiter(void 0, void 0, void 0, function* () {
23
+ yield isomorphic_git_1.default.init({
24
+ // TODO: support main as an alternative.
25
+ defaultBranch: 'master',
26
+ dir,
27
+ fs: fs_extra_1.default,
28
+ });
29
+ yield isomorphic_git_1.default.commit({
30
+ author: { name: 'skuba' },
31
+ committer: { name: 'skuba' },
32
+ dir,
33
+ fs: fs_extra_1.default,
34
+ message: 'Initial commit',
35
+ });
36
+ yield isomorphic_git_1.default.addRemote({
37
+ dir,
38
+ fs: fs_extra_1.default,
39
+ remote: 'origin',
40
+ url: `git@github.com:${orgName}/${repoName}.git`,
41
+ });
24
42
  });
25
43
  exports.initialiseRepo = initialiseRepo;
26
- const commitChanges = (exec, message) => __awaiter(void 0, void 0, void 0, function* () {
27
- yield exec('git', 'add', '--all');
28
- yield exec('git', '-c', 'user.email=<>', '-c', 'user.name=skuba', 'commit', '--author', 'skuba <>', '--message', message, '--quiet');
44
+ const commitChanges = (dir, message) => __awaiter(void 0, void 0, void 0, function* () {
45
+ const filepaths = yield (0, dir_1.crawlDirectory)(dir);
46
+ yield Promise.all(filepaths.map((filepath) => isomorphic_git_1.default.add({ dir, filepath, fs: fs_extra_1.default })));
47
+ yield isomorphic_git_1.default.commit({
48
+ author: { name: 'skuba' },
49
+ committer: { name: 'skuba' },
50
+ dir,
51
+ fs: fs_extra_1.default,
52
+ message,
53
+ });
29
54
  });
30
55
  exports.commitChanges = commitChanges;
31
56
  const downloadGitHubTemplate = (gitHubPath, destinationDir) => __awaiter(void 0, void 0, void 0, function* () {
32
- const exec = (0, exec_1.createExec)({ cwd: destinationDir });
33
57
  logging_1.log.newline();
34
58
  logging_1.log.plain('Downloading', logging_1.log.bold(gitHubPath), 'from GitHub...');
35
- yield exec('git', 'clone', '--depth=1', '--quiet', `git@github.com:${gitHubPath}.git`, '.');
59
+ yield isomorphic_git_1.default.clone({
60
+ depth: 1,
61
+ dir: destinationDir,
62
+ fs: fs_extra_1.default,
63
+ http: node_1.default,
64
+ singleBranch: true,
65
+ url: `git@github.com:${gitHubPath}.git`,
66
+ });
36
67
  yield fs_extra_1.default.promises.rm(path_1.default.join(destinationDir, '.git'), {
37
68
  force: true,
38
69
  recursive: true,
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAE1B,2CAAoD;AACpD,iDAA0C;AAOnC,MAAM,cAAc,GAAG,CAC5B,IAAU,EACV,EAAE,OAAO,EAAE,QAAQ,EAAiB,EACpC,EAAE;IACF,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE1B,MAAM,IAAI,CACR,KAAK,EACL,IAAI,EACJ,eAAe,EACf,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,CACV,CAAC;IAEF,MAAM,IAAI,CACR,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,kBAAkB,OAAO,IAAI,QAAQ,MAAM,CAC5C,CAAC;AACJ,CAAC,CAAA,CAAC;AA5BW,QAAA,cAAc,kBA4BzB;AAEK,MAAM,aAAa,GAAG,CAAO,IAAU,EAAE,OAAe,EAAE,EAAE;IACjE,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAElC,MAAM,IAAI,CACR,KAAK,EACL,IAAI,EACJ,eAAe,EACf,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,SAAS,CACV,CAAC;AACJ,CAAC,CAAA,CAAC;AAhBW,QAAA,aAAa,iBAgBxB;AAEK,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAClB,cAAsB,EACtB,EAAE;IACF,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;IAEjD,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,aAAa,EAAE,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,IAAI,CACR,KAAK,EACL,OAAO,EACP,WAAW,EACX,SAAS,EACT,kBAAkB,UAAU,MAAM,EAClC,GAAG,CACJ,CAAC;IAEF,MAAM,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QACtD,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,IAAI,CACN,qBAAqB,EACrB,aAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAChC,oBAAoB,CACrB,CAAC;AACJ,CAAC,CAAA,CAAC;AA7BW,QAAA,sBAAsB,0BA6BjC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAC1B,oEAAiC;AACjC,oEAA4C;AAE5C,yCAAiD;AACjD,iDAA0C;AAOnC,MAAM,cAAc,GAAG,CAC5B,GAAW,EACX,EAAE,OAAO,EAAE,QAAQ,EAAiB,EACpC,EAAE;IACF,MAAM,wBAAG,CAAC,IAAI,CAAC;QACb,wCAAwC;QACxC,aAAa,EAAE,QAAQ;QACvB,GAAG;QACH,EAAE,EAAF,kBAAE;KACH,CAAC,CAAC;IAEH,MAAM,wBAAG,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACzB,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5B,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,MAAM,wBAAG,CAAC,SAAS,CAAC;QAClB,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,kBAAkB,OAAO,IAAI,QAAQ,MAAM;KACjD,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAzBW,QAAA,cAAc,kBAyBzB;AAEK,MAAM,aAAa,GAAG,CAAO,GAAW,EAAE,OAAe,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAc,EAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC,CAC5D,CAAC;IAEF,MAAM,wBAAG,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACzB,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5B,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAdW,QAAA,aAAa,iBAcxB;AAEK,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAClB,cAAsB,EACtB,EAAE;IACF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,aAAa,EAAE,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,wBAAG,CAAC,KAAK,CAAC;QACd,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,cAAc;QACnB,EAAE,EAAF,kBAAE;QACF,IAAI,EAAJ,cAAI;QACJ,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,kBAAkB,UAAU,MAAM;KACxC,CAAC,CAAC;IAEH,MAAM,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QACtD,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,IAAI,CACN,qBAAqB,EACrB,aAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAChC,oBAAoB,CACrB,CAAC;AACJ,CAAC,CAAA,CAAC;AA3BW,QAAA,sBAAsB,0BA2BjC"}
@@ -25,7 +25,7 @@ const git_1 = require("./git");
25
25
  const writePackageJson_1 = require("./writePackageJson");
26
26
  const init = () => __awaiter(void 0, void 0, void 0, function* () {
27
27
  const skubaVersionInfo = yield (0, logo_1.showLogoAndVersionInfo)();
28
- yield (0, exec_1.ensureCommands)('git', 'yarn');
28
+ yield (0, exec_1.ensureCommands)('yarn');
29
29
  const { destinationDir, entryPoint, templateComplete, templateData, templateName, type, } = yield (0, getConfig_1.getConfig)();
30
30
  const include = yield (0, dir_1.createInclusionFilter)([
31
31
  path_1.default.join(destinationDir, '.gitignore'),
@@ -66,7 +66,7 @@ const init = () => __awaiter(void 0, void 0, void 0, function* () {
66
66
  streamStdio: 'yarn',
67
67
  });
68
68
  logging_1.log.newline();
69
- yield (0, git_1.initialiseRepo)(exec, templateData);
69
+ yield (0, git_1.initialiseRepo)(destinationDir, templateData);
70
70
  const skubaSlug = `skuba@${skubaVersionInfo.local}`;
71
71
  let depsInstalled = false;
72
72
  try {
@@ -75,7 +75,7 @@ const init = () => __awaiter(void 0, void 0, void 0, function* () {
75
75
  yield exec('npx', 'yarn-deduplicate', '--strategy=highest');
76
76
  }
77
77
  catch (_a) { }
78
- yield (0, git_1.commitChanges)(exec, `Clone ${templateName}`);
78
+ yield (0, git_1.commitChanges)(destinationDir, `Clone ${templateName}`);
79
79
  const logGitHubRepoCreation = () => {
80
80
  logging_1.log.plain('Next, create an empty', logging_1.log.bold(`${templateData.orgName}/${templateData.repoName}`), 'repository:');
81
81
  logging_1.log.ok('https://github.com/new');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
@@ -52,19 +52,39 @@ const lintConcurrently = (_a) => __awaiter(void 0, void 0, void 0, function* ()
52
52
  ]);
53
53
  return { eslint, prettier, tscOk };
54
54
  });
55
- const lintSerially = (input) => __awaiter(void 0, void 0, void 0, function* () {
55
+ /**
56
+ * Run linting tools `--serial`ly for resource-constrained environments.
57
+ *
58
+ * Note that we still run ESLint and Prettier in worker threads as a
59
+ * counterintuitive optimisation. Memory can be more readily freed on worker
60
+ * thread exit, which isn't as easy with a monolithic main thread.
61
+ */
62
+ const lintSerially = (_b) => __awaiter(void 0, void 0, void 0, function* () {
63
+ var { tscOutputStream } = _b, input = __rest(_b, ["tscOutputStream"]);
64
+ const eslint = yield (0, eslint_1.runESLintInWorkerThread)(input);
65
+ const prettier = yield (0, prettier_1.runPrettierInWorkerThread)(input);
66
+ const tscOk = yield (0, tsc_1.runTscInNewProcess)(Object.assign(Object.assign({}, input), { tscOutputStream }));
67
+ return { eslint, prettier, tscOk };
68
+ });
69
+ const lintSeriallyWithoutWorkerThreads = (input) => __awaiter(void 0, void 0, void 0, function* () {
56
70
  const eslint = yield (0, eslint_1.runESLintInCurrentThread)(input);
57
71
  const prettier = yield (0, prettier_1.runPrettierInCurrentThread)(input);
58
72
  const tscOk = yield (0, tsc_1.runTscInNewProcess)(input);
59
73
  return { eslint, prettier, tscOk };
60
74
  });
61
- const externalLint = (input) => __awaiter(void 0, void 0, void 0, function* () {
62
- var _b;
75
+ const selectLintFunction = (input) => {
76
+ if (!input.workerThreads) {
77
+ return lintSeriallyWithoutWorkerThreads;
78
+ }
63
79
  // `--debug` implies `--serial`.
64
80
  const isSerial = input.debug || input.serial;
65
- const lint = isSerial ? lintSerially : lintConcurrently;
81
+ return isSerial ? lintSerially : lintConcurrently;
82
+ };
83
+ const externalLint = (input) => __awaiter(void 0, void 0, void 0, function* () {
84
+ var _c;
85
+ const lint = selectLintFunction(input);
66
86
  const tscOutputStream = new StreamInterceptor();
67
- tscOutputStream.pipe((_b = input.tscOutputStream) !== null && _b !== void 0 ? _b : process.stdout);
87
+ tscOutputStream.pipe((_c = input.tscOutputStream) !== null && _c !== void 0 ? _c : process.stdout);
68
88
  const { eslint, prettier, tscOk } = yield lint(Object.assign(Object.assign({}, input), { tscOutputStream }));
69
89
  if (eslint.ok && prettier.ok && tscOk) {
70
90
  return;
@@ -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>;
@@ -13,11 +13,12 @@ exports.lint = void 0;
13
13
  const args_1 = require("../../utils/args");
14
14
  const external_1 = require("./external");
15
15
  const internal_1 = require("./internal");
16
- const lint = (args = process.argv, tscOutputStream = undefined) => __awaiter(void 0, void 0, void 0, function* () {
16
+ const lint = (args = process.argv, tscOutputStream = undefined, workerThreads = true) => __awaiter(void 0, void 0, void 0, function* () {
17
17
  const opts = {
18
18
  debug: (0, args_1.hasDebugFlag)(args),
19
19
  serial: (0, args_1.hasSerialFlag)(args),
20
20
  tscOutputStream,
21
+ workerThreads,
21
22
  };
22
23
  yield (0, external_1.externalLint)(opts);
23
24
  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;AAE/D,yCAA0C;AAC1C,yCAA0C;AAGnC,MAAM,IAAI,GAAG,CAClB,IAAI,GAAG,OAAO,CAAC,IAAI,EACnB,kBAAqD,SAAS,EAC9D,aAAa,GAAG,IAAI,EACpB,EAAE;IACF,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;AAfW,QAAA,IAAI,QAef"}
@@ -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
  }
@@ -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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"}
@@ -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,7 @@ 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).join(', ')})`);
29
34
  const requestListener = (0, http_1.createRequestListenerFromFunction)(fn);
30
35
  return (0, http_1.serveRequestListener)(requestListener, availablePort);
31
36
  });
@@ -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,CAAC,aAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,IAAA,4BAAM,EAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,IAAA,wCAAiC,EAAC,EAAE,CAAC,CAAC;IAE9D,OAAO,IAAA,2BAAoB,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC,CAAA,CAAC;AAtBW,QAAA,kBAAkB,sBAsB7B"}
@@ -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":";;;;;;;;;;;;;;;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;QACtE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAElE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC3C,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAC/D,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CACrC,CACN,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChE,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,GAAG;iBACA,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACvC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACxD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,sCAAsC;QACtC,MAAM,WAAW,GAAY,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,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;AAvCS,QAAA,iCAAiC,qCAuC1C;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"}
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.15.2",
11
11
  "main": "lib/index.js",
12
12
  "typings": "lib/index.d.ts",
13
13
  "files": [
@@ -41,7 +41,7 @@
41
41
  "devDependencies": {
42
42
  "@changesets/cli": "2.17.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,7 +49,7 @@
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
55
  "koa": "2.13.3",
@@ -68,6 +68,7 @@
68
68
  "execa": "^5.0.0",
69
69
  "fdir": "^5.0.0",
70
70
  "fs-extra": "^10.0.0",
71
+ "function-arguments": "^1.0.9",
71
72
  "get-port": "^5.1.1",
72
73
  "ignore": "^5.1.8",
73
74
  "is-installed-globally": "^0.4.0",
@@ -79,7 +80,6 @@
79
80
  "normalize-package-data": "^3.0.0",
80
81
  "npm-run-path": "^4.0.1",
81
82
  "npm-which": "^3.0.1",
82
- "p-limit": "3.1.0",
83
83
  "picomatch": "^2.2.2",
84
84
  "prettier": "2.4.1",
85
85
  "read-pkg-up": "^7.0.1",
@@ -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.1:
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.1:
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.1:
103
103
  command: apply
104
104
  environment: <%- prodGantryEnvironmentName %>
105
105
  file: gantry.apply.yml
@@ -23,18 +23,6 @@ Next steps:
23
23
  request installation in [SEEK-Jobs/renovate].
24
24
  9. [ ] Delete this checklist 😌.
25
25
 
26
- ## Table of contents
27
-
28
- - [Design](#design)
29
- - [Development](#development)
30
- - [Test](#test)
31
- - [Lint](#lint)
32
- - [Start](#start)
33
- - [Deploy](#deploy)
34
- - [Support](#support)
35
- - [Dev](#dev)
36
- - [Prod](#prod)
37
-
38
26
  ## Design
39
27
 
40
28
  <%-repoName %> is a Node.js HTTP server built in line with our [technology strategy].
@@ -8,7 +8,7 @@
8
8
  "@types/express": "^4.17.13",
9
9
  "@types/node": "^14.17.9",
10
10
  "@types/supertest": "^2.0.11",
11
- "pino-pretty": "^7.0.0",
11
+ "pino-pretty": "^6.0.0",
12
12
  "skuba": "*",
13
13
  "supertest": "^6.1.4"
14
14
  },
@@ -21,18 +21,6 @@ Next steps:
21
21
  request installation in [SEEK-Jobs/renovate].
22
22
  8. [ ] Delete this checklist 😌.
23
23
 
24
- ## Table of contents
25
-
26
- - [Design](#design)
27
- - [Development](#development)
28
- - [Test](#test)
29
- - [Lint](#lint)
30
- - [Start](#start)
31
- - [Deploy](#deploy)
32
- - [Support](#support)
33
- - [Dev](#dev)
34
- - [Prod](#prod)
35
-
36
24
  ## Design
37
25
 
38
26
  The `greeter` template is the prototypical _hello world_ project.
@@ -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.1:
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.1:
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.1:
103
103
  command: apply
104
104
  environment: <%- prodGantryEnvironmentName %>
105
105
  file: gantry.apply.yml
@@ -23,18 +23,6 @@ Next steps:
23
23
  request installation in [SEEK-Jobs/renovate].
24
24
  9. [ ] Delete this checklist 😌.
25
25
 
26
- ## Table of contents
27
-
28
- - [Design](#design)
29
- - [Development](#development)
30
- - [Test](#test)
31
- - [Lint](#lint)
32
- - [Start](#start)
33
- - [Deploy](#deploy)
34
- - [Support](#support)
35
- - [Dev](#dev)
36
- - [Prod](#prod)
37
-
38
26
  ## Design
39
27
 
40
28
  <%-repoName %> is a Node.js HTTP server built in line with our [technology strategy].
@@ -22,7 +22,7 @@
22
22
  "@types/supertest": "^2.0.11",
23
23
  "@types/uuid": "^8.3.1",
24
24
  "chance": "^1.1.7",
25
- "pino-pretty": "^7.0.0",
25
+ "pino-pretty": "^6.0.0",
26
26
  "skuba": "*",
27
27
  "supertest": "^6.1.4"
28
28
  },
@@ -22,18 +22,6 @@ Next steps:
22
22
  request installation in [SEEK-Jobs/renovate].
23
23
  9. [ ] Delete this checklist 😌.
24
24
 
25
- ## Table of contents
26
-
27
- - [Design](#design)
28
- - [Development](#development)
29
- - [Test](#test)
30
- - [Lint](#lint)
31
- - [Start](#start)
32
- - [Deploy](#deploy)
33
- - [Support](#support)
34
- - [Dev](#dev)
35
- - [Prod](#prod)
36
-
37
25
  ## Design
38
26
 
39
27
  <%-repoName %> is a Node.js [Lambda] application built in line with our [technology strategy].
@@ -12,7 +12,7 @@
12
12
  "@types/chance": "^1.1.3",
13
13
  "@types/node": "^14.17.9",
14
14
  "chance": "^1.1.7",
15
- "pino-pretty": "^7.0.0",
15
+ "pino-pretty": "^6.0.0",
16
16
  "serverless": "^2.53.1",
17
17
  "serverless-plugin-canary-deployments": "^0.7.0",
18
18
  "serverless-prune-plugin": "^1.5.1",
@@ -1,15 +1,18 @@
1
1
  service: <%- serviceName %>
2
2
 
3
+ configValidationMode: error
4
+ variablesResolutionMode: 20210326
5
+
3
6
  custom:
4
7
  description: <%- description %>
5
8
  env: ${self:custom.envs.${env:ENVIRONMENT}}
6
9
  envs:
7
10
  dev:
8
11
  deploymentBucket: 'TODO: deploymentBucketName'
9
- isProduction: 'false'
12
+ isProduction: false
10
13
  prod:
11
14
  deploymentBucket: 'TODO: deploymentBucketName'
12
- isProduction: 'true'
15
+ isProduction: true
13
16
  prune:
14
17
  automatic: true
15
18
  number: 3
@@ -18,20 +18,6 @@ Next steps:
18
18
  request installation in [#open-source].
19
19
  7. [ ] Delete this checklist 😌.
20
20
 
21
- ## Table of contents
22
-
23
- - [API](#api)
24
- - [`log`](#log)
25
- - [Development](#development)
26
- - [Prerequisites](#prerequisites)
27
- - [Test](#test)
28
- - [Lint](#lint)
29
- - [Package](#package)
30
- - [Release](#release)
31
- - [Commit messages](#commit-messages)
32
- - [Releasing latest](#releasing-latest)
33
- - [Releasing other dist-tags](#releasing-other-dist-tags)
34
-
35
21
  ## API
36
22
 
37
23
  ### `log`
@@ -18,20 +18,6 @@ Next steps:
18
18
  request installation in [SEEK-Jobs/renovate].
19
19
  7. [ ] Delete this checklist 😌.
20
20
 
21
- ## Table of contents
22
-
23
- - [API](#api)
24
- - [`log`](#log)
25
- - [Development](#development)
26
- - [Prerequisites](#prerequisites)
27
- - [Test](#test)
28
- - [Lint](#lint)
29
- - [Package](#package)
30
- - [Release](#release)
31
- - [Commit messages](#commit-messages)
32
- - [Releasing latest](#releasing-latest)
33
- - [Releasing other dist-tags](#releasing-other-dist-tags)
34
-
35
21
  ## API
36
22
 
37
23
  ### `log`