@webda/aws 4.0.0-beta.1 → 4.0.0-beta.2

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 (104) hide show
  1. package/lib/deployers/cloudformation.d.ts +7 -6
  2. package/lib/deployers/cloudformation.d.ts.map +1 -0
  3. package/lib/deployers/cloudformation.js +37 -37
  4. package/lib/deployers/cloudformation.js.map +1 -1
  5. package/lib/deployers/cloudformation.spec.d.ts +1 -0
  6. package/lib/deployers/cloudformation.spec.d.ts.map +1 -0
  7. package/lib/deployers/cloudformation.spec.js +18 -18
  8. package/lib/deployers/cloudformation.spec.js.map +1 -1
  9. package/lib/deployers/index.d.ts +1 -0
  10. package/lib/deployers/index.d.ts.map +1 -0
  11. package/lib/deployers/index.js +43 -43
  12. package/lib/deployers/index.js.map +1 -1
  13. package/lib/deployers/index.spec.d.ts +1 -0
  14. package/lib/deployers/index.spec.d.ts.map +1 -0
  15. package/lib/deployers/index.spec.js +26 -26
  16. package/lib/deployers/index.spec.js.map +1 -1
  17. package/lib/deployers/lambda-entrypoint.d.ts +2 -1
  18. package/lib/deployers/lambda-entrypoint.d.ts.map +1 -0
  19. package/lib/deployers/lambda-entrypoint.js +6 -4
  20. package/lib/deployers/lambda-entrypoint.js.map +1 -1
  21. package/lib/deployers/lambdapackager.d.ts +1 -0
  22. package/lib/deployers/lambdapackager.d.ts.map +1 -0
  23. package/lib/deployers/lambdapackager.spec.d.ts +1 -0
  24. package/lib/deployers/lambdapackager.spec.d.ts.map +1 -0
  25. package/lib/deployers/lambdapackager.spec.js +1 -1
  26. package/lib/deployers/lambdapackager.spec.js.map +1 -1
  27. package/lib/index.d.ts +1 -0
  28. package/lib/index.d.ts.map +1 -0
  29. package/lib/index.spec.d.ts +1 -0
  30. package/lib/index.spec.d.ts.map +1 -0
  31. package/lib/index.spec.js +2 -2
  32. package/lib/index.spec.js.map +1 -1
  33. package/lib/services/aws-mixin.d.ts +2 -1
  34. package/lib/services/aws-mixin.d.ts.map +1 -0
  35. package/lib/services/cloudwatchlogger.d.ts +2 -1
  36. package/lib/services/cloudwatchlogger.d.ts.map +1 -0
  37. package/lib/services/cloudwatchlogger.js +7 -7
  38. package/lib/services/cloudwatchlogger.js.map +1 -1
  39. package/lib/services/cloudwatchlogger.spec.d.ts +1 -0
  40. package/lib/services/cloudwatchlogger.spec.d.ts.map +1 -0
  41. package/lib/services/cloudwatchlogger.spec.js +2 -2
  42. package/lib/services/cloudwatchlogger.spec.js.map +1 -1
  43. package/lib/services/dynamodb.d.ts +3 -2
  44. package/lib/services/dynamodb.d.ts.map +1 -0
  45. package/lib/services/dynamodb.js +40 -40
  46. package/lib/services/dynamodb.js.map +1 -1
  47. package/lib/services/dynamodb.spec.d.ts +6 -5
  48. package/lib/services/dynamodb.spec.d.ts.map +1 -0
  49. package/lib/services/dynamodb.spec.js +35 -30
  50. package/lib/services/dynamodb.spec.js.map +1 -1
  51. package/lib/services/index.d.ts +3 -2
  52. package/lib/services/index.d.ts.map +1 -0
  53. package/lib/services/lambdacaller.d.ts +2 -1
  54. package/lib/services/lambdacaller.d.ts.map +1 -0
  55. package/lib/services/lambdacaller.spec.d.ts +1 -0
  56. package/lib/services/lambdacaller.spec.d.ts.map +1 -0
  57. package/lib/services/lambdacaller.spec.js +1 -1
  58. package/lib/services/lambdacaller.spec.js.map +1 -1
  59. package/lib/services/lambdaserver.d.ts +1 -0
  60. package/lib/services/lambdaserver.d.ts.map +1 -0
  61. package/lib/services/lambdaserver.js +17 -18
  62. package/lib/services/lambdaserver.js.map +1 -1
  63. package/lib/services/lambdaserver.spec.d.ts +1 -0
  64. package/lib/services/lambdaserver.spec.d.ts.map +1 -0
  65. package/lib/services/lambdaserver.spec.js +23 -23
  66. package/lib/services/lambdaserver.spec.js.map +1 -1
  67. package/lib/services/route53.d.ts +1 -0
  68. package/lib/services/route53.d.ts.map +1 -0
  69. package/lib/services/route53.js +10 -10
  70. package/lib/services/route53.js.map +1 -1
  71. package/lib/services/route53.spec.d.ts +1 -0
  72. package/lib/services/route53.spec.d.ts.map +1 -0
  73. package/lib/services/route53.spec.js +3 -3
  74. package/lib/services/route53.spec.js.map +1 -1
  75. package/lib/services/s3binary.d.ts +2 -1
  76. package/lib/services/s3binary.d.ts.map +1 -0
  77. package/lib/services/s3binary.js +24 -23
  78. package/lib/services/s3binary.js.map +1 -1
  79. package/lib/services/s3binary.spec.d.ts +1 -0
  80. package/lib/services/s3binary.spec.d.ts.map +1 -0
  81. package/lib/services/s3binary.spec.js +63 -48
  82. package/lib/services/s3binary.spec.js.map +1 -1
  83. package/lib/services/secretsmanager.d.ts +2 -1
  84. package/lib/services/secretsmanager.d.ts.map +1 -0
  85. package/lib/services/secretsmanager.js +2 -2
  86. package/lib/services/secretsmanager.js.map +1 -1
  87. package/lib/services/secretsmanager.spec.d.ts +1 -0
  88. package/lib/services/secretsmanager.spec.d.ts.map +1 -0
  89. package/lib/services/secretsmanager.spec.js +1 -1
  90. package/lib/services/secretsmanager.spec.js.map +1 -1
  91. package/lib/services/sqsqueue.d.ts +2 -1
  92. package/lib/services/sqsqueue.d.ts.map +1 -0
  93. package/lib/services/sqsqueue.js +7 -7
  94. package/lib/services/sqsqueue.js.map +1 -1
  95. package/lib/services/sqsqueue.spec.d.ts +1 -0
  96. package/lib/services/sqsqueue.spec.d.ts.map +1 -0
  97. package/lib/services/sqsqueue.spec.js +15 -10
  98. package/lib/services/sqsqueue.spec.js.map +1 -1
  99. package/lib/shell.d.ts +1 -0
  100. package/lib/shell.d.ts.map +1 -0
  101. package/lib/shell.js +1 -1
  102. package/lib/shell.js.map +1 -1
  103. package/package.json +18 -19
  104. package/webda.module.json +4 -106
@@ -59,7 +59,7 @@ interface CloudFormationDeployerResources extends AWSDeployerResources {
59
59
  APIGateway?: {
60
60
  Name?: string;
61
61
  };
62
- APIGatewayDeployment?: {};
62
+ APIGatewayDeployment?: object;
63
63
  APIGatewayStage?: {
64
64
  StageName?: string;
65
65
  };
@@ -77,9 +77,9 @@ interface CloudFormationDeployerResources extends AWSDeployerResources {
77
77
  RestApiId?: string;
78
78
  Stage?: string;
79
79
  };
80
- APIGatewayV2?: {};
81
- APIGatewayV2Deployment?: {};
82
- APIGatewayV2Stage?: {};
80
+ APIGatewayV2?: unknown;
81
+ APIGatewayV2Deployment?: unknown;
82
+ APIGatewayV2Stage?: unknown;
83
83
  APIGatewayV2Domain?: {
84
84
  DomainName: string;
85
85
  DomainNameConfigurations?: {
@@ -110,7 +110,7 @@ interface CloudFormationDeployerResources extends AWSDeployerResources {
110
110
  RoleName?: any;
111
111
  };
112
112
  StackOptions?: any;
113
- Resources?: {};
113
+ Resources?: unknown;
114
114
  /**
115
115
  * Policy to create
116
116
  *
@@ -183,7 +183,7 @@ interface CloudFormationDeployerResources extends AWSDeployerResources {
183
183
  */
184
184
  Timeout?: number;
185
185
  };
186
- Fargate?: {};
186
+ Fargate?: object;
187
187
  Docker?: AWSDockerResources;
188
188
  /**
189
189
  * Deploy static website
@@ -314,3 +314,4 @@ export default class CloudFormationDeployer extends AWSDeployer<CloudFormationDe
314
314
  static init(console: any): Promise<-1 | 0>;
315
315
  }
316
316
  export { CloudFormationDeployer, LAMBDA_LATEST_VERSION };
317
+ //# sourceMappingURL=cloudformation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudformation.d.ts","sourceRoot":"","sources":["../../src/deployers/cloudformation.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
21
21
  async defaultResources() {
22
22
  var _a, _b, _c;
23
23
  await super.defaultResources();
24
- let packageDesc = this.getApplication().getPackageDescription();
24
+ const packageDesc = this.getApplication().getPackageDescription();
25
25
  packageDesc.webda = packageDesc.webda || {};
26
26
  packageDesc.webda.aws = packageDesc.webda.aws || {};
27
27
  if (this.resources.ResourcesToImport) {
@@ -137,7 +137,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
137
137
  }
138
138
  }
139
139
  if (conf.CloudFront) {
140
- let DistributionConfig = conf.CloudFront.DistributionConfig || {};
140
+ const DistributionConfig = conf.CloudFront.DistributionConfig || {};
141
141
  DistributionConfig.Aliases = DistributionConfig.Aliases || [];
142
142
  if (DistributionConfig.Aliases.indexOf(conf.DomainName) < 0) {
143
143
  DistributionConfig.Aliases.push(conf.DomainName);
@@ -176,7 +176,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
176
176
  this.resources.Docker.includeRepository =
177
177
  this.resources.Docker.includeRepository === undefined ? true : this.resources.Docker.includeRepository;
178
178
  if (this.resources.Docker.includeRepository && this.resources.Docker.tag) {
179
- let accountId = (await this.getAWSIdentity()).Account;
179
+ const accountId = (await this.getAWSIdentity()).Account;
180
180
  this.resources.Docker.tag =
181
181
  accountId + ".dkr.ecr.eu-west-1.amazonaws.com/${package.webda.aws.Repository}:" + this.resources.Docker.tag;
182
182
  }
@@ -193,7 +193,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
193
193
  this.logger.log("DEBUG", "Check assets bucket", this.resources.AssetsBucket);
194
194
  await this.createBucket(this.resources.AssetsBucket);
195
195
  // Check if we need OpenAPI export
196
- let openapi = await this.completeOpenAPI(this.manager.getWebda().exportOpenAPI(false));
196
+ const openapi = await this.completeOpenAPI(this.manager.getWebda().exportOpenAPI(false));
197
197
  this.openapiS3Object = this.getStringified(openapi, this.resources.OpenAPIFileName);
198
198
  await this.putFilesOnBucket(this.resources.AssetsBucket, [this.openapiS3Object]);
199
199
  // If APIGatewayImportOpenApi update REST API
@@ -210,14 +210,14 @@ export default class CloudFormationDeployer extends AWSDeployer {
210
210
  // Upload any Statics
211
211
  await this.uploadStatics();
212
212
  // Dynamicly call each methods
213
- for (let i in this.resources) {
213
+ for (const i in this.resources) {
214
214
  if (this[i] && typeof this[i] === "function") {
215
215
  this.logger.log("TRACE", "Add CloudFormation Resource", i);
216
216
  await this[i]();
217
217
  }
218
218
  }
219
219
  // Add any static
220
- for (let i in this.resources.Statics) {
220
+ for (const i in this.resources.Statics) {
221
221
  this.logger.log("TRACE", "Add Static Resource", i);
222
222
  await this.createStatic(this.resources.Statics[i]);
223
223
  }
@@ -232,7 +232,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
232
232
  * Upload any asset to bucket
233
233
  */
234
234
  async uploadStatics() {
235
- for (let i in this.resources.Statics) {
235
+ for (const i in this.resources.Statics) {
236
236
  const { Source, AssetsPath } = this.resources.Statics[i];
237
237
  await this.putFolderOnBucket(this.resources.AssetsBucket, this.manager.getApplication().getAppPath(Source), AssetsPath);
238
238
  }
@@ -241,7 +241,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
241
241
  const { DomainName, CloudFront, Bucket } = info;
242
242
  info.Bucket = info.Bucket || {};
243
243
  // Create bucket
244
- let resPrefix = `Static${DomainName.replace(/\./g, "")}`;
244
+ const resPrefix = `Static${DomainName.replace(/\./g, "")}`;
245
245
  if (Bucket) {
246
246
  this.template.Resources[`${resPrefix}Bucket`] = {
247
247
  Type: "AWS::S3::Bucket",
@@ -274,7 +274,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
274
274
  * Copy the CloudFormation template to the Assets bucket
275
275
  */
276
276
  async sendCloudFormationTemplate() {
277
- let res = this.getStringified(this.template, this.resources.FileName);
277
+ const res = this.getStringified(this.template, this.resources.FileName);
278
278
  this.result.CloudFormation = {
279
279
  Bucket: this.resources.AssetsBucket,
280
280
  Key: res.key
@@ -287,7 +287,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
287
287
  * @returns
288
288
  */
289
289
  async deleteCloudFormation() {
290
- let cloudformation = new CloudFormation({});
290
+ const cloudformation = new CloudFormation({});
291
291
  await cloudformation.deleteStack({ StackName: this.resources.StackName });
292
292
  return this.waitFor(async (resolve) => {
293
293
  try {
@@ -309,7 +309,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
309
309
  * @returns
310
310
  */
311
311
  async createCloudFormationDNSEntry(ref, domain, HostedZoneId) {
312
- let zone = await this.getZoneForDomainName(domain);
312
+ const zone = await this.getZoneForDomainName(domain);
313
313
  if (!zone) {
314
314
  this.logger.log("WARN", "Cannot find Route53 zone for", domain, ", you will have to create manually the CNAME");
315
315
  return;
@@ -327,7 +327,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
327
327
  };
328
328
  }
329
329
  async importOpenApi(openapi) {
330
- let apigateway = new APIGateway({});
330
+ const apigateway = new APIGateway({});
331
331
  console.log("Creating API Gateway");
332
332
  await apigateway.putRestApi({
333
333
  body: Buffer.from(JSON.stringify(openapi)),
@@ -342,7 +342,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
342
342
  * @returns
343
343
  */
344
344
  async createCloudFormationChangeSet(cloudformation) {
345
- let changeSetParams = {
345
+ const changeSetParams = {
346
346
  ...this.resources.StackOptions,
347
347
  StackName: this.resources.StackName,
348
348
  ChangeSetName: "WebdaCloudFormationDeployer",
@@ -375,7 +375,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
375
375
  }
376
376
  else if (err.message.endsWith(" state and can not be updated.")) {
377
377
  await this.waitFor(async (resolve) => {
378
- let res = await cloudformation.describeStacks({
378
+ const res = await cloudformation.describeStacks({
379
379
  StackName: this.resources.StackName
380
380
  });
381
381
  if (res.Stacks.length === 0) {
@@ -420,13 +420,13 @@ export default class CloudFormationDeployer extends AWSDeployer {
420
420
  * @returns
421
421
  */
422
422
  async createCloudFormation() {
423
- let cloudformation = new CloudFormation({});
424
- let changeSet = await this.createCloudFormationChangeSet(cloudformation);
423
+ const cloudformation = new CloudFormation({});
424
+ const changeSet = await this.createCloudFormationChangeSet(cloudformation);
425
425
  // Wait for change set
426
426
  this.logger.log("TRACE", `ChangeSet: ${changeSet}`);
427
427
  // It will trigger an exception if timeout
428
- let changes = await this.waitFor(async (resolve) => {
429
- let localChanges = await cloudformation.describeChangeSet({
428
+ const changes = await this.waitFor(async (resolve) => {
429
+ const localChanges = await cloudformation.describeChangeSet({
430
430
  ChangeSetName: "WebdaCloudFormationDeployer",
431
431
  StackName: this.resources.StackName
432
432
  });
@@ -459,7 +459,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
459
459
  let i = 0;
460
460
  let Timeout = true;
461
461
  do {
462
- let events = (await cloudformation.describeStackEvents({
462
+ const events = (await cloudformation.describeStackEvents({
463
463
  StackName: this.resources.StackName
464
464
  })).StackEvents;
465
465
  let display = lastEvent ? false : true;
@@ -502,7 +502,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
502
502
  let restApiId;
503
503
  // Retrieve resources
504
504
  do {
505
- let res = await cloudformation.listStackResources({
505
+ const res = await cloudformation.listStackResources({
506
506
  StackName: this.resources.StackName,
507
507
  NextToken
508
508
  });
@@ -534,13 +534,13 @@ export default class CloudFormationDeployer extends AWSDeployer {
534
534
  await new Promise(resolve => setTimeout(resolve, sec * 1000));
535
535
  }
536
536
  async Resources() {
537
- let services = this.manager.getWebda().getServices();
537
+ const services = this.manager.getWebda().getServices();
538
538
  // Build policy
539
- for (let i in services) {
539
+ for (const i in services) {
540
540
  if ("getCloudFormation" in services[i]) {
541
541
  // Update to match recuring policy - might need to split if policy too big
542
- let res = services[i].getCloudFormation(this);
543
- for (let j in res) {
542
+ const res = services[i].getCloudFormation(this);
543
+ for (const j in res) {
544
544
  this.template.Resources[`Service${i}_${j}`] = res[j];
545
545
  }
546
546
  }
@@ -551,15 +551,15 @@ export default class CloudFormationDeployer extends AWSDeployer {
551
551
  }
552
552
  async completeOpenAPI(openapi) {
553
553
  openapi.info.title = this.resources.OpenAPITitle;
554
- let info = await this.getAWSIdentity();
555
- let arn = `arn:aws:lambda:${this.getRegion()}:${info.Account}:function:${this.resources.Lambda.FunctionName}`;
556
- for (let p in openapi.paths) {
554
+ const info = await this.getAWSIdentity();
555
+ const arn = `arn:aws:lambda:${this.getRegion()}:${info.Account}:function:${this.resources.Lambda.FunctionName}`;
556
+ for (const p in openapi.paths) {
557
557
  // Not using mockCors as the {@link RequestFilter.checkRequest} can be dynamic
558
558
  // Invalid mapping expression parameter specified: method.response.header.Access-Control-Allow-Credentials
559
559
  if (!openapi.paths[p]["options"]) {
560
560
  openapi.paths[p]["options"] = {};
561
561
  }
562
- for (let m in openapi.paths[p]) {
562
+ for (const m in openapi.paths[p]) {
563
563
  openapi.paths[p][m]["x-amazon-apigateway-integration"] = {
564
564
  httpMethod: "POST",
565
565
  uri: `arn:aws:apigateway:${this.getRegion()}:lambda:path/2015-03-31/functions/${arn}/invocations`,
@@ -685,7 +685,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
685
685
  await this.createCloudFormationDNSEntry({ "Fn::GetAtt": ["APIGatewayDomain", "DistributionDomainName"] }, this.resources.APIGatewayDomain.DomainName, { "Fn::GetAtt": ["APIGatewayDomain", "DistributionHostedZoneId"] });
686
686
  }
687
687
  async Policy() {
688
- let PolicyDocument = JSON.stringify(await this.getPolicyDocument(this.resources.Policy.PolicyDocument.Statement), undefined, 2);
688
+ const PolicyDocument = JSON.stringify(await this.getPolicyDocument(this.resources.Policy.PolicyDocument.Statement), undefined, 2);
689
689
  this.template.Resources.Policy = {
690
690
  Type: "AWS::IAM::Policy",
691
691
  Properties: {
@@ -702,7 +702,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
702
702
  }
703
703
  async Role() {
704
704
  // add auto generation
705
- let AssumeRolePolicyDocument = JSON.stringify(this.resources.Role.AssumeRolePolicyDocument, undefined, 2);
705
+ const AssumeRolePolicyDocument = JSON.stringify(this.resources.Role.AssumeRolePolicyDocument, undefined, 2);
706
706
  this.template.Resources.Role = {
707
707
  Type: "AWS::IAM::Role",
708
708
  Properties: {
@@ -744,7 +744,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
744
744
  async generateLambdaPackage() {
745
745
  const { AssetsBucket: S3Bucket, LambdaPackager, AssetsPrefix = "", KeepPackage = false } = this.resources;
746
746
  const { zipPath: ZipPath } = LambdaPackager;
747
- let result = {
747
+ const result = {
748
748
  S3Bucket,
749
749
  S3Key: AssetsPrefix + path.basename(ZipPath)
750
750
  };
@@ -777,14 +777,14 @@ export default class CloudFormationDeployer extends AWSDeployer {
777
777
  * @returns
778
778
  */
779
779
  static async init(console) {
780
- let packageDescr = console.app.getAppPath("package.json");
780
+ const packageDescr = console.app.getAppPath("package.json");
781
781
  if (!fs.existsSync(packageDescr)) {
782
782
  console.log("ERROR", "package.json not found");
783
783
  return -1;
784
784
  }
785
- let pkg = JSONUtils.loadFile(packageDescr);
785
+ const pkg = JSONUtils.loadFile(packageDescr);
786
786
  pkg.webda = pkg.webda || {};
787
- let sts = new STS({});
787
+ const sts = new STS({});
788
788
  let identity;
789
789
  try {
790
790
  identity = await sts.getCallerIdentity({});
@@ -793,8 +793,8 @@ export default class CloudFormationDeployer extends AWSDeployer {
793
793
  console.log("ERROR", "Cannot retrieve your AWS credentials, make sure to have a correct AWS setup");
794
794
  return -1;
795
795
  }
796
- let pkgName = (pkg.name || "").replace(/@/g, "").replace(/\//g, "-");
797
- let StackName = `webda-${pkgName}-global`;
796
+ const pkgName = (pkg.name || "").replace(/@/g, "").replace(/\//g, "-");
797
+ const StackName = `webda-${pkgName}-global`;
798
798
  if (!pkg.webda.aws) {
799
799
  console.log("INFO", `This will create a small CloudFormation on your AWS account (${identity.Account}) and region (${sts.config.region || process.env.AWS_DEFAULT_REGION || "us-east-1"})`);
800
800
  console.log("INFO", `The stack will be called ${StackName}`);
@@ -802,7 +802,7 @@ export default class CloudFormationDeployer extends AWSDeployer {
802
802
  AssetsBucket: `webda-${pkgName}-assets`,
803
803
  Repository: `webda-${pkgName}`
804
804
  };
805
- let cloudformation = new CloudFormation({});
805
+ const cloudformation = new CloudFormation({});
806
806
  await cloudformation.createStack({
807
807
  StackName,
808
808
  TemplateBody: JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"cloudformation.js","sourceRoot":"","sources":["../../src/deployers/cloudformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudformation.js","sourceRoot":"","sources":["../../src/deployers/cloudformation.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=cloudformation.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudformation.spec.d.ts","sourceRoot":"","sources":["../../src/deployers/cloudformation.spec.ts"],"names":[],"mappings":""}
@@ -22,7 +22,7 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
22
22
  this.mocks = {};
23
23
  }
24
24
  async getDeployer(manager) {
25
- let deployer = await manager.getDeployer("WebdaSampleApplication");
25
+ const deployer = await manager.getDeployer("WebdaSampleApplication");
26
26
  MockAWSDeployerMethods(deployer, this);
27
27
  return deployer;
28
28
  }
@@ -135,7 +135,7 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
135
135
  });
136
136
  }
137
137
  async testDeploy() {
138
- let resources = this.deployer.resources;
138
+ const resources = this.deployer.resources;
139
139
  resources.Lambda = {};
140
140
  resources.Resources = {};
141
141
  resources.APIGateway = {};
@@ -149,10 +149,10 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
149
149
  resources.CustomResources = {
150
150
  MyResource: { Type: "Test" }
151
151
  };
152
- let uploadStatics = sinon.stub(this.deployer, "uploadStatics");
153
- let createCloudFormation = sinon.stub(this.deployer, "createCloudFormation");
154
- let sendCloudFormation = sinon.stub(this.deployer, "sendCloudFormationTemplate");
155
- let generateLambdaPackage = sinon.stub(this.deployer, "generateLambdaPackage");
152
+ const uploadStatics = sinon.stub(this.deployer, "uploadStatics");
153
+ const createCloudFormation = sinon.stub(this.deployer, "createCloudFormation");
154
+ const sendCloudFormation = sinon.stub(this.deployer, "sendCloudFormationTemplate");
155
+ const generateLambdaPackage = sinon.stub(this.deployer, "generateLambdaPackage");
156
156
  sendCloudFormation.callsFake(async () => {
157
157
  this.deployer.result.CloudFormation = {
158
158
  Bucket: "plop",
@@ -213,7 +213,7 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
213
213
  }
214
214
  async testInit() {
215
215
  let logs = [];
216
- let console = {
216
+ const console = {
217
217
  app: {
218
218
  getAppPath: () => {
219
219
  return "./noexisting";
@@ -223,17 +223,17 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
223
223
  logs.push(args);
224
224
  }
225
225
  };
226
- let caller = sinon.stub().callsFake(async () => {
226
+ const caller = sinon.stub().callsFake(async () => {
227
227
  if (caller.callCount === 1) {
228
228
  throw new Error("Bad");
229
229
  }
230
230
  return { Account: "myAccount" };
231
231
  });
232
- let saver = sinon.stub(JSONUtils, "saveFile").callsFake(() => { });
232
+ const saver = sinon.stub(JSONUtils, "saveFile").callsFake(() => { });
233
233
  const mocks = [];
234
234
  try {
235
235
  mocks.push(mockClient(STS).on(GetCallerIdentityCommand).callsFake(caller));
236
- let stub = sinon.stub().resolves({});
236
+ const stub = sinon.stub().resolves({});
237
237
  mocks.push(mockClient(CloudFormation).on(CreateStackCommand).callsFake(stub));
238
238
  assert.ok((await CloudFormationDeployer.init(console)) === -1);
239
239
  assert.deepStrictEqual(logs[0], ["ERROR", "package.json not found"]);
@@ -257,8 +257,8 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
257
257
  }
258
258
  }
259
259
  async createCloudFormation() {
260
- let describeChangeSetResult = { Status: "FAILED" };
261
- let describeStackEventsResult = {
260
+ const describeChangeSetResult = { Status: "FAILED" };
261
+ const describeStackEventsResult = {
262
262
  StackEvents: [
263
263
  {
264
264
  EventId: "123",
@@ -267,7 +267,7 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
267
267
  }
268
268
  ]
269
269
  };
270
- let logs = sinon.stub(this.deployer.logger, "log");
270
+ const logs = sinon.stub(this.deployer.logger, "log");
271
271
  sinon.stub(this.deployer, "waitFor").callsFake(callback => {
272
272
  return new Promise((resolve, reject) => {
273
273
  callback(resolve, reject);
@@ -282,7 +282,7 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
282
282
  .resolves({})
283
283
  .on(DescribeStackEventsCommand)
284
284
  .callsFake(async () => {
285
- let res = {
285
+ const res = {
286
286
  ...describeStackEventsResult,
287
287
  StackEvents: [...describeStackEventsResult.StackEvents]
288
288
  };
@@ -315,7 +315,7 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
315
315
  });
316
316
  mocks.push(mock);
317
317
  try {
318
- let createDeployment = sinon.stub().resolves({});
318
+ const createDeployment = sinon.stub().resolves({});
319
319
  mocks.push(mockClient(APIGateway).on(CreateDeploymentCommand).callsFake(createDeployment));
320
320
  // 'FAILED' scenario with unknown error
321
321
  logs.resetHistory();
@@ -368,7 +368,7 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
368
368
  await this.deployer.uploadStatics();
369
369
  }
370
370
  async generateLambdaPackage() {
371
- let run = sinon.stub(this.deployer.manager, "run").callsFake(async () => { });
371
+ const run = sinon.stub(this.deployer.manager, "run").callsFake(async () => { });
372
372
  try {
373
373
  this.deployer.resources.KeepPackage = true;
374
374
  await this.deployer.generateLambdaPackage();
@@ -394,12 +394,12 @@ let CloudFormationDeployerTest = class CloudFormationDeployerTest extends Deploy
394
394
  .resolves({});
395
395
  sinon.stub(this.deployer, "deleteCloudFormation").callsFake(async () => { });
396
396
  try {
397
- let cloudformation = new CloudFormation({ credentials: defaultCreds });
397
+ const cloudformation = new CloudFormation({ credentials: defaultCreds });
398
398
  // Nominal case
399
399
  await this.deployer.createCloudFormationChangeSet(cloudformation);
400
400
  // With error
401
401
  let testError;
402
- let errorFirst = sinon.stub().callsFake(async () => {
402
+ const errorFirst = sinon.stub().callsFake(async () => {
403
403
  if (errorFirst.callCount === 1) {
404
404
  throw testError;
405
405
  }