sst 2.43.8 → 2.44.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.
@@ -434,6 +434,11 @@ async function canSkipDeploy(deployStackOptions, cloudFormationStack, parameterC
434
434
  debug(`${deployName}: tags have changed`);
435
435
  return false;
436
436
  }
437
+ // Notification arns have changed
438
+ if (!arrayEquals(cloudFormationStack.notificationArns, deployStackOptions.notificationArns ?? [])) {
439
+ debug(`${deployName}: notification arns have changed`);
440
+ return false;
441
+ }
437
442
  // Termination protection has been updated
438
443
  if (!!deployStackOptions.stack.terminationProtection !==
439
444
  !!cloudFormationStack.terminationProtection) {
@@ -476,3 +481,6 @@ function compareTags(a, b) {
476
481
  function suffixWithErrors(msg, errors) {
477
482
  return errors && errors.length > 0 ? `${msg}: ${errors.join(", ")}` : msg;
478
483
  }
484
+ function arrayEquals(a, b) {
485
+ return (a.every((item) => b.includes(item)) && b.every((item) => a.includes(item)));
486
+ }
@@ -10,7 +10,8 @@ import { EnvironmentResourcesRegistry, } from "sst-aws-cdk/lib/api/environment-r
10
10
  import { loadCurrentTemplateWithNestedStacks, loadCurrentTemplate, } from "sst-aws-cdk/lib/api/nested-stack-helpers.js";
11
11
  import { CloudFormationStack, } from "sst-aws-cdk/lib/api/util/cloudformation.js";
12
12
  import { replaceEnvPlaceholders } from "sst-aws-cdk/lib/api/util/placeholders.js";
13
- import { makeBodyParameterAndUpload } from "sst-aws-cdk/lib/api/util/template-body-parameter.js";
13
+ import { makeBodyParameter } from "sst-aws-cdk/lib/api/util/template-body-parameter.js";
14
+ import { AssetManifestBuilder } from "sst-aws-cdk/lib/util/asset-manifest-builder.js";
14
15
  /**
15
16
  * Scope for a single set of deployments from a set of Cloud Assembly Artifacts
16
17
  *
@@ -51,7 +52,7 @@ export class Deployments {
51
52
  const { stackSdk, resolvedEnvironment, envResources } = await this.prepareSdkFor(stackArtifact, undefined, Mode.ForReading);
52
53
  const cfn = stackSdk.cloudFormation();
53
54
  // Upload the template, if necessary, before passing it to CFN
54
- const cfnParam = await makeBodyParameterAndUpload(stackArtifact, resolvedEnvironment, envResources, this.sdkProvider, stackSdk);
55
+ const cfnParam = await makeBodyParameter(stackArtifact, resolvedEnvironment, new AssetManifestBuilder(), envResources, stackSdk);
55
56
  const response = await cfn.getTemplateSummary(cfnParam).promise();
56
57
  if (!response.ResourceIdentifierSummaries) {
57
58
  debug('GetTemplateSummary API call did not return "ResourceIdentifierSummaries"');
@@ -175,6 +176,7 @@ export class Deployments {
175
176
  const stackSdk = await this.cachedSdkForEnvironment(resolvedEnvironment, mode, {
176
177
  assumeRoleArn: arns.assumeRoleArn,
177
178
  assumeRoleExternalId: stack.assumeRoleExternalId,
179
+ assumeRoleAdditionalOptions: stack.assumeRoleAdditionalOptions,
178
180
  });
179
181
  return {
180
182
  stackSdk: stackSdk.sdk,
@@ -214,6 +216,7 @@ export class Deployments {
214
216
  const stackSdk = await this.cachedSdkForEnvironment(resolvedEnvironment, Mode.ForReading, {
215
217
  assumeRoleArn: arns.lookupRoleArn,
216
218
  assumeRoleExternalId: stack.lookupRole?.assumeRoleExternalId,
219
+ assumeRoleAdditionalOptions: stack.lookupRole?.assumeRoleAdditionalOptions,
217
220
  });
218
221
  const envResources = this.environmentResources.for(resolvedEnvironment, stackSdk.sdk);
219
222
  // if we succeed in assuming the lookup role, make sure we have the correct bootstrap stack version
@@ -310,13 +313,17 @@ export class Deployments {
310
313
  }
311
314
  }
312
315
  async cachedSdkForEnvironment(environment, mode, options) {
313
- const cacheKey = [
316
+ const cacheKeyElements = [
314
317
  environment.account,
315
318
  environment.region,
316
319
  `${mode}`,
317
320
  options?.assumeRoleArn ?? "",
318
321
  options?.assumeRoleExternalId ?? "",
319
- ].join(":");
322
+ ];
323
+ if (options?.assumeRoleAdditionalOptions) {
324
+ cacheKeyElements.push(JSON.stringify(options.assumeRoleAdditionalOptions));
325
+ }
326
+ const cacheKey = cacheKeyElements.join(":");
320
327
  const existing = this.sdkCache.get(cacheKey);
321
328
  if (existing) {
322
329
  return existing;
@@ -351,7 +358,7 @@ class ParallelSafeAssetProgress {
351
358
  }
352
359
  onPublishEvent(type, event) {
353
360
  const handler = this.quiet && type !== "fail" ? debug : EVENT_TO_LOGGER[type];
354
- handler(`${this.prefix} ${type}: ${event.message}`);
361
+ handler(`${this.prefix}${type}: ${event.message}`);
355
362
  }
356
363
  }
357
364
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "sideEffects": false,
3
3
  "name": "sst",
4
- "version": "2.43.8",
4
+ "version": "2.44.0",
5
5
  "bin": {
6
6
  "sst": "cli/sst.js"
7
7
  },
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "homepage": "https://sst.dev",
27
27
  "dependencies": {
28
- "@aws-cdk/aws-lambda-python-alpha": "2.142.1-alpha.0",
29
- "@aws-cdk/cloud-assembly-schema": "2.142.1",
30
- "@aws-cdk/cloudformation-diff": "2.142.1",
31
- "@aws-cdk/cx-api": "2.142.1",
28
+ "@aws-cdk/aws-lambda-python-alpha": "2.161.1-alpha.0",
29
+ "@aws-cdk/cloud-assembly-schema": "38.0.1",
30
+ "@aws-cdk/cloudformation-diff": "2.161.1",
31
+ "@aws-cdk/cx-api": "2.161.1",
32
32
  "@aws-crypto/sha256-js": "^5.2.0",
33
33
  "@aws-sdk/client-cloudformation": "^3.454.0",
34
34
  "@aws-sdk/client-ecs": "^3.454.0",
@@ -53,11 +53,11 @@
53
53
  "@smithy/signature-v4": "^2.0.16",
54
54
  "@trpc/server": "9.16.0",
55
55
  "adm-zip": "^0.5.10",
56
- "aws-cdk-lib": "2.142.1",
56
+ "aws-cdk-lib": "2.161.1",
57
57
  "aws-iot-device-sdk": "^2.2.13",
58
58
  "aws-sdk": "^2.1501.0",
59
59
  "builtin-modules": "3.2.0",
60
- "cdk-assets": "2.142.1",
60
+ "cdk-assets": "2.155.6",
61
61
  "chalk": "^5.2.0",
62
62
  "chokidar": "^3.5.3",
63
63
  "ci-info": "^3.7.0",
@@ -85,7 +85,7 @@
85
85
  "ora": "^6.1.2",
86
86
  "react": "^18.0.0",
87
87
  "remeda": "^1.3.0",
88
- "sst-aws-cdk": "2.142.1",
88
+ "sst-aws-cdk": "2.161.1-2",
89
89
  "tree-kill": "^1.2.2",
90
90
  "undici": "^5.12.0",
91
91
  "uuid": "^9.0.0",
@@ -118,7 +118,7 @@
118
118
  "@types/ws": "^8.5.3",
119
119
  "@types/yargs": "^17.0.13",
120
120
  "archiver": "^5.3.1",
121
- "astro-sst": "2.43.8",
121
+ "astro-sst": "2.44.0",
122
122
  "async": "^3.2.4",
123
123
  "tsx": "^3.12.1",
124
124
  "typescript": "^5.2.2",