diff --git a/package-lock.json b/package-lock.json index 088ad210fb..7a415896c0 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 61a4e042d1..3e86175916 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/arg-parser/src/arg-mapper.spec.ts b/packages/arg-parser/src/arg-mapper.spec.ts index 6d230bd0a1..10a5c6b7a5 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 d96bcc75a6..fc6f3ac3e0 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/package.json b/packages/browser-repl/package.json index 9bfd765b75..68e6a02c3b 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-repl/testing/chai.ts b/packages/browser-repl/testing/chai.ts index c4d9d812bf..ae09386162 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 6880a711dd..c39ddec905 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/package.json b/packages/browser-runtime-electron/package.json index e7edf5832c..e4806656b6 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/browser-runtime-electron/src/electron-runtime.spec.ts b/packages/browser-runtime-electron/src/electron-runtime.spec.ts index 67e1aac01c..23ee421162 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/package.json b/packages/build/package.json index 42b82dfb99..20482a209c 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/build/src/homebrew/generate-formula.spec.ts b/packages/build/src/homebrew/generate-formula.spec.ts index 5005791ac4..5381c0e892 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 27b132f381..b1efb5d569 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 1c556a9488..5daa5c2729 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 fdfcdf2ce8..927d5f8e0c 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 593fde76ca..6a5c418dd7 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 cc3f17ced2..af0ef2e22c 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/package.json b/packages/cli-repl/package.json index 0a0ea898bb..71ab39e8b4 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/cli-repl/src/async-repl.spec.ts b/packages/cli-repl/src/async-repl.spec.ts index 08c2a53b3e..1abf6b4805 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 20522b499e..a700c6446b 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 87bedb63ec..36913c0044 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/package.json b/packages/e2e-tests/package.json index 3ed31ae17c..9c102c1f98 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/e2e-tests/test/repl-helpers.ts b/packages/e2e-tests/test/repl-helpers.ts index 46c67371d7..2634ebd501 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 fece31e755..7f38e20f1e 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 88b626c03f..ae4d5a0b7b 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 261a4fcff1..35b6ddb021 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/package.json b/packages/service-provider-node-driver/package.json index 04d16118fd..e8389623b2 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/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 f90e37a716..bec0513b98 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 22df944d77..fb75c3d0e5 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 ea28be44f4..98efe0dd45 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 d21f45abb6..cfc9a554fe 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 e7f5aa05e2..f27b573058 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 533056e125..6fc89106f8 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 c50a98f462..c8c6880027 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 a98c769995..74b30e0f9d 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/package.json b/packages/shell-evaluator/package.json index c5d3742c53..abd923db78 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" diff --git a/packages/shell-evaluator/src/shell-evaluator.spec.ts b/packages/shell-evaluator/src/shell-evaluator.spec.ts index 43b23f3b09..662d2a3aab 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 03a8d85a42..27950128c4 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';