diff --git a/README.md b/README.md index bf5b7926..37b7ef8d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Content API -These are the services that back our [Content API](https://developers.wellcomecollection.org/api/content). The Content API exposes our non-catalogue content: at the moment, that's just articles, but in the future it might include endpoints for events, exhibitions, and functional content. +These are the services that back our [Content API](https://developers.wellcomecollection.org/api/content). The Content API exposes our non-catalogue content. There are endpoints for `articles`, `events`, and `all` (where `all` includes articles, books, events, exhibitions, exhibition texts, exhibition highlight tours (BSL), exhibition highlight tours (audio), pages, projects, seasons, and visual stories). ![Architecture diagram](https://github.com/wellcomecollection/content-api/assets/4429247/b29a6bf5-f5af-426c-b827-550b84c5541c) diff --git a/api/.nvmrc b/api/.nvmrc new file mode 100644 index 00000000..13f4d2c5 --- /dev/null +++ b/api/.nvmrc @@ -0,0 +1 @@ +v24.13.0 \ No newline at end of file diff --git a/api/package.json b/api/package.json index c74d5f0a..3c31e650 100644 --- a/api/package.json +++ b/api/package.json @@ -24,7 +24,7 @@ "@types/jest": "^30.0.0", "@types/luxon": "^3.7.1", "@types/morgan": "^1.9.10", - "@types/node": "^24.1.0", + "@types/node": "^24.10.13", "@types/supertest": "^6.0.3", "jest": "^30.2.0", "jest-extended": "^7.0.0", diff --git a/unpublisher/.nvmrc b/unpublisher/.nvmrc new file mode 100644 index 00000000..13f4d2c5 --- /dev/null +++ b/unpublisher/.nvmrc @@ -0,0 +1 @@ +v24.13.0 \ No newline at end of file diff --git a/unpublisher/Dockerfile b/unpublisher/Dockerfile index d076deb3..2d441619 100644 --- a/unpublisher/Dockerfile +++ b/unpublisher/Dockerfile @@ -1,5 +1,5 @@ # Build this with the repo root as the build context -FROM public.ecr.aws/docker/library/node:20 +FROM public.ecr.aws/docker/library/node:24 WORKDIR /app diff --git a/unpublisher/package.json b/unpublisher/package.json index 406cafbd..14346bf9 100644 --- a/unpublisher/package.json +++ b/unpublisher/package.json @@ -14,10 +14,10 @@ "zod": "^4.3.6" }, "devDependencies": { - "@tsconfig/node20": "20.1.8", + "@tsconfig/node24": "24.0.4", "@types/aws-lambda": "^8.10.160", "@types/jest": "^30.0.0", - "@types/node": "^20.16.5", + "@types/node": "^24.10.13", "dotenv": "^17.2.3", "esbuild": "^0.27.2", "jest": "^30.2.0", diff --git a/yarn.lock b/yarn.lock index f8531965..cd6c5ac4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2100,10 +2100,10 @@ dependencies: undici-types "~7.16.0" -"@types/node@^24.1.0": - version "24.10.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.13.tgz#2fac25c0e30f3848e19912c3b8791a28370e9e07" - integrity sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg== +"@types/node@^24.10.13": + version "24.10.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.14.tgz#374550a07e24c9e4e604ceadfaddec4dd60faa90" + integrity sha512-OowOUbD1lBCOFIPOZ8xnMIhgqA4sCutMiYOmPHL1PTLt5+y1XA+g2+yC9OOyz8p+deMZqPZLxfMjYIfrKsPeFg== dependencies: undici-types "~7.16.0" @@ -6293,7 +6293,16 @@ string-length@^4.0.2: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -6350,7 +6359,14 @@ string_decoder@^1.1.1, string_decoder@^1.3.0: dependencies: safe-buffer "~5.2.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -6904,7 +6920,16 @@ wordwrapjs@^5.1.0: resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-5.1.1.tgz#bfd1eb426f0f7eec73b7df32cf7df1f618bfb3a9" integrity sha512-0yweIbkINJodk27gX9LBGMzyQdBDan3s/dEAiwBOj+Mf0PPyWL6/rikalkv8EeD0E8jm4o5RXEOrFTP3NXbhJg== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==