From ac60972460eb91edc5251ae8af85069dfdfb865e Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 11 Sep 2024 11:19:41 +0200 Subject: [PATCH] chore(deps): bump mongosh to 2.3.1 COMPASS-8261 (#6203) * chore(deps): bump mongosh to 2.3.1 * worker integration in electron * csp * fix local dev * use proper flag * flip env names --------- Co-authored-by: Basit Chonka Co-authored-by: Basit <1305718+mabaasit@users.noreply.github.com> --- .../mocha-config-compass/window-config.json | 3 +- package-lock.json | 1374 +++++++++-------- packages/compass-shell/package.json | 6 +- .../src/modules/worker-runtime.ts | 3 +- packages/compass/package.json | 2 +- packages/compass/src/app/utils/csp.ts | 1 + packages/compass/src/main/window-manager.ts | 5 + packages/compass/webpack.config.js | 8 + 8 files changed, 737 insertions(+), 665 deletions(-) diff --git a/configs/mocha-config-compass/window-config.json b/configs/mocha-config-compass/window-config.json index 88090feac66..934121f5fac 100644 --- a/configs/mocha-config-compass/window-config.json +++ b/configs/mocha-config-compass/window-config.json @@ -4,6 +4,7 @@ "direct-write": true, "nodeIntegration": true, "contextIsolation": false, - "enableRemoteModule": true + "enableRemoteModule": true, + "nodeIntegrationInWorker": true } } diff --git a/package-lock.json b/package-lock.json index cedc62f8f19..a4256f0e6c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8530,30 +8530,6 @@ "resolved": "packages/databases-collections-list", "link": true }, - "node_modules/@mongodb-js/devtools-connect": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.5.tgz", - "integrity": "sha512-hAYy39Dhss7ObSt21YJ30HKCod7lsO/mOQCHIaVHv9uNNAr02dFQHVA/Zd75wikcbpYybYxOM2Ou0zznvr8Jzg==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/devtools-proxy-support": "^0.3.5", - "@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" - }, - "optionalDependencies": { - "kerberos": "^2.1.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.1.0", - "mongodb": "^6.8.0", - "mongodb-log-writer": "^1.4.2" - } - }, "node_modules/@mongodb-js/devtools-github-repo": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-github-repo/-/devtools-github-repo-1.4.1.tgz", @@ -8562,78 +8538,6 @@ "node": ">= 16" } }, - "node_modules/@mongodb-js/devtools-proxy-support": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-proxy-support/-/devtools-proxy-support-0.3.5.tgz", - "integrity": "sha512-QiIj6kYANGsUeCa9j48GgnrG/MZc5eOh24QoesaHp+gr572uFuq4fRHn31WeZ+ndCknSjP9UG5iSzbmFhkpTOQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/socksv5": "^0.0.10", - "agent-base": "^7.1.1", - "debug": "^4.3.6", - "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/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==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/@mongodb-js/devtools-proxy-support/node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "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==", - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "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==", - "license": "MIT", - "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/dl-center": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@mongodb-js/dl-center/-/dl-center-1.0.1.tgz", @@ -8994,12 +8898,6 @@ "resolved": "packages/my-queries-storage", "link": true }, - "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==", - "license": "Apache-2.0" - }, "node_modules/@mongodb-js/oidc-mock-provider": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.9.3.tgz", @@ -9434,289 +9332,6 @@ "resolved": "configs/webpack-config-compass", "link": true }, - "node_modules/@mongosh/arg-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.0.tgz", - "integrity": "sha512-4vWpODQfL/4WS+7DTaeXfGWtkHT7N5CZaTbaasi3pjPu49WC3sLko9civwRJWN3ygoyxADDZrfhRCDELvXg2eg==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/errors": "2.3.0", - "@mongosh/i18n": "2.3.0", - "mongodb-connection-string-url": "^3.0.1" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/async-rewriter2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.0.tgz", - "integrity": "sha512-eYCxW76EeYDWZOsMHKIZAVXq0ePmiPOiy4SQ8sryDYluAzZR1e/2ZWMwwMG5tss1lkpG3q+nKTWsphFGCMUsLQ==", - "license": "Apache-2.0", - "dependencies": { - "@babel/core": "^7.22.8", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "bin": { - "async-rewrite": "bin/async-rewrite.js" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/async-rewriter2/node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@mongosh/async-rewriter2/node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.25.2" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@mongosh/async-rewriter2/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" - }, - "node_modules/@mongosh/async-rewriter2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@mongosh/autocomplete": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.0.tgz", - "integrity": "sha512-64BZB+ruZ5leJrkA0QTKJpzYpezbpwdXD/e26D0H+zlKsL3/cX2+ZZVsZbBYTPbqickXPd52sYvz5H2bsiqVnA==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/mongodb-constants": "^0.10.1", - "@mongosh/shell-api": "2.3.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/browser-repl": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.0.tgz", - "integrity": "sha512-F74voFV9dGA8jsQrCs4f6td64f59V2ul+ploKN2nm4svmIgfvoxLSGrkfOM8aVZSAwV5Sf7Mo3b7oQ98svT96g==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/browser-runtime-core": "2.3.0", - "@mongosh/errors": "2.3.0", - "@mongosh/history": "2.3.0", - "@mongosh/i18n": "2.3.0", - "@mongosh/node-runtime-worker-thread": "2.3.0", - "@mongosh/service-provider-core": "2.3.0", - "numeral": "^2.0.6", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14.15.1" - }, - "peerDependencies": { - "@mongodb-js/compass-components": "*", - "@mongodb-js/compass-editor": "*", - "prop-types": "^15.7.2", - "react": "^17.0.2", - "react-dom": "^17.0.2" - } - }, - "node_modules/@mongosh/browser-repl/node_modules/numeral": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", - "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY=", - "engines": { - "node": "*" - } - }, - "node_modules/@mongosh/browser-runtime-core": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.0.tgz", - "integrity": "sha512-8BMqJTBZbCcMeBzGSf2DpP0PUU4+Gh9JHgieYVj6IUvqx0XL9zRNbSHBbfpjnIt+Baym8L2Ye2+GwILhARZmYg==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/autocomplete": "2.3.0", - "@mongosh/service-provider-core": "2.3.0", - "@mongosh/shell-api": "2.3.0", - "@mongosh/shell-evaluator": "2.3.0" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/errors": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.0.tgz", - "integrity": "sha512-ul6OGLrCxWZ0C+g+WUwDZDXpZTATkri9yt3W/HP050h35jW37qWBeOi4FG9kwTwakgoaYiei87SwPfvN/M8oqg==", - "license": "Apache-2.0", - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/history": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.0.tgz", - "integrity": "sha512-4ZBQxvaX1iazXImLzQsDR1hg7HY8FNtHsLFJYsMaTzN+995wAvqGUFYIFiETzArQ7/Vi+FVGx40kzIjYa5nzmA==", - "license": "Apache-2.0", - "dependencies": { - "mongodb-connection-string-url": "^3.0.1", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/i18n": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.0.tgz", - "integrity": "sha512-JnIY7dxPOr3WFZ0YFfB/i53flYr0tIUiM3i9xo2DXWyeaQiuHxQxYwmCIDlVkGhvLVVlSXY2U0ptA0AW0YNztg==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/errors": "2.3.0" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/logging": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.0.tgz", - "integrity": "sha512-fpyYdpNtZ9GeNuDgl2EYSds3z1zr54KrCXdLnBM4n/ynB6KPXZxEY5/qbkbCND3DRHyQNHFBsbZN7+hs+81pgw==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/devtools-connect": "^3.2.5", - "@mongosh/errors": "2.3.0", - "@mongosh/history": "2.3.0", - "@mongosh/types": "2.3.0", - "mongodb-log-writer": "^1.4.2", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/node-runtime-worker-thread": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.0.tgz", - "integrity": "sha512-AhX0U8RcCJUu3/yPABPza6EAI2IAHpx3Nloxj788E79O2gH0ynm0hC+9LjDmACl/FQw730+3DH2XvTomlsodJA==", - "license": "Apache-2.0", - "dependencies": { - "interruptor": "^1.0.1", - "system-ca": "^2.0.1" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/service-provider-core": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.0.tgz", - "integrity": "sha512-0DQUKVhfpwJRiFvTc4gjG6dxNDZUWTAGnl9ihfIL5ShxNKXluo+9VcYEL1wxLTbF1xZaMeCDzH6rIM02G5PM3w==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.3.0", - "bson": "^6.7.0", - "mongodb": "^6.8.0", - "mongodb-build-info": "^1.7.2", - "mongodb-connection-string-url": "^3.0.1" - }, - "engines": { - "node": ">=14.15.1" - }, - "optionalDependencies": { - "mongodb-client-encryption": "^6.1.0" - } - }, - "node_modules/@mongosh/shell-api": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.0.tgz", - "integrity": "sha512-Xzyg1T20YVywE1lXwhxR2muDUA4F2ClYaeAPc4bjQabNT9fWbuJXqbGBSwy36sv0rpqTiZqWJoFQcAgMfAt0PQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/arg-parser": "2.3.0", - "@mongosh/errors": "2.3.0", - "@mongosh/history": "2.3.0", - "@mongosh/i18n": "2.3.0", - "@mongosh/service-provider-core": "2.3.0", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/shell-evaluator": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.0.tgz", - "integrity": "sha512-TvWFrFkZ+LORZbAWu6tZHeJs+OQwKPli1sEHAVKjhhjiNo4v/kV/3990Dcqre2IZNBpybaZweTChf3b7Y5Lijw==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/async-rewriter2": "2.3.0", - "@mongosh/history": "2.3.0", - "@mongosh/shell-api": "2.3.0" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/types": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.0.tgz", - "integrity": "sha512-55V8S7Awj9fGi3cAf0/9svGagErnChrK4hOY2Z4C4y06vN5t/EUO15lyZYHJFUldnydfZzHODkPjjyWV53a1XQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/devtools-connect": "^3.2.5" - }, - "engines": { - "node": ">=14.15.1" - } - }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -42902,6 +42517,12 @@ "integrity": "sha512-nZnEH8dj+vJFqCRYdvYv0a59iLXsb8jJkt+xvXfwgnkyPdsSLtKNlYmtTDiHmTNGXeSXtpjTTUcNvFtrAk6VMQ==", "dev": true }, + "node_modules/web-worker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz", + "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==", + "license": "Apache-2.0" + }, "node_modules/webdriver": { "version": "8.40.0", "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.40.0.tgz", @@ -44486,7 +44107,7 @@ "hasInstallScript": true, "license": "SSPL", "dependencies": { - "@mongosh/node-runtime-worker-thread": "^2.3.0", + "@mongosh/node-runtime-worker-thread": "^2.3.1", "clipboard": "^2.0.6", "kerberos": "^2.1.1", "keytar": "^7.9.0", @@ -47058,9 +46679,9 @@ "@mongodb-js/compass-user-data": "^0.3.6", "@mongodb-js/compass-utils": "^0.6.11", "@mongodb-js/compass-workspaces": "^0.22.0", - "@mongosh/browser-repl": "^2.3.0", - "@mongosh/logging": "^2.3.0", - "@mongosh/node-runtime-worker-thread": "^2.3.0", + "@mongosh/browser-repl": "^2.3.1", + "@mongosh/logging": "^2.3.1", + "@mongosh/node-runtime-worker-thread": "^2.3.1", "bson": "^6.7.0", "compass-preferences-model": "^2.28.2", "hadron-app-registry": "^9.2.5", @@ -47088,6 +46709,371 @@ "typescript": "^5.0.4" } }, + "packages/compass-shell/node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "packages/compass-shell/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "packages/compass-shell/node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/compass-shell/node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "packages/compass-shell/node_modules/@mongodb-js/devtools-connect": { + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.10.tgz", + "integrity": "sha512-x+MhIwJzCKjc5NhGHbns5IGa6yBwj/Nm6uVh0TwmhdKGxBbIP4o0xa4YVRwRajxHHGrxhiKQRNRJsHD6IzVVOw==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/devtools-proxy-support": "^0.3.9", + "@mongodb-js/oidc-http-server-pages": "1.1.3", + "lodash.merge": "^4.6.2", + "mongodb-connection-string-url": "^3.0.0", + "socks": "^2.7.3" + }, + "optionalDependencies": { + "kerberos": "^2.1.0", + "mongodb-client-encryption": "^6.1.0", + "os-dns-native": "^1.2.0", + "resolve-mongodb-srv": "^1.1.1" + }, + "peerDependencies": { + "@mongodb-js/oidc-plugin": "^1.1.0", + "mongodb": "^6.8.0", + "mongodb-log-writer": "^1.4.2" + } + }, + "packages/compass-shell/node_modules/@mongodb-js/devtools-proxy-support": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-proxy-support/-/devtools-proxy-support-0.3.9.tgz", + "integrity": "sha512-y6EpBQuOYMSbnc3y7lWG3ThFWC7iv6HHZn8+7tRsr9diSMwHRoxM/GNrz2yeldT7xstFdGL4zmmSK/3JcSz+8g==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/socksv5": "^0.0.10", + "agent-base": "^7.1.1", + "debug": "^4.3.6", + "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" + } + }, + "packages/compass-shell/node_modules/@mongodb-js/oidc-http-server-pages": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.3.tgz", + "integrity": "sha512-I704bSQRu/SusTcCV8qqtdFVvAJf1aKZtgGM2VnYjPn2njZd5j7864k/CF9TeeR8+r0At5qqNa3N4MX9YxPnEg==", + "license": "Apache-2.0" + }, + "packages/compass-shell/node_modules/@mongosh/arg-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.1.tgz", + "integrity": "sha512-s0tzK+vPhJRsZZnb1r4V8lv97gpUFOXudHgJ+O3orCkkAUN0JR3IDWPSRY3eECNTlW96ZErGMqRhyPsCFW733g==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/errors": "2.3.1", + "@mongosh/i18n": "2.3.1", + "mongodb-connection-string-url": "^3.0.1" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/async-rewriter2": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.1.tgz", + "integrity": "sha512-4tCMYMmhlet4/TYowsGPaoXhXQd5C6jykPnSOMZZrluZeDqRqWJfozW7161m+8Xe7IMZf4KyFzk8CAVewJfzLw==", + "license": "Apache-2.0", + "dependencies": { + "@babel/core": "^7.22.8", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "bin": { + "async-rewrite": "bin/async-rewrite.js" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/autocomplete": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.1.tgz", + "integrity": "sha512-rTZ1pKOKahs62NLTiSnWKp4/34VWnVsSG+rvpup2Xf/XC8/uFuFZo5Moj6eIgEF49PSyfICA+agmg47ldeQelw==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/mongodb-constants": "^0.10.1", + "@mongosh/shell-api": "2.3.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/browser-repl": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.1.tgz", + "integrity": "sha512-GYBJbfvLf2uxpLkiZdxYO7sQKwK9n+toRtl7WNahHK/e3VQQRcxwJqUp392y5MxyX3E/J4J+7Uy4YoTTiRKDtg==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/browser-runtime-core": "2.3.1", + "@mongosh/errors": "2.3.1", + "@mongosh/history": "2.3.1", + "@mongosh/i18n": "2.3.1", + "@mongosh/node-runtime-worker-thread": "2.3.1", + "@mongosh/service-provider-core": "2.3.1", + "numeral": "^2.0.6", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14.15.1" + }, + "peerDependencies": { + "@mongodb-js/compass-components": "*", + "@mongodb-js/compass-editor": "*", + "prop-types": "^15.7.2", + "react": "^17.0.2", + "react-dom": "^17.0.2" + } + }, + "packages/compass-shell/node_modules/@mongosh/browser-runtime-core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.1.tgz", + "integrity": "sha512-pFV3g7qIY8YRLqH0GPc5YJSXx2U36Jf475nuVGsqmGdHVwmXRRCbTBa+0Bel/divc9YDD9/GNLMGGIVjRUfl9A==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/autocomplete": "2.3.1", + "@mongosh/service-provider-core": "2.3.1", + "@mongosh/shell-api": "2.3.1", + "@mongosh/shell-evaluator": "2.3.1" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.1.tgz", + "integrity": "sha512-opMEluGMEABO4v72nOwJTPeaP2adNduzh7oFGLBtfencOw0em38g93XnzL5iwH/Bjp2BVAEiMtcHYZeMRus7FQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/history": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.1.tgz", + "integrity": "sha512-hjKcqQy0PtYHSl5ZxkiCKi4OltHm0ZQdpJ05a5R26fEvNue+0tcv1TfnXbVxAk9K9Q2vB06SIRI0rnJrTtG+yQ==", + "license": "Apache-2.0", + "dependencies": { + "mongodb-connection-string-url": "^3.0.1", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/i18n": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.1.tgz", + "integrity": "sha512-qwYjGJKV8mQl/dqL21aIo3z1wdoE80JBiGGhJgyc2ofhLTvdktoav0FXKWOPrpvSR3K29L98D0H8V7uhisfdRQ==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/errors": "2.3.1" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/logging": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.1.tgz", + "integrity": "sha512-DDe4YNZJfKI9guyzCTdcvEpn0E20v94wnRpfiDfp9y05WUvJsDPBWWmhyGLYj4c1qrDctj8BiGt9mbb/7tY6Yw==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/devtools-connect": "^3.2.10", + "@mongosh/errors": "2.3.1", + "@mongosh/history": "2.3.1", + "@mongosh/types": "2.3.1", + "mongodb-log-writer": "^1.4.2", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/node-runtime-worker-thread": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.1.tgz", + "integrity": "sha512-RmWQwQHdPEClthSBlLx3pLuQcrba9mGUnXpRIlT56Ddv7KyDEORM80yR/1SfUuxyPJ0BwtOcXIqAYf/m/KF85Q==", + "license": "Apache-2.0", + "dependencies": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/service-provider-core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.1.tgz", + "integrity": "sha512-+UusnZjXqM2JWdva+11IX4fRW0+sqJS5FhpQ7UHreQyGzdDcgIIqFe1fB4CMfzaMdjQ7RvUqIMM5bV81xDZ9vA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-providers": "^3.525.0", + "@mongosh/errors": "2.3.1", + "bson": "^6.7.0", + "mongodb": "^6.8.0", + "mongodb-build-info": "^1.7.2", + "mongodb-connection-string-url": "^3.0.1" + }, + "engines": { + "node": ">=14.15.1" + }, + "optionalDependencies": { + "mongodb-client-encryption": "^6.1.0" + } + }, + "packages/compass-shell/node_modules/@mongosh/shell-api": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.1.tgz", + "integrity": "sha512-ou6LIbpqlzsKVFiBQJ9Aqt5OxS5NuLb5y2cKuTPvv0wEKrPjg/XAHVyo+Bw09fa4ZYPDk705RehgtfdTpKnLfQ==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/arg-parser": "2.3.1", + "@mongosh/errors": "2.3.1", + "@mongosh/history": "2.3.1", + "@mongosh/i18n": "2.3.1", + "@mongosh/service-provider-core": "2.3.1", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/shell-evaluator": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.1.tgz", + "integrity": "sha512-MWGL8600o4d1/ngBOQXrorEmYBZebDJeF3g7CM0QmZAuHzJ9HY/67bm/xDKUn/9H0K3tVJSFAWYOXk99tQqTHQ==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/async-rewriter2": "2.3.1", + "@mongosh/history": "2.3.1", + "@mongosh/shell-api": "2.3.1" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.1.tgz", + "integrity": "sha512-fpMJ4yHhilTIWe3jgWoE+Eq0q9ij40HMGRfCJoZE+aOCslBkggqsia5Fh13G8JCFKangkWnZ5UMMAxSg6VBJgQ==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/devtools-connect": "^3.2.10" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "packages/compass-shell/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==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "packages/compass-shell/node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "packages/compass-shell/node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -47097,6 +47083,42 @@ "node": ">=0.3.1" } }, + "packages/compass-shell/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==", + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "packages/compass-shell/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==", + "license": "MIT", + "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" + } + }, + "packages/compass-shell/node_modules/numeral": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", + "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "packages/compass-shell/node_modules/sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -47956,6 +47978,20 @@ "system-ca": "^2.0.0" } }, + "packages/compass/node_modules/@mongosh/node-runtime-worker-thread": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.1.tgz", + "integrity": "sha512-RmWQwQHdPEClthSBlLx3pLuQcrba9mGUnXpRIlT56Ddv7KyDEORM80yR/1SfUuxyPJ0BwtOcXIqAYf/m/KF85Q==", + "license": "Apache-2.0", + "dependencies": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + }, + "engines": { + "node": ">=14.15.1" + } + }, "packages/compass/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", @@ -58789,9 +58825,9 @@ "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.0", "@mongodb-js/tsconfig-compass": "^1.0.4", - "@mongosh/browser-repl": "^2.3.0", - "@mongosh/logging": "^2.3.0", - "@mongosh/node-runtime-worker-thread": "^2.3.0", + "@mongosh/browser-repl": "^2.3.1", + "@mongosh/logging": "^2.3.1", + "@mongosh/node-runtime-worker-thread": "^2.3.1", "bson": "^6.7.0", "chai": "^4.2.0", "compass-preferences-model": "^2.28.2", @@ -58812,12 +58848,284 @@ "typescript": "^5.0.4" }, "dependencies": { + "@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "requires": { + "@babel/types": "^7.25.6" + } + }, + "@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "requires": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + } + }, + "@mongodb-js/devtools-connect": { + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.10.tgz", + "integrity": "sha512-x+MhIwJzCKjc5NhGHbns5IGa6yBwj/Nm6uVh0TwmhdKGxBbIP4o0xa4YVRwRajxHHGrxhiKQRNRJsHD6IzVVOw==", + "requires": { + "@mongodb-js/devtools-proxy-support": "^0.3.9", + "@mongodb-js/oidc-http-server-pages": "1.1.3", + "kerberos": "^2.1.0", + "lodash.merge": "^4.6.2", + "mongodb-client-encryption": "^6.1.0", + "mongodb-connection-string-url": "^3.0.0", + "os-dns-native": "^1.2.0", + "resolve-mongodb-srv": "^1.1.1", + "socks": "^2.7.3" + } + }, + "@mongodb-js/devtools-proxy-support": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-proxy-support/-/devtools-proxy-support-0.3.9.tgz", + "integrity": "sha512-y6EpBQuOYMSbnc3y7lWG3ThFWC7iv6HHZn8+7tRsr9diSMwHRoxM/GNrz2yeldT7xstFdGL4zmmSK/3JcSz+8g==", + "requires": { + "@mongodb-js/socksv5": "^0.0.10", + "agent-base": "^7.1.1", + "debug": "^4.3.6", + "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" + } + }, + "@mongodb-js/oidc-http-server-pages": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.3.tgz", + "integrity": "sha512-I704bSQRu/SusTcCV8qqtdFVvAJf1aKZtgGM2VnYjPn2njZd5j7864k/CF9TeeR8+r0At5qqNa3N4MX9YxPnEg==" + }, + "@mongosh/arg-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.1.tgz", + "integrity": "sha512-s0tzK+vPhJRsZZnb1r4V8lv97gpUFOXudHgJ+O3orCkkAUN0JR3IDWPSRY3eECNTlW96ZErGMqRhyPsCFW733g==", + "requires": { + "@mongosh/errors": "2.3.1", + "@mongosh/i18n": "2.3.1", + "mongodb-connection-string-url": "^3.0.1" + } + }, + "@mongosh/async-rewriter2": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.1.tgz", + "integrity": "sha512-4tCMYMmhlet4/TYowsGPaoXhXQd5C6jykPnSOMZZrluZeDqRqWJfozW7161m+8Xe7IMZf4KyFzk8CAVewJfzLw==", + "requires": { + "@babel/core": "^7.22.8", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@mongosh/autocomplete": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.1.tgz", + "integrity": "sha512-rTZ1pKOKahs62NLTiSnWKp4/34VWnVsSG+rvpup2Xf/XC8/uFuFZo5Moj6eIgEF49PSyfICA+agmg47ldeQelw==", + "requires": { + "@mongodb-js/mongodb-constants": "^0.10.1", + "@mongosh/shell-api": "2.3.1", + "semver": "^7.5.4" + } + }, + "@mongosh/browser-repl": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.1.tgz", + "integrity": "sha512-GYBJbfvLf2uxpLkiZdxYO7sQKwK9n+toRtl7WNahHK/e3VQQRcxwJqUp392y5MxyX3E/J4J+7Uy4YoTTiRKDtg==", + "requires": { + "@mongosh/browser-runtime-core": "2.3.1", + "@mongosh/errors": "2.3.1", + "@mongosh/history": "2.3.1", + "@mongosh/i18n": "2.3.1", + "@mongosh/node-runtime-worker-thread": "2.3.1", + "@mongosh/service-provider-core": "2.3.1", + "numeral": "^2.0.6", + "text-table": "^0.2.0" + } + }, + "@mongosh/browser-runtime-core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.1.tgz", + "integrity": "sha512-pFV3g7qIY8YRLqH0GPc5YJSXx2U36Jf475nuVGsqmGdHVwmXRRCbTBa+0Bel/divc9YDD9/GNLMGGIVjRUfl9A==", + "requires": { + "@mongosh/autocomplete": "2.3.1", + "@mongosh/service-provider-core": "2.3.1", + "@mongosh/shell-api": "2.3.1", + "@mongosh/shell-evaluator": "2.3.1" + } + }, + "@mongosh/errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.1.tgz", + "integrity": "sha512-opMEluGMEABO4v72nOwJTPeaP2adNduzh7oFGLBtfencOw0em38g93XnzL5iwH/Bjp2BVAEiMtcHYZeMRus7FQ==" + }, + "@mongosh/history": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.1.tgz", + "integrity": "sha512-hjKcqQy0PtYHSl5ZxkiCKi4OltHm0ZQdpJ05a5R26fEvNue+0tcv1TfnXbVxAk9K9Q2vB06SIRI0rnJrTtG+yQ==", + "requires": { + "mongodb-connection-string-url": "^3.0.1", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/i18n": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.1.tgz", + "integrity": "sha512-qwYjGJKV8mQl/dqL21aIo3z1wdoE80JBiGGhJgyc2ofhLTvdktoav0FXKWOPrpvSR3K29L98D0H8V7uhisfdRQ==", + "requires": { + "@mongosh/errors": "2.3.1" + } + }, + "@mongosh/logging": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.1.tgz", + "integrity": "sha512-DDe4YNZJfKI9guyzCTdcvEpn0E20v94wnRpfiDfp9y05WUvJsDPBWWmhyGLYj4c1qrDctj8BiGt9mbb/7tY6Yw==", + "requires": { + "@mongodb-js/devtools-connect": "^3.2.10", + "@mongosh/errors": "2.3.1", + "@mongosh/history": "2.3.1", + "@mongosh/types": "2.3.1", + "mongodb-log-writer": "^1.4.2", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/node-runtime-worker-thread": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.1.tgz", + "integrity": "sha512-RmWQwQHdPEClthSBlLx3pLuQcrba9mGUnXpRIlT56Ddv7KyDEORM80yR/1SfUuxyPJ0BwtOcXIqAYf/m/KF85Q==", + "requires": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + } + }, + "@mongosh/service-provider-core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.1.tgz", + "integrity": "sha512-+UusnZjXqM2JWdva+11IX4fRW0+sqJS5FhpQ7UHreQyGzdDcgIIqFe1fB4CMfzaMdjQ7RvUqIMM5bV81xDZ9vA==", + "requires": { + "@aws-sdk/credential-providers": "^3.525.0", + "@mongosh/errors": "2.3.1", + "bson": "^6.7.0", + "mongodb": "^6.8.0", + "mongodb-build-info": "^1.7.2", + "mongodb-client-encryption": "^6.1.0", + "mongodb-connection-string-url": "^3.0.1" + } + }, + "@mongosh/shell-api": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.1.tgz", + "integrity": "sha512-ou6LIbpqlzsKVFiBQJ9Aqt5OxS5NuLb5y2cKuTPvv0wEKrPjg/XAHVyo+Bw09fa4ZYPDk705RehgtfdTpKnLfQ==", + "requires": { + "@mongosh/arg-parser": "2.3.1", + "@mongosh/errors": "2.3.1", + "@mongosh/history": "2.3.1", + "@mongosh/i18n": "2.3.1", + "@mongosh/service-provider-core": "2.3.1", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/shell-evaluator": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.1.tgz", + "integrity": "sha512-MWGL8600o4d1/ngBOQXrorEmYBZebDJeF3g7CM0QmZAuHzJ9HY/67bm/xDKUn/9H0K3tVJSFAWYOXk99tQqTHQ==", + "requires": { + "@mongosh/async-rewriter2": "2.3.1", + "@mongosh/history": "2.3.1", + "@mongosh/shell-api": "2.3.1" + } + }, + "@mongosh/types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.1.tgz", + "integrity": "sha512-fpMJ4yHhilTIWe3jgWoE+Eq0q9ij40HMGRfCJoZE+aOCslBkggqsia5Fh13G8JCFKangkWnZ5UMMAxSg6VBJgQ==", + "requires": { + "@mongodb-js/devtools-connect": "^3.2.10" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "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==" + }, + "debug": { + "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" + } + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, + "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-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" + } + }, + "numeral": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", + "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==" + }, "sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -59879,75 +60187,11 @@ } } }, - "@mongodb-js/devtools-connect": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.2.5.tgz", - "integrity": "sha512-hAYy39Dhss7ObSt21YJ30HKCod7lsO/mOQCHIaVHv9uNNAr02dFQHVA/Zd75wikcbpYybYxOM2Ou0zznvr8Jzg==", - "requires": { - "@mongodb-js/devtools-proxy-support": "^0.3.5", - "@mongodb-js/oidc-http-server-pages": "1.1.2", - "kerberos": "^2.1.0", - "lodash.merge": "^4.6.2", - "mongodb-client-encryption": "^6.1.0", - "mongodb-connection-string-url": "^3.0.0", - "os-dns-native": "^1.2.0", - "resolve-mongodb-srv": "^1.1.1", - "socks": "^2.7.3" - } - }, "@mongodb-js/devtools-github-repo": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-github-repo/-/devtools-github-repo-1.4.1.tgz", "integrity": "sha512-wpVbM7MTft2mFc66ZOulAW4TnyK9fzYL/dqhcUk7DMcdwO8TcR1VZPkh55fRugSXgkfCUcxfZmqmuSSAudLGjA==" }, - "@mongodb-js/devtools-proxy-support": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-proxy-support/-/devtools-proxy-support-0.3.5.tgz", - "integrity": "sha512-QiIj6kYANGsUeCa9j48GgnrG/MZc5eOh24QoesaHp+gr572uFuq4fRHn31WeZ+ndCknSjP9UG5iSzbmFhkpTOQ==", - "requires": { - "@mongodb-js/socksv5": "^0.0.10", - "agent-base": "^7.1.1", - "debug": "^4.3.6", - "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": { - "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==" - }, - "debug": { - "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" - } - }, - "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-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" - } - } - } - }, "@mongodb-js/dl-center": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@mongodb-js/dl-center/-/dl-center-1.0.1.tgz", @@ -60567,11 +60811,6 @@ } } }, - "@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-mock-provider": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.9.3.tgz", @@ -61661,202 +61900,6 @@ } } }, - "@mongosh/arg-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.0.tgz", - "integrity": "sha512-4vWpODQfL/4WS+7DTaeXfGWtkHT7N5CZaTbaasi3pjPu49WC3sLko9civwRJWN3ygoyxADDZrfhRCDELvXg2eg==", - "requires": { - "@mongosh/errors": "2.3.0", - "@mongosh/i18n": "2.3.0", - "mongodb-connection-string-url": "^3.0.1" - } - }, - "@mongosh/async-rewriter2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.0.tgz", - "integrity": "sha512-eYCxW76EeYDWZOsMHKIZAVXq0ePmiPOiy4SQ8sryDYluAzZR1e/2ZWMwwMG5tss1lkpG3q+nKTWsphFGCMUsLQ==", - "requires": { - "@babel/core": "^7.22.8", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "dependencies": { - "@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - } - }, - "@babel/parser": { - "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" - } - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@mongosh/autocomplete": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.0.tgz", - "integrity": "sha512-64BZB+ruZ5leJrkA0QTKJpzYpezbpwdXD/e26D0H+zlKsL3/cX2+ZZVsZbBYTPbqickXPd52sYvz5H2bsiqVnA==", - "requires": { - "@mongodb-js/mongodb-constants": "^0.10.1", - "@mongosh/shell-api": "2.3.0", - "semver": "^7.5.4" - } - }, - "@mongosh/browser-repl": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.0.tgz", - "integrity": "sha512-F74voFV9dGA8jsQrCs4f6td64f59V2ul+ploKN2nm4svmIgfvoxLSGrkfOM8aVZSAwV5Sf7Mo3b7oQ98svT96g==", - "requires": { - "@mongosh/browser-runtime-core": "2.3.0", - "@mongosh/errors": "2.3.0", - "@mongosh/history": "2.3.0", - "@mongosh/i18n": "2.3.0", - "@mongosh/node-runtime-worker-thread": "2.3.0", - "@mongosh/service-provider-core": "2.3.0", - "numeral": "^2.0.6", - "text-table": "^0.2.0" - }, - "dependencies": { - "numeral": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", - "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY=" - } - } - }, - "@mongosh/browser-runtime-core": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.0.tgz", - "integrity": "sha512-8BMqJTBZbCcMeBzGSf2DpP0PUU4+Gh9JHgieYVj6IUvqx0XL9zRNbSHBbfpjnIt+Baym8L2Ye2+GwILhARZmYg==", - "requires": { - "@mongosh/autocomplete": "2.3.0", - "@mongosh/service-provider-core": "2.3.0", - "@mongosh/shell-api": "2.3.0", - "@mongosh/shell-evaluator": "2.3.0" - } - }, - "@mongosh/errors": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.0.tgz", - "integrity": "sha512-ul6OGLrCxWZ0C+g+WUwDZDXpZTATkri9yt3W/HP050h35jW37qWBeOi4FG9kwTwakgoaYiei87SwPfvN/M8oqg==" - }, - "@mongosh/history": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.0.tgz", - "integrity": "sha512-4ZBQxvaX1iazXImLzQsDR1hg7HY8FNtHsLFJYsMaTzN+995wAvqGUFYIFiETzArQ7/Vi+FVGx40kzIjYa5nzmA==", - "requires": { - "mongodb-connection-string-url": "^3.0.1", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/i18n": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.0.tgz", - "integrity": "sha512-JnIY7dxPOr3WFZ0YFfB/i53flYr0tIUiM3i9xo2DXWyeaQiuHxQxYwmCIDlVkGhvLVVlSXY2U0ptA0AW0YNztg==", - "requires": { - "@mongosh/errors": "2.3.0" - } - }, - "@mongosh/logging": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.0.tgz", - "integrity": "sha512-fpyYdpNtZ9GeNuDgl2EYSds3z1zr54KrCXdLnBM4n/ynB6KPXZxEY5/qbkbCND3DRHyQNHFBsbZN7+hs+81pgw==", - "requires": { - "@mongodb-js/devtools-connect": "^3.2.5", - "@mongosh/errors": "2.3.0", - "@mongosh/history": "2.3.0", - "@mongosh/types": "2.3.0", - "mongodb-log-writer": "^1.4.2", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/node-runtime-worker-thread": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.0.tgz", - "integrity": "sha512-AhX0U8RcCJUu3/yPABPza6EAI2IAHpx3Nloxj788E79O2gH0ynm0hC+9LjDmACl/FQw730+3DH2XvTomlsodJA==", - "requires": { - "interruptor": "^1.0.1", - "system-ca": "^2.0.1" - } - }, - "@mongosh/service-provider-core": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.0.tgz", - "integrity": "sha512-0DQUKVhfpwJRiFvTc4gjG6dxNDZUWTAGnl9ihfIL5ShxNKXluo+9VcYEL1wxLTbF1xZaMeCDzH6rIM02G5PM3w==", - "requires": { - "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.3.0", - "bson": "^6.7.0", - "mongodb": "^6.8.0", - "mongodb-build-info": "^1.7.2", - "mongodb-client-encryption": "^6.1.0", - "mongodb-connection-string-url": "^3.0.1" - } - }, - "@mongosh/shell-api": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.0.tgz", - "integrity": "sha512-Xzyg1T20YVywE1lXwhxR2muDUA4F2ClYaeAPc4bjQabNT9fWbuJXqbGBSwy36sv0rpqTiZqWJoFQcAgMfAt0PQ==", - "requires": { - "@mongosh/arg-parser": "2.3.0", - "@mongosh/errors": "2.3.0", - "@mongosh/history": "2.3.0", - "@mongosh/i18n": "2.3.0", - "@mongosh/service-provider-core": "2.3.0", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/shell-evaluator": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.0.tgz", - "integrity": "sha512-TvWFrFkZ+LORZbAWu6tZHeJs+OQwKPli1sEHAVKjhhjiNo4v/kV/3990Dcqre2IZNBpybaZweTChf3b7Y5Lijw==", - "requires": { - "@mongosh/async-rewriter2": "2.3.0", - "@mongosh/history": "2.3.0", - "@mongosh/shell-api": "2.3.0" - } - }, - "@mongosh/types": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.0.tgz", - "integrity": "sha512-55V8S7Awj9fGi3cAf0/9svGagErnChrK4hOY2Z4C4y06vN5t/EUO15lyZYHJFUldnydfZzHODkPjjyWV53a1XQ==", - "requires": { - "@mongodb-js/devtools-connect": "^3.2.5" - } - }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -81164,7 +81207,7 @@ "@mongodb-js/testing-library-compass": "^1.0.0", "@mongodb-js/tsconfig-compass": "^1.0.4", "@mongodb-js/webpack-config-compass": "^1.4.1", - "@mongosh/node-runtime-worker-thread": "^2.3.0", + "@mongosh/node-runtime-worker-thread": "^2.3.1", "@segment/analytics-node": "^1.1.4", "ampersand-view": "^9.0.0", "chai": "^4.3.4", @@ -81232,6 +81275,16 @@ "system-ca": "^2.0.0" } }, + "@mongosh/node-runtime-worker-thread": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.1.tgz", + "integrity": "sha512-RmWQwQHdPEClthSBlLx3pLuQcrba9mGUnXpRIlT56Ddv7KyDEORM80yR/1SfUuxyPJ0BwtOcXIqAYf/m/KF85Q==", + "requires": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + } + }, "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", @@ -89429,6 +89482,11 @@ "integrity": "sha512-nZnEH8dj+vJFqCRYdvYv0a59iLXsb8jJkt+xvXfwgnkyPdsSLtKNlYmtTDiHmTNGXeSXtpjTTUcNvFtrAk6VMQ==", "dev": true }, + "web-worker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz", + "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==" + }, "webdriver": { "version": "8.40.0", "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.40.0.tgz", diff --git a/packages/compass-shell/package.json b/packages/compass-shell/package.json index 4f931ca3ff5..081804449b7 100644 --- a/packages/compass-shell/package.json +++ b/packages/compass-shell/package.json @@ -56,9 +56,9 @@ "@mongodb-js/compass-user-data": "^0.3.6", "@mongodb-js/compass-utils": "^0.6.11", "@mongodb-js/compass-workspaces": "^0.22.0", - "@mongosh/browser-repl": "^2.3.0", - "@mongosh/logging": "^2.3.0", - "@mongosh/node-runtime-worker-thread": "^2.3.0", + "@mongosh/browser-repl": "^2.3.1", + "@mongosh/logging": "^2.3.1", + "@mongosh/node-runtime-worker-thread": "^2.3.1", "bson": "^6.7.0", "compass-preferences-model": "^2.28.2", "hadron-app-registry": "^9.2.5", diff --git a/packages/compass-shell/src/modules/worker-runtime.ts b/packages/compass-shell/src/modules/worker-runtime.ts index ec875d90358..b22d10c8ea9 100644 --- a/packages/compass-shell/src/modules/worker-runtime.ts +++ b/packages/compass-shell/src/modules/worker-runtime.ts @@ -101,8 +101,7 @@ export function createWorkerRuntime( driverOptions, cliOptions ?? {}, { - env: { ...process.env, ELECTRON_RUN_AS_NODE: '1' }, - serialization: 'advanced', + name: 'Compass Shell Worker', }, emitter ); diff --git a/packages/compass/package.json b/packages/compass/package.json index afc619107a9..46ea90052b0 100644 --- a/packages/compass/package.json +++ b/packages/compass/package.json @@ -180,7 +180,7 @@ "email": "compass@mongodb.com" }, "dependencies": { - "@mongosh/node-runtime-worker-thread": "^2.3.0", + "@mongosh/node-runtime-worker-thread": "^2.3.1", "clipboard": "^2.0.6", "kerberos": "^2.1.1", "keytar": "^7.9.0", diff --git a/packages/compass/src/app/utils/csp.ts b/packages/compass/src/app/utils/csp.ts index 8f3738cd2a2..5fcfcadb417 100644 --- a/packages/compass/src/app/utils/csp.ts +++ b/packages/compass/src/app/utils/csp.ts @@ -69,6 +69,7 @@ const defaultCSP = { ], 'object-src': ["'none'"], 'font-src': ['*', 'https://js.intercomcdn.com'], + 'worker-src': ["'self'", 'file:'], }; function injectCSP() { diff --git a/packages/compass/src/main/window-manager.ts b/packages/compass/src/main/window-manager.ts index 216878306ab..9f48839cf55 100644 --- a/packages/compass/src/main/window-manager.ts +++ b/packages/compass/src/main/window-manager.ts @@ -127,6 +127,11 @@ function showConnectWindow( nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, + nodeIntegrationInWorker: true, + // For local dev, electron can not load @mongosh/node-runtime-worker-thread + // worker (file:///) from the filesystem due to same-origin policy. For this + // reason we disable the webSecurity. + webSecurity: process.env.DISABLE_ELECTRON_WEB_SECURITY !== '1', ...(opts && opts.webPreferences), }, }; diff --git a/packages/compass/webpack.config.js b/packages/compass/webpack.config.js index bc876922537..a4e8ca3a7e8 100644 --- a/packages/compass/webpack.config.js +++ b/packages/compass/webpack.config.js @@ -124,6 +124,14 @@ module.exports = (_env, args) => { externals, plugins: [ new webpack.EnvironmentPlugin(hadronEnvConfig), + // In local dev mode, this flag is used to disable web security when + // creating windows. It allows @mongosh/node-runtime-worker-thread + // worker to load itself from the file path on the localhost + new webpack.DefinePlugin({ + 'process.env.DISABLE_ELECTRON_WEB_SECURITY': JSON.stringify( + isServe(opts) ? '1' : '0' + ), + }), ...compileOnlyPlugins, ], }),