From cf5b4fee8f568daaf23875d4f9537452efc0fb5e Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 24 Nov 2025 15:29:13 +0100 Subject: [PATCH 1/2] chore(deps): bump chai and related dependencies In particular, this lets us avoid the bug fixed by chaijs/loupe@020f283a90fac8a799baba76ee55ec4a62cf5ba9. --- package-lock.json | 231 +++++++++--------- package.json | 8 +- packages/browser-repl/package.json | 2 +- .../browser-runtime-electron/package.json | 2 +- packages/build/package.json | 2 +- packages/cli-repl/package.json | 4 +- packages/e2e-tests/package.json | 4 +- .../service-provider-node-driver/package.json | 2 +- packages/shell-evaluator/package.json | 2 +- 9 files changed, 130 insertions(+), 127 deletions(-) diff --git a/package-lock.json b/package-lock.json index 088ad210f..7a415896c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,14 +45,14 @@ "@babel/compat-data": "^7.26.8", "@mongodb-js/monorepo-tools": "^1.1.10", "@pkgjs/nv": "^0.2.2", - "@types/chai": "^4.2.5", + "@types/chai": "^5.2.3", "@types/mocha": "^5.2.7", "@types/node": "^22.15.30", "@types/rimraf": "^3.0.0", "@types/semver": "^7.3.4", - "@types/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "@types/which": "^1.3.2", - "chai": "^4.2.0", + "chai": "^6.2.1", "cross-env": "^6.0.3", "depcheck": "^1.4.7", "duplexpair": "^1.0.2", @@ -68,7 +68,7 @@ "rimraf": "^3.0.2", "semver": "^7.6.3", "sinon": "^7.5.0", - "sinon-chai": "^3.5.0", + "sinon-chai": "^4.0.1", "terser-webpack-plugin": "^5.3.11", "ts-loader": "^8.0.14", "ts-node": "^10.9.2", @@ -12102,20 +12102,14 @@ } }, "node_modules/@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/chai-as-promised": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz", - "integrity": "sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "dev": true, "license": "MIT", "dependencies": { - "@types/chai": "*" + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" } }, "node_modules/@types/command-exists": { @@ -12173,6 +12167,13 @@ "@types/node": "*" } }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/download": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/@types/download/-/download-8.0.1.tgz", @@ -12582,9 +12583,9 @@ } }, "node_modules/@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-4.0.0.tgz", + "integrity": "sha512-Uar+qk3TmeFsUWCwtqRNqNUE7vf34+MCJiQJR5M2rd4nCbhtE8RgTiHwN/mVwbfCjhmO6DiOel/MgzHkRMJJFg==", "dev": true, "license": "MIT", "dependencies": { @@ -14004,13 +14005,13 @@ } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/ast-types": { @@ -15180,35 +15181,13 @@ "license": "Apache-2.0" }, "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", + "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", "dev": true, "license": "MIT", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, "engines": { - "node": ">=4" - } - }, - "node_modules/chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", - "dev": true, - "license": "WTFPL", - "dependencies": { - "check-error": "^1.0.2" - }, - "peerDependencies": { - "chai": ">= 2.1.2 < 5" + "node": ">=18" } }, "node_modules/chalk": { @@ -15234,16 +15213,6 @@ "license": "MIT", "optional": true }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -16663,19 +16632,6 @@ } } }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, "node_modules/deep-equal": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", @@ -19682,16 +19638,6 @@ "node-addon-api": "^4.3.0" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -24682,16 +24628,6 @@ "loose-envify": "cli.js" } }, - "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.0" - } - }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -28913,16 +28849,6 @@ "node": ">=8" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -31780,13 +31706,13 @@ } }, "node_modules/sinon-chai": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", - "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-4.0.1.tgz", + "integrity": "sha512-xMKEEV3cYHC1G+boyr7QEqi80gHznYsxVdC9CdjP5JnCWz/jPGuXQzJz3PtBcb0CcHAxar15Y5sjLBoAs6a0yA==", "dev": true, "license": "(BSD-2-Clause OR WTFPL)", "peerDependencies": { - "chai": "^4.0.0", + "chai": "^5.0.0 || ^6.0.0", "sinon": ">=4.0.0" } }, @@ -33572,6 +33498,17 @@ "dev": true, "license": "MIT" }, + "node_modules/ts-sinon/node_modules/@types/sinon-chai": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", + "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "*", + "@types/sinon": "*" + } + }, "node_modules/ts-sinon/node_modules/nise": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", @@ -35682,7 +35619,7 @@ "@types/react": "^16.9.17", "@types/react-dom": "^18.0.8", "@types/sinon": "^7.5.1", - "@types/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "@types/text-table": "^0.2.1", "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", "babel-loader": "^8.3.0", @@ -36070,7 +36007,7 @@ "@mongodb-js/tsconfig-mongosh": "^1.0.0", "@mongosh/service-provider-node-driver": "^3.17.5", "@types/sinon": "^7.5.1", - "@types/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "bson": "^6.10.4", "depcheck": "^1.4.7", "eslint": "^7.25.0", @@ -36131,7 +36068,7 @@ "depcheck": "^1.4.7", "eslint": "^7.25.0", "prettier": "^2.8.8", - "sinon-chai": "^3.5.0", + "sinon-chai": "^4.0.1", "yaml": "^2.3.1" }, "engines": { @@ -36485,13 +36422,13 @@ "@mongodb-js/sbom-tools": "^0.8.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", "@types/ansi-escape-sequences": "^4.0.0", - "@types/chai-as-promised": "^7.1.3", + "@types/chai-as-promised": "^8.0.2", "@types/js-yaml": "^4.0.5", "@types/node": "^22.15.30", "@types/numeral": "^2.0.2", "@types/text-table": "^0.2.1", "@types/yargs-parser": "^15.0.0", - "chai-as-promised": "^7.1.1", + "chai-as-promised": "^8.0.2", "depcheck": "^1.4.7", "eslint": "^7.25.0", "mongodb": "^6.19.0", @@ -36510,12 +36447,45 @@ "win-export-certificate-and-key": "^2.1.0" } }, + "packages/cli-repl/node_modules/@types/chai-as-promised": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-8.0.2.tgz", + "integrity": "sha512-meQ1wDr1K5KRCSvG2lX7n7/5wf70BeptTKst0axGvnN6zqaVpRqegoIbugiAPSqOW9K9aL8gDVrm7a2LXOtn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "*" + } + }, "packages/cli-repl/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, + "packages/cli-repl/node_modules/chai-as-promised": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-8.0.2.tgz", + "integrity": "sha512-1GadL+sEJVLzDjcawPM4kjfnL+p/9vrxiEUonowKOAzvVg0PixJUdtuDzdkDeQhK3zfOE76GqGkZIQ7/Adcrqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "check-error": "^2.1.1" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 7" + } + }, + "packages/cli-repl/node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, "packages/cli-repl/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -36551,11 +36521,11 @@ "@mongodb-js/oidc-mock-provider": "^0.11.3", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", - "@types/chai-as-promised": "^7.1.3", + "@types/chai-as-promised": "^8.0.2", "@types/node": "^22.15.30", "@types/rimraf": "^3.0.0", "bson": "^6.10.4", - "chai-as-promised": "^7.1.1", + "chai-as-promised": "^8.0.2", "depcheck": "^1.4.7", "eslint": "^7.25.0", "lodash": "^4.17.21", @@ -36570,6 +36540,39 @@ "node": ">=16.15.0" } }, + "packages/e2e-tests/node_modules/@types/chai-as-promised": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-8.0.2.tgz", + "integrity": "sha512-meQ1wDr1K5KRCSvG2lX7n7/5wf70BeptTKst0axGvnN6zqaVpRqegoIbugiAPSqOW9K9aL8gDVrm7a2LXOtn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "*" + } + }, + "packages/e2e-tests/node_modules/chai-as-promised": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-8.0.2.tgz", + "integrity": "sha512-1GadL+sEJVLzDjcawPM4kjfnL+p/9vrxiEUonowKOAzvVg0PixJUdtuDzdkDeQhK3zfOE76GqGkZIQ7/Adcrqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "check-error": "^2.1.1" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 7" + } + }, + "packages/e2e-tests/node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, "packages/e2e-tests/node_modules/data-uri-to-buffer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", @@ -36993,7 +36996,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/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "depcheck": "^1.4.7", "eslint": "^7.25.0", "prettier": "^2.8.8" @@ -37076,7 +37079,7 @@ "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", "@mongosh/types": "^3.14.0", - "@types/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "depcheck": "^1.4.7", "eslint": "^7.25.0", "prettier": "^2.8.8" diff --git a/package.json b/package.json index 61a4e042d..3e8617591 100644 --- a/package.json +++ b/package.json @@ -101,14 +101,14 @@ "@babel/compat-data": "^7.26.8", "@mongodb-js/monorepo-tools": "^1.1.10", "@pkgjs/nv": "^0.2.2", - "@types/chai": "^4.2.5", + "@types/chai": "^5.2.3", "@types/mocha": "^5.2.7", "@types/node": "^22.15.30", "@types/rimraf": "^3.0.0", "@types/semver": "^7.3.4", - "@types/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "@types/which": "^1.3.2", - "chai": "^4.2.0", + "chai": "^6.2.1", "cross-env": "^6.0.3", "depcheck": "^1.4.7", "duplexpair": "^1.0.2", @@ -124,7 +124,7 @@ "rimraf": "^3.0.2", "semver": "^7.6.3", "sinon": "^7.5.0", - "sinon-chai": "^3.5.0", + "sinon-chai": "^4.0.1", "terser-webpack-plugin": "^5.3.11", "ts-loader": "^8.0.14", "ts-node": "^10.9.2", diff --git a/packages/browser-repl/package.json b/packages/browser-repl/package.json index 9bfd765b7..68e6a02c3 100644 --- a/packages/browser-repl/package.json +++ b/packages/browser-repl/package.json @@ -87,7 +87,7 @@ "@types/react": "^16.9.17", "@types/react-dom": "^18.0.8", "@types/sinon": "^7.5.1", - "@types/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "@types/text-table": "^0.2.1", "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", "babel-loader": "^8.3.0", diff --git a/packages/browser-runtime-electron/package.json b/packages/browser-runtime-electron/package.json index e7edf5832..e4806656b 100644 --- a/packages/browser-runtime-electron/package.json +++ b/packages/browser-runtime-electron/package.json @@ -43,7 +43,7 @@ "@mongodb-js/tsconfig-mongosh": "^1.0.0", "@mongosh/service-provider-node-driver": "^3.17.5", "@types/sinon": "^7.5.1", - "@types/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "bson": "^6.10.4", "depcheck": "^1.4.7", "eslint": "^7.25.0", diff --git a/packages/build/package.json b/packages/build/package.json index 42b82dfb9..20482a209 100644 --- a/packages/build/package.json +++ b/packages/build/package.json @@ -60,7 +60,7 @@ "depcheck": "^1.4.7", "eslint": "^7.25.0", "prettier": "^2.8.8", - "sinon-chai": "^3.5.0", + "sinon-chai": "^4.0.1", "yaml": "^2.3.1" }, "dependencies": { diff --git a/packages/cli-repl/package.json b/packages/cli-repl/package.json index 0a0ea898b..71ab39e8b 100644 --- a/packages/cli-repl/package.json +++ b/packages/cli-repl/package.json @@ -102,13 +102,13 @@ "@mongodb-js/sbom-tools": "^0.8.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", "@types/ansi-escape-sequences": "^4.0.0", - "@types/chai-as-promised": "^7.1.3", + "@types/chai-as-promised": "^8.0.2", "@types/js-yaml": "^4.0.5", "@types/node": "^22.15.30", "@types/numeral": "^2.0.2", "@types/text-table": "^0.2.1", "@types/yargs-parser": "^15.0.0", - "chai-as-promised": "^7.1.1", + "chai-as-promised": "^8.0.2", "depcheck": "^1.4.7", "eslint": "^7.25.0", "mongodb": "^6.19.0", diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json index 3ed31ae17..9c102c1f9 100644 --- a/packages/e2e-tests/package.json +++ b/packages/e2e-tests/package.json @@ -38,11 +38,11 @@ "@mongodb-js/oidc-mock-provider": "^0.11.3", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", - "@types/chai-as-promised": "^7.1.3", + "@types/chai-as-promised": "^8.0.2", "@types/node": "^22.15.30", "@types/rimraf": "^3.0.0", "bson": "^6.10.4", - "chai-as-promised": "^7.1.1", + "chai-as-promised": "^8.0.2", "depcheck": "^1.4.7", "eslint": "^7.25.0", "lodash": "^4.17.21", diff --git a/packages/service-provider-node-driver/package.json b/packages/service-provider-node-driver/package.json index 04d16118f..e8389623b 100644 --- a/packages/service-provider-node-driver/package.json +++ b/packages/service-provider-node-driver/package.json @@ -68,7 +68,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/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "depcheck": "^1.4.7", "eslint": "^7.25.0", "prettier": "^2.8.8" diff --git a/packages/shell-evaluator/package.json b/packages/shell-evaluator/package.json index c5d3742c5..abd923db7 100644 --- a/packages/shell-evaluator/package.json +++ b/packages/shell-evaluator/package.json @@ -39,7 +39,7 @@ "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/tsconfig-mongosh": "^1.0.0", "@mongosh/types": "^3.14.0", - "@types/sinon-chai": "^3.2.4", + "@types/sinon-chai": "^4.0.0", "depcheck": "^1.4.7", "eslint": "^7.25.0", "prettier": "^2.8.8" From 1e06dfad5722fbc46877e4bcaf454cd7a5a72c87 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 24 Nov 2025 15:50:57 +0100 Subject: [PATCH 2/2] fixup: update imports --- packages/arg-parser/src/arg-mapper.spec.ts | 3 ++- packages/async-rewriter2/src/async-writer-babel.spec.ts | 3 ++- packages/browser-repl/testing/chai.ts | 3 ++- .../src/open-context-runtime.spec.ts | 3 ++- .../src/electron-runtime.spec.ts | 2 +- packages/build/src/homebrew/generate-formula.spec.ts | 6 ++++-- packages/build/src/homebrew/publish-to-homebrew.spec.ts | 6 ++++-- packages/build/src/homebrew/update-homebrew-fork.spec.ts | 6 ++++-- packages/build/src/publish-mongosh.spec.ts | 6 ++++-- packages/build/src/run-draft.spec.ts | 6 ++++-- packages/build/src/run-upload.spec.ts | 6 ++++-- packages/cli-repl/src/async-repl.spec.ts | 3 ++- packages/cli-repl/src/config-directory.spec.ts | 3 ++- packages/cli-repl/test/repl-helpers.ts | 3 ++- packages/e2e-tests/test/repl-helpers.ts | 2 +- packages/editor/src/editor.spec.ts | 3 ++- packages/node-runtime-worker-thread/src/index.spec.ts | 3 ++- .../src/worker-runtime.spec.ts | 3 ++- .../src/node-driver-service-provider.spec.ts | 3 ++- packages/shell-api/src/bulk.spec.ts | 3 ++- packages/shell-api/src/collection.spec.ts | 5 ++--- packages/shell-api/src/cursor.spec.ts | 2 +- packages/shell-api/src/database.spec.ts | 3 ++- packages/shell-api/src/helpers.spec.ts | 3 ++- packages/shell-api/src/replica-set.spec.ts | 3 ++- packages/shell-bson/src/shell-bson.spec.ts | 3 ++- packages/shell-evaluator/src/shell-evaluator.spec.ts | 9 +++++---- packages/snippet-manager/src/snippet-manager.spec.ts | 3 ++- 28 files changed, 68 insertions(+), 39 deletions(-) diff --git a/packages/arg-parser/src/arg-mapper.spec.ts b/packages/arg-parser/src/arg-mapper.spec.ts index 6d230bd0a..10a5c6b7a 100644 --- a/packages/arg-parser/src/arg-mapper.spec.ts +++ b/packages/arg-parser/src/arg-mapper.spec.ts @@ -1,5 +1,6 @@ import type { CliOptions, ConnectionInfo } from './'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; import { mapCliToDriver } from './arg-mapper'; import type { DevtoolsConnectOptions } from '@mongodb-js/devtools-connect'; diff --git a/packages/async-rewriter2/src/async-writer-babel.spec.ts b/packages/async-rewriter2/src/async-writer-babel.spec.ts index d96bcc75a..fc6f3ac3e 100644 --- a/packages/async-rewriter2/src/async-writer-babel.spec.ts +++ b/packages/async-rewriter2/src/async-writer-babel.spec.ts @@ -4,7 +4,8 @@ import path from 'path'; import { promisify } from 'util'; import vm from 'vm'; import sinon from 'sinon'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; chai.use(sinonChai); const execFile = promisify(childProcess.execFile); diff --git a/packages/browser-repl/testing/chai.ts b/packages/browser-repl/testing/chai.ts index c4d9d812b..ae0938616 100644 --- a/packages/browser-repl/testing/chai.ts +++ b/packages/browser-repl/testing/chai.ts @@ -1,4 +1,5 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; chai.use(sinonChai); diff --git a/packages/browser-runtime-core/src/open-context-runtime.spec.ts b/packages/browser-runtime-core/src/open-context-runtime.spec.ts index 6880a711d..c39ddec90 100644 --- a/packages/browser-runtime-core/src/open-context-runtime.spec.ts +++ b/packages/browser-runtime-core/src/open-context-runtime.spec.ts @@ -4,7 +4,8 @@ import type { InterpreterEnvironment } from './'; import { OpenContextRuntime } from './'; import type { MongoshBus } from '@mongosh/types'; import type { ServiceProvider } from '@mongosh/service-provider-core'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; import type { StubbedInstance } from 'ts-sinon'; import { stubInterface } from 'ts-sinon'; diff --git a/packages/browser-runtime-electron/src/electron-runtime.spec.ts b/packages/browser-runtime-electron/src/electron-runtime.spec.ts index 67e1aac01..23ee42116 100644 --- a/packages/browser-runtime-electron/src/electron-runtime.spec.ts +++ b/packages/browser-runtime-electron/src/electron-runtime.spec.ts @@ -1,6 +1,6 @@ import type { SinonStubbedInstance } from 'sinon'; import sinon from 'sinon'; -import chai from 'chai'; +import * as chai from 'chai'; import sinonChai from 'sinon-chai'; chai.use(sinonChai); const { expect } = chai; diff --git a/packages/build/src/homebrew/generate-formula.spec.ts b/packages/build/src/homebrew/generate-formula.spec.ts index 5005791ac..5381c0e89 100644 --- a/packages/build/src/homebrew/generate-formula.spec.ts +++ b/packages/build/src/homebrew/generate-formula.spec.ts @@ -1,9 +1,11 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import type { GithubRepo } from '@mongodb-js/devtools-github-repo'; import { generateUpdatedFormula } from './generate-formula'; +import sinonChai from 'sinon-chai'; -chai.use(require('sinon-chai')); +chai.use(sinonChai); const VALID_FORMULA = `require "language/node" diff --git a/packages/build/src/homebrew/publish-to-homebrew.spec.ts b/packages/build/src/homebrew/publish-to-homebrew.spec.ts index 27b132f38..b1efb5d56 100644 --- a/packages/build/src/homebrew/publish-to-homebrew.spec.ts +++ b/packages/build/src/homebrew/publish-to-homebrew.spec.ts @@ -1,10 +1,12 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import type { GithubRepo } from '@mongodb-js/devtools-github-repo'; import type { HomebrewPublisherConfig } from './publish-to-homebrew'; import { HomebrewPublisher } from './publish-to-homebrew'; +import sinonChai from 'sinon-chai'; -chai.use(require('sinon-chai')); +chai.use(sinonChai); describe('HomebrewPublisher', function () { let homebrewCore: GithubRepo; diff --git a/packages/build/src/homebrew/update-homebrew-fork.spec.ts b/packages/build/src/homebrew/update-homebrew-fork.spec.ts index 1c556a948..5daa5c272 100644 --- a/packages/build/src/homebrew/update-homebrew-fork.spec.ts +++ b/packages/build/src/homebrew/update-homebrew-fork.spec.ts @@ -1,9 +1,11 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import { GithubRepo } from '@mongodb-js/devtools-github-repo'; import { updateHomebrewFork } from './update-homebrew-fork'; +import sinonChai from 'sinon-chai'; -chai.use(require('sinon-chai')); +chai.use(sinonChai); describe('Homebrew update-homebrew-fork', function () { let getFileContent: sinon.SinonStub; diff --git a/packages/build/src/publish-mongosh.spec.ts b/packages/build/src/publish-mongosh.spec.ts index fdfcdf2ce..927d5f8e0 100644 --- a/packages/build/src/publish-mongosh.spec.ts +++ b/packages/build/src/publish-mongosh.spec.ts @@ -1,4 +1,5 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import { Barque } from './barque'; import { type Config } from './config'; @@ -7,8 +8,9 @@ import { HomebrewPublisher } from './homebrew'; import { PackageBumper, PackagePublisher } from './npm-packages'; import { MongoshPublisher } from './publish-mongosh'; import { dummyConfig } from '../test/helpers'; +import sinonChai from 'sinon-chai'; -chai.use(require('sinon-chai')); +chai.use(sinonChai); function createStubRepo(overrides?: any): GithubRepo { return sinon.createStubInstance( diff --git a/packages/build/src/run-draft.spec.ts b/packages/build/src/run-draft.spec.ts index 593fde76c..6a5c418dd 100644 --- a/packages/build/src/run-draft.spec.ts +++ b/packages/build/src/run-draft.spec.ts @@ -1,4 +1,5 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import type { Config } from './config'; import { ALL_PACKAGE_VARIANTS } from './config'; @@ -12,8 +13,9 @@ import { } from './run-draft'; import { dummyConfig } from '../test/helpers'; import { PackageBumper } from './npm-packages'; +import sinonChai from 'sinon-chai'; -chai.use(require('sinon-chai')); +chai.use(sinonChai); function createStubRepo(overrides?: any): GithubRepo { return sinon.createStubInstance( diff --git a/packages/build/src/run-upload.spec.ts b/packages/build/src/run-upload.spec.ts index cc3f17ced..af0ef2e22 100644 --- a/packages/build/src/run-upload.spec.ts +++ b/packages/build/src/run-upload.spec.ts @@ -1,4 +1,5 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import type { Config } from './config'; import type { uploadArtifactToEvergreen } from './evergreen'; @@ -7,8 +8,9 @@ import { runUpload } from './run-upload'; import { dummyConfig } from '../test/helpers'; import type { promises as fs } from 'fs'; import path from 'path'; +import sinonChai from 'sinon-chai'; -chai.use(require('sinon-chai')); +chai.use(sinonChai); const normalizePathToCurrentOS = (p: string) => path.join(p); diff --git a/packages/cli-repl/src/async-repl.spec.ts b/packages/cli-repl/src/async-repl.spec.ts index 08c2a53b3..1abf6b480 100644 --- a/packages/cli-repl/src/async-repl.spec.ts +++ b/packages/cli-repl/src/async-repl.spec.ts @@ -6,7 +6,8 @@ import type { Readable, Writable } from 'stream'; import { PassThrough } from 'stream'; import { promisify, inspect } from 'util'; import { once } from 'events'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import sinonChai from 'sinon-chai'; import { tick } from '../test/repl-helpers'; diff --git a/packages/cli-repl/src/config-directory.spec.ts b/packages/cli-repl/src/config-directory.spec.ts index 20522b499..a700c6446 100644 --- a/packages/cli-repl/src/config-directory.spec.ts +++ b/packages/cli-repl/src/config-directory.spec.ts @@ -1,7 +1,8 @@ import { ConfigManager, ShellHomeDirectory } from './config-directory'; import path from 'path'; import { promises as fs } from 'fs'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import sinonChai from 'sinon-chai'; import { EJSON } from 'bson'; diff --git a/packages/cli-repl/test/repl-helpers.ts b/packages/cli-repl/test/repl-helpers.ts index 87bedb63e..36913c004 100644 --- a/packages/cli-repl/test/repl-helpers.ts +++ b/packages/cli-repl/test/repl-helpers.ts @@ -2,7 +2,8 @@ import { promises as fs } from 'fs'; import { promisify } from 'util'; import path from 'path'; import { once } from 'events'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import sinonChai from 'sinon-chai'; import chaiAsPromised from 'chai-as-promised'; diff --git a/packages/e2e-tests/test/repl-helpers.ts b/packages/e2e-tests/test/repl-helpers.ts index 46c67371d..2634ebd50 100644 --- a/packages/e2e-tests/test/repl-helpers.ts +++ b/packages/e2e-tests/test/repl-helpers.ts @@ -2,7 +2,7 @@ import { promises as fs } from 'fs'; import { promisify } from 'util'; import path from 'path'; import rimraf from 'rimraf'; -import chai from 'chai'; +import * as chai from 'chai'; import sinonChai from 'sinon-chai'; import chaiAsPromised from 'chai-as-promised'; import type { MongodSetup } from '../../../testing/integration-testing-hooks'; diff --git a/packages/editor/src/editor.spec.ts b/packages/editor/src/editor.spec.ts index fece31e75..7f38e20f1 100644 --- a/packages/editor/src/editor.spec.ts +++ b/packages/editor/src/editor.spec.ts @@ -1,5 +1,6 @@ import * as bson from 'bson'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import type { Duplex } from 'stream'; import { PassThrough } from 'stream'; import Nanobus from 'nanobus'; diff --git a/packages/node-runtime-worker-thread/src/index.spec.ts b/packages/node-runtime-worker-thread/src/index.spec.ts index 88b626c03..ae4d5a0b7 100644 --- a/packages/node-runtime-worker-thread/src/index.spec.ts +++ b/packages/node-runtime-worker-thread/src/index.spec.ts @@ -1,4 +1,5 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; import sinonChai from 'sinon-chai'; import type { MongoshBus } from '@mongosh/types'; diff --git a/packages/node-runtime-worker-thread/src/worker-runtime.spec.ts b/packages/node-runtime-worker-thread/src/worker-runtime.spec.ts index 261a4fcff..35b6ddb02 100644 --- a/packages/node-runtime-worker-thread/src/worker-runtime.spec.ts +++ b/packages/node-runtime-worker-thread/src/worker-runtime.spec.ts @@ -1,7 +1,8 @@ import path from 'path'; import { once } from 'events'; import Worker from 'web-worker'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; import sinon from 'sinon'; import { EJSON, ObjectId } from 'bson'; diff --git a/packages/service-provider-node-driver/src/node-driver-service-provider.spec.ts b/packages/service-provider-node-driver/src/node-driver-service-provider.spec.ts index f90e37a71..bec0513b9 100644 --- a/packages/service-provider-node-driver/src/node-driver-service-provider.spec.ts +++ b/packages/service-provider-node-driver/src/node-driver-service-provider.spec.ts @@ -1,5 +1,6 @@ import { CommonErrors } from '@mongosh/errors'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import type { ClientSession, SearchIndexDescription } from 'mongodb'; import { Collection, Db, MongoClient } from 'mongodb'; import sinonChai from 'sinon-chai'; diff --git a/packages/shell-api/src/bulk.spec.ts b/packages/shell-api/src/bulk.spec.ts index 22df944d7..fb75c3d0e 100644 --- a/packages/shell-api/src/bulk.spec.ts +++ b/packages/shell-api/src/bulk.spec.ts @@ -5,7 +5,8 @@ import type { } from '@mongosh/service-provider-core'; import * as bson from 'bson'; import { fail } from 'assert'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; import type { EventEmitter } from 'events'; import type { StubbedInstance } from 'ts-sinon'; diff --git a/packages/shell-api/src/collection.spec.ts b/packages/shell-api/src/collection.spec.ts index ea28be44f..98efe0dd4 100644 --- a/packages/shell-api/src/collection.spec.ts +++ b/packages/shell-api/src/collection.spec.ts @@ -34,10 +34,9 @@ import { MongoshRuntimeError, } from '@mongosh/errors'; import type { StringKey } from './helpers'; - -const sinonChai = require('sinon-chai'); // weird with import - +import sinonChai from 'sinon-chai'; use(sinonChai); + describe('Collection', function () { describe('help', function () { const apiClass = new Collection({} as any, {} as any, 'name'); diff --git a/packages/shell-api/src/cursor.spec.ts b/packages/shell-api/src/cursor.spec.ts index d21f45abb..cfc9a554f 100644 --- a/packages/shell-api/src/cursor.spec.ts +++ b/packages/shell-api/src/cursor.spec.ts @@ -11,7 +11,7 @@ import { ALL_API_VERSIONS, ServerVersions, } from './enums'; -import chai from 'chai'; +import * as chai from 'chai'; import sinonChai from 'sinon-chai'; import sinon from 'sinon'; import type { StubbedInstance } from 'ts-sinon'; diff --git a/packages/shell-api/src/database.spec.ts b/packages/shell-api/src/database.spec.ts index e7f5aa05e..f27b57305 100644 --- a/packages/shell-api/src/database.spec.ts +++ b/packages/shell-api/src/database.spec.ts @@ -1,4 +1,5 @@ -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; import sinon from 'sinon'; import type { StubbedInstance } from 'ts-sinon'; diff --git a/packages/shell-api/src/helpers.spec.ts b/packages/shell-api/src/helpers.spec.ts index 533056e12..6fc89106f 100644 --- a/packages/shell-api/src/helpers.spec.ts +++ b/packages/shell-api/src/helpers.spec.ts @@ -17,7 +17,8 @@ import { NodeDriverServiceProvider } from '../../service-provider-node-driver'; import { startSharedTestServer } from '../../../testing/integration-testing-hooks'; import { makeFakeConfigDatabase } from '../test/shard-test-fake-data'; import sinon from 'ts-sinon'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import { EventEmitter } from 'events'; import sinonChai from 'sinon-chai'; import { stub } from 'sinon'; diff --git a/packages/shell-api/src/replica-set.spec.ts b/packages/shell-api/src/replica-set.spec.ts index c50a98f46..c8c688002 100644 --- a/packages/shell-api/src/replica-set.spec.ts +++ b/packages/shell-api/src/replica-set.spec.ts @@ -9,7 +9,8 @@ import type { ServiceProvider, } from '@mongosh/service-provider-core'; import * as bson from 'bson'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import { EventEmitter } from 'events'; import semver from 'semver'; import sinonChai from 'sinon-chai'; diff --git a/packages/shell-bson/src/shell-bson.spec.ts b/packages/shell-bson/src/shell-bson.spec.ts index a98c76999..74b30e0f9 100644 --- a/packages/shell-bson/src/shell-bson.spec.ts +++ b/packages/shell-bson/src/shell-bson.spec.ts @@ -4,7 +4,8 @@ import { serialize as bsonSerialize, deserialize as bsonDeserialize, } from 'bson'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; import sinon from 'sinon'; import type { BSON, ShellBson } from './'; diff --git a/packages/shell-evaluator/src/shell-evaluator.spec.ts b/packages/shell-evaluator/src/shell-evaluator.spec.ts index 43b23f3b0..662d2a3aa 100644 --- a/packages/shell-evaluator/src/shell-evaluator.spec.ts +++ b/packages/shell-evaluator/src/shell-evaluator.spec.ts @@ -1,11 +1,12 @@ -import { expect, use } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinon from 'sinon'; -const sinonChai = require('sinon-chai'); // weird with import -use(sinonChai); - +import sinonChai from 'sinon-chai'; import ShellEvaluator from './index'; import { EventEmitter } from 'events'; +chai.use(sinonChai); + describe('ShellEvaluator', function () { let shellEvaluator: ShellEvaluator; let busMock: EventEmitter; diff --git a/packages/snippet-manager/src/snippet-manager.spec.ts b/packages/snippet-manager/src/snippet-manager.spec.ts index 03a8d85a4..27950128c 100644 --- a/packages/snippet-manager/src/snippet-manager.spec.ts +++ b/packages/snippet-manager/src/snippet-manager.spec.ts @@ -1,7 +1,8 @@ import type { EvaluationListener } from '@mongosh/shell-api'; import { signatures } from '@mongosh/shell-api'; import { SnippetManager } from './snippet-manager'; -import chai, { expect } from 'chai'; +import * as chai from 'chai'; +import { expect } from 'chai'; import sinonChai from 'sinon-chai'; import sinon from 'sinon'; import type { StubbedInstance } from 'ts-sinon';