@jcoreio/aws-ecr-utils 2.2.1 → 2.4.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
@@ -10,13 +10,40 @@ export interface ECRDeployerOptions {
10
10
  * The name of the ECR repository
11
11
  */
12
12
  repositoryName: string;
13
+ /**
14
+ * Options for {@link ECRDeployer#build}. If a custom function is given,
15
+ * it will be called instead of running `docker build`.
16
+ */
17
+ build?: (BuildOptions & {
18
+ args?: string[];
19
+ }) | ((options: {
20
+ /**
21
+ * The tag to apply to the local docker image
22
+ */
23
+ tag: string;
24
+ }) => Promise<void>);
25
+ }
26
+ /**
27
+ * Options for {@link ECRDeployer#build}
28
+ */
29
+ export interface BuildOptions {
30
+ /**
31
+ * the path to build (defaults to `.`)
32
+ */
33
+ path?: string;
34
+ /**
35
+ * If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
36
+ */
37
+ noNpmTokenArg?: boolean;
13
38
  }
14
39
  /**
15
40
  * Class that implements our conventional process for deploying docker images to ECR.
16
41
  *
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.
42
+ * The CI build step should build and push the docker image if necessary; you can use
43
+ * {@link buildAndPushIfNecessary}. If you need to customize the build you can pass
44
+ * options or even a custom function in {@link ECRDeployerOptions.build}, or you can
45
+ * even call {@link isPushed}, {@link build}, {@link push}, and {@link getNpmToken}
46
+ * yourself.
20
47
  *
21
48
  * The CI release step should call {@link release} to add tags for the git branch and
22
49
  * the `version` in your `package.json`.
@@ -33,6 +60,11 @@ export declare class ECRDeployer {
33
60
  private getRegion;
34
61
  private getECRHost;
35
62
  private getProjectPackageJson;
63
+ getLocalDockerTag(): Promise<string>;
64
+ build(options?: BuildOptions): Promise<void>;
65
+ build(args: string[], options?: BuildOptions): Promise<void>;
66
+ isPushed(): Promise<boolean>;
67
+ buildAndPushIfNecessary(): Promise<void>;
36
68
  getDockerTags(): Promise<{
37
69
  latest: string;
38
70
  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;EAMnB,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","build","BuildOptions","args","options","tag","Promise","path","noNpmTokenArg","ECRDeployer","getBranch","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getLocalDockerTag","isPushed","buildAndPushIfNecessary","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAU5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;EACtB;;;;EAIAC,KAAK,CAAC,EACF,CAACC,YAAY,GAAG;IAAEC,IAAI,CAAC,EAAE,MAAM,EAAE;GAAE,CAAC,GACpC,CAAC,CAACC,OAAO,EAAE;IACT;;;IAGAC,GAAG,EAAE,MAAM;GACZ,KAAKC,OAAO,CAAC,IAAI,CAAC,CAAC;;AAG1B;;;AAGA,OAAM,UAAWJ,YAAY;EAC3B;;;EAGAK,IAAI,CAAC,EAAE,MAAM;EACb;;;EAGAC,aAAa,CAAC,EAAE,OAAO;;AAGzB;;;;;;;;;;;;;;;AAeA,qBAAaC,WAAW;EACtBL,OAAO,EAAEP,kBAAkB;cAEfO,OAAO,EAAEP,kBAAkB;EAIjCa,SAASA,CAAA,GAAAJ,OAAA;EAWTK,aAAaA,CAAA,GAAAL,OAAA;EAMnB,QAAQM,eAAe;UAOTC,SAAS;UAYTC,UAAU;UAIVC,qBAAqB;EAoB7BC,iBAAiBA,CAAA,GAAAV,OAAA;EAIjBL,KAAKA,CAACG,OAAsB,CAAd,EAAEF,YAAY,GAAGI,OAAO,CAAC,IAAI,CAAC;EAC5CL,KAAKA,CAACE,IAAI,EAAE,MAAM,EAAE,EAAEC,OAAsB,CAAd,EAAEF,YAAY,GAAGI,OAAO,CAAC,IAAI,CAAC;EA4C5DW,QAAQA,CAAA,GAAAX,OAAA;EAaRY,uBAAuBA,CAAA,GAAAZ,OAAA;EAMvBa,aAAaA,CAAA,GAAIb,OAAO,CAAC;IAC7Bc,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE,MAAM;IAClBC,OAAO,CAAC,EAAE,MAAM;GACjB,CAAC;EA+BIC,IAAIA,CAAA,GAAAlB,OAAA;EAuBJmB,OAAOA,CAAA,GAAAnB,OAAA;EAuDPoB,WAAWA,CAACC,GAAiB,CAAd,EAAAC,MAAA,CAAAC,UAAc,GAAAvB,OAAA","ignoreList":[]}
package/ECRDeployer.d.ts CHANGED
@@ -10,13 +10,40 @@ export interface ECRDeployerOptions {
10
10
  * The name of the ECR repository
11
11
  */
12
12
  repositoryName: string;
13
+ /**
14
+ * Options for {@link ECRDeployer#build}. If a custom function is given,
15
+ * it will be called instead of running `docker build`.
16
+ */
17
+ build?: (BuildOptions & {
18
+ args?: string[];
19
+ }) | ((options: {
20
+ /**
21
+ * The tag to apply to the local docker image
22
+ */
23
+ tag: string;
24
+ }) => Promise<void>);
25
+ }
26
+ /**
27
+ * Options for {@link ECRDeployer#build}
28
+ */
29
+ export interface BuildOptions {
30
+ /**
31
+ * the path to build (defaults to `.`)
32
+ */
33
+ path?: string;
34
+ /**
35
+ * If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
36
+ */
37
+ noNpmTokenArg?: boolean;
13
38
  }
14
39
  /**
15
40
  * Class that implements our conventional process for deploying docker images to ECR.
16
41
  *
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.
42
+ * The CI build step should build and push the docker image if necessary; you can use
43
+ * {@link buildAndPushIfNecessary}. If you need to customize the build you can pass
44
+ * options or even a custom function in {@link ECRDeployerOptions.build}, or you can
45
+ * even call {@link isPushed}, {@link build}, {@link push}, and {@link getNpmToken}
46
+ * yourself.
20
47
  *
21
48
  * The CI release step should call {@link release} to add tags for the git branch and
22
49
  * the `version` in your `package.json`.
@@ -33,6 +60,11 @@ export declare class ECRDeployer {
33
60
  private getRegion;
34
61
  private getECRHost;
35
62
  private getProjectPackageJson;
63
+ getLocalDockerTag(): Promise<string>;
64
+ build(options?: BuildOptions): Promise<void>;
65
+ build(args: string[], options?: BuildOptions): Promise<void>;
66
+ isPushed(): Promise<boolean>;
67
+ buildAndPushIfNecessary(): Promise<void>;
36
68
  getDockerTags(): Promise<{
37
69
  latest: string;
38
70
  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;EAMnB,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","build","BuildOptions","args","options","tag","Promise","path","noNpmTokenArg","ECRDeployer","getBranch","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getLocalDockerTag","isPushed","buildAndPushIfNecessary","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAU5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;EACtB;;;;EAIAC,KAAK,CAAC,EACF,CAACC,YAAY,GAAG;IAAEC,IAAI,CAAC,EAAE,MAAM,EAAE;GAAE,CAAC,GACpC,CAAC,CAACC,OAAO,EAAE;IACT;;;IAGAC,GAAG,EAAE,MAAM;GACZ,KAAKC,OAAO,CAAC,IAAI,CAAC,CAAC;;AAG1B;;;AAGA,OAAM,UAAWJ,YAAY;EAC3B;;;EAGAK,IAAI,CAAC,EAAE,MAAM;EACb;;;EAGAC,aAAa,CAAC,EAAE,OAAO;;AAGzB;;;;;;;;;;;;;;;AAeA,qBAAaC,WAAW;EACtBL,OAAO,EAAEP,kBAAkB;cAEfO,OAAO,EAAEP,kBAAkB;EAIjCa,SAASA,CAAA,GAAAJ,OAAA;EAWTK,aAAaA,CAAA,GAAAL,OAAA;EAMnB,QAAQM,eAAe;UAOTC,SAAS;UAYTC,UAAU;UAIVC,qBAAqB;EAoB7BC,iBAAiBA,CAAA,GAAAV,OAAA;EAIjBL,KAAKA,CAACG,OAAsB,CAAd,EAAEF,YAAY,GAAGI,OAAO,CAAC,IAAI,CAAC;EAC5CL,KAAKA,CAACE,IAAI,EAAE,MAAM,EAAE,EAAEC,OAAsB,CAAd,EAAEF,YAAY,GAAGI,OAAO,CAAC,IAAI,CAAC;EA4C5DW,QAAQA,CAAA,GAAAX,OAAA;EAaRY,uBAAuBA,CAAA,GAAAZ,OAAA;EAMvBa,aAAaA,CAAA,GAAIb,OAAO,CAAC;IAC7Bc,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE,MAAM;IAClBC,OAAO,CAAC,EAAE,MAAM;GACjB,CAAC;EA+BIC,IAAIA,CAAA,GAAAlB,OAAA;EAuBJmB,OAAOA,CAAA,GAAAnB,OAAA;EAuDPoB,WAAWA,CAACC,GAAiB,CAAd,EAAAC,MAAA,CAAAC,UAAc,GAAAvB,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,18 @@ 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
+ var _ecrImageExists = _interopRequireDefault(require("./ecrImageExists.js"));
24
+ /**
25
+ * Options for {@link ECRDeployer#build}
26
+ */
22
27
  /**
23
28
  * Class that implements our conventional process for deploying docker images to ECR.
24
29
  *
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.
30
+ * The CI build step should build and push the docker image if necessary; you can use
31
+ * {@link buildAndPushIfNecessary}. If you need to customize the build you can pass
32
+ * options or even a custom function in {@link ECRDeployerOptions.build}, or you can
33
+ * even call {@link isPushed}, {@link build}, {@link push}, and {@link getNpmToken}
34
+ * yourself.
28
35
  *
29
36
  * The CI release step should call {@link release} to add tags for the git branch and
30
37
  * the `version` in your `package.json`.
@@ -263,21 +270,174 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
263
270
  return getProjectPackageJson;
264
271
  }()
265
272
  }, {
266
- key: "getDockerTags",
273
+ key: "getLocalDockerTag",
267
274
  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;
275
+ var _getLocalDockerTag = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
270
276
  return _regenerator["default"].wrap(function (_context8) {
271
277
  while (1) switch (_context8.prev = _context8.next) {
272
278
  case 0:
273
279
  _context8.next = 1;
280
+ return this.getDockerTags();
281
+ case 1:
282
+ return _context8.abrupt("return", _context8.sent.commitHash);
283
+ case 2:
284
+ case "end":
285
+ return _context8.stop();
286
+ }
287
+ }, _callee8, this);
288
+ }));
289
+ function getLocalDockerTag() {
290
+ return _getLocalDockerTag.apply(this, arguments);
291
+ }
292
+ return getLocalDockerTag;
293
+ }()
294
+ }, {
295
+ key: "build",
296
+ value: function () {
297
+ var _build = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(args, options) {
298
+ var _options$noNpmTokenAr, _options, _ref3, _options$path, _options2;
299
+ var buildOptions, _yield$Promise$all, _yield$Promise$all2, npmToken, tag, _t9, _t0, _t1, _t10, _t11, _t12;
300
+ return _regenerator["default"].wrap(function (_context9) {
301
+ while (1) switch (_context9.prev = _context9.next) {
302
+ case 0:
303
+ if (!Array.isArray(args)) {
304
+ options = args;
305
+ args = [];
306
+ }
307
+ buildOptions = this.options.build;
308
+ _context9.next = 1;
309
+ return Promise.all([((_options$noNpmTokenAr = (_options = options) === null || _options === void 0 ? void 0 : _options.noNpmTokenArg) !== null && _options$noNpmTokenAr !== void 0 ? _options$noNpmTokenAr : typeof buildOptions === 'function' ? undefined : buildOptions === null || buildOptions === void 0 ? void 0 : buildOptions.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
+ if (!(typeof buildOptions === 'function')) {
316
+ _context9.next = 3;
317
+ break;
318
+ }
319
+ _context9.next = 2;
320
+ return buildOptions({
321
+ tag: tag
322
+ });
323
+ case 2:
324
+ return _context9.abrupt("return");
325
+ case 3:
326
+ _t9 = _promisifyChildProcess.spawn;
327
+ _t0 = ['build', (_ref3 = (_options$path = (_options2 = options) === null || _options2 === void 0 ? void 0 : _options2.path) !== null && _options$path !== void 0 ? _options$path : buildOptions === null || buildOptions === void 0 ? void 0 : buildOptions.path) !== null && _ref3 !== void 0 ? _ref3 : '.'];
328
+ _t1 = _toConsumableArray2["default"];
329
+ if (!npmToken) {
330
+ _context9.next = 5;
331
+ break;
332
+ }
333
+ _t11 = "NPM_TOKEN=";
334
+ _context9.next = 4;
335
+ return this.getNpmToken();
336
+ case 4:
337
+ _t12 = _t11.concat.call(_t11, _context9.sent);
338
+ _t10 = ['--build-arg', _t12];
339
+ _context9.next = 6;
340
+ break;
341
+ case 5:
342
+ _t10 = [];
343
+ case 6:
344
+ _context9.next = 7;
345
+ return _t9('docker', _t0.concat.call(_t0, _t1(_t10), ['--tag', tag], (0, _toConsumableArray2["default"])((buildOptions === null || buildOptions === void 0 ? void 0 : buildOptions.args) || []), (0, _toConsumableArray2["default"])(args)), {
346
+ stdio: 'inherit'
347
+ });
348
+ case 7:
349
+ case "end":
350
+ return _context9.stop();
351
+ }
352
+ }, _callee9, this);
353
+ }));
354
+ function build(_x2, _x3) {
355
+ return _build.apply(this, arguments);
356
+ }
357
+ return build;
358
+ }()
359
+ }, {
360
+ key: "isPushed",
361
+ value: function () {
362
+ var _isPushed = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
363
+ var _yield$Promise$all3, _yield$Promise$all4, ecrHost, tags, awsConfig;
364
+ return _regenerator["default"].wrap(function (_context0) {
365
+ while (1) switch (_context0.prev = _context0.next) {
366
+ case 0:
367
+ _context0.next = 1;
368
+ return Promise.all([this.getECRHost(), this.getDockerTags()]);
369
+ case 1:
370
+ _yield$Promise$all3 = _context0.sent;
371
+ _yield$Promise$all4 = (0, _slicedToArray2["default"])(_yield$Promise$all3, 2);
372
+ ecrHost = _yield$Promise$all4[0];
373
+ tags = _yield$Promise$all4[1];
374
+ awsConfig = this.options.awsConfig;
375
+ _context0.next = 2;
376
+ return (0, _ecrImageExists["default"])({
377
+ awsConfig: awsConfig,
378
+ imageUri: "".concat(ecrHost, "/").concat(tags.commitHash)
379
+ });
380
+ case 2:
381
+ return _context0.abrupt("return", _context0.sent);
382
+ case 3:
383
+ case "end":
384
+ return _context0.stop();
385
+ }
386
+ }, _callee0, this);
387
+ }));
388
+ function isPushed() {
389
+ return _isPushed.apply(this, arguments);
390
+ }
391
+ return isPushed;
392
+ }()
393
+ }, {
394
+ key: "buildAndPushIfNecessary",
395
+ value: function () {
396
+ var _buildAndPushIfNecessary = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
397
+ return _regenerator["default"].wrap(function (_context1) {
398
+ while (1) switch (_context1.prev = _context1.next) {
399
+ case 0:
400
+ _context1.next = 1;
401
+ return this.isPushed();
402
+ case 1:
403
+ if (!_context1.sent) {
404
+ _context1.next = 2;
405
+ break;
406
+ }
407
+ return _context1.abrupt("return");
408
+ case 2:
409
+ _context1.next = 3;
410
+ return this.build();
411
+ case 3:
412
+ _context1.next = 4;
413
+ return this.push();
414
+ case 4:
415
+ case "end":
416
+ return _context1.stop();
417
+ }
418
+ }, _callee1, this);
419
+ }));
420
+ function buildAndPushIfNecessary() {
421
+ return _buildAndPushIfNecessary.apply(this, arguments);
422
+ }
423
+ return buildAndPushIfNecessary;
424
+ }()
425
+ }, {
426
+ key: "getDockerTags",
427
+ value: function () {
428
+ var _getDockerTags = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
429
+ var _yield$Promise$all5, _yield$Promise$all6, commitHash, branch, packageJson, base, result, _this$options$release, releaseBranches, version;
430
+ return _regenerator["default"].wrap(function (_context10) {
431
+ while (1) switch (_context10.prev = _context10.next) {
432
+ case 0:
433
+ _context10.next = 1;
274
434
  return Promise.all([this.getCommitHash(), this.getBranch(), this.getProjectPackageJson()]);
275
435
  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];
436
+ _yield$Promise$all5 = _context10.sent;
437
+ _yield$Promise$all6 = (0, _slicedToArray2["default"])(_yield$Promise$all5, 3);
438
+ commitHash = _yield$Promise$all6[0];
439
+ branch = _yield$Promise$all6[1];
440
+ packageJson = _yield$Promise$all6[2];
281
441
  base = this.options.repositoryName;
282
442
  result = {
283
443
  latest: base,
@@ -286,24 +446,24 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
286
446
  };
287
447
  _this$options$release = this.options.releaseBranches, releaseBranches = _this$options$release === void 0 ? ['master', 'main', 'release'] : _this$options$release;
288
448
  if (!releaseBranches.includes(branch)) {
289
- _context8.next = 3;
449
+ _context10.next = 3;
290
450
  break;
291
451
  }
292
452
  version = process.env.OVERRIDE_ECR_VERSION_TAG || packageJson.contents.version;
293
453
  if (!(typeof version !== 'string')) {
294
- _context8.next = 2;
454
+ _context10.next = 2;
295
455
  break;
296
456
  }
297
457
  throw new Error("failed to get version from ".concat(_path["default"].relative(process.cwd(), packageJson.file)));
298
458
  case 2:
299
459
  result.version = "".concat(base, ":").concat(version);
300
460
  case 3:
301
- return _context8.abrupt("return", result);
461
+ return _context10.abrupt("return", result);
302
462
  case 4:
303
463
  case "end":
304
- return _context8.stop();
464
+ return _context10.stop();
305
465
  }
306
- }, _callee8, this);
466
+ }, _callee10, this);
307
467
  }));
308
468
  function getDockerTags() {
309
469
  return _getDockerTags.apply(this, arguments);
@@ -313,46 +473,46 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
313
473
  }, {
314
474
  key: "push",
315
475
  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) {
476
+ var _push = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
477
+ var awsConfig, _yield$Promise$all7, _yield$Promise$all8, ecrHost, commitHash, _t13;
478
+ return _regenerator["default"].wrap(function (_context11) {
479
+ while (1) switch (_context11.prev = _context11.next) {
320
480
  case 0:
321
481
  awsConfig = this.options.awsConfig;
322
- _context9.next = 1;
482
+ _context11.next = 1;
323
483
  return Promise.all([this.getECRHost(), this.getDockerTags(), (0, _loginToECR["default"])({
324
484
  awsConfig: awsConfig
325
485
  })]);
326
486
  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;
487
+ _yield$Promise$all7 = _context11.sent;
488
+ _yield$Promise$all8 = (0, _slicedToArray2["default"])(_yield$Promise$all7, 2);
489
+ ecrHost = _yield$Promise$all8[0];
490
+ commitHash = _yield$Promise$all8[1].commitHash;
491
+ _context11.prev = 2;
492
+ _context11.next = 3;
333
493
  return (0, _promisifyChildProcess.spawn)('docker', ['tag', commitHash, "".concat(ecrHost, "/").concat(commitHash)], {
334
494
  stdio: 'inherit'
335
495
  });
336
496
  case 3:
337
- _context9.next = 5;
497
+ _context11.next = 5;
338
498
  break;
339
499
  case 4:
340
- _context9.prev = 4;
341
- _t9 = _context9["catch"](2);
342
- _context9.next = 5;
500
+ _context11.prev = 4;
501
+ _t13 = _context11["catch"](2);
502
+ _context11.next = 5;
343
503
  return (0, _promisifyChildProcess.spawn)('docker', ['tag', '-f', commitHash, "".concat(ecrHost, "/").concat(commitHash)], {
344
504
  stdio: 'inherit'
345
505
  });
346
506
  case 5:
347
- _context9.next = 6;
507
+ _context11.next = 6;
348
508
  return (0, _promisifyChildProcess.spawn)('docker', ['push', "".concat(ecrHost, "/").concat(commitHash)], {
349
509
  stdio: 'inherit'
350
510
  });
351
511
  case 6:
352
512
  case "end":
353
- return _context9.stop();
513
+ return _context11.stop();
354
514
  }
355
- }, _callee9, this, [[2, 4]]);
515
+ }, _callee11, this, [[2, 4]]);
356
516
  }));
357
517
  function push() {
358
518
  return _push.apply(this, arguments);
@@ -362,22 +522,22 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
362
522
  }, {
363
523
  key: "release",
364
524
  value: function () {
365
- var _release = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
366
- 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;
367
- return _regenerator["default"].wrap(function (_context0) {
368
- while (1) switch (_context0.prev = _context0.next) {
525
+ var _release = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
526
+ var _yield$Promise$all9, _yield$Promise$all0, 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;
527
+ return _regenerator["default"].wrap(function (_context12) {
528
+ while (1) switch (_context12.prev = _context12.next) {
369
529
  case 0:
370
- _context0.next = 1;
530
+ _context12.next = 1;
371
531
  return Promise.all([this.getCommitHash(), this.getECRHost(), this.getDockerTags()]);
372
532
  case 1:
373
- _yield$Promise$all5 = _context0.sent;
374
- _yield$Promise$all6 = (0, _slicedToArray2["default"])(_yield$Promise$all5, 3);
375
- commitHash = _yield$Promise$all6[0];
376
- ecrHost = _yield$Promise$all6[1];
377
- tags = _yield$Promise$all6[2];
533
+ _yield$Promise$all9 = _context12.sent;
534
+ _yield$Promise$all0 = (0, _slicedToArray2["default"])(_yield$Promise$all9, 3);
535
+ commitHash = _yield$Promise$all0[0];
536
+ ecrHost = _yield$Promise$all0[1];
537
+ tags = _yield$Promise$all0[2];
378
538
  ecr = new _clientEcr.ECRClient();
379
539
  repositoryName = this.options.repositoryName;
380
- _context0.next = 2;
540
+ _context12.next = 2;
381
541
  return ecr.send(new _clientEcr.BatchGetImageCommand({
382
542
  repositoryName: repositoryName,
383
543
  imageIds: [{
@@ -385,7 +545,7 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
385
545
  }]
386
546
  }));
387
547
  case 2:
388
- _yield$ecr$send = _context0.sent;
548
+ _yield$ecr$send = _context12.sent;
389
549
  _yield$ecr$send$image = _yield$ecr$send.images;
390
550
  _yield$ecr$send$image2 = _yield$ecr$send$image === void 0 ? [] : _yield$ecr$send$image;
391
551
  _yield$ecr$send$image3 = (0, _slicedToArray2["default"])(_yield$ecr$send$image2, 1);
@@ -393,64 +553,64 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
393
553
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
394
554
  imageManifest = image === null || image === void 0 ? void 0 : image.imageManifest;
395
555
  if (imageManifest) {
396
- _context0.next = 3;
556
+ _context12.next = 3;
397
557
  break;
398
558
  }
399
559
  throw new Error("failed to get image manifest for ".concat(repositoryName, ":").concat(commitHash));
400
560
  case 3:
401
561
  if (!imageManifest) {
402
- _context0.next = 11;
562
+ _context12.next = 11;
403
563
  break;
404
564
  }
405
565
  _i = 0, _arr = Object.keys(tags);
406
566
  case 4:
407
567
  if (!(_i < _arr.length)) {
408
- _context0.next = 11;
568
+ _context12.next = 11;
409
569
  break;
410
570
  }
411
571
  key = _arr[_i];
412
572
  if (!(key === 'latest' || key === 'commitHash')) {
413
- _context0.next = 5;
573
+ _context12.next = 5;
414
574
  break;
415
575
  }
416
- return _context0.abrupt("continue", 10);
576
+ return _context12.abrupt("continue", 10);
417
577
  case 5:
418
578
  tag = (_tags$key = tags[key]) === null || _tags$key === void 0 ? void 0 : _tags$key.replace(/^[^:]+:?/, '');
419
579
  if (tag) {
420
- _context0.next = 6;
580
+ _context12.next = 6;
421
581
  break;
422
582
  }
423
- return _context0.abrupt("continue", 10);
583
+ return _context12.abrupt("continue", 10);
424
584
  case 6:
425
585
  // eslint-disable-next-line no-console
426
586
  console.error("Adding tag ".concat(ecrHost, "/").concat(tags[key]));
427
- _context0.prev = 7;
428
- _context0.next = 8;
587
+ _context12.prev = 7;
588
+ _context12.next = 8;
429
589
  return ecr.send(new _clientEcr.PutImageCommand({
430
590
  repositoryName: repositoryName,
431
591
  imageManifest: imageManifest,
432
592
  imageTag: tag.substring(tag.indexOf(':') + 1)
433
593
  }));
434
594
  case 8:
435
- _context0.next = 10;
595
+ _context12.next = 10;
436
596
  break;
437
597
  case 9:
438
- _context0.prev = 9;
439
- _t0 = _context0["catch"](7);
440
- if (!(_t0 instanceof Object && 'code' in _t0 && _t0.code !== 'ImageAlreadyExistsException')) {
441
- _context0.next = 10;
598
+ _context12.prev = 9;
599
+ _t14 = _context12["catch"](7);
600
+ if (!(_t14 instanceof Object && 'code' in _t14 && _t14.code !== 'ImageAlreadyExistsException')) {
601
+ _context12.next = 10;
442
602
  break;
443
603
  }
444
- throw _t0;
604
+ throw _t14;
445
605
  case 10:
446
606
  _i++;
447
- _context0.next = 4;
607
+ _context12.next = 4;
448
608
  break;
449
609
  case 11:
450
610
  case "end":
451
- return _context0.stop();
611
+ return _context12.stop();
452
612
  }
453
- }, _callee0, this, [[7, 9]]);
613
+ }, _callee12, this, [[7, 9]]);
454
614
  }));
455
615
  function release() {
456
616
  return _release.apply(this, arguments);
@@ -460,50 +620,50 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
460
620
  }, {
461
621
  key: "getNpmToken",
462
622
  value: function () {
463
- var _getNpmToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
623
+ var _getNpmToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
464
624
  var env,
465
625
  NPM_TOKEN,
466
626
  homedir,
467
627
  npmrc,
468
628
  match,
469
- _args1 = arguments,
470
- _t1;
471
- return _regenerator["default"].wrap(function (_context1) {
472
- while (1) switch (_context1.prev = _context1.next) {
629
+ _args13 = arguments,
630
+ _t15;
631
+ return _regenerator["default"].wrap(function (_context13) {
632
+ while (1) switch (_context13.prev = _context13.next) {
473
633
  case 0:
474
- env = _args1.length > 0 && _args1[0] !== undefined ? _args1[0] : process.env;
634
+ env = _args13.length > 0 && _args13[0] !== undefined ? _args13[0] : process.env;
475
635
  NPM_TOKEN = env.NPM_TOKEN;
476
636
  if (!NPM_TOKEN) {
477
- _context1.next = 1;
637
+ _context13.next = 1;
478
638
  break;
479
639
  }
480
- return _context1.abrupt("return", NPM_TOKEN);
640
+ return _context13.abrupt("return", NPM_TOKEN);
481
641
  case 1:
482
- _context1.prev = 1;
642
+ _context13.prev = 1;
483
643
  homedir = _os["default"].homedir();
484
- _context1.next = 2;
644
+ _context13.next = 2;
485
645
  return _promises["default"].readFile("".concat(homedir, "/.npmrc"), 'utf8');
486
646
  case 2:
487
- npmrc = _context1.sent;
647
+ npmrc = _context13.sent;
488
648
  match = /registry\.npmjs\.org\/:_authToken=(.+)/.exec(npmrc);
489
649
  if (!match) {
490
- _context1.next = 3;
650
+ _context13.next = 3;
491
651
  break;
492
652
  }
493
- return _context1.abrupt("return", match[1]);
653
+ return _context13.abrupt("return", match[1]);
494
654
  case 3:
495
- _context1.next = 5;
655
+ _context13.next = 5;
496
656
  break;
497
657
  case 4:
498
- _context1.prev = 4;
499
- _t1 = _context1["catch"](1);
658
+ _context13.prev = 4;
659
+ _t15 = _context13["catch"](1);
500
660
  case 5:
501
661
  throw new Error('Missing process.env.NPM_TOKEN or entry in ~/.npmrc');
502
662
  case 6:
503
663
  case "end":
504
- return _context1.stop();
664
+ return _context13.stop();
505
665
  }
506
- }, _callee1, null, [[1, 4]]);
666
+ }, _callee13, null, [[1, 4]]);
507
667
  }));
508
668
  function getNpmToken() {
509
669
  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","_ecrImageExists","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$noNpmTokenAr","_options","_ref3","_options$path","_options2","buildOptions","_yield$Promise$all","_yield$Promise$all2","npmToken","tag","_t9","_t0","_t1","_t10","_t11","_t12","_context9","Array","isArray","build","Promise","all","noNpmTokenArg","getNpmToken","_slicedToArray2","_toConsumableArray2","stdio","_x2","_x3","_isPushed","_callee0","_yield$Promise$all3","_yield$Promise$all4","ecrHost","tags","_context0","ecrImageExists","imageUri","isPushed","_buildAndPushIfNecessary","_callee1","_context1","push","buildAndPushIfNecessary","_getDockerTags","_callee10","_yield$Promise$all5","_yield$Promise$all6","branch","packageJson","base","result","_this$options$release","releaseBranches","version","_context10","repositoryName","latest","includes","OVERRIDE_ECR_VERSION_TAG","relative","cwd","_push","_callee11","_yield$Promise$all7","_yield$Promise$all8","_t13","_context11","loginToECR","_release","_callee12","_yield$Promise$all9","_yield$Promise$all0","_yield$ecr$send","_yield$ecr$send$image","_yield$ecr$send$image2","_yield$ecr$send$image3","image","imageManifest","_i","_arr","_tags$key","_t14","_context12","BatchGetImageCommand","imageIds","imageTag","images","Object","keys","length","replace","console","error","PutImageCommand","substring","indexOf","code","release","_getNpmToken","_callee13","NPM_TOKEN","homedir","npmrc","match","_args13","_t15","_context13","os","exec"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/ECRDeployer.mjs CHANGED
@@ -6,12 +6,20 @@ 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
+ import ecrImageExists from "./ecrImageExists.mjs";
10
+
11
+ /**
12
+ * Options for {@link ECRDeployer#build}
13
+ */
14
+
9
15
  /**
10
16
  * Class that implements our conventional process for deploying docker images to ECR.
11
17
  *
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.
18
+ * The CI build step should build and push the docker image if necessary; you can use
19
+ * {@link buildAndPushIfNecessary}. If you need to customize the build you can pass
20
+ * options or even a custom function in {@link ECRDeployerOptions.build}, or you can
21
+ * even call {@link isPushed}, {@link build}, {@link push}, and {@link getNpmToken}
22
+ * yourself.
15
23
  *
16
24
  * The CI release step should call {@link release} to add tags for the git branch and
17
25
  * the `version` in your `package.json`.
@@ -69,6 +77,42 @@ export class ECRDeployer {
69
77
  contents: JSON.parse(await fs.readFile(file, 'utf8'))
70
78
  };
71
79
  }
80
+ async getLocalDockerTag() {
81
+ return (await this.getDockerTags()).commitHash;
82
+ }
83
+ async build(args, options) {
84
+ var _options, _options2;
85
+ if (!Array.isArray(args)) {
86
+ options = args;
87
+ args = [];
88
+ }
89
+ const buildOptions = this.options.build;
90
+ const [npmToken, tag] = await Promise.all([((_options = options) === null || _options === void 0 ? void 0 : _options.noNpmTokenArg) ?? (typeof buildOptions === 'function' ? undefined : buildOptions === null || buildOptions === void 0 ? void 0 : buildOptions.noNpmTokenArg) ? undefined : this.getNpmToken(), this.getLocalDockerTag()]);
91
+ if (typeof buildOptions === 'function') {
92
+ await buildOptions({
93
+ tag
94
+ });
95
+ return;
96
+ }
97
+ await spawn('docker', ['build', ((_options2 = options) === null || _options2 === void 0 ? void 0 : _options2.path) ?? (buildOptions === null || buildOptions === void 0 ? void 0 : buildOptions.path) ?? '.', ...(npmToken ? ['--build-arg', `NPM_TOKEN=${await this.getNpmToken()}`] : []), '--tag', tag, ...((buildOptions === null || buildOptions === void 0 ? void 0 : buildOptions.args) || []), ...args], {
98
+ stdio: 'inherit'
99
+ });
100
+ }
101
+ async isPushed() {
102
+ const [ecrHost, tags] = await Promise.all([this.getECRHost(), this.getDockerTags()]);
103
+ const {
104
+ awsConfig
105
+ } = this.options;
106
+ return await ecrImageExists({
107
+ awsConfig,
108
+ imageUri: `${ecrHost}/${tags.commitHash}`
109
+ });
110
+ }
111
+ async buildAndPushIfNecessary() {
112
+ if (await this.isPushed()) return;
113
+ await this.build();
114
+ await this.push();
115
+ }
72
116
  async getDockerTags() {
73
117
  const [commitHash, branch, packageJson] = await Promise.all([this.getCommitHash(), this.getBranch(), this.getProjectPackageJson()]);
74
118
  const base = this.options.repositoryName;
@@ -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","ecrImageExists","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","buildOptions","npmToken","tag","Promise","all","noNpmTokenArg","getNpmToken","stdio","isPushed","ecrHost","tags","imageUri","buildAndPushIfNecessary","push","branch","packageJson","base","repositoryName","result","latest","releaseBranches","includes","version","OVERRIDE_ECR_VERSION_TAG","relative","cwd","release","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.1",
3
+ "version": "2.4.0",
4
4
  "description": "utilities for working with AWS Elastic Container Registry",
5
5
  "sideEffects": false,
6
6
  "repository": {
@@ -11,6 +11,7 @@ import { GetCallerIdentityCommand, STSClient } from '@aws-sdk/client-sts'
11
11
  import { once } from './once.ts'
12
12
  import loginToECR from './loginToECR.ts'
13
13
  import os from 'os'
14
+ import ecrImageExists from './ecrImageExists.ts'
14
15
 
15
16
  export interface ECRDeployerOptions {
16
17
  awsConfig?: ECRClientConfig
@@ -23,14 +24,42 @@ export interface ECRDeployerOptions {
23
24
  * The name of the ECR repository
24
25
  */
25
26
  repositoryName: string
27
+ /**
28
+ * Options for {@link ECRDeployer#build}. If a custom function is given,
29
+ * it will be called instead of running `docker build`.
30
+ */
31
+ build?:
32
+ | (BuildOptions & { args?: string[] })
33
+ | ((options: {
34
+ /**
35
+ * The tag to apply to the local docker image
36
+ */
37
+ tag: string
38
+ }) => Promise<void>)
39
+ }
40
+
41
+ /**
42
+ * Options for {@link ECRDeployer#build}
43
+ */
44
+ export interface BuildOptions {
45
+ /**
46
+ * the path to build (defaults to `.`)
47
+ */
48
+ path?: string
49
+ /**
50
+ * If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
51
+ */
52
+ noNpmTokenArg?: boolean
26
53
  }
27
54
 
28
55
  /**
29
56
  * Class that implements our conventional process for deploying docker images to ECR.
30
57
  *
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.
58
+ * The CI build step should build and push the docker image if necessary; you can use
59
+ * {@link buildAndPushIfNecessary}. If you need to customize the build you can pass
60
+ * options or even a custom function in {@link ECRDeployerOptions.build}, or you can
61
+ * even call {@link isPushed}, {@link build}, {@link push}, and {@link getNpmToken}
62
+ * yourself.
34
63
  *
35
64
  * The CI release step should call {@link release} to add tags for the git branch and
36
65
  * the `version` in your `package.json`.
@@ -105,6 +134,74 @@ export class ECRDeployer {
105
134
  return { file, contents: JSON.parse(await fs.readFile(file, 'utf8')) }
106
135
  }
107
136
 
137
+ async getLocalDockerTag() {
138
+ return (await this.getDockerTags()).commitHash
139
+ }
140
+
141
+ async build(options?: BuildOptions): Promise<void>
142
+ async build(args: string[], options?: BuildOptions): Promise<void>
143
+ async build(
144
+ args?: string[] | BuildOptions,
145
+ options?: BuildOptions
146
+ ): Promise<void> {
147
+ if (!Array.isArray(args)) {
148
+ options = args
149
+ args = []
150
+ }
151
+ const buildOptions = this.options.build
152
+
153
+ const [npmToken, tag] = await Promise.all([
154
+ (
155
+ (options?.noNpmTokenArg ??
156
+ (typeof buildOptions === 'function' ? undefined : (
157
+ buildOptions?.noNpmTokenArg
158
+ )))
159
+ ) ?
160
+ undefined
161
+ : this.getNpmToken(),
162
+ this.getLocalDockerTag(),
163
+ ])
164
+ if (typeof buildOptions === 'function') {
165
+ await buildOptions({ tag })
166
+ return
167
+ }
168
+
169
+ await spawn(
170
+ 'docker',
171
+ [
172
+ 'build',
173
+ options?.path ?? buildOptions?.path ?? '.',
174
+ ...(npmToken ?
175
+ ['--build-arg', `NPM_TOKEN=${await this.getNpmToken()}`]
176
+ : []),
177
+ '--tag',
178
+ tag,
179
+ ...(buildOptions?.args || []),
180
+ ...args,
181
+ ],
182
+ { stdio: 'inherit' }
183
+ )
184
+ }
185
+
186
+ async isPushed() {
187
+ const [ecrHost, tags] = await Promise.all([
188
+ this.getECRHost(),
189
+ this.getDockerTags(),
190
+ ])
191
+ const { awsConfig } = this.options
192
+
193
+ return await ecrImageExists({
194
+ awsConfig,
195
+ imageUri: `${ecrHost}/${tags.commitHash}`,
196
+ })
197
+ }
198
+
199
+ async buildAndPushIfNecessary() {
200
+ if (await this.isPushed()) return
201
+ await this.build()
202
+ await this.push()
203
+ }
204
+
108
205
  async getDockerTags(): Promise<{
109
206
  latest: string
110
207
  branch: string