skuba 9.2.0-wat-20250115035523 → 10.0.0-main-20250312042528
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.
- package/lib/cli/configure/analyseDependencies.js +4 -1
- package/lib/cli/configure/analyseDependencies.js.map +2 -2
- package/lib/cli/init/index.js +2 -2
- package/lib/cli/init/index.js.map +2 -2
- package/lib/cli/init/prompts.d.ts +1 -1
- package/lib/cli/lint/internal.js +2 -1
- package/lib/cli/lint/internal.js.map +2 -2
- package/lib/cli/lint/internalLints/detectBadCodeowners.d.ts +4 -0
- package/lib/cli/lint/internalLints/detectBadCodeowners.js +72 -0
- package/lib/cli/lint/internalLints/detectBadCodeowners.js.map +7 -0
- package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.d.ts +2 -0
- package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.js +35 -0
- package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/index.js.map +7 -0
- package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.d.ts +2 -0
- package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.js +59 -0
- package/lib/cli/lint/internalLints/upgrade/patches/9.1.0/upgradeNode.js.map +7 -0
- package/lib/cli/migrate/index.js +10 -1
- package/lib/cli/migrate/index.js.map +2 -2
- package/lib/cli/migrate/nodeVersion/checks.d.ts +14 -0
- package/lib/cli/migrate/nodeVersion/checks.js +165 -0
- package/lib/cli/migrate/nodeVersion/checks.js.map +7 -0
- package/lib/cli/migrate/nodeVersion/getNodeTypesVersion.d.ts +6 -0
- package/lib/cli/migrate/nodeVersion/getNodeTypesVersion.js +58 -0
- package/lib/cli/migrate/nodeVersion/getNodeTypesVersion.js.map +7 -0
- package/lib/cli/migrate/nodeVersion/index.d.ts +5 -1
- package/lib/cli/migrate/nodeVersion/index.js +119 -36
- package/lib/cli/migrate/nodeVersion/index.js.map +2 -2
- package/lib/index.js +3 -3
- package/lib/utils/copy.d.ts +1 -1
- package/lib/utils/copy.js +11 -3
- package/lib/utils/copy.js.map +2 -2
- package/lib/utils/template.d.ts +2 -2
- package/lib/utils/template.js +0 -5
- package/lib/utils/template.js.map +2 -2
- package/lib/utils/version.d.ts +17 -1
- package/lib/utils/version.js +48 -18
- package/lib/utils/version.js.map +3 -3
- package/package.json +17 -19
- package/template/base/tsconfig.json +2 -2
- package/template/express-rest-api/.buildkite/pipeline.yml +4 -4
- package/template/express-rest-api/.gantry/common.yml +1 -3
- package/template/express-rest-api/.nvmrc +1 -1
- package/template/express-rest-api/Dockerfile +1 -1
- package/template/express-rest-api/Dockerfile.dev-deps +2 -2
- package/template/express-rest-api/package.json +4 -4
- package/template/greeter/.buildkite/pipeline.yml +1 -1
- package/template/greeter/.nvmrc +1 -1
- package/template/greeter/Dockerfile +2 -2
- package/template/greeter/README.md +1 -1
- package/template/greeter/package.json +4 -4
- package/template/koa-rest-api/.buildkite/pipeline.yml +4 -4
- package/template/koa-rest-api/.gantry/common.yml +1 -3
- package/template/koa-rest-api/.nvmrc +1 -1
- package/template/koa-rest-api/Dockerfile +1 -1
- package/template/koa-rest-api/Dockerfile.dev-deps +2 -2
- package/template/koa-rest-api/package.json +3 -3
- package/template/koa-rest-api/tsconfig.json +2 -2
- package/template/lambda-sqs-worker-cdk/.buildkite/pipeline.yml +2 -2
- package/template/lambda-sqs-worker-cdk/.nvmrc +1 -1
- package/template/lambda-sqs-worker-cdk/Dockerfile +3 -3
- package/template/lambda-sqs-worker-cdk/infra/__snapshots__/appStack.test.ts.snap +2 -2
- package/template/lambda-sqs-worker-cdk/infra/appStack.ts +4 -4
- package/template/lambda-sqs-worker-cdk/infra/config.ts +1 -1
- package/template/lambda-sqs-worker-cdk/infra/index.ts +3 -5
- package/template/lambda-sqs-worker-cdk/package.json +6 -6
- package/template/lambda-sqs-worker-cdk/tsconfig.json +2 -2
- package/template/oss-npm-package/.github/workflows/release.yml +1 -1
- package/template/oss-npm-package/.github/workflows/validate.yml +1 -1
- package/template/oss-npm-package/.nvmrc +1 -1
- package/template/oss-npm-package/_package.json +1 -1
- package/template/private-npm-package/.nvmrc +1 -1
- package/template/private-npm-package/_package.json +2 -2
- package/template/lambda-sqs-worker/.buildkite/pipeline.yml +0 -108
- package/template/lambda-sqs-worker/.env +0 -1
- package/template/lambda-sqs-worker/.nvmrc +0 -1
- package/template/lambda-sqs-worker/Dockerfile +0 -17
- package/template/lambda-sqs-worker/README.md +0 -132
- package/template/lambda-sqs-worker/_.npmrc +0 -13
- package/template/lambda-sqs-worker/docker-compose.yml +0 -10
- package/template/lambda-sqs-worker/package.json +0 -45
- package/template/lambda-sqs-worker/serverless.yml +0 -213
- package/template/lambda-sqs-worker/skuba.template.js +0 -33
- package/template/lambda-sqs-worker/src/app.test.ts +0 -116
- package/template/lambda-sqs-worker/src/app.ts +0 -57
- package/template/lambda-sqs-worker/src/config.ts +0 -62
- package/template/lambda-sqs-worker/src/framework/handler.test.ts +0 -61
- package/template/lambda-sqs-worker/src/framework/handler.ts +0 -43
- package/template/lambda-sqs-worker/src/framework/logging.ts +0 -27
- package/template/lambda-sqs-worker/src/framework/metrics.ts +0 -14
- package/template/lambda-sqs-worker/src/framework/validation.test.ts +0 -84
- package/template/lambda-sqs-worker/src/framework/validation.ts +0 -10
- package/template/lambda-sqs-worker/src/hooks.ts +0 -95
- package/template/lambda-sqs-worker/src/mapping/jobScorer.ts +0 -22
- package/template/lambda-sqs-worker/src/services/aws.ts +0 -5
- package/template/lambda-sqs-worker/src/services/jobScorer.test.ts +0 -44
- package/template/lambda-sqs-worker/src/services/jobScorer.ts +0 -59
- package/template/lambda-sqs-worker/src/services/pipelineEventSender.test.ts +0 -40
- package/template/lambda-sqs-worker/src/services/pipelineEventSender.ts +0 -33
- package/template/lambda-sqs-worker/src/testing/handler.ts +0 -13
- package/template/lambda-sqs-worker/src/testing/logging.ts +0 -19
- package/template/lambda-sqs-worker/src/testing/services.ts +0 -28
- package/template/lambda-sqs-worker/src/testing/types.ts +0 -33
- package/template/lambda-sqs-worker/src/types/jobScorer.ts +0 -15
- package/template/lambda-sqs-worker/src/types/pipelineEvents.ts +0 -21
- package/template/lambda-sqs-worker/tsconfig.json +0 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skuba",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0-main-20250312042528",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "SEEK development toolkit for backend applications and packages",
|
|
6
6
|
"homepage": "https://github.com/seek-oss/skuba#readme",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"dotenv": "^16.0.0",
|
|
65
65
|
"ejs": "^3.1.6",
|
|
66
66
|
"enquirer": "^2.3.6",
|
|
67
|
-
"esbuild": "~0.
|
|
67
|
+
"esbuild": "~0.25.0",
|
|
68
68
|
"eslint": "^9.11.1",
|
|
69
69
|
"execa": "^5.0.0",
|
|
70
70
|
"fast-glob": "^3.3.2",
|
|
@@ -78,14 +78,14 @@
|
|
|
78
78
|
"isomorphic-git": "^1.11.1",
|
|
79
79
|
"jest": "^29.0.1",
|
|
80
80
|
"jest-watch-typeahead": "^2.1.1",
|
|
81
|
-
"libnpmsearch": "^8.0.0",
|
|
82
81
|
"lodash.mergewith": "^4.6.2",
|
|
83
82
|
"minimist": "^1.2.6",
|
|
84
83
|
"normalize-package-data": "^7.0.0",
|
|
84
|
+
"npm-registry-fetch": "^18.0.2",
|
|
85
85
|
"npm-run-path": "^4.0.1",
|
|
86
86
|
"npm-which": "^3.0.1",
|
|
87
87
|
"picomatch": "^4.0.0",
|
|
88
|
-
"prettier": "~3.
|
|
88
|
+
"prettier": "~3.5.0",
|
|
89
89
|
"prettier-plugin-packagejson": "^2.4.10",
|
|
90
90
|
"read-pkg-up": "^7.0.1",
|
|
91
91
|
"semantic-release": "^22.0.12",
|
|
@@ -96,39 +96,37 @@
|
|
|
96
96
|
"tsconfig-paths": "^4.0.0",
|
|
97
97
|
"tsconfig-seek": "2.0.0",
|
|
98
98
|
"tsx": "^4.16.2",
|
|
99
|
-
"typescript": "~5.
|
|
100
|
-
"validate-npm-package-name": "^6.0.0",
|
|
99
|
+
"typescript": "~5.8.0",
|
|
101
100
|
"zod": "^3.22.4",
|
|
102
|
-
"eslint-config-skuba": "5.1.0-
|
|
101
|
+
"eslint-config-skuba": "5.1.0-main-20250312042528"
|
|
103
102
|
},
|
|
104
103
|
"devDependencies": {
|
|
105
|
-
"@changesets/cli": "2.
|
|
104
|
+
"@changesets/cli": "2.28.1",
|
|
106
105
|
"@changesets/get-github-info": "0.6.0",
|
|
107
106
|
"@jest/reporters": "29.7.0",
|
|
108
107
|
"@jest/test-result": "29.7.0",
|
|
109
108
|
"@types/ejs": "3.1.5",
|
|
110
|
-
"@types/express": "
|
|
109
|
+
"@types/express": "5.0.0",
|
|
111
110
|
"@types/fs-extra": "11.0.4",
|
|
112
111
|
"@types/koa": "2.15.0",
|
|
113
|
-
"@types/libnpmsearch": "2.0.7",
|
|
114
112
|
"@types/lodash.mergewith": "4.6.9",
|
|
115
113
|
"@types/minimist": "1.2.5",
|
|
116
114
|
"@types/module-alias": "2.0.4",
|
|
115
|
+
"@types/npm-registry-fetch": "8.0.7",
|
|
117
116
|
"@types/npm-which": "3.0.3",
|
|
118
|
-
"@types/picomatch": "3.0.
|
|
117
|
+
"@types/picomatch": "3.0.2",
|
|
119
118
|
"@types/semver": "7.5.8",
|
|
120
119
|
"@types/supertest": "6.0.2",
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"fastify": "5.2.0",
|
|
120
|
+
"enhanced-resolve": "5.18.1",
|
|
121
|
+
"express": "5.0.1",
|
|
122
|
+
"fastify": "5.2.1",
|
|
125
123
|
"jest-diff": "29.7.0",
|
|
126
124
|
"jsonfile": "6.1.0",
|
|
127
|
-
"koa": "2.
|
|
128
|
-
"memfs": "4.
|
|
125
|
+
"koa": "2.16.0",
|
|
126
|
+
"memfs": "4.17.0",
|
|
129
127
|
"remark-cli": "12.0.1",
|
|
130
|
-
"remark-preset-lint-recommended": "7.0.
|
|
131
|
-
"semver": "7.
|
|
128
|
+
"remark-preset-lint-recommended": "7.0.1",
|
|
129
|
+
"semver": "7.7.1",
|
|
132
130
|
"supertest": "7.0.0",
|
|
133
131
|
"type-fest": "2.19.0"
|
|
134
132
|
},
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"baseUrl": ".",
|
|
4
|
-
"lib": ["
|
|
4
|
+
"lib": ["ES2024"],
|
|
5
5
|
"outDir": "lib",
|
|
6
6
|
"paths": {
|
|
7
7
|
"src": ["src"]
|
|
8
8
|
},
|
|
9
|
-
"target": "
|
|
9
|
+
"target": "ES2024"
|
|
10
10
|
},
|
|
11
11
|
"exclude": ["lib*/**/*"],
|
|
12
12
|
"extends": "skuba/config/tsconfig.json"
|
|
@@ -57,7 +57,7 @@ steps:
|
|
|
57
57
|
- *aws-sm
|
|
58
58
|
- *private-npm
|
|
59
59
|
- *docker-ecr-cache
|
|
60
|
-
- docker-compose#v5.
|
|
60
|
+
- docker-compose#v5.6.0:
|
|
61
61
|
run: app
|
|
62
62
|
environment:
|
|
63
63
|
- GITHUB_API_TOKEN
|
|
@@ -70,7 +70,7 @@ steps:
|
|
|
70
70
|
- *aws-sm
|
|
71
71
|
- *private-npm
|
|
72
72
|
- *docker-ecr-cache
|
|
73
|
-
- seek-jobs/gantry#
|
|
73
|
+
- seek-jobs/gantry#v4.0.0:
|
|
74
74
|
command: build
|
|
75
75
|
file: gantry.build.yml
|
|
76
76
|
region: <%- region %>
|
|
@@ -87,7 +87,7 @@ steps:
|
|
|
87
87
|
concurrency_group: <%- teamName %>/deploy/gantry/<%- devGantryEnvironmentName %>
|
|
88
88
|
key: deploy-dev
|
|
89
89
|
plugins:
|
|
90
|
-
- seek-jobs/gantry#
|
|
90
|
+
- seek-jobs/gantry#v4.0.0:
|
|
91
91
|
command: apply
|
|
92
92
|
environment: <%- devGantryEnvironmentName %>
|
|
93
93
|
file: gantry.apply.yml
|
|
@@ -102,7 +102,7 @@ steps:
|
|
|
102
102
|
concurrency_group: <%- teamName %>/deploy/gantry/<%- prodGantryEnvironmentName %>
|
|
103
103
|
depends_on: deploy-dev
|
|
104
104
|
plugins:
|
|
105
|
-
- seek-jobs/gantry#
|
|
105
|
+
- seek-jobs/gantry#v4.0.0:
|
|
106
106
|
command: apply
|
|
107
107
|
environment: <%- prodGantryEnvironmentName %>
|
|
108
108
|
file: gantry.apply.yml
|
|
@@ -9,6 +9,4 @@ image: '{{values "prodAccountId"}}.dkr.ecr.<%- region %>.amazonaws.com/{{values
|
|
|
9
9
|
# datadogSecretId: arn:aws:secretsmanager:<%- region %>:<aws-account-id>:secret:<secret-name>
|
|
10
10
|
|
|
11
11
|
tags:
|
|
12
|
-
seek:
|
|
13
|
-
seek:source:url: 'https://github.com/SEEK-Jobs/<%- repoName %>'
|
|
14
|
-
# seek:system:name: 'TODO: https://rfc.skinfra.xyz/RFC019-AWS-Tagging-Standard.html#required-tags'
|
|
12
|
+
# seek:system:name: 'TODO: https://rfc.skinfra.xyz/RFC051-AWS-Tagging-Standard.html#tagging-schema'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
22
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1.
|
|
1
|
+
# syntax=docker/dockerfile:1.14
|
|
2
2
|
|
|
3
|
-
FROM public.ecr.aws/docker/library/node:
|
|
3
|
+
FROM public.ecr.aws/docker/library/node:22-alpine AS dev-deps
|
|
4
4
|
|
|
5
5
|
RUN --mount=type=bind,source=package.json,target=package.json \
|
|
6
6
|
corepack enable pnpm && corepack install
|
|
@@ -14,22 +14,22 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@seek/logger": "^9.0.0",
|
|
17
|
-
"express": "^
|
|
17
|
+
"express": "^5.0.0",
|
|
18
18
|
"hot-shots": "^10.0.0",
|
|
19
19
|
"seek-datadog-custom-metrics": "^4.6.3",
|
|
20
20
|
"skuba-dive": "^2.0.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/express": "^5.0.0",
|
|
24
|
-
"@types/node": "^
|
|
24
|
+
"@types/node": "^22.13.10",
|
|
25
25
|
"@types/supertest": "^6.0.0",
|
|
26
26
|
"mime": "^4.0.1",
|
|
27
27
|
"pino-pretty": "^13.0.0",
|
|
28
28
|
"skuba": "*",
|
|
29
29
|
"supertest": "^7.0.0"
|
|
30
30
|
},
|
|
31
|
-
"packageManager": "pnpm@
|
|
31
|
+
"packageManager": "pnpm@10.6.1",
|
|
32
32
|
"engines": {
|
|
33
|
-
"node": ">=
|
|
33
|
+
"node": ">=22"
|
|
34
34
|
}
|
|
35
35
|
}
|
package/template/greeter/.nvmrc
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
22
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1.
|
|
1
|
+
# syntax=docker/dockerfile:1.14
|
|
2
2
|
|
|
3
|
-
FROM public.ecr.aws/docker/library/node:
|
|
3
|
+
FROM public.ecr.aws/docker/library/node:22-alpine AS dev-deps
|
|
4
4
|
|
|
5
5
|
RUN --mount=type=bind,source=package.json,target=package.json \
|
|
6
6
|
corepack enable pnpm && corepack install
|
|
@@ -69,7 +69,7 @@ It does not assume a deployment method or environment.
|
|
|
69
69
|
For inspiration in this space, check out:
|
|
70
70
|
|
|
71
71
|
- The `koa-rest-api` template for containerised deployments
|
|
72
|
-
- The `lambda-sqs-worker` template for Lambda deployments
|
|
72
|
+
- The `lambda-sqs-worker-cdk` template for Lambda deployments
|
|
73
73
|
|
|
74
74
|
## Support
|
|
75
75
|
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
"skuba-dive": "^2.0.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@types/node": "^
|
|
20
|
-
"skuba": "
|
|
19
|
+
"@types/node": "^22.13.10",
|
|
20
|
+
"skuba": "10.0.0-main-20250312042528"
|
|
21
21
|
},
|
|
22
|
-
"packageManager": "pnpm@
|
|
22
|
+
"packageManager": "pnpm@10.6.1",
|
|
23
23
|
"engines": {
|
|
24
|
-
"node": ">=
|
|
24
|
+
"node": ">=22"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -57,7 +57,7 @@ steps:
|
|
|
57
57
|
- *aws-sm
|
|
58
58
|
- *private-npm
|
|
59
59
|
- *docker-ecr-cache
|
|
60
|
-
- docker-compose#v5.
|
|
60
|
+
- docker-compose#v5.6.0:
|
|
61
61
|
run: app
|
|
62
62
|
environment:
|
|
63
63
|
- GITHUB_API_TOKEN
|
|
@@ -70,7 +70,7 @@ steps:
|
|
|
70
70
|
- *aws-sm
|
|
71
71
|
- *private-npm
|
|
72
72
|
- *docker-ecr-cache
|
|
73
|
-
- seek-jobs/gantry#
|
|
73
|
+
- seek-jobs/gantry#v4.0.0:
|
|
74
74
|
command: build
|
|
75
75
|
file: gantry.build.yml
|
|
76
76
|
region: <%- region %>
|
|
@@ -87,7 +87,7 @@ steps:
|
|
|
87
87
|
concurrency_group: <%- teamName %>/deploy/gantry/<%- devGantryEnvironmentName %>
|
|
88
88
|
key: deploy-dev
|
|
89
89
|
plugins:
|
|
90
|
-
- seek-jobs/gantry#
|
|
90
|
+
- seek-jobs/gantry#v4.0.0:
|
|
91
91
|
command: apply
|
|
92
92
|
environment: <%- devGantryEnvironmentName %>
|
|
93
93
|
file: gantry.apply.yml
|
|
@@ -102,7 +102,7 @@ steps:
|
|
|
102
102
|
concurrency_group: <%- teamName %>/deploy/gantry/<%- prodGantryEnvironmentName %>
|
|
103
103
|
depends_on: deploy-dev
|
|
104
104
|
plugins:
|
|
105
|
-
- seek-jobs/gantry#
|
|
105
|
+
- seek-jobs/gantry#v4.0.0:
|
|
106
106
|
command: apply
|
|
107
107
|
environment: <%- prodGantryEnvironmentName %>
|
|
108
108
|
file: gantry.apply.yml
|
|
@@ -9,6 +9,4 @@ image: '{{values "prodAccountId"}}.dkr.ecr.<%- region %>.amazonaws.com/{{values
|
|
|
9
9
|
# datadogSecretId: arn:aws:secretsmanager:<%- region %>:<aws-account-id>:secret:<secret-name>
|
|
10
10
|
|
|
11
11
|
tags:
|
|
12
|
-
seek:
|
|
13
|
-
seek:source:url: 'https://github.com/SEEK-Jobs/<%- repoName %>'
|
|
14
|
-
# seek:system:name: 'TODO: https://rfc.skinfra.xyz/RFC019-AWS-Tagging-Standard.html#required-tags'
|
|
12
|
+
# seek:system:name: 'TODO: https://rfc.skinfra.xyz/RFC051-AWS-Tagging-Standard.html#tagging-schema'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
22
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1.
|
|
1
|
+
# syntax=docker/dockerfile:1.14
|
|
2
2
|
|
|
3
|
-
FROM public.ecr.aws/docker/library/node:
|
|
3
|
+
FROM public.ecr.aws/docker/library/node:22-alpine AS dev-deps
|
|
4
4
|
|
|
5
5
|
RUN --mount=type=bind,source=package.json,target=package.json \
|
|
6
6
|
corepack enable pnpm && corepack install
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@types/co-body": "^6.1.3",
|
|
37
37
|
"@types/koa": "^2.13.4",
|
|
38
38
|
"@types/koa__router": "^12.0.0",
|
|
39
|
-
"@types/node": "^
|
|
39
|
+
"@types/node": "^22.13.10",
|
|
40
40
|
"@types/supertest": "^6.0.0",
|
|
41
41
|
"chance": "^1.1.8",
|
|
42
42
|
"mime": "^4.0.1",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"skuba": "*",
|
|
45
45
|
"supertest": "^7.0.0"
|
|
46
46
|
},
|
|
47
|
-
"packageManager": "pnpm@
|
|
47
|
+
"packageManager": "pnpm@10.6.1",
|
|
48
48
|
"engines": {
|
|
49
|
-
"node": ">=
|
|
49
|
+
"node": ">=22"
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
// open-telemetry/opentelemetry-js#3580
|
|
6
6
|
"DOM",
|
|
7
7
|
|
|
8
|
-
"
|
|
8
|
+
"ES2024"
|
|
9
9
|
],
|
|
10
10
|
"outDir": "lib",
|
|
11
11
|
"paths": {
|
|
12
12
|
"src": ["src"]
|
|
13
13
|
},
|
|
14
|
-
"target": "
|
|
14
|
+
"target": "ES2024"
|
|
15
15
|
},
|
|
16
16
|
"exclude": ["lib*/**/*"],
|
|
17
17
|
"extends": "skuba/config/tsconfig.json"
|
|
@@ -33,7 +33,7 @@ configs:
|
|
|
33
33
|
- *aws-sm
|
|
34
34
|
- *private-npm
|
|
35
35
|
- *docker-ecr-cache
|
|
36
|
-
- docker-compose#v5.
|
|
36
|
+
- docker-compose#v5.6.0:
|
|
37
37
|
dependencies: false
|
|
38
38
|
run: app
|
|
39
39
|
environment:
|
|
@@ -63,7 +63,7 @@ steps:
|
|
|
63
63
|
- *aws-sm
|
|
64
64
|
- *private-npm
|
|
65
65
|
- *docker-ecr-cache
|
|
66
|
-
- docker-compose#v5.
|
|
66
|
+
- docker-compose#v5.6.0:
|
|
67
67
|
run: app
|
|
68
68
|
environment:
|
|
69
69
|
- GITHUB_API_TOKEN
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
22
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1.
|
|
1
|
+
# syntax=docker/dockerfile:1.14
|
|
2
2
|
|
|
3
|
-
FROM public.ecr.aws/docker/library/node:
|
|
3
|
+
FROM public.ecr.aws/docker/library/node:22-alpine AS dev-deps
|
|
4
4
|
|
|
5
5
|
# Needed for cdk
|
|
6
|
-
RUN apk add --no-cache bash
|
|
6
|
+
RUN apk add --no-cache bash git
|
|
7
7
|
|
|
8
8
|
RUN --mount=type=bind,source=package.json,target=package.json \
|
|
9
9
|
corepack enable pnpm && corepack install
|
|
@@ -227,7 +227,7 @@ exports[`returns expected CloudFormation stack for dev 1`] = `
|
|
|
227
227
|
"Arn",
|
|
228
228
|
],
|
|
229
229
|
},
|
|
230
|
-
"Runtime": "
|
|
230
|
+
"Runtime": "nodejs22.x",
|
|
231
231
|
"Tags": [
|
|
232
232
|
{
|
|
233
233
|
"Key": "aws-codedeploy-hooks",
|
|
@@ -953,7 +953,7 @@ exports[`returns expected CloudFormation stack for prod 1`] = `
|
|
|
953
953
|
"Arn",
|
|
954
954
|
],
|
|
955
955
|
},
|
|
956
|
-
"Runtime": "
|
|
956
|
+
"Runtime": "nodejs22.x",
|
|
957
957
|
"Tags": [
|
|
958
958
|
{
|
|
959
959
|
"Key": "aws-codedeploy-hooks",
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
aws_sqs,
|
|
14
14
|
} from 'aws-cdk-lib';
|
|
15
15
|
import type { Construct } from 'constructs';
|
|
16
|
-
import {
|
|
16
|
+
import { DatadogLambda } from 'datadog-cdk-constructs-v2';
|
|
17
17
|
|
|
18
18
|
import { config } from './config';
|
|
19
19
|
|
|
@@ -80,7 +80,7 @@ export class AppStack extends Stack {
|
|
|
80
80
|
|
|
81
81
|
const worker = new aws_lambda_nodejs.NodejsFunction(this, 'worker', {
|
|
82
82
|
architecture: aws_lambda.Architecture[architecture],
|
|
83
|
-
runtime: aws_lambda.Runtime.
|
|
83
|
+
runtime: aws_lambda.Runtime.NODEJS_22_X,
|
|
84
84
|
environmentEncryption: kmsKey,
|
|
85
85
|
// aws-sdk-v3 sets this to true by default, so it is not necessary to set the environment variable
|
|
86
86
|
// https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-reusing-connections.html
|
|
@@ -89,7 +89,7 @@ export class AppStack extends Stack {
|
|
|
89
89
|
timeout: Duration.seconds(30),
|
|
90
90
|
bundling: {
|
|
91
91
|
sourceMap: true,
|
|
92
|
-
target: '
|
|
92
|
+
target: 'node22',
|
|
93
93
|
// aws-sdk-v3 is set as an external module by default, but we want it to be bundled with the function
|
|
94
94
|
externalModules: [],
|
|
95
95
|
nodeModules: ['datadog-lambda-js', 'dd-trace'],
|
|
@@ -117,7 +117,7 @@ export class AppStack extends Stack {
|
|
|
117
117
|
config.datadogApiKeySecretArn,
|
|
118
118
|
);
|
|
119
119
|
|
|
120
|
-
const datadog = new
|
|
120
|
+
const datadog = new DatadogLambda(this, 'datadog', {
|
|
121
121
|
apiKeySecret: datadogSecret,
|
|
122
122
|
addLayers: false,
|
|
123
123
|
enableDatadogLogs: false,
|
|
@@ -4,7 +4,7 @@ const ENVIRONMENTS = ['dev', 'prod'] as const;
|
|
|
4
4
|
|
|
5
5
|
type Environment = (typeof ENVIRONMENTS)[number];
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
const environment = Env.oneOf(ENVIRONMENTS)('ENVIRONMENT');
|
|
8
8
|
|
|
9
9
|
interface Config {
|
|
10
10
|
appName: string;
|
|
@@ -2,17 +2,15 @@ import { HookStack } from '@seek/aws-codedeploy-infra';
|
|
|
2
2
|
import { App } from 'aws-cdk-lib';
|
|
3
3
|
|
|
4
4
|
import { AppStack } from './appStack';
|
|
5
|
-
import { config
|
|
5
|
+
import { config } from './config';
|
|
6
6
|
|
|
7
7
|
const app = new App();
|
|
8
8
|
|
|
9
9
|
const appStack = new AppStack(app, 'appStack', {
|
|
10
10
|
stackName: config.appName,
|
|
11
11
|
tags: {
|
|
12
|
-
'seek:
|
|
13
|
-
'seek:
|
|
14
|
-
// 'seek:source:url': 'TODO: add source URL',
|
|
15
|
-
// 'seek:system:name': 'TODO: add system name',
|
|
12
|
+
'seek:source:url': 'https://github.com/SEEK-Jobs/<%- repoName %>',
|
|
13
|
+
// 'seek:system:name': 'TODO: https://rfc.skinfra.xyz/RFC051-AWS-Tagging-Standard.html#tagging-schema',
|
|
16
14
|
},
|
|
17
15
|
});
|
|
18
16
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@aws-sdk/client-lambda": "^3.363.0",
|
|
19
19
|
"@aws-sdk/client-sns": "^3.363.0",
|
|
20
20
|
"@seek/logger": "^9.0.0",
|
|
21
|
-
"datadog-lambda-js": "^
|
|
21
|
+
"datadog-lambda-js": "^10.0.0",
|
|
22
22
|
"dd-trace": "^5.0.0",
|
|
23
23
|
"skuba-dive": "^2.0.0",
|
|
24
24
|
"zod": "^3.19.1"
|
|
@@ -27,19 +27,19 @@
|
|
|
27
27
|
"@seek/aws-codedeploy-infra": "^2.1.0",
|
|
28
28
|
"@types/aws-lambda": "^8.10.82",
|
|
29
29
|
"@types/chance": "^1.1.3",
|
|
30
|
-
"@types/node": "^
|
|
30
|
+
"@types/node": "^22.13.10",
|
|
31
31
|
"aws-cdk": "^2.167.1",
|
|
32
32
|
"aws-cdk-lib": "^2.167.1",
|
|
33
33
|
"aws-sdk-client-mock": "^4.0.0",
|
|
34
34
|
"aws-sdk-client-mock-jest": "^4.0.0",
|
|
35
35
|
"chance": "^1.1.8",
|
|
36
36
|
"constructs": "^10.0.17",
|
|
37
|
-
"datadog-cdk-constructs-v2": "^
|
|
37
|
+
"datadog-cdk-constructs-v2": "^2.0.0",
|
|
38
38
|
"pino-pretty": "^13.0.0",
|
|
39
|
-
"skuba": "
|
|
39
|
+
"skuba": "10.0.0-main-20250312042528"
|
|
40
40
|
},
|
|
41
|
-
"packageManager": "pnpm@
|
|
41
|
+
"packageManager": "pnpm@10.6.1",
|
|
42
42
|
"engines": {
|
|
43
|
-
"node": ">=
|
|
43
|
+
"node": ">=22"
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"baseUrl": ".",
|
|
4
|
-
"lib": ["
|
|
4
|
+
"lib": ["ES2024"],
|
|
5
5
|
"outDir": "lib",
|
|
6
6
|
"paths": {
|
|
7
7
|
"src": ["src"]
|
|
8
8
|
},
|
|
9
|
-
"target": "
|
|
9
|
+
"target": "ES2024"
|
|
10
10
|
},
|
|
11
11
|
"exclude": ["lib*/**/*"],
|
|
12
12
|
"extends": "skuba/config/tsconfig.json"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
22
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
22
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@types/node": "^
|
|
37
|
+
"@types/node": "^22.13.10",
|
|
38
38
|
"commitizen": "^4.2.4",
|
|
39
39
|
"skuba": "*"
|
|
40
40
|
},
|
|
41
41
|
"packageManager": "pnpm@8.15.1",
|
|
42
42
|
"engines": {
|
|
43
|
-
"node": ">=
|
|
43
|
+
"node": ">=22"
|
|
44
44
|
}
|
|
45
45
|
}
|