diff --git a/.depcheckrc b/.depcheckrc index 238406eb2..a1f296e4e 100644 --- a/.depcheckrc +++ b/.depcheckrc @@ -1,6 +1,4 @@ ignores: - - "@babel/core" - - "@babel/preset-typescript" - "@mongodb-js/prettier-config-devtools" - "@types/jest" - "buffer" diff --git a/.github/workflows/actions/test-and-build/action.yaml b/.github/workflows/actions/test-and-build/action.yaml index f69e43675..2b9438281 100644 --- a/.github/workflows/actions/test-and-build/action.yaml +++ b/.github/workflows/actions/test-and-build/action.yaml @@ -76,7 +76,7 @@ runs: - name: Build .vsix env: - NODE_OPTIONS: "--require ./scripts/no-npm-list-fail.js" + NODE_OPTIONS: "--require ./scripts/no-npm-list-fail.js --max_old_space_size=4096" # NOTE: --githubBranch is "The GitHub branch used to infer relative links in README.md." run: | npx vsce package --githubBranch main diff --git a/.github/workflows/draft-release.yaml b/.github/workflows/draft-release.yaml index d7e3ea565..1d4f8b5c8 100644 --- a/.github/workflows/draft-release.yaml +++ b/.github/workflows/draft-release.yaml @@ -32,7 +32,7 @@ jobs: - name: Setup Node.js Environment uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.16.0 - name: Determine Next Version shell: bash diff --git a/.github/workflows/publish-release.yaml b/.github/workflows/publish-release.yaml index 051b5f6e2..787c02f3c 100644 --- a/.github/workflows/publish-release.yaml +++ b/.github/workflows/publish-release.yaml @@ -12,7 +12,7 @@ jobs: - name: Setup Node.js Environment uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.16.0 - name: Install npm run: npm install -g npm@8.19.4 diff --git a/.github/workflows/test-and-build.yaml b/.github/workflows/test-and-build.yaml index e7fd88c8c..a0e1b8c9f 100644 --- a/.github/workflows/test-and-build.yaml +++ b/.github/workflows/test-and-build.yaml @@ -30,7 +30,7 @@ jobs: - name: Setup Node.js Environment uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.16.0 - name: Run tests and build uses: ./.github/workflows/actions/test-and-build diff --git a/.vscodeignore b/.vscodeignore index edb276427..1d62e6ae0 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -18,3 +18,4 @@ webpack.test.config.js playgrounds/** resources .sbom/** +CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index cc003b029..597a75947 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Change Log +## [v1.7.0](https://github.com/mongodb-js/vscode/releases/tag/v1.7.0) - 2024-08-01 + +## What's Changed +* feat(telemetry): update connection telemetry VSCODE-560 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/764 +* refactor(telemetry): use resolved srv from topology VSCODE-563 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/765 + +**Full Changelog**: https://github.com/mongodb-js/vscode/compare/v1.6.1...v1.7.0 + + +## [v1.6.1](https://github.com/mongodb-js/vscode/releases/tag/v1.6.1) - 2024-07-15 + +## What's Changed +* fix: disconnect extension when server is closed VSCODE-536 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/734 +* chore(deps): bump mongosh VSCODE-548 by @mabaasit in https://github.com/mongodb-js/vscode/pull/752 +* fix: remove changelog from the bundle VSCODE-551 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/758 + +**Full Changelog**: https://github.com/mongodb-js/vscode/compare/v1.6.0...v1.6.1 + + ## [v1.6.0](https://github.com/mongodb-js/vscode/releases/tag/v1.6.0) - 2024-04-23 ## What's Changed @@ -427,31 +446,3 @@ To dig deeper please feel free to follow the links mentioned below: - Added a tooltip to fields in a collection's schema to show types found in the sampling for that field [#179](https://github.com/mongodb-js/vscode/pull/179) -## [v0.2.0](https://github.com/mongodb-js/vscode/releases/tag/v0.2.0) - 2020-10-01 - -### Added -- Added a Playgrounds panel that displays `.mongodb` playground files in the current VSCode workspace -- Added a setting to configure which folders and files are excluded from the playgrounds panel file searching -- Added a help and resources panel to the explorer with links to documentation and feedback portals -- Added a button to the indexes folder in the tree view which creates a playground prefilled with an index creation script -### Changed -- Updated our mongosh dependency to 0.4.2 to bring more functionality to playgrounds -### Fixed -- Fixed indexes expanded state caching in the connection explorer panel tree view - - -## [v0.1.1](https://github.com/mongodb-js/vscode/releases/tag/v0.1.1) - 2020-08-10 - -### Added - -- Added a search for documents playground shortcut in the tree explorer view -- Added a copy field name right click action in a collection's schema in the tree explorer view -- Added a document count for a collection in the tree view (with hover tooltip for the full count) -- Added the ability to change the current connection when in an open playground file by using the codelens on the first line of the playground - -### Changed - -- Allow connecting to a new connection while already connecting to another connection -- Allow removing a new connection while it is connecting - - diff --git a/babel.config.json b/babel.config.json new file mode 100644 index 000000000..b555d01bc --- /dev/null +++ b/babel.config.json @@ -0,0 +1,10 @@ +{ + "presets": [ + [ + "@babel/preset-typescript", + { + "rewriteImportExtensions": true + } + ] + ] +} diff --git a/package-lock.json b/package-lock.json index 78d723169..77fc66e0c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,20 +15,20 @@ "@mongodb-js/connection-form": "^1.22.2", "@mongodb-js/connection-info": "^0.1.2", "@mongodb-js/mongodb-constants": "^0.10.2", - "@mongosh/browser-runtime-electron": "^2.2.10", - "@mongosh/i18n": "^2.2.10", - "@mongosh/service-provider-server": "^2.2.10", - "@mongosh/shell-api": "^2.2.10", + "@mongosh/browser-runtime-electron": "^2.2.15", + "@mongosh/i18n": "^2.2.15", + "@mongosh/service-provider-server": "^2.2.15", + "@mongosh/shell-api": "^2.2.15", "@segment/analytics-node": "^1.3.0", - "bson": "^6.7.0", + "bson": "^6.8.0", "bson-transpilers": "^2.2.0", - "debug": "^4.3.5", + "debug": "^4.3.6", "dotenv": "^16.4.5", "lodash": "^4.17.21", "micromatch": "^4.0.7", - "mongodb": "^6.7.0", + "mongodb": "^6.8.0", "mongodb-build-info": "^1.7.2", - "mongodb-cloud-info": "^2.1.2", + "mongodb-cloud-info": "^2.1.4", "mongodb-connection-string-url": "^3.0.1", "mongodb-data-service": "^22.21.1", "mongodb-log-writer": "^1.4.2", @@ -37,29 +37,28 @@ "numeral": "^2.0.6", "react": "^17.0.2", "react-dom": "^17.0.2", - "resolve-mongodb-srv": "^1.1.5", "ts-log": "^2.2.5", "uuid": "^8.3.2", "vscode-languageclient": "^8.1.0", "vscode-languageserver": "^8.1.0", - "vscode-languageserver-textdocument": "^1.0.11" + "vscode-languageserver-textdocument": "^1.0.12" }, "devDependencies": { "@babel/preset-typescript": "^7.24.7", + "@babel/types": "^7.25.2", "@mongodb-js/oidc-mock-provider": "^0.9.1", "@mongodb-js/oidc-plugin": "^0.4.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", - "@mongodb-js/sbom-tools": "^0.7.0", - "@mongodb-js/signing-utils": "^0.3.4", - "@mongosh/service-provider-core": "^2.2.10", + "@mongodb-js/sbom-tools": "^0.7.1", + "@mongodb-js/signing-utils": "^0.3.5", + "@mongosh/service-provider-core": "^2.2.15", "@testing-library/react": "^12.1.5", - "@types/babel__core": "^7.20.5", "@types/babel__traverse": "^7.20.6", - "@types/chai": "^4.3.16", + "@types/chai": "^4.3.17", "@types/debug": "^4.1.12", "@types/glob": "^7.2.0", "@types/jest": "^26.0.24", - "@types/micromatch": "^4.0.7", + "@types/micromatch": "^4.0.9", "@types/mkdirp": "^2.0.0", "@types/mocha": "^8.2.3", "@types/node": "^14.18.63", @@ -68,15 +67,14 @@ "@types/sinon": "^9.0.11", "@types/sinon-chai": "^3.2.12", "@types/uuid": "^8.3.4", - "@types/vscode": "^1.90.0", + "@types/vscode": "^1.92.0", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", - "@vscode/test-electron": "^2.4.0", - "@vscode/vsce": "^2.29.0", + "@vscode/test-electron": "^2.4.1", + "@vscode/vsce": "^2.31.1", "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", - "autoprefixer": "^10.4.19", "buffer": "^6.0.3", - "chai": "^4.4.1", + "chai": "^4.5.0", "chai-as-promised": "^7.1.2", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", @@ -85,18 +83,18 @@ "enzyme": "^3.11.0", "eslint": "^8.57.0", "eslint-config-mongodb-js": "^5.0.3", - "eslint-plugin-mocha": "^10.4.3", + "eslint-plugin-mocha": "^10.5.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "glob": "^7.2.3", "jest": "^26.6.3", "jest-junit": "^12.3.0", "jest-transform-stub": "^2.0.0", "mkdirp": "^1.0.4", - "mocha": "^10.5.1", + "mocha": "^10.7.3", "mocha-junit-reporter": "^2.2.1", "mocha-multi": "^1.1.7", "mongodb-client-encryption": "^6.0.1", - "mongodb-runner": "^5.6.2", + "mongodb-runner": "^5.6.4", "node-fetch": "^2.7.0", "node-loader": "^0.6.0", "npm-run-all": "^4.1.5", @@ -108,20 +106,21 @@ "sinon": "^9.2.4", "sinon-chai": "^3.7.0", "stream-browserify": "^3.0.0", + "terser-webpack-plugin": "^5.3.10", "ts-jest": "^26.5.6", "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "typescript": "^4.9.5", - "webpack": "^5.92.1", + "webpack": "^5.93.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", "webpack-merge": "^5.10.0", "xvfb-maybe": "^0.2.1" }, "engines": { - "node": ">=16.16.0", - "npm": ">=8.19.4", - "vscode": "^1.90.2" + "node": ">=20.9.0", + "npm": ">=10.1.0", + "vscode": "^1.92.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -1135,11 +1134,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "dependencies": { - "@babel/types": "^7.24.7", + "@babel/types": "^7.25.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -1184,19 +1183,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", - "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", + "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/traverse": "^7.25.0", "semver": "^6.3.1" }, "engines": { @@ -1215,48 +1212,14 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", - "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1275,15 +1238,14 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -1305,22 +1267,22 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", - "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", - "@babel/helper-optimise-call-expression": "^7.24.7" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1354,21 +1316,10 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "engines": { "node": ">=6.9.0" } @@ -1481,9 +1432,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "dependencies": { + "@babel/types": "^7.25.2" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -1669,11 +1623,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", - "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1683,13 +1637,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", - "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-simple-access": "^7.24.7" }, "engines": { @@ -1728,14 +1682,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", - "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-typescript": "^7.24.7" }, "engines": { @@ -1776,31 +1731,28 @@ } }, "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1809,11 +1761,11 @@ } }, "node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", "dependencies": { - "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, @@ -2287,6 +2239,102 @@ "deprecated": "Use @eslint/object-schema instead", "dev": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -4046,6 +4094,120 @@ "node": ">=12" } }, + "node_modules/@mongodb-js/devtools-proxy-support": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-proxy-support/-/devtools-proxy-support-0.3.2.tgz", + "integrity": "sha512-qMSe/5XVEK3xXtMhtv+InIRuanH5nDdDo8yD3gFvsw5pRhI9qM5m06imfgx9X1woAFdntIUNy72lGNi2glbOaA==", + "dependencies": { + "@mongodb-js/socksv5": "^0.0.10", + "agent-base": "^7.1.1", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", + "lru-cache": "^11.0.0", + "node-fetch": "^3.3.2", + "pac-proxy-agent": "7.0.2", + "socks-proxy-agent": "^8.0.4", + "ssh2": "^1.15.0", + "system-ca": "^2.0.0" + } + }, + "node_modules/@mongodb-js/devtools-proxy-support/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mongodb-js/devtools-proxy-support/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", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@mongodb-js/devtools-proxy-support/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mongodb-js/devtools-proxy-support/node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@mongodb-js/devtools-proxy-support/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@mongodb-js/devtools-proxy-support/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "optional": true + }, + "node_modules/@mongodb-js/devtools-proxy-support/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/@mongodb-js/devtools-proxy-support/node_modules/system-ca": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/system-ca/-/system-ca-2.0.1.tgz", + "integrity": "sha512-9ZDV9yl8ph6Op67wDGPr4LykX86usE9x3le+XZSHfVMiiVJ5IRgmCWjLgxyz35ju9H3GDIJJZm4ogAeIfN5cQQ==", + "optionalDependencies": { + "macos-export-certificate-and-key": "^1.2.0", + "win-export-certificate-and-key": "^2.1.0" + } + }, + "node_modules/@mongodb-js/devtools-proxy-support/node_modules/win-export-certificate-and-key": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/win-export-certificate-and-key/-/win-export-certificate-and-key-2.1.0.tgz", + "integrity": "sha512-WeMLa/2uNZcS/HWGKU2G1Gzeh3vHpV/UFvwLhJLKxPHYFAbubxxVcJbqmPXaqySWK1Ymymh16zKK5WYIJ3zgzA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "win32" + ], + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^3.1.0" + } + }, "node_modules/@mongodb-js/mongodb-constants": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.10.2.tgz", @@ -4055,9 +4217,9 @@ } }, "node_modules/@mongodb-js/mongodb-downloader": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.2.tgz", - "integrity": "sha512-bhMfxzaBy31RveAu7qqON3nVXRHYmxJXyC3lZI+mK+4DhagKZdGHJpMkLmHQRt+wAxMR6ldI9YlcWjHSqceIsQ==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.3.tgz", + "integrity": "sha512-PIu8qF6J02lQsxfq8vdcfvueb8H5mrB43UaOl1E4AQMrOhm403imAZYKH61qe+7J7WzlVFck0zGI/7brHLHcNQ==", "dev": true, "dependencies": { "debug": "^4.3.4", @@ -4150,17 +4312,17 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", - "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", "dependencies": { "sparse-bitfield": "^3.0.3" } }, "node_modules/@mongodb-js/sbom-tools": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/sbom-tools/-/sbom-tools-0.7.0.tgz", - "integrity": "sha512-hjc5XrDMVaKdecLzl6IkXT2VO8fudF6aNQLRFlhJ528B5KEKBaahKU4cXnFLV7BRpi1E59FrLg3S7U6bYBfcaw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/sbom-tools/-/sbom-tools-0.7.1.tgz", + "integrity": "sha512-nXUmuUTbdVkbp0LrKOlpToOmAY6S2MSdpuJkhuN7m75gq/UqAmowzQEIWptKbPouaRD2KbncTnXLIDqsYPLm1w==", "dev": true, "dependencies": { "@octokit/rest": "^20.1.1", @@ -4179,9 +4341,9 @@ } }, "node_modules/@mongodb-js/signing-utils": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.4.tgz", - "integrity": "sha512-D9rbB6HMXvBAPu2f3Wy3r2rggrlr7NlNt2hn5rjPM27Q2nA6AKL2mMZNkWCHmehuc3l9jdMWfaQgjvIuMMLMew==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.5.tgz", + "integrity": "sha512-59gZ2dTCtZZDloMOxGU6gEY9T6EEXGAMjvoK7o7ETRvI9mU2B95aq59eh0tSf/HtV+CCbIwsbSy2LqqT5GZqKg==", "dev": true, "dependencies": { "@types/ssh2": "^1.11.19", @@ -4189,6 +4351,17 @@ "ssh2": "^1.15.0" } }, + "node_modules/@mongodb-js/socksv5": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/socksv5/-/socksv5-0.0.10.tgz", + "integrity": "sha512-JDz2fLKsjMiSNUxKrCpGptsgu7DzsXfu4gnUQ3RhUaBS1d4YbLrt6HejpckAiHIAa+niBpZAeiUsoop0IihWsw==", + "dependencies": { + "ip-address": "^9.0.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@mongodb-js/ssh-tunnel": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mongodb-js/ssh-tunnel/-/ssh-tunnel-2.2.1.tgz", @@ -4200,12 +4373,12 @@ } }, "node_modules/@mongosh/arg-parser": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.2.10.tgz", - "integrity": "sha512-QvXziAmACrFty7id5I0s3ZOetIc1wWhjtpytGMtchEiusTQOO+NJy74UMrxK+NGxKPDRL0MroRIo05/LEfPkJg==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.2.15.tgz", + "integrity": "sha512-KGYiw5bl8cv6wDSrTCDF1B2PjddPhiD5BkulXvgpkfuD5bB2zTJSgpx+EGGcD60OSDRnMdk0tu9AY8uIExtNvA==", "dependencies": { - "@mongosh/errors": "2.2.10", - "@mongosh/i18n": "2.2.10", + "@mongosh/errors": "2.2.15", + "@mongosh/i18n": "2.2.15", "mongodb-connection-string-url": "^3.0.1" }, "engines": { @@ -4213,9 +4386,9 @@ } }, "node_modules/@mongosh/async-rewriter2": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.2.10.tgz", - "integrity": "sha512-ssY+WxY/oOHPZAIjrYzUYhCr1K2towzshxQpYw3nk5JyjTdvN4gc0xnrWMNLJonEOD/ADTdlneFshQhuh/V1vQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.2.15.tgz", + "integrity": "sha512-y7LyjulLYe0QodRa4YIpvpHt23VQWrFGx4C5AD3IVVFhgNd0yxg2bWLIMaFsM7wwgbGJU3BxnVecAnHOgiuRHg==", "dependencies": { "@babel/core": "^7.22.8", "@babel/plugin-transform-destructuring": "^7.22.5", @@ -4231,12 +4404,12 @@ } }, "node_modules/@mongosh/autocomplete": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.2.10.tgz", - "integrity": "sha512-iLrZ1vfA67jKwEWtSKGYAZ7QM5beYFo4AsmiV+KCXwtcZref3dX1OgcjBvRW8dRvSonz8/7RnN9r8QtsTyw2xw==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.2.15.tgz", + "integrity": "sha512-R1rZVWLNmlOsOVGoHCdAxB0mx7J1A4ElPvzRBWcPW+PSEzlTT/9j0AT87exK/jjUE8ZnkzUw/soh4tqFQIjwAA==", "dependencies": { "@mongodb-js/mongodb-constants": "^0.10.1", - "@mongosh/shell-api": "2.2.10", + "@mongosh/shell-api": "2.2.15", "semver": "^7.5.4" }, "engines": { @@ -4244,72 +4417,72 @@ } }, "node_modules/@mongosh/browser-runtime-core": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.2.10.tgz", - "integrity": "sha512-tN2TwbA/ANuZllWBQaZPYKjGS4M+F8UbPkHS7b08DeixbJB457Dh2HNDXztmADuLPht82DurRxx6nS0suNFNXQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.2.15.tgz", + "integrity": "sha512-jBy6GizoPEvwDJCl53YDQY5Lv1F4ADL0DEqaFvKk0Ltav8EkvCcsmZTY6Kf9MmgVJGXTawWSxKoj5KLj2QUr4g==", "dependencies": { - "@mongosh/autocomplete": "2.2.10", - "@mongosh/service-provider-core": "2.2.10", - "@mongosh/shell-api": "2.2.10", - "@mongosh/shell-evaluator": "2.2.10" + "@mongosh/autocomplete": "2.2.15", + "@mongosh/service-provider-core": "2.2.15", + "@mongosh/shell-api": "2.2.15", + "@mongosh/shell-evaluator": "2.2.15" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/browser-runtime-electron": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.2.10.tgz", - "integrity": "sha512-LmI/VVIrchb51vfTKcFZ/Q4xVzQuHnaU5/LdhRwBaAKaxEp02QwQ0IskOUg6MmU1MwDXFstwhn74nn6ZZeBhWg==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.2.15.tgz", + "integrity": "sha512-bMxxjn9F6nxvu/qklOUc9jO9nuK24b5qzMZblHgJilicmFVtUPofZ6B5bEaxYoQHEHyB7RITs/MZmXpV6mDehg==", "dependencies": { - "@mongosh/browser-runtime-core": "2.2.10", - "@mongosh/service-provider-core": "2.2.10", - "@mongosh/types": "2.2.10" + "@mongosh/browser-runtime-core": "2.2.15", + "@mongosh/service-provider-core": "2.2.15", + "@mongosh/types": "2.2.15" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/errors": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.10.tgz", - "integrity": "sha512-jR8dv9MYYRwr+Yri/KI6HAuob0zdVBQOrMvjc+ygBbTIkL3wh1iOrjZKZuYUsjei1FDxLA8NywftAoHDchq2Tg==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.15.tgz", + "integrity": "sha512-RHCRv3Fg/xWS5XV4hOyh6KDBrn2kld+J5PVtXfsuke73jfQTLlR2PGMzSEpPWiayRLgLExq56qdXGOtNecmhuA==", "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/history": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.2.10.tgz", - "integrity": "sha512-EmMKvsytTXq/1tAwxZUvl+6+gCrarWdEDB9mO9vTCFneOgB0ao2jpo7KA9Jc63r8RYhDH78dtjFsSuFeox3AiA==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.2.15.tgz", + "integrity": "sha512-GV1i3RmG38+OUxBnqTeAlcPezkJ4fH3bBs4bwvLEV7iXMcVNzNoJBMyDa7gO6er45w38Kczx9kVDIOYdutt2Yg==", "dependencies": { "mongodb-connection-string-url": "^3.0.1", - "mongodb-redact": "^0.2.3" + "mongodb-redact": "^1.1.2" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/i18n": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.2.10.tgz", - "integrity": "sha512-TxyFOhdXqCN0AXGcWziPzZ+YBf8KthnZIbOVSyA+C1a0jynfMf+XBnLnNpwvKfGZUeQ1VyZkrKLPopG7e2nuIA==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.2.15.tgz", + "integrity": "sha512-7pjQbvJbtaglZKj86/2GRQnXLRekmpTPIVR2M58kAVXaNGqGrfCpe6mkBEkIwdjk6UHQIvkwMSzUIbFGm7nFvA==", "dependencies": { - "@mongosh/errors": "2.2.10" + "@mongosh/errors": "2.2.15" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/service-provider-core": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.2.10.tgz", - "integrity": "sha512-XB+G24WjTIYXnHoToJhDJMwMV7pCcgCwgme0MiE6lzcYs5HwlHhk9tzBwv0+i+3NcCb5SMqU38iUMuGG6jKJdQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.2.15.tgz", + "integrity": "sha512-Pk+Sxxf0rE7KacEMZvhGjr15cWkV+lcbI8cv5Hf7Taxj8kLXfbKM45WBIgGtMDTh/fbmbT15qI7StG5sCO8CCg==", "dependencies": { "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.2.10", + "@mongosh/errors": "2.2.15", "bson": "^6.7.0", - "mongodb": "^6.7.0", + "mongodb": "^6.8.0", "mongodb-build-info": "^1.7.2" }, "engines": { @@ -4320,17 +4493,17 @@ } }, "node_modules/@mongosh/service-provider-server": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.2.10.tgz", - "integrity": "sha512-7WxxKZgXNdW7f6vUCmqqWPexPOFqy/n155rFeyWhRVBI5mdbb/Sb5vsdqo1+6AyDpCXsLdl8CldsqmOfGKG36A==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.2.15.tgz", + "integrity": "sha512-TtQVsMlQhZqRQ6Aj9tUcSvNLL6tthkzx3m/FhBxyT/7rxxuK56w0IUVg31Cqq/gz9xUfkP3JiKounIgYqRCbXQ==", "dependencies": { - "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/devtools-connect": "^3.0.5", "@mongodb-js/oidc-plugin": "^1.0.2", - "@mongosh/errors": "2.2.10", - "@mongosh/service-provider-core": "2.2.10", - "@mongosh/types": "2.2.10", + "@mongosh/errors": "2.2.15", + "@mongosh/service-provider-core": "2.2.15", + "@mongosh/types": "2.2.15", "aws4": "^1.12.0", - "mongodb": "^6.7.0", + "mongodb": "^6.8.0", "mongodb-connection-string-url": "^3.0.1", "socks": "^2.8.3" }, @@ -4343,32 +4516,37 @@ } }, "node_modules/@mongosh/service-provider-server/node_modules/@mongodb-js/devtools-connect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", - "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.2.tgz", + "integrity": "sha512-0d/9hiNnVxFjgu0HtbUSMOem/hMtpj7aKj/QN3UsABGJ8jBxMXzE90jNP6JOJ+Nt5dmlCX2iTMvtJiBIWOtCZA==", "dependencies": { - "@mongodb-js/oidc-http-server-pages": "1.1.1", + "@mongodb-js/devtools-proxy-support": "^0.3.2", + "@mongodb-js/oidc-http-server-pages": "1.1.2", "lodash.merge": "^4.6.2", "mongodb-connection-string-url": "^3.0.0", - "socks": "^2.7.3", - "system-ca": "^1.0.2" + "socks": "^2.7.3" }, "optionalDependencies": { "kerberos": "^2.1.0", - "mongodb-client-encryption": "^6.0.0", + "mongodb-client-encryption": "^6.0.0 || ^6.1.0-alpha.0", "os-dns-native": "^1.2.0", "resolve-mongodb-srv": "^1.1.1" }, "peerDependencies": { - "@mongodb-js/oidc-plugin": "^1.0.0", - "mongodb": "^5.8.1 || ^6.0.0", + "@mongodb-js/oidc-plugin": "^1.1.0", + "mongodb": "^6.8.0", "mongodb-log-writer": "^1.4.2" } }, + "node_modules/@mongosh/service-provider-server/node_modules/@mongodb-js/oidc-http-server-pages": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.2.tgz", + "integrity": "sha512-YcRlJ/HkKMahWvaPFTN/al5MGGX6CKQTsBHFTpNduxmeHd40jO8Cj5W7dfrqJAoit5E/G+GOwMaEfWdNrdlihg==" + }, "node_modules/@mongosh/service-provider-server/node_modules/@mongodb-js/oidc-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", - "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", + "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", "dependencies": { "express": "^4.18.2", "open": "^9.1.0", @@ -4379,72 +4557,77 @@ } }, "node_modules/@mongosh/shell-api": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.2.10.tgz", - "integrity": "sha512-Cgcb0U5wqzmTmwAmMkSqhZ3fR4PjqNJ2px61i/9JzWAgIEDSbv9Xni3mcfDRQd/qjLHCEUlAPFgEBu7Cpk0qBQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.2.15.tgz", + "integrity": "sha512-HkJhDKWHRRqa7fznsRVp/ivolM7RKeCyTuJXMVFym3qt4wlC63Tc3IQjm8HYORlFGRz04AOOwCgzkIp8ddPXkg==", "dependencies": { - "@mongosh/arg-parser": "2.2.10", - "@mongosh/errors": "2.2.10", - "@mongosh/history": "2.2.10", - "@mongosh/i18n": "2.2.10", - "@mongosh/service-provider-core": "2.2.10", - "mongodb-redact": "^0.2.3" + "@mongosh/arg-parser": "2.2.15", + "@mongosh/errors": "2.2.15", + "@mongosh/history": "2.2.15", + "@mongosh/i18n": "2.2.15", + "@mongosh/service-provider-core": "2.2.15", + "mongodb-redact": "^1.1.2" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/shell-evaluator": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.2.10.tgz", - "integrity": "sha512-9v/p5WDu+Ur7+jhXajkBOvpINcRORA1UpdMOV4sBGQ623VbmoDd7xFeFPoi0uWzV50qW5yNRlh3+dvsG/jdKmQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.2.15.tgz", + "integrity": "sha512-Km/rThnbklPiYfNd/K1qFUNXICMRaYVq1pOWWSYbrT7a97KcFHIoD2OgUUudksuva4zc24CfeP5GSWRtYpbq+w==", "dependencies": { - "@mongosh/async-rewriter2": "2.2.10", - "@mongosh/history": "2.2.10", - "@mongosh/shell-api": "2.2.10" + "@mongosh/async-rewriter2": "2.2.15", + "@mongosh/history": "2.2.15", + "@mongosh/shell-api": "2.2.15" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/types": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.2.10.tgz", - "integrity": "sha512-BfCcmbC3givNCgYZxf6aUJy+/nHg2By6Hs9gZ/WMGgiedMuL5fRE18dGlwy3Aog7Jc6tVkBCMtOpYgjVnUPoxQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.2.15.tgz", + "integrity": "sha512-HkhZkjrkK9w+QHd2kPl7mspZUOpCUmgEvvHLMHmhpaYksLcxm2H4/H+s5F1Kj3EpuC9yyOHuvfC3ZMhDOgF0tg==", "dependencies": { - "@mongodb-js/devtools-connect": "^3.0.1" + "@mongodb-js/devtools-connect": "^3.0.5" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/types/node_modules/@mongodb-js/devtools-connect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", - "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.2.tgz", + "integrity": "sha512-0d/9hiNnVxFjgu0HtbUSMOem/hMtpj7aKj/QN3UsABGJ8jBxMXzE90jNP6JOJ+Nt5dmlCX2iTMvtJiBIWOtCZA==", "dependencies": { - "@mongodb-js/oidc-http-server-pages": "1.1.1", + "@mongodb-js/devtools-proxy-support": "^0.3.2", + "@mongodb-js/oidc-http-server-pages": "1.1.2", "lodash.merge": "^4.6.2", "mongodb-connection-string-url": "^3.0.0", - "socks": "^2.7.3", - "system-ca": "^1.0.2" + "socks": "^2.7.3" }, "optionalDependencies": { "kerberos": "^2.1.0", - "mongodb-client-encryption": "^6.0.0", + "mongodb-client-encryption": "^6.0.0 || ^6.1.0-alpha.0", "os-dns-native": "^1.2.0", "resolve-mongodb-srv": "^1.1.1" }, "peerDependencies": { - "@mongodb-js/oidc-plugin": "^1.0.0", - "mongodb": "^5.8.1 || ^6.0.0", + "@mongodb-js/oidc-plugin": "^1.1.0", + "mongodb": "^6.8.0", "mongodb-log-writer": "^1.4.2" } }, + "node_modules/@mongosh/types/node_modules/@mongodb-js/oidc-http-server-pages": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.2.tgz", + "integrity": "sha512-YcRlJ/HkKMahWvaPFTN/al5MGGX6CKQTsBHFTpNduxmeHd40jO8Cj5W7dfrqJAoit5E/G+GOwMaEfWdNrdlihg==" + }, "node_modules/@mongosh/types/node_modules/@mongodb-js/oidc-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", - "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", + "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", "peer": true, "dependencies": { "express": "^4.18.2", @@ -4668,6 +4851,16 @@ "nv": "bin/nv" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@polka/url": { "version": "1.0.0-next.25", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", @@ -5609,6 +5802,11 @@ "node": ">= 6" } }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -5697,9 +5895,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.16", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", - "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", + "version": "4.3.17", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.17.tgz", + "integrity": "sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==", "dev": true }, "node_modules/@types/debug": { @@ -5833,9 +6031,9 @@ } }, "node_modules/@types/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.9.tgz", + "integrity": "sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==", "dev": true, "dependencies": { "@types/braces": "*" @@ -6018,9 +6216,9 @@ "dev": true }, "node_modules/@types/vscode": { - "version": "1.90.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.90.0.tgz", - "integrity": "sha512-oT+ZJL7qHS9Z8bs0+WKf/kQ27qWYR3trsXpq46YDjFqBsMLG4ygGGjPaJ2tyrH0wJzjOEmDyg9PDJBBhWg9pkQ==", + "version": "1.92.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.92.0.tgz", + "integrity": "sha512-DcZoCj17RXlzB4XJ7IfKdPTcTGDLYvTOcTNkvtjXWF+K2TlKzHHkBEXNWQRpBIXixNEUgx39cQeTFunY0E2msw==", "dev": true }, "node_modules/@types/webidl-conversions": { @@ -6255,13 +6453,13 @@ "dev": true }, "node_modules/@vscode/test-electron": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.0.tgz", - "integrity": "sha512-yojuDFEjohx6Jb+x949JRNtSn6Wk2FAh4MldLE3ck9cfvCqzwxF32QsNy1T9Oe4oT+ZfFcg0uPUCajJzOmPlTA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.1.tgz", + "integrity": "sha512-Gc6EdaLANdktQ1t+zozoBVRynfIsMKMc94Svu1QreOBC8y76x4tvaK32TljrLi1LI2+PK58sDVbL7ALdqf3VRQ==", "dev": true, "dependencies": { "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.4", + "https-proxy-agent": "^7.0.5", "jszip": "^3.10.1", "ora": "^7.0.1", "semver": "^7.6.2" @@ -6341,9 +6539,9 @@ } }, "node_modules/@vscode/test-electron/node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "dependencies": { "agent-base": "^7.0.2", @@ -6465,9 +6663,9 @@ } }, "node_modules/@vscode/vsce": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.29.0.tgz", - "integrity": "sha512-63+aEO8SpjE6qKiIh2Cqy/P9zC7+USElGwpEdkyPp89xIBDBr5IqeNS3zkD3mp3wZqbvHIpJsCCNu74WQirYCg==", + "version": "2.31.1", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.31.1.tgz", + "integrity": "sha512-LwEQFKXV21C4/brvGPH/9+7ZOUM5cbK7oJ4fVmy0YG75NIy1HV8eMSoBZrl+u23NxpAhor62Cu1aI+JFtCtjSg==", "dev": true, "dependencies": { "@azure/identity": "^4.1.0", @@ -6478,7 +6676,7 @@ "cockatiel": "^3.1.2", "commander": "^6.2.1", "form-data": "^4.0.0", - "glob": "^7.0.6", + "glob": "^11.0.0", "hosted-git-info": "^4.0.2", "jsonc-parser": "^3.2.0", "leven": "^3.1.0", @@ -6488,7 +6686,7 @@ "parse-semver": "^1.1.1", "read": "^1.0.7", "semver": "^7.5.2", - "tmp": "^0.2.1", + "tmp": "^0.2.3", "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", @@ -6652,6 +6850,15 @@ "node": ">=4" } }, + "node_modules/@vscode/vsce/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@vscode/vsce/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -6699,6 +6906,44 @@ "node": ">=0.8.0" } }, + "node_modules/@vscode/vsce/node_modules/glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@vscode/vsce/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6708,6 +6953,15 @@ "node": ">=4" } }, + "node_modules/@vscode/vsce/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/@vscode/vsce/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -7159,9 +7413,9 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "engines": { "node": ">=6" @@ -7464,6 +7718,17 @@ "node": ">=0.10.0" } }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", @@ -7473,11 +7738,6 @@ "node": ">=4" } }, - "node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -7496,43 +7756,6 @@ "node": ">= 4.5.0" } }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -7774,6 +7997,14 @@ } ] }, + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -8059,9 +8290,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", - "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "funding": [ { "type": "opencollective", @@ -8077,10 +8308,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -8111,9 +8342,9 @@ } }, "node_modules/bson": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.7.0.tgz", - "integrity": "sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", + "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==", "engines": { "node": ">=16.20.1" } @@ -8362,9 +8593,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001636", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", - "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "funding": [ { "type": "opencollective", @@ -8393,9 +8624,9 @@ } }, "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", @@ -8404,7 +8635,7 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" }, "engines": { "node": ">=4" @@ -8422,6 +8653,15 @@ "chai": ">= 2.1.2 < 6" } }, + "node_modules/chai/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8824,14 +9064,6 @@ "node": ">=16" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/collect-v8-coverage": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", @@ -9239,6 +9471,14 @@ "node": ">=0.4.0" } }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "engines": { + "node": ">= 14" + } + }, "node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -9260,9 +9500,9 @@ "dev": true }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dependencies": { "ms": "2.1.2" }, @@ -9720,6 +9960,19 @@ "node": ">=0.10.0" } }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -9889,9 +10142,9 @@ "optional": true }, "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "engines": { "node": ">=0.3.1" @@ -10252,9 +10505,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.811", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.811.tgz", - "integrity": "sha512-CDyzcJ5XW78SHzsIOdn27z8J4ist8eaFLhdto2hSMSJQgsiwvbv2fbizcKUICryw1Wii1TI/FEkvzvJsR3awrA==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", + "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==" }, "node_modules/electron/node_modules/@types/node": { "version": "20.14.8", @@ -10594,7 +10847,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -10615,7 +10867,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "optional": true, "engines": { "node": ">=0.10.0" @@ -11104,9 +11355,9 @@ } }, "node_modules/eslint-plugin-mocha": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", - "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz", + "integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", @@ -11454,7 +11705,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "engines": { "node": ">=4.0" } @@ -11469,7 +11719,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -12083,6 +12332,28 @@ "pend": "~1.2.0" } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -12272,6 +12543,34 @@ "node": ">=0.10.0" } }, + "node_modules/foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz", @@ -12393,6 +12692,17 @@ "node": ">= 6" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -12401,19 +12711,6 @@ "node": ">= 0.6" } }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -12548,239 +12845,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gce-ips": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/gce-ips/-/gce-ips-1.0.2.tgz", - "integrity": "sha512-cg2Mxsqdk3Ja2VkYgvvPgXN0+PoS0Sx1ts3J7oLV/umOybgNSfsEsRiqNIItdv0jYPXQx/5xwziGYNZ8s6SiRA==", - "dependencies": { - "async": "^1.5.2", - "ip-range-check": "0.0.1", - "lodash.assign": "^4.0.8", - "yargs": "^4.7.0" - }, - "bin": { - "gce-ips": "bin/gce-ips.js" - } - }, - "node_modules/gce-ips/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/gce-ips/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "node_modules/gce-ips/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gce-ips/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "node_modules/gce-ips/node_modules/yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", - "dependencies": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "node_modules/gce-ips/node_modules/yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", - "dependencies": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -12858,6 +12922,52 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-uri": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", + "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4", + "fs-extra": "^11.2.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/get-uri/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/get-uri/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/get-uri/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -13954,14 +14064,6 @@ "node": ">=10.13.0" } }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ip-address": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", @@ -13979,22 +14081,6 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" }, - "node_modules/ip-range-check": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/ip-range-check/-/ip-range-check-0.0.1.tgz", - "integrity": "sha512-Ue7mUhrqz3KTwRiyzqeCWpo6yfenviwOEWTxZsLReIxOAbpafcskGrheIgJ25In6DNfEiGG5yTfmgd0hqiH/Kw==", - "dependencies": { - "ipaddr.js": "^1.0.1" - } - }, - "node_modules/ip-range-check/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/ipaddr.js": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", @@ -14473,11 +14559,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" - }, "node_modules/is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", @@ -14667,6 +14748,24 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/javascript-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", @@ -15874,17 +15973,6 @@ "node": ">=6" } }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -16002,11 +16090,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" - }, "node_modules/lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -16145,9 +16228,9 @@ } }, "node_modules/macos-export-certificate-and-key": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.1.2.tgz", - "integrity": "sha512-kd4ba3kVKZXy46p4tg3X19dmwaXjtz0La5It6Rt6PbtwP+YcQ0F7ab8MjcSHOvz9NSXmAU15qQG53OlBDAPDzQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.2.2.tgz", + "integrity": "sha512-+LwU/wG3wawI3yZ/CMf9C6jSSugJ823EuNJeV8J+FTbmYDJ8G3sF9Fha/0BLEbRZU28+oVvBD3a4mYxLQzDvLA==", "hasInstallScript": true, "optional": true, "os": [ @@ -16544,31 +16627,31 @@ "devOptional": true }, "node_modules/mocha": { - "version": "10.5.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.1.tgz", - "integrity": "sha512-eq5tEnaz2kM9ade8cuGJBMh5fBb9Ih/TB+ddlmPR+wLQmwLhUwa0ovqDlg7OTfKquW0BI7NUcNWX7DH8sC+3gw==", + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", + "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", "dev": true, "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -16634,29 +16717,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -16721,9 +16781,9 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -16786,19 +16846,10 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/mongodb": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", - "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.8.0.tgz", + "integrity": "sha512-HGQ9NWDle5WvwMnrvUxsFYPd3JEbqD3RgABHBQRuoCEND0qzhsd0iH5ypHsf1eJ+sXmvmyKpP+FLOKY8Il7jMw==", "dependencies": { "@mongodb-js/saslprep": "^1.1.5", "bson": "^6.7.0", @@ -16890,12 +16941,11 @@ } }, "node_modules/mongodb-cloud-info": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.2.tgz", - "integrity": "sha512-t5i0Q/PrUE2ZfFMWEJFyCSDPSmeTKKiwGIkMEpBeNH0Qv0gnVzp6hJ8EWGzcdhLnk7kgHj0x5O7V5oy+emGoAg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.4.tgz", + "integrity": "sha512-g7b6tuEY60IZzdMwzsl20j7ZLCe1DmeAucdmBrZX3yg0LVW24UXIRvqnj/nu7h530PbHkmyJZlElpwt21KN93w==", "dependencies": { "cross-fetch": "^3.1.6", - "gce-ips": "^1.0.2", "ipaddr.js": "^2.1.0" } }, @@ -17037,23 +17087,23 @@ } }, "node_modules/mongodb-redact": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-0.2.3.tgz", - "integrity": "sha512-a6ZPWlC9yf6F/n6ylKyyTO2PXZeD6nPKWwBmAIlOtOH4v82DIfsgO4Bpml10/YSwFxF1+VY8NHohmxofzpB4Yw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-1.1.3.tgz", + "integrity": "sha512-rMw3JlgJ1WhTYUlztojIJ+PGO4sQuwQmsbs1YY60Qf+jPHiDfP10YF//BvpVfy5lKRxAYZmgRTL/fLj1bUbIAg==", "dependencies": { - "lodash": "^4.17.15" + "lodash": "^4.17.21" } }, "node_modules/mongodb-runner": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.2.tgz", - "integrity": "sha512-6XF3iGXswbJy8TC4VgYPVxnrMiUTJ7iaehE+Hiox2sZL2y3b6aNKkrD3Rt2w6nO0JKnwlR/mukyXbMlz2Zmuvw==", + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.4.tgz", + "integrity": "sha512-pwWsei3btwq9omPLjNaERmSxwt72/OzQx1O468XBuUfhmlTJ+Ta+CIUYOX8vP3K0vSS6E/NUQBG/3ctEoLqOCA==", "dev": true, "dependencies": { - "@mongodb-js/mongodb-downloader": "^0.3.2", - "@mongodb-js/saslprep": "^1.1.7", + "@mongodb-js/mongodb-downloader": "^0.3.3", + "@mongodb-js/saslprep": "^1.1.8", "debug": "^4.3.4", - "mongodb": "^6.3.0", + "mongodb": "^6.8.0", "mongodb-connection-string-url": "^3.0.0", "yargs": "^17.7.2" }, @@ -17331,6 +17381,14 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -17383,6 +17441,24 @@ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", "devOptional": true }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -17458,14 +17534,15 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -17476,12 +17553,14 @@ "node_modules/normalize-package-data/node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, "bin": { "semver": "bin/semver" } @@ -17495,15 +17574,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", @@ -17711,14 +17781,6 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/numeral": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", @@ -18175,17 +18237,6 @@ "node-addon-api": "^4.3.0" } }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", @@ -18269,6 +18320,77 @@ "node": ">=6" } }, + "node_modules/pac-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz", + "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.5", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -18427,6 +18549,40 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -18508,6 +18664,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -18516,6 +18673,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -18524,6 +18682,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, "dependencies": { "pinkie": "^2.0.0" }, @@ -18617,12 +18776,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, "node_modules/postcss/node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -19450,15 +19603,11 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "devOptional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" - }, "node_modules/require-package-name": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", @@ -19543,6 +19692,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.5.tgz", "integrity": "sha512-flu1XTSLDJHvTnWu2aJh2w9jgGPcNYJn2obMkuzXiyWSz0MLXu9IRCjvirJ4zRoCPHJJPt3uLQVNJTrzFRWd1w==", + "optional": true, "dependencies": { "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0" }, @@ -19554,6 +19704,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "optional": true, "dependencies": { "punycode": "^2.1.1" }, @@ -19565,6 +19716,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "optional": true, "engines": { "node": ">=12" } @@ -19573,6 +19725,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "optional": true, "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -20206,9 +20359,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -20231,7 +20384,8 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true }, "node_modules/set-function-length": { "version": "1.1.1", @@ -20803,6 +20957,30 @@ "npm": ">= 3.0.0" } }, + "node_modules/socks-proxy-agent": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/socksv5": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/socksv5/-/socksv5-0.0.6.tgz", @@ -20938,6 +21116,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -20946,12 +21125,14 @@ "node_modules/spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -20960,7 +21141,8 @@ "node_modules/spdx-license-ids": { "version": "3.0.13", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true }, "node_modules/spdx-ranges": { "version": "2.1.1", @@ -21299,6 +21481,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -21392,6 +21589,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -21851,15 +22061,6 @@ "node": ">= 10.13.0" } }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -21954,15 +22155,12 @@ } }, "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, "engines": { - "node": ">=8.17.0" + "node": ">=14.14" } }, "node_modules/tmpl": { @@ -22542,9 +22740,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", @@ -22665,6 +22863,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -22739,9 +22938,9 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", - "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==" }, "node_modules/vscode-languageserver-types": { "version": "3.17.3", @@ -22806,6 +23005,14 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + }, "node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", @@ -22816,9 +23023,9 @@ } }, "node_modules/webpack": { - "version": "5.92.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", - "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -23046,11 +23253,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" - }, "node_modules/which-typed-array": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", @@ -23096,17 +23298,6 @@ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "optional": true }, - "node_modules/window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==", - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, "node_modules/winston": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", @@ -23147,9 +23338,9 @@ } }, "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "node_modules/wrap-ansi": { @@ -23169,6 +23360,24 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -24278,11 +24487,11 @@ } }, "@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", "requires": { - "@babel/types": "^7.24.7", + "@babel/types": "^7.25.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -24317,19 +24526,17 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", - "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", + "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/traverse": "^7.25.0", "semver": "^6.3.1" }, "dependencies": { @@ -24341,39 +24548,14 @@ } } }, - "@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "requires": { - "@babel/types": "^7.24.7" - } - }, - "@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "requires": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "requires": { - "@babel/types": "^7.24.7" - } - }, "@babel/helper-member-expression-to-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", - "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, "requires": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" } }, "@babel/helper-module-imports": { @@ -24386,15 +24568,14 @@ } }, "@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "requires": { - "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" } }, "@babel/helper-optimise-call-expression": { @@ -24407,19 +24588,19 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==" + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==" }, "@babel/helper-replace-supers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", - "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", - "@babel/helper-optimise-call-expression": "^7.24.7" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" } }, "@babel/helper-simple-access": { @@ -24441,18 +24622,10 @@ "@babel/types": "^7.24.7" } }, - "@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "requires": { - "@babel/types": "^7.24.7" - } - }, "@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==" + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==" }, "@babel/helper-validator-identifier": { "version": "7.24.7", @@ -24537,9 +24710,12 @@ } }, "@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==" + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "requires": { + "@babel/types": "^7.25.2" + } }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -24668,21 +24844,21 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", - "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "requires": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", - "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-simple-access": "^7.24.7" } }, @@ -24703,14 +24879,15 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", - "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-typescript": "^7.24.7" } }, @@ -24736,38 +24913,35 @@ } }, "@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "requires": { "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" } }, "@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", "requires": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", "requires": { - "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" } @@ -25149,6 +25323,71 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -26705,6 +26944,96 @@ } } }, + "@mongodb-js/devtools-proxy-support": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-proxy-support/-/devtools-proxy-support-0.3.2.tgz", + "integrity": "sha512-qMSe/5XVEK3xXtMhtv+InIRuanH5nDdDo8yD3gFvsw5pRhI9qM5m06imfgx9X1woAFdntIUNy72lGNi2glbOaA==", + "requires": { + "@mongodb-js/socksv5": "^0.0.10", + "agent-base": "^7.1.1", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", + "lru-cache": "^11.0.0", + "node-fetch": "^3.3.2", + "pac-proxy-agent": "7.0.2", + "socks-proxy-agent": "^8.0.4", + "ssh2": "^1.15.0", + "system-ca": "^2.0.0" + }, + "dependencies": { + "agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "requires": { + "debug": "^4.3.4" + } + }, + "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", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==" + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==" + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "optional": true + }, + "node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "requires": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + } + }, + "system-ca": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/system-ca/-/system-ca-2.0.1.tgz", + "integrity": "sha512-9ZDV9yl8ph6Op67wDGPr4LykX86usE9x3le+XZSHfVMiiVJ5IRgmCWjLgxyz35ju9H3GDIJJZm4ogAeIfN5cQQ==", + "requires": { + "macos-export-certificate-and-key": "^1.2.0", + "win-export-certificate-and-key": "^2.1.0" + } + }, + "win-export-certificate-and-key": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/win-export-certificate-and-key/-/win-export-certificate-and-key-2.1.0.tgz", + "integrity": "sha512-WeMLa/2uNZcS/HWGKU2G1Gzeh3vHpV/UFvwLhJLKxPHYFAbubxxVcJbqmPXaqySWK1Ymymh16zKK5WYIJ3zgzA==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^3.1.0" + } + } + } + }, "@mongodb-js/mongodb-constants": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.10.2.tgz", @@ -26714,9 +27043,9 @@ } }, "@mongodb-js/mongodb-downloader": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.2.tgz", - "integrity": "sha512-bhMfxzaBy31RveAu7qqON3nVXRHYmxJXyC3lZI+mK+4DhagKZdGHJpMkLmHQRt+wAxMR6ldI9YlcWjHSqceIsQ==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.3.tgz", + "integrity": "sha512-PIu8qF6J02lQsxfq8vdcfvueb8H5mrB43UaOl1E4AQMrOhm403imAZYKH61qe+7J7WzlVFck0zGI/7brHLHcNQ==", "dev": true, "requires": { "debug": "^4.3.4", @@ -26794,17 +27123,17 @@ "requires": {} }, "@mongodb-js/saslprep": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", - "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", "requires": { "sparse-bitfield": "^3.0.3" } }, "@mongodb-js/sbom-tools": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/sbom-tools/-/sbom-tools-0.7.0.tgz", - "integrity": "sha512-hjc5XrDMVaKdecLzl6IkXT2VO8fudF6aNQLRFlhJ528B5KEKBaahKU4cXnFLV7BRpi1E59FrLg3S7U6bYBfcaw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/sbom-tools/-/sbom-tools-0.7.1.tgz", + "integrity": "sha512-nXUmuUTbdVkbp0LrKOlpToOmAY6S2MSdpuJkhuN7m75gq/UqAmowzQEIWptKbPouaRD2KbncTnXLIDqsYPLm1w==", "dev": true, "requires": { "@octokit/rest": "^20.1.1", @@ -26820,9 +27149,9 @@ } }, "@mongodb-js/signing-utils": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.4.tgz", - "integrity": "sha512-D9rbB6HMXvBAPu2f3Wy3r2rggrlr7NlNt2hn5rjPM27Q2nA6AKL2mMZNkWCHmehuc3l9jdMWfaQgjvIuMMLMew==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.5.tgz", + "integrity": "sha512-59gZ2dTCtZZDloMOxGU6gEY9T6EEXGAMjvoK7o7ETRvI9mU2B95aq59eh0tSf/HtV+CCbIwsbSy2LqqT5GZqKg==", "dev": true, "requires": { "@types/ssh2": "^1.11.19", @@ -26830,6 +27159,14 @@ "ssh2": "^1.15.0" } }, + "@mongodb-js/socksv5": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/socksv5/-/socksv5-0.0.10.tgz", + "integrity": "sha512-JDz2fLKsjMiSNUxKrCpGptsgu7DzsXfu4gnUQ3RhUaBS1d4YbLrt6HejpckAiHIAa+niBpZAeiUsoop0IihWsw==", + "requires": { + "ip-address": "^9.0.5" + } + }, "@mongodb-js/ssh-tunnel": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mongodb-js/ssh-tunnel/-/ssh-tunnel-2.2.1.tgz", @@ -26841,19 +27178,19 @@ } }, "@mongosh/arg-parser": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.2.10.tgz", - "integrity": "sha512-QvXziAmACrFty7id5I0s3ZOetIc1wWhjtpytGMtchEiusTQOO+NJy74UMrxK+NGxKPDRL0MroRIo05/LEfPkJg==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.2.15.tgz", + "integrity": "sha512-KGYiw5bl8cv6wDSrTCDF1B2PjddPhiD5BkulXvgpkfuD5bB2zTJSgpx+EGGcD60OSDRnMdk0tu9AY8uIExtNvA==", "requires": { - "@mongosh/errors": "2.2.10", - "@mongosh/i18n": "2.2.10", + "@mongosh/errors": "2.2.15", + "@mongosh/i18n": "2.2.15", "mongodb-connection-string-url": "^3.0.1" } }, "@mongosh/async-rewriter2": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.2.10.tgz", - "integrity": "sha512-ssY+WxY/oOHPZAIjrYzUYhCr1K2towzshxQpYw3nk5JyjTdvN4gc0xnrWMNLJonEOD/ADTdlneFshQhuh/V1vQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.2.15.tgz", + "integrity": "sha512-y7LyjulLYe0QodRa4YIpvpHt23VQWrFGx4C5AD3IVVFhgNd0yxg2bWLIMaFsM7wwgbGJU3BxnVecAnHOgiuRHg==", "requires": { "@babel/core": "^7.22.8", "@babel/plugin-transform-destructuring": "^7.22.5", @@ -26863,109 +27200,114 @@ } }, "@mongosh/autocomplete": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.2.10.tgz", - "integrity": "sha512-iLrZ1vfA67jKwEWtSKGYAZ7QM5beYFo4AsmiV+KCXwtcZref3dX1OgcjBvRW8dRvSonz8/7RnN9r8QtsTyw2xw==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.2.15.tgz", + "integrity": "sha512-R1rZVWLNmlOsOVGoHCdAxB0mx7J1A4ElPvzRBWcPW+PSEzlTT/9j0AT87exK/jjUE8ZnkzUw/soh4tqFQIjwAA==", "requires": { "@mongodb-js/mongodb-constants": "^0.10.1", - "@mongosh/shell-api": "2.2.10", + "@mongosh/shell-api": "2.2.15", "semver": "^7.5.4" } }, "@mongosh/browser-runtime-core": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.2.10.tgz", - "integrity": "sha512-tN2TwbA/ANuZllWBQaZPYKjGS4M+F8UbPkHS7b08DeixbJB457Dh2HNDXztmADuLPht82DurRxx6nS0suNFNXQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.2.15.tgz", + "integrity": "sha512-jBy6GizoPEvwDJCl53YDQY5Lv1F4ADL0DEqaFvKk0Ltav8EkvCcsmZTY6Kf9MmgVJGXTawWSxKoj5KLj2QUr4g==", "requires": { - "@mongosh/autocomplete": "2.2.10", - "@mongosh/service-provider-core": "2.2.10", - "@mongosh/shell-api": "2.2.10", - "@mongosh/shell-evaluator": "2.2.10" + "@mongosh/autocomplete": "2.2.15", + "@mongosh/service-provider-core": "2.2.15", + "@mongosh/shell-api": "2.2.15", + "@mongosh/shell-evaluator": "2.2.15" } }, "@mongosh/browser-runtime-electron": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.2.10.tgz", - "integrity": "sha512-LmI/VVIrchb51vfTKcFZ/Q4xVzQuHnaU5/LdhRwBaAKaxEp02QwQ0IskOUg6MmU1MwDXFstwhn74nn6ZZeBhWg==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.2.15.tgz", + "integrity": "sha512-bMxxjn9F6nxvu/qklOUc9jO9nuK24b5qzMZblHgJilicmFVtUPofZ6B5bEaxYoQHEHyB7RITs/MZmXpV6mDehg==", "requires": { - "@mongosh/browser-runtime-core": "2.2.10", - "@mongosh/service-provider-core": "2.2.10", - "@mongosh/types": "2.2.10" + "@mongosh/browser-runtime-core": "2.2.15", + "@mongosh/service-provider-core": "2.2.15", + "@mongosh/types": "2.2.15" } }, "@mongosh/errors": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.10.tgz", - "integrity": "sha512-jR8dv9MYYRwr+Yri/KI6HAuob0zdVBQOrMvjc+ygBbTIkL3wh1iOrjZKZuYUsjei1FDxLA8NywftAoHDchq2Tg==" + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.15.tgz", + "integrity": "sha512-RHCRv3Fg/xWS5XV4hOyh6KDBrn2kld+J5PVtXfsuke73jfQTLlR2PGMzSEpPWiayRLgLExq56qdXGOtNecmhuA==" }, "@mongosh/history": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.2.10.tgz", - "integrity": "sha512-EmMKvsytTXq/1tAwxZUvl+6+gCrarWdEDB9mO9vTCFneOgB0ao2jpo7KA9Jc63r8RYhDH78dtjFsSuFeox3AiA==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.2.15.tgz", + "integrity": "sha512-GV1i3RmG38+OUxBnqTeAlcPezkJ4fH3bBs4bwvLEV7iXMcVNzNoJBMyDa7gO6er45w38Kczx9kVDIOYdutt2Yg==", "requires": { "mongodb-connection-string-url": "^3.0.1", - "mongodb-redact": "^0.2.3" + "mongodb-redact": "^1.1.2" } }, "@mongosh/i18n": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.2.10.tgz", - "integrity": "sha512-TxyFOhdXqCN0AXGcWziPzZ+YBf8KthnZIbOVSyA+C1a0jynfMf+XBnLnNpwvKfGZUeQ1VyZkrKLPopG7e2nuIA==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.2.15.tgz", + "integrity": "sha512-7pjQbvJbtaglZKj86/2GRQnXLRekmpTPIVR2M58kAVXaNGqGrfCpe6mkBEkIwdjk6UHQIvkwMSzUIbFGm7nFvA==", "requires": { - "@mongosh/errors": "2.2.10" + "@mongosh/errors": "2.2.15" } }, "@mongosh/service-provider-core": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.2.10.tgz", - "integrity": "sha512-XB+G24WjTIYXnHoToJhDJMwMV7pCcgCwgme0MiE6lzcYs5HwlHhk9tzBwv0+i+3NcCb5SMqU38iUMuGG6jKJdQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.2.15.tgz", + "integrity": "sha512-Pk+Sxxf0rE7KacEMZvhGjr15cWkV+lcbI8cv5Hf7Taxj8kLXfbKM45WBIgGtMDTh/fbmbT15qI7StG5sCO8CCg==", "requires": { "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.2.10", + "@mongosh/errors": "2.2.15", "bson": "^6.7.0", - "mongodb": "^6.7.0", + "mongodb": "^6.8.0", "mongodb-build-info": "^1.7.2", "mongodb-client-encryption": "^6.0.0" } }, "@mongosh/service-provider-server": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.2.10.tgz", - "integrity": "sha512-7WxxKZgXNdW7f6vUCmqqWPexPOFqy/n155rFeyWhRVBI5mdbb/Sb5vsdqo1+6AyDpCXsLdl8CldsqmOfGKG36A==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.2.15.tgz", + "integrity": "sha512-TtQVsMlQhZqRQ6Aj9tUcSvNLL6tthkzx3m/FhBxyT/7rxxuK56w0IUVg31Cqq/gz9xUfkP3JiKounIgYqRCbXQ==", "requires": { - "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/devtools-connect": "^3.0.5", "@mongodb-js/oidc-plugin": "^1.0.2", - "@mongosh/errors": "2.2.10", - "@mongosh/service-provider-core": "2.2.10", - "@mongosh/types": "2.2.10", + "@mongosh/errors": "2.2.15", + "@mongosh/service-provider-core": "2.2.15", + "@mongosh/types": "2.2.15", "aws4": "^1.12.0", "kerberos": "^2.1.0", - "mongodb": "^6.7.0", + "mongodb": "^6.8.0", "mongodb-client-encryption": "^6.0.0", "mongodb-connection-string-url": "^3.0.1", "socks": "^2.8.3" }, "dependencies": { "@mongodb-js/devtools-connect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", - "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.2.tgz", + "integrity": "sha512-0d/9hiNnVxFjgu0HtbUSMOem/hMtpj7aKj/QN3UsABGJ8jBxMXzE90jNP6JOJ+Nt5dmlCX2iTMvtJiBIWOtCZA==", "requires": { - "@mongodb-js/oidc-http-server-pages": "1.1.1", + "@mongodb-js/devtools-proxy-support": "^0.3.2", + "@mongodb-js/oidc-http-server-pages": "1.1.2", "kerberos": "^2.1.0", "lodash.merge": "^4.6.2", - "mongodb-client-encryption": "^6.0.0", + "mongodb-client-encryption": "^6.0.0 || ^6.1.0-alpha.0", "mongodb-connection-string-url": "^3.0.0", "os-dns-native": "^1.2.0", "resolve-mongodb-srv": "^1.1.1", - "socks": "^2.7.3", - "system-ca": "^1.0.2" + "socks": "^2.7.3" } }, + "@mongodb-js/oidc-http-server-pages": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.2.tgz", + "integrity": "sha512-YcRlJ/HkKMahWvaPFTN/al5MGGX6CKQTsBHFTpNduxmeHd40jO8Cj5W7dfrqJAoit5E/G+GOwMaEfWdNrdlihg==" + }, "@mongodb-js/oidc-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", - "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", + "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", "requires": { "express": "^4.18.2", "open": "^9.1.0", @@ -26975,56 +27317,61 @@ } }, "@mongosh/shell-api": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.2.10.tgz", - "integrity": "sha512-Cgcb0U5wqzmTmwAmMkSqhZ3fR4PjqNJ2px61i/9JzWAgIEDSbv9Xni3mcfDRQd/qjLHCEUlAPFgEBu7Cpk0qBQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.2.15.tgz", + "integrity": "sha512-HkJhDKWHRRqa7fznsRVp/ivolM7RKeCyTuJXMVFym3qt4wlC63Tc3IQjm8HYORlFGRz04AOOwCgzkIp8ddPXkg==", "requires": { - "@mongosh/arg-parser": "2.2.10", - "@mongosh/errors": "2.2.10", - "@mongosh/history": "2.2.10", - "@mongosh/i18n": "2.2.10", - "@mongosh/service-provider-core": "2.2.10", - "mongodb-redact": "^0.2.3" + "@mongosh/arg-parser": "2.2.15", + "@mongosh/errors": "2.2.15", + "@mongosh/history": "2.2.15", + "@mongosh/i18n": "2.2.15", + "@mongosh/service-provider-core": "2.2.15", + "mongodb-redact": "^1.1.2" } }, "@mongosh/shell-evaluator": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.2.10.tgz", - "integrity": "sha512-9v/p5WDu+Ur7+jhXajkBOvpINcRORA1UpdMOV4sBGQ623VbmoDd7xFeFPoi0uWzV50qW5yNRlh3+dvsG/jdKmQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.2.15.tgz", + "integrity": "sha512-Km/rThnbklPiYfNd/K1qFUNXICMRaYVq1pOWWSYbrT7a97KcFHIoD2OgUUudksuva4zc24CfeP5GSWRtYpbq+w==", "requires": { - "@mongosh/async-rewriter2": "2.2.10", - "@mongosh/history": "2.2.10", - "@mongosh/shell-api": "2.2.10" + "@mongosh/async-rewriter2": "2.2.15", + "@mongosh/history": "2.2.15", + "@mongosh/shell-api": "2.2.15" } }, "@mongosh/types": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.2.10.tgz", - "integrity": "sha512-BfCcmbC3givNCgYZxf6aUJy+/nHg2By6Hs9gZ/WMGgiedMuL5fRE18dGlwy3Aog7Jc6tVkBCMtOpYgjVnUPoxQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.2.15.tgz", + "integrity": "sha512-HkhZkjrkK9w+QHd2kPl7mspZUOpCUmgEvvHLMHmhpaYksLcxm2H4/H+s5F1Kj3EpuC9yyOHuvfC3ZMhDOgF0tg==", "requires": { - "@mongodb-js/devtools-connect": "^3.0.1" + "@mongodb-js/devtools-connect": "^3.0.5" }, "dependencies": { "@mongodb-js/devtools-connect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", - "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.2.tgz", + "integrity": "sha512-0d/9hiNnVxFjgu0HtbUSMOem/hMtpj7aKj/QN3UsABGJ8jBxMXzE90jNP6JOJ+Nt5dmlCX2iTMvtJiBIWOtCZA==", "requires": { - "@mongodb-js/oidc-http-server-pages": "1.1.1", + "@mongodb-js/devtools-proxy-support": "^0.3.2", + "@mongodb-js/oidc-http-server-pages": "1.1.2", "kerberos": "^2.1.0", "lodash.merge": "^4.6.2", - "mongodb-client-encryption": "^6.0.0", + "mongodb-client-encryption": "^6.0.0 || ^6.1.0-alpha.0", "mongodb-connection-string-url": "^3.0.0", "os-dns-native": "^1.2.0", "resolve-mongodb-srv": "^1.1.1", - "socks": "^2.7.3", - "system-ca": "^1.0.2" + "socks": "^2.7.3" } }, + "@mongodb-js/oidc-http-server-pages": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.2.tgz", + "integrity": "sha512-YcRlJ/HkKMahWvaPFTN/al5MGGX6CKQTsBHFTpNduxmeHd40jO8Cj5W7dfrqJAoit5E/G+GOwMaEfWdNrdlihg==" + }, "@mongodb-js/oidc-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", - "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.1.1.tgz", + "integrity": "sha512-u2t3dvUpQJeTmMvXyZu730yJzqJ3aKraQ7ELlNwpKpl1AGxL6Dd9Z2AEu9ycExZjXhyjBW/lbaWuEhdNZHEgeg==", "peer": true, "requires": { "express": "^4.18.2", @@ -27194,6 +27541,13 @@ "yargs": "^16.2.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "@polka/url": { "version": "1.0.0-next.25", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", @@ -27917,6 +28271,11 @@ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true }, + "@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" + }, "@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -28005,9 +28364,9 @@ } }, "@types/chai": { - "version": "4.3.16", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", - "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", + "version": "4.3.17", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.17.tgz", + "integrity": "sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==", "dev": true }, "@types/debug": { @@ -28140,9 +28499,9 @@ } }, "@types/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.9.tgz", + "integrity": "sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==", "dev": true, "requires": { "@types/braces": "*" @@ -28326,9 +28685,9 @@ "dev": true }, "@types/vscode": { - "version": "1.90.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.90.0.tgz", - "integrity": "sha512-oT+ZJL7qHS9Z8bs0+WKf/kQ27qWYR3trsXpq46YDjFqBsMLG4ygGGjPaJ2tyrH0wJzjOEmDyg9PDJBBhWg9pkQ==", + "version": "1.92.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.92.0.tgz", + "integrity": "sha512-DcZoCj17RXlzB4XJ7IfKdPTcTGDLYvTOcTNkvtjXWF+K2TlKzHHkBEXNWQRpBIXixNEUgx39cQeTFunY0E2msw==", "dev": true }, "@types/webidl-conversions": { @@ -28474,13 +28833,13 @@ "dev": true }, "@vscode/test-electron": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.0.tgz", - "integrity": "sha512-yojuDFEjohx6Jb+x949JRNtSn6Wk2FAh4MldLE3ck9cfvCqzwxF32QsNy1T9Oe4oT+ZfFcg0uPUCajJzOmPlTA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.1.tgz", + "integrity": "sha512-Gc6EdaLANdktQ1t+zozoBVRynfIsMKMc94Svu1QreOBC8y76x4tvaK32TljrLi1LI2+PK58sDVbL7ALdqf3VRQ==", "dev": true, "requires": { "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.4", + "https-proxy-agent": "^7.0.5", "jszip": "^3.10.1", "ora": "^7.0.1", "semver": "^7.6.2" @@ -28533,9 +28892,9 @@ } }, "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "requires": { "agent-base": "^7.0.2", @@ -28614,9 +28973,9 @@ } }, "@vscode/vsce": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.29.0.tgz", - "integrity": "sha512-63+aEO8SpjE6qKiIh2Cqy/P9zC7+USElGwpEdkyPp89xIBDBr5IqeNS3zkD3mp3wZqbvHIpJsCCNu74WQirYCg==", + "version": "2.31.1", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.31.1.tgz", + "integrity": "sha512-LwEQFKXV21C4/brvGPH/9+7ZOUM5cbK7oJ4fVmy0YG75NIy1HV8eMSoBZrl+u23NxpAhor62Cu1aI+JFtCtjSg==", "dev": true, "requires": { "@azure/identity": "^4.1.0", @@ -28627,7 +28986,7 @@ "cockatiel": "^3.1.2", "commander": "^6.2.1", "form-data": "^4.0.0", - "glob": "^7.0.6", + "glob": "^11.0.0", "hosted-git-info": "^4.0.2", "jsonc-parser": "^3.2.0", "keytar": "^7.7.0", @@ -28638,7 +28997,7 @@ "parse-semver": "^1.1.1", "read": "^1.0.7", "semver": "^7.5.2", - "tmp": "^0.2.1", + "tmp": "^0.2.3", "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", @@ -28655,6 +29014,15 @@ "color-convert": "^1.9.0" } }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -28693,12 +29061,43 @@ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, + "glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "dependencies": { + "minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -29160,9 +29559,9 @@ "requires": {} }, "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true }, "ansi-escapes": { @@ -29389,17 +29788,20 @@ "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "requires": { + "tslib": "^2.0.1" + } + }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==" - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -29412,20 +29814,6 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, - "autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "dev": true, - "requires": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, "available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -29606,6 +29994,11 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==" + }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -29875,14 +30268,14 @@ } }, "browserslist": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", - "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "requires": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" } }, "bs-logger": { @@ -29904,9 +30297,9 @@ } }, "bson": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.7.0.tgz", - "integrity": "sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==" + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", + "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==" }, "bson-transpilers": { "version": "2.2.0", @@ -30083,9 +30476,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001636", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", - "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==" + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==" }, "capture-exit": { "version": "2.0.0", @@ -30097,9 +30490,9 @@ } }, "chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "requires": { "assertion-error": "^1.1.0", @@ -30108,7 +30501,15 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" + }, + "dependencies": { + "type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true + } } }, "chai-as-promised": { @@ -30431,11 +30832,6 @@ "integrity": "sha512-xC759TpZ69d7HhfDp8m2WkRwEUiCkxY8Ee2OQH/3H6zmy2D/5Sm+zSTbPRa+V2QyjDtpMvjOIAOVjA2gp6N1kQ==", "dev": true }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - }, "collect-v8-coverage": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", @@ -30779,6 +31175,11 @@ "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", "integrity": "sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==" }, + "data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==" + }, "data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -30797,9 +31198,9 @@ "dev": true }, "debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "requires": { "ms": "2.1.2" }, @@ -31122,6 +31523,16 @@ "isobject": "^3.0.1" } }, + "degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "requires": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -31253,9 +31664,9 @@ "optional": true }, "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, "diff-sequences": { @@ -31558,9 +31969,9 @@ } }, "electron-to-chromium": { - "version": "1.4.811", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.811.tgz", - "integrity": "sha512-CDyzcJ5XW78SHzsIOdn27z8J4ist8eaFLhdto2hSMSJQgsiwvbv2fbizcKUICryw1Wii1TI/FEkvzvJsR3awrA==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", + "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==" }, "elliptic": { "version": "6.5.4", @@ -31833,7 +32244,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, "requires": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -31845,7 +32255,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "optional": true } } @@ -32304,9 +32713,9 @@ "requires": {} }, "eslint-plugin-mocha": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", - "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz", + "integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==", "dev": true, "requires": { "eslint-utils": "^3.0.0", @@ -32460,8 +32869,7 @@ "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" }, "estree-walker": { "version": "2.0.2", @@ -32472,8 +32880,7 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "etag": { "version": "1.8.1", @@ -32967,6 +33374,15 @@ "pend": "~1.2.0" } }, + "fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "requires": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + } + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -33122,6 +33538,24 @@ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, + "foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, "fork-ts-checker-webpack-plugin": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz", @@ -33209,17 +33643,19 @@ "mime-types": "^2.1.12" } }, + "formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "requires": { + "fetch-blob": "^3.1.2" + } + }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, - "fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true - }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -33322,193 +33758,6 @@ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" }, - "gce-ips": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/gce-ips/-/gce-ips-1.0.2.tgz", - "integrity": "sha512-cg2Mxsqdk3Ja2VkYgvvPgXN0+PoS0Sx1ts3J7oLV/umOybgNSfsEsRiqNIItdv0jYPXQx/5xwziGYNZ8s6SiRA==", - "requires": { - "async": "^1.5.2", - "ip-range-check": "0.0.1", - "lodash.assign": "^4.0.8", - "yargs": "^4.7.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==", - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha512-9pIKIJhnI5tonzG6OnCFlz/yln8xHYcGl+pn3xR0Vzff0vzN1PbNRaelgfgRUwZ3s4i3jvxT9WhmUGL4whnasA==", - "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - } - } - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -33562,6 +33811,43 @@ "get-intrinsic": "^1.1.1" } }, + "get-uri": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", + "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", + "requires": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4", + "fs-extra": "^11.2.0" + }, + "dependencies": { + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + } + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -34399,11 +34685,6 @@ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" - }, "ip-address": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", @@ -34420,21 +34701,6 @@ } } }, - "ip-range-check": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/ip-range-check/-/ip-range-check-0.0.1.tgz", - "integrity": "sha512-Ue7mUhrqz3KTwRiyzqeCWpo6yfenviwOEWTxZsLReIxOAbpafcskGrheIgJ25In6DNfEiGG5yTfmgd0hqiH/Kw==", - "requires": { - "ipaddr.js": "^1.0.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, "ipaddr.js": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", @@ -34753,11 +35019,6 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" - }, "is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", @@ -34905,6 +35166,16 @@ "istanbul-lib-report": "^3.0.0" } }, + "jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "javascript-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", @@ -35904,14 +36175,6 @@ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "requires": { - "invert-kv": "^1.0.0" - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -36007,11 +36270,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==" - }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -36135,9 +36393,9 @@ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==" }, "macos-export-certificate-and-key": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.1.2.tgz", - "integrity": "sha512-kd4ba3kVKZXy46p4tg3X19dmwaXjtz0La5It6Rt6PbtwP+YcQ0F7ab8MjcSHOvz9NSXmAU15qQG53OlBDAPDzQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.2.2.tgz", + "integrity": "sha512-+LwU/wG3wawI3yZ/CMf9C6jSSugJ823EuNJeV8J+FTbmYDJ8G3sF9Fha/0BLEbRZU28+oVvBD3a4mYxLQzDvLA==", "optional": true, "requires": { "bindings": "^1.5.0", @@ -36451,31 +36709,31 @@ "devOptional": true }, "mocha": { - "version": "10.5.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.1.tgz", - "integrity": "sha512-eq5tEnaz2kM9ade8cuGJBMh5fBb9Ih/TB+ddlmPR+wLQmwLhUwa0ovqDlg7OTfKquW0BI7NUcNWX7DH8sC+3gw==", + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", + "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "dependencies": { "argparse": { @@ -36484,23 +36742,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -36543,9 +36784,9 @@ } }, "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -36588,12 +36829,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true } } }, @@ -36632,9 +36867,9 @@ } }, "mongodb": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", - "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.8.0.tgz", + "integrity": "sha512-HGQ9NWDle5WvwMnrvUxsFYPd3JEbqD3RgABHBQRuoCEND0qzhsd0iH5ypHsf1eJ+sXmvmyKpP+FLOKY8Il7jMw==", "requires": { "@mongodb-js/saslprep": "^1.1.5", "bson": "^6.7.0", @@ -36683,12 +36918,11 @@ } }, "mongodb-cloud-info": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.2.tgz", - "integrity": "sha512-t5i0Q/PrUE2ZfFMWEJFyCSDPSmeTKKiwGIkMEpBeNH0Qv0gnVzp6hJ8EWGzcdhLnk7kgHj0x5O7V5oy+emGoAg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.4.tgz", + "integrity": "sha512-g7b6tuEY60IZzdMwzsl20j7ZLCe1DmeAucdmBrZX3yg0LVW24UXIRvqnj/nu7h530PbHkmyJZlElpwt21KN93w==", "requires": { "cross-fetch": "^3.1.6", - "gce-ips": "^1.0.2", "ipaddr.js": "^2.1.0" } }, @@ -36810,23 +37044,23 @@ } }, "mongodb-redact": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-0.2.3.tgz", - "integrity": "sha512-a6ZPWlC9yf6F/n6ylKyyTO2PXZeD6nPKWwBmAIlOtOH4v82DIfsgO4Bpml10/YSwFxF1+VY8NHohmxofzpB4Yw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-1.1.3.tgz", + "integrity": "sha512-rMw3JlgJ1WhTYUlztojIJ+PGO4sQuwQmsbs1YY60Qf+jPHiDfP10YF//BvpVfy5lKRxAYZmgRTL/fLj1bUbIAg==", "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.21" } }, "mongodb-runner": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.2.tgz", - "integrity": "sha512-6XF3iGXswbJy8TC4VgYPVxnrMiUTJ7iaehE+Hiox2sZL2y3b6aNKkrD3Rt2w6nO0JKnwlR/mukyXbMlz2Zmuvw==", + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.4.tgz", + "integrity": "sha512-pwWsei3btwq9omPLjNaERmSxwt72/OzQx1O468XBuUfhmlTJ+Ta+CIUYOX8vP3K0vSS6E/NUQBG/3ctEoLqOCA==", "dev": true, "requires": { - "@mongodb-js/mongodb-downloader": "^0.3.2", - "@mongodb-js/saslprep": "^1.1.7", + "@mongodb-js/mongodb-downloader": "^0.3.3", + "@mongodb-js/saslprep": "^1.1.8", "debug": "^4.3.4", - "mongodb": "^6.3.0", + "mongodb": "^6.8.0", "mongodb-connection-string-url": "^3.0.0", "yargs": "^17.7.2" }, @@ -37058,6 +37292,11 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -37109,6 +37348,11 @@ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", "devOptional": true }, + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" + }, "node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -37172,14 +37416,15 @@ } }, "node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -37190,12 +37435,14 @@ "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, "semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true } } }, @@ -37205,12 +37452,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true - }, "normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", @@ -37366,11 +37607,6 @@ "boolbase": "^1.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" - }, "numeral": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", @@ -37709,14 +37945,6 @@ "node-addon-api": "^4.3.0" } }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "requires": { - "lcid": "^1.0.0" - } - }, "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", @@ -37770,6 +37998,64 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "pac-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz", + "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==", + "requires": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.5", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.4" + }, + "dependencies": { + "agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "requires": { + "debug": "^4.3.4" + } + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + } + } + }, + "pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "requires": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + } + }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -37894,6 +38180,30 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "requires": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "dependencies": { + "lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + } + } + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -37953,17 +38263,20 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, "requires": { "pinkie": "^2.0.0" } @@ -38030,12 +38343,6 @@ } } }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, "pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", @@ -38675,12 +38982,8 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "devOptional": true }, "require-package-name": { "version": "2.0.1", @@ -38750,6 +39053,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.5.tgz", "integrity": "sha512-flu1XTSLDJHvTnWu2aJh2w9jgGPcNYJn2obMkuzXiyWSz0MLXu9IRCjvirJ4zRoCPHJJPt3uLQVNJTrzFRWd1w==", + "optional": true, "requires": { "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0" }, @@ -38758,6 +39062,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "optional": true, "requires": { "punycode": "^2.1.1" } @@ -38765,12 +39070,14 @@ "webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "optional": true }, "whatwg-url": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "optional": true, "requires": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -39257,9 +39564,9 @@ } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -39279,7 +39586,8 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true }, "set-function-length": { "version": "1.1.1", @@ -39731,6 +40039,26 @@ "smart-buffer": "^4.2.0" } }, + "socks-proxy-agent": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "requires": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "dependencies": { + "agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "requires": { + "debug": "^4.3.4" + } + } + } + }, "socksv5": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/socksv5/-/socksv5-0.0.6.tgz", @@ -39843,6 +40171,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -39851,12 +40180,14 @@ "spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -39865,7 +40196,8 @@ "spdx-license-ids": { "version": "3.0.13", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true }, "spdx-ranges": { "version": "2.1.1", @@ -40143,6 +40475,17 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -40212,6 +40555,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -40571,15 +40923,6 @@ "supports-color": "^8.0.0" } }, - "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -40654,13 +40997,10 @@ "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==" }, "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true }, "tmpl": { "version": "1.0.5", @@ -41100,9 +41440,9 @@ "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" }, "update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "requires": { "escalade": "^3.1.2", "picocolors": "^1.0.1" @@ -41189,6 +41529,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -41250,9 +41591,9 @@ } }, "vscode-languageserver-textdocument": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", - "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==" }, "vscode-languageserver-types": { "version": "3.17.3", @@ -41310,6 +41651,11 @@ "defaults": "^1.0.3" } }, + "web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==" + }, "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", @@ -41317,9 +41663,9 @@ "dev": true }, "webpack": { - "version": "5.92.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", - "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -41477,11 +41823,6 @@ "is-weakset": "^2.0.1" } }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" - }, "which-typed-array": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", @@ -41519,11 +41860,6 @@ } } }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha512-UD7d8HFA2+PZsbKyaOCEy8gMh1oDtHgJh1LfgjQ4zVXmYjAT/kvz3PueITKuqDiIXQe7yzpPnxX3lNc+AhQMyw==" - }, "winston": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", @@ -41557,9 +41893,9 @@ "dev": true }, "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "wrap-ansi": { @@ -41573,6 +41909,17 @@ "strip-ansi": "^6.0.0" } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index f60d77464..9163a2df3 100644 --- a/package.json +++ b/package.json @@ -68,9 +68,9 @@ "create-vulnerability-tickets": "mongodb-sbom-tools generate-vulnerability-report --snyk-reports=.sbom/snyk-test-result.json --dependencies=.sbom/dependencies.json --create-jira-issues" }, "engines": { - "vscode": "^1.90.2", - "node": ">=16.16.0", - "npm": ">=8.19.4" + "vscode": "^1.92.1", + "node": ">=20.9.0", + "npm": ">=10.1.0" }, "activationEvents": [ "onView:mongoDB", @@ -1115,20 +1115,20 @@ "@mongodb-js/connection-form": "^1.22.2", "@mongodb-js/connection-info": "^0.1.2", "@mongodb-js/mongodb-constants": "^0.10.2", - "@mongosh/browser-runtime-electron": "^2.2.10", - "@mongosh/i18n": "^2.2.10", - "@mongosh/service-provider-server": "^2.2.10", - "@mongosh/shell-api": "^2.2.10", + "@mongosh/browser-runtime-electron": "^2.2.15", + "@mongosh/i18n": "^2.2.15", + "@mongosh/service-provider-server": "^2.2.15", + "@mongosh/shell-api": "^2.2.15", "@segment/analytics-node": "^1.3.0", - "bson": "^6.7.0", + "bson": "^6.8.0", "bson-transpilers": "^2.2.0", - "debug": "^4.3.5", + "debug": "^4.3.6", "dotenv": "^16.4.5", "lodash": "^4.17.21", "micromatch": "^4.0.7", - "mongodb": "^6.7.0", + "mongodb": "^6.8.0", "mongodb-build-info": "^1.7.2", - "mongodb-cloud-info": "^2.1.2", + "mongodb-cloud-info": "^2.1.4", "mongodb-connection-string-url": "^3.0.1", "mongodb-data-service": "^22.21.1", "mongodb-log-writer": "^1.4.2", @@ -1137,29 +1137,28 @@ "numeral": "^2.0.6", "react": "^17.0.2", "react-dom": "^17.0.2", - "resolve-mongodb-srv": "^1.1.5", "ts-log": "^2.2.5", "uuid": "^8.3.2", "vscode-languageclient": "^8.1.0", "vscode-languageserver": "^8.1.0", - "vscode-languageserver-textdocument": "^1.0.11" + "vscode-languageserver-textdocument": "^1.0.12" }, "devDependencies": { "@babel/preset-typescript": "^7.24.7", + "@babel/types": "^7.25.2", "@mongodb-js/oidc-mock-provider": "^0.9.1", "@mongodb-js/oidc-plugin": "^0.4.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", - "@mongodb-js/sbom-tools": "^0.7.0", - "@mongodb-js/signing-utils": "^0.3.4", - "@mongosh/service-provider-core": "^2.2.10", + "@mongodb-js/sbom-tools": "^0.7.1", + "@mongodb-js/signing-utils": "^0.3.5", + "@mongosh/service-provider-core": "^2.2.15", "@testing-library/react": "^12.1.5", - "@types/babel__core": "^7.20.5", "@types/babel__traverse": "^7.20.6", - "@types/chai": "^4.3.16", + "@types/chai": "^4.3.17", "@types/debug": "^4.1.12", "@types/glob": "^7.2.0", "@types/jest": "^26.0.24", - "@types/micromatch": "^4.0.7", + "@types/micromatch": "^4.0.9", "@types/mkdirp": "^2.0.0", "@types/mocha": "^8.2.3", "@types/node": "^14.18.63", @@ -1168,15 +1167,14 @@ "@types/sinon": "^9.0.11", "@types/sinon-chai": "^3.2.12", "@types/uuid": "^8.3.4", - "@types/vscode": "^1.90.0", + "@types/vscode": "^1.92.0", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", - "@vscode/test-electron": "^2.4.0", - "@vscode/vsce": "^2.29.0", + "@vscode/test-electron": "^2.4.1", + "@vscode/vsce": "^2.31.1", "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", - "autoprefixer": "^10.4.19", "buffer": "^6.0.3", - "chai": "^4.4.1", + "chai": "^4.5.0", "chai-as-promised": "^7.1.2", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", @@ -1185,18 +1183,18 @@ "enzyme": "^3.11.0", "eslint": "^8.57.0", "eslint-config-mongodb-js": "^5.0.3", - "eslint-plugin-mocha": "^10.4.3", + "eslint-plugin-mocha": "^10.5.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "glob": "^7.2.3", "jest": "^26.6.3", "jest-junit": "^12.3.0", "jest-transform-stub": "^2.0.0", "mkdirp": "^1.0.4", - "mocha": "^10.5.1", + "mocha": "^10.7.3", "mocha-junit-reporter": "^2.2.1", "mocha-multi": "^1.1.7", "mongodb-client-encryption": "^6.0.1", - "mongodb-runner": "^5.6.2", + "mongodb-runner": "^5.6.4", "node-fetch": "^2.7.0", "node-loader": "^0.6.0", "npm-run-all": "^4.1.5", @@ -1208,11 +1206,12 @@ "sinon": "^9.2.4", "sinon-chai": "^3.7.0", "stream-browserify": "^3.0.0", + "terser-webpack-plugin": "^5.3.10", "ts-jest": "^26.5.6", "ts-loader": "^9.5.1", "ts-node": "^10.9.2", "typescript": "^4.9.5", - "webpack": "^5.92.1", + "webpack": "^5.93.0", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", "webpack-merge": "^5.10.0", diff --git a/src/language/visitor.ts b/src/language/visitor.ts index 9cda0aa46..b6adf7c7d 100644 --- a/src/language/visitor.ts +++ b/src/language/visitor.ts @@ -1,6 +1,7 @@ -import type * as babel from '@babel/core'; import * as parser from '@babel/parser'; +import type { NodePath } from '@babel/traverse'; import traverse from '@babel/traverse'; +import type * as t from '@babel/types'; const PLACEHOLDER = 'TRIGGER_CHARACTER'; @@ -14,10 +15,7 @@ export interface VisitorTextAndSelection { selection: VisitorSelection; } -type ObjectKey = - | babel.types.ObjectProperty - | babel.types.SpreadElement - | babel.types.ObjectMethod; +type ObjectKey = t.ObjectProperty | t.SpreadElement | t.ObjectMethod; export interface CompletionState { databaseName: string | null; @@ -62,7 +60,7 @@ export class Visitor { }; } - _visitCallExpression(path: babel.NodePath): void { + _visitCallExpression(path: NodePath): void { if (path.node.type !== 'CallExpression') { return; } @@ -74,7 +72,7 @@ export class Visitor { this._checkHasDatabaseName(path.node); } - _visitMemberExpression(path: babel.NodePath): void { + _visitMemberExpression(path: NodePath): void { if (path.node.type !== 'MemberExpression') { return; } @@ -89,7 +87,7 @@ export class Visitor { this._checkHasStreamProcessorName(path.node); } - _visitExpressionStatement(path: babel.NodePath): void { + _visitExpressionStatement(path: NodePath): void { if (path.node.type === 'ExpressionStatement') { this._checkIsGlobalSymbol(path.node); this._checkIsDbSymbol(path.node); @@ -97,7 +95,7 @@ export class Visitor { } } - _visitObjectExpression(path: babel.NodePath): void { + _visitObjectExpression(path: NodePath): void { if (path.node.type === 'ObjectExpression') { this._checkIsObjectKey(path.node); this._checkIsIdentifierObjectValue(path.node); @@ -105,7 +103,7 @@ export class Visitor { } } - _visitArrayExpression(path: babel.NodePath): void { + _visitArrayExpression(path: NodePath): void { if (path.node.type === 'ArrayExpression') { this._checkIsBSONSelection(path.node); this._checkIsStage(path.node); @@ -113,13 +111,13 @@ export class Visitor { } } - _visitVariableDeclarator(path: babel.NodePath): void { + _visitVariableDeclarator(path: NodePath): void { if (path.node.type === 'VariableDeclarator') { this._checkIsBSONSelection(path.node); } } - _visitObjectProperty(path: babel.NodePath): void { + _visitObjectProperty(path: NodePath): void { if (path.node.type === 'ObjectProperty') { this._checkIsBSONSelection(path.node); } @@ -192,7 +190,7 @@ export class Visitor { } traverse(ast, { - enter: (path: babel.NodePath) => { + enter: (path: NodePath) => { this._visitCallExpression(path); this._visitMemberExpression(path); this._visitExpressionStatement(path); @@ -243,7 +241,7 @@ export class Visitor { }; } - _checkIsUseCallAsSimpleString(node: babel.types.CallExpression): void { + _checkIsUseCallAsSimpleString(node: t.CallExpression): void { if ( node.callee.type === 'Identifier' && node.callee.name === 'use' && @@ -256,7 +254,7 @@ export class Visitor { } } - _checkIsUseCallAsTemplate(node: babel.types.CallExpression): void { + _checkIsUseCallAsTemplate(node: t.CallExpression): void { if ( node.callee.type === 'Identifier' && node.callee.name === 'use' && @@ -272,12 +270,12 @@ export class Visitor { } } - _checkIsUseCall(node: babel.types.CallExpression): void { + _checkIsUseCall(node: t.CallExpression): void { this._checkIsUseCallAsSimpleString(node); this._checkIsUseCallAsTemplate(node); } - _checkIsGlobalSymbol(node: babel.types.ExpressionStatement): void { + _checkIsGlobalSymbol(node: t.ExpressionStatement): void { if ( node.expression.type === 'Identifier' && node.expression.name.includes('TRIGGER_CHARACTER') && @@ -287,7 +285,7 @@ export class Visitor { } } - _checkIsDbSymbol(node: babel.types.ExpressionStatement): void { + _checkIsDbSymbol(node: t.ExpressionStatement): void { if ( node.expression.type === 'MemberExpression' && node.expression.object.type === 'Identifier' && @@ -298,7 +296,7 @@ export class Visitor { } } - _checkIsSpSymbol(node: babel.types.ExpressionStatement): void { + _checkIsSpSymbol(node: t.ExpressionStatement): void { if ( node.expression.type === 'MemberExpression' && node.expression.object.type === 'Identifier' && @@ -309,7 +307,7 @@ export class Visitor { } } - _checkIsObjectKey(node: babel.types.ObjectExpression): void { + _checkIsObjectKey(node: t.ObjectExpression): void { node.properties.find((item: ObjectKey) => { if ( item.type === 'ObjectProperty' && @@ -322,7 +320,7 @@ export class Visitor { }); } - _checkIsIdentifierObjectValue(node: babel.types.ObjectExpression): void { + _checkIsIdentifierObjectValue(node: t.ObjectExpression): void { node.properties.find((item: ObjectKey) => { if ( item.type === 'ObjectProperty' && @@ -335,7 +333,7 @@ export class Visitor { }); } - _checkIsTextObjectValue(node: babel.types.ObjectExpression): void { + _checkIsTextObjectValue(node: t.ObjectExpression): void { node.properties.find((item: ObjectKey) => { if ( ((item.type === 'ObjectProperty' && @@ -352,7 +350,7 @@ export class Visitor { }); } - _checkIsStage(node: babel.types.ArrayExpression): void { + _checkIsStage(node: t.ArrayExpression): void { if (node.elements) { node.elements.forEach((item) => { if (item?.type === 'ObjectExpression') { @@ -371,7 +369,7 @@ export class Visitor { } } - _checkIsStageOperator(path: babel.NodePath): void { + _checkIsStageOperator(path: NodePath): void { if (path.node.type === 'ArrayExpression' && path.node.elements) { path.node.elements.forEach((item) => { if (item?.type === 'ObjectExpression') { @@ -383,7 +381,7 @@ export class Visitor { ) { const name = item.key.name; path.scope.traverse(item, { - enter: (path: babel.NodePath) => { + enter: (path: NodePath) => { if ( path.node.type === 'ObjectProperty' && path.node.key.type === 'Identifier' && @@ -402,7 +400,7 @@ export class Visitor { } _isParentAroundSelection( - node: babel.types.ArrayExpression | babel.types.CallExpression + node: t.ArrayExpression | t.CallExpression ): boolean { if ( node.loc?.start?.line && @@ -420,7 +418,7 @@ export class Visitor { return false; } - _isObjectPropBeforeSelection(node: babel.types.ObjectProperty): boolean { + _isObjectPropBeforeSelection(node: t.ObjectProperty): boolean { if ( node.key.loc?.end && (node.key.loc?.end.line - 1 < this._selection.start?.line || @@ -433,9 +431,7 @@ export class Visitor { return false; } - _isVariableIdentifierBeforeSelection( - node: babel.types.VariableDeclarator - ): boolean { + _isVariableIdentifierBeforeSelection(node: t.VariableDeclarator): boolean { if ( node.id.loc?.end && (node.id.loc?.end.line - 1 < this._selection.start?.line || @@ -448,9 +444,7 @@ export class Visitor { return false; } - _isWithinSelection( - node: babel.types.ArrayExpression | babel.types.ObjectExpression - ): boolean { + _isWithinSelection(node: t.ArrayExpression | t.ObjectExpression): boolean { if ( node.loc?.start?.line && node.loc.start.line - 1 === this._selection.start?.line && @@ -467,7 +461,7 @@ export class Visitor { return false; } - _checkIsArrayWithinSelection(node: babel.types.Node): void { + _checkIsArrayWithinSelection(node: t.Node): void { if ( node.type === 'ArrayExpression' && this._isWithinSelection(node) && @@ -477,7 +471,7 @@ export class Visitor { } } - _checkIsObjectWithinSelection(node: babel.types.Node): void { + _checkIsObjectWithinSelection(node: t.Node): void { if ( node.type === 'ObjectExpression' && this._isWithinSelection(node) && @@ -487,7 +481,7 @@ export class Visitor { } } - _checkIsBSONSelectionInArray(node: babel.types.Node): void { + _checkIsBSONSelectionInArray(node: t.Node): void { if ( node.type === 'ArrayExpression' && this._isParentAroundSelection(node) @@ -501,7 +495,7 @@ export class Visitor { } } - _checkIsBSONSelectionInFunction(node: babel.types.Node): void { + _checkIsBSONSelectionInFunction(node: t.Node): void { if (node.type === 'CallExpression' && this._isParentAroundSelection(node)) { node.arguments.forEach((item) => { if (item) { @@ -512,7 +506,7 @@ export class Visitor { } } - _checkIsBSONSelectionInVariable(node: babel.types.Node) { + _checkIsBSONSelectionInVariable(node: t.Node) { if ( node.type === 'VariableDeclarator' && node.init && @@ -523,7 +517,7 @@ export class Visitor { } } - _checkIsBSONSelectionInObject(node: babel.types.Node) { + _checkIsBSONSelectionInObject(node: t.Node) { if ( node.type === 'ObjectProperty' && this._isObjectPropBeforeSelection(node) @@ -533,16 +527,14 @@ export class Visitor { } } - _checkIsBSONSelection(node: babel.types.Node): void { + _checkIsBSONSelection(node: t.Node): void { this._checkIsBSONSelectionInFunction(node); this._checkIsBSONSelectionInArray(node); this._checkIsBSONSelectionInVariable(node); this._checkIsBSONSelectionInObject(node); } - _checkIsCollectionNameAsMemberExpression( - node: babel.types.MemberExpression - ): void { + _checkIsCollectionNameAsMemberExpression(node: t.MemberExpression): void { if ( node.object.type === 'Identifier' && node.object.name === 'db' && @@ -556,7 +548,7 @@ export class Visitor { } } - _checkGetCollectionAsSimpleString(node: babel.types.CallExpression): void { + _checkGetCollectionAsSimpleString(node: t.CallExpression): void { if ( node.arguments[0].type === 'StringLiteral' && node.arguments[0].value.includes(PLACEHOLDER) && @@ -566,7 +558,7 @@ export class Visitor { } } - _checkGetCollectionAsTemplate(node: babel.types.CallExpression): void { + _checkGetCollectionAsTemplate(node: t.CallExpression): void { if ( node.arguments[0].type === 'TemplateLiteral' && node.arguments[0].quasis.length === 1 && @@ -577,9 +569,7 @@ export class Visitor { } } - _checkIsCollectionNameAsCallExpression( - node: babel.types.CallExpression - ): void { + _checkIsCollectionNameAsCallExpression(node: t.CallExpression): void { if ( node.callee.type === 'MemberExpression' && node.callee.object.type === 'Identifier' && @@ -593,7 +583,7 @@ export class Visitor { } } - _checkHasAggregationCall(node: babel.types.MemberExpression): void { + _checkHasAggregationCall(node: t.MemberExpression): void { if ( node.object.type === 'CallExpression' && node.property.type === 'Identifier' && @@ -608,7 +598,7 @@ export class Visitor { } } - _checkHasFindCall(node: babel.types.MemberExpression): void { + _checkHasFindCall(node: t.MemberExpression): void { if ( node.object.type === 'CallExpression' && node.property.type === 'Identifier' && @@ -623,7 +613,7 @@ export class Visitor { } } - _checkHasDatabaseName(node: babel.types.CallExpression): void { + _checkHasDatabaseName(node: t.CallExpression): void { if ( node.callee.type === 'Identifier' && node.callee.name === 'use' && @@ -639,9 +629,7 @@ export class Visitor { } } - _checkHasCollectionNameMemberExpression( - node: babel.types.MemberExpression - ): void { + _checkHasCollectionNameMemberExpression(node: t.MemberExpression): void { if ( node.object.type === 'MemberExpression' && node.object.object.type === 'Identifier' && @@ -661,7 +649,7 @@ export class Visitor { } } - _checkHasCollectionNameCallExpression(node: babel.types.MemberExpression) { + _checkHasCollectionNameCallExpression(node: t.MemberExpression) { if ( node.object.type === 'CallExpression' && node.object.callee.type === 'MemberExpression' && @@ -677,12 +665,12 @@ export class Visitor { } } - _checkHasCollectionName(node: babel.types.MemberExpression): void { + _checkHasCollectionName(node: t.MemberExpression): void { this._checkHasCollectionNameMemberExpression(node); this._checkHasCollectionNameCallExpression(node); } - _checkIsCollectionMemberExpression(node: babel.types.MemberExpression): void { + _checkIsCollectionMemberExpression(node: t.MemberExpression): void { if ( node.object.type === 'MemberExpression' && node.object.object.type === 'Identifier' && @@ -695,7 +683,7 @@ export class Visitor { } } - _checkIsCollectionCallExpression(node: babel.types.MemberExpression): void { + _checkIsCollectionCallExpression(node: t.MemberExpression): void { if ( node.object.type === 'CallExpression' && node.object.callee.type === 'MemberExpression' && @@ -711,13 +699,13 @@ export class Visitor { } } - _checkIsCollectionSymbol(node: babel.types.MemberExpression): void { + _checkIsCollectionSymbol(node: t.MemberExpression): void { this._checkIsCollectionMemberExpression(node); this._checkIsCollectionCallExpression(node); } _checkIsStreamProcessorNameAsMemberExpression( - node: babel.types.MemberExpression + node: t.MemberExpression ): void { if ( node.object.type === 'Identifier' && @@ -733,9 +721,7 @@ export class Visitor { } } - _checkIsStreamProcessorNameAsCallExpression( - node: babel.types.CallExpression - ): void { + _checkIsStreamProcessorNameAsCallExpression(node: t.CallExpression): void { if ( node.callee.type === 'MemberExpression' && node.callee.object.type === 'Identifier' && @@ -749,9 +735,7 @@ export class Visitor { } } - _checkGetStreamProcessorAsSimpleString( - node: babel.types.CallExpression - ): void { + _checkGetStreamProcessorAsSimpleString(node: t.CallExpression): void { if ( node.arguments[0].type === 'StringLiteral' && node.arguments[0].value.includes(PLACEHOLDER) && @@ -761,7 +745,7 @@ export class Visitor { } } - _checkGetStreamProcessorAsTemplate(node: babel.types.CallExpression): void { + _checkGetStreamProcessorAsTemplate(node: t.CallExpression): void { if ( node.arguments[0].type === 'TemplateLiteral' && node.arguments[0].quasis.length === 1 && @@ -772,14 +756,12 @@ export class Visitor { } } - _checkHasStreamProcessorName(node: babel.types.MemberExpression): void { + _checkHasStreamProcessorName(node: t.MemberExpression): void { this._checkHasStreamProcessorNameMemberExpression(node); this._checkHasStreamProcessorNameCallExpression(node); } - _checkHasStreamProcessorNameMemberExpression( - node: babel.types.MemberExpression - ): void { + _checkHasStreamProcessorNameMemberExpression(node: t.MemberExpression): void { if ( node.object.type === 'MemberExpression' && node.object.object.type === 'Identifier' && @@ -799,9 +781,7 @@ export class Visitor { } } - _checkHasStreamProcessorNameCallExpression( - node: babel.types.MemberExpression - ) { + _checkHasStreamProcessorNameCallExpression(node: t.MemberExpression) { if ( node.object.type === 'CallExpression' && node.object.callee.type === 'MemberExpression' && @@ -817,14 +797,12 @@ export class Visitor { } } - _checkIsStreamProcessorSymbol(node: babel.types.MemberExpression): void { + _checkIsStreamProcessorSymbol(node: t.MemberExpression): void { this._checkIsStreamProcessorMemberExpression(node); this._checkIsStreamProcessorCallExpression(node); } - _checkIsStreamProcessorMemberExpression( - node: babel.types.MemberExpression - ): void { + _checkIsStreamProcessorMemberExpression(node: t.MemberExpression): void { if ( node.object.type === 'MemberExpression' && node.object.object.type === 'Identifier' && @@ -837,9 +815,7 @@ export class Visitor { } } - _checkIsStreamProcessorCallExpression( - node: babel.types.MemberExpression - ): void { + _checkIsStreamProcessorCallExpression(node: t.MemberExpression): void { if ( node.object.type === 'CallExpression' && node.object.callee.type === 'MemberExpression' && diff --git a/src/telemetry/connectionTelemetry.ts b/src/telemetry/connectionTelemetry.ts index bbfd3bfb2..c92f675ac 100644 --- a/src/telemetry/connectionTelemetry.ts +++ b/src/telemetry/connectionTelemetry.ts @@ -1,11 +1,9 @@ import type { DataService } from 'mongodb-data-service'; -import { getCloudInfo } from 'mongodb-cloud-info'; import mongoDBBuildInfo from 'mongodb-build-info'; -import resolveMongodbSrv from 'resolve-mongodb-srv'; import { ConnectionTypes } from '../connectionController'; import { createLogger } from '../logging'; -import ConnectionString from 'mongodb-connection-string-url'; +import type { TopologyType } from 'mongodb'; const log = createLogger('connection telemetry helper'); // eslint-disable-next-line @typescript-eslint/no-var-requires @@ -14,81 +12,109 @@ const { version } = require('../../package.json'); export type NewConnectionTelemetryEventProperties = { auth_strategy?: string; is_atlas?: boolean; - is_localhost?: boolean; + is_local_atlas?: boolean; + atlas_hostname?: string | null; is_data_lake?: boolean; is_enterprise?: boolean; - is_public_cloud?: boolean; dl_version?: string | null; - public_cloud_name?: string | null; is_genuine?: boolean; non_genuine_server_name?: string | null; server_version?: string; server_arch?: string; - server_os?: string; + server_os_family?: string; is_used_connect_screen?: boolean; is_used_command_palette?: boolean; is_used_saved_connection?: boolean; vscode_mdb_extension_version?: string; -}; + topology_type?: TopologyType; +} & HostInformation; -type CloudInfo = { - isPublicCloud?: boolean; - publicCloudName?: string | null; +export type HostInformation = { + is_localhost?: boolean; + is_atlas_url?: boolean; + is_do_url?: boolean; // Is digital ocean url. + is_public_cloud?: boolean; + public_cloud_name?: string; }; -async function getHostnameForConnection( - connectionStringData: ConnectionString -): Promise { - if (connectionStringData.isSRV) { - const uri = await resolveMongodbSrv(connectionStringData.toString()).catch( - () => null - ); - if (!uri) { - return undefined; - } - connectionStringData = new ConnectionString(uri, { - looseValidation: true, - }); +function getHostnameForConnection(dataService: DataService): string | null { + const lastSeenTopology = dataService.getLastSeenTopology(); + const resolvedHost = lastSeenTopology?.servers.values().next().value.address; + + if (resolvedHost.startsWith('[')) { + return resolvedHost.slice(1).split(']')[0]; // IPv6 } - const [hostname] = (connectionStringData.hosts[0] ?? '').split(':'); - return hostname; + return resolvedHost.split(':')[0]; } -async function getCloudInfoFromDataService( - dataService: DataService -): Promise { - const hostname = await getHostnameForConnection( - dataService.getConnectionString() - ); - const cloudInfo: { - isAws?: boolean; - isAzure?: boolean; - isGcp?: boolean; - } = await getCloudInfo(hostname); - - if (cloudInfo.isAws) { +async function getPublicCloudInfo(host: string): Promise<{ + public_cloud_name?: string; + is_public_cloud?: boolean; +}> { + try { + const { getCloudInfo } = await import('mongodb-cloud-info'); + const { isAws, isAzure, isGcp } = await getCloudInfo(host); + let publicCloudName; + + if (isAws) { + publicCloudName = 'AWS'; + } else if (isAzure) { + publicCloudName = 'Azure'; + } else if (isGcp) { + publicCloudName = 'GCP'; + } + + if (publicCloudName === undefined) { + return { is_public_cloud: false }; + } + return { - isPublicCloud: true, - publicCloudName: 'aws', + is_public_cloud: true, + public_cloud_name: publicCloudName, }; + } catch (err) { + // Cannot resolve dns used by mongodb-cloud-info in the browser environment. + return {}; } - if (cloudInfo.isGcp) { +} + +async function getHostInformation( + host: string | null +): Promise { + if (!host) { return { - isPublicCloud: true, - publicCloudName: 'gcp', + is_do_url: false, + is_atlas_url: false, + is_localhost: false, }; } - if (cloudInfo.isAzure) { + + if (mongoDBBuildInfo.isLocalhost(host)) { return { - isPublicCloud: true, - publicCloudName: 'azure', + is_public_cloud: false, + is_do_url: false, + is_atlas_url: false, + is_localhost: true, }; } + if (mongoDBBuildInfo.isDigitalOcean(host)) { + return { + is_localhost: false, + is_public_cloud: false, + is_atlas_url: false, + is_do_url: true, + }; + } + + const publicCloudInfo = await getPublicCloudInfo(host); + return { - isPublicCloud: false, - publicCloudName: null, + is_localhost: false, + is_do_url: false, + is_atlas_url: mongoDBBuildInfo.isAtlas(host), + ...publicCloudInfo, }; } @@ -109,27 +135,29 @@ export async function getConnectionTelemetryProperties( const authMechanism = connectionString.searchParams.get('authMechanism'); const username = connectionString.username ? 'DEFAULT' : 'NONE'; const authStrategy = authMechanism ?? username; - - const [instance, cloudInfo] = await Promise.all([ - dataService.instance(), - getCloudInfoFromDataService(dataService), - ]); + const resolvedHostname = getHostnameForConnection(dataService); + const { dataLake, genuineMongoDB, host, build, isAtlas, isLocalAtlas } = + await dataService.instance(); + const atlasHostname = isAtlas ? resolvedHostname : null; preparedProperties = { ...preparedProperties, + ...(await getHostInformation( + resolvedHostname || connectionString.toString() + )), auth_strategy: authStrategy, - is_atlas: mongoDBBuildInfo.isAtlas(connectionString.toString()), - is_localhost: mongoDBBuildInfo.isLocalhost(connectionString.toString()), - is_data_lake: instance.dataLake.isDataLake, - is_enterprise: instance.build.isEnterprise, - is_public_cloud: cloudInfo.isPublicCloud, - dl_version: instance.dataLake.version, - public_cloud_name: cloudInfo.publicCloudName, - is_genuine: instance.genuineMongoDB.isGenuine, - non_genuine_server_name: instance.genuineMongoDB.dbType, - server_version: instance.build.version, - server_arch: instance.host.arch, - server_os: instance.host.os, + is_atlas: isAtlas, + atlas_hostname: atlasHostname, + is_local_atlas: isLocalAtlas, + is_data_lake: dataLake.isDataLake, + dl_version: dataLake.version, + is_enterprise: build.isEnterprise, + is_genuine: genuineMongoDB.isGenuine, + non_genuine_server_name: genuineMongoDB.dbType, + server_version: build.version, + server_arch: host.arch, + server_os_family: host.os_family, + topology_type: dataService.getCurrentTopologyType(), }; } catch (error) { log.error('Getting connection telemetry properties failed', error); diff --git a/src/test/suite/telemetry/connectionTelemetry.test.ts b/src/test/suite/telemetry/connectionTelemetry.test.ts index d393cf597..43708a28a 100644 --- a/src/test/suite/telemetry/connectionTelemetry.test.ts +++ b/src/test/suite/telemetry/connectionTelemetry.test.ts @@ -1,114 +1,635 @@ -import { before, after, beforeEach, afterEach } from 'mocha'; +import { before, beforeEach, afterEach } from 'mocha'; import { connect } from 'mongodb-data-service'; import { expect } from 'chai'; import sinon from 'sinon'; import type { DataService } from 'mongodb-data-service'; -import * as getCloudInfoModule from 'mongodb-cloud-info'; - import { ConnectionTypes } from '../../../connectionController'; import { getConnectionTelemetryProperties } from '../../../telemetry/connectionTelemetry'; import { TEST_DATABASE_URI } from '../dbTestHelper'; +import ConnectionString from 'mongodb-connection-string-url'; + suite('ConnectionTelemetry Controller Test Suite', function () { suite('with mock data service', function () { this.timeout(8000); - let dataServiceStub: DataService; const sandbox = sinon.createSandbox(); + let dataServiceStub; + let getConnectionStringStub; + let getLastSeenTopology; + let instanceStub; before(() => { - const getConnectionStringStub = sandbox.stub(); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - username: 'authMechanism', - } as unknown as ReturnType); - - const instanceStub = sandbox.stub(); - instanceStub.resolves({ - dataLake: {}, - build: {}, - genuineMongoDB: {}, - host: {}, - } as unknown as Awaited>); - + getConnectionStringStub = sandbox.stub(); + getLastSeenTopology = sandbox.stub(); + instanceStub = sandbox.stub(); dataServiceStub = { + getCurrentTopologyType: sandbox.stub(), getConnectionString: getConnectionStringStub, + getLastSeenTopology: getLastSeenTopology, instance: instanceStub, } as unknown as DataService; + }); + + afterEach(() => { + sandbox.restore(); + }); - sandbox.stub(getCloudInfoModule, 'getCloudInfo').callsFake(() => - Promise.resolve({ - isAws: false, - isGcp: false, - isAzure: false, - }) + test('it tracks public cloud info', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://13.64.151.161') ); + getLastSeenTopology.returns({ + servers: new Map().set('13.64.151.161', { + address: '13.64.151.161', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); + expect(instanceTelemetry.is_public_cloud).to.equal(true); + expect(instanceTelemetry.public_cloud_name).to.equal('Azure'); }); - after(() => { - sandbox.restore(); + test('it tracks non public cloud info', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); + expect(instanceTelemetry.is_public_cloud).to.equal(false); }); - test('it returns is_used_connect_screen true when the connection type is form', async () => { + test('it tracks atlas local dev', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + isAtlas: false, + isLocalAtlas: true, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_FORM ); + expect(instanceTelemetry.is_atlas).to.equal(false); + expect(instanceTelemetry.atlas_hostname).to.equal(null); + expect(instanceTelemetry.is_atlas_url).to.equal(false); + expect(instanceTelemetry.is_local_atlas).to.equal(true); + }); + + test('it tracks atlas', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + isAtlas: true, + isLocalAtlas: false, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://test-data-sets-a011bb.mongodb.net') + ); + getLastSeenTopology.returns({ + servers: new Map().set('test-data-sets-00-02-a011bb.mongodb.net', { + address: 'test-data-sets-00-02-a011bb.mongodb.net', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); + expect(instanceTelemetry.is_atlas).to.equal(true); + expect(instanceTelemetry.atlas_hostname).to.equal( + 'test-data-sets-00-02-a011bb.mongodb.net' + ); + expect(instanceTelemetry.is_atlas_url).to.equal(true); + expect(instanceTelemetry.is_local_atlas).to.equal(false); + }); + + test('it tracks atlas IPv6', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + isAtlas: true, + isLocalAtlas: false, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://[3fff:0:a88:15a3::ac2f]:8001') + ); + getLastSeenTopology.returns({ + servers: new Map().set('[3fff:0:a88:15a3::ac2f]:8001', { + address: '[3fff:0:a88:15a3::ac2f]:8001', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); + expect(instanceTelemetry.is_atlas).to.equal(true); + expect(instanceTelemetry.atlas_hostname).to.equal( + '3fff:0:a88:15a3::ac2f' + ); + expect(instanceTelemetry.is_atlas_url).to.equal(false); + }); + + test('it tracks atlas with fallback to original uri if failed resolving srv', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + isAtlas: false, + isLocalAtlas: false, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost') + ); + getLastSeenTopology.returns({ + servers: new Map().set('', { + address: '', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); + expect(instanceTelemetry.is_localhost).to.equal(true); + }); + + test('it tracks digital ocean', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://example.mongo.ondigitalocean.com:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('example.mongo.ondigitalocean.com:27017', { + address: 'example.mongo.ondigitalocean.com:27017', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + expect(instanceTelemetry.is_localhost).to.equal(false); + expect(instanceTelemetry.is_atlas_url).to.equal(false); + expect(instanceTelemetry.is_do_url).to.equal(true); + expect(instanceTelemetry.is_genuine).to.equal(true); + }); + + test('it tracks is_used_connect_screen true when the connection type is form', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); expect(instanceTelemetry.is_used_connect_screen).to.equal(true); expect(instanceTelemetry.is_used_command_palette).to.equal(false); expect(instanceTelemetry.is_used_saved_connection).to.equal(false); }); - test('it returns is_used_command_palette true when the connection type is string', async () => { + test('it tracks is_used_command_palette true when the connection type is string', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_STRING ); - expect(instanceTelemetry.is_used_connect_screen).to.equal(false); expect(instanceTelemetry.is_used_command_palette).to.equal(true); expect(instanceTelemetry.is_used_saved_connection).to.equal(false); }); - test('it returns is_used_saved_connection true when the connection type is id', async () => { + test('it tracks is_used_saved_connection true when the connection type is id', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_ID ); - expect(instanceTelemetry.is_used_connect_screen).to.equal(false); expect(instanceTelemetry.is_used_command_palette).to.equal(false); expect(instanceTelemetry.is_used_saved_connection).to.equal(true); }); - test('it has is_localhost false for a remote connection', async () => { + test('it tracks is_localhost false for a remote connection', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://example.mongo.ondigitalocean.com:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('example.mongo.ondigitalocean.com:27017', { + address: 'example.mongo.ondigitalocean.com:27017', + }), + }); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_STRING ); - expect(instanceTelemetry.is_localhost).to.equal(false); }); - test('it has a default is atlas false', async () => { + test('it tracks is_localhost true for a local connection', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_STRING ); + expect(instanceTelemetry.is_localhost).to.equal(true); + }); - expect(instanceTelemetry.is_atlas).to.equal(false); + test('it tracks server info for ubuntu', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: '1.2.3', + }, + genuineMongoDB: { + dbType: 'mongo_2', + isGenuine: true, + }, + host: { + arch: 'debian', + os_family: 'ubuntu', + }, + build: { + isEnterprise: false, + version: '4.3.9', + }, + isAtlas: false, + isLocalAtlas: false, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://127.0.0.1') + ); + getLastSeenTopology.returns({ + servers: new Map().set('127.0.0.1', { + address: '127.0.0.1', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + expect(instanceTelemetry.server_version).to.equal('4.3.9'); + expect(instanceTelemetry.server_arch).to.equal('debian'); + expect(instanceTelemetry.server_os_family).to.equal('ubuntu'); }); - test('it has a default driver auth mechanism undefined', async () => { + test('it tracks server info for mac', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: true, + version: '1.2.3', + }, + genuineMongoDB: { + dbType: 'mongo', + isGenuine: false, + }, + host: { + arch: 'darwin', + os_family: 'mac', + }, + build: { + isEnterprise: true, + version: '4.3.2', + }, + isAtlas: false, + isLocalAtlas: false, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://127.0.0.1') + ); + getLastSeenTopology.returns({ + servers: new Map().set('127.0.0.1', { + address: '127.0.0.1', + }), + }); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_STRING ); + expect(instanceTelemetry.server_version).to.equal('4.3.2'); + expect(instanceTelemetry.server_arch).to.equal('darwin'); + expect(instanceTelemetry.server_os_family).to.equal('mac'); + }); + + test('it returns DEFAULT when auth mechanism undefined and username is specified', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://artishok:pass@localhost:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); expect(instanceTelemetry.auth_strategy).to.equal('DEFAULT'); }); + + test('it returns NONE when auth mechanism undefined and username undefined', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + expect(instanceTelemetry.auth_strategy).to.equal('NONE'); + }); + + test('it returns authMechanism when specified', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString( + 'mongodb://foo:bar@localhost:27017/?authSource=source&authMechanism=SCRAM-SHA-1' + ) + ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + expect(instanceTelemetry.auth_strategy).to.equal('SCRAM-SHA-1'); + }); }); // TODO: Enable test back when Insider is fixed https://jira.mongodb.org/browse/VSCODE-452 diff --git a/webpack.config.js b/webpack.config.js index 3fca92511..98b418c8c 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,13 +2,13 @@ const path = require('path'); const webpack = require('webpack'); -const autoprefixer = require('autoprefixer'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack-plugin'); const { merge } = require('webpack-merge'); const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); const { WebpackDependenciesPlugin } = require('@mongodb-js/sbom-tools'); +const TerserPlugin = require('terser-webpack-plugin'); module.exports = (env, argv) => { const outputPath = path.join(__dirname, 'dist'); @@ -43,6 +43,10 @@ module.exports = (env, argv) => { // We don't currently support kerberos in our extension. kerberos: false, + + // Optional native-addon dependencies of ssh2 + 'cpu-features': false, + './crypto/build/Release/sshcrypto.node': false, }, }, @@ -67,6 +71,24 @@ module.exports = (env, argv) => { 'os-dns-native': 'os-dns-native', 'mongodb-client-encryption': 'mongodb-client-encryption', 'compass-preferences-model': 'compass-preferences-model', + '@mongodb-js/zstd': '@mongodb-js/zstd', + 'gcp-metadata': 'gcp-metadata', + encoding: 'encoding', + }, + optimization: { + minimizer: [ + new TerserPlugin({ + terserOptions: { + output: { ascii_only: true }, + // Not keeping classnames breaks shell-api during minification + keep_classnames: true, + compress: { + // The 'bindings' package relies on `error.stack;` having side effects. + pure_getters: false, + }, + }, + }), + ], }, plugins: [ webpackDependenciesPlugin, @@ -132,22 +154,12 @@ module.exports = (env, argv) => { entry: { languageServer: './src/language/server.ts', }, - optimization: { - // Don't minimize in order to preserve - // the signature names from @mongosh/shell-api. - minimize: false, - }, }); const languageServerWorkerConfig = merge(nodeTargetConfig(), { entry: { languageServerWorker: './src/language/worker.ts', }, - optimization: { - // Don't minimize in order to preserve - // the signature names from @mongosh/shell-api. - minimize: false, - }, }); const webviewConfig = merge(baseConfig(), { @@ -189,6 +201,12 @@ module.exports = (env, argv) => { process: 'process/browser', }), ], + watchOptions: { + // For some systems, watching many files can result in a lot of CPU or memory usage + // https://webpack.js.org/configuration/watch/#watchoptionsignored + // don't use this pattern, if you have a monorepo with linked packages. + ignored: /node_modules/, + }, }); return [