skuba 3.17.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/jest/moduleNameMapper.js +3 -3
  2. package/lib/cli/adapter/eslint.js +1 -1
  3. package/lib/cli/adapter/eslint.js.map +1 -1
  4. package/lib/cli/configure/analysis/package.js +1 -1
  5. package/lib/cli/configure/analysis/package.js.map +1 -1
  6. package/lib/cli/configure/modules/package.js +1 -1
  7. package/lib/cli/configure/modules/package.js.map +1 -1
  8. package/lib/cli/init/git.js +5 -9
  9. package/lib/cli/init/git.js.map +1 -1
  10. package/lib/cli/node.js +2 -2
  11. package/lib/cli/node.js.map +1 -1
  12. package/lib/cli/start.js +3 -4
  13. package/lib/cli/start.js.map +1 -1
  14. package/package.json +81 -66
  15. package/template/express-rest-api/.buildkite/pipeline.yml +3 -3
  16. package/template/express-rest-api/.env +1 -0
  17. package/template/express-rest-api/Dockerfile +3 -0
  18. package/template/express-rest-api/gantry.apply.yml +2 -0
  19. package/template/express-rest-api/gantry.build.yml +2 -1
  20. package/template/express-rest-api/package.json +2 -2
  21. package/template/greeter/package.json +2 -2
  22. package/template/koa-rest-api/.buildkite/pipeline.yml +3 -3
  23. package/template/koa-rest-api/.env +1 -0
  24. package/template/koa-rest-api/Dockerfile +3 -0
  25. package/template/koa-rest-api/README.md +1 -1
  26. package/template/koa-rest-api/gantry.apply.yml +2 -0
  27. package/template/koa-rest-api/gantry.build.yml +2 -1
  28. package/template/koa-rest-api/package.json +3 -3
  29. package/template/lambda-sqs-worker/.buildkite/pipeline.yml +1 -0
  30. package/template/lambda-sqs-worker/.env +1 -0
  31. package/template/lambda-sqs-worker/package.json +3 -3
  32. package/template/lambda-sqs-worker/serverless.yml +20 -21
  33. package/template/lambda-sqs-worker/src/hooks.ts +3 -2
  34. package/template/lambda-sqs-worker-cdk/infra/__snapshots__/appStack.test.ts.snap +4 -0
  35. package/template/lambda-sqs-worker-cdk/infra/appStack.ts +4 -0
@@ -11,7 +11,7 @@ const {
11
11
  /**
12
12
  * Set a default `src` module alias for backward compatibility.
13
13
  *
14
- * TODO: drop this default in skuba v4.
14
+ * TODO: drop this default in skuba v5.
15
15
  */
16
16
  const DEFAULT_PATHS = { src: ['src'], 'src/*': ['src/*'] };
17
17
 
@@ -20,7 +20,7 @@ const DEFAULT_PATHS = { src: ['src'], 'src/*': ['src/*'] };
20
20
  */
21
21
  const getConfigFromDisk = () => {
22
22
  const filename =
23
- findConfigFile('.', sys.fileExists.bind(this)) || 'tsconfig.json';
23
+ findConfigFile('.', sys.fileExists.bind(this)) ?? 'tsconfig.json';
24
24
 
25
25
  return readConfigFile(filename, sys.readFile.bind(this)).config;
26
26
  };
@@ -64,7 +64,7 @@ module.exports.createModuleNameMapper = (getConfig = getConfigFromDisk) => {
64
64
  ),
65
65
  );
66
66
 
67
- const prefix = path.join('<rootDir>', parsedConfig.options.baseUrl || '.');
67
+ const prefix = path.join('<rootDir>', parsedConfig.options.baseUrl ?? '.');
68
68
 
69
69
  const moduleNameMapper = pathsToModuleNameMapper(paths, { prefix });
70
70
 
@@ -60,7 +60,7 @@ const runESLint = (mode, logger) => __awaiter(void 0, void 0, void 0, function*
60
60
  }
61
61
  const ok = errors.length === 0;
62
62
  yield eslint_1.ESLint.outputFixes(results);
63
- const output = formatter.format(results);
63
+ const output = yield formatter.format(results);
64
64
  if (output) {
65
65
  logger.plain(output);
66
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../src/cli/adapter/eslint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,kDAA0B;AAE1B,mCAAgC;AAGhC,iDAAgD;AAEhD,MAAM,eAAe,GAAG,CAAC,MAAyB,EAAE,EAAE;IACpD,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,OAAO,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACvB;IAED,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC,CAAC;AAcK,MAAM,SAAS,GAAG,CACvB,IAAuB,EACvB,MAAc,EACS,EAAE;IACzB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;QAC/B,GAAG,EAAE,IAAI,KAAK,QAAQ;QACtB,6BAA6B,EAAE,OAAO;KACvC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAEtC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,MAAM,CAAC,aAAa,EAAE;QACtB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAEpC,MAAM,CAAC,KAAK,CACV,aAAa,IAAA,mBAAS,EAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,MAAM,CAChE,KAAK,EACL,GAAG,CACJ,GAAG,CACL,CAAC;IAEF,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;SACJ;QAED,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;SACJ;QAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;KACrD;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAE/B,MAAM,eAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IAED,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC,CAAA,CAAC;AAlEW,QAAA,SAAS,aAkEpB"}
1
+ {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../src/cli/adapter/eslint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,kDAA0B;AAE1B,mCAAgC;AAGhC,iDAAgD;AAEhD,MAAM,eAAe,GAAG,CAAC,MAAyB,EAAE,EAAE;IACpD,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,OAAO,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACvB;IAED,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC,CAAC;AAcK,MAAM,SAAS,GAAG,CACvB,IAAuB,EACvB,MAAc,EACS,EAAE;IACzB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;QAC/B,GAAG,EAAE,IAAI,KAAK,QAAQ;QACtB,6BAA6B,EAAE,OAAO;KACvC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAEtC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,MAAM,CAAC,aAAa,EAAE;QACtB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAEpC,MAAM,CAAC,KAAK,CACV,aAAa,IAAA,mBAAS,EAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,MAAM,CAChE,KAAK,EACL,GAAG,CACJ,GAAG,CACL,CAAC;IAEF,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;SACJ;QAED,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;SACJ;QAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;KACrD;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAE/B,MAAM,eAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE/C,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IAED,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC,CAAA,CAAC;AAlEW,QAAA,SAAS,aAkEpB"}
@@ -56,7 +56,7 @@ const generateNotices = ({ dependencies, devDependencies, }) => {
56
56
  logging_1.log.newline();
57
57
  logging_1.log.warn("We're going to tweak your output directories,", 'so double check your bundle once this is done.');
58
58
  logging_1.log.newline();
59
- logging_1.log.warn('Read more:', logging_1.log.bold('https://github.com/seek-oss/skuba/blob/master/docs/migrating-from-seek-module-toolkit.md#building'));
59
+ logging_1.log.warn('Read more:', logging_1.log.bold('https://seek-oss.github.io/skuba/docs/migration-guides/seek-module-toolkit.html#building'));
60
60
  };
61
61
  }
62
62
  return () => { };
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/package.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ const packageModule = ({ entryPoint, type, }) => __awaiter(void 0, void 0, void
24
24
  const version = yield (0, version_1.getSkubaVersion)();
25
25
  const initialData = {
26
26
  private: type !== 'package',
27
- scripts: Object.assign(Object.assign({ build: type === 'package' ? 'skuba build-package' : 'skuba build', format: 'skuba format', lint: 'skuba lint' }, (type === 'package' ? {} : { start: 'ENVIRONMENT=local skuba start' })), { test: 'skuba test --coverage', 'test:watch': 'skuba test --watch' }),
27
+ scripts: Object.assign(Object.assign({ build: type === 'package' ? 'skuba build-package' : 'skuba build', format: 'skuba format', lint: 'skuba lint' }, (type === 'package' ? {} : { start: 'skuba start' })), { test: 'skuba test --coverage', 'test:watch': 'skuba test --watch' }),
28
28
  skuba: {
29
29
  entryPoint,
30
30
  template: null,
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/package.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ exports.downloadGitHubTemplate = exports.commitChanges = exports.initialiseRepo
35
35
  const path_1 = __importDefault(require("path"));
36
36
  const fs_extra_1 = __importDefault(require("fs-extra"));
37
37
  const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
38
- const node_1 = __importDefault(require("isomorphic-git/http/node"));
38
+ const simple_git_1 = __importDefault(require("simple-git"));
39
39
  const Git = __importStar(require("../../api/git"));
40
40
  const dir_1 = require("../../utils/dir");
41
41
  const logging_1 = require("../../utils/logging");
@@ -70,14 +70,10 @@ exports.commitChanges = commitChanges;
70
70
  const downloadGitHubTemplate = (gitHubPath, destinationDir) => __awaiter(void 0, void 0, void 0, function* () {
71
71
  logging_1.log.newline();
72
72
  logging_1.log.plain('Downloading', logging_1.log.bold(gitHubPath), 'from GitHub...');
73
- yield isomorphic_git_1.default.clone({
74
- depth: 1,
75
- dir: destinationDir,
76
- fs: fs_extra_1.default,
77
- http: node_1.default,
78
- singleBranch: true,
79
- url: `git@github.com:${gitHubPath}.git`,
80
- });
73
+ yield (0, simple_git_1.default)().clone(`git@github.com:${gitHubPath}.git`, destinationDir, [
74
+ '--depth=1',
75
+ '--quiet',
76
+ ]);
81
77
  yield fs_extra_1.default.promises.rm(path_1.default.join(destinationDir, '.git'), {
82
78
  force: true,
83
79
  recursive: true,
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAC1B,oEAAiC;AACjC,oEAA4C;AAE5C,mDAAqC;AACrC,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,GAAG,CAAC,MAAM,CAAC;QACf,GAAG;QACH,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;AAtBW,QAAA,cAAc,kBAsBzB;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,GAAG,CAAC,MAAM,CAAC;QACf,GAAG;QACH,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAXW,QAAA,aAAa,iBAWxB;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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAC1B,oEAAiC;AACjC,4DAAmC;AAEnC,mDAAqC;AACrC,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,GAAG,CAAC,MAAM,CAAC;QACf,GAAG;QACH,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;AAtBW,QAAA,cAAc,kBAsBzB;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,GAAG,CAAC,MAAM,CAAC;QACf,GAAG;QACH,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAXW,QAAA,aAAa,iBAWxB;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,IAAA,oBAAS,GAAE,CAAC,KAAK,CAAC,kBAAkB,UAAU,MAAM,EAAE,cAAc,EAAE;QAC1E,WAAW;QACX,SAAS;KACV,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;AAvBW,QAAA,sBAAsB,0BAuBjC"}
package/lib/cli/node.js CHANGED
@@ -50,13 +50,13 @@ const node = () => __awaiter(void 0, void 0, void 0, function* () {
50
50
  });
51
51
  // Run a script with plain `node` to support inspector options.
52
52
  // https://github.com/TypeStrong/ts-node#programmatic
53
- return exec('node', ...args.node, '--require', 'tsconfig-paths/register', '--require', 'ts-node/register/transpile-only', path_1.default.join(__dirname, '..', 'wrapper'), ...args.script);
53
+ return exec('node', ...args.node, '--require', 'dotenv/config', '--require', 'tsconfig-paths/register', '--require', 'ts-node/register/transpile-only', path_1.default.join(__dirname, '..', 'wrapper'), ...args.script);
54
54
  }
55
55
  // REPL with `ts-node` to support import statements.
56
56
  return tsNode
57
57
  .createRepl({
58
58
  service: tsNode.register({
59
- require: [path_1.default.join(__dirname, '..', 'register')],
59
+ require: ['dotenv/config', 'tsconfig-paths/register'],
60
60
  transpileOnly: true,
61
61
  }),
62
62
  })
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/cli/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA+B;AAC/B,gDAAkC;AAElC,wCAA6C;AAC7C,wCAA2C;AAC3C,oDAA+C;AAExC,MAAM,IAAI,GAAG,GAAS,EAAE;IAC7B,MAAM,IAAI,GAAG,IAAA,mBAAY,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,MAAM,IAAA,kBAAO,GAAE,CAAC;IAEtC,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC;YACtB,GAAG,EAAE;gBACH,mBAAmB,EAAE,IAAI,CAAC,UAAU;gBACpC,YAAY,EAAE,MAAM,CAAC,IAAA,qBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;aACtE;SACF,CAAC,CAAC;QAEH,+DAA+D;QAC/D,qDAAqD;QACrD,OAAO,IAAI,CACT,MAAM,EACN,GAAG,IAAI,CAAC,IAAI,EACZ,WAAW,EACX,yBAAyB,EACzB,WAAW,EACX,iCAAiC,EACjC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,EACrC,GAAG,IAAI,CAAC,MAAM,CACf,CAAC;KACH;IAED,oDAAoD;IACpD,OAAO,MAAM;SACV,UAAU,CAAC;QACV,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC;YACvB,OAAO,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACjD,aAAa,EAAE,IAAI;SACpB,CAAC;KACH,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC,CAAA,CAAC;AApCW,QAAA,IAAI,QAoCf"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/cli/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA+B;AAC/B,gDAAkC;AAElC,wCAA6C;AAC7C,wCAA2C;AAC3C,oDAA+C;AAExC,MAAM,IAAI,GAAG,GAAS,EAAE;IAC7B,MAAM,IAAI,GAAG,IAAA,mBAAY,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,MAAM,IAAA,kBAAO,GAAE,CAAC;IAEtC,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC;YACtB,GAAG,EAAE;gBACH,mBAAmB,EAAE,IAAI,CAAC,UAAU;gBACpC,YAAY,EAAE,MAAM,CAAC,IAAA,qBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;aACtE;SACF,CAAC,CAAC;QAEH,+DAA+D;QAC/D,qDAAqD;QACrD,OAAO,IAAI,CACT,MAAM,EACN,GAAG,IAAI,CAAC,IAAI,EACZ,WAAW,EACX,eAAe,EACf,WAAW,EACX,yBAAyB,EACzB,WAAW,EACX,iCAAiC,EACjC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,EACrC,GAAG,IAAI,CAAC,MAAM,CACf,CAAC;KACH;IAED,oDAAoD;IACpD,OAAO,MAAM;SACV,UAAU,CAAC;QACV,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC;YACvB,OAAO,EAAE,CAAC,eAAe,EAAE,yBAAyB,CAAC;YACrD,aAAa,EAAE,IAAI;SACpB,CAAC;KACH,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC,CAAA,CAAC;AAtCW,QAAA,IAAI,QAsCf"}
package/lib/cli/start.js CHANGED
@@ -20,20 +20,19 @@ const exec_1 = require("../utils/exec");
20
20
  const manifest_1 = require("../utils/manifest");
21
21
  const validation_1 = require("../utils/validation");
22
22
  const start = () => __awaiter(void 0, void 0, void 0, function* () {
23
+ var _a;
23
24
  const [args, availablePort] = yield Promise.all([
24
25
  (0, args_1.parseRunArgs)(process.argv.slice(2)),
25
26
  (0, get_port_1.default)(),
26
27
  ]);
27
- if (!args.entryPoint) {
28
- args.entryPoint = yield (0, manifest_1.getEntryPointFromManifest)();
29
- }
28
+ (_a = args.entryPoint) !== null && _a !== void 0 ? _a : (args.entryPoint = yield (0, manifest_1.getEntryPointFromManifest)());
30
29
  const execProcess = (0, exec_1.createExec)({
31
30
  env: {
32
31
  __SKUBA_ENTRY_POINT: args.entryPoint,
33
32
  __SKUBA_PORT: String((0, validation_1.isIpPort)(args.port) ? args.port : availablePort),
34
33
  },
35
34
  });
36
- return execProcess('ts-node-dev', ...args.node, '--require', 'tsconfig-paths/register', '--respawn', '--transpile-only', path_1.default.join(__dirname, '..', 'wrapper'), ...args.script);
35
+ return execProcess('ts-node-dev', ...args.node, '--require', 'dotenv/config', '--require', 'tsconfig-paths/register', '--respawn', '--transpile-only', path_1.default.join(__dirname, '..', 'wrapper'), ...args.script);
37
36
  });
38
37
  exports.start = start;
39
38
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/cli/start.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA+B;AAE/B,wCAA6C;AAC7C,wCAA2C;AAC3C,gDAA8D;AAC9D,oDAA+C;AAExC,MAAM,KAAK,GAAG,GAAS,EAAE;IAC9B,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,IAAA,mBAAY,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAA,kBAAO,GAAE;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;QACpB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAA,oCAAyB,GAAE,CAAC;KACrD;IAED,MAAM,WAAW,GAAG,IAAA,iBAAU,EAAC;QAC7B,GAAG,EAAE;YACH,mBAAmB,EAAE,IAAI,CAAC,UAAU;YACpC,YAAY,EAAE,MAAM,CAAC,IAAA,qBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;SACtE;KACF,CAAC,CAAC;IAEH,OAAO,WAAW,CAChB,aAAa,EACb,GAAG,IAAI,CAAC,IAAI,EACZ,WAAW,EACX,yBAAyB,EACzB,WAAW,EACX,kBAAkB,EAClB,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,EACrC,GAAG,IAAI,CAAC,MAAM,CACf,CAAC;AACJ,CAAC,CAAA,CAAC;AA3BW,QAAA,KAAK,SA2BhB"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/cli/start.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA+B;AAE/B,wCAA6C;AAC7C,wCAA2C;AAC3C,gDAA8D;AAC9D,oDAA+C;AAExC,MAAM,KAAK,GAAG,GAAS,EAAE;;IAC9B,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,IAAA,mBAAY,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAA,kBAAO,GAAE;KACV,CAAC,CAAC;IAEH,MAAA,IAAI,CAAC,UAAU,oCAAf,IAAI,CAAC,UAAU,GAAK,MAAM,IAAA,oCAAyB,GAAE,EAAC;IAEtD,MAAM,WAAW,GAAG,IAAA,iBAAU,EAAC;QAC7B,GAAG,EAAE;YACH,mBAAmB,EAAE,IAAI,CAAC,UAAU;YACpC,YAAY,EAAE,MAAM,CAAC,IAAA,qBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;SACtE;KACF,CAAC,CAAC;IAEH,OAAO,WAAW,CAChB,aAAa,EACb,GAAG,IAAI,CAAC,IAAI,EACZ,WAAW,EACX,eAAe,EACf,WAAW,EACX,yBAAyB,EACzB,WAAW,EACX,kBAAkB,EAClB,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,EACrC,GAAG,IAAI,CAAC,MAAM,CACf,CAAC;AACJ,CAAC,CAAA,CAAC;AA3BW,QAAA,KAAK,SA2BhB"}
package/package.json CHANGED
@@ -1,76 +1,22 @@
1
1
  {
2
- "name": "skuba",
3
- "description": "Toolkit for backend TypeScript development",
4
2
  "bin": {
5
3
  "skuba": "lib/skuba.js"
6
4
  },
7
- "engines": {
8
- "node": ">=12"
9
- },
10
- "version": "3.17.0",
11
- "main": "lib/index.js",
12
- "typings": "lib/index.d.ts",
13
- "files": [
14
- "config/**/*",
15
- "jest/**/*",
16
- "lib*/**/*.d.ts",
17
- "lib*/**/*.js",
18
- "lib*/**/*.js.map",
19
- "template/**/*",
20
- "jest-preset.js"
21
- ],
22
- "sideEffects": false,
23
- "license": "MIT",
24
- "scripts": {
25
- "build": "ts-node --transpile-only src/skuba build && scripts/postbuild.sh",
26
- "changeset:add": "changeset add && prettier --loglevel silent --write '.changeset/*.md'",
27
- "deploy": "scripts/deploy.sh",
28
- "format": "yarn skuba format",
29
- "lint": "yarn skuba lint",
30
- "release": "yarn build && changeset publish",
31
- "stage": "changeset version && yarn format",
32
- "skuba": "yarn build && node lib/skuba",
33
- "test": "yarn skuba test",
34
- "test:ci": "yarn skuba test --config jest.config.int.ts --runInBand",
35
- "test:int": "yarn skuba test --config jest.config.int.ts --runInBand",
36
- "test:template": "scripts/test-template.sh",
37
- "test:watch": "yarn skuba test --config jest.config.int.ts --runInBand --watch"
38
- },
39
- "repository": {
40
- "type": "git",
41
- "url": "https://github.com/seek-oss/skuba.git"
42
- },
43
- "devDependencies": {
44
- "@changesets/cli": "2.19.0",
45
- "@changesets/get-github-info": "0.5.0",
46
- "@jest/reporters": "27.4.5",
47
- "@types/ejs": "3.1.0",
48
- "@types/express": "4.17.13",
49
- "@types/fs-extra": "9.0.13",
50
- "@types/koa": "2.13.4",
51
- "@types/lodash.mergewith": "4.6.6",
52
- "@types/module-alias": "2.0.1",
53
- "@types/npm-which": "3.0.1",
54
- "@types/picomatch": "2.3.0",
55
- "@types/supertest": "2.0.11",
56
- "express": "4.17.2",
57
- "jsonfile": "6.1.0",
58
- "koa": "2.13.4",
59
- "memfs": "3.4.1",
60
- "semver": "7.3.5",
61
- "supertest": "6.1.6",
62
- "type-fest": "2.8.0"
5
+ "bugs": {
6
+ "url": "https://github.com/seek-oss/skuba/issues"
63
7
  },
64
8
  "dependencies": {
65
9
  "@octokit/rest": "^18.12.0",
66
10
  "@octokit/types": "^6.34.0",
67
11
  "@types/jest": "^27.4.0",
12
+ "@types/node": ">=14.18",
68
13
  "chalk": "^4.1.0",
69
14
  "concurrently": "^7.0.0",
15
+ "dotenv": "^16.0.0",
70
16
  "ejs": "^3.1.6",
71
17
  "enquirer": "^2.3.6",
72
18
  "eslint": "^7.27.0",
73
- "eslint-config-skuba": "1.0.13",
19
+ "eslint-config-skuba": "1.0.14",
74
20
  "execa": "^5.0.0",
75
21
  "fdir": "^5.0.0",
76
22
  "fs-extra": "^10.0.0",
@@ -78,7 +24,7 @@
78
24
  "get-port": "^5.1.1",
79
25
  "ignore": "^5.1.8",
80
26
  "is-installed-globally": "^0.4.0",
81
- "isomorphic-git": "^1.10.1",
27
+ "isomorphic-git": "^1.11.1",
82
28
  "jest": "^27.4.5",
83
29
  "latest-version": "^5.1.0",
84
30
  "lodash.mergewith": "^4.6.2",
@@ -89,25 +35,94 @@
89
35
  "prettier": "~2.5.0",
90
36
  "read-pkg-up": "^7.0.1",
91
37
  "runtypes": "^6.0.0",
92
- "semantic-release": "^17.4.7",
38
+ "semantic-release": "^19.0.0",
93
39
  "serialize-error": "^8.0.1",
40
+ "simple-git": "^3.0.0",
94
41
  "strip-ansi": "^6.0.1",
95
- "ts-jest": "^27.0.5",
96
- "ts-node": "^9.1.1",
97
- "ts-node-dev": "^1.1.8",
42
+ "ts-jest": "^27.1.2",
43
+ "ts-node": "^10.5.0",
44
+ "ts-node-dev": "^2.0.0-0",
98
45
  "tsconfig-paths": "^3.11.0",
99
46
  "tsconfig-seek": "1.0.2",
100
47
  "typescript": "~4.4.4"
101
48
  },
49
+ "description": "SEEK development toolkit for backend applications and packages",
50
+ "devDependencies": {
51
+ "@changesets/cli": "2.20.0",
52
+ "@changesets/get-github-info": "0.5.0",
53
+ "@jest/reporters": "27.5.1",
54
+ "@types/ejs": "3.1.0",
55
+ "@types/express": "4.17.13",
56
+ "@types/fs-extra": "9.0.13",
57
+ "@types/koa": "2.13.4",
58
+ "@types/lodash.mergewith": "4.6.6",
59
+ "@types/module-alias": "2.0.1",
60
+ "@types/npm-which": "3.0.1",
61
+ "@types/picomatch": "2.3.0",
62
+ "@types/supertest": "2.0.11",
63
+ "express": "4.17.2",
64
+ "jsonfile": "6.1.0",
65
+ "koa": "2.13.4",
66
+ "memfs": "3.4.1",
67
+ "semver": "7.3.5",
68
+ "supertest": "6.2.2",
69
+ "type-fest": "2.11.2"
70
+ },
71
+ "engines": {
72
+ "node": ">=14.18"
73
+ },
74
+ "files": [
75
+ "config/**/*",
76
+ "jest/**/*",
77
+ "lib*/**/*.d.ts",
78
+ "lib*/**/*.js",
79
+ "lib*/**/*.js.map",
80
+ "template/**/*",
81
+ "jest-preset.js"
82
+ ],
83
+ "homepage": "https://github.com/seek-oss/skuba#readme",
84
+ "license": "MIT",
85
+ "main": "lib/index.js",
86
+ "name": "skuba",
102
87
  "peerDependencies": {
103
- "skuba-dive": "1"
88
+ "skuba-dive": "1 || 2"
104
89
  },
105
90
  "peerDependenciesMeta": {
106
91
  "skuba-dive": {
107
92
  "optional": true
108
93
  }
109
94
  },
95
+ "private": false,
96
+ "repository": {
97
+ "type": "git",
98
+ "url": "git+https://github.com/seek-oss/skuba.git"
99
+ },
110
100
  "resolutions": {
101
+ "**/@types/node": ">=14.18",
111
102
  "semantic-release/@semantic-release/npm/npm/**/ansi-regex": "5.0.1"
112
- }
103
+ },
104
+ "scripts": {
105
+ "build": "ts-node --transpile-only src/skuba build && scripts/postbuild.sh",
106
+ "changeset:add": "changeset add && prettier --loglevel silent --write '.changeset/*.md'",
107
+ "deploy": "scripts/deploy.sh",
108
+ "format": "yarn skuba format",
109
+ "lint": "yarn skuba lint",
110
+ "release": "yarn build && changeset publish",
111
+ "stage": "changeset version && yarn format",
112
+ "skuba": "yarn build && node lib/skuba",
113
+ "test": "yarn skuba test",
114
+ "test:ci": "yarn skuba test --config jest.config.int.ts --runInBand",
115
+ "test:int": "yarn skuba test --config jest.config.int.ts --runInBand",
116
+ "test:template": "scripts/test-template.sh",
117
+ "test:watch": "yarn skuba test --config jest.config.int.ts --runInBand --watch"
118
+ },
119
+ "sideEffects": false,
120
+ "skuba": {
121
+ "entryPoint": "src/index.ts",
122
+ "template": null,
123
+ "type": "package",
124
+ "version": "4.0.0"
125
+ },
126
+ "types": "./lib/index.d.ts",
127
+ "version": "4.1.0"
113
128
  }
@@ -69,7 +69,7 @@ steps:
69
69
  - *aws-sm
70
70
  - *private-npm
71
71
  - *docker-ecr-cache
72
- - seek-jobs/gantry#v1.5.2:
72
+ - seek-jobs/gantry#v1.6.1:
73
73
  command: build
74
74
  file: gantry.build.yml
75
75
  region: <%- region %>
@@ -85,7 +85,7 @@ steps:
85
85
  concurrency_group: <%- teamName %>/deploy/gantry/<%- devGantryEnvironmentName %>
86
86
  key: deploy-dev
87
87
  plugins:
88
- - seek-jobs/gantry#v1.5.2:
88
+ - seek-jobs/gantry#v1.6.1:
89
89
  command: apply
90
90
  environment: <%- devGantryEnvironmentName %>
91
91
  file: gantry.apply.yml
@@ -101,7 +101,7 @@ steps:
101
101
  concurrency_group: <%- teamName %>/deploy/gantry/<%- prodGantryEnvironmentName %>
102
102
  depends_on: deploy-dev
103
103
  plugins:
104
- - seek-jobs/gantry#v1.5.2:
104
+ - seek-jobs/gantry#v1.6.1:
105
105
  command: apply
106
106
  environment: <%- prodGantryEnvironmentName %>
107
107
  file: gantry.apply.yml
@@ -0,0 +1 @@
1
+ ENVIRONMENT=local
@@ -27,6 +27,9 @@ COPY --from=deps /workdir/node_modules node_modules
27
27
 
28
28
  ENV NODE_ENV production
29
29
 
30
+ # https://nodejs.org/api/cli.html#cli_node_options_options
31
+ ENV NODE_OPTIONS --enable-source-maps
32
+
30
33
  ARG PORT=8001
31
34
  ENV PORT ${PORT}
32
35
  EXPOSE ${PORT}
@@ -108,6 +108,8 @@ cpu: 256
108
108
  memory: 512
109
109
 
110
110
  deployment:
111
+ # SEEK-Jobs/gantry#488
112
+ ignoreAlarms: true
111
113
  smokeTest:
112
114
  path: /smoke
113
115
  useExternalDns: true
@@ -9,4 +9,5 @@ buildArgs:
9
9
  BASE_IMAGE: '{{.Env.BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_EXPORT_IMAGE}}'
10
10
  BASE_TAG: '{{.Env.BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_EXPORT_TAG}}'
11
11
 
12
- failOnScanFindings: true
12
+ # SEEK-Jobs/gantry#1661
13
+ failOnScanFindings: false
@@ -2,7 +2,7 @@
2
2
  "dependencies": {
3
3
  "@seek/logger": "^5.0.1",
4
4
  "express": "^4.17.1",
5
- "skuba-dive": "^1.2.0"
5
+ "skuba-dive": "^2.0.0"
6
6
  },
7
7
  "devDependencies": {
8
8
  "@types/express": "^4.17.13",
@@ -21,7 +21,7 @@
21
21
  "build": "skuba build",
22
22
  "format": "skuba format",
23
23
  "lint": "skuba lint",
24
- "start": "ENVIRONMENT=local skuba start --port <%- port %>",
24
+ "start": "skuba start --port <%- port %>",
25
25
  "start:debug": "yarn start --inspect-brk",
26
26
  "test": "skuba test",
27
27
  "test:ci": "skuba test --coverage",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "skuba-dive": "^1.2.0"
3
+ "skuba-dive": "^2.0.0"
4
4
  },
5
5
  "devDependencies": {
6
6
  "@types/node": "^16.0.0",
@@ -15,7 +15,7 @@
15
15
  "build": "skuba build",
16
16
  "format": "skuba format",
17
17
  "lint": "skuba lint",
18
- "start": "ENVIRONMENT=local skuba start",
18
+ "start": "skuba start",
19
19
  "start:debug": "yarn start --inspect-brk",
20
20
  "test": "skuba test",
21
21
  "test:ci": "skuba test --coverage",
@@ -69,7 +69,7 @@ steps:
69
69
  - *aws-sm
70
70
  - *private-npm
71
71
  - *docker-ecr-cache
72
- - seek-jobs/gantry#v1.5.2:
72
+ - seek-jobs/gantry#v1.6.1:
73
73
  command: build
74
74
  file: gantry.build.yml
75
75
  region: <%- region %>
@@ -85,7 +85,7 @@ steps:
85
85
  concurrency_group: <%- teamName %>/deploy/gantry/<%- devGantryEnvironmentName %>
86
86
  key: deploy-dev
87
87
  plugins:
88
- - seek-jobs/gantry#v1.5.2:
88
+ - seek-jobs/gantry#v1.6.1:
89
89
  command: apply
90
90
  environment: <%- devGantryEnvironmentName %>
91
91
  file: gantry.apply.yml
@@ -101,7 +101,7 @@ steps:
101
101
  concurrency_group: <%- teamName %>/deploy/gantry/<%- prodGantryEnvironmentName %>
102
102
  depends_on: deploy-dev
103
103
  plugins:
104
- - seek-jobs/gantry#v1.5.2:
104
+ - seek-jobs/gantry#v1.6.1:
105
105
  command: apply
106
106
  environment: <%- prodGantryEnvironmentName %>
107
107
  file: gantry.apply.yml
@@ -0,0 +1 @@
1
+ ENVIRONMENT=local
@@ -27,6 +27,9 @@ COPY --from=deps /workdir/node_modules node_modules
27
27
 
28
28
  ENV NODE_ENV production
29
29
 
30
+ # https://nodejs.org/api/cli.html#cli_node_options_options
31
+ ENV NODE_OPTIONS --enable-source-maps
32
+
30
33
  ARG PORT=8001
31
34
  ENV PORT ${PORT}
32
35
  EXPOSE ${PORT}
@@ -36,7 +36,7 @@ This would be replaced with an external data store in production.
36
36
 
37
37
  This project is deployed as a containerised application with [Gantry].
38
38
  A typical resource API instance does not require more than 1 vCPU,
39
- so we eskew clustering configurations in favour of a single Node.js process per container.
39
+ so we eschew clustering configurations in favour of a single Node.js process per container.
40
40
  Under load, we autoscale horizontally in terms of container count up to `autoScaling.maxCount`.
41
41
 
42
42
  Gantry configures [CodeDeploy] for a blue-green deployment approach.
@@ -115,6 +115,8 @@ cpu: 256
115
115
  memory: 512
116
116
 
117
117
  deployment:
118
+ # SEEK-Jobs/gantry#488
119
+ ignoreAlarms: true
118
120
  smokeTest:
119
121
  path: /smoke
120
122
  useExternalDns: true
@@ -9,4 +9,5 @@ buildArgs:
9
9
  BASE_IMAGE: '{{.Env.BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_EXPORT_IMAGE}}'
10
10
  BASE_TAG: '{{.Env.BUILDKITE_PLUGIN_DOCKER_ECR_CACHE_EXPORT_TAG}}'
11
11
 
12
- failOnScanFindings: true
12
+ # SEEK-Jobs/gantry#1661
13
+ failOnScanFindings: false
@@ -3,7 +3,7 @@
3
3
  "@koa/router": "^10.1.1",
4
4
  "@opentelemetry/api": "^1.0.4",
5
5
  "@opentelemetry/exporter-collector-grpc": "^0.25.0",
6
- "@opentelemetry/instrumentation-aws-sdk": "^0.4.0",
6
+ "@opentelemetry/instrumentation-aws-sdk": "^0.5.0",
7
7
  "@opentelemetry/instrumentation-http": "^0.27.0",
8
8
  "@opentelemetry/sdk-node": "^0.27.0",
9
9
  "@seek/logger": "^5.0.1",
@@ -16,7 +16,7 @@
16
16
  "runtypes-filter": "^0.6.0",
17
17
  "seek-datadog-custom-metrics": "^4.0.0",
18
18
  "seek-koala": "^5.1.0",
19
- "skuba-dive": "^1.2.0",
19
+ "skuba-dive": "^2.0.0",
20
20
  "uuid": "^8.3.2"
21
21
  },
22
22
  "devDependencies": {
@@ -41,7 +41,7 @@
41
41
  "build": "skuba build",
42
42
  "format": "skuba format",
43
43
  "lint": "skuba lint",
44
- "start": "ENVIRONMENT=local skuba start --port <%- port %>",
44
+ "start": "skuba start --port <%- port %>",
45
45
  "start:debug": "yarn start --inspect-brk",
46
46
  "test": "skuba test",
47
47
  "test:ci": "skuba test --coverage",
@@ -48,6 +48,7 @@ configs:
48
48
  - docker-compose#v3.9.0:
49
49
  dependencies: false
50
50
  run: app
51
+ tty: false
51
52
  retry:
52
53
  manual:
53
54
  # Only use this if you need to roll back a deployment ASAP.
@@ -0,0 +1 @@
1
+ ENVIRONMENT=local
@@ -3,7 +3,7 @@
3
3
  "@seek/logger": "^5.0.1",
4
4
  "aws-sdk": "^2.1011.0",
5
5
  "seek-datadog-custom-metrics": "^4.0.0",
6
- "skuba-dive": "^1.2.0",
6
+ "skuba-dive": "^2.0.0",
7
7
  "runtypes": "^6.4.1",
8
8
  "runtypes-filter": "^0.6.0"
9
9
  },
@@ -13,7 +13,7 @@
13
13
  "@types/node": "^14.0.0",
14
14
  "chance": "^1.1.8",
15
15
  "pino-pretty": "^7.1.0",
16
- "serverless": "^2.63.0",
16
+ "serverless": "^3.0.0",
17
17
  "serverless-plugin-canary-deployments": "^0.7.0",
18
18
  "serverless-prune-plugin": "^2.0.0",
19
19
  "skuba": "*"
@@ -29,7 +29,7 @@
29
29
  "format": "skuba format",
30
30
  "lint": "skuba lint",
31
31
  "smoke": "serverless invoke --data '{}' --function Worker",
32
- "start": "ENVIRONMENT=local skuba start --port <%- port %>",
32
+ "start": "skuba start --port <%- port %>",
33
33
  "start:debug": "yarn start --inspect-brk",
34
34
  "test": "skuba test",
35
35
  "test:ci": "skuba test --coverage",
@@ -1,18 +1,18 @@
1
1
  service: <%- serviceName %>
2
2
 
3
3
  configValidationMode: error
4
- variablesResolutionMode: 20210326
4
+
5
+ params:
6
+ default:
7
+ description: <%- description %>
8
+ dev:
9
+ deploymentBucket: 'TODO: deploymentBucketName'
10
+ isProduction: false
11
+ prod:
12
+ deploymentBucket: 'TODO: deploymentBucketName'
13
+ isProduction: true
5
14
 
6
15
  custom:
7
- description: <%- description %>
8
- env: ${self:custom.envs.${env:ENVIRONMENT}}
9
- envs:
10
- dev:
11
- deploymentBucket: 'TODO: deploymentBucketName'
12
- isProduction: false
13
- prod:
14
- deploymentBucket: 'TODO: deploymentBucketName'
15
- isProduction: true
16
16
  prune:
17
17
  automatic: true
18
18
  number: 3
@@ -22,7 +22,6 @@ plugins:
22
22
  - serverless-prune-plugin
23
23
 
24
24
  provider:
25
- lambdaHashingVersion: 20201221
26
25
  logRetentionInDays: 30
27
26
  name: aws
28
27
  region: ap-southeast-2
@@ -34,7 +33,13 @@ provider:
34
33
  deploymentBucket:
35
34
  # Use a shared account-level bucket for Lambda bundles and other artefacts.
36
35
  # This is easier to manage in terms of access, deployment, and tagging.
37
- name: ${self:custom.env.deploymentBucket}
36
+ name: ${param:deploymentBucket}
37
+ environment:
38
+ # https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/node-reusing-connections.html
39
+ AWS_NODEJS_CONNECTION_REUSE_ENABLED: 1
40
+ NODE_ENV: production
41
+ # https://nodejs.org/api/cli.html#cli_node_options_options
42
+ NODE_OPTIONS: --enable-source-maps
38
43
  iam:
39
44
  role:
40
45
  statements:
@@ -59,7 +64,7 @@ provider:
59
64
  # https://rfc.skinfra.xyz/RFC019-AWS-Tagging-Standard.html#seekdatatypes
60
65
  # seek:data:types:restricted: job-ads
61
66
  seek:env:label: ${env:ENVIRONMENT}
62
- seek:env:production: ${self:custom.env.isProduction}
67
+ seek:env:production: ${param:isProduction}
63
68
  seek:owner:team: '<%- teamName %>'
64
69
  seek:source:sha: ${env:BUILDKITE_COMMIT, 'na'}
65
70
  seek:source:url: 'https://github.com/SEEK-Jobs/<%- repoName %>'
@@ -74,7 +79,7 @@ functions:
74
79
  Worker:
75
80
  name: ${self:service}
76
81
  handler: lib/app.handler
77
- description: ${self:custom.description}
82
+ description: ${param:description}
78
83
  memorySize: 128
79
84
  reservedConcurrency: 20
80
85
  timeout: 30
@@ -83,9 +88,6 @@ functions:
83
88
  alias: Live
84
89
  preTrafficHook: WorkerPreHook
85
90
  environment:
86
- # https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/node-reusing-connections.html
87
- AWS_NODEJS_CONNECTION_REUSE_ENABLED: 1
88
-
89
91
  ENVIRONMENT: ${env:ENVIRONMENT}
90
92
  SERVICE: ${self:service}
91
93
  VERSION: ${env:VERSION, 'local'}
@@ -102,14 +104,11 @@ functions:
102
104
  # This is generous because a timeout will hang the deployment
103
105
  timeout: 300
104
106
  environment:
105
- # https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/node-reusing-connections.html
106
- AWS_NODEJS_CONNECTION_REUSE_ENABLED: 1
107
-
108
107
  FUNCTION_NAME_TO_INVOKE: ${self:functions.Worker.name}
109
108
 
110
109
  resources:
111
110
  # This becomes the Lambda application's description
112
- Description: ${self:custom.description}
111
+ Description: ${param:description}
113
112
 
114
113
  Resources:
115
114
  DeadLetterQueue:
@@ -49,8 +49,9 @@ const smokeTestLambdaFunction = async (): Promise<Status> => {
49
49
  InvocationType: 'RequestResponse',
50
50
  // Treat an empty object as our smoke test event.
51
51
  Payload: '{}',
52
- // $LATEST is updated by the time a pre hook runs.
53
- Qualifier: '$LATEST',
52
+ // An unqualified reference implicitly invokes $LATEST, which has been
53
+ // updated to point to the new version when this pre hook runs.
54
+ Qualifier: undefined,
54
55
  })
55
56
  .promise();
56
57
 
@@ -155,6 +155,8 @@ Object {
155
155
  "Environment": Object {
156
156
  "Variables": Object {
157
157
  "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1",
158
+ "NODE_ENV": "production",
159
+ "NODE_OPTIONS": "--enable-source-maps",
158
160
  "SOMETHING": "dev",
159
161
  },
160
162
  },
@@ -509,6 +511,8 @@ Object {
509
511
  "Environment": Object {
510
512
  "Variables": Object {
511
513
  "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1",
514
+ "NODE_ENV": "production",
515
+ "NODE_OPTIONS": "--enable-source-maps",
512
516
  "SOMETHING": "prod",
513
517
  },
514
518
  },
@@ -57,7 +57,11 @@ export class AppStack extends Stack {
57
57
  functionName: '<%- serviceName %>',
58
58
  environmentEncryption: kmsKey,
59
59
  environment: {
60
+ // https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/node-reusing-connections.html
60
61
  AWS_NODEJS_CONNECTION_REUSE_ENABLED: '1',
62
+ NODE_ENV: 'production',
63
+ // https://nodejs.org/api/cli.html#cli_node_options_options
64
+ NODE_OPTIONS: '--enable-source-maps',
61
65
  ...context.workerLambda.environment,
62
66
  },
63
67
  });