From be096587a19dfeb4838fb4b36f86688f845567e6 Mon Sep 17 00:00:00 2001 From: Godwin Rose Samuel Date: Wed, 30 Apr 2025 14:09:08 -0700 Subject: [PATCH 1/2] upgrade custom resources lambda runtime to node22 --- .../custom-resource-provider/custom-resource-provider.ts | 7 +++++++ .../aws-cdk-lib/region-info/build-tools/fact-tables.ts | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/aws-cdk-lib/core/lib/custom-resource-provider/custom-resource-provider.ts b/packages/aws-cdk-lib/core/lib/custom-resource-provider/custom-resource-provider.ts index 3aaa6456262e5..efdcf16519493 100644 --- a/packages/aws-cdk-lib/core/lib/custom-resource-provider/custom-resource-provider.ts +++ b/packages/aws-cdk-lib/core/lib/custom-resource-provider/custom-resource-provider.ts @@ -58,6 +58,11 @@ export enum CustomResourceProviderRuntime { * Node.js 20.x */ NODEJS_20_X = 'nodejs20.x', + + /** + * Node.js 22.x + */ + NODEJS_22_X = 'nodejs22.x', } /** @@ -140,6 +145,8 @@ function customResourceProviderRuntimeToString(x: CustomResourceProviderRuntime) return 'nodejs18.x'; case CustomResourceProviderRuntime.NODEJS_20_X: return 'nodejs20.x'; + case CustomResourceProviderRuntime.NODEJS_22_X: + return 'nodejs22.x'; } } diff --git a/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts b/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts index f787f2eaa2a9d..a6d0a991f22c1 100644 --- a/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts +++ b/packages/aws-cdk-lib/region-info/build-tools/fact-tables.ts @@ -106,12 +106,13 @@ export const PARTITION_SAML_SIGN_ON_URL: Partial> = { enum Runtime { NODE_18 = 'nodejs18.x', NODE_20 = 'nodejs20.x', + NODE_22 = 'nodejs22.x', } export const LATEST_NODE_RUNTIME_MAP: Record = { - [Partition.Default]: Runtime.NODE_20, - [Partition.Cn]: Runtime.NODE_20, - [Partition.UsGov]: Runtime.NODE_20, + [Partition.Default]: Runtime.NODE_22, + [Partition.Cn]: Runtime.NODE_22, + [Partition.UsGov]: Runtime.NODE_22, [Partition.UsIso]: Runtime.NODE_18, [Partition.UsIsoB]: Runtime.NODE_18, [Partition.UsIsoF]: Runtime.NODE_18, From 9590f10c8ceef0af0078388f87d167f813690686 Mon Sep 17 00:00:00 2001 From: Godwin Rose Samuel Date: Wed, 30 Apr 2025 15:06:22 -0700 Subject: [PATCH 2/2] update unit test --- .../aws-lambda/test/function.test.ts | 70 +++++++++--------- .../custom-resource-provider.test.ts | 70 +++++++++--------- .../export-writer-provider.test.ts | 72 +++++++++---------- 3 files changed, 106 insertions(+), 106 deletions(-) diff --git a/packages/aws-cdk-lib/aws-lambda/test/function.test.ts b/packages/aws-cdk-lib/aws-lambda/test/function.test.ts index c5491ec06f177..61ed3a06ad654 100644 --- a/packages/aws-cdk-lib/aws-lambda/test/function.test.ts +++ b/packages/aws-cdk-lib/aws-lambda/test/function.test.ts @@ -4566,94 +4566,94 @@ describe('latest Lambda node runtime', () => { // THEN Template.fromStack(stack).hasMapping('LatestNodeRuntimeMap', { 'af-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-south-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-4': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ca-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'cn-north-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'cn-northwest-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-central-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-north-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-south-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'il-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'me-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'me-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'sa-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-east-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-gov-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-gov-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-iso-east-1': { value: 'nodejs18.x', @@ -4665,10 +4665,10 @@ describe('latest Lambda node runtime', () => { value: 'nodejs18.x', }, 'us-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-west-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, }); Template.fromStack(stack).hasResource('AWS::Lambda::Function', { @@ -4700,7 +4700,7 @@ describe('latest Lambda node runtime', () => { // THEN Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Properties: { - Runtime: 'nodejs20.x', + Runtime: 'nodejs22.x', }, }); }); @@ -4719,7 +4719,7 @@ describe('latest Lambda node runtime', () => { // THEN Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Properties: { - Runtime: 'nodejs20.x', + Runtime: 'nodejs22.x', }, }); }); @@ -4757,7 +4757,7 @@ describe('latest Lambda node runtime', () => { // THEN Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Properties: { - Runtime: 'nodejs20.x', + Runtime: 'nodejs22.x', }, }); }); diff --git a/packages/aws-cdk-lib/core/test/custom-resource-provider/custom-resource-provider.test.ts b/packages/aws-cdk-lib/core/test/custom-resource-provider/custom-resource-provider.test.ts index 94318fd0a7960..2b3bcea55b521 100644 --- a/packages/aws-cdk-lib/core/test/custom-resource-provider/custom-resource-provider.test.ts +++ b/packages/aws-cdk-lib/core/test/custom-resource-provider/custom-resource-provider.test.ts @@ -465,94 +465,94 @@ describe('latest Lambda node runtime', () => { // THEN Template.fromStack(stack).hasMapping('LatestNodeRuntimeMap', { 'af-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-south-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-4': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ca-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'cn-north-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'cn-northwest-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-central-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-north-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-south-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'il-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'me-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'me-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'sa-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-east-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-gov-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-gov-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-iso-east-1': { value: 'nodejs18.x', @@ -564,10 +564,10 @@ describe('latest Lambda node runtime', () => { value: 'nodejs18.x', }, 'us-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-west-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, }); Template.fromStack(stack).hasResource('AWS::Lambda::Function', { @@ -595,7 +595,7 @@ describe('latest Lambda node runtime', () => { // THEN Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Properties: { - Runtime: 'nodejs20.x', + Runtime: 'nodejs22.x', }, }); }); @@ -610,7 +610,7 @@ describe('latest Lambda node runtime', () => { // THEN Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Properties: { - Runtime: 'nodejs20.x', + Runtime: 'nodejs22.x', }, }); }); @@ -625,7 +625,7 @@ describe('latest Lambda node runtime', () => { // THEN Template.fromStack(stack).hasResource('AWS::Lambda::Function', { Properties: { - Runtime: 'nodejs20.x', + Runtime: 'nodejs22.x', }, }); }); diff --git a/packages/aws-cdk-lib/core/test/custom-resource-provider/export-writer-provider.test.ts b/packages/aws-cdk-lib/core/test/custom-resource-provider/export-writer-provider.test.ts index 5a3c8979159e9..66b7a69b4d8b2 100644 --- a/packages/aws-cdk-lib/core/test/custom-resource-provider/export-writer-provider.test.ts +++ b/packages/aws-cdk-lib/core/test/custom-resource-provider/export-writer-provider.test.ts @@ -7,109 +7,109 @@ describe('export writer provider', () => { Mappings: { LatestNodeRuntimeMap: { 'af-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-northeast-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-south-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-4': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-5': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ap-southeast-7': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ca-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'ca-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'cn-north-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'cn-northwest-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-central-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-isoe-west-1': { value: 'nodejs18.x', }, 'eu-north-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-south-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'eu-west-3': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'il-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'me-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'me-south-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'mx-central-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'sa-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-east-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-gov-east-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-gov-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-iso-east-1': { value: 'nodejs18.x', @@ -124,10 +124,10 @@ describe('export writer provider', () => { value: 'nodejs18.x', }, 'us-west-1': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, 'us-west-2': { - value: 'nodejs20.x', + value: 'nodejs22.x', }, }, },