Skip to content
This repository was archived by the owner on Jan 16, 2025. It is now read-only.

Commit 900217b

Browse files
authored
fix: upgrade aws powertools to v2 (#4027)
## Problem AWS powetertools v1 will be end of life on Sept 1st 2024. Secondly upgrade to v2 is required to move to ESM See https://docs.powertools.aws.dev/lambda/typescript/latest/upgrade/
1 parent 58dc3d4 commit 900217b

File tree

9 files changed

+46
-45
lines changed

9 files changed

+46
-45
lines changed

Diff for: .github/dependabot.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ updates:
2727
octokit:
2828
patterns:
2929
- "@octokit/*"
30+
aws-powertools:
31+
patterns:
32+
- "@aws-lambda-powertools/*"
33+
3034
ignore:
31-
- dependency-name: "aws-sdk*"
32-
update-types: ["version-update:semver-major"]
33-
- dependency-name: "aws-lambda-powertools/*"
34-
update-types: ["version-update:semver-major"]
3535
- dependency-name: "@middy/core"
3636
update-types: ["version-update:semver-major"]
3737
- dependency-name: "@octokit/*"

Diff for: lambdas/functions/termination-watcher/src/lambda.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
setContext,
77
tracer,
88
} from '@terraform-aws-github-runner/aws-powertools-util';
9-
import { logMetrics } from '@aws-lambda-powertools/metrics';
9+
import { logMetrics } from '@aws-lambda-powertools/metrics/middleware';
1010
import { Context } from 'aws-lambda';
1111

1212
import { handle as handleTerminationWarning } from './termination-warning';

Diff for: lambdas/functions/termination-watcher/src/termination-warning.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import 'aws-sdk-client-mock-jest';
44
import { handle } from './termination-warning';
55
import { SpotInterruptionWarning, SpotTerminationDetail } from './types';
66
import { createSingleMetric } from '@terraform-aws-github-runner/aws-powertools-util';
7-
import { MetricUnits } from '@aws-lambda-powertools/metrics';
7+
import { MetricUnit } from '@aws-lambda-powertools/metrics';
88

99
jest.mock('@terraform-aws-github-runner/aws-powertools-util', () => ({
1010
...jest.requireActual('@terraform-aws-github-runner/aws-powertools-util'),
@@ -63,7 +63,7 @@ describe('handle termination warning', () => {
6363

6464
await handle(event, config);
6565
expect(createSingleMetric).toHaveBeenCalled();
66-
expect(createSingleMetric).toHaveBeenCalledWith('SpotInterruptionWarning', MetricUnits.Count, 1, {
66+
expect(createSingleMetric).toHaveBeenCalledWith('SpotInterruptionWarning', MetricUnit.Count, 1, {
6767
InstanceType: instance.InstanceType ? instance.InstanceType : '_FAIL_',
6868
Environment: instance.Tags?.find((tag) => tag.Key === 'ghr:environment')?.Value ?? '_FAIL_',
6969
});

Diff for: lambdas/functions/termination-watcher/src/termination-warning.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
import { SpotInterruptionWarning, SpotTerminationDetail } from './types';
77
import { DescribeInstancesCommand, EC2Client } from '@aws-sdk/client-ec2';
88
import { Config } from './ConfigResolver';
9-
import { MetricUnits } from '@aws-lambda-powertools/metrics';
9+
import { MetricUnit } from '@aws-lambda-powertools/metrics';
1010

1111
const logger = createChildLogger('termination-warning');
1212

@@ -37,7 +37,7 @@ async function handle(event: SpotInterruptionWarning<SpotTerminationDetail>, con
3737
tags: instance.Tags,
3838
});
3939
if (config.createSpotWarningMetric) {
40-
const metric = createSingleMetric('SpotInterruptionWarning', MetricUnits.Count, 1, {
40+
const metric = createSingleMetric('SpotInterruptionWarning', MetricUnit.Count, 1, {
4141
InstanceType: instance.InstanceType ? instance.InstanceType : 'unknown',
4242
Environment: instance.Tags?.find((tag) => tag.Key === 'ghr:environment')?.Value ?? 'unknown',
4343
});

Diff for: lambdas/libs/aws-powertools-util/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@
3535
"typescript": "^5.5.4"
3636
},
3737
"dependencies": {
38-
"@aws-lambda-powertools/logger": "^1.18.1",
39-
"@aws-lambda-powertools/metrics": "^1.18.1",
40-
"@aws-lambda-powertools/tracer": "^1.18.1",
38+
"@aws-lambda-powertools/logger": "^2.6.0",
39+
"@aws-lambda-powertools/metrics": "^2.6.0",
40+
"@aws-lambda-powertools/tracer": "^2.6.0",
4141
"aws-lambda": "^1.0.7"
4242
},
4343
"nx": {

Diff for: lambdas/libs/aws-powertools-util/src/metrics/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { Metrics } from '@aws-lambda-powertools/metrics';
2-
import { MetricUnits } from '@aws-lambda-powertools/metrics/lib/types';
2+
import { MetricUnit } from '@aws-lambda-powertools/metrics/types';
33

44
export const metrics = new Metrics({
55
defaultDimensions: {},
66
});
77

88
export function createSingleMetric(
99
name: string,
10-
unit: MetricUnits,
10+
unit: MetricUnit,
1111
value: number,
1212
dimensions: Record<string, string> = {},
1313
): ReturnType<typeof metrics.singleMetric> {

Diff for: lambdas/libs/aws-powertools-util/src/metrics/metrics.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { MetricUnits, Metrics } from '@aws-lambda-powertools/metrics';
1+
import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics';
22
import { createSingleMetric } from '../';
33

44
process.env.POWERTOOLS_METRICS_NAMESPACE = 'test';
@@ -10,13 +10,13 @@ describe('A root tracer.', () => {
1010

1111
it('should create a single metric without dimensions', () => {
1212
const spy = jest.spyOn(Metrics.prototype, 'singleMetric');
13-
createSingleMetric('test', MetricUnits.Count, 1);
13+
createSingleMetric('test', MetricUnit.Count, 1);
1414
expect(spy).toHaveBeenCalled();
1515
});
1616

1717
test('should create a single metric', () => {
1818
const spy = jest.spyOn(Metrics.prototype, 'singleMetric');
19-
createSingleMetric('test', MetricUnits.Count, 1, { test: 'test' });
19+
createSingleMetric('test', MetricUnit.Count, 1, { test: 'test' });
2020
expect(spy).toHaveBeenCalled();
2121
});
2222
});

Diff for: lambdas/libs/aws-powertools-util/src/tracer/index.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer';
1+
import { Tracer } from '@aws-lambda-powertools/tracer';
2+
import { captureLambdaHandler } from '@aws-lambda-powertools/tracer/middleware';
23

34
const tracer = new Tracer();
45

Diff for: lambdas/yarn.lock

+27-27
Original file line numberDiff line numberDiff line change
@@ -97,54 +97,54 @@ __metadata:
9797
languageName: node
9898
linkType: hard
9999

100-
"@aws-lambda-powertools/commons@npm:^1.18.1":
101-
version: 1.18.1
102-
resolution: "@aws-lambda-powertools/commons@npm:1.18.1"
103-
checksum: 10c0/5c5b748b03f166cf3efce99e3e5029cb4615d2e31b0593586479f0101b61de34f35ad380ea058fc3ba4c11444c0701daad2f833405db79ee6a69979bfaf14d50
100+
"@aws-lambda-powertools/commons@npm:^2.6.0":
101+
version: 2.6.0
102+
resolution: "@aws-lambda-powertools/commons@npm:2.6.0"
103+
checksum: 10c0/e236e5d02b66b824916bb7626008ebf4e884b517afb4ef79caea58e58bbb61455e17f5b95522c21784372de2912d05c7cc69001d9009bad3057f6ec7cf005aab
104104
languageName: node
105105
linkType: hard
106106

107-
"@aws-lambda-powertools/logger@npm:^1.18.1":
108-
version: 1.18.1
109-
resolution: "@aws-lambda-powertools/logger@npm:1.18.1"
107+
"@aws-lambda-powertools/logger@npm:^2.6.0":
108+
version: 2.6.0
109+
resolution: "@aws-lambda-powertools/logger@npm:2.6.0"
110110
dependencies:
111-
"@aws-lambda-powertools/commons": "npm:^1.18.1"
111+
"@aws-lambda-powertools/commons": "npm:^2.6.0"
112112
lodash.merge: "npm:^4.6.2"
113113
peerDependencies:
114-
"@middy/core": ">=3.x"
114+
"@middy/core": 4.x || 5.x
115115
peerDependenciesMeta:
116116
"@middy/core":
117117
optional: true
118-
checksum: 10c0/3d9c43bd2d68b47bd4eb0e96268382bd2b40e6009c8faf4072ff8e673fddd25a2f113a65f6fd319839680478f03c34abe3cca1acf4b76e101807e587cad61dfc
118+
checksum: 10c0/b6f89363d8f635fd8429f156e02c9eb0e8f2cfbe37cc774075262666e9a67f91af84a5a28fcb34197616e3fb85f62243746381a61b3a638169401307f18e84e6
119119
languageName: node
120120
linkType: hard
121121

122-
"@aws-lambda-powertools/metrics@npm:^1.18.1":
123-
version: 1.18.1
124-
resolution: "@aws-lambda-powertools/metrics@npm:1.18.1"
122+
"@aws-lambda-powertools/metrics@npm:^2.6.0":
123+
version: 2.6.0
124+
resolution: "@aws-lambda-powertools/metrics@npm:2.6.0"
125125
dependencies:
126-
"@aws-lambda-powertools/commons": "npm:^1.18.1"
126+
"@aws-lambda-powertools/commons": "npm:^2.6.0"
127127
peerDependencies:
128-
"@middy/core": ">=3.x"
128+
"@middy/core": 4.x || 5.x
129129
peerDependenciesMeta:
130130
"@middy/core":
131131
optional: true
132-
checksum: 10c0/1e4bacc5069140ff84ceca2d27b104b0d6ee862eccd8bd8180e18459ae2bc6d753649d1b5d4579fdfd26ac74f6406a37be2d8ce662150795beb2ffd6063799da
132+
checksum: 10c0/270913878d7e6703c47414fa22af15463814cd971eeeb32fc673d1e24f72dce950e5879f10c190286d7ea8dbe82d5de82b901bf49faf3bc1da5e2c6f52ca124e
133133
languageName: node
134134
linkType: hard
135135

136-
"@aws-lambda-powertools/tracer@npm:^1.18.1":
137-
version: 1.18.1
138-
resolution: "@aws-lambda-powertools/tracer@npm:1.18.1"
136+
"@aws-lambda-powertools/tracer@npm:^2.6.0":
137+
version: 2.6.0
138+
resolution: "@aws-lambda-powertools/tracer@npm:2.6.0"
139139
dependencies:
140-
"@aws-lambda-powertools/commons": "npm:^1.18.1"
141-
aws-xray-sdk-core: "npm:^3.5.3"
140+
"@aws-lambda-powertools/commons": "npm:^2.6.0"
141+
aws-xray-sdk-core: "npm:^3.9.0"
142142
peerDependencies:
143-
"@middy/core": ">=3.x"
143+
"@middy/core": 4.x || 5.x
144144
peerDependenciesMeta:
145145
"@middy/core":
146146
optional: true
147-
checksum: 10c0/3b2932608f93cb5ceb2ceb9a0d861b26f231d9739e9869748515cbea30b31d7ecb388c7915cff7b74ac9a2649360024b930b3697d530a0b5e19b5383b080f79b
147+
checksum: 10c0/e3e5c2fa47a9784c4e99f5e72498756d30895215237bf9fa4b24db98522510144710264b317bd01c2f8bba52b631d9bc6de00347b4ea5e47f9f8e328debbb616
148148
languageName: node
149149
linkType: hard
150150

@@ -4630,9 +4630,9 @@ __metadata:
46304630
version: 0.0.0-use.local
46314631
resolution: "@terraform-aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util"
46324632
dependencies:
4633-
"@aws-lambda-powertools/logger": "npm:^1.18.1"
4634-
"@aws-lambda-powertools/metrics": "npm:^1.18.1"
4635-
"@aws-lambda-powertools/tracer": "npm:^1.18.1"
4633+
"@aws-lambda-powertools/logger": "npm:^2.6.0"
4634+
"@aws-lambda-powertools/metrics": "npm:^2.6.0"
4635+
"@aws-lambda-powertools/tracer": "npm:^2.6.0"
46364636
"@trivago/prettier-plugin-sort-imports": "npm:^4.3.0"
46374637
"@types/aws-lambda": "npm:^8.10.142"
46384638
"@types/express": "npm:^4.17.21"
@@ -5634,7 +5634,7 @@ __metadata:
56345634
languageName: node
56355635
linkType: hard
56365636

5637-
"aws-xray-sdk-core@npm:^3.5.3":
5637+
"aws-xray-sdk-core@npm:^3.9.0":
56385638
version: 3.9.0
56395639
resolution: "aws-xray-sdk-core@npm:3.9.0"
56405640
dependencies:

0 commit comments

Comments
 (0)