Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ body:
options:
- 22.x
- 20.x
- 18.x
validations:
required: true
- type: dropdown
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/quality_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
NODE_ENV: dev
strategy:
matrix:
version: [18, 20, 22]
version: [20, 22]
workspace: [
"packages/batch",
"packages/commons",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
NODE_ENV: dev
strategy:
matrix:
version: [18, 20, 22]
version: [20, 22]
workspace: [
"packages/batch",
"packages/commons",
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
packages/tracer,
layers,
]
version: [18, 20, 22]
version: [20, 22]
arch: [x86_64, arm64]
fail-fast: false
steps:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!-- markdownlint-disable MD013 -->
# Powertools for AWS Lambda (TypeScript)

![NodeSupport](https://img.shields.io/static/v1?label=node&message=%2018|%2020|%2022&style=flat&logo=nodedotjs)
![NodeSupport](https://img.shields.io/static/v1?label=node&message=%2020|%2022&style=flat&logo=nodedotjs)
![GitHub Release](https://img.shields.io/github/v/release/aws-powertools/powertools-lambda-typescript?style=flat)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=aws-powertools_powertools-lambda-typescript&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=aws-powertools_powertools-lambda-typescript)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=aws-powertools_powertools-lambda-typescript&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=aws-powertools_powertools-lambda-typescript)
Expand Down
1 change: 0 additions & 1 deletion docs/getting-started/lambda-layers.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ Change `{aws::region}` to your AWS region, e.g. `eu-west-1`, and run the followi
"CreatedDate": "2025-04-08T07:38:30.424+0000",
"Version": 24,
"CompatibleRuntimes": [
"nodejs18.x",
"nodejs20.x",
"nodejs22.x"
],
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/usage-patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ All our decorators assume that the method they are decorating is asynchronous. T
If your existing codebase relies on the [Middy.js](https://middy.js.org/docs/) middleware engine, you can use the Powertools for AWS Lambda (TypeScript) middleware to integrate with your existing code. This approach is similar to the Class Method decorator pattern but uses the Middy.js middleware engine to apply Powertools utilities.

!!! note
We guarantee support for Middy.js `v4.x` through `v6.x` versions.
We guarantee support for Middy.js `v5.x` and `v6.x`.
Check Middy.js docs to learn more about [best practices](https://middy.js.org/docs/integrations/lambda-powertools#best-practices){target="_blank"} when working with Powertools for AWS middlewares.

```ts
Expand Down
1 change: 0 additions & 1 deletion layers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
"test:unit": "vitest --run tests/unit",
"test:unit:coverage": "echo 'Not Implemented'",
"test:unit:types": "echo 'Not Implemented'",
"test:e2e:nodejs18x": "echo 'Not Implemented'",
"test:e2e:nodejs20x": "echo 'Not Implemented'",
"test:e2e:nodejs22x": "echo 'Not Implemented'",
"test:e2e": "vitest --run tests/e2e",
Expand Down
2 changes: 1 addition & 1 deletion layers/src/canary-stack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export class CanaryStack extends Stack {
'../tests/e2e/layerPublisher.class.test.functionCode.ts'
),
handler: 'handler',
runtime: Runtime.NODEJS_18_X,
runtime: Runtime.NODEJS_20_X,
functionName: `canary-${suffix}`,
timeout: Duration.seconds(30),
bundling: {
Expand Down
6 changes: 1 addition & 5 deletions layers/src/layer-publisher-stack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,7 @@ export class LayerPublisherStack extends Stack {
this.lambdaLayerVersion = new LayerVersion(this, 'LambdaPowertoolsLayer', {
layerVersionName: props?.layerName,
description: `Powertools for AWS Lambda (TypeScript) version ${powertoolsPackageVersion}`,
compatibleRuntimes: [
Runtime.NODEJS_18_X,
Runtime.NODEJS_20_X,
Runtime.NODEJS_22_X,
],
compatibleRuntimes: [Runtime.NODEJS_20_X, Runtime.NODEJS_22_X],
license: 'MIT-0',
compatibleArchitectures: [Architecture.ARM_64, Architecture.X86_64],
code: Code.fromAsset(resolve(__dirname), {
Expand Down
4 changes: 2 additions & 2 deletions layers/tests/unit/layer-publisher.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { App } from 'aws-cdk-lib';
import { Template } from 'aws-cdk-lib/assertions';
import { describe, it } from 'vitest';
import { LayerPublisherStack } from '../../src/layer-publisher-stack';
import { LayerPublisherStack } from '../../src/layer-publisher-stack.js';

describe('Class: LayerPublisherStack', () => {
it('creates the stack with a layer in it', () => {
Expand All @@ -20,7 +20,7 @@ describe('Class: LayerPublisherStack', () => {
// Assess
template.resourceCountIs('AWS::Lambda::LayerVersion', 1);
template.hasResourceProperties('AWS::Lambda::LayerVersion', {
CompatibleRuntimes: ['nodejs18.x', 'nodejs20.x', 'nodejs22.x'],
CompatibleRuntimes: ['nodejs20.x', 'nodejs22.x'],
LicenseInfo: 'MIT-0',
/* CompatibleArchitectures: [
'x86_64',
Expand Down
17 changes: 1 addition & 16 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@
"husky": "^9.1.7",
"lint-staged": "^16.1.2",
"markdownlint-cli2": "^0.18.1",
"middy4": "npm:@middy/core@^4.7.0",
"middy5": "npm:@middy/core@^5.4.3",
"middy6": "npm:@middy/core@^6.0.0",
"typedoc": "^0.28.8",
Expand All @@ -70,6 +69,6 @@
"*.md": "markdownlint-cli2 --fix"
},
"engines": {
"node": ">=18"
"node": ">=20"
}
}
1 change: 0 additions & 1 deletion packages/batch/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
"test:unit": "vitest --run",
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "echo 'Not Implemented'",
"test:e2e:nodejs18x": "echo 'Not Implemented'",
"test:e2e:nodejs20x": "echo 'Not Implemented'",
"test:e2e:nodejs22x": "echo 'Not Implemented'",
"test:e2e": "echo 'Not Implemented'",
Expand Down
1 change: 0 additions & 1 deletion packages/event-handler/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
"test:unit": "vitest --run",
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "echo 'Not Implemented'",
"test:e2e:nodejs18x": "echo \"Not implemented\"",
"test:e2e:nodejs20x": "echo \"Not implemented\"",
"test:e2e:nodejs22x": "echo \"Not implemented\"",
"test:e2e": "echo \"Not implemented\"",
Expand Down
1 change: 0 additions & 1 deletion packages/idempotency/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "echo 'Not Implemented'",
"test:unit:watch": "vitest tests/unit",
"test:e2e:nodejs18x": "RUNTIME=nodejs18x vitest --run tests/e2e",
"test:e2e:nodejs20x": "RUNTIME=nodejs20x vitest --run tests/e2e",
"test:e2e:nodejs22x": "RUNTIME=nodejs22x vitest --run tests/e2e",
"test:e2e": "vitest --run tests/e2e",
Expand Down
1 change: 0 additions & 1 deletion packages/kafka/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
"test:unit": "vitest --run",
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "echo 'Not Implemented'",
"test:e2e:nodejs18x": "echo \"Not implemented\"",
"test:e2e:nodejs20x": "echo \"Not implemented\"",
"test:e2e:nodejs22x": "echo \"Not implemented\"",
"test:e2e": "echo \"Not implemented\"",
Expand Down
1 change: 0 additions & 1 deletion packages/logger/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "echo 'Not Implemented'",
"test:unit:watch": "vitest tests/unit",
"test:e2e:nodejs18x": "RUNTIME=nodejs18x vitest --run tests/e2e",
"test:e2e:nodejs20x": "RUNTIME=nodejs20x vitest --run tests/e2e",
"test:e2e:nodejs22x": "RUNTIME=nodejs22x vitest --run tests/e2e",
"test:e2e": "vitest --run tests/e2e",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { Context } from 'aws-lambda';
import middy from 'middy4';
import middy from 'middy5';
import { Logger } from '../../src/index.js';
import { injectLambdaContext } from '../../src/middleware/middy.js';
import type { TestEvent, TestOutput } from '../helpers/types.js';
Expand Down
1 change: 0 additions & 1 deletion packages/metrics/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "echo 'Not Implemented'",
"test:unit:watch": "vitest tests/unit",
"test:e2e:nodejs18x": "RUNTIME=nodejs18x vitest --run tests/e2e",
"test:e2e:nodejs20x": "RUNTIME=nodejs20x vitest --run tests/e2e",
"test:e2e:nodejs22x": "RUNTIME=nodejs22x vitest --run tests/e2e",
"test:e2e": "vitest --run tests/e2e",
Expand Down
1 change: 0 additions & 1 deletion packages/parameters/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "vitest --run tests/types --typecheck",
"test:unit:watch": "vitest tests/unit",
"test:e2e:nodejs18x": "RUNTIME=nodejs18x vitest --run tests/e2e",
"test:e2e:nodejs20x": "RUNTIME=nodejs20x vitest --run tests/e2e",
"test:e2e:nodejs22x": "RUNTIME=nodejs22x vitest --run tests/e2e",
"test:e2e": "vitest --run tests/e2e",
Expand Down
1 change: 0 additions & 1 deletion packages/parser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "vitest --run tests/types --typecheck",
"test:unit:watch": "vitest tests/unit",
"test:e2e:nodejs18x": "echo 'Not implemented'",
"test:e2e:nodejs20x": "echo 'Not implemented'",
"test:e2e:nodejs22x": "echo 'Not implemented'",
"test:e2e": "echo 'Not implemented'",
Expand Down
1 change: 0 additions & 1 deletion packages/testing/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ const defaultRuntime = 'nodejs22x';
* The AWS Lambda runtimes that are supported by the project.
*/
const TEST_RUNTIMES = {
nodejs18x: Runtime.NODEJS_18_X,
nodejs20x: Runtime.NODEJS_20_X,
[defaultRuntime]: Runtime.NODEJS_22_X,
} as const;
Expand Down
1 change: 0 additions & 1 deletion packages/tracer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "echo 'Not Implemented'",
"test:unit:watch": "vitest tests/unit",
"test:e2e:nodejs18x": "RUNTIME=nodejs18x vitest --run tests/e2e",
"test:e2e:nodejs20x": "RUNTIME=nodejs20x vitest --run tests/e2e",
"test:e2e:nodejs22x": "RUNTIME=nodejs22x vitest --run tests/e2e",
"test:e2e": "vitest --run tests/e2e",
Expand Down
1 change: 0 additions & 1 deletion packages/validation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
"test:unit": "vitest --run",
"test:unit:coverage": "vitest --run tests/unit --coverage.enabled --coverage.thresholds.100 --coverage.include='src/**'",
"test:unit:types": "echo 'Not Implemented'",
"test:e2e:nodejs18x": "echo \"Not implemented\"",
"test:e2e:nodejs20x": "echo \"Not implemented\"",
"test:e2e:nodejs22x": "echo \"Not implemented\"",
"test:e2e": "echo \"Not implemented\"",
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"compilerOptions": {
"incremental": true,
"composite": true,
"target": "ES2022", // Node.js 18
"target": "ES2023", // Node.js 20
"experimentalDecorators": true,
"module": "NodeNext",
"moduleResolution": "NodeNext",
Expand Down