From d071833d0d67c3991c02fec3200242b9cea7846b Mon Sep 17 00:00:00 2001 From: gagik Date: Tue, 9 Dec 2025 12:04:21 +0100 Subject: [PATCH 1/3] chore: filter with evergreen install --- .evergreen.yml | 28 ++++++++++++++++++++++++++++ .evergreen/evergreen.yml.in | 2 ++ .evergreen/install-npm-deps.sh | 20 ++++++++++++++++++-- 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/.evergreen.yml b/.evergreen.yml index 159d59360d..ef0f7b0771 100644 --- a/.evergreen.yml +++ b/.evergreen.yml @@ -163,6 +163,7 @@ functions: DISTRO_ID: ${distro_id} MONOGDB_DRIVER_VERSION_OVERRIDE: ${mongodb_driver_version_override} PUPPETEER_SKIP_DOWNLOAD: ${puppeteer_skip_download|true} + MONGOSH_INSTALL_WORKSPACE: ${mongosh_install_workspace|} script: | set -e set -x @@ -6206,6 +6207,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/arg-parser" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6225,6 +6227,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/async-rewriter2" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6244,6 +6247,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/autocomplete" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6263,6 +6267,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "false" + mongosh_install_workspace: "@mongosh/browser-repl" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6282,6 +6287,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/browser-runtime-core" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6301,6 +6307,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/browser-runtime-electron" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6320,6 +6327,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/build" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6339,6 +6347,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/cli-repl" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6358,6 +6367,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/connectivity-tests" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6377,6 +6387,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/e2e-tests" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6396,6 +6407,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/editor" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6415,6 +6427,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/errors" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6434,6 +6447,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/history" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6453,6 +6467,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/i18n" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6472,6 +6487,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/java-shell" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6491,6 +6507,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/js-multiline-to-singleline" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6510,6 +6527,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/logging" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6529,6 +6547,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/mongosh" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6548,6 +6567,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/node-runtime-worker-thread" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6567,6 +6587,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/service-provider-core" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6586,6 +6607,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/service-provider-node-driver" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6605,6 +6627,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/shell-api" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6624,6 +6647,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/shell-bson" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6643,6 +6667,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/shell-evaluator" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6662,6 +6687,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/snippet-manager" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6681,6 +6707,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/testing" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} @@ -6700,6 +6727,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "true" + mongosh_install_workspace: "@mongosh/types" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} diff --git a/.evergreen/evergreen.yml.in b/.evergreen/evergreen.yml.in index 37aa6caa74..134ef65111 100644 --- a/.evergreen/evergreen.yml.in +++ b/.evergreen/evergreen.yml.in @@ -172,6 +172,7 @@ functions: DISTRO_ID: ${distro_id} MONOGDB_DRIVER_VERSION_OVERRIDE: ${mongodb_driver_version_override} PUPPETEER_SKIP_DOWNLOAD: ${puppeteer_skip_download|true} + MONGOSH_INSTALL_WORKSPACE: ${mongosh_install_workspace|} script: | set -e set -x @@ -1167,6 +1168,7 @@ tasks: vars: node_js_version: ${node_js_version} puppeteer_skip_download: "<% out(usePuppeteer ? "false" : "true") %>" + mongosh_install_workspace: "@mongosh/<% out(packageName) %>" - func: test vars: mongosh_server_test_version: ${mongosh_server_test_version} diff --git a/.evergreen/install-npm-deps.sh b/.evergreen/install-npm-deps.sh index 1752a52b4f..928edc84b7 100755 --- a/.evergreen/install-npm-deps.sh +++ b/.evergreen/install-npm-deps.sh @@ -5,7 +5,13 @@ export BASEDIR="$PWD/.evergreen" . "$BASEDIR/setup-env.sh" -npm ci --verbose +# If MONGOSH_INSTALL_WORKSPACE is set, install only that workspace +if [[ -n "$MONGOSH_INSTALL_WORKSPACE" ]]; then + echo "Installing workspace: $MONGOSH_INSTALL_WORKSPACE" + npm ci -w "$MONGOSH_INSTALL_WORKSPACE" --include-workspace-root --verbose +else + npm ci --verbose +fi echo "MONOGDB_DRIVER_VERSION_OVERRIDE:$MONOGDB_DRIVER_VERSION_OVERRIDE" # if MONOGDB_DRIVER_VERSION_OVERRIDE is set, then we want to replace the package version @@ -28,7 +34,17 @@ npm run mark-ci-required-optional-dependencies # mongodb-client-encryption failed to install (it can't install on some # platforms), then install again ignoring scripts so that the package installs # along with its types, but npm wouldn't try and compile the addon -(npm ci && test -e node_modules/mongodb-client-encryption) || npm ci --ignore-scripts +if [[ -n "$MONGOSH_INSTALL_WORKSPACE" ]]; then + # Check if the workspace or root actually depends on mongodb-client-encryption + if npm ls --workspace "$MONGOSH_INSTALL_WORKSPACE" --depth=1 mongodb-client-encryption > /dev/null 2>&1; then + echo "Workspace or root depends on mongodb-client-encryption, retrying install with optional deps..." + (npm ci -w "$MONGOSH_INSTALL_WORKSPACE" --include-workspace-root && test -e node_modules/mongodb-client-encryption) || npm ci -w "$MONGOSH_INSTALL_WORKSPACE" --include-workspace-root --ignore-scripts + else + echo "Workspace does not depend on mongodb-client-encryption, skipping optional deps reinstall" + fi +else + (npm ci && test -e node_modules/mongodb-client-encryption) || npm ci --ignore-scripts +fi echo "npm packages after installation" npm ls || true From caaf3eb439b5742ef763edc20e329ee3568e800b Mon Sep 17 00:00:00 2001 From: gagik Date: Thu, 13 Nov 2025 19:26:23 +0100 Subject: [PATCH 2/3] chore: fix shell-api, worker-thread tests --- package-lock.json | 8 ++++++- .../node-runtime-worker-thread/package.json | 21 +++++++++++++++++++ .../src/deep-inspect/custom-inspect.ts | 1 + .../shell-api/src/shell-instance-state.ts | 1 + 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 14ad2515e5..d253c92f57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38692,7 +38692,8 @@ "license": "Apache-2.0", "dependencies": { "interruptor": "^1.0.1", - "system-ca": "^2.0.1" + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" }, "devDependencies": { "@mongodb-js/eslint-config-mongosh": "^1.0.0", @@ -38715,6 +38716,11 @@ }, "engines": { "node": ">=14.15.1" + }, + "optionalDependencies": { + "glibc-version": "^1.0.0", + "macos-export-certificate-and-key": "^1.2.4", + "win-export-certificate-and-key": "^2.1.0" } }, "packages/service-provider-core": { diff --git a/packages/node-runtime-worker-thread/package.json b/packages/node-runtime-worker-thread/package.json index 1385da8d26..b43ceab5b3 100644 --- a/packages/node-runtime-worker-thread/package.json +++ b/packages/node-runtime-worker-thread/package.json @@ -56,5 +56,26 @@ "dependencies": { "interruptor": "^1.0.1", "system-ca": "^2.0.1" + }, + "optionalDependencies": { + "glibc-version": "^1.0.0", + "macos-export-certificate-and-key": "^1.2.4", + "win-export-certificate-and-key": "^2.1.0" + }, + "mongosh": { + "ciRequiredOptionalDependencies": { + "macos-export-certificate-and-key": [ + "darwin" + ], + "win-export-certificate-and-key": [ + "win32" + ], + "get-console-process-list": [ + "win32" + ], + "glibc-version": [ + "linux" + ] + } } } diff --git a/packages/shell-api/src/deep-inspect/custom-inspect.ts b/packages/shell-api/src/deep-inspect/custom-inspect.ts index 4282e946d0..467809db5c 100644 --- a/packages/shell-api/src/deep-inspect/custom-inspect.ts +++ b/packages/shell-api/src/deep-inspect/custom-inspect.ts @@ -1,4 +1,5 @@ import type { InspectOptions, inspect as _inspect } from 'util'; +import type { Document } from '@mongosh/service-provider-core'; const customInspectSymbol = Symbol.for('nodejs.util.inspect.custom'); diff --git a/packages/shell-api/src/shell-instance-state.ts b/packages/shell-api/src/shell-instance-state.ts index 4aae05f865..d20dbfb8e2 100644 --- a/packages/shell-api/src/shell-instance-state.ts +++ b/packages/shell-api/src/shell-instance-state.ts @@ -3,6 +3,7 @@ import type { AutoEncryptionOptions, ConnectionExtraInfo, ConnectionInfo, + Document, ServerApi, ServiceProvider, ServiceProviderBaseCursor, From 7e5017adca82451638593f428cba5432871641bc Mon Sep 17 00:00:00 2001 From: gagik Date: Wed, 10 Dec 2025 13:17:27 +0100 Subject: [PATCH 3/3] chore: issues with some packages --- package-lock.json | 14 +++++++------- packages/async-rewriter2/package.json | 2 +- packages/js-multiline-to-singleline/package.json | 2 +- packages/node-runtime-worker-thread/package.json | 3 --- packages/shell-api/package.json | 3 ++- 5 files changed, 11 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index d253c92f57..d57e2d55b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12719,9 +12719,9 @@ "license": "MIT" }, "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "license": "MIT", "dependencies": { @@ -37136,7 +37136,7 @@ "@mongodb-js/eslint-config-mongosh": "^1.0.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", - "@types/babel__core": "^7.20.1", + "@types/babel__core": "^7.20.5", "eslint": "^7.25.0", "prettier": "^2.8.8" }, @@ -38639,7 +38639,7 @@ "@mongodb-js/eslint-config-mongosh": "^1.0.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", - "@types/babel__core": "^7.1.18", + "@types/babel__core": "^7.20.5", "eslint": "^7.25.0", "prettier": "^2.8.8" }, @@ -38692,8 +38692,7 @@ "license": "Apache-2.0", "dependencies": { "interruptor": "^1.0.1", - "system-ca": "^2.0.1", - "web-worker": "^1.3.0" + "system-ca": "^2.0.1" }, "devDependencies": { "@mongodb-js/eslint-config-mongosh": "^1.0.0", @@ -38802,6 +38801,7 @@ "@mongodb-js/tsconfig-mongosh": "^1.0.0", "@mongosh/testing": "0.0.0-dev.0", "@mongosh/types": "^3.14.1", + "@types/babel__core": "^7.20.5", "bson": "^6.10.4", "eslint": "^7.25.0", "mongodb": "^6.19.0", diff --git a/packages/async-rewriter2/package.json b/packages/async-rewriter2/package.json index 7c99bc8c5c..e766810ac4 100644 --- a/packages/async-rewriter2/package.json +++ b/packages/async-rewriter2/package.json @@ -49,7 +49,7 @@ "@mongodb-js/eslint-config-mongosh": "^1.0.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", - "@types/babel__core": "^7.20.1", + "@types/babel__core": "^7.20.5", "eslint": "^7.25.0", "prettier": "^2.8.8" } diff --git a/packages/js-multiline-to-singleline/package.json b/packages/js-multiline-to-singleline/package.json index a184318063..287fb86c0d 100644 --- a/packages/js-multiline-to-singleline/package.json +++ b/packages/js-multiline-to-singleline/package.json @@ -41,7 +41,7 @@ "@mongodb-js/eslint-config-mongosh": "^1.0.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", - "@types/babel__core": "^7.1.18", + "@types/babel__core": "^7.20.5", "eslint": "^7.25.0", "prettier": "^2.8.8" } diff --git a/packages/node-runtime-worker-thread/package.json b/packages/node-runtime-worker-thread/package.json index b43ceab5b3..c16b5b1b4d 100644 --- a/packages/node-runtime-worker-thread/package.json +++ b/packages/node-runtime-worker-thread/package.json @@ -70,9 +70,6 @@ "win-export-certificate-and-key": [ "win32" ], - "get-console-process-list": [ - "win32" - ], "glibc-version": [ "linux" ] diff --git a/packages/shell-api/package.json b/packages/shell-api/package.json index a0e3025eba..12c40fc664 100644 --- a/packages/shell-api/package.json +++ b/packages/shell-api/package.json @@ -72,6 +72,7 @@ "prettier": "^2.8.8", "semver": "^7.5.3", "@babel/core": "^7.26.10", - "@babel/types": "^7.26.10" + "@babel/types": "^7.26.10", + "@types/babel__core": "^7.20.5" } }