From b3763643e0c59afd40f6654fa309be33a4b59f1a Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Thu, 18 Dec 2025 10:14:07 -0700 Subject: [PATCH 1/4] update node packages to 24 and supported docker images --- DevDockerfile | 2 +- Dockerfile | 2 +- package-lock.json | 23 +++++++++++++++---- package.json | 4 ++-- .../store/mongoDefinitionPagination.js | 7 ++++-- tsconfig.json | 2 +- 6 files changed, 28 insertions(+), 12 deletions(-) diff --git a/DevDockerfile b/DevDockerfile index 3e2b38977..6230ef853 100644 --- a/DevDockerfile +++ b/DevDockerfile @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation and others. Licensed under the MIT license. # SPDX-License-Identifier: MIT -FROM docker.io/library/node:24-bullseye +FROM docker.io/library/node:24-trixie ENV APPDIR=/opt/service ## get SSH server running diff --git a/Dockerfile b/Dockerfile index 02fca69a5..221502bfe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation and others. Licensed under the MIT license. # SPDX-License-Identifier: MIT -FROM docker.io/library/node:24-bullseye +FROM docker.io/library/node:24-trixie ENV APPDIR=/opt/service ## get SSH server running diff --git a/package-lock.json b/package-lock.json index e3b355444..cedfb2e85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,7 +62,7 @@ "winston": "^3.17.0" }, "devDependencies": { - "@tsconfig/node20": "20.1.6", + "@tsconfig/node24": "24.0.2", "@tsconfig/strictest": "2.0.5", "@types/base-64": "0.1.3", "@types/body-parser": "1.19.6", @@ -144,6 +144,7 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -1164,6 +1165,7 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -1575,6 +1577,7 @@ "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.10.0.tgz", "integrity": "sha512-JXmM4XCoso6C75Mr3lhKA3eNxSzkYi3nCzxDIKY+YOszYsJjuKbFgVtguVPbLMOttN4iu2fXoc2BGhdnYhIOxA==", "license": "MIT", + "peer": true, "dependencies": { "cluster-key-slot": "1.1.2" }, @@ -1683,10 +1686,10 @@ "dev": true, "license": "MIT" }, - "node_modules/@tsconfig/node20": { - "version": "20.1.6", - "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.6.tgz", - "integrity": "sha512-sz+Hqx9zwZDpZIV871WSbUzSqNIsXzghZydypnfgzPKLltVJfkINfUeTct31n/tTSa9ZE1ZOfKdRre1uHHquYQ==", + "node_modules/@tsconfig/node24": { + "version": "24.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node24/-/node24-24.0.2.tgz", + "integrity": "sha512-CNeOLUPI9PjbBc1DSIqb3GF/u+3kX/TDe9DKCzoI62mYI4dEDrMQ0r/9+SfYACP4UNMbiTlz7n8H7Rx/xTisQg==", "dev": true, "license": "MIT" }, @@ -1805,6 +1808,7 @@ "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", @@ -2183,6 +2187,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2232,6 +2237,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -3032,6 +3038,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -3258,6 +3265,7 @@ "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -4499,6 +4507,7 @@ "integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -4766,6 +4775,7 @@ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", + "peer": true, "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", @@ -4809,6 +4819,7 @@ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", "license": "MIT", + "peer": true, "engines": { "node": ">= 16" }, @@ -5499,6 +5510,7 @@ "integrity": "sha512-BL/Xd/T9baO6NFzoMpiMD7YUZ62R6viR5tp/MULVEnbYJXZA//kRNW7J0j1w/wXArgL0sCxhDfK5dczSKn3+cg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 10.x" } @@ -11402,6 +11414,7 @@ "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10.0.0" }, diff --git a/package.json b/package.json index 438db59ad..c0c0455fb 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "winston": "^3.17.0" }, "devDependencies": { - "@tsconfig/node20": "20.1.6", + "@tsconfig/node24": "24.0.2", "@tsconfig/strictest": "2.0.5", "@types/base-64": "0.1.3", "@types/body-parser": "1.19.6", @@ -125,4 +125,4 @@ "testcontainers": "^11.2.1", "typescript": "5.8.3" } -} +} \ No newline at end of file diff --git a/test/providers/store/mongoDefinitionPagination.js b/test/providers/store/mongoDefinitionPagination.js index 2200ede0c..5085223b2 100644 --- a/test/providers/store/mongoDefinitionPagination.js +++ b/test/providers/store/mongoDefinitionPagination.js @@ -33,8 +33,11 @@ const shouldPaginateSearchCorrectly = function () { }) after('cleanup database', async function () { - await mongoStore.collection.drop() - await mongoStore.close() + if (mongoStore) { + await mongoStore.collection.drop() + await mongoStore.close() + } + await mongoServer.stop() }) diff --git a/tsconfig.json b/tsconfig.json index 79140ded0..9e54cca58 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": ["@tsconfig/strictest/tsconfig.json", "@tsconfig/node20/tsconfig.json"], + "extends": ["@tsconfig/strictest/tsconfig.json", "@tsconfig/node24/tsconfig.json"], "compilerOptions": { "allowJs": true, "checkJs": true, From 80bb060606f63e6722c7915f206103b4b911ad70 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Wed, 7 Jan 2026 15:31:47 -0700 Subject: [PATCH 2/4] update ci runner image --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1b8b80498..e13ca77c3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,7 @@ permissions: jobs: test: name: Run tests - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v5 From 644b78e0d0ce09faf3eee1c6461e8ae7cc6a92b7 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Wed, 7 Jan 2026 15:40:35 -0700 Subject: [PATCH 3/4] fix formatting for package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c0c0455fb..9c8f6f534 100644 --- a/package.json +++ b/package.json @@ -125,4 +125,4 @@ "testcontainers": "^11.2.1", "typescript": "5.8.3" } -} \ No newline at end of file +} From 60cc0c161912c7465650679080df94f7e15c7c62 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Wed, 7 Jan 2026 15:47:28 -0700 Subject: [PATCH 4/4] TEMP: remove null check --- test/providers/store/mongoDefinitionPagination.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/test/providers/store/mongoDefinitionPagination.js b/test/providers/store/mongoDefinitionPagination.js index 5085223b2..2200ede0c 100644 --- a/test/providers/store/mongoDefinitionPagination.js +++ b/test/providers/store/mongoDefinitionPagination.js @@ -33,11 +33,8 @@ const shouldPaginateSearchCorrectly = function () { }) after('cleanup database', async function () { - if (mongoStore) { - await mongoStore.collection.drop() - await mongoStore.close() - } - + await mongoStore.collection.drop() + await mongoStore.close() await mongoServer.stop() })