@pristine-ts/aws 0.0.263 → 0.0.265
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/dist/lib/cjs/clients/cloudformation.client.js +44 -16
- package/dist/lib/cjs/clients/cloudformation.client.js.map +1 -1
- package/dist/lib/cjs/enums/cloudformation-deployment-status.enum.js +11 -0
- package/dist/lib/cjs/enums/cloudformation-deployment-status.enum.js.map +1 -0
- package/dist/lib/cjs/enums/enums.js +1 -0
- package/dist/lib/cjs/enums/enums.js.map +1 -1
- package/dist/lib/esm/clients/cloudformation.client.js +45 -17
- package/dist/lib/esm/clients/cloudformation.client.js.map +1 -1
- package/dist/lib/esm/enums/cloudformation-deployment-status.enum.js +8 -0
- package/dist/lib/esm/enums/cloudformation-deployment-status.enum.js.map +1 -0
- package/dist/lib/esm/enums/enums.js +1 -0
- package/dist/lib/esm/enums/enums.js.map +1 -1
- package/dist/types/clients/cloudformation.client.d.ts +4 -2
- package/dist/types/enums/cloudformation-deployment-status.enum.d.ts +6 -0
- package/dist/types/enums/enums.d.ts +1 -0
- package/dist/types/interfaces/cloudformation-client.interface.d.ts +3 -2
- package/package.json +7 -7
|
@@ -27,6 +27,7 @@ const common_1 = require("@pristine-ts/common");
|
|
|
27
27
|
const aws_module_keyname_1 = require("../aws.module.keyname");
|
|
28
28
|
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
|
|
29
29
|
const uuid_1 = require("uuid");
|
|
30
|
+
const cloudformation_deployment_status_enum_1 = require("../enums/cloudformation-deployment-status.enum");
|
|
30
31
|
/**
|
|
31
32
|
* The client to use to interact with AWS Cloudformation. It is a wrapper around the CloudformationClient of @aws-sdk/client-cloudformation.
|
|
32
33
|
* It is tagged so it can be injected using CloudformationClientInterface.
|
|
@@ -259,7 +260,6 @@ let CloudformationClient = class CloudformationClient {
|
|
|
259
260
|
* @param statusCallback
|
|
260
261
|
*/
|
|
261
262
|
deployStack(stackName, cloudformationTemplateS3Url, stackParameters, capabilities, statusCallback) {
|
|
262
|
-
var _a;
|
|
263
263
|
return __awaiter(this, void 0, void 0, function* () {
|
|
264
264
|
const parameters = [];
|
|
265
265
|
for (const key in stackParameters) {
|
|
@@ -272,50 +272,78 @@ let CloudformationClient = class CloudformationClient {
|
|
|
272
272
|
});
|
|
273
273
|
}
|
|
274
274
|
const changeSetName = `p-${(0, uuid_1.v4)()}`;
|
|
275
|
+
// Check if the stack exists or not first.
|
|
276
|
+
let changeSetType = client_cloudformation_1.ChangeSetType.UPDATE;
|
|
277
|
+
const stack = yield this.getStackDescription(stackName);
|
|
278
|
+
if (stack === undefined) {
|
|
279
|
+
changeSetType = client_cloudformation_1.ChangeSetType.CREATE;
|
|
280
|
+
}
|
|
275
281
|
yield this.createChangeSet({
|
|
276
282
|
StackName: stackName,
|
|
277
283
|
TemplateURL: cloudformationTemplateS3Url,
|
|
278
284
|
Parameters: parameters,
|
|
279
285
|
Capabilities: capabilities,
|
|
280
286
|
ChangeSetName: changeSetName,
|
|
287
|
+
ChangeSetType: changeSetType,
|
|
281
288
|
});
|
|
282
289
|
// Check if there are actual changes in the ChangeSet.
|
|
283
|
-
|
|
290
|
+
yield this.describeChangeSet({
|
|
284
291
|
StackName: stackName,
|
|
285
292
|
ChangeSetName: changeSetName,
|
|
286
293
|
});
|
|
287
|
-
|
|
288
|
-
|
|
294
|
+
const status = yield this.monitorChangeSet(stackName, changeSetName, "changeSet");
|
|
295
|
+
switch (status) {
|
|
296
|
+
case cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.Failed:
|
|
297
|
+
case cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.NoChangesToPerform:
|
|
298
|
+
return status;
|
|
299
|
+
case cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.InProgress:
|
|
300
|
+
this.logHandler.error("The returned status of 'monitorStack' should never be 'InProgress'.", {}, aws_module_keyname_1.AwsModuleKeyname);
|
|
301
|
+
default:
|
|
302
|
+
break;
|
|
289
303
|
}
|
|
290
304
|
// Execute the changes and start monitoring
|
|
291
305
|
yield this.executeChangeSet({
|
|
292
306
|
StackName: stackName,
|
|
293
307
|
ChangeSetName: changeSetName,
|
|
294
308
|
});
|
|
309
|
+
return this.monitorChangeSet(stackName, changeSetName, "execution", statusCallback);
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
monitorChangeSet(stackName, changeSetName, monitoringType, statusCallback) {
|
|
313
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
295
314
|
while (true) {
|
|
296
315
|
const response = yield this.describeChangeSet({
|
|
297
316
|
StackName: stackName,
|
|
298
317
|
ChangeSetName: changeSetName,
|
|
299
318
|
});
|
|
300
|
-
|
|
319
|
+
this.logHandler.debug("Describe ChangeSet result.", { response }, aws_module_keyname_1.AwsModuleKeyname);
|
|
320
|
+
const status = monitoringType == "changeSet" ? response.Status : response.ExecutionStatus;
|
|
301
321
|
if (status === undefined) {
|
|
302
322
|
yield new Promise(resolve => setTimeout(resolve, 5000));
|
|
303
323
|
continue;
|
|
304
324
|
}
|
|
305
|
-
switch (
|
|
306
|
-
case
|
|
307
|
-
case
|
|
308
|
-
case
|
|
309
|
-
case
|
|
325
|
+
switch (status) {
|
|
326
|
+
case client_cloudformation_1.ExecutionStatus.AVAILABLE:
|
|
327
|
+
case client_cloudformation_1.ExecutionStatus.EXECUTE_IN_PROGRESS:
|
|
328
|
+
case client_cloudformation_1.ChangeSetStatus.CREATE_IN_PROGRESS:
|
|
329
|
+
case client_cloudformation_1.ChangeSetStatus.CREATE_PENDING:
|
|
330
|
+
case client_cloudformation_1.ChangeSetStatus.DELETE_IN_PROGRESS:
|
|
331
|
+
case client_cloudformation_1.ChangeSetStatus.DELETE_PENDING:
|
|
310
332
|
if (statusCallback) {
|
|
311
|
-
statusCallback(
|
|
333
|
+
statusCallback(cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.InProgress, changeSetName);
|
|
312
334
|
}
|
|
313
335
|
continue;
|
|
314
|
-
case
|
|
315
|
-
case
|
|
316
|
-
case
|
|
317
|
-
|
|
318
|
-
|
|
336
|
+
case client_cloudformation_1.ExecutionStatus.EXECUTE_COMPLETE:
|
|
337
|
+
case client_cloudformation_1.ChangeSetStatus.CREATE_COMPLETE:
|
|
338
|
+
case client_cloudformation_1.ChangeSetStatus.DELETE_COMPLETE:
|
|
339
|
+
return cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.Completed;
|
|
340
|
+
case client_cloudformation_1.ExecutionStatus.EXECUTE_FAILED:
|
|
341
|
+
case client_cloudformation_1.ExecutionStatus.OBSOLETE:
|
|
342
|
+
case client_cloudformation_1.ExecutionStatus.UNAVAILABLE:
|
|
343
|
+
case client_cloudformation_1.ChangeSetStatus.DELETE_FAILED:
|
|
344
|
+
case client_cloudformation_1.ChangeSetStatus.FAILED:
|
|
345
|
+
this.logHandler.error("Error with the ChangeSet.", { response }, aws_module_keyname_1.AwsModuleKeyname);
|
|
346
|
+
return cloudformation_deployment_status_enum_1.CloudformationDeploymentStatusEnum.Failed;
|
|
319
347
|
}
|
|
320
348
|
yield new Promise(resolve => setTimeout(resolve, 5000));
|
|
321
349
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudformation.client.js","sourceRoot":"","sources":["../../../../src/clients/cloudformation.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAE5C,gDAAsD;AACtD,8DAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"cloudformation.client.js","sourceRoot":"","sources":["../../../../src/clients/cloudformation.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA4C;AAE5C,gDAAsD;AACtD,8DAAuD;AACvD,0EAmCwC;AAExC,+BAAgC;AAChC,0GAAkG;AAElG;;;;GAIG;AAII,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAQ7B;;;;OAIG;IACH,YACoD,UAA+B,EACvC,MAAc;QADN,eAAU,GAAV,UAAU,CAAqB;QACvC,WAAM,GAAN,MAAM,CAAQ;IAE1D,CAAC;IAED;;OAEG;IACH,SAAS;;QACL,OAAO,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,4CAAuB,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAkC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,4CAAuB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACG,mBAAmB,CAAC,SAAiB;;YACvC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,mDAAmD,EAAE,EAAC,SAAS,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAC1G,MAAM,OAAO,GAAG,IAAI,6CAAqB,CAAC;gBACtC,SAAS,EAAE,SAAS;aACvB,CAAC,CAAA;YACF,IAAI;gBACA,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnF,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChD,OAAO,SAAS,CAAC;iBACpB;gBACD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;iBACnF;gBACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC7B;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBAC3G,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,wBAAwB,CAAC,EAAE;oBAChE,OAAO,SAAS,CAAC;iBACpB;qBAAM;oBACH,MAAM,CAAC,CAAC;iBACX;gBACD,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;OAEG;IACG,UAAU;;;YACZ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,EAAE,qCAAgB,CAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAI,6CAAqB,CAAC,EAAE,CAAC,CAAA;YAC7C,IAAI;gBACA,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnF,OAAO,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,CAAC;aAChC;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBAC3G,MAAM,CAAC,CAAC;aACX;;KACJ;IAED;;;OAGG;IACG,WAAW,CAAC,KAA8B;;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAC,KAAK,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,IAAI,0CAAkB,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBAC9F,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,WAAW,CAAC,KAA8B;;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAG,IAAI,0CAAkB,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,CAAC,OAAO,IAAI,iCAAiC,EAAE;oBAChD,OAAO;wBACH,SAAS,EAAE;4BACP,cAAc,EAAE,GAAG;yBACtB;qBACJ,CAAA;iBACJ;gBACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBAC9F,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,WAAW,CAAC,KAA8B;;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAG,IAAI,0CAAkB,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBAC9F,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,eAAe,CAAC,KAAkC;;YACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAC,KAAK,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAI,8CAAsB,CAAC,KAAK,CAAC,CAAA;YACjD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBACnG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,eAAe,CAAC,KAAkC;;YACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAC,KAAK,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,IAAI,8CAAsB,CAAC,KAAK,CAAC,CAAA;YACjD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBACnG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,iBAAiB,CAAC,KAAoC;;YACxD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAChG,MAAM,OAAO,GAAG,IAAI,gDAAwB,CAAC,KAAK,CAAC,CAAA;YACnD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBACrG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,gBAAgB,CAAC,KAAmC;;YACtD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAC,KAAK,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,IAAI,+CAAuB,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBACpG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,cAAc,CAAC,KAAiC;;YAClD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAC,KAAK,EAAC,EAAE,qCAAgB,CAAC,CAAC;YAC7F,MAAM,OAAO,GAAG,IAAI,6CAAqB,CAAC,KAAK,CAAC,CAAA;YAChD,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,qCAAgB,CAAC,CAAC;gBACnG,MAAM,CAAC,CAAC;aACX;QACL,CAAC;KAAA;IAED;;;;;;;;OAQG;IACG,WAAW,CAAC,SAAiB,EAAE,2BAAmC,EAAE,eAA4C,EAAE,YAA0B,EAAE,cAA4F;;YAC5O,MAAM,UAAU,GAAgB,EAAE,CAAC;YAEnC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;gBAC/B,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBAC/C,SAAS;iBACZ;gBACD,UAAU,CAAC,IAAI,CAAC;oBACZ,YAAY,EAAE,GAAG;oBACjB,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC;iBACvC,CAAC,CAAC;aACN;YAED,MAAM,aAAa,GAAG,KAAK,IAAA,SAAI,GAAE,EAAE,CAAC;YAEpC,0CAA0C;YAC1C,IAAI,aAAa,GAAkB,qCAAa,CAAC,MAAM,CAAC;YAExD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAExD,IAAI,KAAK,KAAK,SAAS,EAAE;gBACrB,aAAa,GAAG,qCAAa,CAAC,MAAM,CAAC;aACxC;YAED,MAAM,IAAI,CAAC,eAAe,CACtB;gBACI,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,2BAA2B;gBACxC,UAAU,EAAE,UAAU;gBACtB,YAAY,EAAE,YAAY;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,aAAa,EAAE,aAAa;aAC/B,CACJ,CAAC;YAEF,sDAAsD;YACtD,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBACzB,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,aAAa;aAC/B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YAElF,QAAQ,MAAM,EAAE;gBACZ,KAAK,0EAAkC,CAAC,MAAM,CAAC;gBAC/C,KAAK,0EAAkC,CAAC,kBAAkB;oBACtD,OAAO,MAAM,CAAC;gBAClB,KAAK,0EAAkC,CAAC,UAAU;oBAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qEAAqE,EAAE,EAAE,EAAE,qCAAgB,CAAC,CAAA;gBACtH;oBACI,MAAM;aACb;YAED,2CAA2C;YAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBACxB,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,aAAa;aAC/B,CAAC,CAAA;YAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACxF,CAAC;KAAA;IAEa,gBAAgB,CAAC,SAAiB,EAAE,aAAqB,EAAE,cAAyC,EAAE,cAA4F;;YAC5M,OAAO,IAAI,EAAE;gBACT,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC1C,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,aAAa;iBAC/B,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAC,QAAQ,EAAC,EAAE,qCAAgB,CAAC,CAAA;gBAEjF,MAAM,MAAM,GAAG,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAE1F,IAAI,MAAM,KAAK,SAAS,EAAE;oBACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBACxD,SAAS;iBACZ;gBAED,QAAQ,MAAM,EAAE;oBACZ,KAAK,uCAAe,CAAC,SAAS,CAAC;oBAC/B,KAAK,uCAAe,CAAC,mBAAmB,CAAC;oBACzC,KAAK,uCAAe,CAAC,kBAAkB,CAAC;oBACxC,KAAK,uCAAe,CAAC,cAAc,CAAC;oBACpC,KAAK,uCAAe,CAAC,kBAAkB,CAAC;oBACxC,KAAK,uCAAe,CAAC,cAAc;wBAC/B,IAAI,cAAc,EAAE;4BAChB,cAAc,CAAC,0EAAkC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;yBAChF;wBACD,SAAS;oBAEb,KAAK,uCAAe,CAAC,gBAAgB,CAAC;oBACtC,KAAK,uCAAe,CAAC,eAAe,CAAC;oBACrC,KAAK,uCAAe,CAAC,eAAe;wBAChC,OAAO,0EAAkC,CAAC,SAAS,CAAC;oBAEpD,KAAK,uCAAe,CAAC,cAAc,CAAC;oBACxC,KAAK,uCAAe,CAAC,QAAQ,CAAC;oBAC9B,KAAK,uCAAe,CAAC,WAAW,CAAC;oBACjC,KAAK,uCAAe,CAAC,aAAa,CAAC;oBACnC,KAAK,uCAAe,CAAC,MAAM;wBACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAC,QAAQ,EAAC,EAAE,qCAAgB,CAAC,CAAA;wBAChF,OAAO,0EAAkC,CAAC,MAAM,CAAC;iBACxD;gBAED,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aAC3D;QACL,CAAC;KAAA;CACJ,CAAA;AAjUY,oDAAoB;+BAApB,oBAAoB;IAHhC,IAAA,YAAG,EAAC,+BAA+B,CAAC;IACpC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;IAeJ,WAAA,IAAA,iBAAM,EAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,uBAAuB,CAAC,CAAA;;GAf3B,oBAAoB,CAiUhC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CloudformationDeploymentStatusEnum = void 0;
|
|
4
|
+
var CloudformationDeploymentStatusEnum;
|
|
5
|
+
(function (CloudformationDeploymentStatusEnum) {
|
|
6
|
+
CloudformationDeploymentStatusEnum["NoChangesToPerform"] = "NO_CHANGES_TO_PERFORM";
|
|
7
|
+
CloudformationDeploymentStatusEnum["Completed"] = "COMPLETED";
|
|
8
|
+
CloudformationDeploymentStatusEnum["Failed"] = "FAILED";
|
|
9
|
+
CloudformationDeploymentStatusEnum["InProgress"] = "IN_PROGRESS";
|
|
10
|
+
})(CloudformationDeploymentStatusEnum || (exports.CloudformationDeploymentStatusEnum = CloudformationDeploymentStatusEnum = {}));
|
|
11
|
+
//# sourceMappingURL=cloudformation-deployment-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudformation-deployment-status.enum.js","sourceRoot":"","sources":["../../../../src/enums/cloudformation-deployment-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAC1C,kFAA4C,CAAA;IAC5C,6DAAuB,CAAA;IACvB,uDAAiB,CAAA;IACjB,gEAA0B,CAAA;AAC9B,CAAC,EALW,kCAAkC,kDAAlC,kCAAkC,QAK7C"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cloudformation-deployment-status.enum"), exports);
|
|
17
18
|
__exportStar(require("./dynamodb-event-type.enum"), exports);
|
|
18
19
|
__exportStar(require("./dynamodb-sort-order.enum"), exports);
|
|
19
20
|
__exportStar(require("./event-bridge-event-type.enum"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,6DAA2C;AAC3C,iEAA+C;AAC/C,0DAAwC;AACxC,uDAAqC;AACrC,qEAAmD;AACnD,wDAAsC;AACtC,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwD;AACxD,6DAA2C;AAC3C,6DAA2C;AAC3C,iEAA+C;AAC/C,0DAAwC;AACxC,uDAAqC;AACrC,qEAAmD;AACnD,wDAAsC;AACtC,wDAAsC"}
|
|
@@ -22,8 +22,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
22
22
|
import { inject, injectable } from "tsyringe";
|
|
23
23
|
import { moduleScoped, tag } from "@pristine-ts/common";
|
|
24
24
|
import { AwsModuleKeyname } from "../aws.module.keyname";
|
|
25
|
-
import { CloudFormationClient as AWSCloudformationClient,
|
|
25
|
+
import { CloudFormationClient as AWSCloudformationClient, CreateChangeSetCommand, CreateStackCommand, DeleteChangeSetCommand, DeleteStackCommand, DescribeChangeSetCommand, DescribeStacksCommand, ExecuteChangeSetCommand, ListChangeSetsCommand, UpdateStackCommand, ChangeSetType, ExecutionStatus, ChangeSetStatus, } from "@aws-sdk/client-cloudformation";
|
|
26
26
|
import { v4 as uuid } from "uuid";
|
|
27
|
+
import { CloudformationDeploymentStatusEnum } from "../enums/cloudformation-deployment-status.enum";
|
|
27
28
|
/**
|
|
28
29
|
* The client to use to interact with AWS Cloudformation. It is a wrapper around the CloudformationClient of @aws-sdk/client-cloudformation.
|
|
29
30
|
* It is tagged so it can be injected using CloudformationClientInterface.
|
|
@@ -256,7 +257,6 @@ let CloudformationClient = class CloudformationClient {
|
|
|
256
257
|
* @param statusCallback
|
|
257
258
|
*/
|
|
258
259
|
deployStack(stackName, cloudformationTemplateS3Url, stackParameters, capabilities, statusCallback) {
|
|
259
|
-
var _a;
|
|
260
260
|
return __awaiter(this, void 0, void 0, function* () {
|
|
261
261
|
const parameters = [];
|
|
262
262
|
for (const key in stackParameters) {
|
|
@@ -269,50 +269,78 @@ let CloudformationClient = class CloudformationClient {
|
|
|
269
269
|
});
|
|
270
270
|
}
|
|
271
271
|
const changeSetName = `p-${uuid()}`;
|
|
272
|
+
// Check if the stack exists or not first.
|
|
273
|
+
let changeSetType = ChangeSetType.UPDATE;
|
|
274
|
+
const stack = yield this.getStackDescription(stackName);
|
|
275
|
+
if (stack === undefined) {
|
|
276
|
+
changeSetType = ChangeSetType.CREATE;
|
|
277
|
+
}
|
|
272
278
|
yield this.createChangeSet({
|
|
273
279
|
StackName: stackName,
|
|
274
280
|
TemplateURL: cloudformationTemplateS3Url,
|
|
275
281
|
Parameters: parameters,
|
|
276
282
|
Capabilities: capabilities,
|
|
277
283
|
ChangeSetName: changeSetName,
|
|
284
|
+
ChangeSetType: changeSetType,
|
|
278
285
|
});
|
|
279
286
|
// Check if there are actual changes in the ChangeSet.
|
|
280
|
-
|
|
287
|
+
yield this.describeChangeSet({
|
|
281
288
|
StackName: stackName,
|
|
282
289
|
ChangeSetName: changeSetName,
|
|
283
290
|
});
|
|
284
|
-
|
|
285
|
-
|
|
291
|
+
const status = yield this.monitorChangeSet(stackName, changeSetName, "changeSet");
|
|
292
|
+
switch (status) {
|
|
293
|
+
case CloudformationDeploymentStatusEnum.Failed:
|
|
294
|
+
case CloudformationDeploymentStatusEnum.NoChangesToPerform:
|
|
295
|
+
return status;
|
|
296
|
+
case CloudformationDeploymentStatusEnum.InProgress:
|
|
297
|
+
this.logHandler.error("The returned status of 'monitorStack' should never be 'InProgress'.", {}, AwsModuleKeyname);
|
|
298
|
+
default:
|
|
299
|
+
break;
|
|
286
300
|
}
|
|
287
301
|
// Execute the changes and start monitoring
|
|
288
302
|
yield this.executeChangeSet({
|
|
289
303
|
StackName: stackName,
|
|
290
304
|
ChangeSetName: changeSetName,
|
|
291
305
|
});
|
|
306
|
+
return this.monitorChangeSet(stackName, changeSetName, "execution", statusCallback);
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
monitorChangeSet(stackName, changeSetName, monitoringType, statusCallback) {
|
|
310
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
292
311
|
while (true) {
|
|
293
312
|
const response = yield this.describeChangeSet({
|
|
294
313
|
StackName: stackName,
|
|
295
314
|
ChangeSetName: changeSetName,
|
|
296
315
|
});
|
|
297
|
-
|
|
316
|
+
this.logHandler.debug("Describe ChangeSet result.", { response }, AwsModuleKeyname);
|
|
317
|
+
const status = monitoringType == "changeSet" ? response.Status : response.ExecutionStatus;
|
|
298
318
|
if (status === undefined) {
|
|
299
319
|
yield new Promise(resolve => setTimeout(resolve, 5000));
|
|
300
320
|
continue;
|
|
301
321
|
}
|
|
302
|
-
switch (
|
|
303
|
-
case
|
|
304
|
-
case
|
|
305
|
-
case
|
|
306
|
-
case
|
|
322
|
+
switch (status) {
|
|
323
|
+
case ExecutionStatus.AVAILABLE:
|
|
324
|
+
case ExecutionStatus.EXECUTE_IN_PROGRESS:
|
|
325
|
+
case ChangeSetStatus.CREATE_IN_PROGRESS:
|
|
326
|
+
case ChangeSetStatus.CREATE_PENDING:
|
|
327
|
+
case ChangeSetStatus.DELETE_IN_PROGRESS:
|
|
328
|
+
case ChangeSetStatus.DELETE_PENDING:
|
|
307
329
|
if (statusCallback) {
|
|
308
|
-
statusCallback(
|
|
330
|
+
statusCallback(CloudformationDeploymentStatusEnum.InProgress, changeSetName);
|
|
309
331
|
}
|
|
310
332
|
continue;
|
|
311
|
-
case
|
|
312
|
-
case
|
|
313
|
-
case
|
|
314
|
-
|
|
315
|
-
|
|
333
|
+
case ExecutionStatus.EXECUTE_COMPLETE:
|
|
334
|
+
case ChangeSetStatus.CREATE_COMPLETE:
|
|
335
|
+
case ChangeSetStatus.DELETE_COMPLETE:
|
|
336
|
+
return CloudformationDeploymentStatusEnum.Completed;
|
|
337
|
+
case ExecutionStatus.EXECUTE_FAILED:
|
|
338
|
+
case ExecutionStatus.OBSOLETE:
|
|
339
|
+
case ExecutionStatus.UNAVAILABLE:
|
|
340
|
+
case ChangeSetStatus.DELETE_FAILED:
|
|
341
|
+
case ChangeSetStatus.FAILED:
|
|
342
|
+
this.logHandler.error("Error with the ChangeSet.", { response }, AwsModuleKeyname);
|
|
343
|
+
return CloudformationDeploymentStatusEnum.Failed;
|
|
316
344
|
}
|
|
317
345
|
yield new Promise(resolve => setTimeout(resolve, 5000));
|
|
318
346
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudformation.client.js","sourceRoot":"","sources":["../../../../src/clients/cloudformation.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAC,YAAY,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"cloudformation.client.js","sourceRoot":"","sources":["../../../../src/clients/cloudformation.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var CloudformationDeploymentStatusEnum;
|
|
2
|
+
(function (CloudformationDeploymentStatusEnum) {
|
|
3
|
+
CloudformationDeploymentStatusEnum["NoChangesToPerform"] = "NO_CHANGES_TO_PERFORM";
|
|
4
|
+
CloudformationDeploymentStatusEnum["Completed"] = "COMPLETED";
|
|
5
|
+
CloudformationDeploymentStatusEnum["Failed"] = "FAILED";
|
|
6
|
+
CloudformationDeploymentStatusEnum["InProgress"] = "IN_PROGRESS";
|
|
7
|
+
})(CloudformationDeploymentStatusEnum || (CloudformationDeploymentStatusEnum = {}));
|
|
8
|
+
//# sourceMappingURL=cloudformation-deployment-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudformation-deployment-status.enum.js","sourceRoot":"","sources":["../../../../src/enums/cloudformation-deployment-status.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAC1C,kFAA4C,CAAA;IAC5C,6DAAuB,CAAA;IACvB,uDAAiB,CAAA;IACjB,gEAA0B,CAAA;AAC9B,CAAC,EALW,kCAAkC,KAAlC,kCAAkC,QAK7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LogHandlerInterface } from "@pristine-ts/logging";
|
|
2
|
-
import { CloudFormationClient as AWSCloudformationClient, CloudFormationClientConfig,
|
|
2
|
+
import { Capability, CloudFormationClient as AWSCloudformationClient, CloudFormationClientConfig, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, CreateStackCommandInput, CreateStackCommandOutput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput, Stack, UpdateStackCommandInput, UpdateStackCommandOutput } from "@aws-sdk/client-cloudformation";
|
|
3
3
|
import { CloudformationClientInterface } from "../interfaces/cloudformation-client.interface";
|
|
4
|
+
import { CloudformationDeploymentStatusEnum } from "../enums/cloudformation-deployment-status.enum";
|
|
4
5
|
/**
|
|
5
6
|
* The client to use to interact with AWS Cloudformation. It is a wrapper around the CloudformationClient of @aws-sdk/client-cloudformation.
|
|
6
7
|
* It is tagged so it can be injected using CloudformationClientInterface.
|
|
@@ -89,5 +90,6 @@ export declare class CloudformationClient implements CloudformationClientInterfa
|
|
|
89
90
|
*/
|
|
90
91
|
deployStack(stackName: string, cloudformationTemplateS3Url: string, stackParameters: {
|
|
91
92
|
[key in string]: string;
|
|
92
|
-
}, capabilities: Capability[], statusCallback?: (status:
|
|
93
|
+
}, capabilities: Capability[], statusCallback?: (status: CloudformationDeploymentStatusEnum, changeSetName: string) => void): Promise<CloudformationDeploymentStatusEnum>;
|
|
94
|
+
private monitorChangeSet;
|
|
93
95
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CloudFormationClient as AWSCloudformationClient } from "@aws-sdk/client-cloudformation/dist-types/CloudFormationClient";
|
|
2
|
-
import { CreateStackCommandInput, CreateStackCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, Stack, UpdateStackCommandInput, UpdateStackCommandOutput, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput, Capability
|
|
2
|
+
import { CreateStackCommandInput, CreateStackCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, Stack, UpdateStackCommandInput, UpdateStackCommandOutput, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput, Capability } from "@aws-sdk/client-cloudformation";
|
|
3
3
|
import { CloudFormationClientConfig } from "@aws-sdk/client-cloudformation/dist-types/ts3.4";
|
|
4
|
+
import { CloudformationDeploymentStatusEnum } from "../enums/cloudformation-deployment-status.enum";
|
|
4
5
|
/**
|
|
5
6
|
* The CloudformationClient Interface defines the methods that a Cloudformation client must implement.
|
|
6
7
|
* When injecting the Cloudformation client the 'CloudformationClientInterface' tag should be used.
|
|
@@ -75,5 +76,5 @@ export interface CloudformationClientInterface {
|
|
|
75
76
|
*/
|
|
76
77
|
deployStack(stackName: string, cloudformationTemplateS3Url: string, stackParameters: {
|
|
77
78
|
[key in string]: string;
|
|
78
|
-
}, capabilities: Capability[], statusCallback?: (status:
|
|
79
|
+
}, capabilities: Capability[], statusCallback?: (status: CloudformationDeploymentStatusEnum, changeSetName: string) => void): Promise<CloudformationDeploymentStatusEnum>;
|
|
79
80
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pristine-ts/aws",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.265",
|
|
4
4
|
"description": "",
|
|
5
5
|
"module": "dist/lib/esm/aws.module.js",
|
|
6
6
|
"main": "dist/lib/cjs/aws.module.js",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"@awslabs-community-fork/dynamodb-data-mapper": "^0.7.13",
|
|
30
30
|
"@awslabs-community-fork/dynamodb-data-marshaller": "^0.7.13",
|
|
31
31
|
"@awslabs-community-fork/dynamodb-expressions": "^0.7.13",
|
|
32
|
-
"@pristine-ts/common": "^0.0.
|
|
33
|
-
"@pristine-ts/core": "^0.0.
|
|
34
|
-
"@pristine-ts/logging": "^0.0.
|
|
35
|
-
"@pristine-ts/networking": "^0.0.
|
|
36
|
-
"@pristine-ts/security": "^0.0.
|
|
32
|
+
"@pristine-ts/common": "^0.0.265",
|
|
33
|
+
"@pristine-ts/core": "^0.0.265",
|
|
34
|
+
"@pristine-ts/logging": "^0.0.265",
|
|
35
|
+
"@pristine-ts/networking": "^0.0.265",
|
|
36
|
+
"@pristine-ts/security": "^0.0.265"
|
|
37
37
|
},
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"src/*.{js,ts}"
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "c372d718520eaecae401d611eaa558c227df678d"
|
|
76
76
|
}
|