From 11e54e5b2fe66e6de402b20654c2517ee30c8137 Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Thu, 24 Oct 2024 11:45:54 +0200 Subject: [PATCH 01/27] chore(deps): update electron/rebuild dependency (#6394) * chore(deps): update electron/rebuild dependency * chore(compass, hadron-build): only run electron-rebuild on linux * chore(deps): update kerberos to latest --- .evergreen/functions.yml | 4 +- package-lock.json | 781 +++++++++---------- packages/compass-e2e-tests/package.json | 2 +- packages/compass/package.json | 7 +- packages/compass/scripts/electron-rebuild.js | 40 + packages/data-service/package.json | 2 +- packages/hadron-build/commands/release.js | 21 +- packages/hadron-build/package.json | 2 +- 8 files changed, 436 insertions(+), 423 deletions(-) create mode 100644 packages/compass/scripts/electron-rebuild.js diff --git a/.evergreen/functions.yml b/.evergreen/functions.yml index 4124ba293d1..b5a67ece2ac 100644 --- a/.evergreen/functions.yml +++ b/.evergreen/functions.yml @@ -86,7 +86,7 @@ post: target: src/all-e2e-logs.tgz source_dir: src/packages/compass-e2e-tests/.log include: - - "**" + - '**' - command: s3.put params: <<: *save-artifact-params-private @@ -303,7 +303,7 @@ functions: echo "Running tests in Electron runtime" # Preparing native addons for electron runtime - npm run --unsafe-perm electron-rebuild + DEBUG=electron-rebuild* npm run --unsafe-perm electron-rebuild npm run --unsafe-perm test-ci-electron -- --stream diff --git a/package-lock.json b/package-lock.json index e98df17bd67..72363fe5b31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4249,59 +4249,36 @@ "node": ">= 4.0.0" } }, - "node_modules/@electron/rebuild": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.6.2.tgz", - "integrity": "sha512-fTSoWdbrPTmQOwvct4VnJH45aJg79WRabuNqt7cAWIno5kTXv1QD6qVmR2e8wmHi/xryaiVINl1gcEhKGjREVw==", + "node_modules/@electron/node-gyp": { + "version": "10.2.0-electron.1", + "resolved": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "integrity": "sha512-CrYo6TntjpoMO1SHjl5Pa/JoUsECNqNdB7Kx49WLQpWzPw53eEITJ2Hs9fh/ryUYDn4pxZz11StaBYBrLFJdqg==", + "license": "MIT", "dependencies": { - "@malept/cross-spawn-promise": "^2.0.0", - "chalk": "^4.0.0", - "debug": "^4.1.1", - "detect-libc": "^2.0.1", - "fs-extra": "^10.0.0", - "got": "^11.7.0", - "node-abi": "^3.45.0", - "node-api-version": "^0.2.0", - "node-gyp": "^9.0.0", - "ora": "^5.1.0", - "read-binary-file-arch": "^1.0.6", + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^8.1.0", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.2.1", + "nopt": "^6.0.0", + "proc-log": "^2.0.1", "semver": "^7.3.5", - "tar": "^6.0.5", - "yargs": "^17.0.1" + "tar": "^6.2.1", + "which": "^2.0.2" }, "bin": { - "electron-rebuild": "lib/cli.js" + "node-gyp": "bin/node-gyp.js" }, "engines": { "node": ">=12.13.0" } }, - "node_modules/@electron/rebuild/node_modules/@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/malept" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" - } - ], - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/@electron/rebuild/node_modules/@npmcli/move-file": { + "node_modules/@electron/node-gyp/node_modules/@npmcli/move-file": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", "deprecated": "This functionality has been moved to @npmcli/fs", + "license": "MIT", "dependencies": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" @@ -4310,29 +4287,20 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@electron/rebuild/node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@electron/rebuild/node_modules/@tootallnate/once": { + "node_modules/@electron/node-gyp/node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "license": "MIT", "engines": { "node": ">= 10" } }, - "node_modules/@electron/rebuild/node_modules/agent-base": { + "node_modules/@electron/node-gyp/node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", "dependencies": { "debug": "4" }, @@ -4340,39 +4308,20 @@ "node": ">= 6.0.0" } }, - "node_modules/@electron/rebuild/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "deprecated": "This package is no longer supported.", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@electron/rebuild/node_modules/brace-expansion": { + "node_modules/@electron/node-gyp/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==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/@electron/rebuild/node_modules/cacache": { + "node_modules/@electron/node-gyp/node_modules/cacache": { "version": "16.1.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "license": "ISC", "dependencies": { "@npmcli/fs": "^2.1.0", "@npmcli/move-file": "^2.0.0", @@ -4397,11 +4346,12 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@electron/rebuild/node_modules/cacache/node_modules/glob": { + "node_modules/@electron/node-gyp/node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4416,101 +4366,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@electron/rebuild/node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/@electron/rebuild/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron/rebuild/node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@electron/rebuild/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron/rebuild/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "deprecated": "This package is no longer supported.", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@electron/rebuild/node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/@electron/rebuild/node_modules/http-proxy-agent": { + "node_modules/@electron/node-gyp/node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -4520,10 +4380,11 @@ "node": ">= 6" } }, - "node_modules/@electron/rebuild/node_modules/https-proxy-agent": { + "node_modules/@electron/node-gyp/node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -4532,18 +4393,20 @@ "node": ">= 6" } }, - "node_modules/@electron/rebuild/node_modules/lru-cache": { + "node_modules/@electron/node-gyp/node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", "engines": { "node": ">=12" } }, - "node_modules/@electron/rebuild/node_modules/make-fetch-happen": { + "node_modules/@electron/node-gyp/node_modules/make-fetch-happen": { "version": "10.2.1", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^16.1.0", @@ -4566,21 +4429,11 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@electron/rebuild/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@electron/rebuild/node_modules/minimatch": { + "node_modules/@electron/node-gyp/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -4588,10 +4441,11 @@ "node": ">=10" } }, - "node_modules/@electron/rebuild/node_modules/minipass-fetch": { + "node_modules/@electron/node-gyp/node_modules/minipass-fetch": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "license": "MIT", "dependencies": { "minipass": "^3.1.6", "minipass-sized": "^1.0.3", @@ -4604,49 +4458,20 @@ "encoding": "^0.1.13" } }, - "node_modules/@electron/rebuild/node_modules/node-gyp": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", - "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^12.13 || ^14.13 || >=16" - } - }, - "node_modules/@electron/rebuild/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "deprecated": "This package is no longer supported.", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, + "node_modules/@electron/node-gyp/node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@electron/rebuild/node_modules/socks-proxy-agent": { + "node_modules/@electron/node-gyp/node_modules/socks-proxy-agent": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "license": "MIT", "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -4656,10 +4481,11 @@ "node": ">= 10" } }, - "node_modules/@electron/rebuild/node_modules/ssri": { + "node_modules/@electron/node-gyp/node_modules/ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "license": "ISC", "dependencies": { "minipass": "^3.1.1" }, @@ -4667,21 +4493,11 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@electron/rebuild/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@electron/rebuild/node_modules/unique-filename": { + "node_modules/@electron/node-gyp/node_modules/unique-filename": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "license": "ISC", "dependencies": { "unique-slug": "^3.0.0" }, @@ -4689,10 +4505,11 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@electron/rebuild/node_modules/unique-slug": { + "node_modules/@electron/node-gyp/node_modules/unique-slug": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" }, @@ -4700,10 +4517,183 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/@electron/rebuild": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz", + "integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==", + "license": "MIT", + "dependencies": { + "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.2.0", + "ora": "^5.1.0", + "read-binary-file-arch": "^1.0.6", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/rebuild/node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@electron/rebuild/node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@electron/rebuild/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@electron/rebuild/node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/@electron/rebuild/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/rebuild/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron/rebuild/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/rebuild/node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/@electron/rebuild/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron/rebuild/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@electron/rebuild/node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -4721,6 +4711,7 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", "engines": { "node": ">=12" } @@ -18704,6 +18695,7 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -27848,9 +27840,9 @@ "dev": true }, "node_modules/kerberos": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.1.1.tgz", - "integrity": "sha512-414s1G/qgK2T60cXnZsHbtRj8Ynjg0DBlQWeY99tkyqQ2e8vGgFHvxRdvjTlLHg/SxBA0zLQcGE6Pk6Dfq/BCA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.0.tgz", + "integrity": "sha512-yz6iP+34Qp8XjwfmJ56SD9coeSfLIoH0JBrLi6Iw76FdwsRJoNw3nCgfpzENkfGyb/dgRqzYn3IMXLj7A43Vlg==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -43685,7 +43677,7 @@ "system-ca": "^2.0.0" }, "devDependencies": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@electron/remote": "^2.1.2", "@mongodb-js/atlas-service": "^0.30.1", "@mongodb-js/compass-aggregations": "^9.46.1", @@ -43737,6 +43729,7 @@ "chalk": "^4.1.2", "clean-stack": "^2.0.0", "compass-preferences-model": "^2.29.1", + "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", "electron": "^30.5.1", @@ -44537,7 +44530,7 @@ "packages/compass-e2e-tests": { "version": "1.27.3", "devDependencies": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@mongodb-js/compass-test-server": "^0.1.22", "@mongodb-js/connection-info": "^0.9.1", "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -48403,7 +48396,7 @@ "hasInstallScript": true, "license": "SSPL", "dependencies": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@mongodb-js/devtools-github-repo": "^1.4.1", "@mongodb-js/dl-center": "^1.0.1", "@mongodb-js/electron-wix-msi": "^3.0.0", @@ -53151,35 +53144,23 @@ } } }, - "@electron/rebuild": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.6.2.tgz", - "integrity": "sha512-fTSoWdbrPTmQOwvct4VnJH45aJg79WRabuNqt7cAWIno5kTXv1QD6qVmR2e8wmHi/xryaiVINl1gcEhKGjREVw==", + "@electron/node-gyp": { + "version": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "integrity": "sha512-CrYo6TntjpoMO1SHjl5Pa/JoUsECNqNdB7Kx49WLQpWzPw53eEITJ2Hs9fh/ryUYDn4pxZz11StaBYBrLFJdqg==", + "from": "@electron/node-gyp@git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", "requires": { - "@malept/cross-spawn-promise": "^2.0.0", - "chalk": "^4.0.0", - "debug": "^4.1.1", - "detect-libc": "^2.0.1", - "fs-extra": "^10.0.0", - "got": "^11.7.0", - "node-abi": "^3.45.0", - "node-api-version": "^0.2.0", - "node-gyp": "^9.0.0", - "ora": "^5.1.0", - "read-binary-file-arch": "^1.0.6", + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^8.1.0", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.2.1", + "nopt": "^6.0.0", + "proc-log": "^2.0.1", "semver": "^7.3.5", - "tar": "^6.0.5", - "yargs": "^17.0.1" + "tar": "^6.2.1", + "which": "^2.0.2" }, "dependencies": { - "@malept/cross-spawn-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", - "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", - "requires": { - "cross-spawn": "^7.0.1" - } - }, "@npmcli/move-file": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", @@ -53189,11 +53170,6 @@ "rimraf": "^3.0.2" } }, - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" - }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -53207,20 +53183,6 @@ "debug": "4" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -53252,86 +53214,18 @@ "ssri": "^9.0.0", "tar": "^6.1.11", "unique-filename": "^2.0.0" - }, - "dependencies": { - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - } - } - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "requires": { - "mimic-response": "^3.1.0" - } - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" } }, - "got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, "http-proxy-agent": { @@ -53381,11 +53275,6 @@ "ssri": "^9.0.0" } }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - }, "minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -53405,34 +53294,10 @@ "minizlib": "^2.1.2" } }, - "node-gyp": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", - "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", - "requires": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } + "proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==" }, "socks-proxy-agent": { "version": "7.0.0", @@ -53452,14 +53317,6 @@ "minipass": "^3.1.1" } }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, "unique-filename": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", @@ -53475,6 +53332,111 @@ "requires": { "imurmurhash": "^0.1.4" } + } + } + }, + "@electron/rebuild": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz", + "integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==", + "requires": { + "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.2.0", + "ora": "^5.1.0", + "read-binary-file-arch": "^1.0.6", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "dependencies": { + "@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } }, "yargs": { "version": "17.7.2", @@ -68194,7 +68156,7 @@ "compass-e2e-tests": { "version": "file:packages/compass-e2e-tests", "requires": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@mongodb-js/compass-test-server": "^0.1.22", "@mongodb-js/connection-info": "^0.9.1", "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -74204,7 +74166,7 @@ "hadron-build": { "version": "file:packages/hadron-build", "requires": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@mongodb-js/devtools-github-repo": "^1.4.1", "@mongodb-js/dl-center": "^1.0.1", "@mongodb-js/electron-wix-msi": "^3.0.0", @@ -76781,9 +76743,9 @@ "dev": true }, "kerberos": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.1.1.tgz", - "integrity": "sha512-414s1G/qgK2T60cXnZsHbtRj8Ynjg0DBlQWeY99tkyqQ2e8vGgFHvxRdvjTlLHg/SxBA0zLQcGE6Pk6Dfq/BCA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.0.tgz", + "integrity": "sha512-yz6iP+34Qp8XjwfmJ56SD9coeSfLIoH0JBrLi6Iw76FdwsRJoNw3nCgfpzENkfGyb/dgRqzYn3IMXLj7A43Vlg==", "requires": { "bindings": "^1.5.0", "node-addon-api": "^6.1.0", @@ -79989,7 +79951,7 @@ "mongodb-compass": { "version": "file:packages/compass", "requires": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@electron/remote": "^2.1.2", "@mongodb-js/atlas-service": "^0.30.1", "@mongodb-js/compass-aggregations": "^9.46.1", @@ -80043,6 +80005,7 @@ "clean-stack": "^2.0.0", "clipboard": "^2.0.6", "compass-preferences-model": "^2.29.1", + "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", "electron": "^30.5.1", diff --git a/packages/compass-e2e-tests/package.json b/packages/compass-e2e-tests/package.json index 3e4e32492f4..555dcc7d950 100644 --- a/packages/compass-e2e-tests/package.json +++ b/packages/compass-e2e-tests/package.json @@ -30,7 +30,7 @@ "coverage-report": "npm run coverage-merge && nyc report" }, "devDependencies": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@mongodb-js/compass-test-server": "^0.1.22", "@mongodb-js/connection-info": "^0.9.1", "@mongodb-js/eslint-config-compass": "^1.1.7", diff --git a/packages/compass/package.json b/packages/compass/package.json index 3a1bc9753ff..4c1309edbfc 100644 --- a/packages/compass/package.json +++ b/packages/compass/package.json @@ -140,7 +140,7 @@ }, "scripts": { "install": "node scripts/download-fonts.js && node scripts/download-csfle.js", - "electron-rebuild": "electron-rebuild --only kerberos,keytar,interruptor,os-dns-native,win-export-certificate-and-key,macos-export-certificate-and-key --prebuild-tag-prefix not-real-prefix-to-force-rebuild", + "electron-rebuild": "node scripts/electron-rebuild.js", "prestart": "npm run electron-rebuild && npm run compile --workspace=@mongodb-js/webpack-config-compass", "start": "HADRON_DISTRIBUTION=${HADRON_DISTRIBUTION:-compass} npm run webpack serve -- --mode development", "test-electron": "npm run test-main && npm run test-renderer", @@ -181,14 +181,14 @@ "dependencies": { "@mongosh/node-runtime-worker-thread": "^2.3.2", "clipboard": "^2.0.6", - "kerberos": "^2.1.1", + "kerberos": "^2.2.0", "keytar": "^7.9.0", "mongodb-client-encryption": "^6.1.0", "os-dns-native": "^1.2.1", "system-ca": "^2.0.0" }, "devDependencies": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@electron/remote": "^2.1.2", "@mongodb-js/atlas-service": "^0.30.1", "@mongodb-js/compass-aggregations": "^9.46.1", @@ -240,6 +240,7 @@ "chalk": "^4.1.2", "clean-stack": "^2.0.0", "compass-preferences-model": "^2.29.1", + "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", "electron": "^30.5.1", diff --git a/packages/compass/scripts/electron-rebuild.js b/packages/compass/scripts/electron-rebuild.js new file mode 100644 index 00000000000..26da7548889 --- /dev/null +++ b/packages/compass/scripts/electron-rebuild.js @@ -0,0 +1,40 @@ +'use strict'; +const spawn = require('cross-spawn'); +const path = require('path'); + +const modulesToRebuild = + require('../package.json').config.hadron.rebuild.onlyModules; + +// We only want to force rebuild on linux to make sure that the version of glibc +// is matching the platform we're running this on instead of the platform the +// prebuilt was generated on, for other platforms it's okay to just download the +// prebuilt modules when available +const forceRebuildFromSource = process.platform === 'linux'; + +/** @type {[string, string[]]} */ +const rebuildArgs = [ + 'electron-rebuild', + [ + '--only', + modulesToRebuild.join(','), + ...(forceRebuildFromSource + ? [ + // electron-rebuild doesn't allow to force rebuild from source, but we + // can force it by passing a fake tag that would not allow prebuilt to + // download the asset + '--prebuild-tag-prefix', + 'not-real-prefix-to-force-rebuild', + ] + : []), + ...process.argv.slice(2), + ], +]; + +// eslint-disable-next-line no-console +console.log('> %s', rebuildArgs.flat().join(' ')); + +spawn(...rebuildArgs, { + cwd: path.resolve(__dirname, '..'), + stdio: 'inherit', + env: process.env, +}); diff --git a/packages/data-service/package.json b/packages/data-service/package.json index ef385ccaff5..fcc703a844d 100644 --- a/packages/data-service/package.json +++ b/packages/data-service/package.json @@ -76,7 +76,7 @@ "chai-as-promised": "^7.1.1", "depcheck": "^1.4.1", "eslint": "^7.25.0", - "kerberos": "^2.1.1", + "kerberos": "^2.2.0", "mocha": "^10.2.0", "mongodb-log-writer": "^1.4.2", "nyc": "^15.1.0", diff --git a/packages/hadron-build/commands/release.js b/packages/hadron-build/commands/release.js index d22649f03d0..bec2c5fba09 100644 --- a/packages/hadron-build/commands/release.js +++ b/packages/hadron-build/commands/release.js @@ -384,15 +384,24 @@ const installDependencies = util.callbackify(async (CONFIG) => { force: true, }; + const forceRebuildFromSourceOptions = + // We only want to force rebuild on linux to make sure that the version of + // glibc is matching the platform we're running this on instead of the + // platform the prebuilt was generated on, for other platforms it's okay to + // just download the prebuilt modules when available + process.platform === 'linux' + ? { + // electron-rebuild doesn't allow to force rebuild from source, but we + // can force it by passing a fake tag that would not allow prebuilt to + // download the asset + prebuildTagPrefix: 'not-real-prefix-to-force-rebuild', + } + : {}; + const allModulesRebuildConfig = { ...sharedRebuildConfig, ...CONFIG.rebuild, - // We want to ensure that we are actually rebuilding native modules on the - // platform we are packaging. There is currently no direct way of passing a - // --build-from-source flag to rebuild-install package, but we can force - // rebuild by providing a tag prefix that will make prebuild think that - // prebuilt files don't exist - prebuildTagPrefix: 'totally-not-a-real-prefix-to-force-rebuild', + ...forceRebuildFromSourceOptions, }; // We can not force rebuild mongodb-client-encryption locally, but we need to diff --git a/packages/hadron-build/package.json b/packages/hadron-build/package.json index 3dfe55d92b3..4acf02872b6 100644 --- a/packages/hadron-build/package.json +++ b/packages/hadron-build/package.json @@ -19,7 +19,7 @@ "url": "https://github.com/mongodb-js/compass.git" }, "dependencies": { - "@electron/rebuild": "^3.6.2", + "@electron/rebuild": "^3.7.0", "@mongodb-js/devtools-github-repo": "^1.4.1", "@mongodb-js/dl-center": "^1.0.1", "@mongodb-js/electron-wix-msi": "^3.0.0", From 19941f5f0cf9a7938d99b20ea24ce949d251f7e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 09:52:55 +0000 Subject: [PATCH 02/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6397) Update report Co-authored-by: gribnoysup <5036933+gribnoysup@users.noreply.github.com> --- THIRD-PARTY-NOTICES.md | 8 ++++---- docs/tracking-plan.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 22c71e496e5..51c48092979 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -1,5 +1,5 @@ The following third-party software is used by and included in **Mongodb Compass**. -This document was automatically generated on Wed Oct 23 2024. +This document was automatically generated on Thu Oct 24 2024. ## List of dependencies @@ -364,7 +364,7 @@ Package|Version|License **[json5](#16281c6ea25e0cec4bc0bb8c01d1759d66992776381bf9c5af6959bec47d2f77)**|2.2.3|MIT **[jsondiffpatch](#2cc3b990f6692cd23f883319a727b42a76a3a9d6675d1ebd8a05241eb7edc4ac)**|0.5.0|MIT **[jsonfile](#1504ddbe5031429f6d90bb02373b4629ff5da9ef4e869d5015ff42f685817e74)**|6.1.0|MIT -**[kerberos](#e9b8ef28e3d246d5071f34b07b67580523cda7bd0d7d74dc2e422d79d30c238d)**|2.1.1|Apache-2.0 +**[kerberos](#ac70d4903c6441fd96843a6ecb73f258ee27ef26b25290257564a11c10ecd17b)**|2.2.0|Apache-2.0 **[key-tree-store](#63e3bcb8e06ac6b9f7c153030ce57fad6e985a0cc7f0109d3fc6073192a932f8)**|1.3.0|MIT **[keytar](#752f1130bbd6c5dc941bdb20fb39579c1d350252a112c58f2558b7c5f536d6f7)**|7.9.0|MIT **[leaflet-defaulticon-compatibility](#7fba582082c899d764d8e4214d2f6f06cd043b2dce51598ec24ce299f5640a6e)**|0.1.1|BSD-2-Clause @@ -23138,8 +23138,8 @@ License files: - -### [kerberos](https://www.npmjs.com/package/kerberos) (version 2.1.1) + +### [kerberos](https://www.npmjs.com/package/kerberos) (version 2.2.0) License tags: Apache-2.0 License files: diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index 99ebbfa5ee9..d85587e5b62 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Wed, Oct 23, 2024 at 04:31 PM +Generated on Thu, Oct 24, 2024 at 09:52 AM ## Table of Contents From 5065cd381c19f98e6f15e7e478cf444e5f38482e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 27 Oct 2024 03:16:52 +0000 Subject: [PATCH 03/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6401) Update report Co-authored-by: mcasimir <334881+mcasimir@users.noreply.github.com> --- THIRD-PARTY-NOTICES.md | 2 +- docs/tracking-plan.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 51c48092979..eabe5f9d581 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -1,5 +1,5 @@ The following third-party software is used by and included in **Mongodb Compass**. -This document was automatically generated on Thu Oct 24 2024. +This document was automatically generated on Sun Oct 27 2024. ## List of dependencies diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index d85587e5b62..01206d96fd4 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Thu, Oct 24, 2024 at 09:52 AM +Generated on Sun, Oct 27, 2024 at 03:16 AM ## Table of Contents From ea27e275183677e5ddf45a7c4ceb1db28fb36bc0 Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Mon, 28 Oct 2024 09:23:38 +0100 Subject: [PATCH 04/27] chore(deps): bump kerberos in package-lock (#6402) --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 72363fe5b31..07e5691d5c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43670,7 +43670,7 @@ "dependencies": { "@mongosh/node-runtime-worker-thread": "^2.3.2", "clipboard": "^2.0.6", - "kerberos": "^2.1.1", + "kerberos": "^2.2.0", "keytar": "^7.9.0", "mongodb-client-encryption": "^6.1.0", "os-dns-native": "^1.2.1", @@ -47892,7 +47892,7 @@ "chai-as-promised": "^7.1.1", "depcheck": "^1.4.1", "eslint": "^7.25.0", - "kerberos": "^2.1.1", + "kerberos": "^2.2.0", "mocha": "^10.2.0", "mongodb-log-writer": "^1.4.2", "nyc": "^15.1.0", @@ -80018,7 +80018,7 @@ "hadron-app-registry": "^9.2.7", "hadron-build": "^25.5.12", "hadron-ipc": "^3.2.23", - "kerberos": "^2.1.1", + "kerberos": "^2.2.0", "keytar": "^7.9.0", "local-links": "^1.4.0", "macos-export-certificate-and-key": "^1.1.2", @@ -80281,7 +80281,7 @@ "chai-as-promised": "^7.1.1", "depcheck": "^1.4.1", "eslint": "^7.25.0", - "kerberos": "^2.1.1", + "kerberos": "^2.2.0", "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", From 1d5f3e59328711de86298d56dbe86c898035c2b3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 08:31:37 +0000 Subject: [PATCH 05/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6403) Update report Co-authored-by: gribnoysup <5036933+gribnoysup@users.noreply.github.com> --- THIRD-PARTY-NOTICES.md | 2 +- docs/tracking-plan.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index eabe5f9d581..6b60acfedcc 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -1,5 +1,5 @@ The following third-party software is used by and included in **Mongodb Compass**. -This document was automatically generated on Sun Oct 27 2024. +This document was automatically generated on Mon Oct 28 2024. ## List of dependencies diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index 01206d96fd4..be3c127d2bf 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Sun, Oct 27, 2024 at 03:16 AM +Generated on Mon, Oct 28, 2024 at 08:31 AM ## Table of Contents From 560ad43bf2f2b32cde759f35adbdd66eb50e53a2 Mon Sep 17 00:00:00 2001 From: Nikola Irinchev Date: Mon, 28 Oct 2024 13:18:10 +0100 Subject: [PATCH 06/27] chore(ci): Add a workflow to validate PR titles (#6400) * Add a workflow to validate PR titles * Update the example ticket --- .github/workflows/check-pr-title.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/check-pr-title.yml diff --git a/.github/workflows/check-pr-title.yml b/.github/workflows/check-pr-title.yml new file mode 100644 index 00000000000..3d7b5a61987 --- /dev/null +++ b/.github/workflows/check-pr-title.yml @@ -0,0 +1,24 @@ +name: "Check PR Title" +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled, converted_to_draft, edited] + +jobs: + check-pr-title: + name: Check PR Title + runs-on: ubuntu-latest + steps: + - name: Enforce conventional commit style + uses: realm/ci-actions/title-checker@main + with: + regex: '^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test|ops){1}(\([\w\-\.]+\))?(!)?: .*' + error-hint: 'Invalid PR title. Make sure it follows the conventional commit specification (i.e. "(): ") or add the no-title-validation label' + ignore-labels: 'no-title-validation' + - name: Enforce JIRA ticket in title + uses: realm/ci-actions/title-checker@main + # Skip the JIRA ticket check for PRs opened by bots + if: ${{ !contains(github.event.pull_request.user.login, '[bot]') }} + with: + regex: '[A-Z]{4,10}-[0-9]{1,5}$' + error-hint: 'Invalid PR title. Make sure it ends with a JIRA ticket - i.e. COMPASS-1234 or add the no-title-validation label' + ignore-labels: 'no-title-validation' From 953769b1eff5722df443b2eae0cd833e324e9896 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:25:02 +0000 Subject: [PATCH 07/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6406) Update report Co-authored-by: nirinchev <2315687+nirinchev@users.noreply.github.com> --- AUTHORS | 1 + docs/tracking-plan.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 9afdce0409c..761597a732d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -93,3 +93,4 @@ Kræn Hansen Kræn Hansen Ruchitha Rajaghatta <77162985+ruchitharajaghatta@users.noreply.github.com> syn-zhu <167124917+syn-zhu@users.noreply.github.com> +Nikola Irinchev diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index be3c127d2bf..c592d7a3e34 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Mon, Oct 28, 2024 at 08:31 AM +Generated on Mon, Oct 28, 2024 at 12:24 PM ## Table of Contents From 8f1cd9f1846feee24a896f7d22d76ef322a77b10 Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Mon, 28 Oct 2024 13:36:31 +0100 Subject: [PATCH 08/27] chore(e2e): refactor context to use yargs parser (#6398) --- .depalignrc.json | 3 + .evergreen/functions.yml | 17 +- package-lock.json | 144 +++++- .../helpers/commands/connect-form.ts | 11 +- .../helpers/commands/screenshot.ts | 2 +- packages/compass-e2e-tests/helpers/compass.ts | 56 +-- .../helpers/test-runner-context.ts | 443 ++++++++++++------ .../helpers/test-runner-global-fixtures.ts | 33 +- .../helpers/test-runner-paths.ts | 36 ++ packages/compass-e2e-tests/index.ts | 31 +- packages/compass-e2e-tests/package.json | 11 +- .../tests/collection-bulk-delete.test.ts | 3 +- .../tests/collection-documents-tab.test.ts | 3 +- .../tests/connection-form.test.ts | 3 +- .../tests/connection.test.ts | 10 +- .../tests/my-queries-tab.test.ts | 6 +- .../tests/protect-connection-strings.test.ts | 3 +- 17 files changed, 562 insertions(+), 253 deletions(-) create mode 100644 packages/compass-e2e-tests/helpers/test-runner-paths.ts diff --git a/.depalignrc.json b/.depalignrc.json index 277dbf7ce19..1ba9475076f 100644 --- a/.depalignrc.json +++ b/.depalignrc.json @@ -26,6 +26,9 @@ ], "js-yaml": [ "^3.13.1" + ], + "yargs": [ + "^4.8.1" ] } } \ No newline at end of file diff --git a/.evergreen/functions.yml b/.evergreen/functions.yml index b5a67ece2ac..46204d5892b 100644 --- a/.evergreen/functions.yml +++ b/.evergreen/functions.yml @@ -597,10 +597,9 @@ functions: DEBUG: ${debug|} MONGODB_VERSION: ${mongodb_version|} MONGODB_RUNNER_VERSION: ${mongodb_version|} - E2E_TEST_GROUPS: ${e2e_test_groups} - E2E_TEST_GROUP: ${e2e_test_group} + COMPASS_E2E_TEST_GROUPS: ${e2e_test_groups} + COMPASS_E2E_TEST_GROUP: ${e2e_test_group} ATLAS_LOCAL_VERSION: latest - HADRON_DISTRIBUTION: compass script: | set -e # Load environment variables @@ -629,8 +628,8 @@ functions: DEBUG: ${debug|} MONGODB_VERSION: ${mongodb_version|} MONGODB_RUNNER_VERSION: ${mongodb_version|} - E2E_TEST_GROUPS: ${e2e_test_groups} - E2E_TEST_GROUP: ${e2e_test_group} + COMPASS_E2E_TEST_GROUPS: ${e2e_test_groups} + COMPASS_E2E_TEST_GROUP: ${e2e_test_group} script: | set -e # Load environment variables @@ -664,14 +663,14 @@ functions: DEBUG: ${debug|} MONGODB_VERSION: ${mongodb_version|} MONGODB_RUNNER_VERSION: ${mongodb_version|} - COMPASS_WEB_BROWSER_NAME: ${browser_name} - E2E_TEST_GROUPS: ${e2e_test_groups} - E2E_TEST_GROUP: ${e2e_test_group} + COMPASS_E2E_BROWSER_NAME: ${browser_name} + COMPASS_E2E_TEST_GROUPS: ${e2e_test_groups} + COMPASS_E2E_TEST_GROUP: ${e2e_test_group} script: | set -e # Load environment variables eval $(.evergreen/print-compass-env.sh) - npm run --unsafe-perm --workspace compass-e2e-tests test-web + npm run --unsafe-perm --workspace compass-e2e-tests test-ci web test-connectivity: - command: shell.exec diff --git a/package-lock.json b/package-lock.json index 07e5691d5c9..3e979124e1b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13961,6 +13961,16 @@ "@types/node": "*" } }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/@types/yargs-parser": { "version": "21.0.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", @@ -44529,6 +44539,9 @@ }, "packages/compass-e2e-tests": { "version": "1.27.3", + "bin": { + "compass-e2e-tests": "index.ts" + }, "devDependencies": { "@electron/rebuild": "^3.7.0", "@mongodb-js/compass-test-server": "^0.1.22", @@ -44540,6 +44553,7 @@ "@types/chai-as-promised": "^7.1.4", "@types/cross-spawn": "^6.0.2", "@types/puppeteer": "^5.4.4", + "@types/yargs": "^17.0.33", "@wdio/types": "^8.32.2", "bson": "^6.8.0", "chai": "^4.3.4", @@ -44572,7 +44586,18 @@ "ts-node": "^10.9.1", "webdriverio": "^8.40.0", "why-is-node-running": "^2.3.0", - "xvfb-maybe": "^0.2.1" + "xvfb-maybe": "^0.2.1", + "yargs": "^17.7.2" + } + }, + "packages/compass-e2e-tests/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, "packages/compass-e2e-tests/node_modules/brace-expansion": { @@ -44598,6 +44623,21 @@ "node": ">=8" } }, + "packages/compass-e2e-tests/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "packages/compass-e2e-tests/node_modules/electron-to-chromium": { "version": "1.5.41", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", @@ -44831,6 +44871,19 @@ "node": ">=0.10.0" } }, + "packages/compass-e2e-tests/node_modules/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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "packages/compass-e2e-tests/node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -44870,6 +44923,35 @@ "node": ">=8" } }, + "packages/compass-e2e-tests/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "packages/compass-e2e-tests/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "packages/compass-editor": { "name": "@mongodb-js/compass-editor", "version": "0.31.1", @@ -64861,6 +64943,15 @@ "@types/node": "*" } }, + "@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, "@types/yargs-parser": { "version": "21.0.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", @@ -68166,6 +68257,7 @@ "@types/chai-as-promised": "^7.1.4", "@types/cross-spawn": "^6.0.2", "@types/puppeteer": "^5.4.4", + "@types/yargs": "^17.0.33", "@wdio/types": "^8.32.2", "bson": "^6.8.0", "chai": "^4.3.4", @@ -68198,9 +68290,16 @@ "ts-node": "^10.9.1", "webdriverio": "^8.40.0", "why-is-node-running": "^2.3.0", - "xvfb-maybe": "^0.2.1" + "xvfb-maybe": "^0.2.1", + "yargs": "^17.7.2" }, "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -68221,6 +68320,17 @@ "is-wsl": "^2.1.1" } }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, "electron-to-chromium": { "version": "1.5.41", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", @@ -68380,6 +68490,15 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -68411,6 +68530,27 @@ "siginfo": "^2.0.0", "stackback": "0.0.2" } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true } } }, diff --git a/packages/compass-e2e-tests/helpers/commands/connect-form.ts b/packages/compass-e2e-tests/helpers/commands/connect-form.ts index f47505af19e..fa1e52d5967 100644 --- a/packages/compass-e2e-tests/helpers/commands/connect-form.ts +++ b/packages/compass-e2e-tests/helpers/commands/connect-form.ts @@ -4,7 +4,10 @@ import type { CompassBrowser } from '../compass-browser'; import * as Selectors from '../selectors'; import type { ConnectFormState } from '../connect-form-state'; import Debug from 'debug'; -import { DEFAULT_CONNECTIONS } from '../test-runner-context'; +import { + DEFAULT_CONNECTIONS, + isTestingAtlasCloudExternal, +} from '../test-runner-context'; import { getConnectionTitle } from '@mongodb-js/connection-info'; const debug = Debug('compass-e2e-tests'); @@ -925,6 +928,12 @@ export async function saveConnection( } export async function setupDefaultConnections(browser: CompassBrowser) { + // When running tests against Atlas Cloud, connections can't be added or + // removed from the UI manually, so we skip setup for default connections + if (isTestingAtlasCloudExternal()) { + return; + } + /* This is intended to be used by most test files (ones that don't care too much about the intricacies about connections) in a before() hook after starting diff --git a/packages/compass-e2e-tests/helpers/commands/screenshot.ts b/packages/compass-e2e-tests/helpers/commands/screenshot.ts index 5b01dc7ae4f..8e840db9200 100644 --- a/packages/compass-e2e-tests/helpers/commands/screenshot.ts +++ b/packages/compass-e2e-tests/helpers/commands/screenshot.ts @@ -1,6 +1,6 @@ import path from 'path'; import type { CompassBrowser } from '../compass-browser'; -import { LOG_SCREENSHOTS_PATH } from '../test-runner-context'; +import { LOG_SCREENSHOTS_PATH } from '../test-runner-paths'; const withTimeout = (millis: number, promise: Promise) => { let timeoutPid: NodeJS.Timeout; diff --git a/packages/compass-e2e-tests/helpers/compass.ts b/packages/compass-e2e-tests/helpers/compass.ts index 71800865a86..6f518bdd516 100644 --- a/packages/compass-e2e-tests/helpers/compass.ts +++ b/packages/compass-e2e-tests/helpers/compass.ts @@ -29,25 +29,21 @@ import { DEFAULT_CONNECTION_STRINGS, DEFAULT_CONNECTION_NAMES, DEFAULT_CONNECTIONS_SERVER_INFO, + isTestingWeb, + isTestingDesktop, + context, + assertTestingWeb, + isTestingAtlasCloudExternal, +} from './test-runner-context'; +import { ELECTRON_CHROMIUM_VERSION, - TEST_COMPASS_WEB as _TEST_COMPASS_WEB, LOG_PATH, LOG_COVERAGE_PATH, COMPASS_DESKTOP_PATH, LOG_OUTPUT_PATH, LOG_SCREENSHOTS_PATH, - WEBDRIVER_DEFAULT_WAITFOR_TIMEOUT, - WEBDRIVER_DEFAULT_WAITFOR_INTERVAL, - TEST_COMPASS_DESKTOP_PACKAGED_APP, ELECTRON_PATH, - COMPASS_WEB_BROWSER_NAME, - COMPASS_WEB_BROWSER_VERSION, - TEST_ATLAS_CLOUD_EXTERNAL, - TEST_ATLAS_CLOUD_EXTERNAL_COOKIES_FILE, - TEST_ATLAS_CLOUD_EXTERNAL_URL, - TEST_ATLAS_CLOUD_EXTERNAL_GROUP_ID, - COMPASS_WEB_SANDBOX_URL, -} from './test-runner-context'; +} from './test-runner-paths'; const debug = Debug('compass-e2e-tests'); @@ -57,7 +53,7 @@ const { Z_SYNC_FLUSH } = zlib.constants; const packageCompassAsync = promisify(packageCompass); // should we test compass-web (true) or compass electron (false)? -export const TEST_COMPASS_WEB = _TEST_COMPASS_WEB; +export const TEST_COMPASS_WEB = isTestingWeb(); /* A helper so we can easily find all the tests we're skipping in compass-web. @@ -75,10 +71,6 @@ export function skipForWeb( } } -export const MONGODB_TEST_SERVER_PORT = Number( - process.env.MONGODB_TEST_SERVER_PORT ?? 27091 -); - export const DEFAULT_CONNECTION_STRING_1 = DEFAULT_CONNECTION_STRINGS[0]; // NOTE: in browser.setupDefaultConnections() we don't give the first connection an // explicit name, so it gets a calculated one based off the connection string @@ -435,7 +427,7 @@ async function getCompassExecutionParameters(): Promise<{ testPackagedApp: boolean; binary: string; }> { - const testPackagedApp = TEST_COMPASS_DESKTOP_PACKAGED_APP; + const testPackagedApp = isTestingDesktop(context) && context.testPackagedApp; const binary = testPackagedApp ? getCompassBinPath(await getCompassBuildMetadata()) : ELECTRON_PATH; @@ -554,8 +546,8 @@ async function processCommonOpts({ // https://webdriver.io/docs/options/#webdriverio const wdioOptions = { - waitforTimeout: WEBDRIVER_DEFAULT_WAITFOR_TIMEOUT, - waitforInterval: WEBDRIVER_DEFAULT_WAITFOR_INTERVAL, + waitforTimeout: context.webdriverWaitforTimeout, + waitforInterval: context.webdriverWaitforInterval, }; process.env.DEBUG = `${process.env.DEBUG ?? ''},mongodb-compass:main:logging`; @@ -727,14 +719,16 @@ export async function startBrowser( // eslint-disable-next-line @typescript-eslint/no-unused-vars opts: StartCompassOptions = {} ) { + assertTestingWeb(context); + runCounter++; const { webdriverOptions, wdioOptions } = await processCommonOpts(); const options: RemoteOptions = { capabilities: { - browserName: COMPASS_WEB_BROWSER_NAME, - ...(COMPASS_WEB_BROWSER_VERSION && { - browserVersion: COMPASS_WEB_BROWSER_VERSION, + browserName: context.browserName, + ...(context.browserVersion && { + browserVersion: context.browserVersion, }), }, ...webdriverOptions, @@ -746,11 +740,17 @@ export async function startBrowser( const browser: CompassBrowser = (await remote(options)) as CompassBrowser; - if (TEST_ATLAS_CLOUD_EXTERNAL) { + if (isTestingAtlasCloudExternal(context)) { + const { + atlasCloudExternalCookiesFile, + atlasCloudExternalUrl, + atlasCloudExternalProjectId, + } = context; + // To be able to use `setCookies` method, we need to first open any page on // the same domain as the cookies we are going to set // https://webdriver.io/docs/api/browser/setCookies/ - await browser.navigateTo(`${TEST_ATLAS_CLOUD_EXTERNAL_URL!}/404`); + await browser.navigateTo(`${atlasCloudExternalUrl}/404`); type StoredAtlasCloudCookies = { name: string; @@ -763,7 +763,7 @@ export async function startBrowser( }[]; const cookies: StoredAtlasCloudCookies = JSON.parse( - await fs.readFile(TEST_ATLAS_CLOUD_EXTERNAL_COOKIES_FILE!, 'utf8') + await fs.readFile(atlasCloudExternalCookiesFile, 'utf8') ); await browser.setCookies( @@ -788,10 +788,10 @@ export async function startBrowser( ); await browser.navigateTo( - `${TEST_ATLAS_CLOUD_EXTERNAL_URL!}/v2/${TEST_ATLAS_CLOUD_EXTERNAL_GROUP_ID!}#/explorer` + `${atlasCloudExternalUrl}/v2/${atlasCloudExternalProjectId}#/explorer` ); } else { - await browser.navigateTo(COMPASS_WEB_SANDBOX_URL); + await browser.navigateTo(context.sandboxUrl); } const compass = new Compass(name, browser, { diff --git a/packages/compass-e2e-tests/helpers/test-runner-context.ts b/packages/compass-e2e-tests/helpers/test-runner-context.ts index 3464c11bbbc..f76a729dd31 100644 --- a/packages/compass-e2e-tests/helpers/test-runner-context.ts +++ b/packages/compass-e2e-tests/helpers/test-runner-context.ts @@ -2,145 +2,313 @@ import { getConnectionTitle, type ConnectionInfo, } from '@mongodb-js/connection-info'; -import path from 'path'; -import electronPath from 'electron'; -import electronPackageJson from 'electron/package.json'; -// @ts-expect-error no types for this package -import { electronToChromium } from 'electron-to-chromium'; import type { MongoClusterOptions } from 'mongodb-runner'; +import yargs from 'yargs'; +import type { Argv } from 'yargs'; +import { hideBin } from 'yargs/helpers'; +import Debug from 'debug'; +import fs from 'fs'; -if (typeof electronPath !== 'string') { - throw new Error( - 'Running e2e tests in an unsupported runtime: `electronPath` is not a string' - ); +const debug = Debug('compass-e2e-tests:context'); + +function buildCommonArgs(yargs: Argv) { + return yargs + .option('disable-start-stop', { + type: 'boolean', + description: + 'Disables automatically starting (and stopping) default local test mongodb servers and compass-web sandbox', + }) + .option('test-groups', { + type: 'number', + description: + 'Run tests in batches. Sets the total number of test groups to have', + default: 1, + }) + .option('test-group', { + type: 'number', + description: + 'Run tests in batches. Sets the current test group from the total number', + default: 1, + }) + .option('test-filter', { + type: 'string', + description: 'Filter the spec files picked up for testing', + default: '*', + }) + .option('webdriver-waitfor-timeout', { + type: 'number', + description: 'Set a custom default webdriver waitFor timeout', + default: 120_000, // webdriver default is 3000ms + }) + .option('webdriver-waitfor-interval', { + type: 'number', + description: 'Set a custom default webdriver waitFor interval', + default: 100, // webdriver default is 500ms + }) + .option('mocha-timeout', { + type: 'number', + description: 'Set a custom default mocha timeout', + // Kinda arbitrary, but longer than webdriver-waitfor-timeout so the test + // can fail before Mocha times out + default: 240_000, + }) + .option('mocha-bail', { + type: 'boolean', + description: 'Bail on the first failing test instead of continuing', + }) + .option('hadron-distribution', { + type: 'string', + description: + 'Configure hadron distribution that will be used when packaging compass for tests (has no effect when testing packaged app)', + default: 'compass', + }) + .option('disable-clipboard-usage', { + type: 'boolean', + description: 'Disable tests that are relying on clipboard', + default: false, + }); } -// TODO: Probably time to use some arg parser for this already -export const ALLOWED_RUNNER_ARGS = [ - '--test-compass-web', - '--no-compile', - '--no-native-modules', - '--test-packaged-app', - '--disable-start-stop', - '--bail', -]; +function buildDesktopArgs(yargs: Argv) { + return ( + yargs + .option('test-packaged-app', { + type: 'boolean', + description: + 'Test a packaged binary instead of running compiled assets directly with electron binary', + default: false, + }) + // Skip this step if you are running tests consecutively and don't need to + // rebuild modules all the time. Also no need to ever recompile when testing + // compass-web. + .option('compile', { + type: 'boolean', + description: + 'When not testing a packaged app, re-compile assets before running tests', + default: true, + }) + .option('native-modules', { + type: 'boolean', + describe: + 'When not testing a packaaged app, re-compile native modules before running tests', + default: true, + }) + .epilogue( + 'All command line arguments can be also provided as env vars with `COMPASS_E2E_` prefix:\n\n COMPASS_E2E_TEST_PACKAGED_APP=true compass-e2e-tests desktop' + ) + ); +} /** * Variables used by a special use-case of running e2e tests against a * cloud(-dev).mongodb.com URL. If you're changing anything related to these, * make sure that the tests in mms are also updated to account for that */ -export const TEST_ATLAS_CLOUD_EXTERNAL_URL = - process.env.TEST_ATLAS_CLOUD_EXTERNAL_URL; -export const TEST_ATLAS_CLOUD_EXTERNAL_COOKIES_FILE = - process.env.TEST_ATLAS_CLOUD_EXTERNAL_COOKIES_FILE; -export const TEST_ATLAS_CLOUD_EXTERNAL_GROUP_ID = - process.env.TEST_ATLAS_CLOUD_EXTERNAL_GROUP_ID; -const TEST_ATLAS_CLOUD_EXTERNAL_DEFAULT_CONNECTIONS: ConnectionInfo[] | null = - JSON.parse(process.env.TEST_ATLAS_CLOUD_DEFAULT_CONNECTIONS ?? 'null'); - -const ALL_ATLAS_CLOUD_EXTERNAL_VARS = [ - TEST_ATLAS_CLOUD_EXTERNAL_URL, - TEST_ATLAS_CLOUD_EXTERNAL_COOKIES_FILE, - TEST_ATLAS_CLOUD_EXTERNAL_GROUP_ID, - TEST_ATLAS_CLOUD_EXTERNAL_DEFAULT_CONNECTIONS, -]; - -export const TEST_ATLAS_CLOUD_EXTERNAL = ALL_ATLAS_CLOUD_EXTERNAL_VARS.some( - (val) => { - return !!val; - } -); +const atlasCloudExternalArgs = [ + 'test-atlas-cloud-external', + 'atlas-cloud-external-url', + 'atlas-cloud-external-project-id', + 'atlas-cloud-external-cookies-file', + 'atlas-cloud-external-default-connections-file', +] as const; -if ( - TEST_ATLAS_CLOUD_EXTERNAL && - ALL_ATLAS_CLOUD_EXTERNAL_VARS.some((val) => { - return !val; - }) -) { - throw new Error( - 'Trying to test Atlas Cloud external URL but some required variables are missing' +let testEnv: 'desktop' | 'web' | undefined; + +function buildWebArgs(yargs: Argv) { + return ( + yargs + .option('browser-name', { + choices: ['chrome', 'firefox'] as const, + description: 'Test runner browser name', + default: 'chrome', + }) + // https://webdriver.io/docs/driverbinaries/ + // + // If you leave out browserVersion it will try and find the browser binary + // on your system. If you specify it it will download that version. The + // main limitation then is that 'latest' is the only 'semantic' version + // that is supported for Firefox. + // https://github.com/puppeteer/puppeteer/blob/ab5d4ac60200d1cea5bcd4910f9ccb323128e79a/packages/browsers/src/browser-data/browser-data.ts#L66 + // + // Alternatively we can download it ourselves and specify the path to the + // binary or we can even start and stop chromedriver/geckodriver manually. + // + // NOTE: The version of chromedriver or geckodriver in play might also be + // relevant. + .option('browser-version', { + type: 'string', + description: + 'Test runner browser version (`unset` will not provide an explicit version to webdriver)', + default: 'latest', + }) + .option('sandbox-url', { + type: 'string', + description: 'Set compass-web sandbox URL', + default: 'http://localhost:7777', + }) + .option('test-atlas-cloud-external', { + type: 'boolean', + description: + 'Run compass-web tests against an external Atlas Cloud URL (e.g., https://cloud-dev.mongodb.com)', + }) + .option('atlas-cloud-external-url', { + type: 'string', + description: 'External URL to run the tests against', + }) + .option('atlas-cloud-external-project-id', { + type: 'string', + description: 'Atlas `projectId` value', + }) + .option('atlas-cloud-external-cookies-file', { + type: 'string', + description: + 'File with a JSON array of cookie values that should contain Atlas Cloud auth cookies', + }) + .option('atlas-cloud-external-default-connections-file', { + type: 'string', + description: + 'File with JSON array of connections (following ConnectionInfo schema) that are expected to be available in the Atlas project', + }) + .implies( + Object.fromEntries( + atlasCloudExternalArgs.map((arg) => { + return [arg, atlasCloudExternalArgs]; + }) + ) + ) + .epilogue( + 'All command line arguments can be also provided as env vars with `COMPASS_E2E_` prefix:\n\n COMPASS_E2E_TEST_ATLAS_CLOUD_EXTERNAL=true compass-e2e-tests web' + ) ); } -export const TEST_COMPASS_WEB = - process.argv.includes('--test-compass-web') || TEST_ATLAS_CLOUD_EXTERNAL; -export const TEST_COMPASS_DESKTOP = !TEST_COMPASS_WEB; -export const TEST_COMPASS_DESKTOP_PACKAGED_APP = process.argv.includes( - '--test-packaged-app' -); -// Skip this step if you are running tests consecutively and don't need to -// rebuild modules all the time. Also no need to ever recompile when testing -// compass-web. -export const SKIP_COMPASS_DESKTOP_COMPILE = - process.argv.includes('--no-compile') && !TEST_COMPASS_WEB; -// Skip this step if you want to run tests against your own compilation (e.g, a -// dev build or a build running in watch mode that autorecompiles). Also no need -// to recompile when testing compass-web. -export const SKIP_NATIVE_MODULE_REBUILD = - process.argv.includes('--no-native-modules') && !TEST_COMPASS_WEB; -export const DISABLE_START_STOP = process.argv.includes('--disable-start-stop'); -export const MOCHA_BAIL = process.argv.includes('--bail'); - -export const COMPASS_WEB_BROWSER_NAME = - process.env.COMPASS_WEB_BROWSER_NAME ?? 'chrome'; -// https://webdriver.io/docs/driverbinaries/ -// -// If you leave out browserVersion it will try and find the browser binary on -// your system. If you specify it it will download that version. The main -// limitation then is that 'latest' is the only 'semantic' version that is -// supported for Firefox. -// https://github.com/puppeteer/puppeteer/blob/ab5d4ac60200d1cea5bcd4910f9ccb323128e79a/packages/browsers/src/browser-data/browser-data.ts#L66 -// -// Alternatively we can download it ourselves and specify the path to the binary -// or we can even start and stop chromedriver/geckodriver manually. -// -// NOTE: The version of chromedriver or geckodriver in play might also be -// relevant. -export const COMPASS_WEB_BROWSER_VERSION = - process.env.COMPASS_WEB_BROWSER_VERSION === 'unset' - ? undefined - : process.env.BROWSER_VERSION ?? 'latest'; -export const COMPASS_WEB_SANDBOX_URL = 'http://localhost:7777'; - -const MONGODB_TESTSERVER_VERSION = +const argv = yargs(hideBin(process.argv)) + .scriptName('compass-e2e-tests') + .env('COMPASS_E2E') + .detectLocale(false) + .version(false) + .strict(); + +const parsedArgs = buildCommonArgs(argv) + .command( + ['$0', 'desktop'], + 'Run e2e tests against Compass desktop', + buildDesktopArgs, + () => { + testEnv = 'desktop'; + } + ) + .command('web', 'Run e2e tests against Compass web', buildWebArgs, () => { + testEnv = 'web'; + }) + .parse(); + +type BuilderCallbackParsedArgs Argv> = + ReturnType['parseSync']>; + +type CommonParsedArgs = BuilderCallbackParsedArgs; + +type DesktopParsedArgs = CommonParsedArgs & + BuilderCallbackParsedArgs; + +type WebParsedArgs = CommonParsedArgs & + BuilderCallbackParsedArgs; + +if (!testEnv) { + throw new Error('Test env was not selected'); +} + +if ('then' in parsedArgs && typeof parsedArgs.then === 'function') { + throw new Error('Async args parser is not allowed'); +} + +export const context = parsedArgs as CommonParsedArgs & + Partial; + +export function isTestingDesktop(ctx = context): ctx is DesktopParsedArgs { + return testEnv === 'desktop'; +} + +export function assertTestingDesktop( + ctx = context +): asserts ctx is DesktopParsedArgs { + if (!isTestingDesktop(ctx)) { + throw new Error( + `Expected tested runtime to be desktop, but got ${String(testEnv)}` + ); + } +} + +export function isTestingWeb(ctx = context): ctx is WebParsedArgs { + return testEnv === 'web'; +} + +export function assertTestingWeb(ctx = context): asserts ctx is WebParsedArgs { + if (!isTestingWeb(ctx)) { + throw new Error( + `Expected tested runtime to be web, but got ${String(testEnv)}` + ); + } +} + +export function isTestingAtlasCloudExternal( + ctx = context +): ctx is WebParsedArgs & { + [K in + | 'testAtlasCloudExternal' + | 'atlasCloudExternalUrl' + | 'atlasCloudExternalProjectId' + | 'atlasCloudExternalCookiesFile' + | 'atlasCloudExternalDefaultConnectionsFile']: NonNullable< + WebParsedArgs[K] + >; +} { + return isTestingWeb(ctx) && !!ctx.testAtlasCloudExternal; +} + +debug('Running tests with the following arguments:', context); + +process.env.HADRON_DISTRIBUTION ??= context.hadronDistribution; + +const testServerVersion = process.env.MONGODB_VERSION ?? process.env.MONGODB_RUNNER_VERSION; export const DEFAULT_CONNECTIONS: (ConnectionInfo & { testServer?: Partial; -})[] = - TEST_ATLAS_CLOUD_EXTERNAL && TEST_ATLAS_CLOUD_EXTERNAL_DEFAULT_CONNECTIONS - ? TEST_ATLAS_CLOUD_EXTERNAL_DEFAULT_CONNECTIONS - : [ - { - id: 'test-connection-1', - connectionOptions: { - connectionString: 'mongodb://127.0.0.1:27091/test', - }, - testServer: { - version: MONGODB_TESTSERVER_VERSION, - topology: 'replset', - secondaries: 0, - args: ['--port', '27091'], - }, +})[] = isTestingAtlasCloudExternal(context) + ? JSON.parse( + fs.readFileSync(context.atlasCloudExternalDefaultConnectionsFile, 'utf-8') + ) + : [ + { + id: 'test-connection-1', + connectionOptions: { + connectionString: 'mongodb://127.0.0.1:27091/test', }, - { - id: 'test-connection-2', - connectionOptions: { - connectionString: 'mongodb://127.0.0.1:27092/test', - }, - favorite: { - name: 'connection-2', - color: 'Iris', - }, - testServer: { - version: MONGODB_TESTSERVER_VERSION, - topology: 'replset', - secondaries: 0, - args: ['--port', '27092'], - }, + testServer: { + version: testServerVersion, + topology: 'replset', + secondaries: 0, + args: ['--port', '27091'], }, - ]; + }, + { + id: 'test-connection-2', + connectionOptions: { + connectionString: 'mongodb://127.0.0.1:27092/test', + }, + favorite: { + name: 'connection-2', + color: 'Iris', + }, + testServer: { + version: testServerVersion, + topology: 'replset', + secondaries: 0, + args: ['--port', '27092'], + }, + }, + ]; export const DEFAULT_CONNECTION_STRINGS = DEFAULT_CONNECTIONS.map((info) => { return info.connectionOptions.connectionString; @@ -154,40 +322,3 @@ export const DEFAULT_CONNECTIONS_SERVER_INFO: { version: string; enterprise: boolean; }[] = []; - -export const E2E_WORKSPACE_PATH = path.dirname( - require.resolve('compass-e2e-tests/package.json') -); -// /packages/compass-e2e-tests -// /packages -// -export const MONOREPO_ROOT_PATH = path.resolve(E2E_WORKSPACE_PATH, '..', '..'); -export const COMPASS_DESKTOP_PATH = path.dirname( - require.resolve('mongodb-compass/package.json') -); -export const COMPASS_WEB_PATH = path.dirname( - require.resolve('@mongodb-js/compass-web/package.json') -); -export const LOG_PATH = path.resolve(E2E_WORKSPACE_PATH, '.log'); -export const LOG_OUTPUT_PATH = path.join(LOG_PATH, 'output'); -export const LOG_SCREENSHOTS_PATH = path.join(LOG_PATH, 'screenshots'); -export const LOG_COVERAGE_PATH = path.join(LOG_PATH, 'coverage'); -// Set coverage to the root of the monorepo so it will be generated for -// everything and not just packages/compass -export const COVERAGE_PATH = (process.env.COVERAGE = MONOREPO_ROOT_PATH); - -export const ELECTRON_PATH = electronPath; -export const ELECTRON_VERSION = electronPackageJson.version; -export const ELECTRON_CHROMIUM_VERSION = electronToChromium(ELECTRON_VERSION); - -export const WEBDRIVER_DEFAULT_WAITFOR_TIMEOUT = process.env - .COMPASS_TEST_DEFAULT_WAITFOR_TIMEOUT - ? Number(process.env.COMPASS_TEST_DEFAULT_WAITFOR_TIMEOUT) - : 120_000; // default is 3000ms -export const WEBDRIVER_DEFAULT_WAITFOR_INTERVAL = process.env - .COMPASS_TEST_DEFAULT_WAITFOR_INTERVAL - ? Number(process.env.COMPASS_TEST_DEFAULT_WAITFOR_INTERVAL) - : 100; // default is 500ms -// Kinda arbitrary, but longer than WEBDRIVER_DEFAULT_WAITFOR_TIMEOUT so the -// test can fail before Mocha times out -export const MOCHA_DEFAULT_TIMEOUT = WEBDRIVER_DEFAULT_WAITFOR_TIMEOUT * 2; diff --git a/packages/compass-e2e-tests/helpers/test-runner-global-fixtures.ts b/packages/compass-e2e-tests/helpers/test-runner-global-fixtures.ts index 8fd8e030921..538bf555fb0 100644 --- a/packages/compass-e2e-tests/helpers/test-runner-global-fixtures.ts +++ b/packages/compass-e2e-tests/helpers/test-runner-global-fixtures.ts @@ -1,19 +1,14 @@ import gunzip from './gunzip'; import fs from 'fs'; import { - COMPASS_WEB_SANDBOX_URL, + context, DEFAULT_CONNECTIONS, DEFAULT_CONNECTIONS_SERVER_INFO, - DISABLE_START_STOP, - E2E_WORKSPACE_PATH, - LOG_PATH, - SKIP_COMPASS_DESKTOP_COMPILE, - SKIP_NATIVE_MODULE_REBUILD, - TEST_ATLAS_CLOUD_EXTERNAL, - TEST_COMPASS_DESKTOP, - TEST_COMPASS_DESKTOP_PACKAGED_APP, - TEST_COMPASS_WEB, + isTestingAtlasCloudExternal, + isTestingDesktop, + isTestingWeb, } from './test-runner-context'; +import { E2E_WORKSPACE_PATH, LOG_PATH } from './test-runner-paths'; import Debug from 'debug'; import { startTestServer } from '@mongodb-js/compass-test-server'; import crossSpawn from 'cross-spawn'; @@ -76,7 +71,7 @@ export async function mochaGlobalSetup(this: Mocha.Runner) { debug('X DISPLAY', process.env.DISPLAY); - if (!DISABLE_START_STOP) { + if (!context.disableStartStop) { for (const connectionInfo of DEFAULT_CONNECTIONS) { if (connectionInfo.testServer) { debug( @@ -95,7 +90,7 @@ export async function mochaGlobalSetup(this: Mocha.Runner) { throwIfAborted(); } - if (TEST_COMPASS_WEB && !TEST_ATLAS_CLOUD_EXTERNAL) { + if (isTestingWeb(context) && !isTestingAtlasCloudExternal(context)) { debug('Starting Compass Web server ...'); const compassWeb = spawnCompassWeb(); cleanupFns.push(() => { @@ -106,7 +101,7 @@ export async function mochaGlobalSetup(this: Mocha.Runner) { debug('No pid for compass-web'); } }); - await waitForCompassWebToBeReady(); + await waitForCompassWebToBeReady(context.sandboxUrl); } } @@ -124,19 +119,19 @@ export async function mochaGlobalSetup(this: Mocha.Runner) { fs.mkdirSync(LOG_PATH, { recursive: true }); - if (TEST_COMPASS_DESKTOP) { - if (TEST_COMPASS_DESKTOP_PACKAGED_APP) { + if (isTestingDesktop(context)) { + if (context.testPackagedApp) { debug('Building Compass before running the tests ...'); await buildCompass(); } else { debug('Preparing Compass before running the tests'); - if (!SKIP_NATIVE_MODULE_REBUILD) { + if (context.nativeModules) { debug('Rebuilding native modules ...'); await rebuildNativeModules(); } - if (!SKIP_COMPASS_DESKTOP_COMPILE) { + if (context.compile) { debug('Compiling Compass assets ...'); await compileCompassAssets(); } @@ -183,7 +178,7 @@ function spawnCompassWeb() { return proc; } -async function waitForCompassWebToBeReady() { +async function waitForCompassWebToBeReady(sandboxUrl: string) { let serverReady = false; const start = Date.now(); while (!serverReady) { @@ -194,7 +189,7 @@ async function waitForCompassWebToBeReady() { ); } try { - const res = await fetch(COMPASS_WEB_SANDBOX_URL); + const res = await fetch(sandboxUrl); serverReady = res.ok; debug('Web server ready:', serverReady); } catch (err) { diff --git a/packages/compass-e2e-tests/helpers/test-runner-paths.ts b/packages/compass-e2e-tests/helpers/test-runner-paths.ts new file mode 100644 index 00000000000..19b835abe7b --- /dev/null +++ b/packages/compass-e2e-tests/helpers/test-runner-paths.ts @@ -0,0 +1,36 @@ +import path from 'path'; +import electronPath from 'electron'; +import electronPackageJson from 'electron/package.json'; +// @ts-expect-error no types for this package +import { electronToChromium } from 'electron-to-chromium'; + +if (typeof electronPath !== 'string') { + throw new Error( + 'Running e2e tests in an unsupported runtime: `electronPath` is not a string' + ); +} + +export const E2E_WORKSPACE_PATH = path.dirname( + require.resolve('compass-e2e-tests/package.json') +); +// /packages/compass-e2e-tests +// /packages +// +export const MONOREPO_ROOT_PATH = path.resolve(E2E_WORKSPACE_PATH, '..', '..'); +export const COMPASS_DESKTOP_PATH = path.dirname( + require.resolve('mongodb-compass/package.json') +); +export const COMPASS_WEB_PATH = path.dirname( + require.resolve('@mongodb-js/compass-web/package.json') +); +export const LOG_PATH = path.resolve(E2E_WORKSPACE_PATH, '.log'); +export const LOG_OUTPUT_PATH = path.join(LOG_PATH, 'output'); +export const LOG_SCREENSHOTS_PATH = path.join(LOG_PATH, 'screenshots'); +export const LOG_COVERAGE_PATH = path.join(LOG_PATH, 'coverage'); +// Set coverage to the root of the monorepo so it will be generated for +// everything and not just packages/compass +export const COVERAGE_PATH = (process.env.COVERAGE = MONOREPO_ROOT_PATH); + +export const ELECTRON_PATH = electronPath; +export const ELECTRON_VERSION = electronPackageJson.version; +export const ELECTRON_CHROMIUM_VERSION = electronToChromium(ELECTRON_VERSION); diff --git a/packages/compass-e2e-tests/index.ts b/packages/compass-e2e-tests/index.ts index 7efbb9710b8..86a31aec1a1 100644 --- a/packages/compass-e2e-tests/index.ts +++ b/packages/compass-e2e-tests/index.ts @@ -2,14 +2,9 @@ import path from 'path'; import { glob } from 'glob'; import crossSpawn from 'cross-spawn'; - import Mocha from 'mocha'; import Debug from 'debug'; -import { - ALLOWED_RUNNER_ARGS, - MOCHA_BAIL, - MOCHA_DEFAULT_TIMEOUT, -} from './helpers/test-runner-context'; +import { context } from './helpers/test-runner-context'; import { abortRunner, mochaGlobalSetup, @@ -21,16 +16,6 @@ import logRunning from 'why-is-node-running'; const debug = Debug('compass-e2e-tests'); -for (const arg of process.argv) { - if (arg.startsWith('--') && !ALLOWED_RUNNER_ARGS.includes(arg)) { - throw Error( - `Unknown command argument "${arg}". Usage:\n\n npm run test ${ALLOWED_RUNNER_ARGS.map( - (arg) => `[${arg}]` - ).join(' ')}\n` - ); - } -} - const FIRST_TEST = 'tests/time-to-first-query.test.ts'; // Trigger a mocha abort on interrupt. This doesn't stop the test runner @@ -65,9 +50,9 @@ function terminateOnTimeout() { let runnerPromise: Promise | undefined; async function main() { - const e2eTestGroupsAmount = parseInt(process.env.E2E_TEST_GROUPS || '1'); - const e2eTestGroup = parseInt(process.env.E2E_TEST_GROUP || '1'); - const e2eTestFilter = process.env.E2E_TEST_FILTER || '*'; + const e2eTestGroupsAmount = context.testGroups; + const e2eTestGroup = context.testGroup; + const e2eTestFilter = context.testFilter; const tests = ( await glob(`tests/**/${e2eTestFilter}.{test,spec}.ts`, { @@ -99,9 +84,13 @@ async function main() { debug('Test files:', tests); + if (tests.length === 0) { + throw new Error('No tests to run'); + } + const mocha = new Mocha({ - timeout: MOCHA_DEFAULT_TIMEOUT, - bail: MOCHA_BAIL, + timeout: context.mochaTimeout, + bail: context.mochaBail, reporter: require.resolve('@mongodb-js/mocha-config-compass/reporter'), }); diff --git a/packages/compass-e2e-tests/package.json b/packages/compass-e2e-tests/package.json index 555dcc7d950..8cf111bbc2b 100644 --- a/packages/compass-e2e-tests/package.json +++ b/packages/compass-e2e-tests/package.json @@ -5,9 +5,10 @@ "description": "E2E test suite for Compass app that follows smoke tests / feature testing matrix", "scripts": { "clean": "node -e \"try { fs.rmdirSync('.mongodb', { recursive: true }); } catch (e) {}\" && node -e \"try { fs.rmdirSync('.log', { recursive: true }); } catch (e) {}\"", + "typecheck": "tsc -p tsconfig-lint.json --noEmit", "eslint": "eslint", "prettier": "prettier", - "lint": "npm run eslint . && npm run prettier -- --check .", + "lint": "npm run typecheck && npm run eslint . && npm run prettier -- --check .", "depcheck": "depcheck", "check": "npm run lint && npm run depcheck", "test": "xvfb-maybe --auto-servernum --server-args=\"-screen 0 1432x840x24\" -- ts-node index.ts", @@ -24,8 +25,8 @@ "stop-servers": "npm run stop-server-1 && npm run stop-server-2", "test-noserver": "env DEBUG=hadron*,mongo*,compass*,xvfb-maybe* npm run test -- --disable-start-stop --bail", "test-noserver-nocompile": "env DEBUG=hadron*,mongo*,compass*,xvfb-maybe* npm run test -- --no-native-modules --no-compile --disable-start-stop --bail", - "test-web": "env DEBUG=hadron*,mongo*,compass*,xvfb-maybe* npm run test -- --test-compass-web", - "test-web-noserver": "env DEBUG=hadron*,mongo*,compass*,xvfb-maybe* npm run test -- --test-compass-web --disable-start-stop --bail", + "test-web": "env DEBUG=hadron*,mongo*,compass*,xvfb-maybe* npm run test web", + "test-web-noserver": "env DEBUG=hadron*,mongo*,compass*,xvfb-maybe* npm run test web -- --disable-start-stop --bail", "coverage-merge": "nyc merge .log/coverage .nyc_output/coverage.json", "coverage-report": "npm run coverage-merge && nyc report" }, @@ -40,6 +41,7 @@ "@types/chai-as-promised": "^7.1.4", "@types/cross-spawn": "^6.0.2", "@types/puppeteer": "^5.4.4", + "@types/yargs": "^17.0.33", "@wdio/types": "^8.32.2", "bson": "^6.8.0", "chai": "^4.3.4", @@ -72,6 +74,7 @@ "ts-node": "^10.9.1", "webdriverio": "^8.40.0", "why-is-node-running": "^2.3.0", - "xvfb-maybe": "^0.2.1" + "xvfb-maybe": "^0.2.1", + "yargs": "^17.7.2" } } diff --git a/packages/compass-e2e-tests/tests/collection-bulk-delete.test.ts b/packages/compass-e2e-tests/tests/collection-bulk-delete.test.ts index e1a1934a635..eb93e94a822 100644 --- a/packages/compass-e2e-tests/tests/collection-bulk-delete.test.ts +++ b/packages/compass-e2e-tests/tests/collection-bulk-delete.test.ts @@ -11,6 +11,7 @@ import { import type { Compass } from '../helpers/compass'; import * as Selectors from '../helpers/selectors'; import { createNumbersCollection } from '../helpers/insert-data'; +import { context } from '../helpers/test-runner-context'; describe('Bulk Delete', function () { let compass: Compass; @@ -157,7 +158,7 @@ describe('Bulk Delete', function () { }); it('can export a delete query', async function () { - if (process.env.COMPASS_E2E_DISABLE_CLIPBOARD_USAGE === 'true') { + if (context.disableClipboardUsage) { this.skip(); } diff --git a/packages/compass-e2e-tests/tests/collection-documents-tab.test.ts b/packages/compass-e2e-tests/tests/collection-documents-tab.test.ts index b590acb7a0d..d662acc2afc 100644 --- a/packages/compass-e2e-tests/tests/collection-documents-tab.test.ts +++ b/packages/compass-e2e-tests/tests/collection-documents-tab.test.ts @@ -17,6 +17,7 @@ import { createNestedDocumentsCollection, createNumbersCollection, } from '../helpers/insert-data'; +import { context } from '../helpers/test-runner-context'; const { expect } = chai; @@ -559,7 +560,7 @@ FindIterable result = collection.find(filter);`); }); it('can copy a document from the contextual toolbar', async function () { - if (process.env.COMPASS_E2E_DISABLE_CLIPBOARD_USAGE === 'true') { + if (context.disableClipboardUsage) { this.skip(); } diff --git a/packages/compass-e2e-tests/tests/connection-form.test.ts b/packages/compass-e2e-tests/tests/connection-form.test.ts index afd961b8be6..111c074f761 100644 --- a/packages/compass-e2e-tests/tests/connection-form.test.ts +++ b/packages/compass-e2e-tests/tests/connection-form.test.ts @@ -12,6 +12,7 @@ import { import type { Compass } from '../helpers/compass'; import * as Selectors from '../helpers/selectors'; import type { ConnectFormState } from '../helpers/connect-form-state'; +import { context } from '../helpers/test-runner-context'; const DEFAULT_FLE_ENCRYPTED_FIELDS_MAP = "{\n/**\n * // Client-side encrypted fields map configuration:\n * 'database.collection': {\n * fields: [\n * {\n * keyId: UUID(\"...\"),\n * path: '...',\n * bsonType: '...',\n * queries: [{ queryType: 'equality' }]\n * }\n * ]\n * }\n */\n}\n"; @@ -618,7 +619,7 @@ describe('Connection form', function () { // save await browser.saveFavorite(favoriteName, 'Green'); - if (process.env.COMPASS_E2E_DISABLE_CLIPBOARD_USAGE !== 'true') { + if (!context.disableClipboardUsage) { // copy the connection string await browser.selectConnectionMenuItem( favoriteName, diff --git a/packages/compass-e2e-tests/tests/connection.test.ts b/packages/compass-e2e-tests/tests/connection.test.ts index 36b7fdc725b..5a431454de3 100644 --- a/packages/compass-e2e-tests/tests/connection.test.ts +++ b/packages/compass-e2e-tests/tests/connection.test.ts @@ -15,7 +15,7 @@ import { TEST_COMPASS_WEB, connectionNameFromString, DEFAULT_CONNECTION_NAME_1, - MONGODB_TEST_SERVER_PORT, + DEFAULT_CONNECTION_STRING_1, } from '../helpers/compass'; import type { Compass } from '../helpers/compass'; import type { ConnectFormState } from '../helpers/connect-form-state'; @@ -317,11 +317,11 @@ describe('Connection string', function () { }); it('fails for authentication errors', async function () { + const [protocol, url] = DEFAULT_CONNECTION_STRING_1.split('://'); // connect - await browser.connectWithConnectionString( - `mongodb://a:b@127.0.0.1:${MONGODB_TEST_SERVER_PORT}/test`, - { connectionStatus: 'failure' } - ); + await browser.connectWithConnectionString(`${protocol}://a:b@${url}`, { + connectionStatus: 'failure', + }); // check the error const toastTitle = await browser.$(Selectors.LGToastTitle).getText(); diff --git a/packages/compass-e2e-tests/tests/my-queries-tab.test.ts b/packages/compass-e2e-tests/tests/my-queries-tab.test.ts index 891577ab9ae..58d833dfdf1 100644 --- a/packages/compass-e2e-tests/tests/my-queries-tab.test.ts +++ b/packages/compass-e2e-tests/tests/my-queries-tab.test.ts @@ -15,8 +15,8 @@ import type { QueryOptions } from '../helpers/commands'; import type { Compass } from '../helpers/compass'; import * as Selectors from '../helpers/selectors'; import { createNumbersCollection } from '../helpers/insert-data'; - import { MongoClient } from 'mongodb'; +import { context as runnerContext } from '../helpers/test-runner-context'; async function openMenuForQueryItem( browser: CompassBrowser, @@ -221,7 +221,7 @@ describe('My Queries tab', function () { // copy to clipboard await browser.clickVisible(Selectors.SavedItemMenuItemCopy); - if (process.env.COMPASS_E2E_DISABLE_CLIPBOARD_USAGE !== 'true') { + if (!runnerContext.disableClipboardUsage) { await browser.waitUntil( async () => { const text = (await clipboard.read()) @@ -368,7 +368,7 @@ describe('My Queries tab', function () { // copy to clipboard await browser.clickVisible(Selectors.SavedItemMenuItemCopy); - if (process.env.COMPASS_E2E_DISABLE_CLIPBOARD_USAGE !== 'true') { + if (!runnerContext.disableClipboardUsage) { await browser.waitUntil( async () => { const text = (await clipboard.read()) diff --git a/packages/compass-e2e-tests/tests/protect-connection-strings.test.ts b/packages/compass-e2e-tests/tests/protect-connection-strings.test.ts index 111a57fb19a..c20ebc3476f 100644 --- a/packages/compass-e2e-tests/tests/protect-connection-strings.test.ts +++ b/packages/compass-e2e-tests/tests/protect-connection-strings.test.ts @@ -10,6 +10,7 @@ import clipboard from 'clipboardy'; import { expect } from 'chai'; import * as Selectors from '../helpers/selectors'; import type { ConnectFormState } from '../helpers/connect-form-state'; +import { context } from '../helpers/test-runner-context'; async function expectCopyConnectionStringToClipboard( browser: CompassBrowser, @@ -17,7 +18,7 @@ async function expectCopyConnectionStringToClipboard( expected: string ): Promise { const Sidebar = Selectors.Multiple; - if (process.env.COMPASS_E2E_DISABLE_CLIPBOARD_USAGE !== 'true') { + if (!context.disableClipboardUsage) { await browser.selectConnectionMenuItem( favoriteName, Sidebar.CopyConnectionStringItem From fa94752ecc5adde710d6d9a432406cf7014f4a60 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:44:14 +0000 Subject: [PATCH 09/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6407) Update report Co-authored-by: gribnoysup <5036933+gribnoysup@users.noreply.github.com> --- docs/tracking-plan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index c592d7a3e34..d77d36f64c7 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Mon, Oct 28, 2024 at 12:24 PM +Generated on Mon, Oct 28, 2024 at 12:44 PM ## Table of Contents From fb5e60815c1ffd7107fb12faa7c1301d69699085 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 28 Oct 2024 19:40:15 +0100 Subject: [PATCH 10/27] fix(deps): bump electron to 32.2.1 COMPASS-8399 (#6387) Also does the compass-specific bits of COMPASS-8253. Fixes: https://github.com/mongodb-js/compass/pull/6122 Fixes: https://github.com/mongodb-js/compass/pull/6334 Co-authored-by: Sergey Petushkov --- .evergreen/buildvariants-and-tasks.in.yml | 6 +- .evergreen/buildvariants-and-tasks.yml | 2 +- .evergreen/print-compass-env.js | 10 +- configs/webpack-config-compass/package.json | 4 +- package-lock.json | 3138 ++++------------- packages/atlas-service/package.json | 2 +- .../src/components/file-input.spec.tsx | 109 +- .../src/components/file-input.tsx | 35 +- packages/compass-components/src/index.ts | 2 + packages/compass-crud/package.json | 2 +- packages/compass-e2e-tests/package.json | 2 +- packages/compass-editor/src/editor.tsx | 5 + packages/compass-explain-plan/package.json | 2 +- packages/compass-find-in-page/package.json | 2 +- packages/compass-import-export/package.json | 2 +- .../src/components/export-modal.tsx | 2 +- packages/compass-indexes/package.json | 2 +- packages/compass-query-bar/package.json | 2 +- .../compass-schema-validation/package.json | 2 +- packages/compass-shell/package.json | 2 +- packages/compass-utils/package.json | 2 +- packages/compass-web/package.json | 2 +- .../src/stores/workspaces.spec.ts | 2 +- packages/compass/package.json | 2 +- packages/compass/src/app/index.tsx | 6 +- .../csfle-tab/csfle-tab.spec.tsx | 34 +- .../ssh-tunnel-identity.spec.tsx | 16 +- .../tls-ssl-tab/tls-ssl-tab.spec.tsx | 14 +- packages/connection-storage/package.json | 2 +- packages/hadron-build/lib/target.js | 7 +- packages/hadron-build/package.json | 6 +- packages/hadron-ipc/package.json | 2 +- scripts/package.json | 2 +- 33 files changed, 969 insertions(+), 2461 deletions(-) diff --git a/.evergreen/buildvariants-and-tasks.in.yml b/.evergreen/buildvariants-and-tasks.in.yml index a0ae901cefd..4a421254a0b 100644 --- a/.evergreen/buildvariants-and-tasks.in.yml +++ b/.evergreen/buildvariants-and-tasks.in.yml @@ -28,10 +28,10 @@ const PACKAGE_BUILD_VARIANTS = [ name: 'package-ubuntu', display_name: 'Package Ubuntu', - // # NOTE: We are packaging on Ubuntu 16.04 in order to use glibc 2.23 + // # NOTE: We are packaging on Ubuntu 18.04 in order to use glibc 2.27 // # when compiling/re-building addons. This ensures compatibility with other - // # debian platforms that have glibc 2.23 or newer. - run_on: 'ubuntu1604-large', + // # debian platforms that have glibc 2.27 or newer. + run_on: 'ubuntu1804-large', silk_asset_group: 'compass-ubuntu', }, { diff --git a/.evergreen/buildvariants-and-tasks.yml b/.evergreen/buildvariants-and-tasks.yml index 12e0c34f457..a81034c3551 100644 --- a/.evergreen/buildvariants-and-tasks.yml +++ b/.evergreen/buildvariants-and-tasks.yml @@ -35,7 +35,7 @@ buildvariants: expansions: silk_asset_group: compass-ubuntu display_name: Package Ubuntu - run_on: ubuntu1604-large + run_on: ubuntu1804-large tasks: - name: package-compass - name: package-compass-isolated diff --git a/.evergreen/print-compass-env.js b/.evergreen/print-compass-env.js index b9efa68f58f..1497e9e642c 100755 --- a/.evergreen/print-compass-env.js +++ b/.evergreen/print-compass-env.js @@ -71,7 +71,7 @@ function printCompassEnv() { // To build node modules on linux post electron 13 we need a newer c++ // compiler version and at least python v3.9, this adds it. // https://jira.mongodb.org/browse/COMPASS-5150 - pathsToPrepend.unshift('/opt/mongodbtoolchain/v3/bin'); + pathsToPrepend.unshift('/opt/mongodbtoolchain/v4/bin'); } PATH = maybePrependPaths(PATH, pathsToPrepend); @@ -111,12 +111,8 @@ function printCompassEnv() { process.env.EVERGREEN_REVISION_ORDER_ID ); - if (process.platform === 'darwin') { - // Without this, kerberos 2.1.1 is broken on macOS, but this flag is only - // really relevant for Linux. - // https://jira.mongodb.org/browse/NODE-6320 - printVar('GYP_DEFINES', 'kerberos_use_rtld=false'); - } + // https://jira.mongodb.org/browse/NODE-6320 + printVar('GYP_DEFINES', `kerberos_use_rtld=${process.platform === 'linux'}`); } printCompassEnv(); diff --git a/configs/webpack-config-compass/package.json b/configs/webpack-config-compass/package.json index 43ab0dcffa1..4dbf25fd636 100644 --- a/configs/webpack-config-compass/package.json +++ b/configs/webpack-config-compass/package.json @@ -68,12 +68,12 @@ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "babel-loader": "^8.2.5", "babel-plugin-istanbul": "^5.2.0", - "browserslist": "^4.24.0", + "browserslist": "^4.24.2", "chalk": "^4.1.2", "cli-progress": "^3.9.1", "core-js": "^3.17.3", "css-loader": "^4.3.0", - "electron": "^30.5.1", + "electron": "^32.2.1", "html-webpack-plugin": "^5.6.0", "less": "^3.13.1", "less-loader": "^10.0.1", diff --git a/package-lock.json b/package-lock.json index 3e979124e1b..d6eb2b175fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -511,12 +511,12 @@ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "babel-loader": "^8.2.5", "babel-plugin-istanbul": "^5.2.0", - "browserslist": "^4.24.0", + "browserslist": "^4.24.2", "chalk": "^4.1.2", "cli-progress": "^3.9.1", "core-js": "^3.17.3", "css-loader": "^4.3.0", - "electron": "^30.5.1", + "electron": "^32.2.1", "html-webpack-plugin": "^5.6.0", "less": "^3.13.1", "less-loader": "^10.0.1", @@ -4252,7 +4252,7 @@ "node_modules/@electron/node-gyp": { "version": "10.2.0-electron.1", "resolved": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", - "integrity": "sha512-CrYo6TntjpoMO1SHjl5Pa/JoUsECNqNdB7Kx49WLQpWzPw53eEITJ2Hs9fh/ryUYDn4pxZz11StaBYBrLFJdqg==", + "integrity": "sha512-lBSgDMQqt7QWMuIjS8zNAq5FI5o5RVBAcJUGWGI6GgoQITJt3msAkUrHp8YHj3RTVE+h70ndqMGqURjp3IfRyQ==", "license": "MIT", "dependencies": { "env-paths": "^2.2.0", @@ -4273,41 +4273,6 @@ "node": ">=12.13.0" } }, - "node_modules/@electron/node-gyp/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@electron/node-gyp/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@electron/node-gyp/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/@electron/node-gyp/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -4317,35 +4282,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/@electron/node-gyp/node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@electron/node-gyp/node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -4366,69 +4302,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@electron/node-gyp/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "license": "MIT", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@electron/node-gyp/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@electron/node-gyp/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron/node-gyp/node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "license": "ISC", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@electron/node-gyp/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -4441,23 +4314,6 @@ "node": ">=10" } }, - "node_modules/@electron/node-gyp/node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "license": "MIT", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, "node_modules/@electron/node-gyp/node_modules/proc-log": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", @@ -4467,56 +4323,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@electron/node-gyp/node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "license": "MIT", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@electron/node-gyp/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "license": "ISC", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@electron/node-gyp/node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "license": "ISC", - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@electron/node-gyp/node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@electron/rebuild": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz", @@ -4720,6 +4526,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.1.2.tgz", "integrity": "sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA==", + "license": "MIT", "peerDependencies": { "electron": ">= 13.0.0" } @@ -4982,7 +4789,8 @@ "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "license": "MIT" }, "node_modules/@hapi/hoek": { "version": "9.2.0", @@ -9146,19 +8954,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@npmcli/arborist/node_modules/@npmcli/node-gyp": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", @@ -9221,26 +9016,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@npmcli/arborist/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/@npmcli/arborist/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -9389,32 +9164,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@npmcli/arborist/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@npmcli/arborist/node_modules/ignore-walk": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", @@ -9442,145 +9191,6 @@ "node": ">=12" } }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen/node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen/node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/make-fetch-happen/node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@npmcli/arborist/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -9600,33 +9210,6 @@ "node": ">=8" } }, - "node_modules/@npmcli/arborist/node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/@npmcli/arborist/node_modules/minipass-fetch/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@npmcli/arborist/node_modules/node-gyp": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", @@ -9882,19 +9465,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/@npmcli/arborist/node_modules/ssri": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", @@ -9951,9 +9521,10 @@ } }, "node_modules/@npmcli/fs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", - "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "license": "ISC", "dependencies": { "@gar/promisify": "^1.1.3", "semver": "^7.3.5" @@ -10138,19 +9709,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/node-gyp": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", @@ -10185,26 +9743,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/@npmcli/metavuln-calculator/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -10322,32 +9860,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@npmcli/metavuln-calculator/node_modules/ignore-walk": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", @@ -10375,127 +9887,6 @@ "node": ">=12" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/make-fetch-happen/node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/make-fetch-happen/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/make-fetch-happen/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/make-fetch-happen/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/make-fetch-happen/node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/make-fetch-happen/node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@npmcli/metavuln-calculator/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -10515,33 +9906,6 @@ "node": ">=8" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/minipass-fetch/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@npmcli/metavuln-calculator/node_modules/node-gyp": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", @@ -10743,19 +10107,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/@npmcli/metavuln-calculator/node_modules/ssri": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", @@ -13226,6 +12577,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@types/appdmg": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@types/appdmg/-/appdmg-0.5.5.tgz", + "integrity": "sha512-G+n6DgZTZFOteITE30LnWj+HRVIGr7wMlAiLWOO02uJFWVEitaPU9JVXm9wJokkgshBawb2O1OykdcsmkkZfgg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", @@ -17144,9 +16505,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "funding": [ { "type": "opencollective", @@ -17161,11 +16522,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -17480,9 +16842,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001663", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", - "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", "funding": [ { "type": "opencollective", @@ -17496,7 +16858,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/caseless": { "version": "0.12.0", @@ -18705,7 +18068,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -20803,10 +20165,11 @@ } }, "node_modules/electron": { - "version": "30.5.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-30.5.1.tgz", - "integrity": "sha512-AhL7+mZ8Lg14iaNfoYTkXQ2qee8mmsQyllKdqxlpv/zrKgfxz6jNVtcRRbQtLxtF8yzcImWdfTQROpYiPumdbw==", + "version": "32.2.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.1.tgz", + "integrity": "sha512-GCPI/5hU34pPcNltNpz+uylhhuTm9BM0N8RmrbVgaWBodLSmmcCkvpgN0BseKhO6IwQOPzWaovrcZ/nPIpfGaQ==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^20.9.0", @@ -20903,25 +20266,6 @@ "node": ">= 10.0.0" } }, - "node_modules/electron-installer-dmg": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-4.0.0.tgz", - "integrity": "sha512-g3W6XnyUa7QGrAF7ViewHdt6bXV2KYU1Pm1CY3pZpp+H6mOjCHHAhf/iZAxtaX1ERCb+SQHz7xSsAHuNH9I8ZQ==", - "optional": true, - "dependencies": { - "debug": "^4.3.2", - "minimist": "^1.1.1" - }, - "bin": { - "electron-installer-dmg": "bin/electron-installer-dmg.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "optionalDependencies": { - "appdmg": "^0.6.4" - } - }, "node_modules/electron-mocha": { "version": "12.2.0", "resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-12.2.0.tgz", @@ -21179,9 +20523,10 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.28", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", - "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==" + "version": "1.5.42", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.42.tgz", + "integrity": "sha512-gIfKavKDw1mhvic9nbzA5lZw8QSHpdMwLwXc0cWidQz9B15pDoDdDH4boIatuFfeoCatb3a/NGL6CYRVFxGZ9g==", + "license": "ISC" }, "node_modules/electron-window": { "version": "0.8.1", @@ -21245,6 +20590,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "license": "MIT", "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -21265,6 +20611,7 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -21276,6 +20623,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "license": "MIT", "engines": { "node": ">=10.6.0" } @@ -21284,6 +20632,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" }, @@ -21298,6 +20647,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -21311,6 +20661,7 @@ "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -21335,6 +20686,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -21343,6 +20695,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -21354,6 +20707,7 @@ "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" } @@ -21362,6 +20716,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -21854,9 +21209,10 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -27850,11 +27206,12 @@ "dev": true }, "node_modules/kerberos": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.0.tgz", - "integrity": "sha512-yz6iP+34Qp8XjwfmJ56SD9coeSfLIoH0JBrLi6Iw76FdwsRJoNw3nCgfpzENkfGyb/dgRqzYn3IMXLj7A43Vlg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.1.1.tgz", + "integrity": "sha512-414s1G/qgK2T60cXnZsHbtRj8Ynjg0DBlQWeY99tkyqQ2e8vGgFHvxRdvjTlLHg/SxBA0zLQcGE6Pk6Dfq/BCA==", "hasInstallScript": true, "license": "Apache-2.0", + "optional": true, "dependencies": { "bindings": "^1.5.0", "node-addon-api": "^6.1.0", @@ -27867,7 +27224,8 @@ "node_modules/kerberos/node_modules/node-addon-api": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "optional": true }, "node_modules/key-tree-store": { "version": "1.3.0", @@ -30603,267 +29961,238 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/make-fetch-happen": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", - "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", - "dev": true, + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "license": "ISC", "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", - "proc-log": "^4.2.0", "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", - "dev": true, - "license": "ISC", + "node_modules/make-fetch-happen/node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "license": "MIT", "dependencies": { - "semver": "^7.3.5" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, "node_modules/make-fetch-happen/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, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "18.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", - "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", - "dev": true, + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "license": "ISC", "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "p-map": "^4.0.0", - "ssri": "^10.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "unique-filename": "^2.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/make-fetch-happen/node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, + "node_modules/make-fetch-happen/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">=14" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/make-fetch-happen/node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "license": "ISC", + "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "license": "MIT", "dependencies": { - "minipass": "^7.0.3" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/make-fetch-happen/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "node": ">= 6" } }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/make-fetch-happen/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", + "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, - "node_modules/make-fetch-happen/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "license": "ISC", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" } }, - "node_modules/make-fetch-happen/node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dev": true, + "node_modules/make-fetch-happen/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "license": "ISC", "dependencies": { - "minipass": "^7.0.3" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" } }, "node_modules/make-fetch-happen/node_modules/minipass-fetch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", - "dev": true, + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "license": "MIT", "dependencies": { - "minipass": "^7.0.3", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" }, "optionalDependencies": { "encoding": "^0.1.13" } }, - "node_modules/make-fetch-happen/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/make-fetch-happen/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, - "license": "ISC", - "engines": { - "node": ">=14" + "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">= 10" } }, "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", - "dev": true, + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "license": "ISC", "dependencies": { - "minipass": "^7.0.3" + "minipass": "^3.1.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/make-fetch-happen/node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", "license": "ISC", "dependencies": { - "unique-slug": "^4.0.0" + "unique-slug": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/make-fetch-happen/node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/map-obj": { @@ -31733,7 +31062,6 @@ "version": "1.7.2", "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.2.tgz", "integrity": "sha512-eoLFZvCIjcwijYJdxvYupj1c+55VAVm0o4gBJjrcDxxmmpm+bC4Ix9ayZbyhQdVXDZAGDi03NA0GghXjBVXnxg==", - "license": "Apache-2.0", "dependencies": { "mongodb-connection-string-url": "^3.0.0" } @@ -32460,9 +31788,10 @@ "dev": true }, "node_modules/nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "license": "MIT", "optional": true }, "node_modules/nanoid": { @@ -32585,9 +31914,10 @@ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/node-abi": { - "version": "3.68.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.68.0.tgz", - "integrity": "sha512-7vbj10trelExNjFSBm5kTvZXXa7pZyKWx9RCKIyqe6I9Ev3IzGpQoqBP3a+cOdxY+pWj6VkP28n/2wWysBHD/A==", + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "license": "MIT", "dependencies": { "semver": "^7.3.5" }, @@ -32708,6 +32038,19 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/node-gyp/node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/node-gyp/node_modules/abbrev": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", @@ -32728,6 +32071,30 @@ "balanced-match": "^1.0.0" } }, + "node_modules/node-gyp/node_modules/cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/node-gyp/node_modules/foreground-child": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", @@ -32745,6 +32112,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/node-gyp/node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/node-gyp/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -32792,6 +32172,37 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", + "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/node-gyp/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -32818,6 +32229,37 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/node-gyp/node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/node-gyp/node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, "node_modules/node-gyp/node_modules/nopt": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", @@ -32857,6 +32299,45 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/node-gyp/node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-gyp/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-gyp/node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/node-gyp/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -41636,9 +41117,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "funding": [ { "type": "opencollective", @@ -41653,9 +41134,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -43561,7 +43043,7 @@ "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/oidc-plugin": "^1.1.1", "compass-preferences-model": "^2.29.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.23", "lodash": "^4.17.21", @@ -43742,7 +43224,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-devtools-installer": "^3.2.0", "electron-dl": "^3.5.0", "electron-mocha": "^12.2.0", @@ -44481,7 +43963,7 @@ "chai": "^4.1.2", "chai-as-promised": "^7.1.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -44539,9 +44021,6 @@ }, "packages/compass-e2e-tests": { "version": "1.27.3", - "bin": { - "compass-e2e-tests": "index.ts" - }, "devDependencies": { "@electron/rebuild": "^3.7.0", "@mongodb-js/compass-test-server": "^0.1.22", @@ -44563,7 +44042,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-to-chromium": "^1.5.41", "eslint": "^7.25.0", "glob": "^10.2.5", @@ -44638,13 +44117,6 @@ "node": ">=12" } }, - "packages/compass-e2e-tests/node_modules/electron-to-chromium": { - "version": "1.5.41", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", - "integrity": "sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==", - "dev": true, - "license": "ISC" - }, "packages/compass-e2e-tests/node_modules/execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -45053,7 +44525,7 @@ "@types/d3-hierarchy": "^3.1.2", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -45250,7 +44722,7 @@ "@types/sinon-chai": "^3.2.5", "chai": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -45600,7 +45072,7 @@ "bson": "^6.8.0", "compass-preferences-model": "^2.29.1", "debug": "^4.3.4", - "electron": "^30.5.1", + "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", "hadron-document": "^8.6.4", "hadron-ipc": "^3.2.23", @@ -45720,7 +45192,7 @@ "@types/numeral": "^2.0.5", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -46132,7 +45604,7 @@ "@mongodb-js/tsconfig-compass": "^1.0.5", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -46342,7 +45814,7 @@ "@types/enzyme": "^3.10.14", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -46532,7 +46004,7 @@ "@types/enzyme": "^3.10.14", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -46897,7 +46369,7 @@ "license": "SSPL", "dependencies": { "@electron/remote": "^2.1.2", - "electron": "^30.5.1" + "electron": "^32.2.1" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -46996,7 +46468,7 @@ "debug": "^4.3.4", "depcheck": "^1.4.1", "dns-query": "^0.11.2", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "events": "^3.3.0", "express": "^4.21.1", @@ -47418,84 +46890,6 @@ "url": "https://opencollective.com/sinon" } }, - "packages/compass/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dev": true, - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "packages/compass/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "packages/compass/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "packages/compass/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, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "packages/compass/node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "packages/compass/node_modules/debug": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", @@ -47513,178 +46907,26 @@ } } }, - "packages/compass/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/compass/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "packages/compass/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "packages/compass/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "packages/compass/node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dev": true, - "license": "ISC", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "packages/compass/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "packages/compass/node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "packages/compass/node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "packages/compass/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "packages/compass/node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dev": true, - "license": "ISC", + "packages/compass/node_modules/kerberos": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.0.tgz", + "integrity": "sha512-yz6iP+34Qp8XjwfmJ56SD9coeSfLIoH0JBrLi6Iw76FdwsRJoNw3nCgfpzENkfGyb/dgRqzYn3IMXLj7A43Vlg==", + "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "unique-slug": "^3.0.0" + "bindings": "^1.5.0", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=12.9.0" } }, - "packages/compass/node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "packages/compass/node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "license": "MIT" }, "packages/connection-form": { "name": "@mongodb-js/connection-form", @@ -47891,7 +47133,7 @@ "@mongodb-js/connection-info": "^0.9.1", "bson": "^6.8.0", "compass-preferences-model": "^2.29.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.23", "keytar": "^7.9.0", @@ -48045,6 +47287,29 @@ "eslint": ">=5" } }, + "packages/data-service/node_modules/kerberos": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.0.tgz", + "integrity": "sha512-yz6iP+34Qp8XjwfmJ56SD9coeSfLIoH0JBrLi6Iw76FdwsRJoNw3nCgfpzENkfGyb/dgRqzYn3IMXLj7A43Vlg==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.2" + }, + "engines": { + "node": ">=12.9.0" + } + }, + "packages/data-service/node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT" + }, "packages/data-service/node_modules/sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -48491,7 +47756,7 @@ "debug": "^4.3.4", "del": "^2.0.2", "download": "^8.0.0", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-packager": "^15.5.1", "electron-packager-plugin-non-proprietary-codecs-ffmpeg": "^1.0.2", "flatnest": "^1.0.0", @@ -48505,7 +47770,7 @@ "lodash": "^4.17.21", "moment": "^2.29.4", "mongodb-js-cli": "^0.0.3", - "node-abi": "^3.68.0", + "node-abi": "^3.71.0", "normalize-package-data": "^2.3.5", "parse-github-repo-url": "^1.3.0", "semver": "^7.6.2", @@ -48531,7 +47796,7 @@ }, "optionalDependencies": { "electron-installer-debian": "^3.2.0", - "electron-installer-dmg": "^4.0.0", + "electron-installer-dmg": "^5.0.1", "electron-installer-redhat": "^2.0.0", "electron-winstaller": "^5.1.0" } @@ -48663,6 +47928,27 @@ "semver": "bin/semver.js" } }, + "packages/hadron-build/node_modules/electron-installer-dmg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-5.0.1.tgz", + "integrity": "sha512-qOa1aAQdX57C+vzhDk3549dd/PRlNL4F8y736MTD1a43qptD+PvHY97Bo9gSf+OZ8iUWE7BrYSpk/FgLUe40EA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@types/appdmg": "^0.5.5", + "debug": "^4.3.2", + "minimist": "^1.2.7" + }, + "bin": { + "electron-installer-dmg": "dist/electron-installer-dmg-bin.js" + }, + "engines": { + "node": ">= 16" + }, + "optionalDependencies": { + "appdmg": "^0.6.4" + } + }, "packages/hadron-build/node_modules/electron-installer-redhat": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-2.0.0.tgz", @@ -48920,6 +48206,16 @@ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, + "packages/hadron-build/node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "packages/hadron-build/node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -49324,7 +48620,7 @@ "license": "SSPL", "dependencies": { "debug": "^4.3.4", - "electron": "^30.5.1", + "electron": "^32.2.1", "is-electron-renderer": "^2.0.1" }, "devDependencies": { @@ -50290,7 +49586,7 @@ "@babel/core": "^7.24.3", "@mongodb-js/monorepo-tools": "^1.1.1", "commander": "^11.0.0", - "electron": "^30.5.1", + "electron": "^32.2.1", "jsdom": "^24.1.3", "make-fetch-happen": "^10.2.1", "pacote": "^11.3.5", @@ -50311,103 +49607,6 @@ "prettier": "^2.7.1" } }, - "scripts/node_modules/@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "scripts/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "engines": { - "node": ">= 10" - } - }, - "scripts/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "scripts/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==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "scripts/node_modules/cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "scripts/node_modules/cacache/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "scripts/node_modules/cacache/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "scripts/node_modules/commander": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", @@ -50479,32 +49678,6 @@ "node": ">=18" } }, - "scripts/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "scripts/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "scripts/node_modules/jsdom": { "version": "24.1.3", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.3.tgz", @@ -50579,57 +49752,6 @@ "node": ">= 14" } }, - "scripts/node_modules/lru-cache": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", - "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==", - "engines": { - "node": ">=12" - } - }, - "scripts/node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "license": "ISC", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "scripts/node_modules/minipass-fetch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", - "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, "scripts/node_modules/nwsapi": { "version": "2.2.12", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", @@ -50646,30 +49768,6 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "scripts/node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "scripts/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "scripts/node_modules/tough-cookie": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", @@ -53228,7 +52326,7 @@ }, "@electron/node-gyp": { "version": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", - "integrity": "sha512-CrYo6TntjpoMO1SHjl5Pa/JoUsECNqNdB7Kx49WLQpWzPw53eEITJ2Hs9fh/ryUYDn4pxZz11StaBYBrLFJdqg==", + "integrity": "sha512-lBSgDMQqt7QWMuIjS8zNAq5FI5o5RVBAcJUGWGI6GgoQITJt3msAkUrHp8YHj3RTVE+h70ndqMGqURjp3IfRyQ==", "from": "@electron/node-gyp@git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", "requires": { "env-paths": "^2.2.0", @@ -53243,28 +52341,6 @@ "which": "^2.0.2" }, "dependencies": { - "@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -53273,31 +52349,6 @@ "balanced-match": "^1.0.0" } }, - "cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - } - }, "glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -53310,53 +52361,6 @@ "once": "^1.3.0" } }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" - }, - "make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - } - }, "minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -53365,55 +52369,10 @@ "brace-expansion": "^2.0.1" } }, - "minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, "proc-log": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==" - }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "requires": { - "minipass": "^3.1.1" - } - }, - "unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "requires": { - "unique-slug": "^3.0.0" - } - }, - "unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "requires": { - "imurmurhash": "^0.1.4" - } } } }, @@ -55974,7 +54933,7 @@ "chai": "^4.3.6", "compass-preferences-model": "^2.29.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.23", @@ -56630,7 +55589,7 @@ "chai-as-promised": "^7.1.1", "compass-preferences-model": "^2.29.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -56810,7 +55769,7 @@ "d3-flextree": "^2.1.2", "d3-hierarchy": "^3.1.2", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -56983,7 +55942,7 @@ "@types/sinon-chai": "^3.2.5", "chai": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -57255,7 +56214,7 @@ "compass-preferences-model": "^2.29.1", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -57332,7 +56291,7 @@ "chai": "^4.2.0", "compass-preferences-model": "^2.29.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -57610,7 +56569,7 @@ "chai": "^4.2.0", "compass-preferences-model": "^2.29.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -57823,7 +56782,7 @@ "chai": "^4.2.0", "compass-preferences-model": "^2.29.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -57857,7 +56816,7 @@ "@mongodb-js/tsconfig-compass": "^1.0.5", "commander": "^11.0.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "jsdom": "^24.1.3", "make-fetch-happen": "^10.2.1", @@ -57869,83 +56828,6 @@ "typescript": "^5.0.4" }, "dependencies": { - "@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, "commander": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", @@ -57998,25 +56880,6 @@ "whatwg-encoding": "^3.1.1" } }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "jsdom": { "version": "24.1.3", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.3.tgz", @@ -58073,45 +56936,6 @@ } } }, - "lru-cache": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz", - "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==" - }, - "make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - } - }, - "minipass-fetch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", - "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, "nwsapi": { "version": "2.2.12", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", @@ -58125,24 +56949,6 @@ "entities": "^4.4.0" } }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "requires": { - "minipass": "^3.1.1" - } - }, "tough-cookie": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", @@ -58323,7 +57129,7 @@ "chai": "^4.2.0", "compass-preferences-model": "^2.29.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -58657,7 +57463,7 @@ "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "gen-esm-wrapper": "^1.1.0", "mocha": "^10.2.0", @@ -58740,7 +57546,7 @@ "debug": "^4.3.4", "depcheck": "^1.4.1", "dns-query": "^0.11.2", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "events": "^3.3.0", "express": "^4.21.1", @@ -59330,7 +58136,7 @@ "chai": "^4.3.6", "compass-preferences-model": "^2.29.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.23", @@ -60519,13 +59325,13 @@ "@types/webpack-bundle-analyzer": "^4.7.0", "babel-loader": "^8.2.5", "babel-plugin-istanbul": "^5.2.0", - "browserslist": "^4.24.0", + "browserslist": "^4.24.2", "chalk": "^4.1.2", "cli-progress": "^3.9.1", "core-js": "^3.17.3", "css-loader": "^4.3.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "html-webpack-plugin": "^5.6.0", "less": "^3.13.1", @@ -61067,15 +59873,6 @@ "npm-normalize-package-bin": "^3.0.0" } }, - "@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, "@npmcli/node-gyp": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", @@ -61121,19 +59918,6 @@ } } }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -61243,25 +60027,6 @@ "lru-cache": "^7.5.1" } }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "ignore-walk": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", @@ -61280,117 +60045,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==" }, - "make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "dependencies": { - "@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - } - }, - "cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "requires": { - "minipass": "^3.1.1" - } - }, - "unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "requires": { - "unique-slug": "^3.0.0" - } - }, - "unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "requires": { - "imurmurhash": "^0.1.4" - } - } - } - }, "minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -61404,27 +60058,6 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.1.tgz", "integrity": "sha512-V9esFpNbK0arbN3fm2sxDKqMYgIp7XtVdE4Esj+PE4Qaaxdg1wIw48ITQIOn1sc8xXSmUviVL3cyjMqPlrVkiA==" }, - "minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, "node-gyp": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", @@ -61618,16 +60251,6 @@ "process": "^0.11.10" } }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, "ssri": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", @@ -61671,9 +60294,9 @@ } }, "@npmcli/fs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", - "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "requires": { "@gar/promisify": "^1.1.3", "semver": "^7.3.5" @@ -61812,15 +60435,6 @@ "npm-normalize-package-bin": "^3.0.0" } }, - "@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, "@npmcli/node-gyp": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", @@ -61846,19 +60460,6 @@ "which": "^3.0.0" } }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -61952,25 +60553,6 @@ "lru-cache": "^7.5.1" } }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, "ignore-walk": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", @@ -61989,105 +60571,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==" }, - "make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "dependencies": { - "@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - } - }, - "cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "requires": { - "minipass": "^3.1.1" - } - }, - "unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "requires": { - "unique-slug": "^3.0.0" - } - }, - "unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "requires": { - "imurmurhash": "^0.1.4" - } - } - } - }, "minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -62101,27 +60584,6 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.1.tgz", "integrity": "sha512-V9esFpNbK0arbN3fm2sxDKqMYgIp7XtVdE4Esj+PE4Qaaxdg1wIw48ITQIOn1sc8xXSmUviVL3cyjMqPlrVkiA==" }, - "minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, "node-gyp": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", @@ -62274,16 +60736,6 @@ "npm-normalize-package-bin": "^3.0.0" } }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, "ssri": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", @@ -64210,6 +62662,15 @@ } } }, + "@types/appdmg": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@types/appdmg/-/appdmg-0.5.5.tgz", + "integrity": "sha512-G+n6DgZTZFOteITE30LnWj+HRVIGr7wMlAiLWOO02uJFWVEitaPU9JVXm9wJokkgshBawb2O1OykdcsmkkZfgg==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", @@ -67508,14 +65969,14 @@ } }, "browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "requires": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "update-browserslist-db": "^1.1.1" } }, "bson": { @@ -67771,9 +66232,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001663", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", - "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==" + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==" }, "caseless": { "version": "0.12.0", @@ -68267,7 +66728,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-to-chromium": "^1.5.41", "eslint": "^7.25.0", "glob": "^10.2.5", @@ -68331,12 +66792,6 @@ "wrap-ansi": "^7.0.0" } }, - "electron-to-chromium": { - "version": "1.5.41", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", - "integrity": "sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==", - "dev": true - }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -70685,9 +69140,9 @@ } }, "electron": { - "version": "30.5.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-30.5.1.tgz", - "integrity": "sha512-AhL7+mZ8Lg14iaNfoYTkXQ2qee8mmsQyllKdqxlpv/zrKgfxz6jNVtcRRbQtLxtF8yzcImWdfTQROpYiPumdbw==", + "version": "32.2.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.1.tgz", + "integrity": "sha512-GCPI/5hU34pPcNltNpz+uylhhuTm9BM0N8RmrbVgaWBodLSmmcCkvpgN0BseKhO6IwQOPzWaovrcZ/nPIpfGaQ==", "requires": { "@electron/get": "^2.0.0", "@types/node": "^20.9.0", @@ -70845,17 +69300,6 @@ "yargs": "^16.0.2" } }, - "electron-installer-dmg": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-4.0.0.tgz", - "integrity": "sha512-g3W6XnyUa7QGrAF7ViewHdt6bXV2KYU1Pm1CY3pZpp+H6mOjCHHAhf/iZAxtaX1ERCb+SQHz7xSsAHuNH9I8ZQ==", - "optional": true, - "requires": { - "appdmg": "^0.6.4", - "debug": "^4.3.2", - "minimist": "^1.1.1" - } - }, "electron-mocha": { "version": "12.2.0", "resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-12.2.0.tgz", @@ -71062,9 +69506,9 @@ } }, "electron-to-chromium": { - "version": "1.5.28", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", - "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==" + "version": "1.5.42", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.42.tgz", + "integrity": "sha512-gIfKavKDw1mhvic9nbzA5lZw8QSHpdMwLwXc0cWidQz9B15pDoDdDH4boIatuFfeoCatb3a/NGL6CYRVFxGZ9g==" }, "electron-window": { "version": "0.8.1", @@ -71542,9 +69986,9 @@ } }, "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" }, "escape-goat": { "version": "2.1.1", @@ -74322,9 +72766,9 @@ "del": "^2.0.2", "depcheck": "^1.4.1", "download": "^8.0.0", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-installer-debian": "^3.2.0", - "electron-installer-dmg": "^4.0.0", + "electron-installer-dmg": "^5.0.1", "electron-installer-redhat": "^2.0.0", "electron-packager": "^15.5.1", "electron-packager-plugin-non-proprietary-codecs-ffmpeg": "^1.0.2", @@ -74343,7 +72787,7 @@ "mocha": "^10.2.0", "moment": "^2.29.4", "mongodb-js-cli": "^0.0.3", - "node-abi": "^3.68.0", + "node-abi": "^3.71.0", "normalize-package-data": "^2.3.5", "parse-github-repo-url": "^1.3.0", "plist": "^3.0.1", @@ -74461,6 +72905,18 @@ } } }, + "electron-installer-dmg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-5.0.1.tgz", + "integrity": "sha512-qOa1aAQdX57C+vzhDk3549dd/PRlNL4F8y736MTD1a43qptD+PvHY97Bo9gSf+OZ8iUWE7BrYSpk/FgLUe40EA==", + "optional": true, + "requires": { + "@types/appdmg": "^0.5.5", + "appdmg": "^0.6.4", + "debug": "^4.3.2", + "minimist": "^1.2.7" + } + }, "electron-installer-redhat": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-2.0.0.tgz", @@ -74673,6 +73129,12 @@ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "optional": true + }, "mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -75028,7 +73490,7 @@ "chai": "^4.3.6", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "is-electron-renderer": "^2.0.1", "mocha": "^10.2.0", @@ -76883,9 +75345,10 @@ "dev": true }, "kerberos": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.0.tgz", - "integrity": "sha512-yz6iP+34Qp8XjwfmJ56SD9coeSfLIoH0JBrLi6Iw76FdwsRJoNw3nCgfpzENkfGyb/dgRqzYn3IMXLj7A43Vlg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.1.1.tgz", + "integrity": "sha512-414s1G/qgK2T60cXnZsHbtRj8Ynjg0DBlQWeY99tkyqQ2e8vGgFHvxRdvjTlLHg/SxBA0zLQcGE6Pk6Dfq/BCA==", + "optional": true, "requires": { "bindings": "^1.5.0", "node-addon-api": "^6.1.0", @@ -76895,7 +75358,8 @@ "node-addon-api": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "optional": true } } }, @@ -79190,183 +77654,168 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "make-fetch-happen": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", - "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", - "dev": true, + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "requires": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", - "proc-log": "^4.2.0", "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" }, "dependencies": { - "@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", - "dev": true, + "@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", "requires": { - "semver": "^7.3.5" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" } }, "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" } }, "cacache": { - "version": "18.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", - "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", - "dev": true, + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "requires": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "p-map": "^4.0.0", - "ssri": "^10.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", "tar": "^6.1.11", - "unique-filename": "^3.0.0" - } - }, - "foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "unique-filename": "^2.0.0" } }, - "fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "requires": { - "minipass": "^7.0.3" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, - "glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" } }, - "jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" + "agent-base": "6", + "debug": "4" } }, "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" }, "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } }, - "minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true - }, - "minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dev": true, - "requires": { - "minipass": "^7.0.3" - } - }, "minipass-fetch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", - "dev": true, + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "requires": { "encoding": "^0.1.13", - "minipass": "^7.0.3", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" } }, - "proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "dev": true - }, - "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 + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } }, "ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", - "dev": true, + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "requires": { - "minipass": "^7.0.3" + "minipass": "^3.1.1" } }, "unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", "requires": { - "unique-slug": "^4.0.0" + "unique-slug": "^3.0.0" } }, "unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", "requires": { "imurmurhash": "^0.1.4" } @@ -80148,7 +78597,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-devtools-installer": "^3.2.0", "electron-dl": "^3.5.0", "electron-mocha": "^12.2.0", @@ -80187,66 +78636,6 @@ "winreg-ts": "^1.0.4" }, "dependencies": { - "@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "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" - } - }, - "cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dev": true, - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - } - }, "debug": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", @@ -80256,128 +78645,20 @@ "ms": "2.1.2" } }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true - }, - "make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dev": true, - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - } - }, - "minimatch": { - "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" - } - }, - "minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dev": true, + "kerberos": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.0.tgz", + "integrity": "sha512-yz6iP+34Qp8XjwfmJ56SD9coeSfLIoH0JBrLi6Iw76FdwsRJoNw3nCgfpzENkfGyb/dgRqzYn3IMXLj7A43Vlg==", "requires": { - "unique-slug": "^3.0.0" + "bindings": "^1.5.0", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.2" } }, - "unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } + "node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" } } }, @@ -80482,6 +78763,23 @@ "eslint-visitor-keys": "^2.0.0" } }, + "kerberos": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.0.tgz", + "integrity": "sha512-yz6iP+34Qp8XjwfmJ56SD9coeSfLIoH0JBrLi6Iw76FdwsRJoNw3nCgfpzENkfGyb/dgRqzYn3IMXLj7A43Vlg==", + "dev": true, + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.2" + } + }, + "node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true + }, "sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -81101,9 +79399,9 @@ "dev": true }, "nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", "optional": true }, "nanoid": { @@ -81200,9 +79498,9 @@ } }, "node-abi": { - "version": "3.68.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.68.0.tgz", - "integrity": "sha512-7vbj10trelExNjFSBm5kTvZXXa7pZyKWx9RCKIyqe6I9Ev3IzGpQoqBP3a+cOdxY+pWj6VkP28n/2wWysBHD/A==", + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", "requires": { "semver": "^7.3.5" } @@ -81277,6 +79575,15 @@ "which": "^4.0.0" }, "dependencies": { + "@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "dev": true, + "requires": { + "semver": "^7.3.5" + } + }, "abbrev": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", @@ -81292,6 +79599,26 @@ "balanced-match": "^1.0.0" } }, + "cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "dev": true, + "requires": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + } + }, "foreground-child": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", @@ -81302,6 +79629,15 @@ "signal-exit": "^4.0.1" } }, + "fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "requires": { + "minipass": "^7.0.3" + } + }, "glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -81332,6 +79668,32 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "make-fetch-happen": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", + "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "dev": true, + "requires": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + } + }, "minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -81347,6 +79709,27 @@ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true }, + "minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "requires": { + "minipass": "^7.0.3" + } + }, + "minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, "nopt": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", @@ -81368,6 +79751,33 @@ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true }, + "ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "dev": true, + "requires": { + "minipass": "^7.0.3" + } + }, + "unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "requires": { + "unique-slug": "^4.0.0" + } + }, + "unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, "which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -88105,12 +86515,12 @@ "dev": true }, "update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "requires": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" } }, "uri-js": { diff --git a/packages/atlas-service/package.json b/packages/atlas-service/package.json index 20f8d744d4f..46b8009e682 100644 --- a/packages/atlas-service/package.json +++ b/packages/atlas-service/package.json @@ -84,7 +84,7 @@ "@mongodb-js/oidc-plugin": "^1.1.1", "hadron-app-registry": "^9.2.7", "compass-preferences-model": "^2.29.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "hadron-ipc": "^3.2.23", "lodash": "^4.17.21", "react": "^17.0.2", diff --git a/packages/compass-components/src/components/file-input.spec.tsx b/packages/compass-components/src/components/file-input.spec.tsx index 565ade405c6..4ff89a95dc9 100644 --- a/packages/compass-components/src/components/file-input.spec.tsx +++ b/packages/compass-components/src/components/file-input.spec.tsx @@ -256,15 +256,25 @@ describe('FileInput', function () { describe('when a file is chosen', function () { beforeEach(async function () { render( - + + ({ + getPathForFile() { + return 'a/b/c'; + }, + } as any) + } + > + + ); const fileInput = screen.getByTestId('test-file-input'); @@ -284,7 +294,7 @@ describe('FileInput', function () { it('calls onChange with the chosen file', function () { expect(spy.callCount).to.equal(1); - expect(spy.firstCall.args[0]).to.deep.equal(['new/file/path']); + expect(spy.firstCall.args[0]).to.deep.equal(['a/b/c']); }); }); @@ -343,13 +353,19 @@ describe('FileInput', function () { showOpenDialog: sinon.stub(), }, }; - return { fakeElectron, fakeWindow }; + const fakeWebUtils = { + getPathForFile: sinon.stub().returns('a/b/c'), + }; + return { fakeElectron, fakeWindow, fakeWebUtils }; } it('allows using electron-style APIs for file updates', async function () { - const { fakeElectron, fakeWindow } = createFakeElectron(); + const { fakeElectron, fakeWindow, fakeWebUtils } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); const listener = sinon.stub(); const unsubscribe = backend.onFilesChosen(listener); @@ -378,10 +394,24 @@ describe('FileInput', function () { expect(fakeElectron.dialog.showSaveDialog).to.have.been.calledTwice; }); + it('passes through getPathForFile calls', function () { + const { fakeElectron, fakeWebUtils } = createFakeElectron(); + + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); + + expect(backend.getPathForFile({} as any)).to.equal('a/b/c'); + }); + it('can partially handle browser-compatible accept values', function () { - const { fakeElectron, fakeWindow } = createFakeElectron(); + const { fakeElectron, fakeWindow, fakeWebUtils } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); fakeElectron.dialog.showSaveDialog.resolves({ canceled: true, @@ -404,9 +434,12 @@ describe('FileInput', function () { }); it('does not override existing file filters', function () { - const { fakeElectron, fakeWindow } = createFakeElectron(); + const { fakeElectron, fakeWindow, fakeWebUtils } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); fakeElectron.dialog.showSaveDialog.resolves({ canceled: true, @@ -430,9 +463,12 @@ describe('FileInput', function () { }); it('handles multi:false', function () { - const { fakeElectron, fakeWindow } = createFakeElectron(); + const { fakeElectron, fakeWindow, fakeWebUtils } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); fakeElectron.dialog.showSaveDialog.resolves({ canceled: true, @@ -452,9 +488,12 @@ describe('FileInput', function () { }); it('handles multi:true', function () { - const { fakeElectron, fakeWindow } = createFakeElectron(); + const { fakeElectron, fakeWindow, fakeWebUtils } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); fakeElectron.dialog.showSaveDialog.resolves({ canceled: true, @@ -473,9 +512,12 @@ describe('FileInput', function () { }); it('can call showOpenDialog if requested', async function () { - const { fakeElectron, fakeWindow } = createFakeElectron(); + const { fakeElectron, fakeWindow, fakeWebUtils } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); const listener = sinon.stub(); backend.onFilesChosen(listener); @@ -501,9 +543,12 @@ describe('FileInput', function () { }); it('calls the listener with an empty array if the user canceled the request', async function () { - const { fakeElectron } = createFakeElectron(); + const { fakeElectron, fakeWebUtils } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); const listener = sinon.stub(); backend.onFilesChosen(listener); @@ -521,8 +566,11 @@ describe('FileInput', function () { }); it('handles autoOpen:true', async function () { - const { fakeElectron } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const { fakeElectron, fakeWebUtils } = createFakeElectron(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); const listener = sinon.stub(); backend.onFilesChosen(listener); @@ -577,8 +625,11 @@ describe('FileInput', function () { let openFileChooserSpy: sinon.SinonSpy; beforeEach(async function () { - const { fakeElectron } = createFakeElectron(); - const backend = createElectronFileInputBackend(fakeElectron)(); + const { fakeElectron, fakeWebUtils } = createFakeElectron(); + const backend = createElectronFileInputBackend( + fakeElectron, + fakeWebUtils + )(); listener = sinon.stub(); backend.onFilesChosen(listener); diff --git a/packages/compass-components/src/components/file-input.tsx b/packages/compass-components/src/components/file-input.tsx index bafdb609c16..1c18c5c6eff 100644 --- a/packages/compass-components/src/components/file-input.tsx +++ b/packages/compass-components/src/components/file-input.tsx @@ -134,12 +134,6 @@ const disabledDescriptionDarkStyles = css({ type FileInputVariant = 'default' | 'small' | 'vertical'; -// https://www.electronjs.org/docs/latest/api/file-object -type FileWithPath = File & { - /** Electron-specific property that contains an absolute path to the file */ - path: string; -}; - // Matches Electron's file dialog options. export type ElectronFileDialogOptions = { title?: string; @@ -164,6 +158,8 @@ export type FileInputBackend = { // Should install a listener that is called when files have been selected. // Should return an unsubscribe function. onFilesChosen: (listener: (files: string[]) => void) => () => void; + // Gets the real on-disk path for a `File`, if the current environment supports it. + getPathForFile: (file: File) => string | undefined; }; export const FileInputBackendContext = createContext< @@ -197,6 +193,11 @@ export type ElectronShowFileDialogProvider = { }; }; +export type ElectronWebUtilsProvider = { + // https://github.com/electron/electron/blob/83d704009687956fb4b69cb13ab03664d7950118/docs/breaking-changes.md#removed-filepath + getPathForFile(file: File): string; +}; + export const FileInputBackendProvider: React.FunctionComponent<{ createFileInputBackend: (() => FileInputBackend) | null; }> = ({ children, createFileInputBackend }) => { @@ -209,6 +210,20 @@ export const FileInputBackendProvider: React.FunctionComponent<{ ); }; +export function createJSDomFileInputDummyBackend(): () => FileInputBackend { + return () => ({ + openFileChooser() { + return; + }, + onFilesChosen() { + return () => void 0; + }, + getPathForFile(file: File) { + return (file as any).path; + }, + }); +} + // Use as: // // import * as electronRemote from '@electron/remote'; @@ -217,7 +232,8 @@ export const FileInputBackendProvider: React.FunctionComponent<{ // // export function createElectronFileInputBackend( - electron: ElectronShowFileDialogProvider + electron: ElectronShowFileDialogProvider, + webUtils: ElectronWebUtilsProvider | null ): () => FileInputBackend { return () => { const listeners: ((files: string[]) => void)[] = []; @@ -288,6 +304,9 @@ export function createElectronFileInputBackend( if (index !== -1) listeners.splice(index, 1); }; }, + getPathForFile(file: File): string | undefined { + return webUtils?.getPathForFile(file); + }, }; }; } @@ -357,7 +376,7 @@ function FileInput({ (evt: React.ChangeEvent) => { const fileList = Array.from(evt.currentTarget.files ?? []); const files = fileList.map((file) => { - return (file as FileWithPath).path; + return backend?.getPathForFile(file) ?? ''; }); onChange(files); }, diff --git a/packages/compass-components/src/index.ts b/packages/compass-components/src/index.ts index 5055585a578..3d80c9d7d2f 100644 --- a/packages/compass-components/src/index.ts +++ b/packages/compass-components/src/index.ts @@ -21,6 +21,7 @@ import type { } from './components/file-input'; import FileInput, { createElectronFileInputBackend, + createJSDomFileInputDummyBackend, FileInputBackendProvider, } from './components/file-input'; import { OptionsToggle } from './components/options-toggle'; @@ -119,6 +120,7 @@ export { DropdownMenuButton, defaultSidebarWidth, createElectronFileInputBackend, + createJSDomFileInputDummyBackend, }; export { useFocusState, diff --git a/packages/compass-crud/package.json b/packages/compass-crud/package.json index f2a6da20246..ba1bb68b00f 100644 --- a/packages/compass-crud/package.json +++ b/packages/compass-crud/package.json @@ -59,7 +59,7 @@ "chai": "^4.1.2", "chai-as-promised": "^7.1.1", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", diff --git a/packages/compass-e2e-tests/package.json b/packages/compass-e2e-tests/package.json index 8cf111bbc2b..27abac4d74d 100644 --- a/packages/compass-e2e-tests/package.json +++ b/packages/compass-e2e-tests/package.json @@ -51,7 +51,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-to-chromium": "^1.5.41", "eslint": "^7.25.0", "glob": "^10.2.5", diff --git a/packages/compass-editor/src/editor.tsx b/packages/compass-editor/src/editor.tsx index f34031affc2..e366503c54a 100644 --- a/packages/compass-editor/src/editor.tsx +++ b/packages/compass-editor/src/editor.tsx @@ -76,6 +76,11 @@ import { rgba } from 'polished'; import { prettify as _prettify } from './prettify'; import { ActionButton, FormatIcon } from './actions'; +// TODO(COMPASS-8453): Re-enable this once the linked tickets are resolved +// https://github.com/codemirror/dev/issues/1458 +// https://issues.chromium.org/issues/375711382?pli=1 +(EditorView as any).EDIT_CONTEXT = false; + const editorStyle = css({ fontSize: 13, fontFamily: fontFamilies.code, diff --git a/packages/compass-explain-plan/package.json b/packages/compass-explain-plan/package.json index 4e3bdab811f..7de001f0718 100644 --- a/packages/compass-explain-plan/package.json +++ b/packages/compass-explain-plan/package.json @@ -58,7 +58,7 @@ "@types/d3-hierarchy": "^3.1.2", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", diff --git a/packages/compass-find-in-page/package.json b/packages/compass-find-in-page/package.json index 3b7048979fc..0554d355232 100644 --- a/packages/compass-find-in-page/package.json +++ b/packages/compass-find-in-page/package.json @@ -61,7 +61,7 @@ "@types/sinon-chai": "^3.2.5", "chai": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", diff --git a/packages/compass-import-export/package.json b/packages/compass-import-export/package.json index 55b47ad71c6..931701c3241 100644 --- a/packages/compass-import-export/package.json +++ b/packages/compass-import-export/package.json @@ -59,7 +59,7 @@ "bson": "^6.8.0", "compass-preferences-model": "^2.29.1", "debug": "^4.3.4", - "electron": "^30.5.1", + "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", "hadron-document": "^8.6.4", "hadron-ipc": "^3.2.23", diff --git a/packages/compass-import-export/src/components/export-modal.tsx b/packages/compass-import-export/src/components/export-modal.tsx index acf471c1254..82e101ed450 100644 --- a/packages/compass-import-export/src/components/export-modal.tsx +++ b/packages/compass-import-export/src/components/export-modal.tsx @@ -193,7 +193,7 @@ function ExportModal({ const onClickExport = useCallback(() => { // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-var-requires const electron: typeof import('@electron/remote') = require('@electron/remote'); - const fileBackend = createElectronFileInputBackend(electron)(); + const fileBackend = createElectronFileInputBackend(electron, null)(); fileBackend.onFilesChosen((files: string[]) => { if (files.length > 0) { diff --git a/packages/compass-indexes/package.json b/packages/compass-indexes/package.json index 327da071c05..bd4f84f8516 100644 --- a/packages/compass-indexes/package.json +++ b/packages/compass-indexes/package.json @@ -56,7 +56,7 @@ "@types/numeral": "^2.0.5", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", diff --git a/packages/compass-query-bar/package.json b/packages/compass-query-bar/package.json index e52a2fe2090..e1e42191cd5 100644 --- a/packages/compass-query-bar/package.json +++ b/packages/compass-query-bar/package.json @@ -55,7 +55,7 @@ "@mongodb-js/tsconfig-compass": "^1.0.5", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", diff --git a/packages/compass-schema-validation/package.json b/packages/compass-schema-validation/package.json index a0f173e7261..0e30f1dccb8 100644 --- a/packages/compass-schema-validation/package.json +++ b/packages/compass-schema-validation/package.json @@ -56,7 +56,7 @@ "@types/enzyme": "^3.10.14", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", diff --git a/packages/compass-shell/package.json b/packages/compass-shell/package.json index 99130d40b6d..a66e7f9d3ac 100644 --- a/packages/compass-shell/package.json +++ b/packages/compass-shell/package.json @@ -76,7 +76,7 @@ "@types/enzyme": "^3.10.14", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", diff --git a/packages/compass-utils/package.json b/packages/compass-utils/package.json index cadde61f2b8..c68cb9e76d0 100644 --- a/packages/compass-utils/package.json +++ b/packages/compass-utils/package.json @@ -69,6 +69,6 @@ }, "dependencies": { "@electron/remote": "^2.1.2", - "electron": "^30.5.1" + "electron": "^32.2.1" } } diff --git a/packages/compass-web/package.json b/packages/compass-web/package.json index 28ca28cf751..8e5e171bbc6 100644 --- a/packages/compass-web/package.json +++ b/packages/compass-web/package.json @@ -109,7 +109,7 @@ "debug": "^4.3.4", "depcheck": "^1.4.1", "dns-query": "^0.11.2", - "electron": "^30.5.1", + "electron": "^32.2.1", "eslint": "^7.25.0", "events": "^3.3.0", "express": "^4.21.1", diff --git a/packages/compass-workspaces/src/stores/workspaces.spec.ts b/packages/compass-workspaces/src/stores/workspaces.spec.ts index d32144dc62d..50f82bdef42 100644 --- a/packages/compass-workspaces/src/stores/workspaces.spec.ts +++ b/packages/compass-workspaces/src/stores/workspaces.spec.ts @@ -22,7 +22,7 @@ describe('tabs behavior', function () { function configureStore() { const result = activatePluginWithConnections(); - return result.plugin.store as WorkspacesStore; + return result.plugin.store; } function openTabs( diff --git a/packages/compass/package.json b/packages/compass/package.json index 4c1309edbfc..e65737469c4 100644 --- a/packages/compass/package.json +++ b/packages/compass/package.json @@ -243,7 +243,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-devtools-installer": "^3.2.0", "electron-dl": "^3.5.0", "electron-mocha": "^12.2.0", diff --git a/packages/compass/src/app/index.tsx b/packages/compass/src/app/index.tsx index f548530369d..a6a55c210be 100644 --- a/packages/compass/src/app/index.tsx +++ b/packages/compass/src/app/index.tsx @@ -5,6 +5,7 @@ import dns from 'dns'; import ensureError from 'ensure-error'; import { ipcRenderer } from 'hadron-ipc'; import * as remote from '@electron/remote'; +import { webUtils } from 'electron'; import { globalAppRegistry } from 'hadron-app-registry'; import { defaultPreferencesInstance } from 'compass-preferences-model'; import semver from 'semver'; @@ -242,7 +243,10 @@ const Application = View.extend({ { - connectSpy(connectionInfo.connectionOptions); - }} - onSaveClicked={() => { - return Promise.resolve(); - }} - /> + + { + connectSpy(connectionInfo.connectionOptions); + }} + onSaveClicked={() => { + return Promise.resolve(); + }} + /> + ); expect(connectSpy).not.to.have.been.called; diff --git a/packages/connection-form/src/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.spec.tsx b/packages/connection-form/src/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.spec.tsx index a6fda3cb310..a8199d2bcb4 100644 --- a/packages/connection-form/src/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.spec.tsx +++ b/packages/connection-form/src/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.spec.tsx @@ -7,6 +7,8 @@ import type { SSHConnectionOptions } from '../../../utils/connection-ssh-handler import SSHTunnelIdentity from './ssh-tunnel-identity'; import type { ConnectionFormError } from '../../../utils/validation'; import { errorMessageByFieldName } from '../../../utils/validation'; +import { FileInputBackendProvider } from '@mongodb-js/compass-components'; +import { createJSDomFileInputDummyBackend } from '@mongodb-js/compass-components/lib/components/file-input'; const formFields: { key: keyof SSHConnectionOptions; @@ -49,11 +51,15 @@ describe('SSHTunnelIdentity', function () { updateConnectionFormFieldSpy = sinon.spy(); render( - + + + ); }); diff --git a/packages/connection-form/src/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.spec.tsx b/packages/connection-form/src/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.spec.tsx index 8bfe1c6ec7a..ae02bd615fd 100644 --- a/packages/connection-form/src/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.spec.tsx +++ b/packages/connection-form/src/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.spec.tsx @@ -10,6 +10,8 @@ import sinon from 'sinon'; import ConnectionStringUrl from 'mongodb-connection-string-url'; import SSLTab, { getTLSOptionForConnectionString } from './tls-ssl-tab'; +import { FileInputBackendProvider } from '@mongodb-js/compass-components'; +import { createJSDomFileInputDummyBackend } from '@mongodb-js/compass-components/lib/components/file-input'; describe('SchemaInput', function () { let updateConnectionFormFieldSpy: sinon.SinonSpy; @@ -28,10 +30,14 @@ describe('SchemaInput', function () { 'mongodb+srv://0ranges:p!neapp1es@localhost/?ssl=true' ); const component = render( - + + + ); rerender = component.rerender; }); diff --git a/packages/connection-storage/package.json b/packages/connection-storage/package.json index 3704ee14fa6..0c542b011de 100644 --- a/packages/connection-storage/package.json +++ b/packages/connection-storage/package.json @@ -63,7 +63,7 @@ "@mongodb-js/connection-info": "^0.9.1", "bson": "^6.8.0", "compass-preferences-model": "^2.29.1", - "electron": "^30.5.1", + "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.23", "keytar": "^7.9.0", diff --git a/packages/hadron-build/lib/target.js b/packages/hadron-build/lib/target.js index 873ba6c302c..3aea8795464 100644 --- a/packages/hadron-build/lib/target.js +++ b/packages/hadron-build/lib/target.js @@ -623,8 +623,11 @@ class Target { ); } - const createDMG = require('electron-installer-dmg'); - await createDMG(this.installerOptions); + const { createDMG } = require('electron-installer-dmg'); + // electron-installer-dmg rejects setting both .dmgPath and .out + const installerOptions = { ...this.installerOptions }; + delete installerOptions.out; + await createDMG(installerOptions); if (isNotarizationPossible) { await notarize(this.installerOptions.dmgPath, notarizationOptions); diff --git a/packages/hadron-build/package.json b/packages/hadron-build/package.json index 4acf02872b6..7f4522c23f4 100644 --- a/packages/hadron-build/package.json +++ b/packages/hadron-build/package.json @@ -32,7 +32,7 @@ "debug": "^4.3.4", "del": "^2.0.2", "download": "^8.0.0", - "electron": "^30.5.1", + "electron": "^32.2.1", "electron-packager": "^15.5.1", "electron-packager-plugin-non-proprietary-codecs-ffmpeg": "^1.0.2", "flatnest": "^1.0.0", @@ -46,7 +46,7 @@ "lodash": "^4.17.21", "moment": "^2.29.4", "mongodb-js-cli": "^0.0.3", - "node-abi": "^3.68.0", + "node-abi": "^3.71.0", "normalize-package-data": "^2.3.5", "parse-github-repo-url": "^1.3.0", "semver": "^7.6.2", @@ -69,7 +69,7 @@ }, "optionalDependencies": { "electron-installer-debian": "^3.2.0", - "electron-installer-dmg": "^4.0.0", + "electron-installer-dmg": "^5.0.1", "electron-installer-redhat": "^2.0.0", "electron-winstaller": "^5.1.0" }, diff --git a/packages/hadron-ipc/package.json b/packages/hadron-ipc/package.json index 26c6a4ee419..622c0b0e117 100644 --- a/packages/hadron-ipc/package.json +++ b/packages/hadron-ipc/package.json @@ -69,7 +69,7 @@ }, "dependencies": { "debug": "^4.3.4", - "electron": "^30.5.1", + "electron": "^32.2.1", "is-electron-renderer": "^2.0.1" } } diff --git a/scripts/package.json b/scripts/package.json index 8c8d995b67c..0846983fe62 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -41,7 +41,7 @@ "@babel/core": "^7.24.3", "@mongodb-js/monorepo-tools": "^1.1.1", "commander": "^11.0.0", - "electron": "^30.5.1", + "electron": "^32.2.1", "jsdom": "^24.1.3", "make-fetch-happen": "^10.2.1", "pacote": "^11.3.5", From 67cb7b7b227ea2de443f91659ae998712dcccb73 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 18:47:13 +0000 Subject: [PATCH 11/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6409) Update report Co-authored-by: addaleax <899444+addaleax@users.noreply.github.com> --- THIRD-PARTY-NOTICES.md | 18 +++++++++--------- docs/tracking-plan.md | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 6b60acfedcc..32b30a6ee05 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -248,7 +248,7 @@ Package|Version|License **[ee-first](#e2746902c758ae8a6f91ffb9618cd53717f936cb33c6323e65b6b7b24f7ebefe)**|1.1.1|MIT **[electron-dl](#e97e034c7b93c63e7a433d75f6f1de3e0668764225ebbd61dbde8d1b55d6f3b7)**|3.5.0|MIT **[electron-squirrel-startup](#09fb8168e8fda2e174f8d1a1c392ffd8f762c5637c788edd00d1e2486d060349)**|1.0.1|Apache-2.0 -**[electron](#b8949aa8130b5ef5da1efc84f1a58e30028db62c230eb1da216dcfd7b263f55f)**|30.5.1|MIT +**[electron](#4dac8b39331bcb6b30b99afe0849c00e3153935fcab1f1086622b9a2ccb4afc8)**|32.2.1|MIT **[encodeurl](#b89152db475e86531e570f87b45d8a51aa5e5d87d4cc3b960cee7b8febf1d26a)**|1.0.2|MIT **[encodeurl](#177948a319ae0aeebbd65742c53c62b37c75ec1d021afa5a188d10a7ceae6623)**|2.0.0|MIT **[end-of-stream](#fadc10994f5fa767d06fb25cfff35fb17a895daf3bc3477c782907668ed16563)**|1.4.4|MIT @@ -476,8 +476,8 @@ Package|Version|License **[napi-build-utils](#26912b5ff7632f262d64273f99cd1a869376c5c378960e24501585e35b31054a)**|1.0.2|MIT **[negotiator](#e3856213d8f0a7d28cd4166e53ec7e2c019cb7becf4a8535097bac28d21e8579)**|0.6.3|MIT **[netmask](#2bd5b8ff7fab9adace6c38d3fd32e7328484939fdd07836635b0155d0afc35b2)**|2.0.2|MIT -**[node-abi](#e95a83ce4ffe7621819fbbceed23c54f12e0e1066aad9e5b3093bbdc7c958e0b)**|3.68.0|MIT -**[node-addon-api](#af9f7588524ca4e68f4efe7b24aea46d9c8004263b1d7cf3b558f86d87a163e8)**|4.3.0|MIT +**[node-abi](#26b0c85ed4add770fa688d81ed25b3e4018a6114f488c70ab5b36b25cf4084d3)**|3.71.0|MIT +**[node-addon-api](#75c2a47526765afc024a6641ec7b1b37935dc672a211ebdd9773d74bc43a95b4)**|6.1.0|MIT **[node-domexception](#3c25065fd2bc1b6b56856e30ac5b8f34ddae33ca87b225854f8d855b0ccabfbe)**|1.0.0|MIT **[node-fetch](#364527ef1b51cc6ac34872b931049c9e25b5014f9b40e3898c84e1a830e21720)**|2.6.7|MIT **[node-fetch](#23d7d5a419e9a25e6384dee4aa24f7162544418f0cdc2d92e94e2cf924507b8c)**|2.7.0|MIT @@ -19215,8 +19215,8 @@ License files: - -### [electron](https://www.npmjs.com/package/electron) (version 30.5.1) + +### [electron](https://www.npmjs.com/package/electron) (version 32.2.1) License tags: MIT License files: @@ -28649,8 +28649,8 @@ License files: License tags: MIT - -### [node-abi](https://www.npmjs.com/package/node-abi) (version 3.68.0) + +### [node-abi](https://www.npmjs.com/package/node-abi) (version 3.71.0) License tags: MIT License files: @@ -28680,8 +28680,8 @@ License files: - -### [node-addon-api](https://www.npmjs.com/package/node-addon-api) (version 4.3.0) + +### [node-addon-api](https://www.npmjs.com/package/node-addon-api) (version 6.1.0) License tags: MIT License files: diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index d77d36f64c7..ed0916215a0 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Mon, Oct 28, 2024 at 12:44 PM +Generated on Mon, Oct 28, 2024 at 06:47 PM ## Table of Contents From daaa6e3ba17ae9b919534a0bdcb7b46bd7490b23 Mon Sep 17 00:00:00 2001 From: Basit <1305718+mabaasit@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:32:44 +0100 Subject: [PATCH 12/27] fix(compass-crud): persist modified document value COMPASS-8373 (#6404) * persist json value in document * use ref and remove useEffect dep * ref current assignment --- .../src/components/json-editor.tsx | 19 +++++++- .../virtualized-document-json-view.spec.tsx | 44 +++++++++++++++++++ packages/hadron-document/src/document.ts | 8 ++++ 3 files changed, 70 insertions(+), 1 deletion(-) diff --git a/packages/compass-crud/src/components/json-editor.tsx b/packages/compass-crud/src/components/json-editor.tsx index 767c54160d8..2dda284dba4 100644 --- a/packages/compass-crud/src/components/json-editor.tsx +++ b/packages/compass-crud/src/components/json-editor.tsx @@ -76,9 +76,26 @@ const JSONEditor: React.FunctionComponent = ({ const [expanded, setExpanded] = useState(doc.expanded); const [editing, setEditing] = useState(doc.editing); const [deleting, setDeleting] = useState(doc.markedForDeletion); - const [value, setValue] = useState(() => doc.toEJSON()); + const [value, setValue] = useState( + () => doc.modifiedEJSONString ?? doc.toEJSON() + ); const [initialValue] = useState(() => doc.toEJSON()); const [containsErrors, setContainsErrors] = useState(false); + const setModifiedEJSONStringRef = useRef<(value: string | null) => void>( + doc.setModifiedEJSONString.bind(doc) + ); + setModifiedEJSONStringRef.current = doc.setModifiedEJSONString.bind(doc); + + useEffect(() => { + const setModifiedEJSONString = setModifiedEJSONStringRef.current; + return () => { + // When this component is used in virtualized list, the editor is + // unmounted on scroll and if the user is editing the document, the + // editor value is lost. This is a way to keep track of the editor + // value when the it's unmounted and is restored on next mount. + setModifiedEJSONString(editing ? value : null); + }; + }, [value, editing]); const handleCopy = useCallback(() => { copyToClipboard?.(doc); diff --git a/packages/compass-crud/src/components/virtualized-document-json-view.spec.tsx b/packages/compass-crud/src/components/virtualized-document-json-view.spec.tsx index 0c8060d267a..37672979171 100644 --- a/packages/compass-crud/src/components/virtualized-document-json-view.spec.tsx +++ b/packages/compass-crud/src/components/virtualized-document-json-view.spec.tsx @@ -12,6 +12,10 @@ import { import { type VirtualListRef } from '@mongodb-js/compass-components'; import VirtualizedDocumentJsonView from './virtualized-document-json-view'; +import { + getCodemirrorEditorValue, + setCodemirrorEditorValue, +} from '@mongodb-js/compass-editor'; const createBigDocument = (variable: number) => new HadronDocument({ @@ -168,4 +172,44 @@ describe('VirtualizedDocumentJsonView', function () { expect(() => within(documentElement).getByText('Cancel')).to.throw; expect(() => within(documentElement).getByText('Replace')).to.throw; }); + + it('preserves the edit state of document when a document goes out of visible viewport when scrolling', async function () { + const bigDocuments = Array.from({ length: 20 }, (_, idx) => + createBigDocument(idx) + ); + const listRef: VirtualListRef = React.createRef(); + render( + + ); + + let [firstDocumentElement] = screen.getAllByTestId('editable-json'); + // Trigger the edit state (we only set the edited value if the document is being edited) + userEvent.click(within(firstDocumentElement).getByLabelText('Edit')); + + let cmEditor = firstDocumentElement.querySelector( + '[data-codemirror="true"]' + ); + await setCodemirrorEditorValue(cmEditor, '{value: "edited"}'); + + // Scroll down and then scroll back up + act(() => { + listRef.current?.scrollToItem(15); + }); + act(() => { + listRef.current?.scrollToItem(0); + }); + + [firstDocumentElement] = screen.getAllByTestId('editable-json'); + cmEditor = firstDocumentElement.querySelector('[data-codemirror="true"]'); + + const value = getCodemirrorEditorValue(cmEditor); + expect(value).to.equal('{value: "edited"}'); + }); }); diff --git a/packages/hadron-document/src/document.ts b/packages/hadron-document/src/document.ts index 35c51c3995d..1670ca3ccbd 100644 --- a/packages/hadron-document/src/document.ts +++ b/packages/hadron-document/src/document.ts @@ -50,6 +50,9 @@ export class Document extends EventEmitter { maxVisibleElementsCount = DEFAULT_VISIBLE_ELEMENTS; editing = false; markedForDeletion = false; + // This is used to store the changed EJSON string when the document is modified + // via the JSONEditor. + modifiedEJSONString: string | null = null; /** * Send cancel event. @@ -456,6 +459,7 @@ export class Document extends EventEmitter { finishEditing() { if (this.editing) { this.editing = false; + this.setModifiedEJSONString(null); this.emit(DocumentEvents.EditingFinished); } } @@ -503,6 +507,10 @@ export class Document extends EventEmitter { onRemoveError(error: Error) { this.emit('remove-error', error.message); } + + setModifiedEJSONString(ejson: string | null) { + this.modifiedEJSONString = ejson; + } } export default Document; From c301055e306d017c258ff982a23c8681cf46a011 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 12:39:11 +0000 Subject: [PATCH 13/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6412) Update report Co-authored-by: mabaasit <1305718+mabaasit@users.noreply.github.com> --- THIRD-PARTY-NOTICES.md | 2 +- docs/tracking-plan.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 32b30a6ee05..491a34835a1 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -1,5 +1,5 @@ The following third-party software is used by and included in **Mongodb Compass**. -This document was automatically generated on Mon Oct 28 2024. +This document was automatically generated on Tue Oct 29 2024. ## List of dependencies diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index ed0916215a0..739330d0dbe 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Mon, Oct 28, 2024 at 06:47 PM +Generated on Tue, Oct 29, 2024 at 12:39 PM ## Table of Contents From 8554a6a6b20739e902939e62ad0e6b979aa70741 Mon Sep 17 00:00:00 2001 From: Basit <1305718+mabaasit@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:00:01 +0100 Subject: [PATCH 14/27] feat(global-writes): open global writes tab when creating a collection COMPASS-8280 (#6405) * open global writes tab * dont open tab for special namespaces --- packages/compass-workspaces/src/provider.tsx | 2 +- .../src/stores/workspaces.ts | 2 +- .../src/modules/create-namespace.ts | 19 ++++++++++++++----- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/compass-workspaces/src/provider.tsx b/packages/compass-workspaces/src/provider.tsx index fb9bcca6211..d9c6f5bae6a 100644 --- a/packages/compass-workspaces/src/provider.tsx +++ b/packages/compass-workspaces/src/provider.tsx @@ -92,7 +92,7 @@ export type WorkspacesService = { options?: TabOptions & Omit< Extract, - 'type' | 'namespace' | 'editViewName' | 'initialSubtab' | 'connectionId' + 'type' | 'namespace' | 'editViewName' | 'connectionId' > ): void; /** diff --git a/packages/compass-workspaces/src/stores/workspaces.ts b/packages/compass-workspaces/src/stores/workspaces.ts index 924e2a14240..8d9a208141c 100644 --- a/packages/compass-workspaces/src/stores/workspaces.ts +++ b/packages/compass-workspaces/src/stores/workspaces.ts @@ -220,7 +220,7 @@ export const getInitialTabState = ( ); const subTab = - initialSubtab ?? isAggregationsSubtab ? 'Aggregations' : 'Documents'; + initialSubtab ?? (isAggregationsSubtab ? 'Aggregations' : 'Documents'); return { id: tabId, diff --git a/packages/databases-collections/src/modules/create-namespace.ts b/packages/databases-collections/src/modules/create-namespace.ts index e3aa5aa2a0e..b3691509d10 100644 --- a/packages/databases-collections/src/modules/create-namespace.ts +++ b/packages/databases-collections/src/modules/create-namespace.ts @@ -2,6 +2,8 @@ import type { Action, AnyAction, Reducer } from 'redux'; import { parseFilter } from 'mongodb-query-parser'; import type { DataService } from '@mongodb-js/compass-connections/provider'; import type { CreateNamespaceThunkAction } from '../stores/create-namespace'; +import { connectionSupports } from '@mongodb-js/compass-connections'; +import toNS from 'mongodb-ns'; /** * No dots in DB name error message. @@ -402,17 +404,24 @@ export const createNamespace = ( expires: !!data.options.expireAfterSeconds, }; - track( - `${kind} Created`, - trackEvent, - connectionRepository.getConnectionInfoById(connectionId) - ); + const connectionInfo = + connectionRepository.getConnectionInfoById(connectionId); + + track(`${kind} Created`, trackEvent, connectionInfo); globalAppRegistry.emit('collection-created', namespace, { connectionId, }); + + // For special namespaces (admin, local, config), we do not want + // to navigate user to the global-writes tab if it's supported. + const isSpecialNS = toNS(namespace).isSpecial; + const isGlobalWritesSupported = + connectionInfo && connectionSupports(connectionInfo, 'globalWrites'); workspaces.openCollectionWorkspace(connectionId, namespace, { newTab: true, + initialSubtab: + !isSpecialNS && isGlobalWritesSupported ? 'GlobalWrites' : undefined, }); dispatch(reset()); } catch (e) { From 08aadc8e27b27ca5896cb99eb5fd7e31a2c1d7d5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:06:46 +0000 Subject: [PATCH 15/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6413) Update report Co-authored-by: mabaasit <1305718+mabaasit@users.noreply.github.com> --- docs/tracking-plan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index 739330d0dbe..47131e74411 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Tue, Oct 29, 2024 at 12:39 PM +Generated on Tue, Oct 29, 2024 at 01:06 PM ## Table of Contents From e1b03084b6c42b83cb9920856e634c16136bd780 Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Tue, 29 Oct 2024 14:22:23 +0100 Subject: [PATCH 16/27] chore(e2e): add a new mode to e2e tests to run against logged in sandbox; add rolling index build e2e tests COMPASS-8361 (#6411) chore(e2e): add a new mode to e2e tests to run against logged in sandbox; add rolling index build e2e tests --- .evergreen/buildvariants-and-tasks.in.yml | 21 +++ .evergreen/buildvariants-and-tasks.yml | 19 ++ .evergreen/functions.yml | 36 ++++ .evergreen/start-atlas-cloud-cluster.sh | 39 ++++ .../helpers/commands/connect-form.ts | 3 +- .../helpers/commands/connect.ts | 40 ++-- .../helpers/commands/create-index.ts | 16 +- .../helpers/compass-web-sandbox.ts | 175 ++++++++++++++++++ packages/compass-e2e-tests/helpers/compass.ts | 35 ++-- .../compass-e2e-tests/helpers/insert-data.ts | 11 +- .../helpers/test-runner-context.ts | 103 ++++++++++- .../helpers/test-runner-global-fixtures.ts | 89 ++++----- .../helpers/test-runner-paths.ts | 11 ++ .../tests/atlas-cloud/rolling-indexes.test.ts | 77 ++++++++ .../create-index-form/checkbox-input.tsx | 10 +- .../sandbox/sandbox-atlas-sign-in.tsx | 18 +- .../compass-web/scripts/electron-proxy.js | 5 + 17 files changed, 607 insertions(+), 101 deletions(-) create mode 100644 .evergreen/start-atlas-cloud-cluster.sh create mode 100644 packages/compass-e2e-tests/helpers/compass-web-sandbox.ts create mode 100644 packages/compass-e2e-tests/tests/atlas-cloud/rolling-indexes.test.ts diff --git a/.evergreen/buildvariants-and-tasks.in.yml b/.evergreen/buildvariants-and-tasks.in.yml index 4a421254a0b..c59076373ad 100644 --- a/.evergreen/buildvariants-and-tasks.in.yml +++ b/.evergreen/buildvariants-and-tasks.in.yml @@ -275,6 +275,12 @@ buildvariants: <% } %> <% } %> + - name: test-web-sandbox-atlas-cloud + display_name: Test Web Sandbox (w/ Atlas Cloud login) + run_on: ubuntu2004-large + tasks: + - name: test-web-sandbox-atlas-cloud + - name: generate-vulnerability-report display_name: Vulnerability Report run_on: ubuntu2004-large @@ -504,6 +510,21 @@ tasks: <% } %> <% } %> + - name: test-web-sandbox-atlas-cloud + tags: + - required-for-publish + - run-on-pr + - assigned_to_jira_team_compass_compass + - foliage_check_task_only + commands: + - func: prepare + - func: install + - func: bootstrap + - func: test-web-sandbox-atlas-cloud + vars: + compass_distribution: compass + debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' + - name: create_static_analysis_report tags: ['required-for-publish', 'run-on-pr'] depends_on: diff --git a/.evergreen/buildvariants-and-tasks.yml b/.evergreen/buildvariants-and-tasks.yml index a81034c3551..c0cf6dd6a32 100644 --- a/.evergreen/buildvariants-and-tasks.yml +++ b/.evergreen/buildvariants-and-tasks.yml @@ -257,6 +257,11 @@ buildvariants: - name: test-web-sandbox-firefox-1 - name: test-web-sandbox-firefox-2 - name: test-web-sandbox-firefox-3 + - name: test-web-sandbox-atlas-cloud + display_name: Test Web Sandbox (w/ Atlas Cloud login) + run_on: ubuntu2004-large + tasks: + - name: test-web-sandbox-atlas-cloud - name: generate-vulnerability-report display_name: Vulnerability Report run_on: ubuntu2004-large @@ -1715,6 +1720,20 @@ tasks: e2e_test_groups: 3 e2e_test_group: 3 debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-web-sandbox-atlas-cloud + tags: + - required-for-publish + - run-on-pr + - assigned_to_jira_team_compass_compass + - foliage_check_task_only + commands: + - func: prepare + - func: install + - func: bootstrap + - func: test-web-sandbox-atlas-cloud + vars: + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* - name: create_static_analysis_report tags: - required-for-publish diff --git a/.evergreen/functions.yml b/.evergreen/functions.yml index 46204d5892b..b4dc14846d3 100644 --- a/.evergreen/functions.yml +++ b/.evergreen/functions.yml @@ -672,6 +672,42 @@ functions: eval $(.evergreen/print-compass-env.sh) npm run --unsafe-perm --workspace compass-e2e-tests test-ci web + + test-web-sandbox-atlas-cloud: + - command: shell.exec + # It can take a very long time for Atlas cluster to get deployed + timeout_secs: 2400 + params: + working_dir: src + shell: bash + env: + <<: *compass-env + DEBUG: ${debug|} + COMPASS_E2E_ATLAS_CLOUD_SANDBOX_CLOUD_CONFIG: 'qa' + COMPASS_E2E_ATLAS_CLOUD_SANDBOX_USERNAME: ${e2e_tests_compass_web_atlas_username} + COMPASS_E2E_ATLAS_CLOUD_SANDBOX_PASSWORD: ${e2e_tests_compass_web_atlas_password} + COMPASS_E2E_ATLAS_CLOUD_SANDBOX_DBUSER_USERNAME: ${e2e_tests_compass_web_atlas_db_username} + COMPASS_E2E_ATLAS_CLOUD_SANDBOX_DBUSER_PASSWORD: ${e2e_tests_compass_web_atlas_password} + MCLI_PUBLIC_API_KEY: ${e2e_tests_mcli_public_api_key} + MCLI_PRIVATE_API_KEY: ${e2e_tests_mcli_private_api_key} + MCLI_ORG_ID: ${e2e_tests_mcli_org_id} + MCLI_PROJECT_ID: ${e2e_tests_mcli_project_id} + MCLI_OPS_MANAGER_URL: ${e2e_tests_mcli_ops_manager_url} + script: | + set -e + # Load environment variables + eval $(.evergreen/print-compass-env.sh) + # Create Atlas cluster for test project + source .evergreen/start-atlas-cloud-cluster.sh + # Run the tests + echo "Starting e2e tests..." + # We're only running a special subset of tests as provisioning atlas + # clusters in CI is both pricey and flakey, so we want to limit the + # coverage to reduce those factors (at least for now) + npm run --unsafe-perm --workspace compass-e2e-tests test-ci -- -- web \ + --test-atlas-cloud-sandbox \ + --test-filter="atlas-cloud/**/*" + test-connectivity: - command: shell.exec # Fail the task if it's idle for 10 mins diff --git a/.evergreen/start-atlas-cloud-cluster.sh b/.evergreen/start-atlas-cloud-cluster.sh new file mode 100644 index 00000000000..63e87471639 --- /dev/null +++ b/.evergreen/start-atlas-cloud-cluster.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Atlas limits the naming to something like /^[\w\d-]{,23}$/ (and will auto +# truncate if it's too long) so we're very limited in terms of how unique this +# name can be. Hopefully the epoch + part of git hash is enough for these to not +# overlap when tests are running +ATLAS_CLOUD_TEST_CLUSTER_NAME="e2e-$(date +"%s")-$(git rev-parse HEAD)" + +function atlascli() { + docker run \ + -e MCLI_PUBLIC_API_KEY \ + -e MCLI_PRIVATE_API_KEY \ + -e MCLI_ORG_ID \ + -e MCLI_PROJECT_ID \ + -e MCLI_OPS_MANAGER_URL \ + mongodb/atlas atlas $@ +} + +cleanup() { + echo "Scheduling Atlas deployment \`$ATLAS_CLOUD_TEST_CLUSTER_NAME\` for deletion..." + atlascli clusters delete $ATLAS_CLOUD_TEST_CLUSTER_NAME --force +} + +trap cleanup EXIT + +echo "Creating Atlas deployment \`$ATLAS_CLOUD_TEST_CLUSTER_NAME\` to test against..." +atlascli clusters create $ATLAS_CLOUD_TEST_CLUSTER_NAME \ + --provider AWS \ + --region US_EAST_1 \ + --tier M10 + +echo "Waiting for the deployment to be provisioned..." +atlascli clusters watch "$ATLAS_CLOUD_TEST_CLUSTER_NAME" + +echo "Getting connection string for provisioned cluster..." +ATLAS_CLOUD_TEST_CLUSTER_CONNECTION_STRING_JSON="$(atlascli clusters connectionStrings describe $ATLAS_CLOUD_TEST_CLUSTER_NAME -o json)" + +export COMPASS_E2E_ATLAS_CLOUD_SANDBOX_DEFAULT_CONNECTIONS="{\"$ATLAS_CLOUD_TEST_CLUSTER_NAME\": $ATLAS_CLOUD_TEST_CLUSTER_CONNECTION_STRING_JSON}" +echo "Cluster connections: $COMPASS_E2E_ATLAS_CLOUD_SANDBOX_DEFAULT_CONNECTIONS" diff --git a/packages/compass-e2e-tests/helpers/commands/connect-form.ts b/packages/compass-e2e-tests/helpers/commands/connect-form.ts index fa1e52d5967..320f13443c2 100644 --- a/packages/compass-e2e-tests/helpers/commands/connect-form.ts +++ b/packages/compass-e2e-tests/helpers/commands/connect-form.ts @@ -7,6 +7,7 @@ import Debug from 'debug'; import { DEFAULT_CONNECTIONS, isTestingAtlasCloudExternal, + isTestingAtlasCloudSandbox, } from '../test-runner-context'; import { getConnectionTitle } from '@mongodb-js/connection-info'; const debug = Debug('compass-e2e-tests'); @@ -930,7 +931,7 @@ export async function saveConnection( export async function setupDefaultConnections(browser: CompassBrowser) { // When running tests against Atlas Cloud, connections can't be added or // removed from the UI manually, so we skip setup for default connections - if (isTestingAtlasCloudExternal()) { + if (isTestingAtlasCloudExternal() || isTestingAtlasCloudSandbox()) { return; } diff --git a/packages/compass-e2e-tests/helpers/commands/connect.ts b/packages/compass-e2e-tests/helpers/commands/connect.ts index 381ada2cf36..97356a91de5 100644 --- a/packages/compass-e2e-tests/helpers/commands/connect.ts +++ b/packages/compass-e2e-tests/helpers/commands/connect.ts @@ -1,13 +1,17 @@ import { - DEFAULT_CONNECTION_NAME_1, - DEFAULT_CONNECTION_NAME_2, DEFAULT_CONNECTION_STRING_1, + DEFAULT_CONNECTION_NAME_1, connectionNameFromString, } from '../compass'; import type { CompassBrowser } from '../compass-browser'; import type { ConnectFormState } from '../connect-form-state'; import * as Selectors from '../selectors'; import Debug from 'debug'; +import { + DEFAULT_CONNECTION_NAMES, + isTestingAtlasCloudExternal, + isTestingAtlasCloudSandbox, +} from '../test-runner-context'; const debug = Debug('compass-e2e-tests'); @@ -35,14 +39,27 @@ type ConnectOptions = ConnectionResultOptions & { removeConnections?: boolean; }; +/** + * Use this command when you need to add a new connection with a specific + * connection string. Most test files should just be using + * browser.connectToDefaults() + */ export async function connectWithConnectionString( browser: CompassBrowser, - connectionString = DEFAULT_CONNECTION_STRING_1, + connectionStringOrName?: string, options: ConnectOptions = {} ): Promise { - // Use this command when you need to add a new connection with a specific - // connection string. Most test files should just be using - // browser.connectToDefaults() + // When testing Atlas Cloud, we can't really create a new connection, so just + // assume a connection name was passed (with a fallback to a default one) and + // try to use it + if (isTestingAtlasCloudExternal() || isTestingAtlasCloudSandbox()) { + await browser.connectByName( + connectionStringOrName ?? DEFAULT_CONNECTION_NAME_1 + ); + return; + } + + connectionStringOrName ??= DEFAULT_CONNECTION_STRING_1; // if the modal is still animating away when we're connecting again, things // are going to get confused @@ -52,7 +69,7 @@ export async function connectWithConnectionString( // if a connection with this name already exists, remove it otherwise we'll // add a duplicate and things will get complicated fast - const connectionName = connectionNameFromString(connectionString); + const connectionName = connectionNameFromString(connectionStringOrName); if (await browser.removeConnection(connectionName)) { debug('Removing existing connection so we do not create a duplicate', { connectionName, @@ -64,7 +81,7 @@ export async function connectWithConnectionString( await browser.setValueVisible( Selectors.ConnectionFormStringInput, - connectionString + connectionStringOrName ); await browser.doConnect(connectionName, options); @@ -173,9 +190,10 @@ export async function connectByName( } export async function connectToDefaults(browser: CompassBrowser) { - // See setupDefaultConnections() for the details behind the thinking here. - await browser.connectByName(DEFAULT_CONNECTION_NAME_1); - await browser.connectByName(DEFAULT_CONNECTION_NAME_2); + for (const name of DEFAULT_CONNECTION_NAMES) { + // See setupDefaultConnections() for the details behind the thinking here. + await browser.connectByName(name); + } // We assume that we connected successfully, so just close the success toasts // early to make sure they aren't in the way of tests. Tests that care about diff --git a/packages/compass-e2e-tests/helpers/commands/create-index.ts b/packages/compass-e2e-tests/helpers/commands/create-index.ts index a62d69cd1af..7a98414189e 100644 --- a/packages/compass-e2e-tests/helpers/commands/create-index.ts +++ b/packages/compass-e2e-tests/helpers/commands/create-index.ts @@ -9,6 +9,7 @@ type CreateIndexOptions = { wildcardProjection?: string; customCollation?: string; sparseIndex?: boolean; + rollingIndex?: boolean; }; type IndexType = '1' | '-1' | '2dsphere' | 'text'; @@ -78,7 +79,14 @@ export async function createIndex( // Select extra options if (extraOptions) { await browser.clickVisible(Selectors.IndexToggleOptions); - const { wildcardProjection } = extraOptions; + const { wildcardProjection, rollingIndex, indexName } = extraOptions; + + if (indexName) { + await browser.clickVisible(Selectors.indexToggleOption('name')); + await browser + .$(Selectors.indexOptionInput('name', 'text')) + .setValue(indexName); + } if (wildcardProjection) { await browser.clickVisible( @@ -91,6 +99,12 @@ export async function createIndex( wildcardProjection ); } + + if (rollingIndex) { + await browser.clickVisible( + Selectors.indexToggleOption('buildInRollingProcess') + ); + } } if (screenshotName) { diff --git a/packages/compass-e2e-tests/helpers/compass-web-sandbox.ts b/packages/compass-e2e-tests/helpers/compass-web-sandbox.ts new file mode 100644 index 00000000000..2f4345dc941 --- /dev/null +++ b/packages/compass-e2e-tests/helpers/compass-web-sandbox.ts @@ -0,0 +1,175 @@ +import crossSpawn from 'cross-spawn'; +import { remote } from 'webdriverio'; +import Debug from 'debug'; +import { + COMPASS_WEB_SANDBOX_RUNNER_PATH, + COMPASS_WEB_WDIO_USER_DATA_PATH, + ELECTRON_CHROMIUM_VERSION, + ELECTRON_PATH, +} from './test-runner-paths'; +import type { ConnectionInfo } from '@mongodb-js/connection-info'; +import ConnectionString from 'mongodb-connection-string-url'; + +const debug = Debug('compass-e2e-tests:compass-web-sandbox'); + +/** + * Setting up in global so that both spawned compass-web and the one started + * with webdriver will get the values + */ +process.env.OPEN_BROWSER = 'false'; // tell webpack dev server not to open the default browser +process.env.DISABLE_DEVSERVER_OVERLAY = 'false'; +process.env.APP_ENV = 'webdriverio'; + +const wait = (ms: number) => { + return new Promise((resolve) => { + setTimeout(resolve, ms); + }); +}; + +export function spawnCompassWebSandbox() { + const proc = crossSpawn.spawn( + 'npm', + ['run', '--unsafe-perm', 'start', '--workspace', '@mongodb-js/compass-web'], + { env: process.env } + ); + proc.stdout.pipe(process.stdout); + proc.stderr.pipe(process.stderr); + return proc; +} + +export async function waitForCompassWebSandboxToBeReady( + sandboxUrl: string, + signal: AbortSignal +) { + let serverReady = false; + const start = Date.now(); + while (!serverReady) { + if (signal.aborted) { + return; + } + if (Date.now() - start >= 120_000) { + throw new Error( + 'The compass-web sandbox is still not running after 120000ms' + ); + } + // No point in trying to fetch sandbox URL right away, give the spawn script + // some time to run + await wait(2000); + try { + const res = await fetch(sandboxUrl); + serverReady = res.ok; + debug('Web server ready:', serverReady); + } catch (err) { + debug('Failed to connect to dev server:', (err as any).message); + } + } +} + +export async function spawnCompassWebSandboxAndSignInToAtlas( + { + username, + password, + sandboxUrl, + waitforTimeout, + }: { + username: string; + password: string; + sandboxUrl: string; + waitforTimeout: number; + }, + signal: AbortSignal +) { + debug('Starting electron-proxy using webdriver ...'); + + const electronProxyRemote = await remote({ + capabilities: { + browserName: 'chromium', + browserVersion: ELECTRON_CHROMIUM_VERSION, + 'goog:chromeOptions': { + binary: ELECTRON_PATH, + args: [ + `--user-data-dir=${COMPASS_WEB_WDIO_USER_DATA_PATH}`, + `--app=${COMPASS_WEB_SANDBOX_RUNNER_PATH}`, + ], + }, + }, + waitforTimeout, + }); + + if (signal.aborted) { + return electronProxyRemote; + } + + debug('Signing in to Atlas as %s ...', username); + + const authenticatePromise = fetch(`${sandboxUrl}/authenticate`, { + method: 'POST', + }); + + const authWindowHandler = await electronProxyRemote.waitUntil(async () => { + const handlers = await electronProxyRemote.getWindowHandles(); + // First window is about:blank, second one is the one we triggered above + // with `/authenticate` request + return handlers[1]; + }); + await electronProxyRemote.switchToWindow(authWindowHandler); + + await electronProxyRemote.$('input[name="username"]').waitForEnabled(); + await electronProxyRemote.$('input[name="username"]').setValue(username); + + await electronProxyRemote.$('button=Next').waitForEnabled(); + await electronProxyRemote.$('button=Next').click(); + + await electronProxyRemote.$('input[name="password"]').waitForEnabled(); + await electronProxyRemote.$('input[name="password"]').setValue(password); + + await electronProxyRemote.$('button=Login').waitForEnabled(); + await electronProxyRemote.$('button=Login').click(); + + if (signal.aborted) { + return electronProxyRemote; + } + + debug('Waiting for the auth to finish ...'); + + const res = await authenticatePromise; + + if (res.ok === false || !(await res.json()).projectId) { + throw new Error( + `Failed to authenticate in Atlas Cloud: ${res.statusText} (${res.status})` + ); + } + + if (signal.aborted) { + return electronProxyRemote; + } + + debug('Waiting for x509 cert to propagate to Atlas clusters ...'); + + await fetch(`${sandboxUrl}/x509`); + + return electronProxyRemote; +} + +export const getAtlasCloudSandboxDefaultConnections = ( + connectionsString: string, + dbUser: string, + dbPassword: string +) => { + type AtlasCloudSandboxDefaultConnections = Record< + string, + { standard: string; standardSrv: string } + >; + const connections: AtlasCloudSandboxDefaultConnections = + JSON.parse(connectionsString); + return Object.entries(connections).map(([name, cluster]): ConnectionInfo => { + const str = new ConnectionString(cluster.standardSrv ?? cluster.standard); + str.username = dbUser; + str.password = dbPassword; + return { + id: name, + connectionOptions: { connectionString: String(str) }, + favorite: { name }, + }; + }); +}; diff --git a/packages/compass-e2e-tests/helpers/compass.ts b/packages/compass-e2e-tests/helpers/compass.ts index 6f518bdd516..02e7ca37bc5 100644 --- a/packages/compass-e2e-tests/helpers/compass.ts +++ b/packages/compass-e2e-tests/helpers/compass.ts @@ -23,7 +23,6 @@ import type { CompassBrowser } from './compass-browser'; import type { LogEntry } from './telemetry'; import Debug from 'debug'; import semver from 'semver'; -import crossSpawn from 'cross-spawn'; import { CHROME_STARTUP_FLAGS } from './chrome-startup-flags'; import { DEFAULT_CONNECTION_STRINGS, @@ -44,6 +43,19 @@ import { LOG_SCREENSHOTS_PATH, ELECTRON_PATH, } from './test-runner-paths'; +import treeKill from 'tree-kill'; + +const killAsync = async (pid: number, signal?: string) => { + return new Promise((resolve, reject) => { + treeKill(pid, signal ?? 'SIGTERM', (err) => { + if (err) { + reject(err); + } else { + resolve(); + } + }); + }); +}; const debug = Debug('compass-e2e-tests'); @@ -666,7 +678,7 @@ async function startCompassElectron( return ( p.ppid === process.pid && (p.cmd?.startsWith(binary) || - /(MongoDB Compass|Electron|electron)/.test(p.name)) + /(MongoDB Compass|Electron|electron|chromedriver)/.test(p.name)) ); }); @@ -688,7 +700,7 @@ async function startCompassElectron( ); for (const p of filteredProcesses) { - tryKillProcess(p.pid, p.name); + await killAsync(p.pid); } throw err; } @@ -803,21 +815,6 @@ export async function startBrowser( return compass; } -function tryKillProcess(pid: number, name = ''): void { - try { - debug(`Killing process ${name} with PID ${pid}`); - if (process.platform === 'win32') { - crossSpawn.sync('taskkill', ['/PID', String(pid), '/F', '/T']); - } else { - process.kill(pid); - } - } catch (err) { - debug(`Failed to kill process ${name} with PID ${pid}`, { - error: (err as Error).stack, - }); - } -} - /** * @param {string} logPath The compass application log path * @returns {Promise} @@ -1096,7 +1093,7 @@ export async function cleanup(compass?: Compass): Promise { // this only works for the electron use case try { debug(`Trying to manually kill Compass [${compass.name}]`); - tryKillProcess(compass.mainProcessPid, compass.name); + await killAsync(compass.mainProcessPid); } catch { /* already logged ... */ } diff --git a/packages/compass-e2e-tests/helpers/insert-data.ts b/packages/compass-e2e-tests/helpers/insert-data.ts index 144e9b746dd..ab0fa1894b8 100644 --- a/packages/compass-e2e-tests/helpers/insert-data.ts +++ b/packages/compass-e2e-tests/helpers/insert-data.ts @@ -1,6 +1,7 @@ import { MongoClient } from 'mongodb'; import type { Db, MongoServerError } from 'mongodb'; import { DEFAULT_CONNECTION_STRINGS } from './test-runner-context'; +import { redactConnectionString } from 'mongodb-connection-string-url'; // This is a list of all the known database names that get created by tests so // that we can know what to drop when we clean up before every test. If a new @@ -55,10 +56,14 @@ export const beforeAll = async () => { await Promise.all(clients.map((client) => client.connect())); + const connectionsForPrinting = connectionStrings + .map((str) => { + return redactConnectionString(str); + }) + .join(' and '); + console.log( - `Connected successfully to ${connectionStrings.join( - ' and ' - )} for inserting data` + `Connected successfully to ${connectionsForPrinting} for inserting data` ); test_dbs = clients.map((client) => client.db('test')); diff --git a/packages/compass-e2e-tests/helpers/test-runner-context.ts b/packages/compass-e2e-tests/helpers/test-runner-context.ts index f76a729dd31..4ad3fe13892 100644 --- a/packages/compass-e2e-tests/helpers/test-runner-context.ts +++ b/packages/compass-e2e-tests/helpers/test-runner-context.ts @@ -8,6 +8,7 @@ import type { Argv } from 'yargs'; import { hideBin } from 'yargs/helpers'; import Debug from 'debug'; import fs from 'fs'; +import { getAtlasCloudSandboxDefaultConnections } from './compass-web-sandbox'; const debug = Debug('compass-e2e-tests:context'); @@ -112,6 +113,16 @@ const atlasCloudExternalArgs = [ 'atlas-cloud-external-default-connections-file', ] as const; +const atlasCloudSandboxArgs = [ + 'test-atlas-cloud-sandbox', + 'atlas-cloud-sandbox-cloud-config', + 'atlas-cloud-sandbox-username', + 'atlas-cloud-sandbox-password', + 'atlas-cloud-sandbox-dbuser-username', + 'atlas-cloud-sandbox-dbuser-password', + 'atlas-cloud-sandbox-default-connections', +] as const; + let testEnv: 'desktop' | 'web' | undefined; function buildWebArgs(yargs: Argv) { @@ -146,6 +157,47 @@ function buildWebArgs(yargs: Argv) { description: 'Set compass-web sandbox URL', default: 'http://localhost:7777', }) + .option('test-atlas-cloud-sandbox', { + type: 'boolean', + description: + 'Run compass-web tests against a sandbox with a singed in Atlas Cloud user (allows to test Atlas-only functionality that is only available for Cloud UI backend)', + }) + .options('atlas-cloud-sandbox-cloud-config', { + choices: ['local', 'dev', 'qa', 'prod'] as const, + description: 'Atlas Cloud config preset for the sandbox', + }) + .options('atlas-cloud-sandbox-username', { + type: 'string', + description: + 'Atlas Cloud username. Will be used to sign in to an account before running the tests', + }) + .options('atlas-cloud-sandbox-password', { + type: 'string', + description: + 'Atlas Cloud user password. Will be used to sign in to an account before running the tests', + }) + .options('atlas-cloud-sandbox-dbuser-username', { + type: 'string', + description: + 'Atlas Cloud database username. Will be used to prepolulate cluster with data', + }) + .options('atlas-cloud-sandbox-dbuser-password', { + type: 'string', + description: + 'Atlas Cloud user database user password. Will be used to prepolulate cluster with data', + }) + .options('atlas-cloud-sandbox-default-connections', { + type: 'string', + description: + 'Stringified JSON with connections that are expected to be available in the Atlas project', + }) + .implies( + Object.fromEntries( + atlasCloudSandboxArgs.map((arg) => { + return [arg, atlasCloudSandboxArgs]; + }) + ) + ) .option('test-atlas-cloud-external', { type: 'boolean', description: @@ -176,6 +228,10 @@ function buildWebArgs(yargs: Argv) { }) ) ) + .conflicts({ + 'test-atlas-cloud-external': 'test-atlas-cloud-sandbox', + 'test-atlas-cloud-sandbox': 'test-atlas-cloud-external', + }) .epilogue( 'All command line arguments can be also provided as env vars with `COMPASS_E2E_` prefix:\n\n COMPASS_E2E_TEST_ATLAS_CLOUD_EXTERNAL=true compass-e2e-tests web' ) @@ -266,10 +322,49 @@ export function isTestingAtlasCloudExternal( return isTestingWeb(ctx) && !!ctx.testAtlasCloudExternal; } -debug('Running tests with the following arguments:', context); +export function isTestingAtlasCloudSandbox( + ctx = context +): ctx is WebParsedArgs & { + [K in + | 'testAtlasCloudSandbox' + | 'atlasCloudSandboxUsername' + | 'atlasCloudSandboxPassword' + | 'atlasCloudSandboxDbuserUsername' + | 'atlasCloudSandboxDbuserPassword' + | 'atlasCloudSandboxDefaultConnections']: NonNullable; +} { + return isTestingWeb(ctx) && !!ctx.testAtlasCloudSandbox; +} + +export function assertTestingAtlasCloudSandbox( + ctx = context +): asserts ctx is WebParsedArgs & { + [K in + | 'testAtlasCloudSandbox' + | 'atlasCloudSandboxUsername' + | 'atlasCloudSandboxPassword' + | 'atlasCloudSandboxDbuserUsername' + | 'atlasCloudSandboxDbuserPassword' + | 'atlasCloudSandboxDefaultConnections']: NonNullable; +} { + if (!isTestingAtlasCloudSandbox(ctx)) { + throw new Error(`Expected tested runtime to be web w/ Atlas Cloud account`); + } +} + +const contextForPrinting = Object.fromEntries( + Object.entries(context).map(([k, v]) => { + return [k, /password/i.test(k) ? '' : v]; + }) +); + +debug('Running tests with the following arguments:', contextForPrinting); process.env.HADRON_DISTRIBUTION ??= context.hadronDistribution; +process.env.COMPASS_WEB_HTTP_PROXY_CLOUD_CONFIG ??= + context.atlasCloudSandboxCloudConfig ?? 'dev'; + const testServerVersion = process.env.MONGODB_VERSION ?? process.env.MONGODB_RUNNER_VERSION; @@ -279,6 +374,12 @@ export const DEFAULT_CONNECTIONS: (ConnectionInfo & { ? JSON.parse( fs.readFileSync(context.atlasCloudExternalDefaultConnectionsFile, 'utf-8') ) + : isTestingAtlasCloudSandbox(context) + ? getAtlasCloudSandboxDefaultConnections( + context.atlasCloudSandboxDefaultConnections, + context.atlasCloudSandboxDbuserUsername, + context.atlasCloudSandboxDbuserPassword + ) : [ { id: 'test-connection-1', diff --git a/packages/compass-e2e-tests/helpers/test-runner-global-fixtures.ts b/packages/compass-e2e-tests/helpers/test-runner-global-fixtures.ts index 538bf555fb0..9c163d61b60 100644 --- a/packages/compass-e2e-tests/helpers/test-runner-global-fixtures.ts +++ b/packages/compass-e2e-tests/helpers/test-runner-global-fixtures.ts @@ -5,13 +5,13 @@ import { DEFAULT_CONNECTIONS, DEFAULT_CONNECTIONS_SERVER_INFO, isTestingAtlasCloudExternal, + isTestingAtlasCloudSandbox, isTestingDesktop, isTestingWeb, } from './test-runner-context'; import { E2E_WORKSPACE_PATH, LOG_PATH } from './test-runner-paths'; import Debug from 'debug'; import { startTestServer } from '@mongodb-js/compass-test-server'; -import crossSpawn from 'cross-spawn'; import kill from 'tree-kill'; import { MongoClient } from 'mongodb'; import { isEnterprise } from 'mongodb-build-info'; @@ -22,6 +22,11 @@ import { removeUserDataDir, } from './compass'; import { getConnectionTitle } from '@mongodb-js/connection-info'; +import { + spawnCompassWebSandbox, + spawnCompassWebSandboxAndSignInToAtlas, + waitForCompassWebSandboxToBeReady, +} from './compass-web-sandbox'; export const globalFixturesAbortController = new AbortController(); @@ -35,11 +40,6 @@ export let abortRunner: (() => void) | undefined; const debug = Debug('compass-e2e-tests:mocha-global-fixtures'); -const wait = (ms: number) => - new Promise((resolve) => { - setTimeout(resolve, ms); - }); - const cleanupFns: (() => Promise | void)[] = []; /** @@ -92,16 +92,34 @@ export async function mochaGlobalSetup(this: Mocha.Runner) { if (isTestingWeb(context) && !isTestingAtlasCloudExternal(context)) { debug('Starting Compass Web server ...'); - const compassWeb = spawnCompassWeb(); - cleanupFns.push(() => { - if (compassWeb.pid) { - debug(`Killing compass-web [${compassWeb.pid}]`); - kill(compassWeb.pid, 'SIGINT'); - } else { - debug('No pid for compass-web'); - } - }); - await waitForCompassWebToBeReady(context.sandboxUrl); + if (isTestingAtlasCloudSandbox(context)) { + const compassWeb = await spawnCompassWebSandboxAndSignInToAtlas( + { + username: context.atlasCloudSandboxUsername, + password: context.atlasCloudSandboxPassword, + sandboxUrl: context.sandboxUrl, + waitforTimeout: context.webdriverWaitforTimeout, + }, + globalFixturesAbortController.signal + ); + cleanupFns.push(async () => { + await compassWeb.deleteSession({ shutdownDriver: true }); + }); + } else { + const compassWeb = spawnCompassWebSandbox(); + cleanupFns.push(() => { + if (compassWeb.pid) { + debug(`Killing compass-web [${compassWeb.pid}]`); + kill(compassWeb.pid, 'SIGINT'); + } else { + debug('No pid for compass-web'); + } + }); + await waitForCompassWebSandboxToBeReady( + context.sandboxUrl, + globalFixturesAbortController.signal + ); + } } } @@ -160,45 +178,6 @@ export async function mochaGlobalTeardown() { ); } -function spawnCompassWeb() { - const proc = crossSpawn.spawn( - 'npm', - ['run', '--unsafe-perm', 'start', '--workspace', '@mongodb-js/compass-web'], - { - env: { - ...process.env, - OPEN_BROWSER: 'false', // tell webpack dev server not to open the default browser - DISABLE_DEVSERVER_OVERLAY: 'true', - APP_ENV: 'webdriverio', - }, - } - ); - proc.stdout.pipe(process.stdout); - proc.stderr.pipe(process.stderr); - return proc; -} - -async function waitForCompassWebToBeReady(sandboxUrl: string) { - let serverReady = false; - const start = Date.now(); - while (!serverReady) { - throwIfAborted(); - if (Date.now() - start >= 120_000) { - throw new Error( - 'The compass-web sandbox is still not running after 120000ms' - ); - } - try { - const res = await fetch(sandboxUrl); - serverReady = res.ok; - debug('Web server ready:', serverReady); - } catch (err) { - debug('Failed to connect to dev server:', (err as any).message); - } - await wait(1000); - } -} - async function updateMongoDBServerInfo() { try { for (const { connectionOptions } of DEFAULT_CONNECTIONS) { diff --git a/packages/compass-e2e-tests/helpers/test-runner-paths.ts b/packages/compass-e2e-tests/helpers/test-runner-paths.ts index 19b835abe7b..eae834363b4 100644 --- a/packages/compass-e2e-tests/helpers/test-runner-paths.ts +++ b/packages/compass-e2e-tests/helpers/test-runner-paths.ts @@ -3,6 +3,7 @@ import electronPath from 'electron'; import electronPackageJson from 'electron/package.json'; // @ts-expect-error no types for this package import { electronToChromium } from 'electron-to-chromium'; +import os from 'os'; if (typeof electronPath !== 'string') { throw new Error( @@ -34,3 +35,13 @@ export const COVERAGE_PATH = (process.env.COVERAGE = MONOREPO_ROOT_PATH); export const ELECTRON_PATH = electronPath; export const ELECTRON_VERSION = electronPackageJson.version; export const ELECTRON_CHROMIUM_VERSION = electronToChromium(ELECTRON_VERSION); + +export const COMPASS_WEB_SANDBOX_RUNNER_PATH = path.resolve( + path.dirname(require.resolve('@mongodb-js/compass-web/package.json')), + 'scripts', + 'electron-proxy.js' +); +export const COMPASS_WEB_WDIO_USER_DATA_PATH = path.resolve( + os.tmpdir(), + `wdio-electron-proxy-${Date.now()}` +); diff --git a/packages/compass-e2e-tests/tests/atlas-cloud/rolling-indexes.test.ts b/packages/compass-e2e-tests/tests/atlas-cloud/rolling-indexes.test.ts new file mode 100644 index 00000000000..4c2fa9aac5e --- /dev/null +++ b/packages/compass-e2e-tests/tests/atlas-cloud/rolling-indexes.test.ts @@ -0,0 +1,77 @@ +import type { Compass } from '../../helpers/compass'; +import { cleanup, init, Selectors } from '../../helpers/compass'; +import type { CompassBrowser } from '../../helpers/compass-browser'; +import { createNumbersCollection } from '../../helpers/insert-data'; +import { + DEFAULT_CONNECTION_NAMES, + isTestingAtlasCloudSandbox, +} from '../../helpers/test-runner-context'; + +describe('Rolling indexes', function () { + let compass: Compass; + let browser: CompassBrowser; + + before(async function () { + compass = await init(this.test?.fullTitle()); + browser = compass.browser; + await browser.setupDefaultConnections(); + }); + + before(function () { + if (!isTestingAtlasCloudSandbox()) { + this.skip(); + } + }); + + after(async function () { + await cleanup(compass); + }); + + it('should be able to create, list, and delete rolling indexes', async function () { + // Building rolling indexes is a slow process + const extendedRollingIndexesTimeout = 1000 * 60 * 20; + + this.timeout(extendedRollingIndexesTimeout * 1.2); + + await createNumbersCollection(); + await browser.connectToDefaults(); + await browser.navigateToCollectionTab( + DEFAULT_CONNECTION_NAMES[0], + 'test', + 'numbers', + 'Indexes' + ); + + const indexName = 'compass-e2e-rolling-build-index-for-testing'; + + // Fail fast if index with this name already exists: should never happen as + // every run in CI gets their own cluster but if we try to create over + // existing or one being created, it can bork the whole cluster and we don't + // want that + await browser + .$(Selectors.indexComponent(indexName)) + .waitForDisplayed({ reverse: true }); + + await browser.createIndex( + { fieldName: 'i', indexType: '1' }, + { rollingIndex: true, indexName } + ); + + // Special rolling index badge indicating that build has started (we got it + // listed by automation agent) + await browser + .$(Selectors.indexComponent(indexName)) + .$('[data-testid="index-building"]') + .waitForDisplayed(); + + // Now wait for index to finish building + await browser + .$(Selectors.indexComponent(indexName)) + .$('[data-testid="index-ready"]') + .waitForDisplayed({ timeout: extendedRollingIndexesTimeout }); + + // Now that it's ready, delete it (it will also check that it's eventually + // removed from the list) + await browser.dropIndex(indexName); + }); +}); diff --git a/packages/compass-indexes/src/components/create-index-form/checkbox-input.tsx b/packages/compass-indexes/src/components/create-index-form/checkbox-input.tsx index 9e7916625f0..3590ad90475 100644 --- a/packages/compass-indexes/src/components/create-index-form/checkbox-input.tsx +++ b/packages/compass-indexes/src/components/create-index-form/checkbox-input.tsx @@ -26,17 +26,21 @@ export const CheckboxInput: React.FunctionComponent = ({ checked, onChange, }) => { - const labelId = `create-index-modal-${name}-checkbox`; + const labelId = `create-index-modal-${name}`; return ( { onChange(name, event.target.checked); }} - label={} + label={ + + } // @ts-expect-error leafygreen types only allow strings here, but can // render a ReactNode too (and we use that to render links inside // descriptions) diff --git a/packages/compass-web/sandbox/sandbox-atlas-sign-in.tsx b/packages/compass-web/sandbox/sandbox-atlas-sign-in.tsx index e87d8370f3d..00b04fb64fb 100644 --- a/packages/compass-web/sandbox/sandbox-atlas-sign-in.tsx +++ b/packages/compass-web/sandbox/sandbox-atlas-sign-in.tsx @@ -55,6 +55,13 @@ function ToastBodyWithAction({ ); } +const IS_CI = + process.env.ci || + process.env.CI || + process.env.IS_CI || + process.env.NODE_ENV === 'test' || + process.env.APP_ENV === 'webdriverio'; + export function useAtlasProxySignIn(): AtlasLoginReturnValue { const [status, setStatus] = useState('checking'); const [projectId, setProjectId] = useState(null); @@ -99,6 +106,9 @@ export function useAtlasProxySignIn(): AtlasLoginReturnValue { } setProjectId(projectId); setStatus('signed-in'); + if (IS_CI) { + return; + } openToast('atlas-proxy', { title: 'Signed in to local Atlas Cloud proxy', description: ( @@ -116,13 +126,7 @@ export function useAtlasProxySignIn(): AtlasLoginReturnValue { .catch(() => { if (mounted) { setStatus('signed-out'); - if ( - process.env.ci || - process.env.CI || - process.env.IS_CI || - process.env.NODE_ENV === 'test' || - process.env.APP_ENV === 'webdriverio' - ) { + if (IS_CI) { return; } openToast('atlas-proxy', { diff --git a/packages/compass-web/scripts/electron-proxy.js b/packages/compass-web/scripts/electron-proxy.js index 2d7db2d6805..df51a2d87bb 100644 --- a/packages/compass-web/scripts/electron-proxy.js +++ b/packages/compass-web/scripts/electron-proxy.js @@ -542,6 +542,11 @@ function cleanupAndExit() { } electronApp.whenReady().then(async () => { + // Create an empty browser window so that webdriver session can be + // immediately get attached to something without failing + const emptyBrowserWindow = new BrowserWindow({ show: false }); + emptyBrowserWindow.loadURL('about:blank'); + electronApp.on('window-all-closed', () => { // We want proxy to keep running even when all the windows are closed, but // hide the dock icon because there are not windows associated with it From 3f988c4ee7e2d5dbc918417d8f5264f952e03f55 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:28:58 +0000 Subject: [PATCH 17/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6415) Update report Co-authored-by: gribnoysup <5036933+gribnoysup@users.noreply.github.com> --- docs/tracking-plan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index 47131e74411..0081f08f4a4 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Tue, Oct 29, 2024 at 01:06 PM +Generated on Tue, Oct 29, 2024 at 01:28 PM ## Table of Contents From d4533d1d3a20ac2440e96ed2dc6b07536ddb45ec Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Tue, 29 Oct 2024 14:36:52 +0100 Subject: [PATCH 18/27] chore(scripts): include electron-to-chromium to the list of packages to be updated with electron (#6414) --- scripts/update-electron.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/update-electron.js b/scripts/update-electron.js index e184c8fe3e1..fde6b285116 100644 --- a/scripts/update-electron.js +++ b/scripts/update-electron.js @@ -109,12 +109,16 @@ async function main() { ); const latestBrowserslistVersion = await getLatestVersion('browserslist'); + const latestElectronToChromiumVersion = await getLatestVersion( + 'electron-to-chromium' + ); const newVersions = { 'node-abi': `^${latestNodeAbiVersion}`, '@electron/remote': `^${latestElectronRemoteVersion}`, '@electron/rebuild': `^${latestElectronRebuildVersion}`, electron: `^${latestElectronVersion}`, + 'electron-to-chromium': `^${latestElectronToChromiumVersion}`, browserslist: `^${latestBrowserslistVersion}`, }; From f1b8e6ee7847982bbe46445c6a7192580564eb7e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:43:32 +0000 Subject: [PATCH 19/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6416) Update report Co-authored-by: gribnoysup <5036933+gribnoysup@users.noreply.github.com> --- docs/tracking-plan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index 0081f08f4a4..7cebe5b6500 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Tue, Oct 29, 2024 at 01:28 PM +Generated on Tue, Oct 29, 2024 at 01:43 PM ## Table of Contents From fc362f1a75d335870223b190507531c965e209bf Mon Sep 17 00:00:00 2001 From: svc-devtoolsbot <79531021+svc-devtoolsbot@users.noreply.github.com> Date: Tue, 29 Oct 2024 10:03:34 -0400 Subject: [PATCH 20/27] chore(release): bump package versions (#6366) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- configs/webpack-config-compass/package.json | 2 +- package-lock.json | 1500 ++++++++--------- packages/atlas-service/package.json | 18 +- packages/collection-model/package.json | 4 +- packages/compass-aggregations/package.json | 42 +- packages/compass-app-stores/package.json | 16 +- packages/compass-collection/package.json | 20 +- packages/compass-components/package.json | 4 +- .../package.json | 12 +- .../package.json | 14 +- packages/compass-connections/package.json | 22 +- packages/compass-crud/package.json | 32 +- packages/compass-e2e-tests/package.json | 8 +- packages/compass-editor/package.json | 4 +- packages/compass-explain-plan/package.json | 16 +- .../compass-export-to-language/package.json | 16 +- packages/compass-field-store/package.json | 6 +- packages/compass-find-in-page/package.json | 6 +- packages/compass-generative-ai/package.json | 12 +- packages/compass-global-writes/package.json | 16 +- packages/compass-import-export/package.json | 24 +- packages/compass-indexes/package.json | 28 +- packages/compass-intercom/package.json | 6 +- packages/compass-logging/package.json | 4 +- .../package.json | 4 +- .../compass-preferences-model/package.json | 8 +- packages/compass-query-bar/package.json | 28 +- .../package.json | 22 +- .../compass-schema-validation/package.json | 26 +- packages/compass-schema/package.json | 24 +- packages/compass-serverstats/package.json | 12 +- packages/compass-settings/package.json | 14 +- packages/compass-shell/package.json | 18 +- packages/compass-sidebar/package.json | 30 +- packages/compass-telemetry/package.json | 6 +- packages/compass-user-data/package.json | 6 +- packages/compass-utils/package.json | 2 +- packages/compass-web/package.json | 54 +- packages/compass-welcome/package.json | 14 +- packages/compass-workspaces/package.json | 16 +- packages/compass/package.json | 80 +- packages/connection-form/package.json | 10 +- packages/connection-info/package.json | 4 +- packages/connection-storage/package.json | 16 +- packages/data-service/package.json | 6 +- packages/database-model/package.json | 6 +- .../databases-collections-list/package.json | 14 +- packages/databases-collections/package.json | 28 +- packages/hadron-build/package.json | 2 +- packages/hadron-document/package.json | 2 +- packages/hadron-ipc/package.json | 2 +- packages/instance-model/package.json | 8 +- packages/my-queries-storage/package.json | 6 +- scripts/package.json | 2 +- 54 files changed, 1151 insertions(+), 1151 deletions(-) diff --git a/configs/webpack-config-compass/package.json b/configs/webpack-config-compass/package.json index 4dbf25fd636..1e917ca91ab 100644 --- a/configs/webpack-config-compass/package.json +++ b/configs/webpack-config-compass/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.4.4", + "version": "1.4.5", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" diff --git a/package-lock.json b/package-lock.json index d6eb2b175fa..ff4a8ccb0d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -497,7 +497,7 @@ }, "configs/webpack-config-compass": { "name": "@mongodb-js/webpack-config-compass", - "version": "1.4.4", + "version": "1.4.5", "license": "SSPL", "dependencies": { "@babel/core": "^7.21.4", @@ -43030,22 +43030,22 @@ }, "packages/atlas-service": { "name": "@mongodb-js/atlas-service", - "version": "0.30.1", + "version": "0.31.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/devtools-connect": "^3.3.1", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/oidc-plugin": "^1.1.1", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", "react": "^17.0.2", "react-redux": "^8.1.3", @@ -43136,12 +43136,12 @@ }, "packages/collection-model": { "name": "mongodb-collection-model", - "version": "5.23.5", + "version": "5.23.6", "license": "SSPL", "dependencies": { "ampersand-collection": "^2.0.2", "ampersand-model": "^8.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2" }, "devDependencies": { @@ -43171,56 +43171,56 @@ "devDependencies": { "@electron/rebuild": "^3.7.0", "@electron/remote": "^2.1.2", - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-aggregations": "^9.46.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connection-import-export": "^0.40.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-databases-collections": "^1.43.1", - "@mongodb-js/compass-explain-plan": "^6.44.1", - "@mongodb-js/compass-export-to-language": "^9.20.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-find-in-page": "^4.31.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-global-writes": "^1.3.1", - "@mongodb-js/compass-import-export": "^7.43.1", - "@mongodb-js/compass-indexes": "^5.43.1", - "@mongodb-js/compass-intercom": "^0.13.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-saved-aggregations-queries": "^1.44.1", - "@mongodb-js/compass-schema": "^6.45.1", - "@mongodb-js/compass-schema-validation": "^6.44.1", - "@mongodb-js/compass-serverstats": "^16.43.1", - "@mongodb-js/compass-settings": "^0.42.1", - "@mongodb-js/compass-shell": "^3.43.1", - "@mongodb-js/compass-sidebar": "^5.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-welcome": "^0.42.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-aggregations": "^9.47.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connection-import-export": "^0.41.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-databases-collections": "^1.44.0", + "@mongodb-js/compass-explain-plan": "^6.45.0", + "@mongodb-js/compass-export-to-language": "^9.21.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-find-in-page": "^4.32.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-global-writes": "^1.4.0", + "@mongodb-js/compass-import-export": "^7.44.0", + "@mongodb-js/compass-indexes": "^5.44.0", + "@mongodb-js/compass-intercom": "^0.13.2", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-saved-aggregations-queries": "^1.45.0", + "@mongodb-js/compass-schema": "^6.46.0", + "@mongodb-js/compass-schema-validation": "^6.45.0", + "@mongodb-js/compass-serverstats": "^16.44.0", + "@mongodb-js/compass-settings": "^0.43.0", + "@mongodb-js/compass-shell": "^3.44.0", + "@mongodb-js/compass-sidebar": "^5.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-welcome": "^0.43.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/get-os-info": "^0.3.24", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/mongodb-downloader": "^0.3.5", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/sbom-tools": "^0.7.0", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", - "@mongodb-js/webpack-config-compass": "^1.4.4", + "@mongodb-js/webpack-config-compass": "^1.4.5", "@segment/analytics-node": "^1.1.4", "ampersand-view": "^9.0.0", "chai": "^4.3.4", "chalk": "^4.1.2", "clean-stack": "^2.0.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -43232,8 +43232,8 @@ "ensure-error": "^3.0.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-build": "^25.5.12", - "hadron-ipc": "^3.2.23", + "hadron-build": "^25.5.13", + "hadron-ipc": "^3.2.24", "local-links": "^1.4.0", "make-fetch-happen": "^10.2.1", "marky": "^1.2.1", @@ -43241,8 +43241,8 @@ "mongodb-build-info": "^1.7.2", "mongodb-cloud-info": "^2.1.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-data-service": "^22.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-log-writer": "^1.4.2", "mongodb-ns": "^2.4.2", "react": "^17.0.2", @@ -43262,7 +43262,7 @@ }, "packages/compass-aggregations": { "name": "@mongodb-js/compass-aggregations", - "version": "9.46.1", + "version": "9.47.0", "license": "SSPL", "dependencies": { "@babel/generator": "^7.19.5", @@ -43271,34 +43271,34 @@ "@dnd-kit/core": "^6.0.7", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/explain-plan-helper": "^1.2.4", "@mongodb-js/mongodb-constants": "^0.10.0", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/shell-bson-parser": "^1.1.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-schema": "^12.2.0", @@ -43363,17 +43363,17 @@ }, "packages/compass-app-stores": { "name": "@mongodb-js/compass-app-stores", - "version": "7.30.1", + "version": "7.31.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/connection-info": "^0.9.2", "hadron-app-registry": "^9.2.7", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "react": "^17.0.2" }, @@ -43427,20 +43427,20 @@ }, "packages/compass-collection": { "name": "@mongodb-js/compass-collection", - "version": "4.43.1", + "version": "4.44.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/mongodb-constants": "^0.10.2", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", - "mongodb-collection-model": "^5.23.5", + "mongodb-collection-model": "^5.23.6", "mongodb-ns": "^2.4.2", "react": "^17.0.2", "react-redux": "^8.1.3", @@ -43501,7 +43501,7 @@ }, "packages/compass-components": { "name": "@mongodb-js/compass-components", - "version": "1.30.1", + "version": "1.31.0", "license": "SSPL", "dependencies": { "@dnd-kit/core": "^6.0.7", @@ -43552,7 +43552,7 @@ "@tanstack/table-core": "^8.14.0", "bson": "^6.8.0", "focus-trap-react": "^9.0.2", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "is-electron-renderer": "^2.0.1", "lodash": "^4.17.21", @@ -43710,14 +43710,14 @@ }, "packages/compass-connection-import-export": { "name": "@mongodb-js/compass-connection-import-export", - "version": "0.40.1", + "version": "0.41.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/connection-storage": "^0.22.2", - "compass-preferences-model": "^2.29.1", - "hadron-ipc": "^3.2.23", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/connection-storage": "^0.22.3", + "compass-preferences-model": "^2.29.2", + "hadron-ipc": "^3.2.24", "react": "^17.0.2" }, "devDependencies": { @@ -43772,24 +43772,24 @@ }, "packages/compass-connections": { "name": "@mongodb-js/compass-connections", - "version": "1.44.1", + "version": "1.45.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/connection-storage": "^0.22.3", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb-build-info": "^1.7.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "react": "^17.0.2", "react-redux": "^8.1.3", "redux": "^4.2.1", @@ -43821,15 +43821,15 @@ }, "packages/compass-connections-navigation": { "name": "@mongodb-js/compass-connections-navigation", - "version": "1.43.1", + "version": "1.44.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", + "compass-preferences-model": "^2.29.2", "mongodb-build-info": "^1.7.2", "react": "^17.0.2", "react-virtualized-auto-sizer": "^1.0.6", @@ -43916,33 +43916,33 @@ }, "packages/compass-crud": { "name": "@mongodb-js/compass-crud", - "version": "13.44.1", + "version": "13.45.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/explain-plan-helper": "^1.2.4", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/reflux-state-mixin": "^1.0.7", "@mongodb-js/shell-bson-parser": "^1.1.2", "ag-grid-community": "^20.2.0", "ag-grid-react": "^20.2.0", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "jsondiffpatch": "^0.5.0", "lodash": "^4.17.21", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "numeral": "^2.0.6", @@ -43968,7 +43968,7 @@ "enzyme": "^3.11.0", "eslint": "^7.25.0", "mocha": "^10.2.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "nyc": "^15.1.0", "react-dom": "^17.0.2", "sinon": "^8.1.1", @@ -44020,11 +44020,11 @@ } }, "packages/compass-e2e-tests": { - "version": "1.27.3", + "version": "1.27.4", "devDependencies": { "@electron/rebuild": "^3.7.0", "@mongodb-js/compass-test-server": "^0.1.22", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/oidc-mock-provider": "^0.9.3", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -44038,7 +44038,7 @@ "chai": "^4.3.4", "chai-as-promised": "^7.1.1", "clipboardy": "^2.3.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -44046,7 +44046,7 @@ "electron-to-chromium": "^1.5.41", "eslint": "^7.25.0", "glob": "^10.2.5", - "hadron-build": "^25.5.12", + "hadron-build": "^25.5.13", "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", @@ -44426,7 +44426,7 @@ }, "packages/compass-editor": { "name": "@mongodb-js/compass-editor", - "version": "0.31.1", + "version": "0.32.0", "license": "SSPL", "dependencies": { "@codemirror/autocomplete": "^6.17.0", @@ -44438,7 +44438,7 @@ "@codemirror/state": "^6.1.4", "@codemirror/view": "^6.7.1", "@lezer/highlight": "^1.2.0", - "@mongodb-js/compass-components": "^1.30.1", + "@mongodb-js/compass-components": "^1.31.0", "@mongodb-js/mongodb-constants": "^0.10.0", "mongodb-query-parser": "^4.2.3", "polished": "^4.2.2", @@ -44492,17 +44492,17 @@ }, "packages/compass-explain-plan": { "name": "@mongodb-js/compass-explain-plan", - "version": "6.44.1", + "version": "6.45.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/explain-plan-helper": "^1.2.4", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "d3": "^3.5.17", "d3-flextree": "^2.1.2", "d3-hierarchy": "^3.1.2", @@ -44571,18 +44571,18 @@ }, "packages/compass-export-to-language": { "name": "@mongodb-js/compass-export-to-language", - "version": "9.20.1", + "version": "9.21.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/shell-bson-parser": "^1.1.2", "bson-transpilers": "^3.0.10", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "mongodb-ns": "^2.4.2", "react": "^17.0.2", @@ -44634,11 +44634,11 @@ }, "packages/compass-field-store": { "name": "@mongodb-js/compass-field-store", - "version": "9.19.1", + "version": "9.20.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb-schema": "^12.2.0", @@ -44697,12 +44697,12 @@ }, "packages/compass-find-in-page": { "name": "@mongodb-js/compass-find-in-page", - "version": "4.31.1", + "version": "4.32.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", + "@mongodb-js/compass-components": "^1.31.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "react": "^17.0.2", "react-redux": "^8.1.3", "redux": "^4.2.1", @@ -44763,15 +44763,15 @@ }, "packages/compass-generative-ai": { "name": "@mongodb-js/compass-generative-ai", - "version": "0.24.1", + "version": "0.25.0", "license": "SSPL", "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-intercom": "^0.13.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-intercom": "^0.13.2", + "@mongodb-js/compass-logging": "^1.4.9", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "mongodb": "^6.9.0", "mongodb-schema": "^12.2.0", @@ -44864,16 +44864,16 @@ }, "packages/compass-global-writes": { "name": "@mongodb-js/compass-global-writes", - "version": "1.3.1", + "version": "1.4.0", "license": "SSPL", "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb-ns": "^2.4.2", @@ -45058,27 +45058,27 @@ }, "packages/compass-import-export": { "name": "@mongodb-js/compass-import-export", - "version": "7.43.1", + "version": "7.44.0", "license": "SSPL", "dependencies": { "@electron/remote": "^2.1.2", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "debug": "^4.3.4", "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", - "hadron-ipc": "^3.2.23", + "hadron-document": "^8.6.5", + "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-schema": "^12.2.0", @@ -45152,28 +45152,28 @@ }, "packages/compass-indexes": { "name": "@mongodb-js/compass-indexes", - "version": "5.43.1", + "version": "5.44.0", "license": "SSPL", "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/mongodb-constants": "^0.10.0", "@mongodb-js/shell-bson-parser": "^1.1.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "numeral": "^2.0.6", @@ -45282,11 +45282,11 @@ }, "packages/compass-intercom": { "name": "@mongodb-js/compass-intercom", - "version": "0.13.1", + "version": "0.13.2", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "compass-preferences-model": "^2.29.1" + "@mongodb-js/compass-logging": "^1.4.9", + "compass-preferences-model": "^2.29.2" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -45389,12 +45389,12 @@ }, "packages/compass-logging": { "name": "@mongodb-js/compass-logging", - "version": "1.4.8", + "version": "1.4.9", "license": "SSPL", "dependencies": { "debug": "^4.3.4", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "is-electron-renderer": "^2.0.1", "mongodb-log-writer": "^1.4.2", "react": "^17.0.2" @@ -45447,10 +45447,10 @@ }, "packages/compass-maybe-protect-connection-string": { "name": "@mongodb-js/compass-maybe-protect-connection-string", - "version": "0.27.1", + "version": "0.27.2", "license": "SSPL", "dependencies": { - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "mongodb-connection-string-url": "^3.0.1" }, "devDependencies": { @@ -45500,15 +45500,15 @@ } }, "packages/compass-preferences-model": { - "version": "2.29.1", + "version": "2.29.2", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-user-data": "^0.3.8", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-user-data": "^0.3.9", "@mongodb-js/devtools-proxy-support": "^0.4.1", "bson": "^6.8.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "js-yaml": "^4.1.0", "lodash": "^4.17.21", "react": "^17.0.2", @@ -45566,27 +45566,27 @@ }, "packages/compass-query-bar": { "name": "@mongodb-js/compass-query-bar", - "version": "8.45.1", + "version": "8.46.0", "license": "SSPL", "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/mongodb-constants": "^0.10.0", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-query-util": "^2.2.9", @@ -45644,20 +45644,20 @@ }, "packages/compass-saved-aggregations-queries": { "name": "@mongodb-js/compass-saved-aggregations-queries", - "version": "1.44.1", + "version": "1.45.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/my-queries-storage": "^0.18.0", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "fuse.js": "^6.5.3", "hadron-app-registry": "^9.2.7", "mongodb-ns": "^2.4.2", @@ -45720,23 +45720,23 @@ }, "packages/compass-schema": { "name": "@mongodb-js/compass-schema", - "version": "6.45.1", + "version": "6.46.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/reflux-state-mixin": "^1.0.7", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "d3": "^3.5.17", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "leaflet": "^1.5.1", "leaflet-defaulticon-compatibility": "^0.1.1", "leaflet-draw": "^1.0.4", @@ -45755,7 +45755,7 @@ "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", @@ -45779,20 +45779,20 @@ }, "packages/compass-schema-validation": { "name": "@mongodb-js/compass-schema-validation", - "version": "6.44.1", + "version": "6.45.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "javascript-stringify": "^2.0.1", "lodash": "^4.17.21", @@ -45818,9 +45818,9 @@ "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "mocha": "^10.2.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "nyc": "^15.1.0", "react-dom": "^17.0.2", "sinon": "^8.1.1", @@ -45856,14 +45856,14 @@ }, "packages/compass-serverstats": { "name": "@mongodb-js/compass-serverstats", - "version": "16.43.1", + "version": "16.44.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", "d3": "^3.5.17", "d3-timer": "^1.0.3", "debug": "^4.3.4", @@ -45905,16 +45905,16 @@ }, "packages/compass-settings": { "name": "@mongodb-js/compass-settings", - "version": "0.42.1", + "version": "0.43.0", "license": "SSPL", "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "react": "^17.0.2", "react-redux": "^8.1.3", "redux": "^4.2.1", @@ -45974,21 +45974,21 @@ }, "packages/compass-shell": { "name": "@mongodb-js/compass-shell", - "version": "3.43.1", + "version": "3.44.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongosh/browser-repl": "^2.3.2", "@mongosh/logging": "^2.3.2", "@mongosh/node-runtime-worker-thread": "^2.3.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "react": "^17.0.2", "react-redux": "^8.1.3", @@ -46044,25 +46044,25 @@ }, "packages/compass-sidebar": { "name": "@mongodb-js/compass-sidebar", - "version": "5.44.1", + "version": "5.45.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connection-import-export": "^0.40.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-connections-navigation": "^1.43.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connection-import-export": "^0.41.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-connections-navigation": "^1.44.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "react": "^17.0.2", "react-redux": "^8.1.3", @@ -46086,7 +46086,7 @@ "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "nyc": "^15.1.0", "prettier": "^2.7.1", "react-dom": "^17.0.2", @@ -46124,12 +46124,12 @@ }, "packages/compass-telemetry": { "name": "@mongodb-js/compass-telemetry", - "version": "1.2.1", + "version": "1.2.2", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-logging": "^1.4.9", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "react": "^17.0.2" }, "devDependencies": { @@ -46285,11 +46285,11 @@ }, "packages/compass-user-data": { "name": "@mongodb-js/compass-user-data", - "version": "0.3.8", + "version": "0.3.9", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-utils": "^0.6.12", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-utils": "^0.6.13", "write-file-atomic": "^5.0.1", "zod": "^3.22.3" }, @@ -46365,7 +46365,7 @@ }, "packages/compass-utils": { "name": "@mongodb-js/compass-utils", - "version": "0.6.12", + "version": "0.6.13", "license": "SSPL", "dependencies": { "@electron/remote": "^2.1.2", @@ -46419,39 +46419,39 @@ }, "packages/compass-web": { "name": "@mongodb-js/compass-web", - "version": "0.9.1", + "version": "0.10.0", "license": "SSPL", "devDependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-aggregations": "^9.46.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-databases-collections": "^1.43.1", - "@mongodb-js/compass-explain-plan": "^6.44.1", - "@mongodb-js/compass-export-to-language": "^9.20.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-global-writes": "^1.3.1", - "@mongodb-js/compass-indexes": "^5.43.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-schema": "^6.45.1", - "@mongodb-js/compass-schema-validation": "^6.44.1", - "@mongodb-js/compass-sidebar": "^5.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-welcome": "^0.42.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-aggregations": "^9.47.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-databases-collections": "^1.44.0", + "@mongodb-js/compass-explain-plan": "^6.45.0", + "@mongodb-js/compass-export-to-language": "^9.21.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-global-writes": "^1.4.0", + "@mongodb-js/compass-indexes": "^5.44.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-schema": "^6.46.0", + "@mongodb-js/compass-schema-validation": "^6.45.0", + "@mongodb-js/compass-sidebar": "^5.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-welcome": "^0.43.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", - "@mongodb-js/webpack-config-compass": "^1.4.4", + "@mongodb-js/webpack-config-compass": "^1.4.5", "@types/chai": "^4.2.21", "@types/chai-dom": "^0.0.10", "@types/express-http-proxy": "^1.6.6", @@ -46463,7 +46463,7 @@ "bson": "^6.2.0", "buffer": "^6.0.3", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "crypto-browserify": "^3.12.0", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -46479,7 +46479,7 @@ "mocha": "^10.2.0", "mongodb": "^6.9.0", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "nyc": "^15.1.0", "os-browserify": "^0.3.0", @@ -46684,15 +46684,15 @@ }, "packages/compass-welcome": { "name": "@mongodb-js/compass-welcome", - "version": "0.42.1", + "version": "0.43.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "react": "^17.0.2", "redux": "^4.2.1", @@ -46750,19 +46750,19 @@ }, "packages/compass-workspaces": { "name": "@mongodb-js/compass-workspaces", - "version": "0.25.1", + "version": "0.26.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", "mongodb-ns": "^2.4.2", "react": "^17.0.2", "react-redux": "^8.1.3", @@ -46930,18 +46930,18 @@ }, "packages/connection-form": { "name": "@mongodb-js/connection-form", - "version": "1.42.0", + "version": "1.43.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/shell-bson-parser": "^1.1.2", "lodash": "^4.17.21", "mongodb": "^6.9.0", "mongodb-build-info": "^1.7.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-query-parser": "^4.2.3", "react": "^17.0.2" }, @@ -46997,13 +46997,13 @@ }, "packages/connection-info": { "name": "@mongodb-js/connection-info", - "version": "0.9.1", + "version": "0.9.2", "license": "SSPL", "dependencies": { "lodash": "^4.17.21", "mongodb": "^6.9.0", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5" + "mongodb-data-service": "^22.23.6" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -47123,19 +47123,19 @@ }, "packages/connection-storage": { "name": "@mongodb-js/connection-storage", - "version": "0.22.2", + "version": "0.22.3", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-info": "^0.9.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "keytar": "^7.9.0", "lodash": "^4.17.21", "mongodb-connection-string-url": "^3.0.1", @@ -47188,11 +47188,11 @@ }, "packages/data-service": { "name": "mongodb-data-service", - "version": "22.23.5", + "version": "22.23.6", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-utils": "^0.6.12", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-utils": "^0.6.13", "@mongodb-js/devtools-connect": "^3.3.1", "@mongodb-js/devtools-proxy-support": "^0.4.1", "bson": "^6.8.0", @@ -47373,13 +47373,13 @@ }, "packages/database-model": { "name": "mongodb-database-model", - "version": "2.23.5", + "version": "2.23.6", "license": "SSPL", "dependencies": { "ampersand-collection": "^2.0.2", "ampersand-model": "^8.0.1", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5" + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -47440,24 +47440,24 @@ }, "packages/databases-collections": { "name": "@mongodb-js/compass-databases-collections", - "version": "1.43.1", + "version": "1.44.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/databases-collections-list": "^1.41.1", - "@mongodb-js/my-queries-storage": "^0.17.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/databases-collections-list": "^1.42.0", + "@mongodb-js/my-queries-storage": "^0.18.0", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "prop-types": "^15.7.2", @@ -47487,15 +47487,15 @@ }, "packages/databases-collections-list": { "name": "@mongodb-js/databases-collections-list", - "version": "1.41.1", + "version": "1.42.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", + "compass-preferences-model": "^2.29.2", "mongodb-ns": "^2.4.2", "react": "^17.0.2" }, @@ -47739,7 +47739,7 @@ } }, "packages/hadron-build": { - "version": "25.5.12", + "version": "25.5.13", "hasInstallScript": true, "license": "SSPL", "dependencies": { @@ -48496,7 +48496,7 @@ } }, "packages/hadron-document": { - "version": "8.6.4", + "version": "8.6.5", "license": "SSPL", "dependencies": { "bson": "^6.8.0", @@ -48616,7 +48616,7 @@ } }, "packages/hadron-ipc": { - "version": "3.2.23", + "version": "3.2.24", "license": "SSPL", "dependencies": { "debug": "^4.3.4", @@ -48687,13 +48687,13 @@ }, "packages/instance-model": { "name": "mongodb-instance-model", - "version": "12.24.5", + "version": "12.24.6", "license": "SSPL", "dependencies": { "ampersand-model": "^8.0.1", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", - "mongodb-database-model": "^2.23.5" + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", + "mongodb-database-model": "^2.23.6" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -48959,11 +48959,11 @@ }, "packages/my-queries-storage": { "name": "@mongodb-js/my-queries-storage", - "version": "0.17.1", + "version": "0.18.0", "license": "SSPL", "dependencies": { - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-user-data": "^0.3.8", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-user-data": "^0.3.9", "bson": "^6.8.0", "hadron-app-registry": "^9.2.7", "react": "^17.0.2" @@ -49580,7 +49580,7 @@ }, "scripts": { "name": "@mongodb-js/compass-scripts", - "version": "0.16.23", + "version": "0.16.24", "license": "SSPL", "dependencies": { "@babel/core": "^7.24.3", @@ -54913,12 +54913,12 @@ "@mongodb-js/atlas-service": { "version": "file:packages/atlas-service", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/devtools-connect": "^3.3.1", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -54931,12 +54931,12 @@ "@types/mocha": "^9.0.0", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron": "^32.2.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", "mocha": "^10.2.0", "nyc": "^15.1.0", @@ -54980,24 +54980,24 @@ "@dnd-kit/core": "^6.0.7", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/explain-plan-helper": "^1.2.4", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/mongodb-constants": "^0.10.0", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/shell-bson-parser": "^1.1.2", "@mongodb-js/testing-library-compass": "^1.0.2", @@ -55008,21 +55008,21 @@ "@types/semver": "^7.3.9", "bson": "^6.8.0", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-schema": "^12.2.0", @@ -55066,10 +55066,10 @@ "@mongodb-js/compass-app-stores": { "version": "file:packages/compass-app-stores", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -55084,9 +55084,9 @@ "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", "mocha": "^10.2.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "nyc": "^15.1.0", "prettier": "^2.7.1", @@ -55121,13 +55121,13 @@ "@mongodb-js/compass-collection": { "version": "file:packages/compass-collection", "requires": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/mongodb-constants": "^0.10.2", @@ -55141,13 +55141,13 @@ "@types/react-dom": "^17.0.10", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", "mocha": "^10.2.0", - "mongodb-collection-model": "^5.23.5", + "mongodb-collection-model": "^5.23.6", "mongodb-ns": "^2.4.2", "nyc": "^15.1.0", "prettier": "^2.7.1", @@ -55246,7 +55246,7 @@ "chai": "^4.3.4", "eslint": "^7.25.0", "focus-trap-react": "^9.0.2", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "is-electron-renderer": "^2.0.1", "lodash": "^4.17.21", @@ -55375,9 +55375,9 @@ "@mongodb-js/compass-connection-import-export": { "version": "file:packages/compass-connection-import-export", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -55389,11 +55389,11 @@ "@types/react": "^17.0.5", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "eslint": "^7.25.0", "gen-esm-wrapper": "^1.1.0", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", "mocha": "^10.2.0", "nyc": "^15.1.0", @@ -55430,14 +55430,14 @@ "@mongodb-js/compass-connections": { "version": "file:packages/compass-connections", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -55451,7 +55451,7 @@ "@types/sinon-chai": "^3.2.5", "bson": "^6.8.0", "chai": "^4.3.4", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", @@ -55460,7 +55460,7 @@ "mocha": "^10.2.0", "mongodb-build-info": "^1.7.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "nyc": "^15.1.0", "prettier": "^2.7.1", "react": "^17.0.2", @@ -55499,11 +55499,11 @@ "@mongodb-js/compass-connections-navigation": { "version": "file:packages/compass-connections-navigation", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -55518,7 +55518,7 @@ "@types/react-window": "^1.8.5", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.4", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -55560,21 +55560,21 @@ "@mongodb-js/compass-crud": { "version": "file:packages/compass-crud", "requires": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/compass-test-server": "^0.1.22", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/explain-plan-helper": "^1.2.4", "@mongodb-js/mocha-config-compass": "^1.4.2", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/reflux-state-mixin": "^1.0.7", "@mongodb-js/shell-bson-parser": "^1.1.2", @@ -55587,20 +55587,20 @@ "bson": "^6.8.0", "chai": "^4.1.2", "chai-as-promised": "^7.1.1", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "jsondiffpatch": "^0.5.0", "lodash": "^4.17.21", "mocha": "^10.2.0", - "mongodb-data-service": "^22.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-data-service": "^22.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "numeral": "^2.0.6", @@ -55624,32 +55624,32 @@ "@mongodb-js/compass-databases-collections": { "version": "file:packages/databases-collections", "requires": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/databases-collections-list": "^1.41.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/databases-collections-list": "^1.42.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", "bson": "^6.8.0", "chai": "^4.2.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "enzyme": "^3.11.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mocha": "^10.2.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "nyc": "^15.1.0", @@ -55698,7 +55698,7 @@ "@codemirror/state": "^6.1.4", "@codemirror/view": "^6.7.1", "@lezer/highlight": "^1.2.0", - "@mongodb-js/compass-components": "^1.30.1", + "@mongodb-js/compass-components": "^1.31.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/mongodb-constants": "^0.10.0", @@ -55748,12 +55748,12 @@ "@mongodb-js/compass-explain-plan": { "version": "file:packages/compass-explain-plan", "requires": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/explain-plan-helper": "^1.2.4", "@mongodb-js/mocha-config-compass": "^1.4.2", @@ -55764,7 +55764,7 @@ "@types/d3-flextree": "^2.1.0", "@types/d3-hierarchy": "^3.1.2", "chai": "^4.2.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "d3": "^3.5.17", "d3-flextree": "^2.1.2", "d3-hierarchy": "^3.1.2", @@ -55818,12 +55818,12 @@ "@mongodb-js/compass-export-to-language": { "version": "file:packages/compass-export-to-language", "requires": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -55832,7 +55832,7 @@ "@mongodb-js/tsconfig-compass": "^1.0.5", "bson-transpilers": "^3.0.10", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -55874,8 +55874,8 @@ "@mongodb-js/compass-field-store": { "version": "file:packages/compass-field-store", "requires": { - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -55928,7 +55928,7 @@ "@mongodb-js/compass-find-in-page": { "version": "file:packages/compass-find-in-page", "requires": { - "@mongodb-js/compass-components": "^1.30.1", + "@mongodb-js/compass-components": "^1.31.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -55946,7 +55946,7 @@ "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "mocha": "^10.2.0", "nyc": "^15.1.0", "prettier": "^2.7.1", @@ -55987,10 +55987,10 @@ "@mongodb-js/compass-generative-ai": { "version": "file:packages/compass-generative-ai", "requires": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-intercom": "^0.13.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-intercom": "^0.13.2", + "@mongodb-js/compass-logging": "^1.4.9", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -56003,7 +56003,7 @@ "@types/sinon-chai": "^3.2.5", "bson": "^6.8.0", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", @@ -56067,13 +56067,13 @@ "@mongodb-js/compass-global-writes": { "version": "file:packages/compass-global-writes", "requires": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -56185,14 +56185,14 @@ "version": "file:packages/compass-import-export", "requires": { "@electron/remote": "^2.1.2", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/compass-test-server": "^0.1.22", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -56211,19 +56211,19 @@ "bson": "^6.8.0", "chai": "^4.3.6", "chai-as-promised": "^7.1.1", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "debug": "^4.3.4", "depcheck": "^1.4.1", "electron": "^32.2.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", - "hadron-ipc": "^3.2.23", + "hadron-document": "^8.6.5", + "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-schema": "^12.2.0", @@ -56269,16 +56269,16 @@ "@mongodb-js/compass-indexes": { "version": "file:packages/compass-indexes", "requires": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/mongodb-constants": "^0.10.0", @@ -56289,7 +56289,7 @@ "@types/numeral": "^2.0.5", "bson": "^6.8.0", "chai": "^4.2.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron": "^32.2.1", "electron-mocha": "^12.2.0", @@ -56298,8 +56298,8 @@ "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "numeral": "^2.0.6", @@ -56347,7 +56347,7 @@ "@mongodb-js/compass-intercom": { "version": "file:packages/compass-intercom", "requires": { - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-logging": "^1.4.9", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -56356,7 +56356,7 @@ "@types/mocha": "^9.0.0", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "eslint": "^7.25.0", "gen-esm-wrapper": "^1.1.0", @@ -56463,7 +56463,7 @@ "depcheck": "^1.4.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "is-electron-renderer": "^2.0.1", "mocha": "^10.2.0", "mongodb-log-writer": "^1.4.2", @@ -56509,7 +56509,7 @@ "@types/mocha": "^9.0.0", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "eslint": "^7.25.0", "gen-esm-wrapper": "^1.1.0", @@ -56548,26 +56548,26 @@ "@mongodb-js/compass-query-bar": { "version": "file:packages/compass-query-bar", "requires": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/mongodb-constants": "^0.10.0", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", "bson": "^6.8.0", "chai": "^4.2.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron": "^32.2.1", "electron-mocha": "^12.2.0", @@ -56576,7 +56576,7 @@ "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-query-util": "^2.2.9", @@ -56617,17 +56617,17 @@ "@mongodb-js/compass-saved-aggregations-queries": { "version": "file:packages/compass-saved-aggregations-queries", "requires": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", @@ -56639,7 +56639,7 @@ "@types/sinon-chai": "^3.2.5", "bson": "^6.8.0", "chai": "^4.3.4", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", @@ -56686,17 +56686,17 @@ "@mongodb-js/compass-schema": { "version": "file:packages/compass-schema", "requires": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/reflux-state-mixin": "^1.0.7", "@mongodb-js/testing-library-compass": "^1.0.2", @@ -56709,13 +56709,13 @@ "@types/react-dom": "^17.0.10", "bson": "^6.8.0", "chai": "^4.3.4", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "d3": "^3.5.17", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "leaflet": "^1.5.1", "leaflet-defaulticon-compatibility": "^0.1.1", "leaflet-draw": "^1.0.4", @@ -56763,15 +56763,15 @@ "@mongodb-js/compass-schema-validation": { "version": "file:packages/compass-schema-validation", "requires": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -56780,18 +56780,18 @@ "@types/enzyme": "^3.10.14", "bson": "^6.8.0", "chai": "^4.2.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron": "^32.2.1", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "javascript-stringify": "^2.0.1", "lodash": "^4.17.21", "mocha": "^10.2.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "nyc": "^15.1.0", @@ -57000,11 +57000,11 @@ "@mongodb-js/compass-serverstats": { "version": "file:packages/compass-serverstats", "requires": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57047,10 +57047,10 @@ "@mongodb-js/compass-settings": { "version": "file:packages/compass-settings", "requires": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57063,12 +57063,12 @@ "@types/react-dom": "^17.0.10", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "mocha": "^10.2.0", "nyc": "^15.1.0", "prettier": "^2.7.1", @@ -57109,13 +57109,13 @@ "@mongodb-js/compass-shell": { "version": "file:packages/compass-shell", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57127,7 +57127,7 @@ "@types/enzyme": "^3.10.14", "bson": "^6.8.0", "chai": "^4.2.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron": "^32.2.1", "electron-mocha": "^12.2.0", @@ -57170,17 +57170,17 @@ "@mongodb-js/compass-sidebar": { "version": "file:packages/compass-sidebar", "requires": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connection-import-export": "^0.40.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-connections-navigation": "^1.43.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connection-import-export": "^0.41.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-connections-navigation": "^1.44.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57193,7 +57193,7 @@ "@types/react-dom": "^17.0.10", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", @@ -57201,8 +57201,8 @@ "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", - "mongodb-data-service": "^22.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-data-service": "^22.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "nyc": "^15.1.0", "prettier": "^2.7.1", @@ -57243,7 +57243,7 @@ "@mongodb-js/compass-telemetry": { "version": "file:packages/compass-telemetry", "requires": { - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-logging": "^1.4.9", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57256,7 +57256,7 @@ "eslint": "^7.25.0", "gen-esm-wrapper": "^1.1.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "mocha": "^10.2.0", "nyc": "^15.1.0", "prettier": "^2.7.1", @@ -57391,8 +57391,8 @@ "@mongodb-js/compass-user-data": { "version": "file:packages/compass-user-data", "requires": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-utils": "^0.6.12", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-utils": "^0.6.13", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57500,36 +57500,36 @@ "@mongodb-js/compass-web": { "version": "file:packages/compass-web", "requires": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-aggregations": "^9.46.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-databases-collections": "^1.43.1", - "@mongodb-js/compass-explain-plan": "^6.44.1", - "@mongodb-js/compass-export-to-language": "^9.20.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-global-writes": "^1.3.1", - "@mongodb-js/compass-indexes": "^5.43.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-schema": "^6.45.1", - "@mongodb-js/compass-schema-validation": "^6.44.1", - "@mongodb-js/compass-sidebar": "^5.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-welcome": "^0.42.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-aggregations": "^9.47.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-databases-collections": "^1.44.0", + "@mongodb-js/compass-explain-plan": "^6.45.0", + "@mongodb-js/compass-export-to-language": "^9.21.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-global-writes": "^1.4.0", + "@mongodb-js/compass-indexes": "^5.44.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-schema": "^6.46.0", + "@mongodb-js/compass-schema-validation": "^6.45.0", + "@mongodb-js/compass-sidebar": "^5.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-welcome": "^0.43.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", - "@mongodb-js/webpack-config-compass": "^1.4.4", + "@mongodb-js/webpack-config-compass": "^1.4.5", "@types/chai": "^4.2.21", "@types/chai-dom": "^0.0.10", "@types/express-http-proxy": "^1.6.6", @@ -57541,7 +57541,7 @@ "bson": "^6.2.0", "buffer": "^6.0.3", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "crypto-browserify": "^3.12.0", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -57557,7 +57557,7 @@ "mocha": "^10.2.0", "mongodb": "^6.9.0", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "nyc": "^15.1.0", "os-browserify": "^0.3.0", @@ -57733,11 +57733,11 @@ "@mongodb-js/compass-welcome": { "version": "file:packages/compass-welcome", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57749,7 +57749,7 @@ "@types/react": "^17.0.5", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", @@ -57792,10 +57792,10 @@ "@mongodb-js/compass-workspaces": { "version": "file:packages/compass-workspaces", "requires": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57809,15 +57809,15 @@ "@types/sinon-chai": "^3.2.5", "bson": "^6.8.0", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mocha": "^10.2.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", "mongodb-ns": "^2.4.2", "nyc": "^15.1.0", "prettier": "^2.7.1", @@ -57934,9 +57934,9 @@ "@mongodb-js/connection-form": { "version": "file:packages/connection-form", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -57958,7 +57958,7 @@ "mongodb": "^6.9.0", "mongodb-build-info": "^1.7.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-query-parser": "^4.2.3", "nyc": "^15.1.0", "prettier": "^2.7.1", @@ -58010,7 +58010,7 @@ "mocha": "^10.2.0", "mongodb": "^6.9.0", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "nyc": "^15.1.0", "prettier": "^2.7.1", "sinon": "^17.0.1", @@ -58120,11 +58120,11 @@ "@mongodb-js/connection-storage": { "version": "file:packages/connection-storage", "requires": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -58134,12 +58134,12 @@ "@types/sinon-chai": "^3.2.5", "bson": "^6.8.0", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "electron": "^32.2.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "keytar": "^7.9.0", "lodash": "^4.17.21", "mocha": "^10.2.0", @@ -58176,11 +58176,11 @@ "@mongodb-js/databases-collections-list": { "version": "file:packages/databases-collections-list", "requires": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -58192,7 +58192,7 @@ "@types/react": "^17.0.5", "@types/sinon-chai": "^3.2.5", "chai": "^4.3.4", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -58813,8 +58813,8 @@ "@mongodb-js/my-queries-storage": { "version": "file:packages/my-queries-storage", "requires": { - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-user-data": "^0.3.8", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-user-data": "^0.3.9", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -66710,7 +66710,7 @@ "requires": { "@electron/rebuild": "^3.7.0", "@mongodb-js/compass-test-server": "^0.1.22", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/oidc-mock-provider": "^0.9.3", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -66724,7 +66724,7 @@ "chai": "^4.3.4", "chai-as-promised": "^7.1.1", "clipboardy": "^2.3.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -66732,7 +66732,7 @@ "electron-to-chromium": "^1.5.41", "eslint": "^7.25.0", "glob": "^10.2.5", - "hadron-build": "^25.5.12", + "hadron-build": "^25.5.13", "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", @@ -67012,8 +67012,8 @@ "compass-preferences-model": { "version": "file:packages/compass-preferences-model", "requires": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-user-data": "^0.3.8", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-user-data": "^0.3.9", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", @@ -67026,7 +67026,7 @@ "depcheck": "^1.4.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "js-yaml": "^4.1.0", "lodash": "^4.17.21", "mocha": "^10.2.0", @@ -78532,7 +78532,7 @@ "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "xvfb-maybe": "^0.2.1" } @@ -78542,50 +78542,50 @@ "requires": { "@electron/rebuild": "^3.7.0", "@electron/remote": "^2.1.2", - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-aggregations": "^9.46.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connection-import-export": "^0.40.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-databases-collections": "^1.43.1", - "@mongodb-js/compass-explain-plan": "^6.44.1", - "@mongodb-js/compass-export-to-language": "^9.20.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-find-in-page": "^4.31.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-global-writes": "^1.3.1", - "@mongodb-js/compass-import-export": "^7.43.1", - "@mongodb-js/compass-indexes": "^5.43.1", - "@mongodb-js/compass-intercom": "^0.13.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-saved-aggregations-queries": "^1.44.1", - "@mongodb-js/compass-schema": "^6.45.1", - "@mongodb-js/compass-schema-validation": "^6.44.1", - "@mongodb-js/compass-serverstats": "^16.43.1", - "@mongodb-js/compass-settings": "^0.42.1", - "@mongodb-js/compass-shell": "^3.43.1", - "@mongodb-js/compass-sidebar": "^5.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-welcome": "^0.42.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-aggregations": "^9.47.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connection-import-export": "^0.41.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-databases-collections": "^1.44.0", + "@mongodb-js/compass-explain-plan": "^6.45.0", + "@mongodb-js/compass-export-to-language": "^9.21.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-find-in-page": "^4.32.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-global-writes": "^1.4.0", + "@mongodb-js/compass-import-export": "^7.44.0", + "@mongodb-js/compass-indexes": "^5.44.0", + "@mongodb-js/compass-intercom": "^0.13.2", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-saved-aggregations-queries": "^1.45.0", + "@mongodb-js/compass-schema": "^6.46.0", + "@mongodb-js/compass-schema-validation": "^6.45.0", + "@mongodb-js/compass-serverstats": "^16.44.0", + "@mongodb-js/compass-settings": "^0.43.0", + "@mongodb-js/compass-shell": "^3.44.0", + "@mongodb-js/compass-sidebar": "^5.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-welcome": "^0.43.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/get-os-info": "^0.3.24", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/mongodb-downloader": "^0.3.5", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/sbom-tools": "^0.7.0", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", - "@mongodb-js/webpack-config-compass": "^1.4.4", + "@mongodb-js/webpack-config-compass": "^1.4.5", "@mongosh/node-runtime-worker-thread": "^2.3.2", "@segment/analytics-node": "^1.1.4", "ampersand-view": "^9.0.0", @@ -78593,7 +78593,7 @@ "chalk": "^4.1.2", "clean-stack": "^2.0.0", "clipboard": "^2.0.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -78605,8 +78605,8 @@ "ensure-error": "^3.0.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-build": "^25.5.12", - "hadron-ipc": "^3.2.23", + "hadron-build": "^25.5.13", + "hadron-ipc": "^3.2.24", "kerberos": "^2.2.0", "keytar": "^7.9.0", "local-links": "^1.4.0", @@ -78618,8 +78618,8 @@ "mongodb-client-encryption": "^6.1.0", "mongodb-cloud-info": "^2.1.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-data-service": "^22.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-log-writer": "^1.4.2", "mongodb-ns": "^2.4.2", "os-dns-native": "^1.2.1", @@ -78684,9 +78684,9 @@ "mongodb-data-service": { "version": "file:packages/data-service", "requires": { - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-logging": "^1.4.9", "@mongodb-js/compass-test-server": "^0.1.22", - "@mongodb-js/compass-utils": "^0.6.12", + "@mongodb-js/compass-utils": "^0.6.13", "@mongodb-js/devtools-connect": "^3.3.1", "@mongodb-js/devtools-docker-test-envs": "^1.3.3", "@mongodb-js/devtools-proxy-support": "^0.4.1", @@ -78839,8 +78839,8 @@ "depcheck": "^1.4.1", "eslint": "^7.25.0", "mocha": "^10.2.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5" + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6" } }, "mongodb-download-url": { @@ -78874,9 +78874,9 @@ "depcheck": "^1.4.1", "eslint": "^7.25.0", "mocha": "^10.2.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", - "mongodb-database-model": "^2.23.5" + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", + "mongodb-database-model": "^2.23.6" } }, "mongodb-js-cli": { diff --git a/packages/atlas-service/package.json b/packages/atlas-service/package.json index 46b8009e682..7e9adaa7f10 100644 --- a/packages/atlas-service/package.json +++ b/packages/atlas-service/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.30.1", + "version": "0.31.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -73,19 +73,19 @@ "typescript": "^5.0.4" }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/devtools-connect": "^3.3.1", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/oidc-plugin": "^1.1.1", "hadron-app-registry": "^9.2.7", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "electron": "^32.2.1", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", "react": "^17.0.2", "react-redux": "^8.1.3", diff --git a/packages/collection-model/package.json b/packages/collection-model/package.json index 9259ab64a57..42c5c11a3e7 100644 --- a/packages/collection-model/package.json +++ b/packages/collection-model/package.json @@ -2,7 +2,7 @@ "name": "mongodb-collection-model", "description": "MongoDB collection model", "author": "Lucas Hrabovsky ", - "version": "5.23.5", + "version": "5.23.6", "bugs": { "url": "https://jira.mongodb.org/projects/COMPASS/issues", "email": "compass@mongodb.com" @@ -31,7 +31,7 @@ "dependencies": { "ampersand-collection": "^2.0.2", "ampersand-model": "^8.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2" }, "devDependencies": { diff --git a/packages/compass-aggregations/package.json b/packages/compass-aggregations/package.json index 03a9742d458..9fc31abeffb 100644 --- a/packages/compass-aggregations/package.json +++ b/packages/compass-aggregations/package.json @@ -2,7 +2,7 @@ "name": "@mongodb-js/compass-aggregations", "description": "Compass Aggregation Pipeline Builder", "private": true, - "version": "9.46.1", + "version": "9.47.0", "main": "dist/index.js", "compass:main": "src/index.ts", "types": "dist/index.d.ts", @@ -61,34 +61,34 @@ "@dnd-kit/core": "^6.0.7", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/explain-plan-helper": "^1.2.4", "@mongodb-js/mongodb-constants": "^0.10.0", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/shell-bson-parser": "^1.1.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-schema": "^12.2.0", diff --git a/packages/compass-app-stores/package.json b/packages/compass-app-stores/package.json index fce0925d8a4..2c6b9c3470a 100644 --- a/packages/compass-app-stores/package.json +++ b/packages/compass-app-stores/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "7.30.1", + "version": "7.31.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -73,14 +73,14 @@ "xvfb-maybe": "^0.2.1" }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/connection-info": "^0.9.2", "hadron-app-registry": "^9.2.7", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "react": "^17.0.2" }, diff --git a/packages/compass-collection/package.json b/packages/compass-collection/package.json index 649fe0ee207..33a597ff289 100644 --- a/packages/compass-collection/package.json +++ b/packages/compass-collection/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "4.43.1", + "version": "4.44.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -48,17 +48,17 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/mongodb-constants": "^0.10.2", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", - "mongodb-collection-model": "^5.23.5", + "mongodb-collection-model": "^5.23.6", "mongodb-ns": "^2.4.2", "react": "^17.0.2", "react-redux": "^8.1.3", diff --git a/packages/compass-components/package.json b/packages/compass-components/package.json index eec0305867c..1066802b726 100644 --- a/packages/compass-components/package.json +++ b/packages/compass-components/package.json @@ -1,6 +1,6 @@ { "name": "@mongodb-js/compass-components", - "version": "1.30.1", + "version": "1.31.0", "description": "React Components used in Compass", "license": "SSPL", "main": "lib/index.js", @@ -79,7 +79,7 @@ "@tanstack/table-core": "^8.14.0", "bson": "^6.8.0", "focus-trap-react": "^9.0.2", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "is-electron-renderer": "^2.0.1", "lodash": "^4.17.21", diff --git a/packages/compass-connection-import-export/package.json b/packages/compass-connection-import-export/package.json index eb904adbc82..3a38a4f87a2 100644 --- a/packages/compass-connection-import-export/package.json +++ b/packages/compass-connection-import-export/package.json @@ -14,7 +14,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.40.1", + "version": "0.41.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -51,11 +51,11 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/connection-storage": "^0.22.2", - "compass-preferences-model": "^2.29.1", - "hadron-ipc": "^3.2.23", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/connection-storage": "^0.22.3", + "compass-preferences-model": "^2.29.2", + "hadron-ipc": "^3.2.24", "react": "^17.0.2" }, "devDependencies": { diff --git a/packages/compass-connections-navigation/package.json b/packages/compass-connections-navigation/package.json index 58f297defda..d1f7129104b 100644 --- a/packages/compass-connections-navigation/package.json +++ b/packages/compass-connections-navigation/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.43.1", + "version": "1.44.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -49,12 +49,12 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/compass-workspaces": "^0.25.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "compass-preferences-model": "^2.29.2", "mongodb-build-info": "^1.7.2", "react": "^17.0.2", "react-virtualized-auto-sizer": "^1.0.6", diff --git a/packages/compass-connections/package.json b/packages/compass-connections/package.json index 5aabc134e45..8789d0cb781 100644 --- a/packages/compass-connections/package.json +++ b/packages/compass-connections/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.44.1", + "version": "1.45.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -51,21 +51,21 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/connection-storage": "^0.22.3", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb-build-info": "^1.7.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "react": "^17.0.2", "react-redux": "^8.1.3", "redux": "^4.2.1", diff --git a/packages/compass-crud/package.json b/packages/compass-crud/package.json index ba1bb68b00f..60097354367 100644 --- a/packages/compass-crud/package.json +++ b/packages/compass-crud/package.json @@ -6,7 +6,7 @@ "email": "compass@mongodb.com" }, "private": true, - "version": "13.44.1", + "version": "13.45.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -64,37 +64,37 @@ "enzyme": "^3.11.0", "eslint": "^7.25.0", "mocha": "^10.2.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "nyc": "^15.1.0", "react-dom": "^17.0.2", "sinon": "^8.1.1", "typescript": "^5.0.4" }, "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongodb-js/explain-plan-helper": "^1.2.4", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/reflux-state-mixin": "^1.0.7", "@mongodb-js/shell-bson-parser": "^1.1.2", "ag-grid-community": "^20.2.0", "ag-grid-react": "^20.2.0", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "hadron-type-checker": "^7.2.3", "jsondiffpatch": "^0.5.0", "lodash": "^4.17.21", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "numeral": "^2.0.6", diff --git a/packages/compass-e2e-tests/package.json b/packages/compass-e2e-tests/package.json index 27abac4d74d..78ee48df513 100644 --- a/packages/compass-e2e-tests/package.json +++ b/packages/compass-e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "compass-e2e-tests", - "version": "1.27.3", + "version": "1.27.4", "private": true, "description": "E2E test suite for Compass app that follows smoke tests / feature testing matrix", "scripts": { @@ -33,7 +33,7 @@ "devDependencies": { "@electron/rebuild": "^3.7.0", "@mongodb-js/compass-test-server": "^0.1.22", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/oidc-mock-provider": "^0.9.3", "@mongodb-js/prettier-config-compass": "^1.0.2", @@ -47,7 +47,7 @@ "chai": "^4.3.4", "chai-as-promised": "^7.1.1", "clipboardy": "^2.3.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -55,7 +55,7 @@ "electron-to-chromium": "^1.5.41", "eslint": "^7.25.0", "glob": "^10.2.5", - "hadron-build": "^25.5.12", + "hadron-build": "^25.5.13", "lodash": "^4.17.21", "mocha": "^10.2.0", "mongodb": "^6.9.0", diff --git a/packages/compass-editor/package.json b/packages/compass-editor/package.json index d1b625d932c..85c2ef7f6c9 100644 --- a/packages/compass-editor/package.json +++ b/packages/compass-editor/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.31.1", + "version": "0.32.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -72,7 +72,7 @@ "@codemirror/state": "^6.1.4", "@codemirror/view": "^6.7.1", "@lezer/highlight": "^1.2.0", - "@mongodb-js/compass-components": "^1.30.1", + "@mongodb-js/compass-components": "^1.31.0", "@mongodb-js/mongodb-constants": "^0.10.0", "mongodb-query-parser": "^4.2.3", "polished": "^4.2.2", diff --git a/packages/compass-explain-plan/package.json b/packages/compass-explain-plan/package.json index 7de001f0718..6c4eb433a1a 100644 --- a/packages/compass-explain-plan/package.json +++ b/packages/compass-explain-plan/package.json @@ -6,7 +6,7 @@ "email": "compass@mongodb.com" }, "private": true, - "version": "6.44.1", + "version": "6.45.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -69,14 +69,14 @@ "xvfb-maybe": "^0.2.1" }, "dependencies": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/explain-plan-helper": "^1.2.4", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "d3": "^3.5.17", "d3-flextree": "^2.1.2", "d3-hierarchy": "^3.1.2", diff --git a/packages/compass-export-to-language/package.json b/packages/compass-export-to-language/package.json index 72aa88fa2a1..42813e88814 100644 --- a/packages/compass-export-to-language/package.json +++ b/packages/compass-export-to-language/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "9.20.1", + "version": "9.21.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -48,15 +48,15 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/shell-bson-parser": "^1.1.2", "bson-transpilers": "^3.0.10", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "mongodb-ns": "^2.4.2", "react": "^17.0.2", diff --git a/packages/compass-field-store/package.json b/packages/compass-field-store/package.json index 7636a8de604..07fbabb3a34 100644 --- a/packages/compass-field-store/package.json +++ b/packages/compass-field-store/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "9.19.1", + "version": "9.20.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -69,8 +69,8 @@ "xvfb-maybe": "^0.2.1" }, "dependencies": { - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb-schema": "^12.2.0", diff --git a/packages/compass-find-in-page/package.json b/packages/compass-find-in-page/package.json index 0554d355232..e362593fab6 100644 --- a/packages/compass-find-in-page/package.json +++ b/packages/compass-find-in-page/package.json @@ -6,7 +6,7 @@ "email": "compass@mongodb.com" }, "private": true, - "version": "4.31.1", + "version": "4.32.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -73,9 +73,9 @@ "xvfb-maybe": "^0.2.1" }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", + "@mongodb-js/compass-components": "^1.31.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "react": "^17.0.2", "react-redux": "^8.1.3", "redux": "^4.2.1", diff --git a/packages/compass-generative-ai/package.json b/packages/compass-generative-ai/package.json index 399443a91f1..bbf9b1142dc 100644 --- a/packages/compass-generative-ai/package.json +++ b/packages/compass-generative-ai/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.24.1", + "version": "0.25.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -52,12 +52,12 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-intercom": "^0.13.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-intercom": "^0.13.2", + "@mongodb-js/compass-logging": "^1.4.9", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "mongodb": "^6.9.0", "mongodb-schema": "^12.2.0", diff --git a/packages/compass-global-writes/package.json b/packages/compass-global-writes/package.json index 095d2779729..4d49e7b09ec 100644 --- a/packages/compass-global-writes/package.json +++ b/packages/compass-global-writes/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.3.1", + "version": "1.4.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -49,15 +49,15 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", - "@mongodb-js/compass-field-store": "^9.19.1", + "@mongodb-js/compass-field-store": "^9.20.0", "mongodb-ns": "^2.4.2", "react": "^17.0.2", "react-redux": "^8.1.3", diff --git a/packages/compass-import-export/package.json b/packages/compass-import-export/package.json index 931701c3241..8045c01716f 100644 --- a/packages/compass-import-export/package.json +++ b/packages/compass-import-export/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "7.43.1", + "version": "7.44.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -49,23 +49,23 @@ }, "dependencies": { "@electron/remote": "^2.1.2", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "debug": "^4.3.4", "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", - "hadron-ipc": "^3.2.23", + "hadron-document": "^8.6.5", + "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-schema": "^12.2.0", diff --git a/packages/compass-indexes/package.json b/packages/compass-indexes/package.json index bd4f84f8516..056dcb88c98 100644 --- a/packages/compass-indexes/package.json +++ b/packages/compass-indexes/package.json @@ -6,7 +6,7 @@ "email": "compass@mongodb.com" }, "private": true, - "version": "5.43.1", + "version": "5.44.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -67,25 +67,25 @@ "xvfb-maybe": "^0.2.1" }, "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/mongodb-constants": "^0.10.0", "@mongodb-js/shell-bson-parser": "^1.1.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", "mongodb-query-parser": "^4.2.3", "mongodb-ns": "^2.4.2", "numeral": "^2.0.6", diff --git a/packages/compass-intercom/package.json b/packages/compass-intercom/package.json index 36dbaf0e0fd..9ddeb6f49d8 100644 --- a/packages/compass-intercom/package.json +++ b/packages/compass-intercom/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.13.1", + "version": "0.13.2", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -67,7 +67,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "compass-preferences-model": "^2.29.1", - "@mongodb-js/compass-logging": "^1.4.8" + "compass-preferences-model": "^2.29.2", + "@mongodb-js/compass-logging": "^1.4.9" } } diff --git a/packages/compass-logging/package.json b/packages/compass-logging/package.json index fd4acf4ccca..aa312c6dc2e 100644 --- a/packages/compass-logging/package.json +++ b/packages/compass-logging/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.4.8", + "version": "1.4.9", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -53,7 +53,7 @@ "dependencies": { "debug": "^4.3.4", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "is-electron-renderer": "^2.0.1", "mongodb-log-writer": "^1.4.2", "react": "^17.0.2" diff --git a/packages/compass-maybe-protect-connection-string/package.json b/packages/compass-maybe-protect-connection-string/package.json index a0c0189b645..c5d55987d1c 100644 --- a/packages/compass-maybe-protect-connection-string/package.json +++ b/packages/compass-maybe-protect-connection-string/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.27.1", + "version": "0.27.2", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -50,7 +50,7 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "mongodb-connection-string-url": "^3.0.1" }, "devDependencies": { diff --git a/packages/compass-preferences-model/package.json b/packages/compass-preferences-model/package.json index 8ea4b3a069e..4827c4195c9 100644 --- a/packages/compass-preferences-model/package.json +++ b/packages/compass-preferences-model/package.json @@ -2,7 +2,7 @@ "name": "compass-preferences-model", "description": "Compass preferences model", "author": "Lucas Hrabovsky ", - "version": "2.29.1", + "version": "2.29.2", "bugs": { "url": "https://jira.mongodb.org/projects/COMPASS/issues", "email": "compass@mongodb.com" @@ -49,12 +49,12 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-user-data": "^0.3.8", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-user-data": "^0.3.9", "@mongodb-js/devtools-proxy-support": "^0.4.1", "bson": "^6.8.0", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "js-yaml": "^4.1.0", "lodash": "^4.17.21", "react": "^17.0.2", diff --git a/packages/compass-query-bar/package.json b/packages/compass-query-bar/package.json index e1e42191cd5..0b07e42e702 100644 --- a/packages/compass-query-bar/package.json +++ b/packages/compass-query-bar/package.json @@ -6,7 +6,7 @@ "email": "compass@mongodb.com" }, "private": true, - "version": "8.45.1", + "version": "8.46.0", "homepage": "https://github.com/mongodb-js/compass", "license": "SSPL", "bugs": { @@ -66,24 +66,24 @@ "xvfb-maybe": "^0.2.1" }, "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "@mongodb-js/mongodb-constants": "^0.10.0", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "mongodb-query-util": "^2.2.9", diff --git a/packages/compass-saved-aggregations-queries/package.json b/packages/compass-saved-aggregations-queries/package.json index 22d100e43ff..0fa574d269b 100644 --- a/packages/compass-saved-aggregations-queries/package.json +++ b/packages/compass-saved-aggregations-queries/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.44.1", + "version": "1.45.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -48,17 +48,17 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/my-queries-storage": "^0.18.0", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "fuse.js": "^6.5.3", "hadron-app-registry": "^9.2.7", "mongodb-ns": "^2.4.2", diff --git a/packages/compass-schema-validation/package.json b/packages/compass-schema-validation/package.json index 0e30f1dccb8..ffc5a4d2a38 100644 --- a/packages/compass-schema-validation/package.json +++ b/packages/compass-schema-validation/package.json @@ -6,7 +6,7 @@ "email": "compass@mongodb.com" }, "private": true, - "version": "6.44.1", + "version": "6.45.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -60,26 +60,26 @@ "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "mocha": "^10.2.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "nyc": "^15.1.0", "react-dom": "^17.0.2", "sinon": "^8.1.1", "typescript": "^5.0.4" }, "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "javascript-stringify": "^2.0.1", "lodash": "^4.17.21", diff --git a/packages/compass-schema/package.json b/packages/compass-schema/package.json index a281c598e72..12aafda2adb 100644 --- a/packages/compass-schema/package.json +++ b/packages/compass-schema/package.json @@ -6,7 +6,7 @@ "email": "compass@mongodb.com" }, "private": true, - "version": "6.45.1", + "version": "6.46.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -50,7 +50,7 @@ "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", @@ -72,19 +72,19 @@ "xvfb-maybe": "^0.2.1" }, "dependencies": { - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/connection-storage": "^0.22.3", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "d3": "^3.5.17", "hadron-app-registry": "^9.2.7", - "hadron-document": "^8.6.4", + "hadron-document": "^8.6.5", "leaflet": "^1.5.1", "leaflet-defaulticon-compatibility": "^0.1.1", "leaflet-draw": "^1.0.4", diff --git a/packages/compass-serverstats/package.json b/packages/compass-serverstats/package.json index c4337766518..c273a02fba4 100644 --- a/packages/compass-serverstats/package.json +++ b/packages/compass-serverstats/package.json @@ -2,7 +2,7 @@ "name": "@mongodb-js/compass-serverstats", "description": "Compass Real Time", "private": true, - "version": "16.43.1", + "version": "16.44.0", "main": "dist/index.js", "compass:main": "src/index.ts", "exports": { @@ -30,11 +30,11 @@ }, "license": "SSPL", "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", "d3": "^3.5.17", "d3-timer": "^1.0.3", "debug": "^4.3.4", diff --git a/packages/compass-settings/package.json b/packages/compass-settings/package.json index b7f95afe1e1..d89210adc9f 100644 --- a/packages/compass-settings/package.json +++ b/packages/compass-settings/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.42.1", + "version": "0.43.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -49,13 +49,13 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-logging": "^1.4.8", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-logging": "^1.4.9", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "react": "^17.0.2", "react-redux": "^8.1.3", "redux": "^4.2.1", diff --git a/packages/compass-shell/package.json b/packages/compass-shell/package.json index a66e7f9d3ac..b42928e330d 100644 --- a/packages/compass-shell/package.json +++ b/packages/compass-shell/package.json @@ -6,7 +6,7 @@ "email": "compass@mongodb.com" }, "private": true, - "version": "3.43.1", + "version": "3.44.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -49,18 +49,18 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-workspaces": "^0.25.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-workspaces": "^0.26.0", "@mongosh/browser-repl": "^2.3.2", "@mongosh/logging": "^2.3.2", "@mongosh/node-runtime-worker-thread": "^2.3.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "react": "^17.0.2", "react-redux": "^8.1.3", diff --git a/packages/compass-sidebar/package.json b/packages/compass-sidebar/package.json index 4518a09bd8e..87902dc3673 100644 --- a/packages/compass-sidebar/package.json +++ b/packages/compass-sidebar/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "5.44.1", + "version": "5.45.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -48,22 +48,22 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connection-import-export": "^0.40.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-connections-navigation": "^1.43.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-form": "^1.42.0", - "@mongodb-js/connection-info": "^0.9.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connection-import-export": "^0.41.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-connections-navigation": "^1.44.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-maybe-protect-connection-string": "^0.27.2", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-form": "^1.43.0", + "@mongodb-js/connection-info": "^0.9.2", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", "mongodb": "^6.9.0", - "mongodb-instance-model": "^12.24.5", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "react": "^17.0.2", "react-redux": "^8.1.3", @@ -87,7 +87,7 @@ "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "nyc": "^15.1.0", "prettier": "^2.7.1", "react-dom": "^17.0.2", diff --git a/packages/compass-telemetry/package.json b/packages/compass-telemetry/package.json index 64d257971d2..68b21c9ce9a 100644 --- a/packages/compass-telemetry/package.json +++ b/packages/compass-telemetry/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.2.1", + "version": "1.2.2", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -52,9 +52,9 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-logging": "^1.4.9", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "react": "^17.0.2" }, "devDependencies": { diff --git a/packages/compass-user-data/package.json b/packages/compass-user-data/package.json index d06bc76592b..94236f814ce 100644 --- a/packages/compass-user-data/package.json +++ b/packages/compass-user-data/package.json @@ -12,7 +12,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.3.8", + "version": "0.3.9", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -49,8 +49,8 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-utils": "^0.6.12", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-utils": "^0.6.13", "write-file-atomic": "^5.0.1", "zod": "^3.22.3" }, diff --git a/packages/compass-utils/package.json b/packages/compass-utils/package.json index c68cb9e76d0..007e1d724f1 100644 --- a/packages/compass-utils/package.json +++ b/packages/compass-utils/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.6.12", + "version": "0.6.13", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" diff --git a/packages/compass-web/package.json b/packages/compass-web/package.json index 8e5e171bbc6..a1f240fa7f2 100644 --- a/packages/compass-web/package.json +++ b/packages/compass-web/package.json @@ -14,7 +14,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.9.1", + "version": "0.10.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -63,36 +63,36 @@ "react-dom": "^17.0.2" }, "devDependencies": { - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-aggregations": "^9.46.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-databases-collections": "^1.43.1", - "@mongodb-js/compass-explain-plan": "^6.44.1", - "@mongodb-js/compass-export-to-language": "^9.20.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-global-writes": "^1.3.1", - "@mongodb-js/compass-indexes": "^5.43.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-schema": "^6.45.1", - "@mongodb-js/compass-schema-validation": "^6.44.1", - "@mongodb-js/compass-sidebar": "^5.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-welcome": "^0.42.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-aggregations": "^9.47.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-databases-collections": "^1.44.0", + "@mongodb-js/compass-explain-plan": "^6.45.0", + "@mongodb-js/compass-export-to-language": "^9.21.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-global-writes": "^1.4.0", + "@mongodb-js/compass-indexes": "^5.44.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-schema": "^6.46.0", + "@mongodb-js/compass-schema-validation": "^6.45.0", + "@mongodb-js/compass-sidebar": "^5.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-welcome": "^0.43.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", - "@mongodb-js/webpack-config-compass": "^1.4.4", + "@mongodb-js/webpack-config-compass": "^1.4.5", "@types/chai": "^4.2.21", "@types/chai-dom": "^0.0.10", "@types/express-http-proxy": "^1.6.6", @@ -104,7 +104,7 @@ "bson": "^6.2.0", "buffer": "^6.0.3", "chai": "^4.3.6", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "crypto-browserify": "^3.12.0", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -120,7 +120,7 @@ "mocha": "^10.2.0", "mongodb": "^6.9.0", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-ns": "^2.4.2", "nyc": "^15.1.0", "os-browserify": "^0.3.0", diff --git a/packages/compass-welcome/package.json b/packages/compass-welcome/package.json index 05092dd3e38..7d09adb834d 100644 --- a/packages/compass-welcome/package.json +++ b/packages/compass-welcome/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.42.1", + "version": "0.43.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -49,12 +49,12 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "react": "^17.0.2", "redux": "^4.2.1", diff --git a/packages/compass-workspaces/package.json b/packages/compass-workspaces/package.json index fd699ee2154..ee3f8f2b0fd 100644 --- a/packages/compass-workspaces/package.json +++ b/packages/compass-workspaces/package.json @@ -11,7 +11,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.25.1", + "version": "0.26.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -51,16 +51,16 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-logging": "^1.4.8", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-logging": "^1.4.9", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", "mongodb-ns": "^2.4.2", "react": "^17.0.2", "react-redux": "^8.1.3", diff --git a/packages/compass/package.json b/packages/compass/package.json index e65737469c4..3c589d57218 100644 --- a/packages/compass/package.json +++ b/packages/compass/package.json @@ -190,56 +190,56 @@ "devDependencies": { "@electron/rebuild": "^3.7.0", "@electron/remote": "^2.1.2", - "@mongodb-js/atlas-service": "^0.30.1", - "@mongodb-js/compass-aggregations": "^9.46.1", - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-collection": "^4.43.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connection-import-export": "^0.40.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-crud": "^13.44.1", - "@mongodb-js/compass-databases-collections": "^1.43.1", - "@mongodb-js/compass-explain-plan": "^6.44.1", - "@mongodb-js/compass-export-to-language": "^9.20.1", - "@mongodb-js/compass-field-store": "^9.19.1", - "@mongodb-js/compass-find-in-page": "^4.31.1", - "@mongodb-js/compass-generative-ai": "^0.24.1", - "@mongodb-js/compass-global-writes": "^1.3.1", - "@mongodb-js/compass-import-export": "^7.43.1", - "@mongodb-js/compass-indexes": "^5.43.1", - "@mongodb-js/compass-intercom": "^0.13.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-query-bar": "^8.45.1", - "@mongodb-js/compass-saved-aggregations-queries": "^1.44.1", - "@mongodb-js/compass-schema": "^6.45.1", - "@mongodb-js/compass-schema-validation": "^6.44.1", - "@mongodb-js/compass-serverstats": "^16.43.1", - "@mongodb-js/compass-settings": "^0.42.1", - "@mongodb-js/compass-shell": "^3.43.1", - "@mongodb-js/compass-sidebar": "^5.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/compass-welcome": "^0.42.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", - "@mongodb-js/connection-storage": "^0.22.2", + "@mongodb-js/atlas-service": "^0.31.0", + "@mongodb-js/compass-aggregations": "^9.47.0", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-collection": "^4.44.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connection-import-export": "^0.41.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-crud": "^13.45.0", + "@mongodb-js/compass-databases-collections": "^1.44.0", + "@mongodb-js/compass-explain-plan": "^6.45.0", + "@mongodb-js/compass-export-to-language": "^9.21.0", + "@mongodb-js/compass-field-store": "^9.20.0", + "@mongodb-js/compass-find-in-page": "^4.32.0", + "@mongodb-js/compass-generative-ai": "^0.25.0", + "@mongodb-js/compass-global-writes": "^1.4.0", + "@mongodb-js/compass-import-export": "^7.44.0", + "@mongodb-js/compass-indexes": "^5.44.0", + "@mongodb-js/compass-intercom": "^0.13.2", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-query-bar": "^8.46.0", + "@mongodb-js/compass-saved-aggregations-queries": "^1.45.0", + "@mongodb-js/compass-schema": "^6.46.0", + "@mongodb-js/compass-schema-validation": "^6.45.0", + "@mongodb-js/compass-serverstats": "^16.44.0", + "@mongodb-js/compass-settings": "^0.43.0", + "@mongodb-js/compass-shell": "^3.44.0", + "@mongodb-js/compass-sidebar": "^5.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/compass-welcome": "^0.43.0", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", + "@mongodb-js/connection-storage": "^0.22.3", "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/eslint-config-compass": "^1.1.7", "@mongodb-js/get-os-info": "^0.3.24", "@mongodb-js/mocha-config-compass": "^1.4.2", "@mongodb-js/mongodb-downloader": "^0.3.5", - "@mongodb-js/my-queries-storage": "^0.17.1", + "@mongodb-js/my-queries-storage": "^0.18.0", "@mongodb-js/prettier-config-compass": "^1.0.2", "@mongodb-js/sbom-tools": "^0.7.0", "@mongodb-js/testing-library-compass": "^1.0.2", "@mongodb-js/tsconfig-compass": "^1.0.5", - "@mongodb-js/webpack-config-compass": "^1.4.4", + "@mongodb-js/webpack-config-compass": "^1.4.5", "@segment/analytics-node": "^1.1.4", "ampersand-view": "^9.0.0", "chai": "^4.3.4", "chalk": "^4.1.2", "clean-stack": "^2.0.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", @@ -251,8 +251,8 @@ "ensure-error": "^3.0.1", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", - "hadron-build": "^25.5.12", - "hadron-ipc": "^3.2.23", + "hadron-build": "^25.5.13", + "hadron-ipc": "^3.2.24", "local-links": "^1.4.0", "make-fetch-happen": "^10.2.1", "marky": "^1.2.1", @@ -260,8 +260,8 @@ "mongodb-build-info": "^1.7.2", "mongodb-cloud-info": "^2.1.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-data-service": "^22.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-log-writer": "^1.4.2", "mongodb-ns": "^2.4.2", "react": "^17.0.2", diff --git a/packages/connection-form/package.json b/packages/connection-form/package.json index 24419599910..323ade6c0c6 100644 --- a/packages/connection-form/package.json +++ b/packages/connection-form/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.42.0", + "version": "1.43.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -48,15 +48,15 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/connection-info": "^0.9.2", "@mongodb-js/shell-bson-parser": "^1.1.2", "lodash": "^4.17.21", "mongodb": "^6.9.0", "mongodb-build-info": "^1.7.2", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5", + "mongodb-data-service": "^22.23.6", "mongodb-query-parser": "^4.2.3", "react": "^17.0.2" }, diff --git a/packages/connection-info/package.json b/packages/connection-info/package.json index 39b25675061..a15cfe2d8f3 100644 --- a/packages/connection-info/package.json +++ b/packages/connection-info/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.9.1", + "version": "0.9.2", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -54,7 +54,7 @@ "lodash": "^4.17.21", "mongodb": "^6.9.0", "mongodb-connection-string-url": "^3.0.1", - "mongodb-data-service": "^22.23.5" + "mongodb-data-service": "^22.23.6" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", diff --git a/packages/connection-storage/package.json b/packages/connection-storage/package.json index 0c542b011de..dd8ad7b32d7 100644 --- a/packages/connection-storage/package.json +++ b/packages/connection-storage/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.22.2", + "version": "0.22.3", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -56,16 +56,16 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-user-data": "^0.3.8", - "@mongodb-js/compass-utils": "^0.6.12", - "@mongodb-js/connection-info": "^0.9.1", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-user-data": "^0.3.9", + "@mongodb-js/compass-utils": "^0.6.13", + "@mongodb-js/connection-info": "^0.9.2", "bson": "^6.8.0", - "compass-preferences-model": "^2.29.1", + "compass-preferences-model": "^2.29.2", "electron": "^32.2.1", "hadron-app-registry": "^9.2.7", - "hadron-ipc": "^3.2.23", + "hadron-ipc": "^3.2.24", "keytar": "^7.9.0", "lodash": "^4.17.21", "mongodb-connection-string-url": "^3.0.1", diff --git a/packages/data-service/package.json b/packages/data-service/package.json index fcc703a844d..6c33a016f01 100644 --- a/packages/data-service/package.json +++ b/packages/data-service/package.json @@ -7,7 +7,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "22.23.5", + "version": "22.23.6", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -51,8 +51,8 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-utils": "^0.6.12", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-utils": "^0.6.13", "@mongodb-js/devtools-connect": "^3.3.1", "@mongodb-js/devtools-proxy-support": "^0.4.1", "bson": "^6.8.0", diff --git a/packages/database-model/package.json b/packages/database-model/package.json index 1c9246f4a54..d524fe2713d 100644 --- a/packages/database-model/package.json +++ b/packages/database-model/package.json @@ -2,7 +2,7 @@ "name": "mongodb-database-model", "description": "MongoDB database model", "author": "Lucas Hrabovsky ", - "version": "2.23.5", + "version": "2.23.6", "bugs": { "url": "https://jira.mongodb.org/projects/COMPASS/issues", "email": "compass@mongodb.com" @@ -30,8 +30,8 @@ "dependencies": { "ampersand-collection": "^2.0.2", "ampersand-model": "^8.0.1", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5" + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", diff --git a/packages/databases-collections-list/package.json b/packages/databases-collections-list/package.json index ed5db53fc56..6f07a4d0108 100644 --- a/packages/databases-collections-list/package.json +++ b/packages/databases-collections-list/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "1.41.1", + "version": "1.42.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -48,12 +48,12 @@ "reformat": "npm run eslint . -- --fix && npm run prettier -- --write ." }, "dependencies": { - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/connection-info": "^0.9.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/connection-info": "^0.9.2", + "compass-preferences-model": "^2.29.2", "mongodb-ns": "^2.4.2", "react": "^17.0.2" }, diff --git a/packages/databases-collections/package.json b/packages/databases-collections/package.json index 58e85347e24..1c6a55eb64b 100644 --- a/packages/databases-collections/package.json +++ b/packages/databases-collections/package.json @@ -2,7 +2,7 @@ "name": "@mongodb-js/compass-databases-collections", "description": "Plugin for viewing the list of, creating, and dropping databases and collections", "private": true, - "version": "1.43.1", + "version": "1.44.0", "license": "SSPL", "homepage": "https://github.com/mongodb-js/compass", "bugs": { @@ -59,21 +59,21 @@ "typescript": "^5.0.4" }, "dependencies": { - "@mongodb-js/compass-app-stores": "^7.30.1", - "@mongodb-js/compass-components": "^1.30.1", - "@mongodb-js/compass-connections": "^1.44.1", - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-logging": "^1.4.8", - "@mongodb-js/compass-telemetry": "^1.2.1", - "@mongodb-js/compass-workspaces": "^0.25.1", - "@mongodb-js/databases-collections-list": "^1.41.1", - "@mongodb-js/my-queries-storage": "^0.17.1", - "compass-preferences-model": "^2.29.1", + "@mongodb-js/compass-app-stores": "^7.31.0", + "@mongodb-js/compass-components": "^1.31.0", + "@mongodb-js/compass-connections": "^1.45.0", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-logging": "^1.4.9", + "@mongodb-js/compass-telemetry": "^1.2.2", + "@mongodb-js/compass-workspaces": "^0.26.0", + "@mongodb-js/databases-collections-list": "^1.42.0", + "@mongodb-js/my-queries-storage": "^0.18.0", + "compass-preferences-model": "^2.29.2", "hadron-app-registry": "^9.2.7", "lodash": "^4.17.21", - "mongodb-collection-model": "^5.23.5", - "mongodb-database-model": "^2.23.5", - "mongodb-instance-model": "^12.24.5", + "mongodb-collection-model": "^5.23.6", + "mongodb-database-model": "^2.23.6", + "mongodb-instance-model": "^12.24.6", "mongodb-ns": "^2.4.2", "mongodb-query-parser": "^4.2.3", "prop-types": "^15.7.2", diff --git a/packages/hadron-build/package.json b/packages/hadron-build/package.json index 7f4522c23f4..4b697d8f9f4 100644 --- a/packages/hadron-build/package.json +++ b/packages/hadron-build/package.json @@ -1,7 +1,7 @@ { "name": "hadron-build", "description": "Tooling for Hadron apps like Compass", - "version": "25.5.12", + "version": "25.5.13", "scripts": { "check": "npm run lint && npm run depcheck", "test": "mocha -R spec", diff --git a/packages/hadron-document/package.json b/packages/hadron-document/package.json index 10d3f3c7f1e..c7a499f76c7 100644 --- a/packages/hadron-document/package.json +++ b/packages/hadron-document/package.json @@ -7,7 +7,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "8.6.4", + "version": "8.6.5", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" diff --git a/packages/hadron-ipc/package.json b/packages/hadron-ipc/package.json index 622c0b0e117..ea14836d959 100644 --- a/packages/hadron-ipc/package.json +++ b/packages/hadron-ipc/package.json @@ -1,7 +1,7 @@ { "name": "hadron-ipc", "description": "Simplified IPC for electron apps.", - "version": "3.2.23", + "version": "3.2.24", "author": { "name": "MongoDB Inc", "email": "compass@mongodb.com" diff --git a/packages/instance-model/package.json b/packages/instance-model/package.json index 7a12da0e1b2..2bc195de79f 100644 --- a/packages/instance-model/package.json +++ b/packages/instance-model/package.json @@ -2,7 +2,7 @@ "name": "mongodb-instance-model", "description": "MongoDB instance model", "author": "Lucas Hrabovsky ", - "version": "12.24.5", + "version": "12.24.6", "bugs": { "url": "https://jira.mongodb.org/projects/COMPASS/issues", "email": "compass@mongodb.com" @@ -29,9 +29,9 @@ }, "dependencies": { "ampersand-model": "^8.0.1", - "mongodb-collection-model": "^5.23.5", - "mongodb-data-service": "^22.23.5", - "mongodb-database-model": "^2.23.5" + "mongodb-collection-model": "^5.23.6", + "mongodb-data-service": "^22.23.6", + "mongodb-database-model": "^2.23.6" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", diff --git a/packages/my-queries-storage/package.json b/packages/my-queries-storage/package.json index 844dd4dd2fd..1f62ea70519 100644 --- a/packages/my-queries-storage/package.json +++ b/packages/my-queries-storage/package.json @@ -13,7 +13,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.17.1", + "version": "0.18.0", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" @@ -73,8 +73,8 @@ "typescript": "^5.0.4" }, "dependencies": { - "@mongodb-js/compass-editor": "^0.31.1", - "@mongodb-js/compass-user-data": "^0.3.8", + "@mongodb-js/compass-editor": "^0.32.0", + "@mongodb-js/compass-user-data": "^0.3.9", "bson": "^6.8.0", "hadron-app-registry": "^9.2.7", "react": "^17.0.2" diff --git a/scripts/package.json b/scripts/package.json index 0846983fe62..1d758e6894d 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -14,7 +14,7 @@ "email": "compass@mongodb.com" }, "homepage": "https://github.com/mongodb-js/compass", - "version": "0.16.23", + "version": "0.16.24", "repository": { "type": "git", "url": "https://github.com/mongodb-js/compass.git" From 39d722232b1b9ecefb0d41e44681d2d137400b8c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:12:46 +0000 Subject: [PATCH 21/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6417) Update report Co-authored-by: gribnoysup <5036933+gribnoysup@users.noreply.github.com> --- THIRD-PARTY-NOTICES.md | 29 ----------------------------- docs/tracking-plan.md | 2 +- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 491a34835a1..75a7a8c33b9 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -211,7 +211,6 @@ Package|Version|License **[cookie-signature](#28f6116b52488ac66a14424869fc346f611bea6c894e7d0f7f2ca701deb8e49c)**|1.0.6|MIT **[cookie](#6fffbd43d8f0d9a659c21e31a0935f0a1226c9990be593a9649dcd61e4db1204)**|0.7.1|MIT **[core-js](#2d0305d15eab4ad23db10b97faf9d8e8e0d5ad30a616c5892d1edd535d8a08c8)**|3.17.3|MIT -**[cpu-features](#fa992e00865a6ed732ac63bbf64c89ee2da4ec39944684e6002a3a34b5adb65c)**|0.0.9|MIT **[crelt](#9eba7acaba2af9d27a0a18fcf40d1f133ffa888d85321e4633e7dac58cab2db9)**|1.0.5|MIT **[cross-fetch](#2cd4375069c47bf89a4b399cd21cd9573086803b2cb9fc56c29df5a598e051e5)**|3.1.8|MIT **[cross-spawn](#67de3a765808182ee1018c35bc07d7a023a8d645e98cc32814dcac2fc2c427ff)**|7.0.3|MIT @@ -17718,34 +17717,6 @@ License files: - -### [cpu-features](https://www.npmjs.com/package/cpu-features) (version 0.0.9) -License tags: MIT - -License files: -* LICENSE: - - Copyright Brian White. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. - - ### [crelt](https://www.npmjs.com/package/crelt) (version 1.0.5) License tags: MIT diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index 7cebe5b6500..ce511ade873 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Tue, Oct 29, 2024 at 01:43 PM +Generated on Tue, Oct 29, 2024 at 02:12 PM ## Table of Contents From 0ba313745fa43c65c85d2bec5fb2ee33d92d0a24 Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Tue, 29 Oct 2024 16:32:57 +0100 Subject: [PATCH 22/27] chore(ci): add no-title-validation label to autogenerated PRs (#6418) --- .github/workflows/bump-packages.yaml | 1 + .github/workflows/update-electron.yaml | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/bump-packages.yaml b/.github/workflows/bump-packages.yaml index 1fe9cfc428f..87d62542842 100644 --- a/.github/workflows/bump-packages.yaml +++ b/.github/workflows/bump-packages.yaml @@ -55,5 +55,6 @@ jobs: commit-message: 'chore(release): bump package versions' branch: ci/bump-packages title: 'chore(release): bump package versions' + labels: no-title-validation body: | - Bump package versions diff --git a/.github/workflows/update-electron.yaml b/.github/workflows/update-electron.yaml index 5edb15632db..89d25c81b62 100644 --- a/.github/workflows/update-electron.yaml +++ b/.github/workflows/update-electron.yaml @@ -40,14 +40,15 @@ jobs: run: | node scripts/update-electron.js git add . - git commit --no-allow-empty -m "chore: update electron" || true + git commit --no-allow-empty -m "chore(deps): update electron" || true - name: Create Pull Request id: cpr uses: peter-evans/create-pull-request@v6 with: token: ${{ secrets.SVC_DEVTOOLSBOT_TOKEN }} - commit-message: 'chore: update electron' + commit-message: 'chore(deps): update electron' branch: ci/update-electron - title: 'chore: update electron' + title: 'chore(deps): update electron' + labels: no-title-validation body: | - Update electron From 44b9988e78770cf95f34d09e8ebb7e434534442c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:39:32 +0000 Subject: [PATCH 23/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6419) Update report Co-authored-by: gribnoysup <5036933+gribnoysup@users.noreply.github.com> --- THIRD-PARTY-NOTICES.md | 29 +++++++++++++++++++++++++++++ docs/tracking-plan.md | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 75a7a8c33b9..491a34835a1 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -211,6 +211,7 @@ Package|Version|License **[cookie-signature](#28f6116b52488ac66a14424869fc346f611bea6c894e7d0f7f2ca701deb8e49c)**|1.0.6|MIT **[cookie](#6fffbd43d8f0d9a659c21e31a0935f0a1226c9990be593a9649dcd61e4db1204)**|0.7.1|MIT **[core-js](#2d0305d15eab4ad23db10b97faf9d8e8e0d5ad30a616c5892d1edd535d8a08c8)**|3.17.3|MIT +**[cpu-features](#fa992e00865a6ed732ac63bbf64c89ee2da4ec39944684e6002a3a34b5adb65c)**|0.0.9|MIT **[crelt](#9eba7acaba2af9d27a0a18fcf40d1f133ffa888d85321e4633e7dac58cab2db9)**|1.0.5|MIT **[cross-fetch](#2cd4375069c47bf89a4b399cd21cd9573086803b2cb9fc56c29df5a598e051e5)**|3.1.8|MIT **[cross-spawn](#67de3a765808182ee1018c35bc07d7a023a8d645e98cc32814dcac2fc2c427ff)**|7.0.3|MIT @@ -17717,6 +17718,34 @@ License files: + +### [cpu-features](https://www.npmjs.com/package/cpu-features) (version 0.0.9) +License tags: MIT + +License files: +* LICENSE: + + Copyright Brian White. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + + ### [crelt](https://www.npmjs.com/package/crelt) (version 1.0.5) License tags: MIT diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index ce511ade873..45416883d5d 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Tue, Oct 29, 2024 at 02:12 PM +Generated on Tue, Oct 29, 2024 at 03:39 PM ## Table of Contents From f4dd8c8fce5f8419c358b65a0678a5e60779a39f Mon Sep 17 00:00:00 2001 From: svc-devtoolsbot <79531021+svc-devtoolsbot@users.noreply.github.com> Date: Tue, 29 Oct 2024 12:21:09 -0400 Subject: [PATCH 24/27] chore: update electron (#6410) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- configs/webpack-config-compass/package.json | 2 +- package-lock.json | 116 ++++++++---------- packages/atlas-service/package.json | 2 +- packages/compass-crud/package.json | 2 +- packages/compass-e2e-tests/package.json | 4 +- packages/compass-explain-plan/package.json | 2 +- packages/compass-find-in-page/package.json | 2 +- packages/compass-import-export/package.json | 2 +- packages/compass-indexes/package.json | 2 +- packages/compass-query-bar/package.json | 2 +- .../compass-schema-validation/package.json | 2 +- packages/compass-shell/package.json | 2 +- packages/compass-utils/package.json | 2 +- packages/compass-web/package.json | 2 +- packages/compass/package.json | 2 +- packages/connection-storage/package.json | 2 +- packages/hadron-build/package.json | 2 +- packages/hadron-ipc/package.json | 2 +- scripts/package.json | 2 +- 19 files changed, 69 insertions(+), 85 deletions(-) diff --git a/configs/webpack-config-compass/package.json b/configs/webpack-config-compass/package.json index 1e917ca91ab..2c9d6cac679 100644 --- a/configs/webpack-config-compass/package.json +++ b/configs/webpack-config-compass/package.json @@ -73,7 +73,7 @@ "cli-progress": "^3.9.1", "core-js": "^3.17.3", "css-loader": "^4.3.0", - "electron": "^32.2.1", + "electron": "^32.2.2", "html-webpack-plugin": "^5.6.0", "less": "^3.13.1", "less-loader": "^10.0.1", diff --git a/package-lock.json b/package-lock.json index ff4a8ccb0d3..8d1ec369fa8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -516,7 +516,7 @@ "cli-progress": "^3.9.1", "core-js": "^3.17.3", "css-loader": "^4.3.0", - "electron": "^32.2.1", + "electron": "^32.2.2", "html-webpack-plugin": "^5.6.0", "less": "^3.13.1", "less-loader": "^10.0.1", @@ -4327,7 +4327,6 @@ "version": "3.7.0", "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz", "integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==", - "license": "MIT", "dependencies": { "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", "@malept/cross-spawn-promise": "^2.0.0", @@ -4526,7 +4525,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.1.2.tgz", "integrity": "sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA==", - "license": "MIT", "peerDependencies": { "electron": ">= 13.0.0" } @@ -16522,7 +16520,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001669", "electron-to-chromium": "^1.5.41", @@ -20165,11 +20162,10 @@ } }, "node_modules/electron": { - "version": "32.2.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.1.tgz", - "integrity": "sha512-GCPI/5hU34pPcNltNpz+uylhhuTm9BM0N8RmrbVgaWBodLSmmcCkvpgN0BseKhO6IwQOPzWaovrcZ/nPIpfGaQ==", + "version": "32.2.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.2.tgz", + "integrity": "sha512-c7TRE42JcgEmJ4elJyCdKk/2os0UX7YMkRDeXBkxFEoM34iX1/2x+c5T9PgeroKz8FEG7omRU5TvjulqVtXvdw==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^20.9.0", @@ -20523,10 +20519,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.42", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.42.tgz", - "integrity": "sha512-gIfKavKDw1mhvic9nbzA5lZw8QSHpdMwLwXc0cWidQz9B15pDoDdDH4boIatuFfeoCatb3a/NGL6CYRVFxGZ9g==", - "license": "ISC" + "version": "1.5.49", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.49.tgz", + "integrity": "sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==" }, "node_modules/electron-window": { "version": "0.8.1", @@ -20590,7 +20585,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", - "license": "MIT", "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -20611,7 +20605,6 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -20623,7 +20616,6 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "license": "MIT", "engines": { "node": ">=10.6.0" } @@ -20632,7 +20624,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" }, @@ -20647,7 +20638,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -20661,7 +20651,6 @@ "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -20686,7 +20675,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -20695,7 +20683,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", "engines": { "node": ">=10" }, @@ -20707,7 +20694,6 @@ "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" } @@ -20716,7 +20702,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -31917,7 +31902,6 @@ "version": "3.71.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", - "license": "MIT", "dependencies": { "semver": "^7.3.5" }, @@ -43043,7 +43027,7 @@ "@mongodb-js/devtools-proxy-support": "^0.4.1", "@mongodb-js/oidc-plugin": "^1.1.1", "compass-preferences-model": "^2.29.2", - "electron": "^32.2.1", + "electron": "^32.2.2", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", @@ -43224,7 +43208,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-devtools-installer": "^3.2.0", "electron-dl": "^3.5.0", "electron-mocha": "^12.2.0", @@ -43963,7 +43947,7 @@ "chai": "^4.1.2", "chai-as-promised": "^7.1.1", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -44042,8 +44026,8 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", - "electron-to-chromium": "^1.5.41", + "electron": "^32.2.2", + "electron-to-chromium": "^1.5.49", "eslint": "^7.25.0", "glob": "^10.2.5", "hadron-build": "^25.5.13", @@ -44525,7 +44509,7 @@ "@types/d3-hierarchy": "^3.1.2", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -44722,7 +44706,7 @@ "@types/sinon-chai": "^3.2.5", "chai": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -45072,7 +45056,7 @@ "bson": "^6.8.0", "compass-preferences-model": "^2.29.2", "debug": "^4.3.4", - "electron": "^32.2.1", + "electron": "^32.2.2", "hadron-app-registry": "^9.2.7", "hadron-document": "^8.6.5", "hadron-ipc": "^3.2.24", @@ -45192,7 +45176,7 @@ "@types/numeral": "^2.0.5", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -45604,7 +45588,7 @@ "@mongodb-js/tsconfig-compass": "^1.0.5", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", @@ -45814,7 +45798,7 @@ "@types/enzyme": "^3.10.14", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -46004,7 +45988,7 @@ "@types/enzyme": "^3.10.14", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -46369,7 +46353,7 @@ "license": "SSPL", "dependencies": { "@electron/remote": "^2.1.2", - "electron": "^32.2.1" + "electron": "^32.2.2" }, "devDependencies": { "@mongodb-js/eslint-config-compass": "^1.1.7", @@ -46468,7 +46452,7 @@ "debug": "^4.3.4", "depcheck": "^1.4.1", "dns-query": "^0.11.2", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "events": "^3.3.0", "express": "^4.21.1", @@ -47133,7 +47117,7 @@ "@mongodb-js/connection-info": "^0.9.2", "bson": "^6.8.0", "compass-preferences-model": "^2.29.2", - "electron": "^32.2.1", + "electron": "^32.2.2", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.24", "keytar": "^7.9.0", @@ -47756,7 +47740,7 @@ "debug": "^4.3.4", "del": "^2.0.2", "download": "^8.0.0", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-packager": "^15.5.1", "electron-packager-plugin-non-proprietary-codecs-ffmpeg": "^1.0.2", "flatnest": "^1.0.0", @@ -48620,7 +48604,7 @@ "license": "SSPL", "dependencies": { "debug": "^4.3.4", - "electron": "^32.2.1", + "electron": "^32.2.2", "is-electron-renderer": "^2.0.1" }, "devDependencies": { @@ -49586,7 +49570,7 @@ "@babel/core": "^7.24.3", "@mongodb-js/monorepo-tools": "^1.1.1", "commander": "^11.0.0", - "electron": "^32.2.1", + "electron": "^32.2.2", "jsdom": "^24.1.3", "make-fetch-happen": "^10.2.1", "pacote": "^11.3.5", @@ -54933,7 +54917,7 @@ "chai": "^4.3.6", "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.24", @@ -55589,7 +55573,7 @@ "chai-as-promised": "^7.1.1", "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -55769,7 +55753,7 @@ "d3-flextree": "^2.1.2", "d3-hierarchy": "^3.1.2", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -55942,7 +55926,7 @@ "@types/sinon-chai": "^3.2.5", "chai": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -56214,7 +56198,7 @@ "compass-preferences-model": "^2.29.2", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -56291,7 +56275,7 @@ "chai": "^4.2.0", "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -56569,7 +56553,7 @@ "chai": "^4.2.0", "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", @@ -56782,7 +56766,7 @@ "chai": "^4.2.0", "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -56816,7 +56800,7 @@ "@mongodb-js/tsconfig-compass": "^1.0.5", "commander": "^11.0.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "jsdom": "^24.1.3", "make-fetch-happen": "^10.2.1", @@ -57129,7 +57113,7 @@ "chai": "^4.2.0", "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", @@ -57463,7 +57447,7 @@ "@types/sinon-chai": "^3.2.5", "chai": "^4.3.6", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "gen-esm-wrapper": "^1.1.0", "mocha": "^10.2.0", @@ -57546,7 +57530,7 @@ "debug": "^4.3.4", "depcheck": "^1.4.1", "dns-query": "^0.11.2", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "events": "^3.3.0", "express": "^4.21.1", @@ -58136,7 +58120,7 @@ "chai": "^4.3.6", "compass-preferences-model": "^2.29.2", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.24", @@ -59331,7 +59315,7 @@ "core-js": "^3.17.3", "css-loader": "^4.3.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "html-webpack-plugin": "^5.6.0", "less": "^3.13.1", @@ -66728,8 +66712,8 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", - "electron-to-chromium": "^1.5.41", + "electron": "^32.2.2", + "electron-to-chromium": "^1.5.49", "eslint": "^7.25.0", "glob": "^10.2.5", "hadron-build": "^25.5.13", @@ -69140,9 +69124,9 @@ } }, "electron": { - "version": "32.2.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.1.tgz", - "integrity": "sha512-GCPI/5hU34pPcNltNpz+uylhhuTm9BM0N8RmrbVgaWBodLSmmcCkvpgN0BseKhO6IwQOPzWaovrcZ/nPIpfGaQ==", + "version": "32.2.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-32.2.2.tgz", + "integrity": "sha512-c7TRE42JcgEmJ4elJyCdKk/2os0UX7YMkRDeXBkxFEoM34iX1/2x+c5T9PgeroKz8FEG7omRU5TvjulqVtXvdw==", "requires": { "@electron/get": "^2.0.0", "@types/node": "^20.9.0", @@ -69506,9 +69490,9 @@ } }, "electron-to-chromium": { - "version": "1.5.42", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.42.tgz", - "integrity": "sha512-gIfKavKDw1mhvic9nbzA5lZw8QSHpdMwLwXc0cWidQz9B15pDoDdDH4boIatuFfeoCatb3a/NGL6CYRVFxGZ9g==" + "version": "1.5.49", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.49.tgz", + "integrity": "sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==" }, "electron-window": { "version": "0.8.1", @@ -72766,7 +72750,7 @@ "del": "^2.0.2", "depcheck": "^1.4.1", "download": "^8.0.0", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-installer-debian": "^3.2.0", "electron-installer-dmg": "^5.0.1", "electron-installer-redhat": "^2.0.0", @@ -73490,7 +73474,7 @@ "chai": "^4.3.6", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "is-electron-renderer": "^2.0.1", "mocha": "^10.2.0", @@ -78597,7 +78581,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-devtools-installer": "^3.2.0", "electron-dl": "^3.5.0", "electron-mocha": "^12.2.0", diff --git a/packages/atlas-service/package.json b/packages/atlas-service/package.json index 7e9adaa7f10..8166484a3ed 100644 --- a/packages/atlas-service/package.json +++ b/packages/atlas-service/package.json @@ -84,7 +84,7 @@ "@mongodb-js/oidc-plugin": "^1.1.1", "hadron-app-registry": "^9.2.7", "compass-preferences-model": "^2.29.2", - "electron": "^32.2.1", + "electron": "^32.2.2", "hadron-ipc": "^3.2.24", "lodash": "^4.17.21", "react": "^17.0.2", diff --git a/packages/compass-crud/package.json b/packages/compass-crud/package.json index 60097354367..824fe06f1ef 100644 --- a/packages/compass-crud/package.json +++ b/packages/compass-crud/package.json @@ -59,7 +59,7 @@ "chai": "^4.1.2", "chai-as-promised": "^7.1.1", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", diff --git a/packages/compass-e2e-tests/package.json b/packages/compass-e2e-tests/package.json index 78ee48df513..cae7fa21011 100644 --- a/packages/compass-e2e-tests/package.json +++ b/packages/compass-e2e-tests/package.json @@ -51,8 +51,8 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", - "electron-to-chromium": "^1.5.41", + "electron": "^32.2.2", + "electron-to-chromium": "^1.5.49", "eslint": "^7.25.0", "glob": "^10.2.5", "hadron-build": "^25.5.13", diff --git a/packages/compass-explain-plan/package.json b/packages/compass-explain-plan/package.json index 6c4eb433a1a..d6c35ca71f4 100644 --- a/packages/compass-explain-plan/package.json +++ b/packages/compass-explain-plan/package.json @@ -58,7 +58,7 @@ "@types/d3-hierarchy": "^3.1.2", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", diff --git a/packages/compass-find-in-page/package.json b/packages/compass-find-in-page/package.json index e362593fab6..d75ec0a3d65 100644 --- a/packages/compass-find-in-page/package.json +++ b/packages/compass-find-in-page/package.json @@ -61,7 +61,7 @@ "@types/sinon-chai": "^3.2.5", "chai": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", diff --git a/packages/compass-import-export/package.json b/packages/compass-import-export/package.json index 8045c01716f..02d06604bba 100644 --- a/packages/compass-import-export/package.json +++ b/packages/compass-import-export/package.json @@ -59,7 +59,7 @@ "bson": "^6.8.0", "compass-preferences-model": "^2.29.2", "debug": "^4.3.4", - "electron": "^32.2.1", + "electron": "^32.2.2", "hadron-app-registry": "^9.2.7", "hadron-document": "^8.6.5", "hadron-ipc": "^3.2.24", diff --git a/packages/compass-indexes/package.json b/packages/compass-indexes/package.json index 056dcb88c98..5c4d6f498d5 100644 --- a/packages/compass-indexes/package.json +++ b/packages/compass-indexes/package.json @@ -56,7 +56,7 @@ "@types/numeral": "^2.0.5", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", diff --git a/packages/compass-query-bar/package.json b/packages/compass-query-bar/package.json index 0b07e42e702..f6aa1907e77 100644 --- a/packages/compass-query-bar/package.json +++ b/packages/compass-query-bar/package.json @@ -55,7 +55,7 @@ "@mongodb-js/tsconfig-compass": "^1.0.5", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "eslint": "^7.25.0", "mocha": "^10.2.0", diff --git a/packages/compass-schema-validation/package.json b/packages/compass-schema-validation/package.json index ffc5a4d2a38..bf327eead79 100644 --- a/packages/compass-schema-validation/package.json +++ b/packages/compass-schema-validation/package.json @@ -56,7 +56,7 @@ "@types/enzyme": "^3.10.14", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", diff --git a/packages/compass-shell/package.json b/packages/compass-shell/package.json index b42928e330d..71b9306e6c2 100644 --- a/packages/compass-shell/package.json +++ b/packages/compass-shell/package.json @@ -76,7 +76,7 @@ "@types/enzyme": "^3.10.14", "chai": "^4.2.0", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-mocha": "^12.2.0", "enzyme": "^3.11.0", "eslint": "^7.25.0", diff --git a/packages/compass-utils/package.json b/packages/compass-utils/package.json index 007e1d724f1..0f5a3813421 100644 --- a/packages/compass-utils/package.json +++ b/packages/compass-utils/package.json @@ -69,6 +69,6 @@ }, "dependencies": { "@electron/remote": "^2.1.2", - "electron": "^32.2.1" + "electron": "^32.2.2" } } diff --git a/packages/compass-web/package.json b/packages/compass-web/package.json index a1f240fa7f2..b08b9bf6ffb 100644 --- a/packages/compass-web/package.json +++ b/packages/compass-web/package.json @@ -109,7 +109,7 @@ "debug": "^4.3.4", "depcheck": "^1.4.1", "dns-query": "^0.11.2", - "electron": "^32.2.1", + "electron": "^32.2.2", "eslint": "^7.25.0", "events": "^3.3.0", "express": "^4.21.1", diff --git a/packages/compass/package.json b/packages/compass/package.json index 3c589d57218..779dbabd789 100644 --- a/packages/compass/package.json +++ b/packages/compass/package.json @@ -243,7 +243,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "depcheck": "^1.4.1", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-devtools-installer": "^3.2.0", "electron-dl": "^3.5.0", "electron-mocha": "^12.2.0", diff --git a/packages/connection-storage/package.json b/packages/connection-storage/package.json index dd8ad7b32d7..1c65e8f9696 100644 --- a/packages/connection-storage/package.json +++ b/packages/connection-storage/package.json @@ -63,7 +63,7 @@ "@mongodb-js/connection-info": "^0.9.2", "bson": "^6.8.0", "compass-preferences-model": "^2.29.2", - "electron": "^32.2.1", + "electron": "^32.2.2", "hadron-app-registry": "^9.2.7", "hadron-ipc": "^3.2.24", "keytar": "^7.9.0", diff --git a/packages/hadron-build/package.json b/packages/hadron-build/package.json index 4b697d8f9f4..fbddd8879f7 100644 --- a/packages/hadron-build/package.json +++ b/packages/hadron-build/package.json @@ -32,7 +32,7 @@ "debug": "^4.3.4", "del": "^2.0.2", "download": "^8.0.0", - "electron": "^32.2.1", + "electron": "^32.2.2", "electron-packager": "^15.5.1", "electron-packager-plugin-non-proprietary-codecs-ffmpeg": "^1.0.2", "flatnest": "^1.0.0", diff --git a/packages/hadron-ipc/package.json b/packages/hadron-ipc/package.json index ea14836d959..570b0bf2ba6 100644 --- a/packages/hadron-ipc/package.json +++ b/packages/hadron-ipc/package.json @@ -69,7 +69,7 @@ }, "dependencies": { "debug": "^4.3.4", - "electron": "^32.2.1", + "electron": "^32.2.2", "is-electron-renderer": "^2.0.1" } } diff --git a/scripts/package.json b/scripts/package.json index 1d758e6894d..aa8fa87bd85 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -41,7 +41,7 @@ "@babel/core": "^7.24.3", "@mongodb-js/monorepo-tools": "^1.1.1", "commander": "^11.0.0", - "electron": "^32.2.1", + "electron": "^32.2.2", "jsdom": "^24.1.3", "make-fetch-happen": "^10.2.1", "pacote": "^11.3.5", From 41a14143fc3b35700126620be83082597475d6b5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 16:29:29 +0000 Subject: [PATCH 25/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6421) Update report Co-authored-by: gribnoysup <5036933+gribnoysup@users.noreply.github.com> --- THIRD-PARTY-NOTICES.md | 6 +++--- docs/tracking-plan.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 491a34835a1..17d5cc02d80 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -248,7 +248,7 @@ Package|Version|License **[ee-first](#e2746902c758ae8a6f91ffb9618cd53717f936cb33c6323e65b6b7b24f7ebefe)**|1.1.1|MIT **[electron-dl](#e97e034c7b93c63e7a433d75f6f1de3e0668764225ebbd61dbde8d1b55d6f3b7)**|3.5.0|MIT **[electron-squirrel-startup](#09fb8168e8fda2e174f8d1a1c392ffd8f762c5637c788edd00d1e2486d060349)**|1.0.1|Apache-2.0 -**[electron](#4dac8b39331bcb6b30b99afe0849c00e3153935fcab1f1086622b9a2ccb4afc8)**|32.2.1|MIT +**[electron](#ddfad0a406da8c661d832155ebc87c378ac67db5d3c70f33126149f0084c639b)**|32.2.2|MIT **[encodeurl](#b89152db475e86531e570f87b45d8a51aa5e5d87d4cc3b960cee7b8febf1d26a)**|1.0.2|MIT **[encodeurl](#177948a319ae0aeebbd65742c53c62b37c75ec1d021afa5a188d10a7ceae6623)**|2.0.0|MIT **[end-of-stream](#fadc10994f5fa767d06fb25cfff35fb17a895daf3bc3477c782907668ed16563)**|1.4.4|MIT @@ -19215,8 +19215,8 @@ License files: - -### [electron](https://www.npmjs.com/package/electron) (version 32.2.1) + +### [electron](https://www.npmjs.com/package/electron) (version 32.2.2) License tags: MIT License files: diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index 45416883d5d..acb223106e4 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Tue, Oct 29, 2024 at 03:39 PM +Generated on Tue, Oct 29, 2024 at 04:29 PM ## Table of Contents From b377452eac5124adc3443bd2c21c720ce06da626 Mon Sep 17 00:00:00 2001 From: Paula Stachova Date: Tue, 29 Oct 2024 18:22:52 +0100 Subject: [PATCH 26/27] feat(compass-global-writes): sharding error state COMPASS-8349 (#6374) --- .../src/components/common-styles.ts | 19 + .../components/create-shard-key-form.spec.tsx | 211 +++++++++++ .../src/components/create-shard-key-form.tsx | 336 +++++++++++++++++ .../src/components/index.tsx | 9 + .../src/components/shard-zones-table.tsx | 2 +- .../components/states/shard-key-correct.tsx | 22 +- .../components/states/shard-key-invalid.tsx | 10 +- .../components/states/shard-key-mismatch.tsx | 12 +- .../components/states/sharding-error.spec.tsx | 64 ++++ .../src/components/states/sharding-error.tsx | 81 +++++ .../src/components/states/sharding.tsx | 11 +- .../src/components/states/unsharded.tsx | 341 +----------------- .../src/components/states/usharded.spec.tsx | 176 +-------- .../services/atlas-global-writes-service.ts | 9 +- .../src/store/index.spec.ts | 59 ++- .../src/store/reducer.ts | 47 ++- 16 files changed, 858 insertions(+), 551 deletions(-) create mode 100644 packages/compass-global-writes/src/components/common-styles.ts create mode 100644 packages/compass-global-writes/src/components/create-shard-key-form.spec.tsx create mode 100644 packages/compass-global-writes/src/components/create-shard-key-form.tsx create mode 100644 packages/compass-global-writes/src/components/states/sharding-error.spec.tsx create mode 100644 packages/compass-global-writes/src/components/states/sharding-error.tsx diff --git a/packages/compass-global-writes/src/components/common-styles.ts b/packages/compass-global-writes/src/components/common-styles.ts new file mode 100644 index 00000000000..b9ec0bd7e84 --- /dev/null +++ b/packages/compass-global-writes/src/components/common-styles.ts @@ -0,0 +1,19 @@ +import { css, spacing } from '@mongodb-js/compass-components'; + +export const bannerStyles = css({ + textAlign: 'justify', +}); + +export const paragraphStyles = css({ + display: 'flex', + flexDirection: 'column', + gap: spacing[100], +}); + +export const containerStyles = css({ + display: 'flex', + flexDirection: 'column', + gap: spacing[400], + marginBottom: spacing[400], + textAlign: 'justify', +}); diff --git a/packages/compass-global-writes/src/components/create-shard-key-form.spec.tsx b/packages/compass-global-writes/src/components/create-shard-key-form.spec.tsx new file mode 100644 index 00000000000..ce3ccd02ac7 --- /dev/null +++ b/packages/compass-global-writes/src/components/create-shard-key-form.spec.tsx @@ -0,0 +1,211 @@ +import React from 'react'; +import { expect } from 'chai'; +import { screen, userEvent } from '@mongodb-js/testing-library-compass'; +import { + CreateShardKeyForm, + type CreateShardKeyFormProps, +} from './create-shard-key-form'; +import { renderWithStore } from '../../tests/create-store'; +import sinon from 'sinon'; + +function renderWithProps(props?: Partial) { + return renderWithStore( + {}} + {...props} + /> + ); +} + +function setShardingKeyFieldValue(value: string) { + const input = screen.getByLabelText('Second shard key field'); + expect(input).to.exist; + userEvent.type(input, value); + expect(input).to.have.value(value); + userEvent.keyboard('{Escape}'); + + // For some reason, when running tests in electron mode, the value of + // the input field is not being updated. This is a workaround to ensure + // the value is being updated before clicking the submit button. + userEvent.click(screen.getByText(value), undefined, { + skipPointerEventsCheck: true, + }); +} + +describe('CreateShardKeyForm', function () { + let onCreateShardKeySpy: sinon.SinonSpy; + context('default', function () { + beforeEach(async function () { + onCreateShardKeySpy = sinon.spy(); + await renderWithProps({ onCreateShardKey: onCreateShardKeySpy }); + }); + + it('renders location form field as disabled', function () { + expect(screen.getByLabelText('First shard key field')).to.have.attribute( + 'aria-disabled', + 'true' + ); + }); + + it('does not allow user to submit when no second shard key is selected', function () { + expect(screen.getByTestId('shard-collection-button')).to.have.attribute( + 'aria-disabled', + 'true' + ); + + userEvent.click(screen.getByTestId('shard-collection-button')); + expect(onCreateShardKeySpy.called).to.be.false; + }); + + it('allows user to input second shard key and submit it', function () { + setShardingKeyFieldValue('name'); + + userEvent.click(screen.getByTestId('shard-collection-button')); + + expect(onCreateShardKeySpy.calledOnce).to.be.true; + expect(onCreateShardKeySpy.firstCall.args[0]).to.deep.equal({ + customShardKey: 'name', + isShardKeyUnique: false, + isCustomShardKeyHashed: false, + presplitHashedZones: false, + numInitialChunks: null, + }); + }); + + it('renders advanced options and radio buttons for: default, unique-index and hashed index', function () { + const accordian = screen.getByText('Advanced Shard Key Configuration'); + expect(accordian).to.exist; + + userEvent.click(accordian); + + const defaultRadio = screen.getByLabelText('Default'); + const uniqueIndexRadio = screen.getByLabelText( + 'Use unique index as the shard key' + ); + const hashedIndexRadio = screen.getByLabelText( + 'Use hashed index as the shard key' + ); + + expect(defaultRadio).to.exist; + expect(uniqueIndexRadio).to.exist; + expect(hashedIndexRadio).to.exist; + }); + + it('allows user to select unique index as shard key', function () { + const accordian = screen.getByText('Advanced Shard Key Configuration'); + userEvent.click(accordian); + + const uniqueIndexRadio = screen.getByLabelText( + 'Use unique index as the shard key' + ); + userEvent.click(uniqueIndexRadio); + + expect(uniqueIndexRadio).to.have.attribute('aria-checked', 'true'); + + setShardingKeyFieldValue('name'); + + userEvent.click(screen.getByTestId('shard-collection-button')); + + expect(onCreateShardKeySpy.calledOnce).to.be.true; + expect(onCreateShardKeySpy.firstCall.args[0]).to.deep.equal({ + customShardKey: 'name', + isShardKeyUnique: true, + isCustomShardKeyHashed: false, + presplitHashedZones: false, + numInitialChunks: null, + }); + }); + + it('allows user to select hashed index as shard key with split-chunks option', function () { + const accordian = screen.getByText('Advanced Shard Key Configuration'); + userEvent.click(accordian); + + const hashedIndexRadio = screen.getByLabelText( + 'Use hashed index as the shard key' + ); + userEvent.click(hashedIndexRadio); + + expect(hashedIndexRadio).to.have.attribute('aria-checked', 'true'); + + setShardingKeyFieldValue('name'); + + // Check pre-split data + userEvent.click(screen.getByTestId('presplit-data-checkbox'), undefined, { + skipPointerEventsCheck: true, + }); + + userEvent.click(screen.getByTestId('shard-collection-button')); + + expect(onCreateShardKeySpy.calledOnce).to.be.true; + expect(onCreateShardKeySpy.firstCall.args[0]).to.deep.equal({ + customShardKey: 'name', + isShardKeyUnique: false, + isCustomShardKeyHashed: true, + presplitHashedZones: true, + numInitialChunks: null, + }); + }); + + it('allows user to select hashed index as shard key with all its options', function () { + const accordian = screen.getByText('Advanced Shard Key Configuration'); + userEvent.click(accordian); + + const hashedIndexRadio = screen.getByLabelText( + 'Use hashed index as the shard key' + ); + userEvent.click(hashedIndexRadio); + + expect(hashedIndexRadio).to.have.attribute('aria-checked', 'true'); + + setShardingKeyFieldValue('name'); + + // Check pre-split data + userEvent.click(screen.getByTestId('presplit-data-checkbox'), undefined, { + skipPointerEventsCheck: true, + }); + + // Enter number of chunks + userEvent.type(screen.getByTestId('chunks-per-shard-input'), '10'); + + userEvent.click(screen.getByTestId('shard-collection-button')); + + expect(onCreateShardKeySpy.calledOnce).to.be.true; + expect(onCreateShardKeySpy.firstCall.args[0]).to.deep.equal({ + customShardKey: 'name', + isShardKeyUnique: false, + isCustomShardKeyHashed: true, + presplitHashedZones: true, + numInitialChunks: 10, + }); + }); + }); + + it('cannot be submitted when already submitting', async function () { + onCreateShardKeySpy = sinon.spy(); + await renderWithProps({ + onCreateShardKey: onCreateShardKeySpy, + isSubmittingForSharding: true, + }); + setShardingKeyFieldValue('name'); + + userEvent.click(screen.getByTestId('shard-collection-button')); + + expect(onCreateShardKeySpy.calledOnce).to.be.false; + }); + + it('cannot be submitted when cancelling', async function () { + onCreateShardKeySpy = sinon.spy(); + await renderWithProps({ + onCreateShardKey: onCreateShardKeySpy, + isCancellingSharding: true, + }); + setShardingKeyFieldValue('name'); + + userEvent.click(screen.getByTestId('shard-collection-button')); + + expect(onCreateShardKeySpy.calledOnce).to.be.false; + }); +}); diff --git a/packages/compass-global-writes/src/components/create-shard-key-form.tsx b/packages/compass-global-writes/src/components/create-shard-key-form.tsx new file mode 100644 index 00000000000..19c801e7b1d --- /dev/null +++ b/packages/compass-global-writes/src/components/create-shard-key-form.tsx @@ -0,0 +1,336 @@ +import React, { useCallback, useState } from 'react'; +import { + Accordion, + Body, + Button, + Checkbox, + ComboboxOption, + ComboboxWithCustomOption, + css, + cx, + InlineInfoLink, + Label, + Link, + Radio, + RadioGroup, + spacing, + SpinLoader, + Subtitle, + TextInput, +} from '@mongodb-js/compass-components'; +import { + createShardKey, + type RootState, + ShardingStatuses, + type CreateShardKeyData, +} from '../store/reducer'; +import { useAutocompleteFields } from '@mongodb-js/compass-field-store'; +import { connect } from 'react-redux'; +import { containerStyles } from './common-styles'; + +const listStyles = css({ + listStyle: 'disc', + paddingLeft: 'auto', + marginTop: 0, +}); + +const shardKeyFormFieldsStyles = css({ + display: 'flex', + flexDirection: 'row', + gap: spacing[400], +}); + +const secondShardKeyStyles = css({ + width: '300px', +}); + +const hasedIndexOptionsStyles = css({ + marginLeft: spacing[1200], // This aligns it with the radio button text + marginTop: spacing[400], +}); + +const advanceOptionsGroupStyles = css({ + paddingLeft: spacing[500], // Avoid visual cutoff +}); + +const chunksInputStyles = css({ + display: 'flex', + alignItems: 'center', + gap: spacing[100], +}); + +const nbsp = '\u00a0'; + +type ShardingAdvancedOption = 'default' | 'unique-index' | 'hashed-index'; + +function CreateShardKeyDescription() { + return ( +
+ Configure compound shard key + + To properly configure Global Writes, your collections must be sharded + using a compound shard key made up of a ‘location’ field and a second + field of your choosing. + + + + All documents in your collection should contain both the ‘location’ + field and your chosen second field. + + +
    +
  • + + The second field should represent a well-distributed and immutable + value to ensure that data is equally distributed across shards in a + particular zone.{nbsp} + + Note that the value of this field cannot be an array. + + {nbsp} + For more information, read our documentation on{' '} + + selecting a shard key + + . + +
  • +
+ + + Once you shard your collection, it cannot be unsharded. + +
+ ); +} + +export type CreateShardKeyFormProps = { + namespace: string; + isSubmittingForSharding: boolean; + isCancellingSharding: boolean; + onCreateShardKey: (data: CreateShardKeyData) => void; +}; + +export function CreateShardKeyForm({ + namespace, + isSubmittingForSharding, + isCancellingSharding, + onCreateShardKey, +}: CreateShardKeyFormProps) { + const [isAdvancedOptionsOpen, setIsAdvancedOptionsOpen] = useState(false); + const [selectedAdvancedOption, setSelectedAdvancedOption] = + useState('default'); + const fields = useAutocompleteFields(namespace); + + const [secondShardKey, setSecondShardKey] = useState(null); + const [numInitialChunks, setNumInitialChunks] = useState< + string | undefined + >(); + const [isPreSplitData, setIsPreSplitData] = useState(false); + + const onSubmit = useCallback(() => { + if (!secondShardKey) { + return; + } + const isCustomShardKeyHashed = selectedAdvancedOption === 'hashed-index'; + const presplitHashedZones = isCustomShardKeyHashed && isPreSplitData; + + const data: CreateShardKeyData = { + customShardKey: secondShardKey, + isShardKeyUnique: selectedAdvancedOption === 'unique-index', + isCustomShardKeyHashed, + presplitHashedZones, + numInitialChunks: + presplitHashedZones && numInitialChunks + ? Number(numInitialChunks) + : null, + }; + + onCreateShardKey(data); + }, [ + isPreSplitData, + numInitialChunks, + secondShardKey, + selectedAdvancedOption, + onCreateShardKey, + ]); + + return ( + <> + +
+
+
+ + +
+
+ + ({ value }))} + className={secondShardKeyStyles} + value={secondShardKey} + searchEmptyMessage="No fields found. Please enter a valid field name." + renderOption={(option, index, isCustom) => { + return ( + + ); + }} + /> +
+
+ + ) => { + setSelectedAdvancedOption( + event.target.value as ShardingAdvancedOption + ); + }} + > + + Default + + +
+ + + Enforce a uniqueness constraint on the shard key of this + Global Collection.{' '} + + Learn more + + +
+
+ +
+ + + Improve even distribution of the sharded data by hashing the + second field of the shard key.{' '} + + Learn more + + +
+
+
+ {selectedAdvancedOption === 'hashed-index' && ( +
+ setIsPreSplitData(!isPreSplitData)} + label="Pre-split data for even distribution." + checked={isPreSplitData} + /> +
+ setNumInitialChunks(event.target.value)} + /> + chunks per shard. +
+
+ )} +
+
+ +
+
+ + ); +} + +export default connect( + (state: RootState) => { + return { + namespace: state.namespace, + isSubmittingForSharding: [ + ShardingStatuses.SUBMITTING_FOR_SHARDING, + ShardingStatuses.SUBMITTING_FOR_SHARDING_ERROR, + ].includes(state.status), + isCancellingSharding: [ + ShardingStatuses.CANCELLING_SHARDING, + ShardingStatuses.CANCELLING_SHARDING_ERROR, + ].includes(state.status), + }; + }, + { + onCreateShardKey: createShardKey, + } +)(CreateShardKeyForm); diff --git a/packages/compass-global-writes/src/components/index.tsx b/packages/compass-global-writes/src/components/index.tsx index dd6ea046be4..f27f9c2a989 100644 --- a/packages/compass-global-writes/src/components/index.tsx +++ b/packages/compass-global-writes/src/components/index.tsx @@ -14,6 +14,7 @@ import ShardingState from './states/sharding'; import ShardKeyCorrect from './states/shard-key-correct'; import ShardKeyInvalid from './states/shard-key-invalid'; import ShardKeyMismatch from './states/shard-key-mismatch'; +import ShardingError from './states/sharding-error'; const containerStyles = css({ paddingLeft: spacing[400], @@ -66,6 +67,14 @@ function ShardingStateView({ return ; } + if ( + shardingStatus === ShardingStatuses.SHARDING_ERROR || + shardingStatus === ShardingStatuses.CANCELLING_SHARDING_ERROR || + shardingStatus === ShardingStatuses.SUBMITTING_FOR_SHARDING_ERROR + ) { + return ; + } + if ( shardingStatus === ShardingStatuses.SHARD_KEY_CORRECT || shardingStatus === ShardingStatuses.UNMANAGING_NAMESPACE diff --git a/packages/compass-global-writes/src/components/shard-zones-table.tsx b/packages/compass-global-writes/src/components/shard-zones-table.tsx index 3453c36b613..6d3952235d0 100644 --- a/packages/compass-global-writes/src/components/shard-zones-table.tsx +++ b/packages/compass-global-writes/src/components/shard-zones-table.tsx @@ -122,7 +122,7 @@ export function ShardZonesTable({ const handleSearchTextChange = useCallback( (e: React.ChangeEvent) => { - tableRef.current.setGlobalFilter(e.currentTarget.value); + tableRef.current.setGlobalFilter(e.currentTarget?.value || ''); }, [tableRef] ); diff --git a/packages/compass-global-writes/src/components/states/shard-key-correct.tsx b/packages/compass-global-writes/src/components/states/shard-key-correct.tsx index a54ea1b3180..12e7f64f313 100644 --- a/packages/compass-global-writes/src/components/states/shard-key-correct.tsx +++ b/packages/compass-global-writes/src/components/states/shard-key-correct.tsx @@ -11,6 +11,7 @@ import { Label, Button, ButtonVariant, + SpinLoader, } from '@mongodb-js/compass-components'; import { connect } from 'react-redux'; import { @@ -24,28 +25,20 @@ import toNS from 'mongodb-ns'; import { ShardZonesTable } from '../shard-zones-table'; import { useConnectionInfo } from '@mongodb-js/compass-connections/provider'; import ShardKeyMarkup from '../shard-key-markup'; +import { + containerStyles, + paragraphStyles, + bannerStyles, +} from '../common-styles'; const nbsp = '\u00a0'; -const containerStyles = css({ - display: 'flex', - flexDirection: 'column', - gap: spacing[400], - marginBottom: spacing[400], -}); - const codeBlockContainerStyles = css({ display: 'flex', flexDirection: 'column', gap: spacing[100], }); -const paragraphStyles = css({ - display: 'flex', - flexDirection: 'column', - gap: spacing[100], -}); - export type ShardKeyCorrectProps = { namespace: string; shardKey: ShardKey; @@ -81,7 +74,7 @@ export function ShardKeyCorrect({ return (
- + All documents in your collection should contain both the ‘location’ field (with a ISO country or subdivision code) and your{' '} @@ -175,6 +168,7 @@ export function ShardKeyCorrect({ onClick={onUnmanageNamespace} variant={ButtonVariant.Primary} isLoading={isUnmanagingNamespace} + loadingIndicator={} > Unmanage collection diff --git a/packages/compass-global-writes/src/components/states/shard-key-invalid.tsx b/packages/compass-global-writes/src/components/states/shard-key-invalid.tsx index 3ee10060743..6cfcda3a531 100644 --- a/packages/compass-global-writes/src/components/states/shard-key-invalid.tsx +++ b/packages/compass-global-writes/src/components/states/shard-key-invalid.tsx @@ -8,13 +8,7 @@ import React from 'react'; import ShardKeyMarkup from '../shard-key-markup'; import type { RootState, ShardKey } from '../../store/reducer'; import { connect } from 'react-redux'; - -const containerStyles = css({ - display: 'flex', - flexDirection: 'column', - gap: spacing[400], - marginBottom: spacing[400], -}); +import { containerStyles, bannerStyles } from '../common-styles'; const paragraphStyles = css({ display: 'flex', @@ -30,7 +24,7 @@ export interface ShardKeyInvalidProps { export function ShardKeyInvalid({ shardKey, namespace }: ShardKeyInvalidProps) { return (
- + To configure Global Writes, the first shard key of this collection must be "location" with ranged sharding and you must also diff --git a/packages/compass-global-writes/src/components/states/shard-key-mismatch.tsx b/packages/compass-global-writes/src/components/states/shard-key-mismatch.tsx index 78ee1fc4091..33d3b87be2d 100644 --- a/packages/compass-global-writes/src/components/states/shard-key-mismatch.tsx +++ b/packages/compass-global-writes/src/components/states/shard-key-mismatch.tsx @@ -5,6 +5,7 @@ import { spacing, css, ButtonVariant, + SpinLoader, } from '@mongodb-js/compass-components'; import React from 'react'; import ShardKeyMarkup from '../shard-key-markup'; @@ -16,13 +17,7 @@ import { } from '../../store/reducer'; import { connect } from 'react-redux'; import type { ManagedNamespace } from '../../services/atlas-global-writes-service'; - -const containerStyles = css({ - display: 'flex', - flexDirection: 'column', - gap: spacing[400], - marginBottom: spacing[400], -}); +import { containerStyles, bannerStyles } from '../common-styles'; const unmanageBtnStyles = css({ marginTop: spacing[100], @@ -61,7 +56,7 @@ export function ShardKeyMismatch({ }: ShardKeyMismatchProps) { return (
- + Your requested shard key cannot be configured because the collection has already been sharded with a different key. @@ -75,6 +70,7 @@ export function ShardKeyMismatch({ onClick={onUnmanageNamespace} variant={ButtonVariant.Default} isLoading={isUnmanagingNamespace} + loadingIndicator={} className={unmanageBtnStyles} > Unmanage collection diff --git a/packages/compass-global-writes/src/components/states/sharding-error.spec.tsx b/packages/compass-global-writes/src/components/states/sharding-error.spec.tsx new file mode 100644 index 00000000000..2b1058b379e --- /dev/null +++ b/packages/compass-global-writes/src/components/states/sharding-error.spec.tsx @@ -0,0 +1,64 @@ +import React from 'react'; +import { expect } from 'chai'; +import { screen, userEvent } from '@mongodb-js/testing-library-compass'; +import { ShardingError } from './sharding-error'; +import { renderWithStore } from '../../../tests/create-store'; +import Sinon from 'sinon'; + +const shardingError = 'This is an error'; +function renderWithProps( + props?: Partial> +) { + return renderWithStore( + {}} + {...props} + /> + ); +} + +describe('ShardingError', function () { + it('renders the error', async function () { + await renderWithProps(); + expect(screen.getByText(/There was an error sharding your collection/)).to + .be.visible; + expect(screen.getByText(shardingError)).to.be.visible; + }); + + it('includes a button to cancel sharding', async function () { + const onCancelSharding = Sinon.spy(); + await renderWithProps({ onCancelSharding }); + const btn = screen.getByRole('button', { name: 'Cancel Request' }); + expect(btn).to.be.visible; + + userEvent.click(btn); + expect(onCancelSharding).to.have.been.called; + }); + + it('the cancel sharding button is disabled when cancelling is in progress', async function () { + const onCancelSharding = Sinon.spy(); + await renderWithProps({ onCancelSharding, isCancellingSharding: true }); + const btn = screen.getByTestId('cancel-sharding-btn'); + + userEvent.click(btn); + expect(onCancelSharding).not.to.have.been.called; + }); + + it('the cancel sharding button is disabled also when sharding is in progress', async function () { + const onCancelSharding = Sinon.spy(); + await renderWithProps({ onCancelSharding, isSubmittingForSharding: true }); + const btn = screen.getByTestId('cancel-sharding-btn'); + + userEvent.click(btn); + expect(onCancelSharding).not.to.have.been.called; + }); + + it('includes the createShardKeyForm', async function () { + await renderWithProps(); + expect(screen.getByRole('button', { name: 'Shard Collection' })).to.be + .visible; + }); +}); diff --git a/packages/compass-global-writes/src/components/states/sharding-error.tsx b/packages/compass-global-writes/src/components/states/sharding-error.tsx new file mode 100644 index 00000000000..a71c2d583b6 --- /dev/null +++ b/packages/compass-global-writes/src/components/states/sharding-error.tsx @@ -0,0 +1,81 @@ +import React from 'react'; +import { + Banner, + BannerVariant, + Button, + css, + spacing, + SpinLoader, +} from '@mongodb-js/compass-components'; +import { connect } from 'react-redux'; +import { + cancelSharding, + type RootState, + ShardingStatuses, +} from '../../store/reducer'; +import CreateShardKeyForm from '../create-shard-key-form'; +import { containerStyles, bannerStyles } from '../common-styles'; + +const btnStyles = css({ + float: 'right', + height: spacing[600], +}); + +const errorStyles = css({ + marginTop: spacing[200], + whiteSpace: 'pre-wrap', + textAlign: 'left', +}); + +interface ShardingErrorProps { + shardingError: string; + isCancellingSharding: boolean; + isSubmittingForSharding: boolean; + onCancelSharding: () => void; +} + +export function ShardingError({ + shardingError, + isCancellingSharding, + isSubmittingForSharding, + onCancelSharding, +}: ShardingErrorProps) { + return ( +
+ + There was an error sharding your collection. Please cancel the request, + make any necessary changes to your collection, and try again. +
{shardingError}
+ +
+ +
+ ); +} + +export default connect( + (state: RootState) => { + if (!state.shardingError) { + throw new Error('No shardingError found in ShardingError component'); + } + return { + shardingError: state.shardingError, + isCancellingSharding: + state.status === ShardingStatuses.CANCELLING_SHARDING_ERROR, + isSubmittingForSharding: + state.status === ShardingStatuses.SUBMITTING_FOR_SHARDING_ERROR, + }; + }, + { + onCancelSharding: cancelSharding, + } +)(ShardingError); diff --git a/packages/compass-global-writes/src/components/states/sharding.tsx b/packages/compass-global-writes/src/components/states/sharding.tsx index 3bef1cf75d8..914e3197080 100644 --- a/packages/compass-global-writes/src/components/states/sharding.tsx +++ b/packages/compass-global-writes/src/components/states/sharding.tsx @@ -7,6 +7,7 @@ import { css, Link, spacing, + SpinLoader, } from '@mongodb-js/compass-components'; import { connect } from 'react-redux'; import { @@ -14,15 +15,10 @@ import { type RootState, ShardingStatuses, } from '../../store/reducer'; +import { containerStyles, bannerStyles } from '../common-styles'; const nbsp = '\u00a0'; -const containerStyles = css({ - display: 'flex', - flexDirection: 'column', - gap: spacing[400], -}); - const btnStyles = css({ float: 'right', height: spacing[600], @@ -39,7 +35,7 @@ export function ShardingState({ }: ShardingStateProps) { return (
- + Sharding your collection … {nbsp}this should not take too long. diff --git a/packages/compass-global-writes/src/components/states/unsharded.tsx b/packages/compass-global-writes/src/components/states/unsharded.tsx index 073929dfe0d..43f05af7742 100644 --- a/packages/compass-global-writes/src/components/states/unsharded.tsx +++ b/packages/compass-global-writes/src/components/states/unsharded.tsx @@ -1,329 +1,14 @@ -import React, { useCallback, useState } from 'react'; -import { - Banner, - BannerVariant, - Body, - css, - Label, - Link, - spacing, - Subtitle, - InlineInfoLink, - TextInput, - Accordion, - RadioGroup, - Radio, - ComboboxWithCustomOption, - ComboboxOption, - Checkbox, - Button, - SpinLoader, - cx, -} from '@mongodb-js/compass-components'; -import { useAutocompleteFields } from '@mongodb-js/compass-field-store'; -import { connect } from 'react-redux'; -import type { CreateShardKeyData, RootState } from '../../store/reducer'; -import { createShardKey, ShardingStatuses } from '../../store/reducer'; +import React from 'react'; +import { Banner, BannerVariant } from '@mongodb-js/compass-components'; +import CreateShardKeyForm from '../create-shard-key-form'; +import { containerStyles, bannerStyles } from '../common-styles'; const nbsp = '\u00a0'; -const containerStyles = css({ - display: 'flex', - flexDirection: 'column', - gap: spacing[400], -}); - -const contentStyles = css({ - display: 'flex', - flexDirection: 'column', - gap: spacing[200], -}); - -const listStyles = css({ - listStyle: 'disc', - paddingLeft: 'auto', - marginTop: 0, -}); - -const shardKeyFormFieldsStyles = css({ - display: 'flex', - flexDirection: 'row', - gap: spacing[400], -}); - -const secondShardKeyStyles = css({ - width: '300px', -}); - -const hasedIndexOptionsStyles = css({ - marginLeft: spacing[1200], // This aligns it with the radio button text - marginTop: spacing[400], -}); - -const advanceOptionsGroupStyles = css({ - paddingLeft: spacing[500], // Avoid visual cutoff -}); - -const chunksInputStyles = css({ - display: 'flex', - alignItems: 'center', - gap: spacing[100], -}); - -function CreateShardKeyDescription() { - return ( -
- Configure compound shard key - - To properly configure Global Writes, your collections must be sharded - using a compound shard key made up of a ‘location’ field and a second - field of your choosing. - - - - All documents in your collection should contain both the ‘location’ - field and your chosen second field. - - -
    -
  • - - The second field should represent a well-distributed and immutable - value to ensure that data is equally distributed across shards in a - particular zone.{nbsp} - - Note that the value of this field cannot be an array. - - {nbsp} - For more information, read our documentation on{' '} - - selecting a shard key - - . - -
  • -
- - - Once you shard your collection, it cannot be unsharded. - -
- ); -} - -type ShardingAdvancedOption = 'default' | 'unique-index' | 'hashed-index'; - -function CreateShardKeyForm({ - namespace, - isSubmittingForSharding, - onCreateShardKey, -}: Pick< - UnshardedStateProps, - 'isSubmittingForSharding' | 'namespace' | 'onCreateShardKey' ->) { - const [isAdvancedOptionsOpen, setIsAdvancedOptionsOpen] = useState(false); - const [selectedAdvancedOption, setSelectedAdvancedOption] = - useState('default'); - const fields = useAutocompleteFields(namespace); - - const [secondShardKey, setSecondShardKey] = useState(null); - const [numInitialChunks, setNumInitialChunks] = useState< - string | undefined - >(); - const [isPreSplitData, setIsPreSplitData] = useState(false); - - const onSubmit = useCallback(() => { - if (!secondShardKey) { - return; - } - const isCustomShardKeyHashed = selectedAdvancedOption === 'hashed-index'; - const presplitHashedZones = isCustomShardKeyHashed && isPreSplitData; - - const data: CreateShardKeyData = { - customShardKey: secondShardKey, - isShardKeyUnique: selectedAdvancedOption === 'unique-index', - isCustomShardKeyHashed, - presplitHashedZones, - numInitialChunks: - presplitHashedZones && numInitialChunks - ? Number(numInitialChunks) - : null, - }; - - onCreateShardKey(data); - }, [ - isPreSplitData, - numInitialChunks, - secondShardKey, - selectedAdvancedOption, - onCreateShardKey, - ]); - - return ( -
-
-
- - -
-
- - ({ value }))} - className={secondShardKeyStyles} - value={secondShardKey} - searchEmptyMessage="No fields found. Please enter a valid field name." - renderOption={(option, index, isCustom) => { - return ( - - ); - }} - /> -
-
- - ) => { - setSelectedAdvancedOption( - event.target.value as ShardingAdvancedOption - ); - }} - > - - Default - - -
- - - Enforce a uniqueness constraint on the shard key of this Global - Collection.{' '} - - Learn more - - -
-
- -
- - - Improve even distribution of the sharded data by hashing the - second field of the shard key.{' '} - - Learn more - - -
-
-
- {selectedAdvancedOption === 'hashed-index' && ( -
- setIsPreSplitData(!isPreSplitData)} - label="Pre-split data for even distribution." - checked={isPreSplitData} - /> -
- setNumInitialChunks(event.target.value)} - /> - chunks per shard. -
-
- )} -
-
- -
-
- ); -} - -type UnshardedStateProps = { - namespace: string; - isSubmittingForSharding: boolean; - onCreateShardKey: (data: CreateShardKeyData) => void; -}; -export function UnshardedState(props: UnshardedStateProps) { +export function UnshardedState() { return (
- + To use Global Writes, this collection must be configured with a compound shard key made up of both a ‘location’ field and an @@ -331,19 +16,9 @@ export function UnshardedState(props: UnshardedStateProps) { {nbsp}See the instructions below for details. - - +
); } -export default connect( - (state: RootState) => ({ - namespace: state.namespace, - isSubmittingForSharding: - state.status === ShardingStatuses.SUBMITTING_FOR_SHARDING, - }), - { - onCreateShardKey: createShardKey, - } -)(UnshardedState); +export default UnshardedState; diff --git a/packages/compass-global-writes/src/components/states/usharded.spec.tsx b/packages/compass-global-writes/src/components/states/usharded.spec.tsx index 74d57ccb925..13c8b9aafcc 100644 --- a/packages/compass-global-writes/src/components/states/usharded.spec.tsx +++ b/packages/compass-global-writes/src/components/states/usharded.spec.tsx @@ -1,36 +1,13 @@ import React from 'react'; import { expect } from 'chai'; -import { screen, userEvent } from '@mongodb-js/testing-library-compass'; +import { screen } from '@mongodb-js/testing-library-compass'; import { UnshardedState } from './unsharded'; import { renderWithStore } from '../../../tests/create-store'; -import sinon from 'sinon'; function renderWithProps( props?: Partial> ) { - return renderWithStore( - {}} - {...props} - /> - ); -} - -function setShardingKeyFieldValue(value: string) { - const input = screen.getByLabelText('Second shard key field'); - expect(input).to.exist; - userEvent.type(input, value); - expect(input).to.have.value(value); - userEvent.keyboard('{Escape}'); - - // For some reason, when running tests in electron mode, the value of - // the input field is not being updated. This is a workaround to ensure - // the value is being updated before clicking the submit button. - userEvent.click(screen.getByText(value), undefined, { - skipPointerEventsCheck: true, - }); + return renderWithStore(); } describe('UnshardedState', function () { @@ -44,150 +21,9 @@ describe('UnshardedState', function () { expect(screen.getByTestId('unsharded-text-description')).to.exist; }); - context('shard collection form', function () { - let onCreateShardKeySpy: sinon.SinonSpy; - beforeEach(async function () { - onCreateShardKeySpy = sinon.spy(); - await renderWithProps({ onCreateShardKey: onCreateShardKeySpy }); - }); - - it('renders location form field as disabled', function () { - expect(screen.getByLabelText('First shard key field')).to.have.attribute( - 'aria-disabled', - 'true' - ); - }); - - it('does not allow user to submit when no second shard key is selected', function () { - expect(screen.getByTestId('shard-collection-button')).to.have.attribute( - 'aria-disabled', - 'true' - ); - - userEvent.click(screen.getByTestId('shard-collection-button')); - expect(onCreateShardKeySpy.called).to.be.false; - }); - - it('allows user to input second shard key and submit it', function () { - setShardingKeyFieldValue('name'); - - userEvent.click(screen.getByTestId('shard-collection-button')); - - expect(onCreateShardKeySpy.calledOnce).to.be.true; - expect(onCreateShardKeySpy.firstCall.args[0]).to.deep.equal({ - customShardKey: 'name', - isShardKeyUnique: false, - isCustomShardKeyHashed: false, - presplitHashedZones: false, - numInitialChunks: null, - }); - }); - - it('renders advanced options and radio buttons for: default, unique-index and hashed index', function () { - const accordian = screen.getByText('Advanced Shard Key Configuration'); - expect(accordian).to.exist; - - userEvent.click(accordian); - - const defaultRadio = screen.getByLabelText('Default'); - const uniqueIndexRadio = screen.getByLabelText( - 'Use unique index as the shard key' - ); - const hashedIndexRadio = screen.getByLabelText( - 'Use hashed index as the shard key' - ); - - expect(defaultRadio).to.exist; - expect(uniqueIndexRadio).to.exist; - expect(hashedIndexRadio).to.exist; - }); - - it('allows user to select unique index as shard key', function () { - const accordian = screen.getByText('Advanced Shard Key Configuration'); - userEvent.click(accordian); - - const uniqueIndexRadio = screen.getByLabelText( - 'Use unique index as the shard key' - ); - userEvent.click(uniqueIndexRadio); - - expect(uniqueIndexRadio).to.have.attribute('aria-checked', 'true'); - - setShardingKeyFieldValue('name'); - - userEvent.click(screen.getByTestId('shard-collection-button')); - - expect(onCreateShardKeySpy.calledOnce).to.be.true; - expect(onCreateShardKeySpy.firstCall.args[0]).to.deep.equal({ - customShardKey: 'name', - isShardKeyUnique: true, - isCustomShardKeyHashed: false, - presplitHashedZones: false, - numInitialChunks: null, - }); - }); - - it('allows user to select hashed index as shard key with split-chunks option', function () { - const accordian = screen.getByText('Advanced Shard Key Configuration'); - userEvent.click(accordian); - - const hashedIndexRadio = screen.getByLabelText( - 'Use hashed index as the shard key' - ); - userEvent.click(hashedIndexRadio); - - expect(hashedIndexRadio).to.have.attribute('aria-checked', 'true'); - - setShardingKeyFieldValue('name'); - - // Check pre-split data - userEvent.click(screen.getByTestId('presplit-data-checkbox'), undefined, { - skipPointerEventsCheck: true, - }); - - userEvent.click(screen.getByTestId('shard-collection-button')); - - expect(onCreateShardKeySpy.calledOnce).to.be.true; - expect(onCreateShardKeySpy.firstCall.args[0]).to.deep.equal({ - customShardKey: 'name', - isShardKeyUnique: false, - isCustomShardKeyHashed: true, - presplitHashedZones: true, - numInitialChunks: null, - }); - }); - - it('allows user to select hashed index as shard key with all its options', function () { - const accordian = screen.getByText('Advanced Shard Key Configuration'); - userEvent.click(accordian); - - const hashedIndexRadio = screen.getByLabelText( - 'Use hashed index as the shard key' - ); - userEvent.click(hashedIndexRadio); - - expect(hashedIndexRadio).to.have.attribute('aria-checked', 'true'); - - setShardingKeyFieldValue('name'); - - // Check pre-split data - userEvent.click(screen.getByTestId('presplit-data-checkbox'), undefined, { - skipPointerEventsCheck: true, - }); - - // Enter number of chunks - userEvent.type(screen.getByTestId('chunks-per-shard-input'), '10'); - - userEvent.click(screen.getByTestId('shard-collection-button')); - - expect(onCreateShardKeySpy.calledOnce).to.be.true; - expect(onCreateShardKeySpy.firstCall.args[0]).to.deep.equal({ - customShardKey: 'name', - isShardKeyUnique: false, - isCustomShardKeyHashed: true, - presplitHashedZones: true, - numInitialChunks: 10, - }); - }); + it('includes the createShardKeyForm', async function () { + await renderWithProps(); + expect(screen.getByRole('button', { name: 'Shard Collection' })).to.be + .visible; }); }); diff --git a/packages/compass-global-writes/src/services/atlas-global-writes-service.ts b/packages/compass-global-writes/src/services/atlas-global-writes-service.ts index 80390f1def2..8ce8f1456c7 100644 --- a/packages/compass-global-writes/src/services/atlas-global-writes-service.ts +++ b/packages/compass-global-writes/src/services/atlas-global-writes-service.ts @@ -4,6 +4,8 @@ import type { AtlasService } from '@mongodb-js/atlas-service/provider'; import type { CreateShardKeyData } from '../store/reducer'; import type { ConnectionInfoRef } from '@mongodb-js/compass-connections/provider'; +const TIMESTAMP_REGEX = /\[\d{1,2}:\d{2}:\d{2}\.\d{3}\]/; + export type ShardZoneMapping = { isoCode: string; typeOneIsoCode: string; @@ -184,10 +186,13 @@ export class AtlasGlobalWritesService { const namespaceShardingError = data.automationStatus.processes.find( (process) => process.statusType === 'ERROR' && - process.workingOnShort === 'ShardingCollections' && + process.workingOnShort === 'ShardCollections' && process.errorText.indexOf(namespace) !== -1 ); - return namespaceShardingError?.errorText; + if (!namespaceShardingError) return undefined; + const errorTextSplit = + namespaceShardingError.errorText.split(TIMESTAMP_REGEX); + return errorTextSplit[errorTextSplit.length - 1].trim(); } async getShardingKeys(namespace: string) { diff --git a/packages/compass-global-writes/src/store/index.spec.ts b/packages/compass-global-writes/src/store/index.spec.ts index ee001aeb6f2..a32c7d032ff 100644 --- a/packages/compass-global-writes/src/store/index.spec.ts +++ b/packages/compass-global-writes/src/store/index.spec.ts @@ -51,8 +51,8 @@ const managedNamespace: ManagedNamespace = { const failedShardingProcess: AutomationAgentProcess = { statusType: 'ERROR', - workingOnShort: 'ShardingCollections', - errorText: `Failed to shard ${NS}`, + workingOnShort: 'ShardCollections', + errorText: `before timestamp[01:02:03.456]Failed to shard ${NS}`, }; function createAuthFetchResponse< @@ -230,6 +230,9 @@ describe('GlobalWritesStore Store', function () { clock.tick(POLLING_INTERVAL); await waitFor(() => { expect(store.getState().status).to.equal('SHARDING_ERROR'); + expect(store.getState().shardingError).to.equal( + `Failed to shard ${NS}` + ); // the original error text was: `before timestamp[01:02:03.456]Failed to shard ${NS}` }); }); @@ -392,6 +395,7 @@ describe('GlobalWritesStore Store', function () { }, unique: true, }), + hasShardingError: () => true, // mismatch will also trigger an error }); await waitFor(() => { expect(store.getState().status).to.equal('SHARD_KEY_MISMATCH'); @@ -409,6 +413,7 @@ describe('GlobalWritesStore Store', function () { }, unique: false, // this does not match }), + hasShardingError: () => true, // mismatch will also trigger an error }); await waitFor(() => { expect(store.getState().status).to.equal('SHARD_KEY_MISMATCH'); @@ -442,15 +447,61 @@ describe('GlobalWritesStore Store', function () { }); }); - it('sharding error', async function () { + it('sharding error -> cancelling request -> not managed', async function () { + // initial state === sharding error + let mockManagedNamespace = true; + let mockShardingError = true; + clock = sinon.useFakeTimers({ + shouldAdvanceTime: true, + }); + const store = createStore({ + isNamespaceManaged: Sinon.fake(() => mockManagedNamespace), + hasShardingError: Sinon.fake(() => mockShardingError), + }); + await waitFor(() => { + expect(store.getState().status).to.equal('SHARDING_ERROR'); + expect(store.getState().managedNamespace).to.equal(managedNamespace); + }); + + // user triggers a cancellation + const promise = store.dispatch(cancelSharding()); + mockManagedNamespace = false; + mockShardingError = false; + await promise; + expect(store.getState().status).to.equal('UNSHARDED'); + expect(confirmationStub).to.have.been.called; + }); + + it('sharding error -> submitting form -> sharding -> sharded', async function () { + // initial state === sharding error= + let mockShardingError = true; + let mockShardKey = false; + clock = sinon.useFakeTimers({ + shouldAdvanceTime: true, + }); const store = createStore({ isNamespaceManaged: () => true, - hasShardingError: () => true, + hasShardingError: Sinon.fake(() => mockShardingError), + hasShardKey: Sinon.fake(() => mockShardKey), }); await waitFor(() => { expect(store.getState().status).to.equal('SHARDING_ERROR'); expect(store.getState().managedNamespace).to.equal(managedNamespace); }); + + // user submits the form + const promise = store.dispatch(createShardKey(shardKeyData)); + mockShardingError = false; + expect(store.getState().status).to.equal('SUBMITTING_FOR_SHARDING_ERROR'); + await promise; + expect(store.getState().status).to.equal('SHARDING'); + + // the key is created + mockShardKey = true; + clock.tick(POLLING_INTERVAL); + await waitFor(() => { + expect(store.getState().status).to.equal('SHARD_KEY_CORRECT'); + }); }); it('sends correct data to the server when creating a shard key', async function () { diff --git a/packages/compass-global-writes/src/store/reducer.ts b/packages/compass-global-writes/src/store/reducer.ts index 4255bb49072..97b6d18b3c8 100644 --- a/packages/compass-global-writes/src/store/reducer.ts +++ b/packages/compass-global-writes/src/store/reducer.ts @@ -130,6 +130,7 @@ export enum ShardingStatuses { * we are waiting for server to accept the request. */ SUBMITTING_FOR_SHARDING = 'SUBMITTING_FOR_SHARDING', + SUBMITTING_FOR_SHARDING_ERROR = 'SUBMITTING_FOR_SHARDING_ERROR', /** * Namespace is being sharded. @@ -141,6 +142,7 @@ export enum ShardingStatuses { * we are waiting for server to accept the request. */ CANCELLING_SHARDING = 'CANCELLING_SHARDING', + CANCELLING_SHARDING_ERROR = 'CANCELLING_SHARDING_ERROR', /** * Sharding failed. @@ -224,7 +226,10 @@ export type RootState = { pollingTimeout?: NodeJS.Timeout; } | { - status: ShardingStatuses.SHARDING_ERROR; + status: + | ShardingStatuses.SHARDING_ERROR + | ShardingStatuses.CANCELLING_SHARDING_ERROR + | ShardingStatuses.SUBMITTING_FOR_SHARDING_ERROR; shardKey?: never; shardingError: string; pollingTimeout?: never; @@ -330,16 +335,31 @@ const reducer: Reducer = (state = initialState, action) => { }; } + if ( + isAction( + action, + GlobalWritesActionTypes.SubmittingForShardingStarted + ) && + state.status === ShardingStatuses.SHARDING_ERROR + ) { + return { + ...state, + status: ShardingStatuses.SUBMITTING_FOR_SHARDING_ERROR, + }; + } + if ( isAction( action, GlobalWritesActionTypes.SubmittingForShardingFinished ) && (state.status === ShardingStatuses.SUBMITTING_FOR_SHARDING || + state.status === ShardingStatuses.SUBMITTING_FOR_SHARDING_ERROR || state.status === ShardingStatuses.NOT_READY) ) { return { ...state, + shardingError: undefined, managedNamespace: action.managedNamespace || state.managedNamespace, status: ShardingStatuses.SHARDING, }; @@ -388,15 +408,30 @@ const reducer: Reducer = (state = initialState, action) => { }; } + if ( + isAction( + action, + GlobalWritesActionTypes.CancellingShardingStarted + ) && + state.status === ShardingStatuses.SHARDING_ERROR + ) { + return { + ...state, + status: ShardingStatuses.CANCELLING_SHARDING_ERROR, + }; + } + if ( isAction( action, GlobalWritesActionTypes.CancellingShardingErrored ) && - state.status === ShardingStatuses.CANCELLING_SHARDING + (state.status === ShardingStatuses.CANCELLING_SHARDING || + state.status === ShardingStatuses.CANCELLING_SHARDING_ERROR) ) { return { ...state, + shardingError: undefined, status: ShardingStatuses.SHARDING, }; } @@ -407,7 +442,8 @@ const reducer: Reducer = (state = initialState, action) => { GlobalWritesActionTypes.CancellingShardingFinished ) && (state.status === ShardingStatuses.CANCELLING_SHARDING || - state.status === ShardingStatuses.SHARDING_ERROR) + state.status === ShardingStatuses.SHARDING_ERROR || + state.status === ShardingStatuses.CANCELLING_SHARDING_ERROR) // the error might come before the cancel request was processed ) { return { @@ -696,7 +732,10 @@ export const fetchNamespaceShardKey = (): GlobalWritesThunkAction< atlasGlobalWritesService.getShardingKeys(namespace), ]); - if (shardingError) { + if (shardingError && !shardKey) { + // if there is an existing shard key and an error both, + // means we have a key mismatch + // this will be handled in NamespaceShardKeyFetched if (status === ShardingStatuses.SHARDING) { dispatch(stopPollingForShardKey()); } From 2b44d2663f9ab824985d1abdf858b6d7361a835f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 17:29:35 +0000 Subject: [PATCH 27/27] chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary (#6422) Update report Co-authored-by: paula-stacho <5196720+paula-stacho@users.noreply.github.com> --- docs/tracking-plan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tracking-plan.md b/docs/tracking-plan.md index acb223106e4..3efef1ae2ad 100644 --- a/docs/tracking-plan.md +++ b/docs/tracking-plan.md @@ -1,7 +1,7 @@ # Compass Tracking Plan -Generated on Tue, Oct 29, 2024 at 04:29 PM +Generated on Tue, Oct 29, 2024 at 05:29 PM ## Table of Contents