@jcoreio/aws-ecr-utils 1.3.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/ImageManifestSchema.d.mts +59 -0
  2. package/ImageManifestSchema.d.mts.map +1 -0
  3. package/ImageManifestSchema.d.ts +50 -49
  4. package/ImageManifestSchema.d.ts.map +1 -0
  5. package/ImageManifestSchema.js +2 -1
  6. package/ImageManifestSchema.js.map +1 -0
  7. package/ImageManifestSchema.mjs +2 -1
  8. package/ImageManifestSchema.mjs.map +1 -0
  9. package/checkECRImageAccess.d.mts +25 -0
  10. package/checkECRImageAccess.d.mts.map +1 -0
  11. package/checkECRImageAccess.d.ts +25 -17
  12. package/checkECRImageAccess.d.ts.map +1 -0
  13. package/checkECRImageAccess.js +65 -65
  14. package/checkECRImageAccess.js.map +1 -0
  15. package/checkECRImageAccess.mjs +22 -19
  16. package/checkECRImageAccess.mjs.map +1 -0
  17. package/checkECRRepositoryPolicy.d.mts +28 -0
  18. package/checkECRRepositoryPolicy.d.mts.map +1 -0
  19. package/checkECRRepositoryPolicy.d.ts +21 -12
  20. package/checkECRRepositoryPolicy.d.ts.map +1 -0
  21. package/checkECRRepositoryPolicy.js +27 -26
  22. package/checkECRRepositoryPolicy.js.map +1 -0
  23. package/checkECRRepositoryPolicy.mjs +11 -9
  24. package/checkECRRepositoryPolicy.mjs.map +1 -0
  25. package/copyECRImage.d.mts +17 -0
  26. package/copyECRImage.d.mts.map +1 -0
  27. package/copyECRImage.d.ts +17 -12
  28. package/copyECRImage.d.ts.map +1 -0
  29. package/copyECRImage.js +21 -20
  30. package/copyECRImage.js.map +1 -0
  31. package/copyECRImage.mjs +2 -1
  32. package/copyECRImage.mjs.map +1 -0
  33. package/ecrImageExists.d.mts +17 -0
  34. package/ecrImageExists.d.mts.map +1 -0
  35. package/ecrImageExists.d.ts +17 -8
  36. package/ecrImageExists.d.ts.map +1 -0
  37. package/ecrImageExists.js +17 -16
  38. package/ecrImageExists.js.map +1 -0
  39. package/ecrImageExists.mjs +6 -5
  40. package/ecrImageExists.mjs.map +1 -0
  41. package/formatECRImageUri.d.mts +12 -0
  42. package/formatECRImageUri.d.mts.map +1 -0
  43. package/formatECRImageUri.d.ts +12 -5
  44. package/formatECRImageUri.d.ts.map +1 -0
  45. package/formatECRImageUri.js +2 -1
  46. package/formatECRImageUri.js.map +1 -0
  47. package/formatECRImageUri.mjs +2 -1
  48. package/formatECRImageUri.mjs.map +1 -0
  49. package/formatECRRepositoryHostname.d.mts +10 -0
  50. package/formatECRRepositoryHostname.d.mts.map +1 -0
  51. package/formatECRRepositoryHostname.d.ts +10 -4
  52. package/formatECRRepositoryHostname.d.ts.map +1 -0
  53. package/formatECRRepositoryHostname.js +2 -1
  54. package/formatECRRepositoryHostname.js.map +1 -0
  55. package/formatECRRepositoryHostname.mjs +2 -1
  56. package/formatECRRepositoryHostname.mjs.map +1 -0
  57. package/index.d.mts +12 -0
  58. package/index.d.mts.map +1 -0
  59. package/index.d.ts +12 -11
  60. package/index.d.ts.map +1 -0
  61. package/index.js +2 -1
  62. package/index.js.map +1 -0
  63. package/index.mjs +2 -1
  64. package/index.mjs.map +1 -0
  65. package/loginToECR.d.mts +11 -0
  66. package/loginToECR.d.mts.map +1 -0
  67. package/loginToECR.d.ts +11 -7
  68. package/loginToECR.d.ts.map +1 -0
  69. package/loginToECR.js +96 -28
  70. package/loginToECR.js.map +1 -0
  71. package/loginToECR.mjs +46 -8
  72. package/loginToECR.mjs.map +1 -0
  73. package/package.json +17 -6
  74. package/parseECRImageUri.d.mts +7 -0
  75. package/parseECRImageUri.d.mts.map +1 -0
  76. package/parseECRImageUri.d.ts +7 -6
  77. package/parseECRImageUri.d.ts.map +1 -0
  78. package/parseECRImageUri.js +2 -1
  79. package/parseECRImageUri.js.map +1 -0
  80. package/parseECRImageUri.mjs +2 -1
  81. package/parseECRImageUri.mjs.map +1 -0
  82. package/parseECRRepositoryHostname.d.mts +6 -0
  83. package/parseECRRepositoryHostname.d.mts.map +1 -0
  84. package/parseECRRepositoryHostname.d.ts +6 -5
  85. package/parseECRRepositoryHostname.d.ts.map +1 -0
  86. package/parseECRRepositoryHostname.js +2 -1
  87. package/parseECRRepositoryHostname.js.map +1 -0
  88. package/parseECRRepositoryHostname.mjs +2 -1
  89. package/parseECRRepositoryHostname.mjs.map +1 -0
  90. package/src/ImageManifestSchema.ts +19 -0
  91. package/src/checkECRImageAccess.ts +193 -0
  92. package/src/checkECRRepositoryPolicy.ts +153 -0
  93. package/src/copyECRImage.ts +76 -0
  94. package/src/ecrImageExists.ts +48 -0
  95. package/src/formatECRImageUri.ts +19 -0
  96. package/src/formatECRRepositoryHostname.ts +11 -0
  97. package/src/index.ts +11 -0
  98. package/src/loginToECR.ts +96 -0
  99. package/src/parseECRImageUri.ts +13 -0
  100. package/src/parseECRRepositoryHostname.ts +12 -0
  101. package/src/tagECRImage.ts +57 -0
  102. package/src/upsertECRRepository.ts +40 -0
  103. package/tagECRImage.d.mts +16 -0
  104. package/tagECRImage.d.mts.map +1 -0
  105. package/tagECRImage.d.ts +13 -6
  106. package/tagECRImage.d.ts.map +1 -0
  107. package/tagECRImage.js +46 -45
  108. package/tagECRImage.js.map +1 -0
  109. package/tagECRImage.mjs +9 -9
  110. package/tagECRImage.mjs.map +1 -0
  111. package/upsertECRRepository.d.mts +11 -0
  112. package/upsertECRRepository.d.mts.map +1 -0
  113. package/upsertECRRepository.d.ts +12 -6
  114. package/upsertECRRepository.d.ts.map +1 -0
  115. package/upsertECRRepository.js +34 -31
  116. package/upsertECRRepository.js.map +1 -0
  117. package/upsertECRRepository.mjs +11 -8
  118. package/upsertECRRepository.mjs.map +1 -0
  119. package/copyECRImage.js.flow +0 -14
  120. package/copyECRImage.mjs.flow +0 -14
  121. package/ecrImageExists.js.flow +0 -10
  122. package/ecrImageExists.mjs.flow +0 -10
  123. package/index.js.flow +0 -8
  124. package/index.mjs.flow +0 -8
  125. package/loginToECR.js.flow +0 -6
  126. package/loginToECR.mjs.flow +0 -6
  127. package/parseECRImageUri.js.flow +0 -8
  128. package/parseECRImageUri.mjs.flow +0 -8
  129. package/tagECRImage.js.flow +0 -8
  130. package/tagECRImage.mjs.flow +0 -8
  131. package/upsertECRRepository.js.flow +0 -7
  132. package/upsertECRRepository.mjs.flow +0 -7
package/tagECRImage.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @prettier
3
3
  */
4
- import AWS from 'aws-sdk';
4
+ import { BatchGetImageCommand, ECRClient, PutImageCommand } from '@aws-sdk/client-ecr';
5
5
  import parseECRImageUri from "./parseECRImageUri.mjs";
6
6
  export default async function tagECRImage({
7
7
  ecr,
@@ -14,18 +14,18 @@ export default async function tagECRImage({
14
14
  repositoryName,
15
15
  imageTag
16
16
  } = parseECRImageUri(imageUri);
17
- if (!ecr) ecr = new AWS.ECR({
17
+ if (!ecr) ecr = new ECRClient({
18
18
  ...awsConfig,
19
19
  region
20
20
  });
21
- const imageManifest = await ecr.batchGetImage({
21
+ const imageManifest = await ecr.send(new BatchGetImageCommand({
22
22
  repositoryName,
23
23
  imageIds: [{
24
24
  imageTag
25
25
  }]
26
- }).promise().then(r => {
26
+ })).then(r => {
27
27
  var _r$images;
28
- return r === null || r === void 0 || (_r$images = r.images) === null || _r$images === void 0 || (_r$images = _r$images[0]) === null || _r$images === void 0 ? void 0 : _r$images.imageManifest;
28
+ return (_r$images = r.images) === null || _r$images === void 0 || (_r$images = _r$images[0]) === null || _r$images === void 0 ? void 0 : _r$images.imageManifest;
29
29
  });
30
30
  if (!imageManifest) {
31
31
  throw new Error(`failed to get image manifest for ${imageUri}`);
@@ -36,15 +36,15 @@ export default async function tagECRImage({
36
36
  // eslint-disable-next-line no-console
37
37
  console.error(`Adding tag ${repositoryName}:${tag}`);
38
38
  try {
39
- await ecr.putImage({
39
+ await ecr.send(new PutImageCommand({
40
40
  repositoryName,
41
41
  imageManifest,
42
42
  imageTag: tag.substring(tag.indexOf(':') + 1)
43
- }).promise();
43
+ }));
44
44
  } catch (error) {
45
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
45
  if ((error === null || error === void 0 ? void 0 : error.code) !== 'ImageAlreadyExistsException') throw error;
47
46
  }
48
47
  }
49
48
  }
50
- }
49
+ }
50
+ //# sourceMappingURL=tagECRImage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagECRImage.mjs","names":["BatchGetImageCommand","ECRClient","PutImageCommand","parseECRImageUri","tagECRImage","ecr","awsConfig","imageUri","tags","region","repositoryName","imageTag","imageManifest","send","imageIds","then","r","_r$images","images","Error","tag","console","error","substring","indexOf","code"],"sources":["src/tagECRImage.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA,SACEA,oBAAoB,EACpBC,SAAS,EAETC,eAAe,QACV,qBAAqB;AAC5B,OAAOC,gBAAgB;AAEvB,eAAe,eAAeC,WAAWA,CAAC;EACxCC,GAAG;EACHC,SAAS;EACTC,QAAQ;EACRC;AAMF,CAAC,EAAiB;EAChB,MAAM;IAAEC,MAAM;IAAEC,cAAc;IAAEC;EAAS,CAAC,GAAGR,gBAAgB,CAACI,QAAQ,CAAC;EACvE,IAAI,CAACF,GAAG,EAAEA,GAAG,GAAG,IAAIJ,SAAS,CAAC;IAAE,GAAGK,SAAS;IAAEG;EAAO,CAAC,CAAC;EAEvD,MAAMG,aAAa,GAAG,MAAMP,GAAG,CAC5BQ,IAAI,CACH,IAAIb,oBAAoB,CAAC;IACvBU,cAAc;IACdI,QAAQ,EAAE,CAAC;MAAEH;IAAS,CAAC;EACzB,CAAC,CACH,CAAC,CACAI,IAAI,CAAEC,CAAC;IAAA,IAAAC,SAAA;IAAA,QAAAA,SAAA,GAAKD,CAAC,CAACE,MAAM,cAAAD,SAAA,gBAAAA,SAAA,GAARA,SAAA,CAAW,CAAC,CAAC,cAAAA,SAAA,uBAAbA,SAAA,CAAeL,aAAa;EAAA,EAAC;EAE5C,IAAI,CAACA,aAAa,EAAE;IAClB,MAAM,IAAIO,KAAK,CAAC,oCAAoCZ,QAAQ,EAAE,CAAC;EACjE;EAEA,IAAIK,aAAa,EAAE;IACjB;IACA,KAAK,MAAMQ,GAAG,IAAIZ,IAAI,EAAE;MACtB;MACAa,OAAO,CAACC,KAAK,CAAC,cAAcZ,cAAc,IAAIU,GAAG,EAAE,CAAC;MACpD,IAAI;QACF,MAAMf,GAAG,CAACQ,IAAI,CACZ,IAAIX,eAAe,CAAC;UAClBQ,cAAc;UACdE,aAAa;UACbD,QAAQ,EAAES,GAAG,CAACG,SAAS,CAACH,GAAG,CAACI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9C,CAAC,CACH,CAAC;MACH,CAAC,CAAC,OAAOF,KAAK,EAAE;QACd,IAAI,CAACA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAUG,IAAI,MAAK,6BAA6B,EAAE,MAAMH,KAAK;MACzE;IACF;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { ECRClient, ECRClientConfig, Repository } from '@aws-sdk/client-ecr';
2
+ export default function upsertECRRepository({
3
+ ecr,
4
+ awsConfig,
5
+ repositoryName
6
+ }: {
7
+ ecr?: ECRClient;
8
+ awsConfig?: ECRClientConfig;
9
+ repositoryName: string;
10
+ }): Promise<Repository>;
11
+ //# sourceMappingURL=upsertECRRepository.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsertECRRepository.d.mts","names":["ECRClient","ECRClientConfig","Repository","upsertECRRepository","ecr","awsConfig","repositoryName","Promise"],"sources":["src/upsertECRRepository.ts"],"sourcesContent":[null],"mappings":"AAEA,SAGEA,SAAS,EACTC,eAAe,EACfC,UAAU,QACL,qBAAqB;AAE5B,wBAA8BC,mBAAmBA,CAAC;EAChDC,GAAG;EACHC,SAAS;EACTC;CACD,EAAE;EACDF,GAAG,CAAC,EAAEJ,SAAS;EACfK,SAAS,CAAC,EAAEJ,eAAe;EAC3BK,cAAc,EAAE,MAAM;CACvB,GAAGC,OAAO,CAACL,UAAU,CAAC","ignoreList":[]}
@@ -1,6 +1,12 @@
1
- import AWS from 'aws-sdk';
2
- export default function upsertECRRepository({ ecr, awsConfig, repositoryName, }: {
3
- ecr?: AWS.ECR;
4
- awsConfig?: AWS.ConfigurationOptions;
5
- repositoryName: string;
6
- }): Promise<AWS.ECR.Repository>;
1
+ import { ECRClient, ECRClientConfig, Repository } from '@aws-sdk/client-ecr';
2
+ declare function upsertECRRepository({
3
+ ecr,
4
+ awsConfig,
5
+ repositoryName
6
+ }: {
7
+ ecr?: ECRClient;
8
+ awsConfig?: ECRClientConfig;
9
+ repositoryName: string;
10
+ }): Promise<Repository>;
11
+ export = upsertECRRepository;
12
+ //# sourceMappingURL=upsertECRRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsertECRRepository.d.ts","names":["ECRClient","ECRClientConfig","Repository","upsertECRRepository","ecr","awsConfig","repositoryName","Promise"],"sources":["src/upsertECRRepository.ts"],"sourcesContent":[null],"mappings":"AAEA,SAGEA,SAAS,EACTC,eAAe,EACfC,UAAU,QACL,qBAAqB;AAE5B,iBAA8BC,mBAAmBA,CAAC;EAChDC,GAAG;EACHC,SAAS;EACTC;CACD,EAAE;EACDF,GAAG,CAAC,EAAEJ,SAAS;EACfK,SAAS,CAAC,EAAEJ,eAAe;EAC3BK,cAAc,EAAE,MAAM;CACvB,GAAGC,OAAO,CAACL,UAAU,CAAC;AAqBtB,SAAAC,mBAAA","ignoreList":[]}
@@ -6,63 +6,66 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = upsertECRRepository;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _awsSdk = _interopRequireDefault(require("aws-sdk"));
11
- // @flow
11
+ var _clientEcr = require("@aws-sdk/client-ecr");
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // @flow
12
14
  function upsertECRRepository(_x) {
13
15
  return _upsertECRRepository.apply(this, arguments);
14
16
  }
15
17
  function _upsertECRRepository() {
16
- _upsertECRRepository = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
17
- var ecr, awsConfig, repositoryName, _yield$ecr$describeRe, repositories, _repository, _yield$ecr$createRepo, repository;
18
- return _regenerator["default"].wrap(function _callee$(_context) {
18
+ _upsertECRRepository = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
19
+ var ecr, awsConfig, repositoryName, _yield$ecr$send, repositories, _repository, _yield$ecr$send2, repository, _t;
20
+ return _regenerator["default"].wrap(function (_context) {
19
21
  while (1) switch (_context.prev = _context.next) {
20
22
  case 0:
21
23
  ecr = _ref.ecr, awsConfig = _ref.awsConfig, repositoryName = _ref.repositoryName;
22
- if (!ecr) ecr = new _awsSdk["default"].ECR(awsConfig);
23
- _context.prev = 2;
24
- _context.next = 5;
25
- return ecr.describeRepositories({
24
+ if (!ecr) ecr = new _clientEcr.ECRClient(_objectSpread({}, awsConfig));
25
+ _context.prev = 1;
26
+ _context.next = 2;
27
+ return ecr.send(new _clientEcr.DescribeRepositoriesCommand({
26
28
  repositoryNames: [repositoryName]
27
- }).promise();
28
- case 5:
29
- _yield$ecr$describeRe = _context.sent;
30
- repositories = _yield$ecr$describeRe.repositories;
29
+ }));
30
+ case 2:
31
+ _yield$ecr$send = _context.sent;
32
+ repositories = _yield$ecr$send.repositories;
31
33
  _repository = repositories === null || repositories === void 0 ? void 0 : repositories[0];
32
34
  if (!_repository) {
33
- _context.next = 10;
35
+ _context.next = 3;
34
36
  break;
35
37
  }
36
38
  return _context.abrupt("return", _repository);
37
- case 10:
38
- _context.next = 14;
39
+ case 3:
40
+ _context.next = 5;
39
41
  break;
40
- case 12:
41
- _context.prev = 12;
42
- _context.t0 = _context["catch"](2);
43
- case 14:
42
+ case 4:
43
+ _context.prev = 4;
44
+ _t = _context["catch"](1);
45
+ case 5:
44
46
  // eslint-disable-next-line no-console
45
47
  console.error("Creating ECR repository {bold ".concat(repositoryName, "}..."));
46
- _context.next = 17;
47
- return ecr.createRepository({
48
+ _context.next = 6;
49
+ return ecr.send(new _clientEcr.CreateRepositoryCommand({
48
50
  repositoryName: repositoryName
49
- }).promise();
50
- case 17:
51
- _yield$ecr$createRepo = _context.sent;
52
- repository = _yield$ecr$createRepo.repository;
51
+ }));
52
+ case 6:
53
+ _yield$ecr$send2 = _context.sent;
54
+ repository = _yield$ecr$send2.repository;
53
55
  if (repository) {
54
- _context.next = 21;
56
+ _context.next = 7;
55
57
  break;
56
58
  }
57
59
  throw new Error("repository is missing from createRepository response");
58
- case 21:
60
+ case 7:
59
61
  return _context.abrupt("return", repository);
60
- case 22:
62
+ case 8:
61
63
  case "end":
62
64
  return _context.stop();
63
65
  }
64
- }, _callee, null, [[2, 12]]);
66
+ }, _callee, null, [[1, 4]]);
65
67
  }));
66
68
  return _upsertECRRepository.apply(this, arguments);
67
69
  }
68
- module.exports = exports.default;
70
+ module.exports = exports.default;
71
+ //# sourceMappingURL=upsertECRRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsertECRRepository.js","names":["_clientEcr","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","upsertECRRepository","_x","_upsertECRRepository","_asyncToGenerator2","_regenerator","mark","_callee","_ref","ecr","awsConfig","repositoryName","_yield$ecr$send","repositories","_repository","_yield$ecr$send2","repository","_t","wrap","_context","prev","next","ECRClient","send","DescribeRepositoriesCommand","repositoryNames","sent","abrupt","console","error","concat","CreateRepositoryCommand","Error","stop","module","exports","default"],"sources":["src/upsertECRRepository.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,21 +1,23 @@
1
1
  // @flow
2
2
 
3
- import AWS from 'aws-sdk';
3
+ import { CreateRepositoryCommand, DescribeRepositoriesCommand, ECRClient } from '@aws-sdk/client-ecr';
4
4
  export default async function upsertECRRepository({
5
5
  ecr,
6
6
  awsConfig,
7
7
  repositoryName
8
8
  }) {
9
- if (!ecr) ecr = new AWS.ECR(awsConfig);
9
+ if (!ecr) ecr = new ECRClient({
10
+ ...awsConfig
11
+ });
10
12
  try {
11
13
  const {
12
14
  repositories
13
- } = await ecr.describeRepositories({
15
+ } = await ecr.send(new DescribeRepositoriesCommand({
14
16
  repositoryNames: [repositoryName]
15
- }).promise();
17
+ }));
16
18
  const repository = repositories === null || repositories === void 0 ? void 0 : repositories[0];
17
19
  if (repository) return repository;
18
- } catch (error) {
20
+ } catch {
19
21
  // ignore
20
22
  }
21
23
 
@@ -23,11 +25,12 @@ export default async function upsertECRRepository({
23
25
  console.error(`Creating ECR repository {bold ${repositoryName}}...`);
24
26
  const {
25
27
  repository
26
- } = await ecr.createRepository({
28
+ } = await ecr.send(new CreateRepositoryCommand({
27
29
  repositoryName
28
- }).promise();
30
+ }));
29
31
  if (!repository) {
30
32
  throw new Error(`repository is missing from createRepository response`);
31
33
  }
32
34
  return repository;
33
- }
35
+ }
36
+ //# sourceMappingURL=upsertECRRepository.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsertECRRepository.mjs","names":["CreateRepositoryCommand","DescribeRepositoriesCommand","ECRClient","upsertECRRepository","ecr","awsConfig","repositoryName","repositories","send","repositoryNames","repository","console","error","Error"],"sources":["src/upsertECRRepository.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAEA,SACEA,uBAAuB,EACvBC,2BAA2B,EAC3BC,SAAS,QAGJ,qBAAqB;AAE5B,eAAe,eAAeC,mBAAmBA,CAAC;EAChDC,GAAG;EACHC,SAAS;EACTC;AAKF,CAAC,EAAuB;EACtB,IAAI,CAACF,GAAG,EAAEA,GAAG,GAAG,IAAIF,SAAS,CAAC;IAAE,GAAGG;EAAU,CAAC,CAAC;EAC/C,IAAI;IACF,MAAM;MAAEE;IAAa,CAAC,GAAG,MAAMH,GAAG,CAACI,IAAI,CACrC,IAAIP,2BAA2B,CAAC;MAAEQ,eAAe,EAAE,CAACH,cAAc;IAAE,CAAC,CACvE,CAAC;IACD,MAAMI,UAAU,GAAGH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC,CAAC;IACpC,IAAIG,UAAU,EAAE,OAAOA,UAAU;EACnC,CAAC,CAAC,MAAM;IACN;EAAA;;EAGF;EACAC,OAAO,CAACC,KAAK,CAAC,iCAAiCN,cAAc,MAAM,CAAC;EACpE,MAAM;IAAEI;EAAW,CAAC,GAAG,MAAMN,GAAG,CAACI,IAAI,CACnC,IAAIR,uBAAuB,CAAC;IAAEM;EAAe,CAAC,CAChD,CAAC;EACD,IAAI,CAACI,UAAU,EAAE;IACf,MAAM,IAAIG,KAAK,CAAC,sDAAsD,CAAC;EACzE;EACA,OAAOH,UAAU;AACnB","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- // @flow
2
-
3
- declare export default function copyECRImage(options: {|
4
- from: {|
5
- imageUri: string,
6
- ecr?: any,
7
- awsConfig?: { ... },
8
- |},
9
- to: {|
10
- imageUri: string,
11
- ecr?: any,
12
- awsConfig?: { ... },
13
- |},
14
- |}): Promise<void>
@@ -1,14 +0,0 @@
1
- // @flow
2
-
3
- declare export default function copyECRImage(options: {|
4
- from: {|
5
- imageUri: string,
6
- ecr?: any,
7
- awsConfig?: { ... },
8
- |},
9
- to: {|
10
- imageUri: string,
11
- ecr?: any,
12
- awsConfig?: { ... },
13
- |},
14
- |}): Promise<void>
@@ -1,10 +0,0 @@
1
- // @flow
2
-
3
- declare export default function ecrImageExists(options: {|
4
- ecr?: any,
5
- awsConfig?: { ... },
6
- imageUri?: string,
7
- registryId?: string,
8
- repositoryName?: string,
9
- imageTag?: string,
10
- |}): Promise<boolean>
@@ -1,10 +0,0 @@
1
- // @flow
2
-
3
- declare export default function ecrImageExists(options: {|
4
- ecr?: any,
5
- awsConfig?: { ... },
6
- imageUri?: string,
7
- registryId?: string,
8
- repositoryName?: string,
9
- imageTag?: string,
10
- |}): Promise<boolean>
package/index.js.flow DELETED
@@ -1,8 +0,0 @@
1
- // @flow
2
-
3
- export { default as copyECRImage } from './copyECRImage'
4
- export { default as ecrImageExists } from './ecrImageExists'
5
- export { default as loginToECR } from './loginToECR'
6
- export { default as tagECRImage } from './tagECRImage'
7
- export { default as parseECRImageUri } from './parseECRImageUri'
8
- export { default as upsertECRRepository } from './upsertECRRepository'
package/index.mjs.flow DELETED
@@ -1,8 +0,0 @@
1
- // @flow
2
-
3
- export { default as copyECRImage } from './copyECRImage'
4
- export { default as ecrImageExists } from './ecrImageExists'
5
- export { default as loginToECR } from './loginToECR'
6
- export { default as tagECRImage } from './tagECRImage'
7
- export { default as parseECRImageUri } from './parseECRImageUri'
8
- export { default as upsertECRRepository } from './upsertECRRepository'
@@ -1,6 +0,0 @@
1
- // @flow
2
-
3
- declare export default function loginToECR(options: {
4
- ecr?: any,
5
- awsConfig?: { ... },
6
- }): Promise<void>
@@ -1,6 +0,0 @@
1
- // @flow
2
-
3
- declare export default function loginToECR(options: {
4
- ecr?: any,
5
- awsConfig?: { ... },
6
- }): Promise<void>
@@ -1,8 +0,0 @@
1
- // @flow
2
-
3
- declare export default function parseECRImageUri(imageUri: string): {|
4
- registryId: string,
5
- region: string,
6
- repositoryName: string,
7
- imageTag: string,
8
- |}
@@ -1,8 +0,0 @@
1
- // @flow
2
-
3
- declare export default function parseECRImageUri(imageUri: string): {|
4
- registryId: string,
5
- region: string,
6
- repositoryName: string,
7
- imageTag: string,
8
- |}
@@ -1,8 +0,0 @@
1
- // @flow
2
-
3
- declare export default function tagECRImage(options: {|
4
- ecr?: any,
5
- awsConfig?: { ... },
6
- imageUri: string,
7
- tags: string[],
8
- |}): Promise<void>
@@ -1,8 +0,0 @@
1
- // @flow
2
-
3
- declare export default function tagECRImage(options: {|
4
- ecr?: any,
5
- awsConfig?: { ... },
6
- imageUri: string,
7
- tags: string[],
8
- |}): Promise<void>
@@ -1,7 +0,0 @@
1
- // @flow
2
-
3
- declare export default function upsertECRRepository(options: {
4
- ecr?: any,
5
- awsConfig?: { ... },
6
- repositoryName: string,
7
- }): Promise<any>
@@ -1,7 +0,0 @@
1
- // @flow
2
-
3
- declare export default function upsertECRRepository(options: {
4
- ecr?: any,
5
- awsConfig?: { ... },
6
- repositoryName: string,
7
- }): Promise<any>