@jcoreio/aws-ecr-utils 2.2.1 → 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;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","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;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","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,46 +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;
430
+ _context1.next = 6;
348
431
  return (0, _promisifyChildProcess.spawn)('docker', ['push', "".concat(ecrHost, "/").concat(commitHash)], {
349
432
  stdio: 'inherit'
350
433
  });
351
434
  case 6:
352
435
  case "end":
353
- return _context9.stop();
436
+ return _context1.stop();
354
437
  }
355
- }, _callee9, this, [[2, 4]]);
438
+ }, _callee1, this, [[2, 4]]);
356
439
  }));
357
440
  function push() {
358
441
  return _push.apply(this, arguments);
@@ -362,22 +445,22 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
362
445
  }, {
363
446
  key: "release",
364
447
  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) {
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) {
369
452
  case 0:
370
- _context0.next = 1;
453
+ _context10.next = 1;
371
454
  return Promise.all([this.getCommitHash(), this.getECRHost(), this.getDockerTags()]);
372
455
  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];
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];
378
461
  ecr = new _clientEcr.ECRClient();
379
462
  repositoryName = this.options.repositoryName;
380
- _context0.next = 2;
463
+ _context10.next = 2;
381
464
  return ecr.send(new _clientEcr.BatchGetImageCommand({
382
465
  repositoryName: repositoryName,
383
466
  imageIds: [{
@@ -385,7 +468,7 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
385
468
  }]
386
469
  }));
387
470
  case 2:
388
- _yield$ecr$send = _context0.sent;
471
+ _yield$ecr$send = _context10.sent;
389
472
  _yield$ecr$send$image = _yield$ecr$send.images;
390
473
  _yield$ecr$send$image2 = _yield$ecr$send$image === void 0 ? [] : _yield$ecr$send$image;
391
474
  _yield$ecr$send$image3 = (0, _slicedToArray2["default"])(_yield$ecr$send$image2, 1);
@@ -393,64 +476,64 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
393
476
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
394
477
  imageManifest = image === null || image === void 0 ? void 0 : image.imageManifest;
395
478
  if (imageManifest) {
396
- _context0.next = 3;
479
+ _context10.next = 3;
397
480
  break;
398
481
  }
399
482
  throw new Error("failed to get image manifest for ".concat(repositoryName, ":").concat(commitHash));
400
483
  case 3:
401
484
  if (!imageManifest) {
402
- _context0.next = 11;
485
+ _context10.next = 11;
403
486
  break;
404
487
  }
405
488
  _i = 0, _arr = Object.keys(tags);
406
489
  case 4:
407
490
  if (!(_i < _arr.length)) {
408
- _context0.next = 11;
491
+ _context10.next = 11;
409
492
  break;
410
493
  }
411
494
  key = _arr[_i];
412
495
  if (!(key === 'latest' || key === 'commitHash')) {
413
- _context0.next = 5;
496
+ _context10.next = 5;
414
497
  break;
415
498
  }
416
- return _context0.abrupt("continue", 10);
499
+ return _context10.abrupt("continue", 10);
417
500
  case 5:
418
501
  tag = (_tags$key = tags[key]) === null || _tags$key === void 0 ? void 0 : _tags$key.replace(/^[^:]+:?/, '');
419
502
  if (tag) {
420
- _context0.next = 6;
503
+ _context10.next = 6;
421
504
  break;
422
505
  }
423
- return _context0.abrupt("continue", 10);
506
+ return _context10.abrupt("continue", 10);
424
507
  case 6:
425
508
  // eslint-disable-next-line no-console
426
509
  console.error("Adding tag ".concat(ecrHost, "/").concat(tags[key]));
427
- _context0.prev = 7;
428
- _context0.next = 8;
510
+ _context10.prev = 7;
511
+ _context10.next = 8;
429
512
  return ecr.send(new _clientEcr.PutImageCommand({
430
513
  repositoryName: repositoryName,
431
514
  imageManifest: imageManifest,
432
515
  imageTag: tag.substring(tag.indexOf(':') + 1)
433
516
  }));
434
517
  case 8:
435
- _context0.next = 10;
518
+ _context10.next = 10;
436
519
  break;
437
520
  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;
521
+ _context10.prev = 9;
522
+ _t14 = _context10["catch"](7);
523
+ if (!(_t14 instanceof Object && 'code' in _t14 && _t14.code !== 'ImageAlreadyExistsException')) {
524
+ _context10.next = 10;
442
525
  break;
443
526
  }
444
- throw _t0;
527
+ throw _t14;
445
528
  case 10:
446
529
  _i++;
447
- _context0.next = 4;
530
+ _context10.next = 4;
448
531
  break;
449
532
  case 11:
450
533
  case "end":
451
- return _context0.stop();
534
+ return _context10.stop();
452
535
  }
453
- }, _callee0, this, [[7, 9]]);
536
+ }, _callee10, this, [[7, 9]]);
454
537
  }));
455
538
  function release() {
456
539
  return _release.apply(this, arguments);
@@ -460,50 +543,50 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
460
543
  }, {
461
544
  key: "getNpmToken",
462
545
  value: function () {
463
- var _getNpmToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
546
+ var _getNpmToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
464
547
  var env,
465
548
  NPM_TOKEN,
466
549
  homedir,
467
550
  npmrc,
468
551
  match,
469
- _args1 = arguments,
470
- _t1;
471
- return _regenerator["default"].wrap(function (_context1) {
472
- 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) {
473
556
  case 0:
474
- env = _args1.length > 0 && _args1[0] !== undefined ? _args1[0] : process.env;
557
+ env = _args11.length > 0 && _args11[0] !== undefined ? _args11[0] : process.env;
475
558
  NPM_TOKEN = env.NPM_TOKEN;
476
559
  if (!NPM_TOKEN) {
477
- _context1.next = 1;
560
+ _context11.next = 1;
478
561
  break;
479
562
  }
480
- return _context1.abrupt("return", NPM_TOKEN);
563
+ return _context11.abrupt("return", NPM_TOKEN);
481
564
  case 1:
482
- _context1.prev = 1;
565
+ _context11.prev = 1;
483
566
  homedir = _os["default"].homedir();
484
- _context1.next = 2;
567
+ _context11.next = 2;
485
568
  return _promises["default"].readFile("".concat(homedir, "/.npmrc"), 'utf8');
486
569
  case 2:
487
- npmrc = _context1.sent;
570
+ npmrc = _context11.sent;
488
571
  match = /registry\.npmjs\.org\/:_authToken=(.+)/.exec(npmrc);
489
572
  if (!match) {
490
- _context1.next = 3;
573
+ _context11.next = 3;
491
574
  break;
492
575
  }
493
- return _context1.abrupt("return", match[1]);
576
+ return _context11.abrupt("return", match[1]);
494
577
  case 3:
495
- _context1.next = 5;
578
+ _context11.next = 5;
496
579
  break;
497
580
  case 4:
498
- _context1.prev = 4;
499
- _t1 = _context1["catch"](1);
581
+ _context11.prev = 4;
582
+ _t15 = _context11["catch"](1);
500
583
  case 5:
501
584
  throw new Error('Missing process.env.NPM_TOKEN or entry in ~/.npmrc');
502
585
  case 6:
503
586
  case "end":
504
- return _context1.stop();
587
+ return _context11.stop();
505
588
  }
506
- }, _callee1, null, [[1, 4]]);
589
+ }, _callee11, null, [[1, 4]]);
507
590
  }));
508
591
  function getNpmToken() {
509
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;
@@ -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.1",
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`.
@@ -105,6 +123,42 @@ export class ECRDeployer {
105
123
  return { file, contents: JSON.parse(await fs.readFile(file, 'utf8')) }
106
124
  }
107
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
+
108
162
  async getDockerTags(): Promise<{
109
163
  latest: string
110
164
  branch: string