skuba 10.0.0-node-22-20250226231811 → 10.0.1-consider-current-path-20250314071804

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.
Files changed (53) hide show
  1. package/lib/cli/configure/analyseDependencies.js +4 -1
  2. package/lib/cli/configure/analyseDependencies.js.map +2 -2
  3. package/lib/cli/configure/index.js +2 -2
  4. package/lib/cli/configure/index.js.map +2 -2
  5. package/lib/cli/configure/modules/package.js +4 -1
  6. package/lib/cli/configure/modules/package.js.map +2 -2
  7. package/lib/cli/init/getConfig.js +2 -2
  8. package/lib/cli/init/getConfig.js.map +2 -2
  9. package/lib/cli/lint/index.js +1 -1
  10. package/lib/cli/lint/index.js.map +2 -2
  11. package/lib/cli/lint/internal.js +2 -1
  12. package/lib/cli/lint/internal.js.map +2 -2
  13. package/lib/cli/lint/internalLints/detectBadCodeowners.d.ts +4 -0
  14. package/lib/cli/lint/internalLints/detectBadCodeowners.js +72 -0
  15. package/lib/cli/lint/internalLints/detectBadCodeowners.js.map +7 -0
  16. package/lib/cli/lint/internalLints/noSkubaTemplateJs.js +2 -2
  17. package/lib/cli/lint/internalLints/noSkubaTemplateJs.js.map +2 -2
  18. package/lib/cli/lint/internalLints/refreshConfigFiles.js +1 -1
  19. package/lib/cli/lint/internalLints/refreshConfigFiles.js.map +2 -2
  20. package/lib/cli/lint/internalLints/upgrade/index.js +2 -2
  21. package/lib/cli/lint/internalLints/upgrade/index.js.map +2 -2
  22. package/lib/cli/migrate/nodeVersion/checks.d.ts +4 -4
  23. package/lib/cli/migrate/nodeVersion/checks.js +21 -11
  24. package/lib/cli/migrate/nodeVersion/checks.js.map +2 -2
  25. package/lib/cli/migrate/nodeVersion/getNodeTypesVersion.js +13 -33
  26. package/lib/cli/migrate/nodeVersion/getNodeTypesVersion.js.map +3 -3
  27. package/lib/cli/migrate/nodeVersion/index.js +8 -4
  28. package/lib/cli/migrate/nodeVersion/index.js.map +2 -2
  29. package/lib/utils/copy.d.ts +1 -1
  30. package/lib/utils/copy.js +11 -3
  31. package/lib/utils/copy.js.map +2 -2
  32. package/lib/utils/logo.js +3 -1
  33. package/lib/utils/logo.js.map +2 -2
  34. package/lib/utils/packageManager.d.ts +11 -8
  35. package/lib/utils/packageManager.js +23 -10
  36. package/lib/utils/packageManager.js.map +2 -2
  37. package/lib/utils/version.d.ts +17 -1
  38. package/lib/utils/version.js +48 -18
  39. package/lib/utils/version.js.map +3 -3
  40. package/package.json +6 -10
  41. package/template/express-rest-api/.gantry/common.yml +0 -1
  42. package/template/express-rest-api/Dockerfile.dev-deps +1 -1
  43. package/template/express-rest-api/package.json +2 -2
  44. package/template/greeter/Dockerfile +1 -1
  45. package/template/greeter/package.json +3 -3
  46. package/template/koa-rest-api/.gantry/common.yml +0 -1
  47. package/template/koa-rest-api/Dockerfile.dev-deps +1 -1
  48. package/template/koa-rest-api/package.json +2 -2
  49. package/template/lambda-sqs-worker-cdk/Dockerfile +1 -1
  50. package/template/lambda-sqs-worker-cdk/infra/appStack.ts +2 -2
  51. package/template/lambda-sqs-worker-cdk/package.json +5 -5
  52. package/template/oss-npm-package/_package.json +1 -1
  53. package/template/private-npm-package/_package.json +1 -1
@@ -28,31 +28,60 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var version_exports = {};
30
30
  __export(version_exports, {
31
+ getLatestNpmVersion: () => getLatestNpmVersion,
32
+ getNpmVersions: () => getNpmVersions,
31
33
  getSkubaVersion: () => getSkubaVersion,
32
- getSkubaVersionInfo: () => getSkubaVersionInfo,
33
- latestNpmVersion: () => latestNpmVersion
34
+ getSkubaVersionInfo: () => getSkubaVersionInfo
34
35
  });
35
36
  module.exports = __toCommonJS(version_exports);
36
- var import_libnpmsearch = __toESM(require("libnpmsearch"));
37
- var import_validate_npm_package_name = __toESM(require("validate-npm-package-name"));
37
+ var import_npm_registry_fetch = __toESM(require("npm-registry-fetch"));
38
+ var import_zod = require("zod");
38
39
  var import_manifest = require("./manifest");
39
40
  var import_wait = require("./wait");
40
- const latestNpmVersion = async (packageName) => {
41
- const { validForNewPackages } = (0, import_validate_npm_package_name.default)(packageName);
42
- if (!validForNewPackages) {
43
- throw new Error(`Package "${packageName}" does not have a valid name`);
44
- }
45
- const [result] = await (0, import_libnpmsearch.default)(packageName, { limit: 1, timeout: 5e3 });
46
- if (result?.name !== packageName) {
47
- throw new Error(
48
- `Package "${packageName}" does not exist on the npm registry`
49
- );
41
+ const NpmVersions = import_zod.z.record(
42
+ import_zod.z.string(),
43
+ import_zod.z.object({
44
+ name: import_zod.z.string(),
45
+ version: import_zod.z.string(),
46
+ deprecated: import_zod.z.string().optional()
47
+ })
48
+ );
49
+ const PackageResponse = import_zod.z.object({
50
+ "dist-tags": import_zod.z.record(import_zod.z.string(), import_zod.z.string()).optional(),
51
+ versions: NpmVersions
52
+ });
53
+ const getNpmPackage = async (packageName) => {
54
+ try {
55
+ const response = await import_npm_registry_fetch.default.json(packageName, {
56
+ headers: {
57
+ Accept: "application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"
58
+ }
59
+ });
60
+ const parsedResponse = PackageResponse.safeParse(response);
61
+ if (!parsedResponse.success) {
62
+ throw new Error(
63
+ `Failed to parse package response from npm for package ${packageName}`
64
+ );
65
+ }
66
+ return parsedResponse.data;
67
+ } catch (error) {
68
+ if (error instanceof Error && "statusCode" in error && error.statusCode === 404) {
69
+ return null;
70
+ }
71
+ throw error;
50
72
  }
51
- return result.version;
73
+ };
74
+ const getNpmVersions = async (packageName) => {
75
+ const response = await getNpmPackage(packageName);
76
+ return response?.versions ?? null;
77
+ };
78
+ const getLatestNpmVersion = async (packageName) => {
79
+ const response = await getNpmPackage(packageName);
80
+ return response?.["dist-tags"]?.latest ?? null;
52
81
  };
53
82
  const latestSkubaVersion = async () => {
54
83
  try {
55
- const result = await (0, import_wait.withTimeout)(latestNpmVersion("skuba"), { s: 2 });
84
+ const result = await (0, import_wait.withTimeout)(getLatestNpmVersion("skuba"), { s: 2 });
56
85
  return result.ok ? result.value : null;
57
86
  } catch {
58
87
  return null;
@@ -82,8 +111,9 @@ const getSkubaVersionInfo = async () => {
82
111
  };
83
112
  // Annotate the CommonJS export names for ESM import in node:
84
113
  0 && (module.exports = {
114
+ getLatestNpmVersion,
115
+ getNpmVersions,
85
116
  getSkubaVersion,
86
- getSkubaVersionInfo,
87
- latestNpmVersion
117
+ getSkubaVersionInfo
88
118
  });
89
119
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/version.ts"],
4
- "sourcesContent": ["import searchNpm from 'libnpmsearch';\nimport validatePackageName from 'validate-npm-package-name';\n\nimport { getSkubaManifest } from './manifest';\nimport { withTimeout } from './wait';\n\nexport const latestNpmVersion = async (\n packageName: string,\n): Promise<string> => {\n const { validForNewPackages } = validatePackageName(packageName);\n\n if (!validForNewPackages) {\n throw new Error(`Package \"${packageName}\" does not have a valid name`);\n }\n\n const [result] = await searchNpm(packageName, { limit: 1, timeout: 5_000 });\n\n if (result?.name !== packageName) {\n throw new Error(\n `Package \"${packageName}\" does not exist on the npm registry`,\n );\n }\n\n return result.version;\n};\n\nconst latestSkubaVersion = async (): Promise<string | null> => {\n try {\n const result = await withTimeout(latestNpmVersion('skuba'), { s: 2 });\n\n return result.ok ? result.value : null;\n } catch {\n return null;\n }\n};\n\nexport const getSkubaVersion = async (): Promise<string> => {\n const { version } = await getSkubaManifest();\n\n return version;\n};\n\ntype SkubaVersionInfo =\n | {\n isStale: true;\n\n local: string;\n latest: string;\n }\n | {\n isStale: false;\n\n local: string;\n latest: string | null;\n };\n\nexport const getSkubaVersionInfo = async (): Promise<SkubaVersionInfo> => {\n const [local, latest] = await Promise.all([\n getSkubaVersion(),\n latestSkubaVersion(),\n ]);\n\n if (latest === null) {\n // Assume we're up to date if we can't reach the npm registry\n return {\n isStale: false,\n local,\n latest,\n };\n }\n\n return {\n isStale: latest !== local,\n local,\n latest,\n };\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAsB;AACtB,uCAAgC;AAEhC,sBAAiC;AACjC,kBAA4B;AAErB,MAAM,mBAAmB,OAC9B,gBACoB;AACpB,QAAM,EAAE,oBAAoB,QAAI,iCAAAA,SAAoB,WAAW;AAE/D,MAAI,CAAC,qBAAqB;AACxB,UAAM,IAAI,MAAM,YAAY,WAAW,8BAA8B;AAAA,EACvE;AAEA,QAAM,CAAC,MAAM,IAAI,UAAM,oBAAAC,SAAU,aAAa,EAAE,OAAO,GAAG,SAAS,IAAM,CAAC;AAE1E,MAAI,QAAQ,SAAS,aAAa;AAChC,UAAM,IAAI;AAAA,MACR,YAAY,WAAW;AAAA,IACzB;AAAA,EACF;AAEA,SAAO,OAAO;AAChB;AAEA,MAAM,qBAAqB,YAAoC;AAC7D,MAAI;AACF,UAAM,SAAS,UAAM,yBAAY,iBAAiB,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAEpE,WAAO,OAAO,KAAK,OAAO,QAAQ;AAAA,EACpC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB,YAA6B;AAC1D,QAAM,EAAE,QAAQ,IAAI,UAAM,kCAAiB;AAE3C,SAAO;AACT;AAgBO,MAAM,sBAAsB,YAAuC;AACxE,QAAM,CAAC,OAAO,MAAM,IAAI,MAAM,QAAQ,IAAI;AAAA,IACxC,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,EACrB,CAAC;AAED,MAAI,WAAW,MAAM;AAEnB,WAAO;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS,WAAW;AAAA,IACpB;AAAA,IACA;AAAA,EACF;AACF;",
6
- "names": ["validatePackageName", "searchNpm"]
4
+ "sourcesContent": ["import npmFetch from 'npm-registry-fetch';\nimport { z } from 'zod';\n\nimport { getSkubaManifest } from './manifest';\nimport { withTimeout } from './wait';\n\nconst NpmVersions = z.record(\n z.string(),\n z.object({\n name: z.string(),\n version: z.string(),\n deprecated: z.string().optional(),\n }),\n);\n\nexport type NpmVersions = z.infer<typeof NpmVersions>;\n\nconst PackageResponse = z.object({\n 'dist-tags': z.record(z.string(), z.string()).optional(),\n versions: NpmVersions,\n});\n\nconst getNpmPackage = async (packageName: string) => {\n try {\n const response = await npmFetch.json(packageName, {\n headers: {\n Accept:\n 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*',\n },\n });\n\n const parsedResponse = PackageResponse.safeParse(response);\n if (!parsedResponse.success) {\n throw new Error(\n `Failed to parse package response from npm for package ${packageName}`,\n );\n }\n\n return parsedResponse.data;\n } catch (error) {\n if (\n error instanceof Error &&\n 'statusCode' in error &&\n error.statusCode === 404\n ) {\n return null;\n }\n throw error;\n }\n};\n\nexport const getNpmVersions = async (\n packageName: string,\n): Promise<NpmVersions | null> => {\n const response = await getNpmPackage(packageName);\n return response?.versions ?? null;\n};\n\nexport const getLatestNpmVersion = async (\n packageName: string,\n): Promise<string | null> => {\n const response = await getNpmPackage(packageName);\n return response?.['dist-tags']?.latest ?? null;\n};\n\nconst latestSkubaVersion = async (): Promise<string | null> => {\n try {\n const result = await withTimeout(getLatestNpmVersion('skuba'), { s: 2 });\n\n return result.ok ? result.value : null;\n } catch {\n return null;\n }\n};\n\nexport const getSkubaVersion = async (): Promise<string> => {\n const { version } = await getSkubaManifest();\n\n return version;\n};\n\ntype SkubaVersionInfo =\n | {\n isStale: true;\n\n local: string;\n latest: string;\n }\n | {\n isStale: false;\n\n local: string;\n latest: string | null;\n };\n\nexport const getSkubaVersionInfo = async (): Promise<SkubaVersionInfo> => {\n const [local, latest] = await Promise.all([\n getSkubaVersion(),\n latestSkubaVersion(),\n ]);\n\n if (latest === null) {\n // Assume we're up to date if we can't reach the npm registry\n return {\n isStale: false,\n local,\n latest,\n };\n }\n\n return {\n isStale: latest !== local,\n local,\n latest,\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAqB;AACrB,iBAAkB;AAElB,sBAAiC;AACjC,kBAA4B;AAE5B,MAAM,cAAc,aAAE;AAAA,EACpB,aAAE,OAAO;AAAA,EACT,aAAE,OAAO;AAAA,IACP,MAAM,aAAE,OAAO;AAAA,IACf,SAAS,aAAE,OAAO;AAAA,IAClB,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAClC,CAAC;AACH;AAIA,MAAM,kBAAkB,aAAE,OAAO;AAAA,EAC/B,aAAa,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACvD,UAAU;AACZ,CAAC;AAED,MAAM,gBAAgB,OAAO,gBAAwB;AACnD,MAAI;AACF,UAAM,WAAW,MAAM,0BAAAA,QAAS,KAAK,aAAa;AAAA,MAChD,SAAS;AAAA,QACP,QACE;AAAA,MACJ;AAAA,IACF,CAAC;AAED,UAAM,iBAAiB,gBAAgB,UAAU,QAAQ;AACzD,QAAI,CAAC,eAAe,SAAS;AAC3B,YAAM,IAAI;AAAA,QACR,yDAAyD,WAAW;AAAA,MACtE;AAAA,IACF;AAEA,WAAO,eAAe;AAAA,EACxB,SAAS,OAAO;AACd,QACE,iBAAiB,SACjB,gBAAgB,SAChB,MAAM,eAAe,KACrB;AACA,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACF;AAEO,MAAM,iBAAiB,OAC5B,gBACgC;AAChC,QAAM,WAAW,MAAM,cAAc,WAAW;AAChD,SAAO,UAAU,YAAY;AAC/B;AAEO,MAAM,sBAAsB,OACjC,gBAC2B;AAC3B,QAAM,WAAW,MAAM,cAAc,WAAW;AAChD,SAAO,WAAW,WAAW,GAAG,UAAU;AAC5C;AAEA,MAAM,qBAAqB,YAAoC;AAC7D,MAAI;AACF,UAAM,SAAS,UAAM,yBAAY,oBAAoB,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvE,WAAO,OAAO,KAAK,OAAO,QAAQ;AAAA,EACpC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB,YAA6B;AAC1D,QAAM,EAAE,QAAQ,IAAI,UAAM,kCAAiB;AAE3C,SAAO;AACT;AAgBO,MAAM,sBAAsB,YAAuC;AACxE,QAAM,CAAC,OAAO,MAAM,IAAI,MAAM,QAAQ,IAAI;AAAA,IACxC,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,EACrB,CAAC;AAED,MAAI,WAAW,MAAM;AAEnB,WAAO;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,SAAS,WAAW;AAAA,IACpB;AAAA,IACA;AAAA,EACF;AACF;",
6
+ "names": ["npmFetch"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skuba",
3
- "version": "10.0.0-node-22-20250226231811",
3
+ "version": "10.0.1-consider-current-path-20250314071804",
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",
@@ -78,7 +78,6 @@
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",
@@ -97,13 +96,12 @@
97
96
  "tsconfig-paths": "^4.0.0",
98
97
  "tsconfig-seek": "2.0.0",
99
98
  "tsx": "^4.16.2",
100
- "typescript": "~5.7.0",
101
- "validate-npm-package-name": "^6.0.0",
99
+ "typescript": "~5.8.0",
102
100
  "zod": "^3.22.4",
103
- "eslint-config-skuba": "5.1.0-node-22-20250226231811"
101
+ "eslint-config-skuba": "5.1.0"
104
102
  },
105
103
  "devDependencies": {
106
- "@changesets/cli": "2.27.12",
104
+ "@changesets/cli": "2.28.1",
107
105
  "@changesets/get-github-info": "0.6.0",
108
106
  "@jest/reporters": "29.7.0",
109
107
  "@jest/test-result": "29.7.0",
@@ -111,7 +109,6 @@
111
109
  "@types/express": "5.0.0",
112
110
  "@types/fs-extra": "11.0.4",
113
111
  "@types/koa": "2.15.0",
114
- "@types/libnpmsearch": "2.0.7",
115
112
  "@types/lodash.mergewith": "4.6.9",
116
113
  "@types/minimist": "1.2.5",
117
114
  "@types/module-alias": "2.0.4",
@@ -120,13 +117,12 @@
120
117
  "@types/picomatch": "3.0.2",
121
118
  "@types/semver": "7.5.8",
122
119
  "@types/supertest": "6.0.2",
123
- "@types/validate-npm-package-name": "4.0.2",
124
120
  "enhanced-resolve": "5.18.1",
125
121
  "express": "5.0.1",
126
122
  "fastify": "5.2.1",
127
123
  "jest-diff": "29.7.0",
128
124
  "jsonfile": "6.1.0",
129
- "koa": "2.15.4",
125
+ "koa": "2.16.0",
130
126
  "memfs": "4.17.0",
131
127
  "remark-cli": "12.0.1",
132
128
  "remark-preset-lint-recommended": "7.0.1",
@@ -153,7 +149,7 @@
153
149
  "entryPoint": "src/index.ts",
154
150
  "template": null,
155
151
  "type": "package",
156
- "version": "9.1.0"
152
+ "version": "10.0.0"
157
153
  },
158
154
  "scripts": {
159
155
  "build": "scripts/build.sh",
@@ -9,5 +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:source:url: 'https://github.com/SEEK-Jobs/<%- repoName %>'
13
12
  # seek:system:name: 'TODO: https://rfc.skinfra.xyz/RFC051-AWS-Tagging-Standard.html#tagging-schema'
@@ -1,4 +1,4 @@
1
- # syntax=docker/dockerfile:1.13
1
+ # syntax=docker/dockerfile:1.14
2
2
 
3
3
  FROM public.ecr.aws/docker/library/node:22-alpine AS dev-deps
4
4
 
@@ -21,14 +21,14 @@
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/express": "^5.0.0",
24
- "@types/node": "^22.13.1",
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@9.15.4",
31
+ "packageManager": "pnpm@10.6.3",
32
32
  "engines": {
33
33
  "node": ">=22"
34
34
  }
@@ -1,4 +1,4 @@
1
- # syntax=docker/dockerfile:1.13
1
+ # syntax=docker/dockerfile:1.14
2
2
 
3
3
  FROM public.ecr.aws/docker/library/node:22-alpine AS dev-deps
4
4
 
@@ -16,10 +16,10 @@
16
16
  "skuba-dive": "^2.0.0"
17
17
  },
18
18
  "devDependencies": {
19
- "@types/node": "^22.13.1",
20
- "skuba": "10.0.0-node-22-20250226231811"
19
+ "@types/node": "^22.13.10",
20
+ "skuba": "10.0.1-consider-current-path-20250314071804"
21
21
  },
22
- "packageManager": "pnpm@9.15.4",
22
+ "packageManager": "pnpm@10.6.3",
23
23
  "engines": {
24
24
  "node": ">=22"
25
25
  }
@@ -9,5 +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:source:url: 'https://github.com/SEEK-Jobs/<%- repoName %>'
13
12
  # seek:system:name: 'TODO: https://rfc.skinfra.xyz/RFC051-AWS-Tagging-Standard.html#tagging-schema'
@@ -1,4 +1,4 @@
1
- # syntax=docker/dockerfile:1.13
1
+ # syntax=docker/dockerfile:1.14
2
2
 
3
3
  FROM public.ecr.aws/docker/library/node:22-alpine AS dev-deps
4
4
 
@@ -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": "^22.13.1",
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,7 +44,7 @@
44
44
  "skuba": "*",
45
45
  "supertest": "^7.0.0"
46
46
  },
47
- "packageManager": "pnpm@9.15.4",
47
+ "packageManager": "pnpm@10.6.3",
48
48
  "engines": {
49
49
  "node": ">=22"
50
50
  }
@@ -1,4 +1,4 @@
1
- # syntax=docker/dockerfile:1.13
1
+ # syntax=docker/dockerfile:1.14
2
2
 
3
3
  FROM public.ecr.aws/docker/library/node:22-alpine AS dev-deps
4
4
 
@@ -13,7 +13,7 @@ import {
13
13
  aws_sqs,
14
14
  } from 'aws-cdk-lib';
15
15
  import type { Construct } from 'constructs';
16
- import { Datadog } from 'datadog-cdk-constructs-v2';
16
+ import { DatadogLambda } from 'datadog-cdk-constructs-v2';
17
17
 
18
18
  import { config } from './config';
19
19
 
@@ -117,7 +117,7 @@ export class AppStack extends Stack {
117
117
  config.datadogApiKeySecretArn,
118
118
  );
119
119
 
120
- const datadog = new Datadog(this, 'datadog', {
120
+ const datadog = new DatadogLambda(this, 'datadog', {
121
121
  apiKeySecret: datadogSecret,
122
122
  addLayers: false,
123
123
  enableDatadogLogs: false,
@@ -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": "^9.0.0",
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,18 +27,18 @@
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": "^22.13.1",
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": "^1.18.0",
37
+ "datadog-cdk-constructs-v2": "^2.0.0",
38
38
  "pino-pretty": "^13.0.0",
39
- "skuba": "10.0.0-node-22-20250226231811"
39
+ "skuba": "10.0.1-consider-current-path-20250314071804"
40
40
  },
41
- "packageManager": "pnpm@9.15.4",
41
+ "packageManager": "pnpm@10.6.3",
42
42
  "engines": {
43
43
  "node": ">=22"
44
44
  }
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {},
36
36
  "devDependencies": {
37
- "@types/node": "^22.13.1",
37
+ "@types/node": "^22.13.10",
38
38
  "commitizen": "^4.2.4",
39
39
  "skuba": "*"
40
40
  },
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {},
36
36
  "devDependencies": {
37
- "@types/node": "^22.13.1",
37
+ "@types/node": "^22.13.10",
38
38
  "commitizen": "^4.2.4",
39
39
  "skuba": "*"
40
40
  },