From 2f255101197493a6a76c1df08d2bead90f3b5e66 Mon Sep 17 00:00:00 2001 From: Martin Sonnberger Date: Wed, 27 Aug 2025 11:25:33 +0200 Subject: [PATCH 1/2] feat(aws-lambda): Add description including SDK version to layer metadata --- src/targets/awsLambdaLayer.ts | 14 ++++++++++---- src/utils/awsLambdaLayerManager.ts | 10 ++++++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/targets/awsLambdaLayer.ts b/src/targets/awsLambdaLayer.ts index d81646db..9b0463bc 100644 --- a/src/targets/awsLambdaLayer.ts +++ b/src/targets/awsLambdaLayer.ts @@ -251,7 +251,8 @@ export class AwsLambdaLayerTarget extends BaseTarget { this.config.layerName, this.config.license, artifactBuffer, - awsRegions + awsRegions, + version ); let publishedLayers = []; @@ -316,11 +317,16 @@ export class AwsLambdaLayerTarget extends BaseTarget { if (!fs.existsSync(baseFilepath)) { this.logger.warn(`The ${runtime.name} base file is missing.`); - const manifestString = JSON.stringify(runtimeData, undefined, 2) + '\n'; + const manifestString = + JSON.stringify(runtimeData, undefined, 2) + '\n'; fs.writeFileSync(newVersionFilepath, manifestString); } else { - const baseData = JSON.parse(fs.readFileSync(baseFilepath, { encoding: 'utf-8' }).toString()); - const manifestString = JSON.stringify({ ...baseData, ...runtimeData }, undefined, 2) + '\n'; + const baseData = JSON.parse( + fs.readFileSync(baseFilepath, { encoding: 'utf-8' }).toString() + ); + const manifestString = + JSON.stringify({ ...baseData, ...runtimeData }, undefined, 2) + + '\n'; fs.writeFileSync(newVersionFilepath, manifestString); } diff --git a/src/utils/awsLambdaLayerManager.ts b/src/utils/awsLambdaLayerManager.ts index fe7fc220..b18edcc1 100644 --- a/src/utils/awsLambdaLayerManager.ts +++ b/src/utils/awsLambdaLayerManager.ts @@ -45,19 +45,23 @@ export class AwsLambdaLayerManager { private artifactBuffer: Buffer; /** Controls if published layers are logged. */ public verboseInfo = true; + /** Version of the SDK. */ + private sdkVersion: string; public constructor( runtime: CompatibleRuntime, layerName: string, license: string, artifactBuffer: Buffer, - awsRegions: string[] + awsRegions: string[], + sdkVersion: string ) { this.runtime = runtime; this.layerName = layerName; this.license = license; this.artifactBuffer = artifactBuffer; this.awsRegions = awsRegions; + this.sdkVersion = sdkVersion; } /** @@ -75,6 +79,7 @@ export class AwsLambdaLayerManager { LayerName: this.layerName, CompatibleRuntimes: this.runtime.versions, LicenseInfo: this.license, + Description: `Sentry AWS Serverless SDK v${this.sdkVersion}`, }); await lambda.addLayerVersionPermission({ LayerName: this.layerName, @@ -156,7 +161,8 @@ export async function getRegionsFromAws(): Promise { ); } const data = await response.text(); - return new XMLParser().parse(data) + return new XMLParser() + .parse(data) .DescribeRegionsResponse.regionInfo.item.map( (region: Region) => region.regionName ) From 21f884d334b0f2bb4cd8fb367f2c3878f413246f Mon Sep 17 00:00:00 2001 From: Martin Sonnberger Date: Wed, 27 Aug 2025 11:32:52 +0200 Subject: [PATCH 2/2] update test --- src/utils/__tests__/awsLambdaLayerManager.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/__tests__/awsLambdaLayerManager.test.ts b/src/utils/__tests__/awsLambdaLayerManager.test.ts index 3bb7ff3f..21364dca 100644 --- a/src/utils/__tests__/awsLambdaLayerManager.test.ts +++ b/src/utils/__tests__/awsLambdaLayerManager.test.ts @@ -14,7 +14,8 @@ function getTestAwsLambdaLayerManager(): awsManager.AwsLambdaLayerManager { 'test layer name', 'test license', Buffer.alloc(0), - AWS_TEST_REGIONS + AWS_TEST_REGIONS, + '0.0.0' ); }