@jcoreio/aws-ecr-utils 2.2.0 → 2.3.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.
package/ECRDeployer.d.mts CHANGED
@@ -11,12 +11,29 @@ export interface ECRDeployerOptions {
11
11
  */
12
12
  repositoryName: string;
13
13
  }
14
+ /**
15
+ * Options for {@link ECRDeployer#build}
16
+ */
17
+ export interface BuildOptions {
18
+ /**
19
+ * the path to build (defaults to `.`)
20
+ */
21
+ path?: string;
22
+ /**
23
+ * If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
24
+ */
25
+ noNpmTokenArg?: boolean;
26
+ }
14
27
  /**
15
28
  * Class that implements our conventional process for deploying docker images to ECR.
16
29
  *
17
- * The CI build step should build the docker image (you may want to use {@link getNpmToken}
18
- * to pass an `NPM_TOKEN` build arg) and then call {@link push} to push the image to
19
- * ECR tagged with the git commit hash.
30
+ * The CI build step should build the docker image (you may want to use {@link build},
31
+ * or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
32
+ * yourself) and then call {@link push} to push the image to ECR tagged with the git
33
+ * commit hash.
34
+ *
35
+ * By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
36
+ * if not you can call `build({ noNpmTokenArg: true })`.
20
37
  *
21
38
  * The CI release step should call {@link release} to add tags for the git branch and
22
39
  * the `version` in your `package.json`.
@@ -33,6 +50,9 @@ export declare class ECRDeployer {
33
50
  private getRegion;
34
51
  private getECRHost;
35
52
  private getProjectPackageJson;
53
+ getLocalDockerTag(): Promise<string>;
54
+ build(options?: BuildOptions): Promise<void>;
55
+ build(args: string[], options?: BuildOptions): Promise<void>;
36
56
  getDockerTags(): Promise<{
37
57
  latest: string;
38
58
  branch: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ECRDeployer.d.mts","names":["ECRClientConfig","ECRDeployerOptions","awsConfig","releaseBranches","repositoryName","ECRDeployer","options","getBranch","Promise","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAS5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;;AAGxB;;;;;;;;;;;;;AAaA,qBAAaC,WAAW;EACtBC,OAAO,EAAEL,kBAAkB;cAEfK,OAAO,EAAEL,kBAAkB;EAIjCM,SAASA,CAAA,GAAAC,OAAA;EAWTC,aAAaA,CAAA,GAAAD,OAAA;EAQnB,QAAQE,eAAe;UAOTC,SAAS;UAYTC,UAAU;UAIVC,qBAAqB;EAoB7BC,aAAaA,CAAA,GAAIN,OAAO,CAAC;IAC7BO,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE,MAAM;IAClBC,OAAO,CAAC,EAAE,MAAM;GACjB,CAAC;EA+BIC,IAAIA,CAAA,GAAAX,OAAA;EAuBJY,OAAOA,CAAA,GAAAZ,OAAA;EAuDPa,WAAWA,CAACC,GAAiB,CAAd,EAAAC,MAAA,CAAAC,UAAc,GAAAhB,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"ECRDeployer.d.mts","names":["ECRClientConfig","ECRDeployerOptions","awsConfig","releaseBranches","repositoryName","BuildOptions","path","noNpmTokenArg","ECRDeployer","options","getBranch","Promise","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getLocalDockerTag","build","args","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAS5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;;AAGxB;;;AAGA,OAAM,UAAWC,YAAY;EAC3B;;;EAGAC,IAAI,CAAC,EAAE,MAAM;EACb;;;EAGAC,aAAa,CAAC,EAAE,OAAO;;AAGzB;;;;;;;;;;;;;;;;;AAiBA,qBAAaC,WAAW;EACtBC,OAAO,EAAER,kBAAkB;cAEfQ,OAAO,EAAER,kBAAkB;EAIjCS,SAASA,CAAA,GAAAC,OAAA;EAWTC,aAAaA,CAAA,GAAAD,OAAA;EAMnB,QAAQE,eAAe;UAOTC,SAAS;UAYTC,UAAU;UAIVC,qBAAqB;EAoB7BC,iBAAiBA,CAAA,GAAAN,OAAA;EAIjBO,KAAKA,CAACT,OAAsB,CAAd,EAAEJ,YAAY,GAAGM,OAAO,CAAC,IAAI,CAAC;EAC5CO,KAAKA,CAACC,IAAI,EAAE,MAAM,EAAE,EAAEV,OAAsB,CAAd,EAAEJ,YAAY,GAAGM,OAAO,CAAC,IAAI,CAAC;EA+B5DS,aAAaA,CAAA,GAAIT,OAAO,CAAC;IAC7BU,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE,MAAM;IAClBC,OAAO,CAAC,EAAE,MAAM;GACjB,CAAC;EA+BIC,IAAIA,CAAA,GAAAd,OAAA;EAuBJe,OAAOA,CAAA,GAAAf,OAAA;EAuDPgB,WAAWA,CAACC,GAAiB,CAAd,EAAAC,MAAA,CAAAC,UAAc,GAAAnB,OAAA","ignoreList":[]}
package/ECRDeployer.d.ts CHANGED
@@ -11,12 +11,29 @@ export interface ECRDeployerOptions {
11
11
  */
12
12
  repositoryName: string;
13
13
  }
14
+ /**
15
+ * Options for {@link ECRDeployer#build}
16
+ */
17
+ export interface BuildOptions {
18
+ /**
19
+ * the path to build (defaults to `.`)
20
+ */
21
+ path?: string;
22
+ /**
23
+ * If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
24
+ */
25
+ noNpmTokenArg?: boolean;
26
+ }
14
27
  /**
15
28
  * Class that implements our conventional process for deploying docker images to ECR.
16
29
  *
17
- * The CI build step should build the docker image (you may want to use {@link getNpmToken}
18
- * to pass an `NPM_TOKEN` build arg) and then call {@link push} to push the image to
19
- * ECR tagged with the git commit hash.
30
+ * The CI build step should build the docker image (you may want to use {@link build},
31
+ * or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
32
+ * yourself) and then call {@link push} to push the image to ECR tagged with the git
33
+ * commit hash.
34
+ *
35
+ * By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
36
+ * if not you can call `build({ noNpmTokenArg: true })`.
20
37
  *
21
38
  * The CI release step should call {@link release} to add tags for the git branch and
22
39
  * the `version` in your `package.json`.
@@ -33,6 +50,9 @@ export declare class ECRDeployer {
33
50
  private getRegion;
34
51
  private getECRHost;
35
52
  private getProjectPackageJson;
53
+ getLocalDockerTag(): Promise<string>;
54
+ build(options?: BuildOptions): Promise<void>;
55
+ build(args: string[], options?: BuildOptions): Promise<void>;
36
56
  getDockerTags(): Promise<{
37
57
  latest: string;
38
58
  branch: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ECRDeployer.d.ts","names":["ECRClientConfig","ECRDeployerOptions","awsConfig","releaseBranches","repositoryName","ECRDeployer","options","getBranch","Promise","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAS5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;;AAGxB;;;;;;;;;;;;;AAaA,qBAAaC,WAAW;EACtBC,OAAO,EAAEL,kBAAkB;cAEfK,OAAO,EAAEL,kBAAkB;EAIjCM,SAASA,CAAA,GAAAC,OAAA;EAWTC,aAAaA,CAAA,GAAAD,OAAA;EAQnB,QAAQE,eAAe;UAOTC,SAAS;UAYTC,UAAU;UAIVC,qBAAqB;EAoB7BC,aAAaA,CAAA,GAAIN,OAAO,CAAC;IAC7BO,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE,MAAM;IAClBC,OAAO,CAAC,EAAE,MAAM;GACjB,CAAC;EA+BIC,IAAIA,CAAA,GAAAX,OAAA;EAuBJY,OAAOA,CAAA,GAAAZ,OAAA;EAuDPa,WAAWA,CAACC,GAAiB,CAAd,EAAAC,MAAA,CAAAC,UAAc,GAAAhB,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"ECRDeployer.d.ts","names":["ECRClientConfig","ECRDeployerOptions","awsConfig","releaseBranches","repositoryName","BuildOptions","path","noNpmTokenArg","ECRDeployer","options","getBranch","Promise","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getLocalDockerTag","build","args","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAS5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;;AAGxB;;;AAGA,OAAM,UAAWC,YAAY;EAC3B;;;EAGAC,IAAI,CAAC,EAAE,MAAM;EACb;;;EAGAC,aAAa,CAAC,EAAE,OAAO;;AAGzB;;;;;;;;;;;;;;;;;AAiBA,qBAAaC,WAAW;EACtBC,OAAO,EAAER,kBAAkB;cAEfQ,OAAO,EAAER,kBAAkB;EAIjCS,SAASA,CAAA,GAAAC,OAAA;EAWTC,aAAaA,CAAA,GAAAD,OAAA;EAMnB,QAAQE,eAAe;UAOTC,SAAS;UAYTC,UAAU;UAIVC,qBAAqB;EAoB7BC,iBAAiBA,CAAA,GAAAN,OAAA;EAIjBO,KAAKA,CAACT,OAAsB,CAAd,EAAEJ,YAAY,GAAGM,OAAO,CAAC,IAAI,CAAC;EAC5CO,KAAKA,CAACC,IAAI,EAAE,MAAM,EAAE,EAAEV,OAAsB,CAAd,EAAEJ,YAAY,GAAGM,OAAO,CAAC,IAAI,CAAC;EA+B5DS,aAAaA,CAAA,GAAIT,OAAO,CAAC;IAC7BU,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE,MAAM;IAClBC,OAAO,CAAC,EAAE,MAAM;GACjB,CAAC;EA+BIC,IAAIA,CAAA,GAAAd,OAAA;EAuBJe,OAAOA,CAAA,GAAAf,OAAA;EAuDPgB,WAAWA,CAACC,GAAiB,CAAd,EAAAC,MAAA,CAAAC,UAAc,GAAAnB,OAAA","ignoreList":[]}
package/ECRDeployer.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.ECRDeployer = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -19,12 +20,19 @@ var _clientSts = require("@aws-sdk/client-sts");
19
20
  var _once = require("./once.js");
20
21
  var _loginToECR = _interopRequireDefault(require("./loginToECR.js"));
21
22
  var _os = _interopRequireDefault(require("os"));
23
+ /**
24
+ * Options for {@link ECRDeployer#build}
25
+ */
22
26
  /**
23
27
  * Class that implements our conventional process for deploying docker images to ECR.
24
28
  *
25
- * The CI build step should build the docker image (you may want to use {@link getNpmToken}
26
- * to pass an `NPM_TOKEN` build arg) and then call {@link push} to push the image to
27
- * ECR tagged with the git commit hash.
29
+ * The CI build step should build the docker image (you may want to use {@link build},
30
+ * or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
31
+ * yourself) and then call {@link push} to push the image to ECR tagged with the git
32
+ * commit hash.
33
+ *
34
+ * By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
35
+ * if not you can call `build({ noNpmTokenArg: true })`.
28
36
  *
29
37
  * The CI release step should call {@link release} to add tags for the git branch and
30
38
  * the `version` in your `package.json`.
@@ -263,21 +271,96 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
263
271
  return getProjectPackageJson;
264
272
  }()
265
273
  }, {
266
- key: "getDockerTags",
274
+ key: "getLocalDockerTag",
267
275
  value: function () {
268
- var _getDockerTags = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
269
- var _yield$Promise$all, _yield$Promise$all2, commitHash, branch, packageJson, base, result, _this$options$release, releaseBranches, version;
276
+ var _getLocalDockerTag = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
270
277
  return _regenerator["default"].wrap(function (_context8) {
271
278
  while (1) switch (_context8.prev = _context8.next) {
272
279
  case 0:
273
280
  _context8.next = 1;
281
+ return this.getDockerTags();
282
+ case 1:
283
+ return _context8.abrupt("return", _context8.sent.commitHash);
284
+ case 2:
285
+ case "end":
286
+ return _context8.stop();
287
+ }
288
+ }, _callee8, this);
289
+ }));
290
+ function getLocalDockerTag() {
291
+ return _getLocalDockerTag.apply(this, arguments);
292
+ }
293
+ return getLocalDockerTag;
294
+ }()
295
+ }, {
296
+ key: "build",
297
+ value: function () {
298
+ var _build = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(args, options) {
299
+ var _options, _options$path, _options2;
300
+ var _yield$Promise$all, _yield$Promise$all2, npmToken, tag, _t9, _t0, _t1, _t10, _t11, _t12;
301
+ return _regenerator["default"].wrap(function (_context9) {
302
+ while (1) switch (_context9.prev = _context9.next) {
303
+ case 0:
304
+ if (!Array.isArray(args)) {
305
+ options = args;
306
+ args = [];
307
+ }
308
+ _context9.next = 1;
309
+ return Promise.all([(_options = options) !== null && _options !== void 0 && _options.noNpmTokenArg ? undefined : this.getNpmToken(), this.getLocalDockerTag()]);
310
+ case 1:
311
+ _yield$Promise$all = _context9.sent;
312
+ _yield$Promise$all2 = (0, _slicedToArray2["default"])(_yield$Promise$all, 2);
313
+ npmToken = _yield$Promise$all2[0];
314
+ tag = _yield$Promise$all2[1];
315
+ _t9 = _promisifyChildProcess.spawn;
316
+ _t0 = ['build', (_options$path = (_options2 = options) === null || _options2 === void 0 ? void 0 : _options2.path) !== null && _options$path !== void 0 ? _options$path : '.'];
317
+ _t1 = _toConsumableArray2["default"];
318
+ if (!npmToken) {
319
+ _context9.next = 3;
320
+ break;
321
+ }
322
+ _t11 = "NPM_TOKEN=";
323
+ _context9.next = 2;
324
+ return this.getNpmToken();
325
+ case 2:
326
+ _t12 = _t11.concat.call(_t11, _context9.sent);
327
+ _t10 = ['--build-arg', _t12];
328
+ _context9.next = 4;
329
+ break;
330
+ case 3:
331
+ _t10 = [];
332
+ case 4:
333
+ _context9.next = 5;
334
+ return _t9('docker', _t0.concat.call(_t0, _t1(_t10), ['--tag', tag], (0, _toConsumableArray2["default"])(args)), {
335
+ stdio: 'inherit'
336
+ });
337
+ case 5:
338
+ case "end":
339
+ return _context9.stop();
340
+ }
341
+ }, _callee9, this);
342
+ }));
343
+ function build(_x2, _x3) {
344
+ return _build.apply(this, arguments);
345
+ }
346
+ return build;
347
+ }()
348
+ }, {
349
+ key: "getDockerTags",
350
+ value: function () {
351
+ var _getDockerTags = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
352
+ var _yield$Promise$all3, _yield$Promise$all4, commitHash, branch, packageJson, base, result, _this$options$release, releaseBranches, version;
353
+ return _regenerator["default"].wrap(function (_context0) {
354
+ while (1) switch (_context0.prev = _context0.next) {
355
+ case 0:
356
+ _context0.next = 1;
274
357
  return Promise.all([this.getCommitHash(), this.getBranch(), this.getProjectPackageJson()]);
275
358
  case 1:
276
- _yield$Promise$all = _context8.sent;
277
- _yield$Promise$all2 = (0, _slicedToArray2["default"])(_yield$Promise$all, 3);
278
- commitHash = _yield$Promise$all2[0];
279
- branch = _yield$Promise$all2[1];
280
- packageJson = _yield$Promise$all2[2];
359
+ _yield$Promise$all3 = _context0.sent;
360
+ _yield$Promise$all4 = (0, _slicedToArray2["default"])(_yield$Promise$all3, 3);
361
+ commitHash = _yield$Promise$all4[0];
362
+ branch = _yield$Promise$all4[1];
363
+ packageJson = _yield$Promise$all4[2];
281
364
  base = this.options.repositoryName;
282
365
  result = {
283
366
  latest: base,
@@ -286,24 +369,24 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
286
369
  };
287
370
  _this$options$release = this.options.releaseBranches, releaseBranches = _this$options$release === void 0 ? ['master', 'main', 'release'] : _this$options$release;
288
371
  if (!releaseBranches.includes(branch)) {
289
- _context8.next = 3;
372
+ _context0.next = 3;
290
373
  break;
291
374
  }
292
375
  version = process.env.OVERRIDE_ECR_VERSION_TAG || packageJson.contents.version;
293
376
  if (!(typeof version !== 'string')) {
294
- _context8.next = 2;
377
+ _context0.next = 2;
295
378
  break;
296
379
  }
297
380
  throw new Error("failed to get version from ".concat(_path["default"].relative(process.cwd(), packageJson.file)));
298
381
  case 2:
299
382
  result.version = "".concat(base, ":").concat(version);
300
383
  case 3:
301
- return _context8.abrupt("return", result);
384
+ return _context0.abrupt("return", result);
302
385
  case 4:
303
386
  case "end":
304
- return _context8.stop();
387
+ return _context0.stop();
305
388
  }
306
- }, _callee8, this);
389
+ }, _callee0, this);
307
390
  }));
308
391
  function getDockerTags() {
309
392
  return _getDockerTags.apply(this, arguments);
@@ -313,44 +396,46 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
313
396
  }, {
314
397
  key: "push",
315
398
  value: function () {
316
- var _push = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9() {
317
- var awsConfig, _yield$Promise$all3, _yield$Promise$all4, ecrHost, commitHash, _t9;
318
- return _regenerator["default"].wrap(function (_context9) {
319
- while (1) switch (_context9.prev = _context9.next) {
399
+ var _push = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
400
+ var awsConfig, _yield$Promise$all5, _yield$Promise$all6, ecrHost, commitHash, _t13;
401
+ return _regenerator["default"].wrap(function (_context1) {
402
+ while (1) switch (_context1.prev = _context1.next) {
320
403
  case 0:
321
404
  awsConfig = this.options.awsConfig;
322
- _context9.next = 1;
405
+ _context1.next = 1;
323
406
  return Promise.all([this.getECRHost(), this.getDockerTags(), (0, _loginToECR["default"])({
324
407
  awsConfig: awsConfig
325
408
  })]);
326
409
  case 1:
327
- _yield$Promise$all3 = _context9.sent;
328
- _yield$Promise$all4 = (0, _slicedToArray2["default"])(_yield$Promise$all3, 2);
329
- ecrHost = _yield$Promise$all4[0];
330
- commitHash = _yield$Promise$all4[1].commitHash;
331
- _context9.prev = 2;
332
- _context9.next = 3;
410
+ _yield$Promise$all5 = _context1.sent;
411
+ _yield$Promise$all6 = (0, _slicedToArray2["default"])(_yield$Promise$all5, 2);
412
+ ecrHost = _yield$Promise$all6[0];
413
+ commitHash = _yield$Promise$all6[1].commitHash;
414
+ _context1.prev = 2;
415
+ _context1.next = 3;
333
416
  return (0, _promisifyChildProcess.spawn)('docker', ['tag', commitHash, "".concat(ecrHost, "/").concat(commitHash)], {
334
417
  stdio: 'inherit'
335
418
  });
336
419
  case 3:
337
- _context9.next = 5;
420
+ _context1.next = 5;
338
421
  break;
339
422
  case 4:
340
- _context9.prev = 4;
341
- _t9 = _context9["catch"](2);
342
- _context9.next = 5;
423
+ _context1.prev = 4;
424
+ _t13 = _context1["catch"](2);
425
+ _context1.next = 5;
343
426
  return (0, _promisifyChildProcess.spawn)('docker', ['tag', '-f', commitHash, "".concat(ecrHost, "/").concat(commitHash)], {
344
427
  stdio: 'inherit'
345
428
  });
346
429
  case 5:
347
- _context9.next = 6;
348
- return (0, _promisifyChildProcess.spawn)('docker', ['push', "".concat(ecrHost, "/").concat(commitHash)]);
430
+ _context1.next = 6;
431
+ return (0, _promisifyChildProcess.spawn)('docker', ['push', "".concat(ecrHost, "/").concat(commitHash)], {
432
+ stdio: 'inherit'
433
+ });
349
434
  case 6:
350
435
  case "end":
351
- return _context9.stop();
436
+ return _context1.stop();
352
437
  }
353
- }, _callee9, this, [[2, 4]]);
438
+ }, _callee1, this, [[2, 4]]);
354
439
  }));
355
440
  function push() {
356
441
  return _push.apply(this, arguments);
@@ -360,22 +445,22 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
360
445
  }, {
361
446
  key: "release",
362
447
  value: function () {
363
- var _release = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
364
- var _yield$Promise$all5, _yield$Promise$all6, commitHash, ecrHost, tags, ecr, repositoryName, _yield$ecr$send, _yield$ecr$send$image, _yield$ecr$send$image2, _yield$ecr$send$image3, image, imageManifest, _i, _arr, _tags$key, key, tag, _t0;
365
- return _regenerator["default"].wrap(function (_context0) {
366
- while (1) switch (_context0.prev = _context0.next) {
448
+ var _release = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
449
+ var _yield$Promise$all7, _yield$Promise$all8, commitHash, ecrHost, tags, ecr, repositoryName, _yield$ecr$send, _yield$ecr$send$image, _yield$ecr$send$image2, _yield$ecr$send$image3, image, imageManifest, _i, _arr, _tags$key, key, tag, _t14;
450
+ return _regenerator["default"].wrap(function (_context10) {
451
+ while (1) switch (_context10.prev = _context10.next) {
367
452
  case 0:
368
- _context0.next = 1;
453
+ _context10.next = 1;
369
454
  return Promise.all([this.getCommitHash(), this.getECRHost(), this.getDockerTags()]);
370
455
  case 1:
371
- _yield$Promise$all5 = _context0.sent;
372
- _yield$Promise$all6 = (0, _slicedToArray2["default"])(_yield$Promise$all5, 3);
373
- commitHash = _yield$Promise$all6[0];
374
- ecrHost = _yield$Promise$all6[1];
375
- tags = _yield$Promise$all6[2];
456
+ _yield$Promise$all7 = _context10.sent;
457
+ _yield$Promise$all8 = (0, _slicedToArray2["default"])(_yield$Promise$all7, 3);
458
+ commitHash = _yield$Promise$all8[0];
459
+ ecrHost = _yield$Promise$all8[1];
460
+ tags = _yield$Promise$all8[2];
376
461
  ecr = new _clientEcr.ECRClient();
377
462
  repositoryName = this.options.repositoryName;
378
- _context0.next = 2;
463
+ _context10.next = 2;
379
464
  return ecr.send(new _clientEcr.BatchGetImageCommand({
380
465
  repositoryName: repositoryName,
381
466
  imageIds: [{
@@ -383,7 +468,7 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
383
468
  }]
384
469
  }));
385
470
  case 2:
386
- _yield$ecr$send = _context0.sent;
471
+ _yield$ecr$send = _context10.sent;
387
472
  _yield$ecr$send$image = _yield$ecr$send.images;
388
473
  _yield$ecr$send$image2 = _yield$ecr$send$image === void 0 ? [] : _yield$ecr$send$image;
389
474
  _yield$ecr$send$image3 = (0, _slicedToArray2["default"])(_yield$ecr$send$image2, 1);
@@ -391,64 +476,64 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
391
476
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
392
477
  imageManifest = image === null || image === void 0 ? void 0 : image.imageManifest;
393
478
  if (imageManifest) {
394
- _context0.next = 3;
479
+ _context10.next = 3;
395
480
  break;
396
481
  }
397
482
  throw new Error("failed to get image manifest for ".concat(repositoryName, ":").concat(commitHash));
398
483
  case 3:
399
484
  if (!imageManifest) {
400
- _context0.next = 11;
485
+ _context10.next = 11;
401
486
  break;
402
487
  }
403
488
  _i = 0, _arr = Object.keys(tags);
404
489
  case 4:
405
490
  if (!(_i < _arr.length)) {
406
- _context0.next = 11;
491
+ _context10.next = 11;
407
492
  break;
408
493
  }
409
494
  key = _arr[_i];
410
495
  if (!(key === 'latest' || key === 'commitHash')) {
411
- _context0.next = 5;
496
+ _context10.next = 5;
412
497
  break;
413
498
  }
414
- return _context0.abrupt("continue", 10);
499
+ return _context10.abrupt("continue", 10);
415
500
  case 5:
416
501
  tag = (_tags$key = tags[key]) === null || _tags$key === void 0 ? void 0 : _tags$key.replace(/^[^:]+:?/, '');
417
502
  if (tag) {
418
- _context0.next = 6;
503
+ _context10.next = 6;
419
504
  break;
420
505
  }
421
- return _context0.abrupt("continue", 10);
506
+ return _context10.abrupt("continue", 10);
422
507
  case 6:
423
508
  // eslint-disable-next-line no-console
424
509
  console.error("Adding tag ".concat(ecrHost, "/").concat(tags[key]));
425
- _context0.prev = 7;
426
- _context0.next = 8;
510
+ _context10.prev = 7;
511
+ _context10.next = 8;
427
512
  return ecr.send(new _clientEcr.PutImageCommand({
428
513
  repositoryName: repositoryName,
429
514
  imageManifest: imageManifest,
430
515
  imageTag: tag.substring(tag.indexOf(':') + 1)
431
516
  }));
432
517
  case 8:
433
- _context0.next = 10;
518
+ _context10.next = 10;
434
519
  break;
435
520
  case 9:
436
- _context0.prev = 9;
437
- _t0 = _context0["catch"](7);
438
- if (!(_t0 instanceof Object && 'code' in _t0 && _t0.code !== 'ImageAlreadyExistsException')) {
439
- _context0.next = 10;
521
+ _context10.prev = 9;
522
+ _t14 = _context10["catch"](7);
523
+ if (!(_t14 instanceof Object && 'code' in _t14 && _t14.code !== 'ImageAlreadyExistsException')) {
524
+ _context10.next = 10;
440
525
  break;
441
526
  }
442
- throw _t0;
527
+ throw _t14;
443
528
  case 10:
444
529
  _i++;
445
- _context0.next = 4;
530
+ _context10.next = 4;
446
531
  break;
447
532
  case 11:
448
533
  case "end":
449
- return _context0.stop();
534
+ return _context10.stop();
450
535
  }
451
- }, _callee0, this, [[7, 9]]);
536
+ }, _callee10, this, [[7, 9]]);
452
537
  }));
453
538
  function release() {
454
539
  return _release.apply(this, arguments);
@@ -458,50 +543,50 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
458
543
  }, {
459
544
  key: "getNpmToken",
460
545
  value: function () {
461
- var _getNpmToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
546
+ var _getNpmToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
462
547
  var env,
463
548
  NPM_TOKEN,
464
549
  homedir,
465
550
  npmrc,
466
551
  match,
467
- _args1 = arguments,
468
- _t1;
469
- return _regenerator["default"].wrap(function (_context1) {
470
- while (1) switch (_context1.prev = _context1.next) {
552
+ _args11 = arguments,
553
+ _t15;
554
+ return _regenerator["default"].wrap(function (_context11) {
555
+ while (1) switch (_context11.prev = _context11.next) {
471
556
  case 0:
472
- env = _args1.length > 0 && _args1[0] !== undefined ? _args1[0] : process.env;
557
+ env = _args11.length > 0 && _args11[0] !== undefined ? _args11[0] : process.env;
473
558
  NPM_TOKEN = env.NPM_TOKEN;
474
559
  if (!NPM_TOKEN) {
475
- _context1.next = 1;
560
+ _context11.next = 1;
476
561
  break;
477
562
  }
478
- return _context1.abrupt("return", NPM_TOKEN);
563
+ return _context11.abrupt("return", NPM_TOKEN);
479
564
  case 1:
480
- _context1.prev = 1;
565
+ _context11.prev = 1;
481
566
  homedir = _os["default"].homedir();
482
- _context1.next = 2;
567
+ _context11.next = 2;
483
568
  return _promises["default"].readFile("".concat(homedir, "/.npmrc"), 'utf8');
484
569
  case 2:
485
- npmrc = _context1.sent;
570
+ npmrc = _context11.sent;
486
571
  match = /registry\.npmjs\.org\/:_authToken=(.+)/.exec(npmrc);
487
572
  if (!match) {
488
- _context1.next = 3;
573
+ _context11.next = 3;
489
574
  break;
490
575
  }
491
- return _context1.abrupt("return", match[1]);
576
+ return _context11.abrupt("return", match[1]);
492
577
  case 3:
493
- _context1.next = 5;
578
+ _context11.next = 5;
494
579
  break;
495
580
  case 4:
496
- _context1.prev = 4;
497
- _t1 = _context1["catch"](1);
581
+ _context11.prev = 4;
582
+ _t15 = _context11["catch"](1);
498
583
  case 5:
499
584
  throw new Error('Missing process.env.NPM_TOKEN or entry in ~/.npmrc');
500
585
  case 6:
501
586
  case "end":
502
- return _context1.stop();
587
+ return _context11.stop();
503
588
  }
504
- }, _callee1, null, [[1, 4]]);
589
+ }, _callee11, null, [[1, 4]]);
505
590
  }));
506
591
  function getNpmToken() {
507
592
  return _getNpmToken.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"ECRDeployer.js","names":["_clientEcr","require","_promisifyChildProcess","_promises","_interopRequireDefault","_path","_clientSts","_once","_loginToECR","_os","ECRDeployer","exports","options","_this","_classCallCheck2","_defineProperty2","once","_asyncToGenerator2","_regenerator","mark","_callee","sts","_yield$sts$send","Account","wrap","_context","prev","next","STSClient","awsConfig","send","GetCallerIdentityCommand","sent","Error","abrupt","stop","_createClass2","key","value","_getBranch","_callee2","_t","_context2","process","env","OVERRIDE_ECR_BRANCH_TAG","spawn","encoding","stdout","trim","getBranch","apply","arguments","_getCommitHash","_callee3","_context3","getCommitHash","_getRegion","_callee4","ecr","region","_context4","ECRClient","config","getRegion","_getECRHost","_callee5","_t2","_t3","_context5","getAWSAccountId","concat","call","getECRHost","_getProjectPackageJson","_callee7","_yield$import","findUp","file","_t6","_t7","_t8","_context7","_ref2","_callee6","dir","_t4","_t5","_context6","test","path","posix","normalize","fs","stat","join","then","s","isFile","undefined","_x","JSON","readFile","parse","contents","getProjectPackageJson","_getDockerTags","_callee8","_yield$Promise$all","_yield$Promise$all2","commitHash","branch","packageJson","base","result","_this$options$release","releaseBranches","version","_context8","Promise","all","_slicedToArray2","repositoryName","latest","includes","OVERRIDE_ECR_VERSION_TAG","relative","cwd","getDockerTags","_push","_callee9","_yield$Promise$all3","_yield$Promise$all4","ecrHost","_t9","_context9","loginToECR","stdio","push","_release","_callee0","_yield$Promise$all5","_yield$Promise$all6","tags","_yield$ecr$send","_yield$ecr$send$image","_yield$ecr$send$image2","_yield$ecr$send$image3","image","imageManifest","_i","_arr","_tags$key","tag","_t0","_context0","BatchGetImageCommand","imageIds","imageTag","images","Object","keys","length","replace","console","error","PutImageCommand","substring","indexOf","code","release","_getNpmToken","_callee1","NPM_TOKEN","homedir","npmrc","match","_args1","_t1","_context1","os","exec","getNpmToken"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ECRDeployer.js","names":["_clientEcr","require","_promisifyChildProcess","_promises","_interopRequireDefault","_path","_clientSts","_once","_loginToECR","_os","ECRDeployer","exports","options","_this","_classCallCheck2","_defineProperty2","once","_asyncToGenerator2","_regenerator","mark","_callee","sts","_yield$sts$send","Account","wrap","_context","prev","next","STSClient","awsConfig","send","GetCallerIdentityCommand","sent","Error","abrupt","stop","_createClass2","key","value","_getBranch","_callee2","_t","_context2","process","env","OVERRIDE_ECR_BRANCH_TAG","spawn","encoding","stdout","trim","getBranch","apply","arguments","_getCommitHash","_callee3","_context3","getCommitHash","_getRegion","_callee4","ecr","region","_context4","ECRClient","config","getRegion","_getECRHost","_callee5","_t2","_t3","_context5","getAWSAccountId","concat","call","getECRHost","_getProjectPackageJson","_callee7","_yield$import","findUp","file","_t6","_t7","_t8","_context7","_ref2","_callee6","dir","_t4","_t5","_context6","test","path","posix","normalize","fs","stat","join","then","s","isFile","undefined","_x","JSON","readFile","parse","contents","getProjectPackageJson","_getLocalDockerTag","_callee8","_context8","getDockerTags","commitHash","getLocalDockerTag","_build","_callee9","args","_options","_options$path","_options2","_yield$Promise$all","_yield$Promise$all2","npmToken","tag","_t9","_t0","_t1","_t10","_t11","_t12","_context9","Array","isArray","Promise","all","noNpmTokenArg","getNpmToken","_slicedToArray2","_toConsumableArray2","stdio","build","_x2","_x3","_getDockerTags","_callee0","_yield$Promise$all3","_yield$Promise$all4","branch","packageJson","base","result","_this$options$release","releaseBranches","version","_context0","repositoryName","latest","includes","OVERRIDE_ECR_VERSION_TAG","relative","cwd","_push","_callee1","_yield$Promise$all5","_yield$Promise$all6","ecrHost","_t13","_context1","loginToECR","push","_release","_callee10","_yield$Promise$all7","_yield$Promise$all8","tags","_yield$ecr$send","_yield$ecr$send$image","_yield$ecr$send$image2","_yield$ecr$send$image3","image","imageManifest","_i","_arr","_tags$key","_t14","_context10","BatchGetImageCommand","imageIds","imageTag","images","Object","keys","length","replace","console","error","PutImageCommand","substring","indexOf","code","release","_getNpmToken","_callee11","NPM_TOKEN","homedir","npmrc","match","_args11","_t15","_context11","os","exec"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/ECRDeployer.mjs CHANGED
@@ -6,12 +6,21 @@ import { GetCallerIdentityCommand, STSClient } from '@aws-sdk/client-sts';
6
6
  import { once } from "./once.mjs";
7
7
  import loginToECR from "./loginToECR.mjs";
8
8
  import os from 'os';
9
+
10
+ /**
11
+ * Options for {@link ECRDeployer#build}
12
+ */
13
+
9
14
  /**
10
15
  * Class that implements our conventional process for deploying docker images to ECR.
11
16
  *
12
- * The CI build step should build the docker image (you may want to use {@link getNpmToken}
13
- * to pass an `NPM_TOKEN` build arg) and then call {@link push} to push the image to
14
- * ECR tagged with the git commit hash.
17
+ * The CI build step should build the docker image (you may want to use {@link build},
18
+ * or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
19
+ * yourself) and then call {@link push} to push the image to ECR tagged with the git
20
+ * commit hash.
21
+ *
22
+ * By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
23
+ * if not you can call `build({ noNpmTokenArg: true })`.
15
24
  *
16
25
  * The CI release step should call {@link release} to add tags for the git branch and
17
26
  * the `version` in your `package.json`.
@@ -69,6 +78,20 @@ export class ECRDeployer {
69
78
  contents: JSON.parse(await fs.readFile(file, 'utf8'))
70
79
  };
71
80
  }
81
+ async getLocalDockerTag() {
82
+ return (await this.getDockerTags()).commitHash;
83
+ }
84
+ async build(args, options) {
85
+ var _options, _options2;
86
+ if (!Array.isArray(args)) {
87
+ options = args;
88
+ args = [];
89
+ }
90
+ const [npmToken, tag] = await Promise.all([(_options = options) !== null && _options !== void 0 && _options.noNpmTokenArg ? undefined : this.getNpmToken(), this.getLocalDockerTag()]);
91
+ await spawn('docker', ['build', ((_options2 = options) === null || _options2 === void 0 ? void 0 : _options2.path) ?? '.', ...(npmToken ? ['--build-arg', `NPM_TOKEN=${await this.getNpmToken()}`] : []), '--tag', tag, ...args], {
92
+ stdio: 'inherit'
93
+ });
94
+ }
72
95
  async getDockerTags() {
73
96
  const [commitHash, branch, packageJson] = await Promise.all([this.getCommitHash(), this.getBranch(), this.getProjectPackageJson()]);
74
97
  const base = this.options.repositoryName;
@@ -107,7 +130,9 @@ export class ECRDeployer {
107
130
  stdio: 'inherit'
108
131
  });
109
132
  }
110
- await spawn('docker', ['push', `${ecrHost}/${commitHash}`]);
133
+ await spawn('docker', ['push', `${ecrHost}/${commitHash}`], {
134
+ stdio: 'inherit'
135
+ });
111
136
  }
112
137
  async release() {
113
138
  const [commitHash, ecrHost, tags] = await Promise.all([this.getCommitHash(), this.getECRHost(), this.getDockerTags()]);
@@ -1 +1 @@
1
- {"version":3,"file":"ECRDeployer.mjs","names":["BatchGetImageCommand","ECRClient","PutImageCommand","spawn","fs","path","GetCallerIdentityCommand","STSClient","once","loginToECR","os","ECRDeployer","options","constructor","getBranch","process","env","OVERRIDE_ECR_BRANCH_TAG","encoding","stdout","trim","getCommitHash","getAWSAccountId","sts","awsConfig","Account","send","Error","getRegion","ecr","region","config","getECRHost","getProjectPackageJson","findUp","file","dir","test","posix","normalize","stat","join","then","s","isFile","undefined","contents","JSON","parse","readFile","getDockerTags","commitHash","branch","packageJson","Promise","all","base","repositoryName","result","latest","releaseBranches","includes","version","OVERRIDE_ECR_VERSION_TAG","relative","cwd","push","ecrHost","stdio","release","tags","images","image","imageIds","imageTag","imageManifest","key","Object","keys","_tags$key","tag","replace","console","error","substring","indexOf","code","getNpmToken","NPM_TOKEN","homedir","npmrc","match","exec"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ECRDeployer.mjs","names":["BatchGetImageCommand","ECRClient","PutImageCommand","spawn","fs","path","GetCallerIdentityCommand","STSClient","once","loginToECR","os","ECRDeployer","options","constructor","getBranch","process","env","OVERRIDE_ECR_BRANCH_TAG","encoding","stdout","trim","getCommitHash","getAWSAccountId","sts","awsConfig","Account","send","Error","getRegion","ecr","region","config","getECRHost","getProjectPackageJson","findUp","file","dir","test","posix","normalize","stat","join","then","s","isFile","undefined","contents","JSON","parse","readFile","getLocalDockerTag","getDockerTags","commitHash","build","args","_options","_options2","Array","isArray","npmToken","tag","Promise","all","noNpmTokenArg","getNpmToken","stdio","branch","packageJson","base","repositoryName","result","latest","releaseBranches","includes","version","OVERRIDE_ECR_VERSION_TAG","relative","cwd","push","ecrHost","release","tags","images","image","imageIds","imageTag","imageManifest","key","Object","keys","_tags$key","replace","console","error","substring","indexOf","code","NPM_TOKEN","homedir","npmrc","match","exec"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jcoreio/aws-ecr-utils",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "utilities for working with AWS Elastic Container Registry",
5
5
  "sideEffects": false,
6
6
  "repository": {
@@ -25,12 +25,30 @@ export interface ECRDeployerOptions {
25
25
  repositoryName: string
26
26
  }
27
27
 
28
+ /**
29
+ * Options for {@link ECRDeployer#build}
30
+ */
31
+ export interface BuildOptions {
32
+ /**
33
+ * the path to build (defaults to `.`)
34
+ */
35
+ path?: string
36
+ /**
37
+ * If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
38
+ */
39
+ noNpmTokenArg?: boolean
40
+ }
41
+
28
42
  /**
29
43
  * Class that implements our conventional process for deploying docker images to ECR.
30
44
  *
31
- * The CI build step should build the docker image (you may want to use {@link getNpmToken}
32
- * to pass an `NPM_TOKEN` build arg) and then call {@link push} to push the image to
33
- * ECR tagged with the git commit hash.
45
+ * The CI build step should build the docker image (you may want to use {@link build},
46
+ * or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
47
+ * yourself) and then call {@link push} to push the image to ECR tagged with the git
48
+ * commit hash.
49
+ *
50
+ * By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
51
+ * if not you can call `build({ noNpmTokenArg: true })`.
34
52
  *
35
53
  * The CI release step should call {@link release} to add tags for the git branch and
36
54
  * the `version` in your `package.json`.
@@ -58,9 +76,7 @@ export class ECRDeployer {
58
76
 
59
77
  async getCommitHash() {
60
78
  return (
61
- await spawn('git', ['rev-parse', 'HEAD'], {
62
- encoding: 'utf8',
63
- })
79
+ await spawn('git', ['rev-parse', 'HEAD'], { encoding: 'utf8' })
64
80
  ).stdout.trim()
65
81
  }
66
82
 
@@ -107,6 +123,42 @@ export class ECRDeployer {
107
123
  return { file, contents: JSON.parse(await fs.readFile(file, 'utf8')) }
108
124
  }
109
125
 
126
+ async getLocalDockerTag() {
127
+ return (await this.getDockerTags()).commitHash
128
+ }
129
+
130
+ async build(options?: BuildOptions): Promise<void>
131
+ async build(args: string[], options?: BuildOptions): Promise<void>
132
+ async build(
133
+ args?: string[] | BuildOptions,
134
+ options?: BuildOptions
135
+ ): Promise<void> {
136
+ if (!Array.isArray(args)) {
137
+ options = args
138
+ args = []
139
+ }
140
+
141
+ const [npmToken, tag] = await Promise.all([
142
+ options?.noNpmTokenArg ? undefined : this.getNpmToken(),
143
+ this.getLocalDockerTag(),
144
+ ])
145
+
146
+ await spawn(
147
+ 'docker',
148
+ [
149
+ 'build',
150
+ options?.path ?? '.',
151
+ ...(npmToken ?
152
+ ['--build-arg', `NPM_TOKEN=${await this.getNpmToken()}`]
153
+ : []),
154
+ '--tag',
155
+ tag,
156
+ ...args,
157
+ ],
158
+ { stdio: 'inherit' }
159
+ )
160
+ }
161
+
110
162
  async getDockerTags(): Promise<{
111
163
  latest: string
112
164
  branch: string
@@ -158,12 +210,12 @@ export class ECRDeployer {
158
210
  await spawn(
159
211
  'docker',
160
212
  ['tag', '-f', commitHash, `${ecrHost}/${commitHash}`],
161
- {
162
- stdio: 'inherit',
163
- }
213
+ { stdio: 'inherit' }
164
214
  )
165
215
  }
166
- await spawn('docker', ['push', `${ecrHost}/${commitHash}`])
216
+ await spawn('docker', ['push', `${ecrHost}/${commitHash}`], {
217
+ stdio: 'inherit',
218
+ })
167
219
  }
168
220
 
169
221
  async release() {