diff --git a/jest.config.js b/jest.config.js index cbd424e91..98d84b7b5 100644 --- a/jest.config.js +++ b/jest.config.js @@ -57,6 +57,9 @@ module.exports = { '/node_modules/(?!quick-lru)', ], testTimeout: 8000, + setupFilesAfterEnv: [ + './jest-setup.js', + ] }, ], }; diff --git a/package-lock.json b/package-lock.json index 5a6955424..f94717a0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -95,7 +95,7 @@ "mime": "1.6.0", "mime-types": "2.1.35", "moment": "2.29.4", - "mongodb": "4.17.1", + "mongodb": "6.8.0", "mongodb-restore": "1.6.2", "mui-file-dropzone": "4.0.2", "multistream": "^2.1.1", @@ -182,7 +182,7 @@ }, "devDependencies": { "@babel/eslint-parser": "^7.23.10", - "@shelf/jest-mongodb": "3.0.2", + "@shelf/jest-mongodb": "4.3.2", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "11.2.7", "@types/ejs": "3.1.5", @@ -230,14 +230,6 @@ "node": ">= 16" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@adobe/css-tools": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", @@ -255,646 +247,6 @@ "node": ">=6.0.0" } }, - "node_modules/@aws-crypto/crc32": { - "version": "3.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/crc32/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD", - "optional": true - }, - "node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD", - "optional": true - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD", - "optional": true - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD", - "optional": true - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD", - "optional": true - }, - "node_modules/@aws-crypto/util": { - "version": "3.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD", - "optional": true - }, - "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.454.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.454.0", - "@aws-sdk/core": "3.451.0", - "@aws-sdk/credential-provider-node": "3.451.0", - "@aws-sdk/middleware-host-header": "3.451.0", - "@aws-sdk/middleware-logger": "3.451.0", - "@aws-sdk/middleware-recursion-detection": "3.451.0", - "@aws-sdk/middleware-signing": "3.451.0", - "@aws-sdk/middleware-user-agent": "3.451.0", - "@aws-sdk/region-config-resolver": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@aws-sdk/util-user-agent-browser": "3.451.0", - "@aws-sdk/util-user-agent-node": "3.451.0", - "@smithy/config-resolver": "^2.0.18", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/hash-node": "^2.0.15", - "@smithy/invalid-dependency": "^2.0.13", - "@smithy/middleware-content-length": "^2.0.15", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/middleware-retry": "^2.0.20", - "@smithy/middleware-serde": "^2.0.13", - "@smithy/middleware-stack": "^2.0.7", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/protocol-http": "^3.0.9", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.19", - "@smithy/util-defaults-mode-node": "^2.0.25", - "@smithy/util-endpoints": "^1.0.4", - "@smithy/util-retry": "^2.0.6", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.451.0", - "@aws-sdk/middleware-host-header": "3.451.0", - "@aws-sdk/middleware-logger": "3.451.0", - "@aws-sdk/middleware-recursion-detection": "3.451.0", - "@aws-sdk/middleware-user-agent": "3.451.0", - "@aws-sdk/region-config-resolver": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@aws-sdk/util-user-agent-browser": "3.451.0", - "@aws-sdk/util-user-agent-node": "3.451.0", - "@smithy/config-resolver": "^2.0.18", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/hash-node": "^2.0.15", - "@smithy/invalid-dependency": "^2.0.13", - "@smithy/middleware-content-length": "^2.0.15", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/middleware-retry": "^2.0.20", - "@smithy/middleware-serde": "^2.0.13", - "@smithy/middleware-stack": "^2.0.7", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/protocol-http": "^3.0.9", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.19", - "@smithy/util-defaults-mode-node": "^2.0.25", - "@smithy/util-endpoints": "^1.0.4", - "@smithy/util-retry": "^2.0.6", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.454.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.451.0", - "@aws-sdk/credential-provider-node": "3.451.0", - "@aws-sdk/middleware-host-header": "3.451.0", - "@aws-sdk/middleware-logger": "3.451.0", - "@aws-sdk/middleware-recursion-detection": "3.451.0", - "@aws-sdk/middleware-sdk-sts": "3.451.0", - "@aws-sdk/middleware-signing": "3.451.0", - "@aws-sdk/middleware-user-agent": "3.451.0", - "@aws-sdk/region-config-resolver": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@aws-sdk/util-user-agent-browser": "3.451.0", - "@aws-sdk/util-user-agent-node": "3.451.0", - "@smithy/config-resolver": "^2.0.18", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/hash-node": "^2.0.15", - "@smithy/invalid-dependency": "^2.0.13", - "@smithy/middleware-content-length": "^2.0.15", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/middleware-retry": "^2.0.20", - "@smithy/middleware-serde": "^2.0.13", - "@smithy/middleware-stack": "^2.0.7", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/protocol-http": "^3.0.9", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.19", - "@smithy/util-defaults-mode-node": "^2.0.25", - "@smithy/util-endpoints": "^1.0.4", - "@smithy/util-retry": "^2.0.6", - "@smithy/util-utf8": "^2.0.2", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/core": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/smithy-client": "^2.1.15", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.454.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.454.0", - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/util-stream": "^2.0.20", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.451.0", - "@aws-sdk/credential-provider-process": "3.451.0", - "@aws-sdk/credential-provider-sso": "3.451.0", - "@aws-sdk/credential-provider-web-identity": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.451.0", - "@aws-sdk/credential-provider-ini": "3.451.0", - "@aws-sdk/credential-provider-process": "3.451.0", - "@aws-sdk/credential-provider-sso": "3.451.0", - "@aws-sdk/credential-provider-web-identity": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-sso": "3.451.0", - "@aws-sdk/token-providers": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-providers": { - "version": "3.454.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.454.0", - "@aws-sdk/client-sso": "3.451.0", - "@aws-sdk/client-sts": "3.454.0", - "@aws-sdk/credential-provider-cognito-identity": "3.454.0", - "@aws-sdk/credential-provider-env": "3.451.0", - "@aws-sdk/credential-provider-http": "3.451.0", - "@aws-sdk/credential-provider-ini": "3.451.0", - "@aws-sdk/credential-provider-node": "3.451.0", - "@aws-sdk/credential-provider-process": "3.451.0", - "@aws-sdk/credential-provider-sso": "3.451.0", - "@aws-sdk/credential-provider-web-identity": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/middleware-signing": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/signature-v4": "^2.0.0", - "@smithy/types": "^2.5.0", - "@smithy/util-middleware": "^2.0.6", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/types": "^2.5.0", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.6", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.451.0", - "@aws-sdk/middleware-logger": "3.451.0", - "@aws-sdk/middleware-recursion-detection": "3.451.0", - "@aws-sdk/middleware-user-agent": "3.451.0", - "@aws-sdk/region-config-resolver": "3.451.0", - "@aws-sdk/types": "3.451.0", - "@aws-sdk/util-endpoints": "3.451.0", - "@aws-sdk/util-user-agent-browser": "3.451.0", - "@aws-sdk/util-user-agent-node": "3.451.0", - "@smithy/config-resolver": "^2.0.18", - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/hash-node": "^2.0.15", - "@smithy/invalid-dependency": "^2.0.13", - "@smithy/middleware-content-length": "^2.0.15", - "@smithy/middleware-endpoint": "^2.2.0", - "@smithy/middleware-retry": "^2.0.20", - "@smithy/middleware-serde": "^2.0.13", - "@smithy/middleware-stack": "^2.0.7", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^3.0.9", - "@smithy/shared-ini-file-loader": "^2.0.6", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.1.0", - "@smithy/util-defaults-mode-browser": "^2.0.19", - "@smithy/util-defaults-mode-node": "^2.0.25", - "@smithy/util-endpoints": "^1.0.4", - "@smithy/util-retry": "^2.0.6", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/util-endpoints": "^1.0.4", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.310.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/types": "^2.5.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser/node_modules/bowser": { - "version": "2.11.0", - "license": "MIT", - "optional": true - }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.451.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.451.0", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } - } - }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.3.1" - } - }, "node_modules/@babel/cli": { "version": "7.23.9", "license": "MIT", @@ -2537,20 +1889,26 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.15.4", - "dev": true, - "license": "MIT", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.25.0.tgz", + "integrity": "sha512-BOehWE7MgQ8W8Qn0CQnMtg2tHPHPulcS/5AVpFvs2KCK1ET+0WqZqPvnpRpFN81gYoFopdIEJX9Sgjw3ZBccPg==", "dependencies": { - "core-js-pure": "^3.16.0", - "regenerator-runtime": "^0.13.4" + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/runtime-corejs3/node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, "node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.14.0", - "license": "MIT" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/@babel/template": { "version": "7.23.9", @@ -2720,9 +2078,10 @@ } }, "node_modules/@cypress/request/node_modules/tough-cookie": { - "version": "4.1.3", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -2926,10 +2285,6 @@ "csstype": "^3.0.2" } }, - "node_modules/@emotion/serialize/node_modules/csstype": { - "version": "3.0.10", - "license": "MIT" - }, "node_modules/@emotion/sheet": { "version": "1.1.0", "license": "MIT" @@ -3222,16 +2577,6 @@ "node": "*" } }, - "node_modules/@ezs/basics/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@ezs/basics/node_modules/make-dir": { "version": "4.0.0", "license": "MIT", @@ -3271,11 +2616,9 @@ } }, "node_modules/@ezs/basics/node_modules/semver": { - "version": "7.5.4", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -3308,10 +2651,6 @@ "webidl-conversions": "^3.0.0" } }, - "node_modules/@ezs/basics/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/@ezs/conditor": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/@ezs/conditor/-/conditor-2.12.2.tgz", @@ -3420,10 +2759,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@ezs/conditor/node_modules/ramda": { - "version": "0.27.1", - "license": "MIT" - }, "node_modules/@ezs/conditor/node_modules/tr46": { "version": "0.0.3", "license": "MIT" @@ -3605,11 +2940,9 @@ } }, "node_modules/@ezs/core/node_modules/semver": { - "version": "7.5.4", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -3617,16 +2950,6 @@ "node": ">=10" } }, - "node_modules/@ezs/core/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@ezs/core/node_modules/ssri": { "version": "9.0.1", "license": "ISC", @@ -3637,10 +2960,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@ezs/core/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/@ezs/istex": { "version": "1.5.9", "license": "MIT", @@ -3684,13 +3003,6 @@ "node": ">=8" } }, - "node_modules/@ezs/istex/node_modules/is-stream": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@ezs/istex/node_modules/node-fetch": { "version": "2.7.0", "license": "MIT", @@ -3722,10 +3034,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@ezs/istex/node_modules/ramda": { - "version": "0.27.1", - "license": "MIT" - }, "node_modules/@ezs/istex/node_modules/tr46": { "version": "0.0.3", "license": "MIT" @@ -4394,6 +3702,25 @@ "node": ">=0.10.0" } }, + "node_modules/@jest/core/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/@jest/core/node_modules/is-number": { "version": "3.0.0", "dev": true, @@ -4789,6 +4116,25 @@ "node": ">=0.10.0" } }, + "node_modules/@jest/environment/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/@jest/environment/node_modules/is-number": { "version": "3.0.0", "dev": true, @@ -5348,6 +4694,25 @@ "node": ">=0.10.0" } }, + "node_modules/@jest/reporters/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/@jest/reporters/node_modules/is-number": { "version": "3.0.0", "dev": true, @@ -5716,6 +5081,25 @@ "node": ">=0.10.0" } }, + "node_modules/@jest/test-sequencer/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/@jest/test-sequencer/node_modules/is-number": { "version": "3.0.0", "dev": true, @@ -6107,9 +5491,9 @@ "license": "MIT" }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.1", - "license": "MIT", - "optional": true, + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", "dependencies": { "sparse-bitfield": "^3.0.3" } @@ -6215,10 +5599,6 @@ } } }, - "node_modules/@mui/material/node_modules/csstype": { - "version": "3.0.11", - "license": "MIT" - }, "node_modules/@mui/material/node_modules/react-is": { "version": "17.0.2", "license": "MIT" @@ -6315,10 +5695,6 @@ } } }, - "node_modules/@mui/system/node_modules/csstype": { - "version": "3.0.11", - "license": "MIT" - }, "node_modules/@mui/types": { "version": "7.1.3", "license": "MIT", @@ -6358,8 +5734,9 @@ } }, "node_modules/@mui/utils/node_modules/react-is": { - "version": "18.2.0", - "license": "MIT" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/@mui/x-data-grid": { "version": "5.8.0", @@ -6384,8 +5761,9 @@ } }, "node_modules/@mui/x-data-grid/node_modules/reselect": { - "version": "4.1.5", - "license": "MIT" + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" }, "node_modules/@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", @@ -6548,8 +5926,9 @@ } }, "node_modules/@pm2/agent": { - "version": "2.0.3", - "license": "AGPL-3.0", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@pm2/agent/-/agent-2.0.4.tgz", + "integrity": "sha512-n7WYvvTJhHLS2oBb1PjOtgLpMhgImOq8sXkPBw6smeg9LJBWZjiEgPKOpR8mn9UJZsB5P3W4V/MyvNnp31LKeA==", "dependencies": { "async": "~3.2.0", "chalk": "~3.0.0", @@ -6563,7 +5942,7 @@ "pm2-axon-rpc": "~0.7.0", "proxy-agent": "~6.3.0", "semver": "~7.5.0", - "ws": "~7.4.0" + "ws": "~7.5.10" } }, "node_modules/@pm2/agent/node_modules/ansi-styles": { @@ -6633,25 +6012,6 @@ "node": ">=8" } }, - "node_modules/@pm2/agent/node_modules/ws": { - "version": "7.4.6", - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/@pm2/io": { "version": "5.0.2", "license": "Apache-2", @@ -6746,20 +6106,20 @@ "link": true }, "node_modules/@shelf/jest-mongodb": { - "version": "3.0.2", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@shelf/jest-mongodb/-/jest-mongodb-4.3.2.tgz", + "integrity": "sha512-LL7NBaT04sJspoOZXqw3HGLw0+XnZNlIV72x2ymzyuloqIKXwgUl8eL1XKDUh4Ud8dUBRMrOngCQBcHKjWnrHQ==", "dev": true, - "license": "MIT", "dependencies": { "debug": "4.3.4", - "mongodb-memory-server": "7.6.3", - "uuid": "8.3.2" + "mongodb-memory-server": "9.2.0" }, "engines": { - "node": ">=12" + "node": ">=16" }, "peerDependencies": { - "jest-environment-node": "27.x.x || 28.x", - "mongodb": "3.x.x || 4.x" + "jest-environment-node": "28.x || 29.x", + "mongodb": "3.x.x || 4.x || 5.x || 6.x" } }, "node_modules/@sindresorhus/is": { @@ -6772,512 +6132,6 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@smithy/abort-controller": { - "version": "2.0.13", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/config-resolver": { - "version": "2.0.18", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/types": "^2.5.0", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.6", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds": { - "version": "2.1.1", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/property-provider": "^2.0.14", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/eventstream-codec": { - "version": "2.0.13", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.5.0", - "@smithy/util-hex-encoding": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/fetch-http-handler": { - "version": "2.2.6", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^3.0.9", - "@smithy/querystring-builder": "^2.0.13", - "@smithy/types": "^2.5.0", - "@smithy/util-base64": "^2.0.1", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/hash-node": { - "version": "2.0.15", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/invalid-dependency": { - "version": "2.0.13", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/is-array-buffer": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-content-length": { - "version": "2.0.15", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^3.0.9", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-endpoint": { - "version": "2.2.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/middleware-serde": "^2.0.13", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/shared-ini-file-loader": "^2.2.4", - "@smithy/types": "^2.5.0", - "@smithy/url-parser": "^2.0.13", - "@smithy/util-middleware": "^2.0.6", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-retry": { - "version": "2.0.20", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/protocol-http": "^3.0.9", - "@smithy/service-error-classification": "^2.0.6", - "@smithy/types": "^2.5.0", - "@smithy/util-middleware": "^2.0.6", - "@smithy/util-retry": "^2.0.6", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-serde": { - "version": "2.0.13", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-stack": { - "version": "2.0.7", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/node-config-provider": { - "version": "2.1.5", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/property-provider": "^2.0.14", - "@smithy/shared-ini-file-loader": "^2.2.4", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/node-http-handler": { - "version": "2.1.9", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/abort-controller": "^2.0.13", - "@smithy/protocol-http": "^3.0.9", - "@smithy/querystring-builder": "^2.0.13", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/property-provider": { - "version": "2.0.14", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/protocol-http": { - "version": "3.0.9", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/querystring-builder": { - "version": "2.0.13", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "@smithy/util-uri-escape": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/querystring-parser": { - "version": "2.0.13", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/service-error-classification": { - "version": "2.0.6", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.2.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/signature-v4": { - "version": "2.0.15", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/eventstream-codec": "^2.0.13", - "@smithy/is-array-buffer": "^2.0.0", - "@smithy/types": "^2.5.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-middleware": "^2.0.6", - "@smithy/util-uri-escape": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/smithy-client": { - "version": "2.1.15", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/middleware-stack": "^2.0.7", - "@smithy/types": "^2.5.0", - "@smithy/util-stream": "^2.0.20", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/types": { - "version": "2.5.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/url-parser": { - "version": "2.0.13", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/querystring-parser": "^2.0.13", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/util-base64": { - "version": "2.0.1", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-body-length-browser": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - } - }, - "node_modules/@smithy/util-body-length-node": { - "version": "2.1.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-buffer-from": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/is-array-buffer": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-config-provider": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.0.19", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/property-provider": "^2.0.14", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser/node_modules/bowser": { - "version": "2.11.0", - "license": "MIT", - "optional": true - }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.0.25", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/config-resolver": "^2.0.18", - "@smithy/credential-provider-imds": "^2.1.1", - "@smithy/node-config-provider": "^2.1.5", - "@smithy/property-provider": "^2.0.14", - "@smithy/smithy-client": "^2.1.15", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@smithy/util-endpoints": { - "version": "1.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.1.5", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@smithy/util-hex-encoding": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-middleware": { - "version": "2.0.6", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-retry": { - "version": "2.0.6", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/service-error-classification": "^2.0.6", - "@smithy/types": "^2.5.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@smithy/util-stream": { - "version": "2.0.20", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/fetch-http-handler": "^2.2.6", - "@smithy/node-http-handler": "^2.1.9", - "@smithy/types": "^2.5.0", - "@smithy/util-base64": "^2.0.1", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-utf8": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-uri-escape": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/util-utf8": { - "version": "2.0.2", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@socket.io/component-emitter": { "version": "3.1.0", "license": "MIT" @@ -7417,11 +6271,12 @@ } }, "node_modules/@testing-library/jest-dom/node_modules/aria-query": { - "version": "5.1.3", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/@testing-library/jest-dom/node_modules/chalk": { @@ -7452,33 +6307,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@testing-library/jest-dom/node_modules/deep-equal": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/@testing-library/jest-dom/node_modules/has-flag": { "version": "4.0.0", "dev": true, @@ -7487,11 +6315,6 @@ "node": ">=8" } }, - "node_modules/@testing-library/jest-dom/node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, "node_modules/@testing-library/jest-dom/node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -7582,14 +6405,6 @@ "@types/node": "*" } }, - "node_modules/@types/bson": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bson": "*" - } - }, "node_modules/@types/busboy": { "version": "1.5.3", "dev": true, @@ -7728,8 +6543,9 @@ } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "license": "MIT", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dependencies": { "@types/istanbul-lib-report": "*" } @@ -7768,15 +6584,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mongodb": { - "version": "3.6.20", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/bson": "*", - "@types/node": "*" - } - }, "node_modules/@types/node": { "version": "18.18.9", "license": "MIT", @@ -7819,11 +6626,12 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "17.0.32", - "license": "MIT", + "version": "16.14.60", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.60.tgz", + "integrity": "sha512-wIFmnczGsTcgwCBeIYOuy2mdXEiKZ5znU/jNOnMZPQyCcIxauMGWlX0TNG4lZ7NxRKj7YUIZRneJQSSdB2jKgg==", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", + "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, @@ -7843,10 +6651,6 @@ "@types/react": "*" } }, - "node_modules/@types/react/node_modules/csstype": { - "version": "3.0.9", - "license": "MIT" - }, "node_modules/@types/responselike": { "version": "1.0.0", "license": "MIT", @@ -7914,8 +6718,9 @@ } }, "node_modules/@types/stack-utils": { - "version": "2.0.1", - "license": "MIT" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", @@ -7925,11 +6730,6 @@ "@types/jest": "*" } }, - "node_modules/@types/tmp": { - "version": "0.2.4", - "dev": true, - "license": "MIT" - }, "node_modules/@types/triple-beam": { "version": "1.3.5", "license": "MIT" @@ -7940,6 +6740,7 @@ }, "node_modules/@types/whatwg-url": { "version": "8.2.2", + "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -7955,8 +6756,9 @@ } }, "node_modules/@types/yargs": { - "version": "15.0.14", - "license": "MIT", + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", + "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", "dependencies": { "@types/yargs-parser": "*" } @@ -8317,8 +7119,9 @@ "license": "BSD-3-Clause" }, "node_modules/abbrev": { - "version": "1.1.1", - "license": "ISC" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==" }, "node_modules/abstract-leveldown": { "version": "7.2.0", @@ -8427,9 +7230,25 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.0", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dev": true, - "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk/node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { "node": ">=0.4.0" } @@ -8624,8 +7443,9 @@ "license": "MIT" }, "node_modules/anymatch": { - "version": "3.1.2", - "license": "ISC", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -8718,13 +7538,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/argparse": { "version": "1.0.10", "license": "MIT", @@ -9084,11 +7897,12 @@ } }, "node_modules/async-mutex": { - "version": "0.3.2", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.1.tgz", + "integrity": "sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA==", "dev": true, - "license": "MIT", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.4.0" } }, "node_modules/async-retry": { @@ -9460,8 +8274,9 @@ } }, "node_modules/babel-loader/node_modules/yocto-queue": { - "version": "1.0.0", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "engines": { "node": ">=12.20" }, @@ -9755,6 +8570,16 @@ "node": ">=8" } }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, "node_modules/bintrees": { "version": "1.0.2", "license": "MIT" @@ -9935,15 +8760,6 @@ "node": ">= 0.8" } }, - "node_modules/body-parser/node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/bonjour-service": { "version": "1.2.1", "dev": true, @@ -9971,10 +8787,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "license": "MIT", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -10044,24 +8861,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/browserslist/node_modules/caniuse-lite": { - "version": "1.0.30001589", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, "node_modules/bser": { "version": "2.1.1", "dev": true, @@ -10071,35 +8870,11 @@ } }, "node_modules/bson": { - "version": "4.7.2", - "license": "Apache-2.0", - "dependencies": { - "buffer": "^5.6.0" - }, + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", + "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==", "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/bson/node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "node": ">=16.20.1" } }, "node_modules/buffer": { @@ -10225,8 +9000,9 @@ } }, "node_modules/cacache/node_modules/@npmcli/fs": { - "version": "3.1.0", - "license": "ISC", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dependencies": { "semver": "^7.3.5" }, @@ -10236,7 +9012,8 @@ }, "node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { "balanced-match": "^1.0.0" } @@ -10252,21 +9029,20 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "10.3.10", - "license": "ISC", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "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" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -10279,8 +9055,9 @@ } }, "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.3", - "license": "ISC", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -10292,8 +9069,9 @@ } }, "node_modules/cacache/node_modules/minipass": { - "version": "7.0.4", - "license": "ISC", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -10578,116 +9356,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cheerio-select/node_modules/dom-serializer": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/cheerio-select/node_modules/domelementtype": { - "version": "2.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/cheerio-select/node_modules/domhandler": { - "version": "4.2.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/cheerio-select/node_modules/domutils": { - "version": "2.8.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/cheerio-select/node_modules/entities": { - "version": "2.2.0", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/dom-serializer": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/domelementtype": { - "version": "2.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/cheerio/node_modules/domhandler": { - "version": "4.2.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/domutils": { - "version": "2.8.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, "node_modules/cheerio/node_modules/entities": { "version": "2.2.0", "dev": true, @@ -10752,9 +9420,19 @@ } }, "node_modules/ci-info": { - "version": "3.2.0", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } }, "node_modules/cjson": { "version": "0.3.0", @@ -11181,13 +9859,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/compress-commons/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/compressible": { "version": "2.0.18", "dev": true, @@ -11389,13 +10060,6 @@ "node": ">=8" } }, - "node_modules/concurrently/node_modules/rxjs": { - "version": "7.8.1", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/concurrently/node_modules/supports-color": { "version": "8.1.1", "license": "MIT", @@ -11621,11 +10285,9 @@ } }, "node_modules/convert-source-map": { - "version": "1.8.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { "version": "0.6.0", @@ -11780,18 +10442,19 @@ } }, "node_modules/core-js-pure": { - "version": "3.19.0", - "dev": true, + "version": "3.38.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.0.tgz", + "integrity": "sha512-8balb/HAXo06aHP58mZMtXgD8vcnXz9tUDePgqBgJgKdmTlMt+jw3ujqniuBDQXMvTzxnMpxHFeuSM3g1jWQuQ==", "hasInstallScript": true, - "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/cors": { "version": "2.8.5", @@ -12004,65 +10667,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domelementtype": { - "version": "2.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/css-select/node_modules/domhandler": { - "version": "4.2.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domutils": { - "version": "2.8.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/css-select/node_modules/entities": { - "version": "2.2.0", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/css-tree": { "version": "1.1.3", "license": "MIT", @@ -12120,6 +10724,11 @@ "cssom": "0.3.x" } }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, "node_modules/csv": { "version": "5.5.3", "license": "MIT", @@ -12404,17 +11013,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cypress/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/cypress/node_modules/mimic-fn": { "version": "2.1.0", "dev": true, @@ -12423,14 +11021,6 @@ "node": ">=6" } }, - "node_modules/cypress/node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/cypress/node_modules/onetime": { "version": "5.1.2", "dev": true, @@ -12463,12 +11053,10 @@ } }, "node_modules/cypress/node_modules/semver": { - "version": "7.5.4", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -12490,11 +11078,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/cypress/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/d3": { "version": "5.16.0", "license": "BSD-3-Clause", @@ -12670,8 +11253,9 @@ "license": "BSD-3-Clause" }, "node_modules/d3-geo": { - "version": "1.12.1", - "license": "BSD-3-Clause", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.6.3.tgz", + "integrity": "sha512-Sat4T+brCBbHPuFytEJoyoytfPgjDZqPkJhiinenByxTPTkKLWduKsxDtyUpuVgDp1njkjfWHQoolplCiHU1Mw==", "dependencies": { "d3-array": "1" } @@ -12858,8 +11442,9 @@ "license": "MIT" }, "node_modules/dayjs": { - "version": "1.11.10", - "license": "MIT" + "version": "1.11.12", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz", + "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==" }, "node_modules/debounce": { "version": "1.2.1", @@ -13280,13 +11865,44 @@ "csstype": "^3.0.2" } }, - "node_modules/dom-helpers/node_modules/csstype": { - "version": "3.0.9", - "license": "MIT" + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/dom-walk": { "version": "0.1.2" }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, "node_modules/domexception": { "version": "1.0.1", "dev": true, @@ -13295,6 +11911,35 @@ "webidl-conversions": "^4.0.2" } }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/dot-prop": { "version": "5.1.1", "license": "MIT", @@ -13337,13 +11982,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/duplexer3": { "version": "0.1.5", "license": "BSD-3-Clause" @@ -13586,25 +12224,16 @@ } }, "node_modules/enquirer": { - "version": "2.4.1", - "dev": true, - "license": "MIT", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" + "ansi-colors": "^4.1.1" }, "engines": { "node": ">=8.6" } }, - "node_modules/enquirer/node_modules/ansi-colors": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/entities": { "version": "3.0.1", "license": "BSD-2-Clause", @@ -14572,16 +13201,17 @@ } }, "node_modules/eslint/node_modules/optionator": { - "version": "0.9.3", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -14681,9 +13311,10 @@ } }, "node_modules/espree/node_modules/acorn": { - "version": "8.11.3", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -14743,9 +13374,10 @@ } }, "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -15161,14 +13793,6 @@ "node": ">= 0.8" } }, - "node_modules/express/node_modules/toidentifier": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, "node_modules/extend": { "version": "3.0.2", "license": "MIT" @@ -15330,6 +13954,11 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-loops": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.4.tgz", + "integrity": "sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==" + }, "node_modules/fast-shallow-equal": { "version": "1.0.0" }, @@ -15337,27 +13966,6 @@ "version": "2.1.1", "license": "MIT" }, - "node_modules/fast-xml-parser": { - "version": "4.2.5", - "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "dev": true, @@ -15415,8 +14023,9 @@ } }, "node_modules/fbemitter/node_modules/fbjs": { - "version": "3.0.4", - "license": "MIT", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", "dependencies": { "cross-fetch": "^3.1.5", "fbjs-css-vars": "^1.0.0", @@ -15424,7 +14033,7 @@ "object-assign": "^4.1.0", "promise": "^7.1.1", "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" + "ua-parser-js": "^1.0.35" } }, "node_modules/fbemitter/node_modules/object-assign": { @@ -15434,6 +14043,28 @@ "node": ">=0.10.0" } }, + "node_modules/fbemitter/node_modules/ua-parser-js": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz", + "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, "node_modules/fbjs": { "version": "0.8.18", "license": "MIT", @@ -15624,6 +14255,13 @@ "node": ">= 10" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "node_modules/filelist": { "version": "1.0.4", "license": "Apache-2.0", @@ -15656,8 +14294,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "license": "MIT", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -15762,8 +14401,9 @@ } }, "node_modules/flux/node_modules/fbjs": { - "version": "3.0.4", - "license": "MIT", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", "dependencies": { "cross-fetch": "^3.1.5", "fbjs-css-vars": "^1.0.0", @@ -15771,7 +14411,7 @@ "object-assign": "^4.1.0", "promise": "^7.1.1", "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" + "ua-parser-js": "^1.0.35" } }, "node_modules/flux/node_modules/object-assign": { @@ -15781,6 +14421,28 @@ "node": ">=0.10.0" } }, + "node_modules/flux/node_modules/ua-parser-js": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz", + "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, "node_modules/fn.name": { "version": "1.1.0", "license": "MIT" @@ -15827,14 +14489,16 @@ } }, "node_modules/fontkit/node_modules/deep-equal": { - "version": "2.2.0", - "license": "MIT", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.1", + "is-array-buffer": "^3.0.2", "is-date-object": "^1.0.5", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", @@ -15842,11 +14506,14 @@ "object-is": "^1.1.5", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", "side-channel": "^1.0.4", "which-boxed-primitive": "^1.0.2", "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -16010,8 +14677,9 @@ } }, "node_modules/fs-extra/node_modules/universalify": { - "version": "2.0.0", - "license": "MIT", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { "node": ">= 10.0.0" } @@ -16041,8 +14709,9 @@ } }, "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.7", - "license": "MIT", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -16053,17 +14722,23 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/fstream": { "version": "1.0.12", "license": "ISC", @@ -16891,9 +15566,10 @@ } }, "node_modules/getos/node_modules/async": { - "version": "3.2.4", - "dev": true, - "license": "MIT" + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true }, "node_modules/getpass": { "version": "0.1.7", @@ -17438,9 +16114,10 @@ } }, "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -17451,14 +16128,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/html-element-map": { "version": "1.3.1", "dev": true, @@ -17520,14 +16189,15 @@ "license": "MIT" }, "node_modules/http-errors": { - "version": "1.8.0", - "license": "MIT", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.6" @@ -17722,30 +16392,6 @@ "npm": ">=4.0.0" } }, - "node_modules/imask/node_modules/@babel/runtime-corejs3": { - "version": "7.23.1", - "license": "MIT", - "dependencies": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/imask/node_modules/core-js-pure": { - "version": "3.33.0", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/imask/node_modules/regenerator-runtime": { - "version": "0.14.0", - "license": "MIT" - }, "node_modules/immutable": { "version": "3.8.2", "license": "MIT", @@ -17775,9 +16421,10 @@ } }, "node_modules/import-local": { - "version": "3.1.0", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -17994,9 +16641,10 @@ "license": "BSD-3-Clause" }, "node_modules/ipaddr.js": { - "version": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } @@ -18457,13 +17105,11 @@ } }, "node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-string": { @@ -18758,11 +17404,6 @@ "node": ">=6" } }, - "node_modules/istanbul/node_modules/abbrev": { - "version": "1.0.9", - "dev": true, - "license": "ISC" - }, "node_modules/istanbul/node_modules/async": { "version": "1.5.2", "dev": true, @@ -18882,14 +17523,12 @@ } }, "node_modules/jackspeak": { - "version": "2.3.6", - "license": "BlueOak-1.0.0", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -19560,6 +18199,25 @@ "node": ">=0.10.0" } }, + "node_modules/jest-config/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/jest-config/node_modules/is-number": { "version": "3.0.0", "dev": true, @@ -21123,6 +19781,25 @@ "node": ">=0.10.0" } }, + "node_modules/jest-runner/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/jest-runner/node_modules/is-number": { "version": "3.0.0", "dev": true, @@ -21489,6 +20166,25 @@ "node": ">=0.10.0" } }, + "node_modules/jest-runtime/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/jest-runtime/node_modules/is-fullwidth-code-point": { "version": "2.0.0", "dev": true, @@ -22625,9 +21321,10 @@ "license": "MIT" }, "node_modules/jsdom/node_modules/sax": { - "version": "1.3.0", - "dev": true, - "license": "ISC" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true }, "node_modules/jsdom/node_modules/source-map": { "version": "0.6.1", @@ -22639,9 +21336,10 @@ } }, "node_modules/jsdom/node_modules/ws": { - "version": "5.2.3", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.4.tgz", + "integrity": "sha512-fFCejsuC8f9kOSu9FYaOw8CdO68O3h5v0lg4p74o8JqWpwTf9tniOD+nOB78aWoVSS6WptVUmDrp/KPsMVBWFQ==", "dev": true, - "license": "MIT", "dependencies": { "async-limiter": "~1.0.0" } @@ -22774,22 +21472,10 @@ "npm": ">=6" } }, - "node_modules/jsonwebtoken/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jsonwebtoken/node_modules/semver": { - "version": "7.6.0", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -22797,10 +21483,6 @@ "node": ">=10" } }, - "node_modules/jsonwebtoken/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/jsprim": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", @@ -23062,8 +21744,9 @@ } }, "node_modules/koa-router/node_modules/path-to-regexp": { - "version": "6.2.0", - "license": "MIT" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==" }, "node_modules/koa-send": { "version": "5.0.1", @@ -23194,13 +21877,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/left-pad": { "version": "1.3.0", "dev": true, @@ -23402,14 +22078,6 @@ "dev": true, "license": "MIT" }, - "node_modules/listr2/node_modules/rxjs": { - "version": "7.8.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/listr2/node_modules/slice-ansi": { "version": "3.0.0", "dev": true, @@ -24001,17 +22669,6 @@ "is-buffer": "~1.1.6" } }, - "node_modules/md5-file": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "bin": { - "md5-file": "cli.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/mdn-data": { "version": "2.0.14", "license": "CC0-1.0" @@ -24048,8 +22705,7 @@ }, "node_modules/memory-pager": { "version": "1.5.0", - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/memorystream": { "version": "0.3.1", @@ -24194,8 +22850,12 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "license": "MIT" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { "version": "3.3.6", @@ -24312,10 +22972,11 @@ } }, "node_modules/mkdirp": { - "version": "0.5.5", - "license": "MIT", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" @@ -24716,23 +23377,53 @@ } }, "node_modules/mongodb": { - "version": "4.17.1", - "license": "Apache-2.0", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.8.0.tgz", + "integrity": "sha512-HGQ9NWDle5WvwMnrvUxsFYPd3JEbqD3RgABHBQRuoCEND0qzhsd0iH5ypHsf1eJ+sXmvmyKpP+FLOKY8Il7jMw==", "dependencies": { - "bson": "^4.7.2", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" + "@mongodb-js/saslprep": "^1.1.5", + "bson": "^6.7.0", + "mongodb-connection-string-url": "^3.0.0" }, "engines": { - "node": ">=12.9.0" + "node": ">=16.20.1" }, - "optionalDependencies": { - "@aws-sdk/credential-providers": "^3.186.0", - "@mongodb-js/saslprep": "^1.1.0" + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.1.0", + "gcp-metadata": "^5.2.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=6.0.0 <7", + "snappy": "^7.2.2", + "socks": "^2.7.1" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } } }, "node_modules/mongodb-connection-string-url": { "version": "2.6.0", + "dev": true, "license": "Apache-2.0", "dependencies": { "@types/whatwg-url": "^8.2.1", @@ -24741,6 +23432,7 @@ }, "node_modules/mongodb-connection-string-url/node_modules/tr46": { "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { "punycode": "^2.1.1" @@ -24751,6 +23443,7 @@ }, "node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": { "version": "7.0.0", + "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=12" @@ -24758,6 +23451,7 @@ }, "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": { "version": "11.0.0", + "dev": true, "license": "MIT", "dependencies": { "tr46": "^3.0.0", @@ -24767,79 +23461,86 @@ "node": ">=12" } }, + "node_modules/mongodb-core": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.2.tgz", + "integrity": "sha512-yb82YpD/pNXxd1UxvnSqBVaHkKag2FjGGwlJFwzdmGRaIYjLe9Od8miyn0tfVuoSBDMFN4m5P97vtuDfCmTGzQ==", + "dependencies": { + "bson": "~1.0.1", + "require_optional": "~1.0.0" + } + }, + "node_modules/mongodb-core/node_modules/bson": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz", + "integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==", + "engines": { + "node": ">=0.6.19" + } + }, "node_modules/mongodb-memory-server": { - "version": "7.6.3", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-9.2.0.tgz", + "integrity": "sha512-w/usKdYtby5EALERxmA0+et+D0brP0InH3a26shNDgGefXA61hgl6U0P3IfwqZlEGRZdkbZig3n57AHZgDiwvg==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { - "mongodb-memory-server-core": "7.6.3", - "tslib": "^2.3.0" + "mongodb-memory-server-core": "9.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12.22.0" + "node": ">=14.20.1" } }, "node_modules/mongodb-memory-server-core": { - "version": "7.6.3", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-9.2.0.tgz", + "integrity": "sha512-9SWZEy+dGj5Fvm5RY/mtqHZKS64o4heDwReD4SsfR7+uNgtYo+JN41kPCcJeIH3aJf04j25i5Dia2s52KmsMPA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mongodb": "^3.6.20", - "@types/tmp": "^0.2.2", - "async-mutex": "^0.3.2", - "camelcase": "^6.1.0", - "debug": "^4.2.0", + "async-mutex": "^0.4.0", + "camelcase": "^6.3.0", + "debug": "^4.3.4", "find-cache-dir": "^3.3.2", - "get-port": "^5.1.1", - "https-proxy-agent": "^5.0.0", - "md5-file": "^5.0.0", - "mkdirp": "^1.0.4", - "mongodb": "^3.7.3", - "new-find-package-json": "^1.1.0", - "semver": "^7.3.5", - "tar-stream": "^2.1.4", - "tmp": "^0.2.1", - "tslib": "^2.3.0", - "uuid": "^8.3.1", - "yauzl": "^2.10.0" + "follow-redirects": "^1.15.6", + "https-proxy-agent": "^7.0.4", + "mongodb": "^5.9.1", + "new-find-package-json": "^2.0.0", + "semver": "^7.6.0", + "tar-stream": "^3.1.7", + "tslib": "^2.6.2", + "yauzl": "^3.1.3" }, "engines": { - "node": ">=12.22.0" + "node": ">=14.20.1" } }, "node_modules/mongodb-memory-server-core/node_modules/agent-base": { - "version": "6.0.2", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/mongodb-memory-server-core/node_modules/bl": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "node": ">= 14" } }, "node_modules/mongodb-memory-server-core/node_modules/bson": { - "version": "1.1.6", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.1.tgz", + "integrity": "sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g==", "dev": true, - "license": "Apache-2.0", "engines": { - "node": ">=0.6.19" + "node": ">=14.20.1" } }, "node_modules/mongodb-memory-server-core/node_modules/camelcase": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -24849,8 +23550,9 @@ }, "node_modules/mongodb-memory-server-core/node_modules/find-cache-dir": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -24865,8 +23567,9 @@ }, "node_modules/mongodb-memory-server-core/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -24876,21 +23579,23 @@ } }, "node_modules/mongodb-memory-server-core/node_modules/https-proxy-agent": { - "version": "5.0.1", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, - "license": "MIT", "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/mongodb-memory-server-core/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -24900,8 +23605,9 @@ }, "node_modules/mongodb-memory-server-core/node_modules/make-dir": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -24914,45 +23620,41 @@ }, "node_modules/mongodb-memory-server-core/node_modules/make-dir/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/mongodb-memory-server-core/node_modules/mkdirp": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/mongodb-memory-server-core/node_modules/mongodb": { - "version": "3.7.4", + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.9.2.tgz", + "integrity": "sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "bl": "^2.2.1", - "bson": "^1.1.4", - "denque": "^1.4.1", - "optional-require": "^1.1.8", - "safe-buffer": "^5.1.2" + "bson": "^5.5.0", + "mongodb-connection-string-url": "^2.6.0", + "socks": "^2.7.1" }, "engines": { - "node": ">=4" + "node": ">=14.20.1" }, "optionalDependencies": { - "saslprep": "^1.0.0" + "@mongodb-js/saslprep": "^1.1.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.0.0", + "kerberos": "^1.0.0 || ^2.0.0", + "mongodb-client-encryption": ">=2.3.0 <3", + "snappy": "^7.2.2" }, "peerDependenciesMeta": { - "aws4": { + "@aws-sdk/credential-providers": { "optional": true }, - "bson-ext": { + "@mongodb-js/zstd": { "optional": true }, "kerberos": { @@ -24961,9 +23663,6 @@ "mongodb-client-encryption": { "optional": true }, - "mongodb-extjson": { - "optional": true - }, "snappy": { "optional": true } @@ -24971,8 +23670,9 @@ }, "node_modules/mongodb-memory-server-core/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -24982,16 +23682,18 @@ }, "node_modules/mongodb-memory-server-core/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/mongodb-memory-server-core/node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -24999,26 +23701,54 @@ "node": ">=8" } }, - "node_modules/mongodb-memory-server-core/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/mongodb-memory-server-core/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/mongodb-memory-server-core/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/mongodb-memory-server-core/node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/yauzl": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz", + "integrity": "sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/mongodb-restore": { @@ -25037,7 +23767,8 @@ }, "node_modules/mongodb-restore/node_modules/bson": { "version": "1.1.6", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz", + "integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==", "engines": { "node": ">=0.6.19" } @@ -25065,14 +23796,6 @@ "node": ">=0.10.3" } }, - "node_modules/mongodb-restore/node_modules/mongodb-core": { - "version": "2.1.2", - "license": "Apache-2.0", - "dependencies": { - "bson": "~1.0.1", - "require_optional": "~1.0.0" - } - }, "node_modules/mongodb-restore/node_modules/process-nextick-args": { "version": "1.0.7", "license": "MIT" @@ -25103,21 +23826,52 @@ "inherits": "2" } }, - "node_modules/mongodb/node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" + "node_modules/mongodb/node_modules/@types/whatwg-url": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz", + "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==", + "dependencies": { + "@types/webidl-conversions": "*" + } }, - "node_modules/mongodb/node_modules/socks": { - "version": "2.7.1", - "license": "MIT", + "node_modules/mongodb/node_modules/mongodb-connection-string-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz", + "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==", "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" + "@types/whatwg-url": "^11.0.2", + "whatwg-url": "^13.0.0" + } + }, + "node_modules/mongodb/node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dependencies": { + "punycode": "^2.3.0" }, "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": ">=14" + } + }, + "node_modules/mongodb/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/mongodb/node_modules/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=16" } }, "node_modules/moo": { @@ -25196,8 +23950,9 @@ } }, "node_modules/multistream/node_modules/readable-stream": { - "version": "2.3.7", - "license": "MIT", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -25208,13 +23963,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/multistream/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/mute-stream": { "version": "0.0.8", "license": "ISC" @@ -25251,15 +23999,21 @@ "react-dom": "*" } }, - "node_modules/nano-css/node_modules/csstype": { - "version": "3.0.11", - "license": "MIT" + "node_modules/nano-css/node_modules/css-in-js-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", + "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", + "dependencies": { + "hyphenate-style-name": "^1.0.3" + } }, "node_modules/nano-css/node_modules/inline-style-prefixer": { - "version": "6.0.1", - "license": "MIT", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz", + "integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==", "dependencies": { - "css-in-js-utils": "^2.0.0" + "css-in-js-utils": "^3.1.0", + "fast-loops": "^1.1.3" } }, "node_modules/nanoid": { @@ -25359,8 +24113,9 @@ } }, "node_modules/needle/node_modules/sax": { - "version": "1.3.0", - "license": "ISC" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/negotiator": { "version": "0.6.3", @@ -25382,12 +24137,12 @@ } }, "node_modules/new-find-package-json": { - "version": "1.2.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/new-find-package-json/-/new-find-package-json-2.0.0.tgz", + "integrity": "sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "^4.3.4", - "tslib": "^2.4.0" + "debug": "^4.3.4" }, "engines": { "node": ">=12.22.0" @@ -25563,24 +24318,11 @@ "url": "https://opencollective.com/nodemon" } }, - "node_modules/nodemon/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/nodemon/node_modules/semver": { - "version": "7.6.0", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -25588,11 +24330,6 @@ "node": ">=10" } }, - "node_modules/nodemon/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/nomnom": { "version": "1.5.2", "dependencies": { @@ -26029,17 +24766,6 @@ "version": "0.1.4", "license": "MIT" }, - "node_modules/optional-require": { - "version": "1.1.8", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "require-at": "^1.0.6" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/optionator": { "version": "0.8.3", "dev": true, @@ -26285,8 +25011,9 @@ } }, "node_modules/pac-proxy-agent/node_modules/agent-base": { - "version": "7.1.0", - "license": "MIT", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dependencies": { "debug": "^4.3.4" }, @@ -26306,8 +25033,9 @@ } }, "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.4", - "license": "MIT", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -26317,8 +25045,9 @@ } }, "node_modules/pac-proxy-agent/node_modules/socks": { - "version": "2.7.3", - "license": "MIT", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dependencies": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" @@ -26329,12 +25058,13 @@ } }, "node_modules/pac-proxy-agent/node_modules/socks-proxy-agent": { - "version": "8.0.2", - "license": "MIT", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" @@ -26351,6 +25081,11 @@ "node": ">= 14" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, "node_modules/pako": { "version": "0.2.9", "license": "MIT" @@ -26451,29 +25186,29 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.10.1", - "license": "BlueOak-1.0.0", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.1.0", - "license": "ISC", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "license": "ISC", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -26783,16 +25518,6 @@ "version": "2.15.1", "license": "MIT" }, - "node_modules/pm2/node_modules/enquirer": { - "version": "2.3.6", - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/pm2/node_modules/eventemitter2": { "version": "5.0.1", "license": "MIT" @@ -26940,14 +25665,15 @@ "license": "MIT" }, "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.6", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -26970,9 +25696,10 @@ } }, "node_modules/prettier": { - "version": "3.2.5", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -27072,11 +25799,11 @@ } }, "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "engines": { - "node": ">=6" + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", + "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "optionalDependencies": { + "clipboard": "^2.0.0" } }, "node_modules/process": { @@ -27262,8 +25989,9 @@ } }, "node_modules/proxy-agent/node_modules/agent-base": { - "version": "7.1.0", - "license": "MIT", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dependencies": { "debug": "^4.3.4" }, @@ -27283,8 +26011,9 @@ } }, "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.4", - "license": "MIT", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -27301,8 +26030,9 @@ } }, "node_modules/proxy-agent/node_modules/socks": { - "version": "2.7.3", - "license": "MIT", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dependencies": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" @@ -27313,12 +26043,13 @@ } }, "node_modules/proxy-agent/node_modules/socks-proxy-agent": { - "version": "8.0.2", - "license": "MIT", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" @@ -27350,8 +26081,9 @@ } }, "node_modules/punycode": { - "version": "2.1.1", - "license": "MIT", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } @@ -27361,10 +26093,11 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.11.2", - "license": "BSD-3-Clause", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -27413,6 +26146,11 @@ "dev": true, "license": "CC0-1.0" }, + "node_modules/ramda": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz", + "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==" + }, "node_modules/randexp": { "version": "0.4.6", "dev": true, @@ -27493,13 +26231,6 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/toidentifier": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, "node_modules/react": { "version": "16.14.0", "license": "MIT", @@ -27773,17 +26504,6 @@ "react-dom": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0" } }, - "node_modules/react-simple-maps/node_modules/d3-array": { - "version": "1.2.4", - "license": "BSD-3-Clause" - }, - "node_modules/react-simple-maps/node_modules/d3-geo": { - "version": "1.6.3", - "license": "BSD-3-Clause", - "dependencies": { - "d3-array": "1" - } - }, "node_modules/react-swipeable": { "version": "5.5.1", "license": "MIT", @@ -27939,19 +26659,6 @@ "vega-lite": "*" } }, - "node_modules/react-vega/node_modules/@types/react": { - "version": "16.14.19", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/react-vega/node_modules/csstype": { - "version": "3.0.9", - "license": "MIT" - }, "node_modules/react-vis-force": { "version": "0.3.1", "license": "MIT", @@ -28252,8 +26959,9 @@ } }, "node_modules/redux-polyglot/node_modules/redux": { - "version": "4.1.1", - "license": "MIT", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dependencies": { "@babel/runtime": "^7.9.2" } @@ -28308,13 +27016,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/refractor/node_modules/prismjs": { - "version": "1.17.1", - "license": "MIT", - "optionalDependencies": { - "clipboard": "^2.0.0" - } - }, "node_modules/regenerate": { "version": "1.4.2", "license": "MIT" @@ -28330,8 +27031,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.9", - "license": "MIT" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regenerator-transform": { "version": "0.15.2", @@ -28518,14 +27220,6 @@ "semver": "bin/semver" } }, - "node_modules/require-at": { - "version": "1.0.6", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, "node_modules/require-directory": { "version": "2.1.1", "license": "MIT", @@ -28811,6 +27505,14 @@ "version": "1.3.3", "license": "BSD-3-Clause" }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-array-concat": { "version": "1.1.0", "license": "MIT", @@ -29121,18 +27823,6 @@ "node": ">=0.10.0" } }, - "node_modules/saslprep": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "sparse-bitfield": "^3.0.3" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/sax": { "version": "0.4.3", "license": "MIT" @@ -29315,18 +28005,11 @@ "node": ">= 0.8" } }, - "node_modules/send/node_modules/toidentifier": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, "node_modules/serialize-javascript": { - "version": "6.0.1", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -29530,12 +28213,17 @@ "license": "BSD-2-Clause" }, "node_modules/side-channel": { - "version": "1.0.4", - "license": "MIT", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -29571,24 +28259,11 @@ "node": ">=10" } }, - "node_modules/simple-update-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.6.0", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -29596,11 +28271,6 @@ "node": ">=10" } }, - "node_modules/simple-update-notifier/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/sirv": { "version": "2.0.3", "dev": true, @@ -29907,7 +28577,6 @@ "node_modules/sparse-bitfield": { "version": "3.0.3", "license": "MIT", - "optional": true, "dependencies": { "memory-pager": "^1.0.2" } @@ -30011,8 +28680,9 @@ } }, "node_modules/ssri": { - "version": "10.0.5", - "license": "ISC", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "dependencies": { "minipass": "^7.0.3" }, @@ -30021,8 +28691,9 @@ } }, "node_modules/ssri/node_modules/minipass": { - "version": "7.0.4", - "license": "ISC", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -30042,8 +28713,9 @@ } }, "node_modules/stack-utils": { - "version": "2.0.5", - "license": "MIT", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -30221,30 +28893,13 @@ } }, "node_modules/string_decoder": { - "version": "1.3.0", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/string-hash": { "version": "1.1.3", "license": "CC0-1.0" @@ -30552,8 +29207,9 @@ } }, "node_modules/tar": { - "version": "6.1.15", - "license": "ISC", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -30579,8 +29235,9 @@ } }, "node_modules/tar-fs/node_modules/tar-stream": { - "version": "3.1.6", - "license": "MIT", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -30791,9 +29448,10 @@ } }, "node_modules/terser/node_modules/acorn": { - "version": "8.11.3", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -30999,8 +29657,9 @@ "license": "MIT" }, "node_modules/toidentifier": { - "version": "1.0.0", - "license": "MIT", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } @@ -31121,8 +29780,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/tsscmp": { "version": "1.0.6", @@ -31538,13 +30198,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/unzipper/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/update-browserslist-db": { "version": "1.0.13", "funding": [ @@ -31898,8 +30551,9 @@ } }, "node_modules/vega-functions/node_modules/d3-geo": { - "version": "3.1.0", - "license": "ISC", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", "dependencies": { "d3-array": "2.5.0 - 3" }, @@ -31929,8 +30583,9 @@ } }, "node_modules/vega-geo/node_modules/d3-geo": { - "version": "3.1.0", - "license": "ISC", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", "dependencies": { "d3-array": "2.5.0 - 3" }, @@ -32199,6 +30854,14 @@ "vega-util": "^1.17.2" } }, + "node_modules/vega-parser/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, "node_modules/vega-parser/node_modules/d3-color": { "version": "3.1.0", "license": "ISC", @@ -32206,9 +30869,42 @@ "node": ">=12" } }, - "node_modules/vega-parser/node_modules/d3-geo": { + "node_modules/vega-parser/node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/d3-format": { "version": "3.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", "dependencies": { "d3-array": "2.5.0 - 3" }, @@ -32216,21 +30912,236 @@ "node": ">=12" } }, + "node_modules/vega-parser/node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vega-parser/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/vega-parser/node_modules/topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "dependencies": { + "commander": "2" + }, + "bin": { + "topo2geo": "bin/topo2geo", + "topomerge": "bin/topomerge", + "topoquantize": "bin/topoquantize" + } + }, + "node_modules/vega-parser/node_modules/topojson-client/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/vega-parser/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/vega-parser/node_modules/vega-dataflow": { + "version": "5.7.6", + "resolved": "https://registry.npmjs.org/vega-dataflow/-/vega-dataflow-5.7.6.tgz", + "integrity": "sha512-9Md8+5iUC1MVKPKDyZ7pCEHk6I9am+DgaMzZqo/27O/KI4f23/WQXPyuI8jbNmc/mkm340P0TKREmzL5M7+2Dg==", + "dependencies": { + "vega-format": "^1.1.2", + "vega-loader": "^4.5.2", + "vega-util": "^1.17.2" + } + }, + "node_modules/vega-parser/node_modules/vega-expression": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-5.1.1.tgz", + "integrity": "sha512-zv9L1Hm0KHE9M7mldHyz8sXbGu3KmC0Cdk7qfHkcTNS75Jpsem6jkbu6ZAwx5cNUeW91AxUQOu77r4mygq2wUQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "vega-util": "^1.17.2" + } + }, + "node_modules/vega-parser/node_modules/vega-format": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vega-format/-/vega-format-1.1.2.tgz", + "integrity": "sha512-0kUfAj0dg0U6GcEY0Kp6LiSTCZ8l8jl1qVdQyToMyKmtZg/q56qsiJQZy3WWRr1MtWkTIZL71xSJXgjwjeUaAw==", + "dependencies": { + "d3-array": "^3.2.2", + "d3-format": "^3.1.0", + "d3-time-format": "^4.1.0", + "vega-time": "^2.1.2", + "vega-util": "^1.17.2" + } + }, "node_modules/vega-parser/node_modules/vega-functions": { - "version": "5.14.0", - "license": "BSD-3-Clause", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/vega-functions/-/vega-functions-5.15.0.tgz", + "integrity": "sha512-pCqmm5efd+3M65jrJGxEy3UGuRksmK6DnWijoSNocnxdCBxez+yqUUVX9o2pN8VxMe3648vZnR9/Vk5CXqRvIQ==", "dependencies": { "d3-array": "^3.2.2", "d3-color": "^3.1.0", "d3-geo": "^3.1.0", - "vega-dataflow": "^5.7.5", - "vega-expression": "^5.1.0", - "vega-scale": "^7.3.0", - "vega-scenegraph": "^4.10.2", + "vega-dataflow": "^5.7.6", + "vega-expression": "^5.1.1", + "vega-scale": "^7.4.1", + "vega-scenegraph": "^4.13.0", "vega-selections": "^5.4.2", - "vega-statistics": "^1.8.1", - "vega-time": "^2.1.1", - "vega-util": "^1.17.1" + "vega-statistics": "^1.9.0", + "vega-time": "^2.1.2", + "vega-util": "^1.17.2" + } + }, + "node_modules/vega-parser/node_modules/vega-loader": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/vega-loader/-/vega-loader-4.5.2.tgz", + "integrity": "sha512-ktIdGz3DRIS3XfTP9lJ6oMT5cKwC86nQkjUbXZbOtwXQFVNE2xVWBuH13GP6FKUZxg5hJCMtb5v/e/fwTvhKsQ==", + "dependencies": { + "d3-dsv": "^3.0.1", + "node-fetch": "^2.6.7", + "topojson-client": "^3.1.0", + "vega-format": "^1.1.2", + "vega-util": "^1.17.2" + } + }, + "node_modules/vega-parser/node_modules/vega-scale": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/vega-scale/-/vega-scale-7.4.1.tgz", + "integrity": "sha512-dArA28DbV/M92O2QvswnzCmQ4bq9WwLKUoyhqFYWCltmDwkmvX7yhqiFLFMWPItIm7mi4Qyoygby6r4DKd1X2A==", + "dependencies": { + "d3-array": "^3.2.2", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-scale-chromatic": "^3.1.0", + "vega-time": "^2.1.2", + "vega-util": "^1.17.2" + } + }, + "node_modules/vega-parser/node_modules/vega-scenegraph": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.13.0.tgz", + "integrity": "sha512-nfl45XtuqB5CxyIZJ+bbJ+dofzosPCRlmF+eUQo+0J23NkNXsTzur+1krJDSdhcw0SOYs4sbYRoMz1cpuOM4+Q==", + "dependencies": { + "d3-path": "^3.1.0", + "d3-shape": "^3.2.0", + "vega-canvas": "^1.2.7", + "vega-loader": "^4.5.2", + "vega-scale": "^7.4.1", + "vega-util": "^1.17.2" + } + }, + "node_modules/vega-parser/node_modules/vega-time": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vega-time/-/vega-time-2.1.2.tgz", + "integrity": "sha512-6rXc6JdDt8MnCRy6UzUCsa6EeFycPDmvioMddLfKw38OYCV8pRQC5nw44gyddOwXgUTJLiCtn/sp53P0iA542A==", + "dependencies": { + "d3-array": "^3.2.2", + "d3-time": "^3.1.0", + "vega-util": "^1.17.2" + } + }, + "node_modules/vega-parser/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/vega-parser/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "node_modules/vega-projection": { @@ -32250,8 +31161,9 @@ } }, "node_modules/vega-projection/node_modules/d3-geo": { - "version": "3.1.0", - "license": "ISC", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", "dependencies": { "d3-array": "2.5.0 - 3" }, @@ -32511,10 +31423,6 @@ "extsprintf": "^1.2.0" } }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "license": "MIT" - }, "node_modules/vizion": { "version": "2.2.1", "license": "Apache-2.0", @@ -32665,9 +31573,10 @@ } }, "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.11.2", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -32885,30 +31794,30 @@ } }, "node_modules/webpack-dev-server/node_modules/glob": { - "version": "10.3.10", + "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": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "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" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/webpack-dev-server/node_modules/minimatch": { - "version": "9.0.3", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -32920,34 +31829,34 @@ } }, "node_modules/webpack-dev-server/node_modules/minipass": { - "version": "7.0.4", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/webpack-dev-server/node_modules/rimraf": { - "version": "5.0.5", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^10.3.7" }, "bin": { "rimraf": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.16.0", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -32986,9 +31895,10 @@ } }, "node_modules/webpack/node_modules/acorn": { - "version": "8.11.2", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -33194,20 +32104,21 @@ "license": "MIT" }, "node_modules/winston": { - "version": "3.11.0", - "license": "MIT", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.1.tgz", + "integrity": "sha512-SvZit7VFNvXRzbqGHsv5KSmgbEYR5EiQfDAL9gxYkRqa934Hnk++zze0wANKtMHcy/gI4W/3xmSDwlhf865WGw==", "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", - "logform": "^2.4.0", + "logform": "^2.6.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", "stack-trace": "0.0.x", "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" + "winston-transport": "^4.7.0" }, "engines": { "node": ">= 12.0.0" @@ -33244,9 +32155,10 @@ "license": "MIT" }, "node_modules/word-wrap": { - "version": "1.2.4", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -33369,8 +32281,9 @@ } }, "node_modules/ws": { - "version": "7.5.9", - "license": "MIT", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "engines": { "node": ">=8.3.0" }, @@ -33398,8 +32311,9 @@ } }, "node_modules/xml-js/node_modules/sax": { - "version": "1.2.4", - "license": "ISC" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/xml-mapping": { "version": "1.7.2", @@ -33654,9 +32568,10 @@ } }, "packages/@recuperateur/async-busboy/node_modules/@types/yargs": { - "version": "16.0.6", + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dev": true, - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -33862,7 +32777,7 @@ "version": "1.16.4", "dependencies": { "lodash": "4.17.21", - "mongodb": "4.17.0", + "mongodb": "6.8.0", "node-object-hash": "2.3.10", "quick-lru": "4.0.1", "relaxed-json": "1.0.3", @@ -33873,922 +32788,10 @@ "@ezs/core": "*" } }, - "packages/ezsLodex/node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.395.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.395.0", - "@aws-sdk/credential-provider-node": "3.395.0", - "@aws-sdk/middleware-host-header": "3.391.0", - "@aws-sdk/middleware-logger": "3.391.0", - "@aws-sdk/middleware-recursion-detection": "3.391.0", - "@aws-sdk/middleware-signing": "3.391.0", - "@aws-sdk/middleware-user-agent": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@aws-sdk/util-endpoints": "3.391.0", - "@aws-sdk/util-user-agent-browser": "3.391.0", - "@aws-sdk/util-user-agent-node": "3.391.0", - "@smithy/config-resolver": "^2.0.3", - "@smithy/fetch-http-handler": "^2.0.3", - "@smithy/hash-node": "^2.0.3", - "@smithy/invalid-dependency": "^2.0.3", - "@smithy/middleware-content-length": "^2.0.3", - "@smithy/middleware-endpoint": "^2.0.3", - "@smithy/middleware-retry": "^2.0.3", - "@smithy/middleware-serde": "^2.0.3", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.3", - "@smithy/node-http-handler": "^2.0.3", - "@smithy/protocol-http": "^2.0.3", - "@smithy/smithy-client": "^2.0.3", - "@smithy/types": "^2.2.0", - "@smithy/url-parser": "^2.0.3", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.3", - "@smithy/util-defaults-mode-node": "^2.0.3", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/client-sso": { - "version": "3.395.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.391.0", - "@aws-sdk/middleware-logger": "3.391.0", - "@aws-sdk/middleware-recursion-detection": "3.391.0", - "@aws-sdk/middleware-user-agent": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@aws-sdk/util-endpoints": "3.391.0", - "@aws-sdk/util-user-agent-browser": "3.391.0", - "@aws-sdk/util-user-agent-node": "3.391.0", - "@smithy/config-resolver": "^2.0.3", - "@smithy/fetch-http-handler": "^2.0.3", - "@smithy/hash-node": "^2.0.3", - "@smithy/invalid-dependency": "^2.0.3", - "@smithy/middleware-content-length": "^2.0.3", - "@smithy/middleware-endpoint": "^2.0.3", - "@smithy/middleware-retry": "^2.0.3", - "@smithy/middleware-serde": "^2.0.3", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.3", - "@smithy/node-http-handler": "^2.0.3", - "@smithy/protocol-http": "^2.0.3", - "@smithy/smithy-client": "^2.0.3", - "@smithy/types": "^2.2.0", - "@smithy/url-parser": "^2.0.3", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.3", - "@smithy/util-defaults-mode-node": "^2.0.3", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/client-sts": { - "version": "3.395.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.395.0", - "@aws-sdk/middleware-host-header": "3.391.0", - "@aws-sdk/middleware-logger": "3.391.0", - "@aws-sdk/middleware-recursion-detection": "3.391.0", - "@aws-sdk/middleware-sdk-sts": "3.391.0", - "@aws-sdk/middleware-signing": "3.391.0", - "@aws-sdk/middleware-user-agent": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@aws-sdk/util-endpoints": "3.391.0", - "@aws-sdk/util-user-agent-browser": "3.391.0", - "@aws-sdk/util-user-agent-node": "3.391.0", - "@smithy/config-resolver": "^2.0.3", - "@smithy/fetch-http-handler": "^2.0.3", - "@smithy/hash-node": "^2.0.3", - "@smithy/invalid-dependency": "^2.0.3", - "@smithy/middleware-content-length": "^2.0.3", - "@smithy/middleware-endpoint": "^2.0.3", - "@smithy/middleware-retry": "^2.0.3", - "@smithy/middleware-serde": "^2.0.3", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.3", - "@smithy/node-http-handler": "^2.0.3", - "@smithy/protocol-http": "^2.0.3", - "@smithy/smithy-client": "^2.0.3", - "@smithy/types": "^2.2.0", - "@smithy/url-parser": "^2.0.3", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.3", - "@smithy/util-defaults-mode-node": "^2.0.3", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.395.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.395.0", - "@aws-sdk/types": "3.391.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.395.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.391.0", - "@aws-sdk/credential-provider-process": "3.391.0", - "@aws-sdk/credential-provider-sso": "3.395.0", - "@aws-sdk/credential-provider-web-identity": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/credential-provider-node": { - "version": "3.395.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.391.0", - "@aws-sdk/credential-provider-ini": "3.395.0", - "@aws-sdk/credential-provider-process": "3.391.0", - "@aws-sdk/credential-provider-sso": "3.395.0", - "@aws-sdk/credential-provider-web-identity": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/credential-provider-process": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.395.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-sso": "3.395.0", - "@aws-sdk/token-providers": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/shared-ini-file-loader": "^2.0.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/credential-providers": { - "version": "3.395.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.395.0", - "@aws-sdk/client-sso": "3.395.0", - "@aws-sdk/client-sts": "3.395.0", - "@aws-sdk/credential-provider-cognito-identity": "3.395.0", - "@aws-sdk/credential-provider-env": "3.391.0", - "@aws-sdk/credential-provider-ini": "3.395.0", - "@aws-sdk/credential-provider-node": "3.395.0", - "@aws-sdk/credential-provider-process": "3.391.0", - "@aws-sdk/credential-provider-sso": "3.395.0", - "@aws-sdk/credential-provider-web-identity": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@smithy/credential-provider-imds": "^2.0.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/protocol-http": "^2.0.3", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/middleware-logger": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/protocol-http": "^2.0.3", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/middleware-signing": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/middleware-signing": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^2.0.3", - "@smithy/signature-v4": "^2.0.0", - "@smithy/types": "^2.2.0", - "@smithy/util-middleware": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@aws-sdk/util-endpoints": "3.391.0", - "@smithy/protocol-http": "^2.0.3", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/token-providers": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.391.0", - "@aws-sdk/middleware-logger": "3.391.0", - "@aws-sdk/middleware-recursion-detection": "3.391.0", - "@aws-sdk/middleware-user-agent": "3.391.0", - "@aws-sdk/types": "3.391.0", - "@aws-sdk/util-endpoints": "3.391.0", - "@aws-sdk/util-user-agent-browser": "3.391.0", - "@aws-sdk/util-user-agent-node": "3.391.0", - "@smithy/config-resolver": "^2.0.3", - "@smithy/fetch-http-handler": "^2.0.3", - "@smithy/hash-node": "^2.0.3", - "@smithy/invalid-dependency": "^2.0.3", - "@smithy/middleware-content-length": "^2.0.3", - "@smithy/middleware-endpoint": "^2.0.3", - "@smithy/middleware-retry": "^2.0.3", - "@smithy/middleware-serde": "^2.0.3", - "@smithy/middleware-stack": "^2.0.0", - "@smithy/node-config-provider": "^2.0.3", - "@smithy/node-http-handler": "^2.0.3", - "@smithy/property-provider": "^2.0.0", - "@smithy/protocol-http": "^2.0.3", - "@smithy/shared-ini-file-loader": "^2.0.0", - "@smithy/smithy-client": "^2.0.3", - "@smithy/types": "^2.2.0", - "@smithy/url-parser": "^2.0.3", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-body-length-browser": "^2.0.0", - "@smithy/util-body-length-node": "^2.0.0", - "@smithy/util-defaults-mode-browser": "^2.0.3", - "@smithy/util-defaults-mode-node": "^2.0.3", - "@smithy/util-retry": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/types": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/util-endpoints": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/types": "^2.2.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - } - }, - "packages/ezsLodex/node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.391.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.391.0", - "@smithy/node-config-provider": "^2.0.3", - "@smithy/types": "^2.2.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } - } - }, - "packages/ezsLodex/node_modules/@mongodb-js/saslprep": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "dependencies": { - "sparse-bitfield": "^3.0.3" - } - }, - "packages/ezsLodex/node_modules/@smithy/abort-controller": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/config-resolver": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "@smithy/util-config-provider": "^2.0.0", - "@smithy/util-middleware": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/credential-provider-imds": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^2.0.4", - "@smithy/property-provider": "^2.0.4", - "@smithy/types": "^2.2.1", - "@smithy/url-parser": "^2.0.4", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/eventstream-codec": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.2.1", - "@smithy/util-hex-encoding": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/fetch-http-handler": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^2.0.4", - "@smithy/querystring-builder": "^2.0.4", - "@smithy/types": "^2.2.1", - "@smithy/util-base64": "^2.0.0", - "tslib": "^2.5.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/hash-node": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/invalid-dependency": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/middleware-content-length": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^2.0.4", - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/middleware-endpoint": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/middleware-serde": "^2.0.4", - "@smithy/types": "^2.2.1", - "@smithy/url-parser": "^2.0.4", - "@smithy/util-middleware": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/middleware-retry": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^2.0.4", - "@smithy/service-error-classification": "^2.0.0", - "@smithy/types": "^2.2.1", - "@smithy/util-middleware": "^2.0.0", - "@smithy/util-retry": "^2.0.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/middleware-serde": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/middleware-stack": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/node-config-provider": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/property-provider": "^2.0.4", - "@smithy/shared-ini-file-loader": "^2.0.4", - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/node-http-handler": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/abort-controller": "^2.0.4", - "@smithy/protocol-http": "^2.0.4", - "@smithy/querystring-builder": "^2.0.4", - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/property-provider": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/protocol-http": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/querystring-builder": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "@smithy/util-uri-escape": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/querystring-parser": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/service-error-classification": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/shared-ini-file-loader": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/signature-v4": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/eventstream-codec": "^2.0.4", - "@smithy/is-array-buffer": "^2.0.0", - "@smithy/types": "^2.2.1", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-middleware": "^2.0.0", - "@smithy/util-uri-escape": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/smithy-client": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/middleware-stack": "^2.0.0", - "@smithy/types": "^2.2.1", - "@smithy/util-stream": "^2.0.4", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/types": { - "version": "2.2.1", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/url-parser": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/querystring-parser": "^2.0.4", - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/util-base64": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/util-body-length-node": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/property-provider": "^2.0.4", - "@smithy/types": "^2.2.1", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/util-defaults-mode-node": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/config-resolver": "^2.0.4", - "@smithy/credential-provider-imds": "^2.0.4", - "@smithy/node-config-provider": "^2.0.4", - "@smithy/property-provider": "^2.0.4", - "@smithy/types": "^2.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/util-middleware": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/util-retry": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/service-error-classification": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/util-stream": { - "version": "2.0.4", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/fetch-http-handler": "^2.0.4", - "@smithy/node-http-handler": "^2.0.4", - "@smithy/types": "^2.2.1", - "@smithy/util-base64": "^2.0.0", - "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/@smithy/util-utf8": { - "version": "2.0.0", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "packages/ezsLodex/node_modules/bowser": { - "version": "2.11.0", - "license": "MIT", - "optional": true - }, "packages/ezsLodex/node_modules/commander": { "version": "2.20.3", "license": "MIT" }, - "packages/ezsLodex/node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==" - }, - "packages/ezsLodex/node_modules/mongodb": { - "version": "4.17.0", - "license": "Apache-2.0", - "dependencies": { - "bson": "^4.7.2", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=12.9.0" - }, - "optionalDependencies": { - "@aws-sdk/credential-providers": "^3.186.0", - "@mongodb-js/saslprep": "^1.1.0" - } - }, "packages/ezsLodex/node_modules/quick-lru": { "version": "4.0.1", "license": "MIT", @@ -34810,18 +32813,6 @@ "node": ">= 0.10.0" } }, - "packages/ezsLodex/node_modules/socks": { - "version": "2.7.1", - "license": "MIT", - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, "packages/ezsLodex/node_modules/valid-url": { "version": "1.0.9" }, diff --git a/package.json b/package.json index 8e783b3f8..956010fff 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "clean:modules": "modclean -Pr -n ./modclean.config.js:*", "clean:workers": "modclean -Pr -n ./modclean.config.js:* -D workers", "clean:packages": "modclean -Pr -n ./modclean.config.js:* -D packages", - "test:api:e2e": "./node_modules/jest/bin/jest.js --colors --runInBand --detectOpenHandles -c src/api/e2e/jest.config.js src/api/e2e", + "test:api:e2e": "./node_modules/jest/bin/jest.js --colors --runInBand --force-exit --detectOpenHandles -c src/api/e2e/jest.config.js src/api/e2e", "test:api:e2e:watch": "./node_modules/jest/bin/jest.js --colors --runInBand --detectOpenHandles -c src/api/e2e/jest.config.js src/api/e2e --watch", "test:unit": "./node_modules/jest/bin/jest.js --force-exit --detectOpenHandles --colors", "test:unit:watch": "./node_modules/jest/bin/jest.js --watch --colors", @@ -141,7 +141,7 @@ "mime": "1.6.0", "mime-types": "2.1.35", "moment": "2.29.4", - "mongodb": "4.17.1", + "mongodb": "6.8.0", "mongodb-restore": "1.6.2", "mui-file-dropzone": "4.0.2", "multistream": "^2.1.1", @@ -236,7 +236,7 @@ }, "devDependencies": { "@babel/eslint-parser": "^7.23.10", - "@shelf/jest-mongodb": "3.0.2", + "@shelf/jest-mongodb": "4.3.2", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "11.2.7", "@types/ejs": "3.1.5", diff --git a/packages/ezsLodex/jest-setup.js b/packages/ezsLodex/jest-setup.js new file mode 100644 index 000000000..22becf707 --- /dev/null +++ b/packages/ezsLodex/jest-setup.js @@ -0,0 +1 @@ +global.performance = require('perf_hooks').performance; diff --git a/packages/ezsLodex/package.json b/packages/ezsLodex/package.json index 1d629d2e1..fbc0b1ac4 100644 --- a/packages/ezsLodex/package.json +++ b/packages/ezsLodex/package.json @@ -5,7 +5,7 @@ "version": "1.16.4", "dependencies": { "lodash": "4.17.21", - "mongodb": "4.17.0", + "mongodb": "6.8.0", "node-object-hash": "2.3.10", "quick-lru": "4.0.1", "relaxed-json": "1.0.3", diff --git a/packages/ezsLodex/src/reduceQuery.js b/packages/ezsLodex/src/reduceQuery.js index 3328e2dc5..bc2f68ee0 100644 --- a/packages/ezsLodex/src/reduceQuery.js +++ b/packages/ezsLodex/src/reduceQuery.js @@ -55,7 +55,15 @@ export const createFunction = () => async function LodexReduceQuery(data, feed) const collName = String('mp_').concat( hashCoerce.hash({ reducer, fields }), ); - const options = { + const connectionStringURI = this.getParam( + 'connectionStringURI', + data.connectionStringURI || '', + ); + const db = await mongoDatabase(connectionStringURI); + const command = { + mapReduce: 'publishedDataset', + map: map.toString(), + reduce: reduce.toString(), query: filter, finalize, out: { @@ -65,16 +73,13 @@ export const createFunction = () => async function LodexReduceQuery(data, feed) fields, }, }; - const connectionStringURI = this.getParam( - 'connectionStringURI', - data.connectionStringURI || '', - ); - const db = await mongoDatabase(connectionStringURI); - const collection = db.collection('publishedDataset'); - - const result = await collection.mapReduce(map, reduce, options); + const { result: collectionResult, ok } = await db.command(command); + if (ok !== 1) { + return feed.stop(new Error('MongoDB command return an error')) + } - const total = await result.count(); + const result = await db.collection(collectionResult); + const total = await result.estimatedDocumentCount(); const findFilter = {}; @@ -101,6 +106,7 @@ export const createFunction = () => async function LodexReduceQuery(data, feed) const cursor = result.find(findFilter); const count = await cursor.count(); + if (total === 0 || count === 0) { return feed.send({ total: 0 }); } @@ -110,6 +116,7 @@ export const createFunction = () => async function LodexReduceQuery(data, feed) path.push('referer'); value.push(referer); } + const stream = cursor .sort(sort) .skip(skip) @@ -117,7 +124,7 @@ export const createFunction = () => async function LodexReduceQuery(data, feed) .stream() .on('error', (e) => feed.stop(e)) .pipe(ezs('assign', { path, value })); - await feed.flow(stream); + feed.flow(stream); }; export default { diff --git a/packages/ezsLodex/test/mongoQueries.spec.js b/packages/ezsLodex/test/mongoQueries.spec.js index 227dd2b25..d9ebe6c7b 100644 --- a/packages/ezsLodex/test/mongoQueries.spec.js +++ b/packages/ezsLodex/test/mongoQueries.spec.js @@ -1,3 +1,4 @@ +import {performance, PerformanceObserver} from 'perf_hooks'; import from from 'from'; import { MongoClient } from 'mongodb'; import _ from 'lodash'; @@ -14,22 +15,25 @@ ezs.use(ezsLodex); describe('mongo queries', () => { const connectionStringURI = process.env.MONGO_URL; + let client; let connection; let db; beforeAll(async () => { - connection = await MongoClient.connect(process.env.MONGO_URL, { - useNewUrlParser: true, - useUnifiedTopology: true, - }); - db = await connection.db(); + client = new MongoClient(process.env.MONGO_URL); + try { + await client.connect(); + db = await client.db(); + } catch (e) { + console.error(`Unable to connect to ${connectionStringURI}` , e); + } }); afterAll(async () => { await Promise.all( - Object.keys(handles).map(key => handles[key].close()), + Object.keys(handles).map((key) => handles[key].close()), ); - await connection.close(); + await client.close(); }); const initDb = (url, data) => { @@ -40,11 +44,11 @@ describe('mongo queries', () => { return Promise.all(requests); }; - const drop = () => db.dropDatabase(); + const drop = async () => await db.dropDatabase(); describe('getCharacteristics', () => { - beforeEach(() => initDb(connectionStringURI, publishedCharacteristic)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, publishedCharacteristic)); + afterEach(async () => await drop()); it('should return characteristics', done => { let res = []; @@ -93,8 +97,8 @@ describe('mongo queries', () => { }); describe('getFields', () => { - beforeEach(() => initDb(connectionStringURI, field)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, field)); + afterEach(async () => await drop()); it('should return the fields', done => { let res = []; @@ -137,8 +141,8 @@ describe('mongo queries', () => { }); describe('runQuery', () => { - beforeEach(() => initDb(connectionStringURI, publishedDataset)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, publishedDataset)); + afterEach(async () => await drop()); it('should return results', done => { let res = []; @@ -306,8 +310,8 @@ describe('mongo queries', () => { }); describe('reduceQuery', () => { - beforeEach(() => initDb(connectionStringURI, publishedDataset)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, publishedDataset)); + afterEach(async () => await drop()); it('should throw when no reducer is given', done => { from([ @@ -360,6 +364,8 @@ describe('mongo queries', () => { field: 'publicationDate', }), ) + .pipe(ezs.catch()) + .on('error', done) .on('data', data => { res = [...res, data]; }) @@ -506,7 +512,7 @@ describe('mongo queries', () => { initDb(connectionStringURI, field), ]), ); - afterEach(() => drop()); + afterEach(async () => await drop()); it('should inject title & summary in each item', done => { const res = []; @@ -555,8 +561,8 @@ describe('mongo queries', () => { }); describe('injectDatasetFields', () => { - beforeEach(() => initDb(connectionStringURI, publishedCharacteristic)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, publishedCharacteristic)); + afterEach(async () => await drop()); it('should inject dataset fiels in each item', done => { const res = []; @@ -593,8 +599,8 @@ describe('mongo queries', () => { }); describe('labelizeFieldID', () => { - beforeEach(() => initDb(connectionStringURI, field)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, field)); + afterEach(async () => await drop()); const input = [ { @@ -668,8 +674,8 @@ describe('mongo queries', () => { }); }); describe('buildContext', () => { - beforeEach(() => initDb(connectionStringURI, field)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, field)); + afterEach(async () => await drop()); it('with a standard context', done => { const res = []; @@ -745,8 +751,8 @@ describe('mongo queries', () => { }); describe('countField', () => { - beforeEach(() => initDb(connectionStringURI, publishedDataset)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, publishedDataset)); + afterEach(async () => await drop()); it('should return results', done => { let res = []; @@ -776,8 +782,8 @@ describe('mongo queries', () => { }); describe('aggregateQuery', () => { - beforeEach(() => initDb(connectionStringURI, publishedDataset)); - afterEach(() => drop()); + beforeEach(async () => await initDb(connectionStringURI, publishedDataset)); + afterEach(async () => await drop()); it('should return results', done => { let res = []; @@ -898,10 +904,10 @@ describe('mongo queries', () => { }); describe('#joinQuery', () => { - beforeEach(() => - initDb(connectionStringURI, publishedDatasetWithSubResource), + beforeEach(async () => + await initDb(connectionStringURI, publishedDatasetWithSubResource), ); - afterEach(() => drop()); + afterEach(async () => await drop()); it('should return no results with parameters matchField, matchValue, joinField as empty string', done => { const results = []; @@ -1097,7 +1103,7 @@ describe('mongo queries', () => { await initDb(connectionStringURI, precomputedDataset); }); - afterEach(() => drop()); + afterEach(async () => await drop()); it('should return 5 result for segments precomputed', done => { const results = []; diff --git a/src/api/app.js b/src/api/app.js index 2943a343c..10d706c53 100644 --- a/src/api/app.js +++ b/src/api/app.js @@ -159,6 +159,7 @@ app.use(function* (next) { try { yield next; } catch (err) { + console.error('Sending error as a body', err); this.status = err.status || 500; this.body = err.message; this.app.emit('error', err, this); diff --git a/src/api/controller/api/field.js b/src/api/controller/api/field.js index d34c175ed..8e79c9809 100644 --- a/src/api/controller/api/field.js +++ b/src/api/controller/api/field.js @@ -20,7 +20,7 @@ import { } from '../../../common/scope'; import { dropJobs } from '../../workers/tools'; import { ENRICHER } from '../../workers/enricher'; -import { ObjectID } from 'mongodb'; +import { ObjectId } from 'mongodb'; import generateUid from '../../services/generateUid'; import { restoreEnrichments } from '../../services/enrichment/enrichment'; import { restorePrecomputed } from '../../services/precomputed/precomputed'; @@ -35,7 +35,7 @@ export const restoreFields = (fileStream, ctx) => { .then((fieldsString) => JSON.parse(fieldsString)) .then((fields) => { ctx.field - .remove({}) + .drop() .then(() => Promise.all( fields @@ -70,7 +70,7 @@ export const restoreFields = (fileStream, ctx) => { }; return ctx.field - .remove({}) + .drop() .then(restoreTask) .then(() => Promise.all([ @@ -156,6 +156,7 @@ export const setup = async (ctx, next) => { try { await next(); } catch (error) { + console.error('Sending error as a body', error); ctx.status = 500; ctx.body = { error: error.message }; } @@ -228,7 +229,7 @@ export const patchSearchableFields = async (ctx) => { const fields = ctx.request.body; try { - const ids = fields.map((field) => new ObjectID(field._id)); + const ids = fields.map((field) => new ObjectId(field._id)); await ctx.field.updateMany( { _id: { $in: ids } }, { $set: { searchable: true } }, @@ -314,6 +315,7 @@ export const importFields = (asyncBusboyImpl) => async (ctx) => { }; ctx.status = 200; } catch (e) { + console.error('Sending error as a body', e); ctx.status = 500; ctx.body = e.message; } diff --git a/src/api/controller/api/publish.spec.js b/src/api/controller/api/publish.spec.js index df459a350..8342a83d1 100644 --- a/src/api/controller/api/publish.spec.js +++ b/src/api/controller/api/publish.spec.js @@ -12,7 +12,9 @@ jest.mock('../../workers', () => ({ describe.skip('publish', () => { describe('doPublish', () => { beforeAll(async () => { - await doPublish({}); + await doPublish({ + tenant: 'lodex_test', + }); }); it('should add event to publisher queue', () => { expect(workerQueues['lodex_test'].add).toHaveBeenCalledWith({ diff --git a/src/api/controller/api/publishFacets.js b/src/api/controller/api/publishFacets.js index 23bc09840..205cff221 100644 --- a/src/api/controller/api/publishFacets.js +++ b/src/api/controller/api/publishFacets.js @@ -19,7 +19,7 @@ export default async (ctx, fields, withProgress = false) => { jobLogger.info(ctx.job, 'Publishing facets'); const names = fields.map(({ name }) => name); - await ctx.publishedFacet.remove({ field: { $in: names } }); + await ctx.publishedFacet.deleteOne({ field: { $in: names } }); await facetFields .reduce( diff --git a/src/api/controller/api/publishFacets.spec.js b/src/api/controller/api/publishFacets.spec.js index 404278a62..4f6847e8d 100644 --- a/src/api/controller/api/publishFacets.spec.js +++ b/src/api/controller/api/publishFacets.spec.js @@ -21,7 +21,7 @@ describe('publishFacets', () => { }, publishedFacet: { insertMany: jest.fn().mockImplementation(() => Promise.resolve()), - remove: jest.fn(), + deleteOne: jest.fn(), }, }; const facetFields = [ @@ -51,9 +51,9 @@ describe('publishFacets', () => { ); }); - it('should call publishedFacet.remove', () => { - expect(ctx.publishedFacet.remove).toHaveBeenCalled(); - expect(ctx.publishedFacet.remove).toHaveBeenCalledWith({ + it('should call publishedFacet.deleteOne', () => { + expect(ctx.publishedFacet.deleteOne).toHaveBeenCalled(); + expect(ctx.publishedFacet.deleteOne).toHaveBeenCalledWith({ field: { $in: ['facet1', 'facet2', 'field2'] }, }); }); @@ -71,7 +71,7 @@ describe('publishFacets', () => { describe('with no facet', () => { beforeEach(() => { - ctx.publishedFacet.remove.mockClear(); + ctx.publishedFacet.deleteOne.mockClear(); ctx.publishedFacet.insertMany.mockClear(); }); it('should do nothing', async () => { @@ -80,7 +80,7 @@ describe('publishFacets', () => { [{ name: 'field1' }, { name: 'field2' }, { name: 'field3' }], false, ); - expect(ctx.publishedFacet.remove).toHaveBeenCalledTimes(0); + expect(ctx.publishedFacet.deleteOne).toHaveBeenCalledTimes(0); expect(ctx.publishedFacet.insertMany).toHaveBeenCalledTimes(0); }); }); diff --git a/src/api/controller/api/publishedDataset.js b/src/api/controller/api/publishedDataset.js index 62fb12e6b..a98345466 100644 --- a/src/api/controller/api/publishedDataset.js +++ b/src/api/controller/api/publishedDataset.js @@ -6,7 +6,7 @@ import { PROPOSED } from '../../../common/propositionStatus'; import generateUri from '../../../common/transformers/AUTOGENERATE_URI'; import ark from './ark'; import updateFacetValue from '../../services/updateFacetValue'; -import { ObjectID } from 'mongodb'; +import { ObjectId } from 'mongodb'; const app = new Koa(); @@ -29,7 +29,7 @@ export const getPage = async (ctx) => { const facetValues = await Promise.all( facetValueIds.map(async (facetValueId) => { const facetValue = await ctx.publishedFacet.findOne({ - _id: new ObjectID(facetValueId), + _id: new ObjectId(facetValueId), }); return facetValue.value; }), diff --git a/src/api/controller/api/upload.js b/src/api/controller/api/upload.js index 1bce65d3f..1ced735a8 100644 --- a/src/api/controller/api/upload.js +++ b/src/api/controller/api/upload.js @@ -45,6 +45,7 @@ export const prepareUpload = async (ctx, next) => { await next(); } catch (error) { progress.throw(ctx.tenant, error); + console.error('Sending error as a body', error); ctx.status = 500; ctx.body = error.message; } diff --git a/src/api/controller/testController.js b/src/api/controller/testController.js index 316334f48..2653791de 100644 --- a/src/api/controller/testController.js +++ b/src/api/controller/testController.js @@ -16,15 +16,15 @@ app.use(mongoRootAdminClient); app.use( route.delete('/fixtures', async (ctx) => { - await ctx.db.collection('publishedDataset').remove({}); - await ctx.db.collection('publishedCharacteristic').remove({}); - await ctx.db.collection('field').remove({}); - await ctx.db.collection('dataset').remove({}); - await ctx.db.collection('subresource').remove({}); - await ctx.db.collection('enrichment').remove({}); + await ctx.db.collection('publishedDataset').drop(); + await ctx.db.collection('publishedCharacteristic').drop(); + await ctx.db.collection('field').drop(); + await ctx.db.collection('dataset').drop(); + await ctx.db.collection('subresource').drop(); + await ctx.db.collection('enrichment').drop(); await ctx.rootAdminDb .collection('tenant') - .remove({ name: { $ne: DEFAULT_TENANT } }); + .deleteOne({ name: { $ne: DEFAULT_TENANT } }); ctx.body = { status: 'ok' }; }), ); diff --git a/src/api/e2e/jest-setup.js b/src/api/e2e/jest-setup.js new file mode 100644 index 000000000..22becf707 --- /dev/null +++ b/src/api/e2e/jest-setup.js @@ -0,0 +1 @@ +global.performance = require('perf_hooks').performance; diff --git a/src/api/e2e/jest.config.js b/src/api/e2e/jest.config.js index 658c20ec0..9b34d32c4 100644 --- a/src/api/e2e/jest.config.js +++ b/src/api/e2e/jest.config.js @@ -1,3 +1,6 @@ module.exports = { testEnvironment: 'node', + setupFilesAfterEnv: [ + './jest-setup.js', + ] }; diff --git a/src/api/models/configTenant.js b/src/api/models/configTenant.js index d4a13d4a5..ba45dd706 100644 --- a/src/api/models/configTenant.js +++ b/src/api/models/configTenant.js @@ -1,9 +1,9 @@ import { ObjectId } from 'mongodb'; import omit from 'lodash/omit'; -import { castIdsFactory } from './utils'; +import { castIdsFactory, getCreatedCollection } from './utils'; export default async (db) => { - const collection = db.collection('configTenant'); + const collection = await getCreatedCollection(db, 'configTenant'); collection.findOneById = async (id) => collection.findOne({ $or: [{ _id: new ObjectId(id) }, { _id: id }] }); @@ -28,7 +28,7 @@ export default async (db) => { }; collection.delete = async (id) => - collection.remove({ $or: [{ _id: new ObjectId(id) }, { _id: id }] }); + collection.deleteOne({ $or: [{ _id: new ObjectId(id) }, { _id: id }] }); collection.update = async (id, data) => { const objectId = new ObjectId(id); diff --git a/src/api/models/dataset.js b/src/api/models/dataset.js index 37ec407a4..1575d5a5b 100644 --- a/src/api/models/dataset.js +++ b/src/api/models/dataset.js @@ -4,14 +4,15 @@ import omit from 'lodash/omit'; import uniqWith from 'lodash/uniqWith'; import JSONStream from 'jsonstream'; import { Transform } from 'stream'; -import { ObjectID } from 'mongodb'; +import { ObjectId } from 'mongodb'; import { URI_FIELD_NAME, moveUriToFirstPosition } from '../../common/uris'; import countNotUnique from './countNotUnique'; import countNotUniqueSubresources from './countNotUniqueSubresources'; +import { getCreatedCollection } from './utils'; -export default (db) => { - const collection = db.collection('dataset'); +export default async (db) => { + const collection = await getCreatedCollection(db, 'dataset'); collection.insertBatch = (documents) => { return Promise.all( chunk(documents, 100).map((data) => { @@ -141,7 +142,7 @@ export default (db) => { }; collection.removeAttribute = async (attribute) => - collection.update({}, { $unset: { [attribute]: 1 } }, { multi: true }); + collection.updateOne({}, { $unset: { [attribute]: 1 } }, { multi: true }); collection.findBy = async (fieldName, value) => { if (!(await collection.ensureIsUnique(fieldName))) { @@ -201,7 +202,7 @@ export default (db) => { }; collection.deleteOne = async (id) => - collection.remove({ _id: new ObjectID(id) }); + collection.deleteOne({ _id: new ObjectId(id) }); return collection; }; diff --git a/src/api/models/enrichment.js b/src/api/models/enrichment.js index 6c3492054..ed2f7854f 100644 --- a/src/api/models/enrichment.js +++ b/src/api/models/enrichment.js @@ -1,9 +1,9 @@ import { ObjectId } from 'mongodb'; import omit from 'lodash/omit'; -import { castIdsFactory } from './utils'; +import { castIdsFactory, getCreatedCollection } from './utils'; export default async (db) => { - const collection = db.collection('enrichment'); + const collection = await getCreatedCollection(db, 'enrichment'); await collection.createIndex({ name: 1 }, { unique: true }); collection.findOneById = async (id) => @@ -17,7 +17,7 @@ export default async (db) => { }; collection.delete = async (id) => - collection.remove({ $or: [{ _id: new ObjectId(id) }, { _id: id }] }); + collection.deleteOne({ $or: [{ _id: new ObjectId(id) }, { _id: id }] }); collection.update = async (id, data) => { const objectId = new ObjectId(id); diff --git a/src/api/models/field.js b/src/api/models/field.js index 1baa8d796..4bb628bd5 100644 --- a/src/api/models/field.js +++ b/src/api/models/field.js @@ -1,12 +1,12 @@ import omit from 'lodash/omit'; import pick from 'lodash/pick'; -import { ObjectID, ObjectId } from 'mongodb'; +import { ObjectId } from 'mongodb'; import { validateField as validateFieldIsomorphic } from '../../common/validateFields'; import { URI_FIELD_NAME } from '../../common/uris'; import { SCOPE_DOCUMENT, SCOPE_COLLECTION } from '../../common/scope'; import generateUid from '../services/generateUid'; -import { castIdsFactory } from './utils'; +import { castIdsFactory, getCreatedCollection } from './utils'; export const buildInvalidPropertiesMessage = (name) => `Invalid data for field ${name} which need a name, a label, a scope, a valid scheme if specified and a transformers array`; @@ -96,8 +96,7 @@ const createSubresourceUriField = (subresource) => ({ }); export default async (db) => { - const collection = db.collection('field'); - + const collection = await getCreatedCollection(db, 'field'); await collection.createIndex({ name: 1 }, { unique: true }); collection.findAll = async () => @@ -120,7 +119,7 @@ export default async (db) => { }; collection.findOneById = (id) => - collection.findOne({ _id: new ObjectID(id) }); + collection.findOne({ _id: new ObjectId(id) }); collection.findOneByName = (name) => collection.findOne({ name }); @@ -154,13 +153,13 @@ export default async (db) => { }; collection.updateOneById = async (id, field) => { - const objectId = new ObjectID(id); + const objId = new ObjectId(id); const previousFieldVersion = await collection.findOneById(id); if (previousFieldVersion.position > field.position) { await collection.updateMany( { - _id: { $ne: objectId }, + _id: { $ne: objId }, position: { $gte: field.position, $lt: previousFieldVersion.position, @@ -175,7 +174,7 @@ export default async (db) => { if (previousFieldVersion.position < field.position) { await collection.updateMany( { - _id: { $ne: objectId }, + _id: { $ne: objId }, position: { $gt: previousFieldVersion.position, $lte: field.position, @@ -190,7 +189,7 @@ export default async (db) => { return collection .findOneAndUpdate( { - _id: objectId, + _id: objId, }, { $set: omit(field, ['_id']), @@ -203,12 +202,12 @@ export default async (db) => { }; collection.removeById = (id) => - collection.remove({ _id: new ObjectID(id), name: { $ne: 'uri' } }); + collection.deleteOne({ _id: new ObjectId(id), name: { $ne: 'uri' } }); collection.removeBySubresource = (subresourceId) => - collection.remove({ + collection.deleteOne({ $or: [ - { subresourceId: new ObjectID(subresourceId) }, + { subresourceId: new ObjectId(subresourceId) }, { subresourceId }, ], }); @@ -261,7 +260,7 @@ export default async (db) => { } if (isLogged) { - await collection.update( + await collection.updateOne( { name, contribution: true, @@ -278,7 +277,7 @@ export default async (db) => { return name; } - await collection.update( + await collection.updateOne( { name, contribution: true, diff --git a/src/api/models/field.spec.js b/src/api/models/field.spec.js index db7b27003..0a3bdbdf5 100644 --- a/src/api/models/field.spec.js +++ b/src/api/models/field.spec.js @@ -6,6 +6,10 @@ import fieldFactory, { import { URI_FIELD_NAME } from '../../common/uris'; import { SCOPE_DOCUMENT, SCOPE_COLLECTION } from '../../common/scope'; +const listCollections = { + toArray: () => [true], +}; + describe('field', () => { describe('fieldFactory', () => { let fieldCollection; @@ -20,7 +24,7 @@ describe('field', () => { insertOne: jest.fn().mockImplementation(() => ({ insertedId: 'insertedId', })), - update: jest.fn(), + updateOne: jest.fn(), updateMany: jest.fn(), find: jest.fn().mockImplementation(() => ({ sort: () => ({ @@ -39,9 +43,9 @@ describe('field', () => { Promise.resolve({ value: 'result' }), ), }; - db = { collection: jest.fn().mockImplementation(() => fieldCollection), + listCollections: () => listCollections, }; field = await fieldFactory(db); @@ -204,7 +208,7 @@ describe('field', () => { true, 'nameArg', ); - expect(fieldCollection.update).toHaveBeenCalledWith( + expect(fieldCollection.updateOne).toHaveBeenCalledWith( { name: 'this field name', contribution: true, @@ -232,7 +236,7 @@ describe('field', () => { false, 'nameArg', ); - expect(fieldCollection.update).toHaveBeenCalledWith( + expect(fieldCollection.updateOne).toHaveBeenCalledWith( { name: 'this field name', contribution: true, @@ -285,10 +289,14 @@ describe('field', () => { .mockImplementation(() => Promise.resolve({})), insertOne: jest.fn(), }; + const listCollections = { + toArray: () => [true], + }; const dbNoUri = { collection: jest .fn() .mockImplementation(() => fieldCollectionNoUri), + listCollections: () => listCollections, }; const fieldNoUri = await fieldFactory(dbNoUri); @@ -366,6 +374,7 @@ describe('field', () => { collection: jest .fn() .mockImplementation(() => fieldCollection), + listCollections: () => listCollections, }; field = await fieldFactory(db); @@ -399,6 +408,7 @@ describe('field', () => { collection: jest .fn() .mockImplementation(() => fieldCollection), + listCollections: () => listCollections, }; field = await fieldFactory(db); diff --git a/src/api/models/hiddenResource.js b/src/api/models/hiddenResource.js index 32452a592..2d86cc6fc 100644 --- a/src/api/models/hiddenResource.js +++ b/src/api/models/hiddenResource.js @@ -1,8 +1,8 @@ -import { ObjectID } from 'mongodb'; -import { castIdsFactory } from './utils'; +import { ObjectId } from 'mongodb'; +import { castIdsFactory, getCreatedCollection } from './utils'; export default async (db) => { - const collection = db.collection('hiddenResource'); + const collection = await getCreatedCollection(db, 'hiddenResource'); await collection.createIndex({ uri: 1 }, { unique: true }); collection.findAll = async () => collection.find({}).toArray(); @@ -18,7 +18,7 @@ export default async (db) => { collection.deleteByUri = async (uri) => collection.deleteOne({ uri }); collection.delete = async (id) => - collection.remove({ _id: new ObjectID(id) }); + collection.deleteOne({ _id: new ObjectId(id) }); collection.castIds = castIdsFactory(collection); diff --git a/src/api/models/precomputed.js b/src/api/models/precomputed.js index 1ed75a075..8664a0718 100644 --- a/src/api/models/precomputed.js +++ b/src/api/models/precomputed.js @@ -1,6 +1,6 @@ import { ObjectId } from 'mongodb'; import omit from 'lodash/omit'; -import { castIdsFactory } from './utils'; +import { castIdsFactory, getCreatedCollection } from './utils'; const checkMissingFields = (data) => !data.name || @@ -9,7 +9,7 @@ const checkMissingFields = (data) => (data.sourceColumns instanceof Array && data.sourceColumns.length === 0); export default async (db) => { - const collection = db.collection('precomputed'); + const collection = await getCreatedCollection(db, 'precomputed'); await collection.createIndex({ name: 1 }, { unique: true }); collection.findOneById = async (id) => @@ -35,7 +35,7 @@ export default async (db) => { // Collection does not exist, no big deal console.warn(`Failed to drop collection 'pc_${id}'`); } - return collection.remove({ + return collection.deleteOne({ $or: [{ _id: new ObjectId(id) }, { _id: id }], }); }; diff --git a/src/api/models/publishedCharacteristic.js b/src/api/models/publishedCharacteristic.js index 33b698bf9..2fadb6c8a 100644 --- a/src/api/models/publishedCharacteristic.js +++ b/src/api/models/publishedCharacteristic.js @@ -1,5 +1,10 @@ -export default (db) => { - const collection = db.collection('publishedCharacteristic'); +import { getCreatedCollection } from './utils'; + +export default async (db) => { + const collection = await getCreatedCollection( + db, + 'publishedCharacteristic', + ); collection.findLastVersion = async () => { const items = await collection diff --git a/src/api/models/publishedDataset.js b/src/api/models/publishedDataset.js index 2ea88347b..5f4cfe09d 100644 --- a/src/api/models/publishedDataset.js +++ b/src/api/models/publishedDataset.js @@ -1,10 +1,11 @@ -import { ObjectID } from 'mongodb'; +import { ObjectId } from 'mongodb'; import chunk from 'lodash/chunk'; import omit from 'lodash/omit'; import { getFullResourceUri } from '../../common/uris'; import getPublishedDatasetFilter from './getPublishedDatasetFilter'; import { VALIDATED, PROPOSED } from '../../common/propositionStatus'; +import { getCreatedCollection } from './utils'; const getMeta = (match, searchableFieldNames) => { if (!match || !searchableFieldNames || !searchableFieldNames.length) { @@ -35,7 +36,7 @@ const getSort = (sortBy, sortDir, match, searchableFieldNames) => { }; export default async (db) => { - const collection = db.collection('publishedDataset'); + const collection = await getCreatedCollection(db, 'publishedDataset'); await collection.createIndex({ uri: 1 }, { unique: true }); @@ -52,7 +53,7 @@ export default async (db) => { collection.insertBatchIgnoreDuplicate = (documents) => Promise.all( chunk(documents, 1000).map((data) => - collection.insert(data, { ordered: false }).catch((e) => { + collection.insertMany(data, { ordered: false }).catch((e) => { if (e.code === 11000 /* duplicate error */) { return; } @@ -201,7 +202,7 @@ export default async (db) => { }; collection.findById = async (id) => { - const oid = new ObjectID(id); + const oid = new ObjectId(id); return collection.findOne({ _id: oid }); }; @@ -228,7 +229,7 @@ export default async (db) => { ); collection.hide = async (uri, reason, date = new Date()) => { - await collection.update( + await collection.updateOne( { uri }, { $set: { @@ -242,7 +243,7 @@ export default async (db) => { }; collection.restore = async (uri) => - collection.update( + collection.updateOne( { uri }, { $unset: { removedAt: true, reason: true } }, ); @@ -262,7 +263,7 @@ export default async (db) => { publicationDate, }; - return collection.update( + return collection.updateOne( { uri }, { $addToSet: { @@ -312,7 +313,7 @@ export default async (db) => { return { result: 'noChange' }; } - await collection.update( + await collection.updateOne( { uri, 'contributions.fieldName': name, diff --git a/src/api/models/publishedDataset.spec.js b/src/api/models/publishedDataset.spec.js index 1cde0c6a0..d9fa9689e 100644 --- a/src/api/models/publishedDataset.spec.js +++ b/src/api/models/publishedDataset.spec.js @@ -7,8 +7,12 @@ describe('publishedDataset', () => { createIndex: jest.fn(), findOneAndUpdate: jest.fn(), }; + const listCollections = { + toArray: () => [true], + }; const db = { collection: () => collection, + listCollections: () => listCollections, }; let publishedDatasetCollection; @@ -56,11 +60,15 @@ describe('publishedDataset', () => { }; const collection = { findOne: jest.fn().mockImplementation(() => previousResource), - update: jest.fn(), + updateOne: jest.fn(), createIndex: jest.fn(), }; + const listCollections = { + toArray: () => [true], + }; const db = { collection: () => collection, + listCollections: () => listCollections, }; let publishedDatasetCollection; @@ -90,7 +98,7 @@ describe('publishedDataset', () => { ); expect(collection.findOne).toHaveBeenCalledWith({ uri: 'uri' }); - expect(collection.update).toHaveBeenCalledWith( + expect(collection.updateOne).toHaveBeenCalledWith( { uri: 'uri' }, { $addToSet: { @@ -136,7 +144,7 @@ describe('publishedDataset', () => { ); expect(collection.findOne).toHaveBeenCalledWith({ uri: 'uri' }); - expect(collection.update).toHaveBeenCalledWith( + expect(collection.updateOne).toHaveBeenCalledWith( { uri: 'uri' }, { $addToSet: { @@ -171,11 +179,15 @@ describe('publishedDataset', () => { }; const collection = { aggregate: jest.fn().mockImplementation(() => aggregateResult), - update: jest.fn(), + updateOne: jest.fn(), createIndex: jest.fn(), }; + const listCollections = { + toArray: () => [true], + }; const db = { collection: () => collection, + listCollections: () => listCollections, }; let publishedDatasetCollection; @@ -204,7 +216,7 @@ describe('publishedDataset', () => { 'name', 'status', ); - expect(collection.update).toHaveBeenCalledWith( + expect(collection.updateOne).toHaveBeenCalledWith( { uri: 'uri', 'contributions.fieldName': 'name' }, { $set: { 'contributions.$.status': 'status' }, @@ -235,11 +247,15 @@ describe('publishedDataset', () => { skip, count, })); + const listCollections = { + toArray: () => [true], + }; const db = { collection: () => ({ find, createIndex: jest.fn(), }), + listCollections: () => listCollections, }; let publishedDatasetCollection; @@ -300,12 +316,15 @@ describe('publishedDataset', () => { skip: skipToEmpty, count, })); - + const listCollections = { + toArray: () => [true], + }; publishedDatasetCollection = await publishedDataset({ collection: () => ({ find: emptyFind, createIndex: jest.fn(), }), + listCollections: () => listCollections, }); await publishedDatasetCollection.findPage({ @@ -404,11 +423,15 @@ describe('publishedDataset', () => { describe('create', () => { const insertOne = jest.fn().mockImplementation(() => 'inserted'); + const listCollections = { + toArray: () => [true], + }; const db = { collection: () => ({ insertOne, createIndex: jest.fn(), }), + listCollections: () => listCollections, }; let publishedDatasetCollection; diff --git a/src/api/models/publishedFacet.js b/src/api/models/publishedFacet.js index f8bf2a409..d9b3e472f 100644 --- a/src/api/models/publishedFacet.js +++ b/src/api/models/publishedFacet.js @@ -1,7 +1,8 @@ import chunk from 'lodash/chunk'; +import { getCreatedCollection } from './utils'; -export default (db) => { - const collection = db.collection('publishedFacet'); +export default async (db) => { + const collection = await getCreatedCollection(db, 'publishedFacet'); collection.insertBatch = (documents) => chunk(documents, 100).map((data) => collection.insertMany(data)); diff --git a/src/api/models/publishedFacet.spec.js b/src/api/models/publishedFacet.spec.js index 4b329a69a..0dc992459 100644 --- a/src/api/models/publishedFacet.spec.js +++ b/src/api/models/publishedFacet.spec.js @@ -13,14 +13,17 @@ describe('publishedFacet model', () => { }), })), }; + const listCollections = { + toArray: () => [true], + }; const db = { collection: () => collection, + listCollections: () => listCollections, }; - const publishedFacet = publishedFacetFactory(db); - describe('findValuesForField', () => { describe('without filter', () => { it('calls collection.find with correct parameters', async () => { + const publishedFacet = await publishedFacetFactory(db); await publishedFacet.findValuesForField({ field: 'foo' }); expect(collection.find).toHaveBeenCalledWith({ field: 'foo' }); @@ -28,6 +31,7 @@ describe('publishedFacet model', () => { }); describe('with filter', () => { it('calls collection.find with correct parameters', async () => { + const publishedFacet = await publishedFacetFactory(db); await publishedFacet.findValuesForField({ field: 'foo', filter: 'filter', @@ -44,6 +48,7 @@ describe('publishedFacet model', () => { describe('countValuesForField', () => { describe('without filter', () => { it('calls collection.count with correct parameters', async () => { + const publishedFacet = await publishedFacetFactory(db); await publishedFacet.countValuesForField('foo'); expect(collection.count).toHaveBeenCalledWith({ field: 'foo' }); @@ -51,6 +56,7 @@ describe('publishedFacet model', () => { }); describe('with filter', () => { it('calls collection.count with correct parameters', async () => { + const publishedFacet = await publishedFacetFactory(db); await publishedFacet.countValuesForField('foo', 'filter'); expect(collection.count).toHaveBeenCalledWith({ diff --git a/src/api/models/subresource.js b/src/api/models/subresource.js index 7e5921f9c..7ac25a85a 100644 --- a/src/api/models/subresource.js +++ b/src/api/models/subresource.js @@ -1,12 +1,12 @@ -import { ObjectID } from 'mongodb'; +import { ObjectId } from 'mongodb'; import omit from 'lodash/omit'; -import { castIdsFactory } from './utils'; +import { castIdsFactory, getCreatedCollection } from './utils'; export default async (db) => { - const collection = db.collection('subresource'); + const collection = await getCreatedCollection(db, 'subresource'); collection.findOneById = async (id) => - collection.findOne({ _id: new ObjectID(id) }); + collection.findOne({ _id: new ObjectId(id) }); collection.findAll = async () => collection.find({}).toArray(); @@ -16,15 +16,15 @@ export default async (db) => { }; collection.delete = async (id) => - collection.remove({ _id: new ObjectID(id) }); + collection.deleteOne({ _id: new ObjectId(id) }); collection.update = async (id, data) => { - const objectId = new ObjectID(id); + const objId = new ObjectId(id); return collection .findOneAndUpdate( { - _id: objectId, + _id: objId, }, { $set: omit(data, ['_id']), diff --git a/src/api/models/tenant.js b/src/api/models/tenant.js index ae0f9523c..6e9899f4e 100644 --- a/src/api/models/tenant.js +++ b/src/api/models/tenant.js @@ -1,12 +1,12 @@ -import { ObjectID } from 'mongodb'; +import { ObjectId } from 'mongodb'; import omit from 'lodash/omit'; -import { castIdsFactory } from './utils'; +import { castIdsFactory, getCreatedCollection } from './utils'; export default async (db) => { - const collection = db.collection('tenant'); + const collection = await getCreatedCollection(db, 'tenant'); collection.findOneById = async (id) => - collection.findOne({ $or: [{ _id: new ObjectID(id) }, { _id: id }] }); + collection.findOne({ $or: [{ _id: new ObjectId(id) }, { _id: id }] }); collection.findOneByName = async (name) => collection.findOne({ name }); @@ -20,15 +20,15 @@ export default async (db) => { }; collection.delete = async (id) => - collection.remove({ $or: [{ _id: new ObjectID(id) }, { _id: id }] }); + collection.deleteOne({ $or: [{ _id: new ObjectId(id) }, { _id: id }] }); collection.update = async (id, data) => { - const objectId = new ObjectID(id); + const objId = new ObjectId(id); return collection .findOneAndUpdate( { - $or: [{ _id: objectId }, { _id: id }], + $or: [{ _id: objId }, { _id: id }], }, { $set: omit(data, ['_id']), diff --git a/src/api/models/utils.js b/src/api/models/utils.js index 2bfc1947c..410fc7025 100644 --- a/src/api/models/utils.js +++ b/src/api/models/utils.js @@ -1,4 +1,4 @@ -import { ObjectID } from 'mongodb'; +import { ObjectId } from 'mongodb'; export const castIdsFactory = (collection) => async () => { const items = await collection.find({}).toArray(); @@ -7,12 +7,38 @@ export const castIdsFactory = (collection) => async () => { (acc, item) => acc.then(async () => { await acc; - await collection.remove({ _id: item._id }); - await collection.insert({ + await collection.deleteOne({ _id: item._id }); + await collection.insertOne({ ...item, - _id: new ObjectID(item._id), + _id: new ObjectId(item._id), }); }), Promise.resolve(), ); }; + +const checkIfCollectionExists = async (db, collectionName) => { + const found = await db + .listCollections({ name: collectionName }, { nameOnly: true }) + .toArray(); + return found.length !== 0; +}; + +export const getCreatedCollection = async (db, collectionName) => { + const collExists = await checkIfCollectionExists(db, collectionName); + if (!collExists) { + try { + await db.createCollection(collectionName); + } catch (error) { + // in some cases, with concurrent access, creation is simultaneous. + const collAlreadyExists = await checkIfCollectionExists( + db, + collectionName, + ); + if (!collAlreadyExists) { + throw error; + } + } + } + return db.collection(collectionName); +}; diff --git a/src/api/services/clearPublished.js b/src/api/services/clearPublished.js index 4ec97b319..e99b3ef7c 100644 --- a/src/api/services/clearPublished.js +++ b/src/api/services/clearPublished.js @@ -14,10 +14,10 @@ export default async (ctx, triggeredFromPublication) => { { multi: true }, ); progress.incrementProgress(ctx.tenant, 25); - await ctx.publishedDataset.remove({}); + await ctx.publishedDataset.drop(); progress.incrementProgress(ctx.tenant, 25); - await ctx.publishedCharacteristic.remove({}); + await ctx.publishedCharacteristic.drop(); progress.incrementProgress(ctx.tenant, 25); - await ctx.publishedFacet.remove({}); + await ctx.publishedFacet.drop(); progress.finish(ctx.tenant); }; diff --git a/src/api/services/enrichment/enrichment.js b/src/api/services/enrichment/enrichment.js index 083304aaf..bb70cfc5a 100644 --- a/src/api/services/enrichment/enrichment.js +++ b/src/api/services/enrichment/enrichment.js @@ -423,7 +423,7 @@ export const restoreEnrichments = async (ctx) => { ctx, enrichment, ); - await ctx.enrichment.update(enrichment._id, enrichmentWithRule); + await ctx.enrichment.updateOne(enrichment._id, enrichmentWithRule); } } }; diff --git a/src/api/services/import.spec.js b/src/api/services/import.spec.js index 079cb19c1..fdad55bd9 100644 --- a/src/api/services/import.spec.js +++ b/src/api/services/import.spec.js @@ -24,7 +24,7 @@ describe.skip('import', () => { update: jest.fn(), }, getLoader: jest.fn().mockImplementation(() => loader), - mergeChunks: jest.fn().mockImplementation(() => 'stream'), + mergeChunks: jest.fn().mockImplementation(() => stream), clearChunks: jest.fn(), saveParsedStream: jest.fn(), dataset: { @@ -108,7 +108,9 @@ describe.skip('import', () => { update: jest.fn(), }, getCustomLoader: jest.fn().mockImplementation(() => loader), - mergeChunks: jest.fn().mockImplementation(() => 'stream'), + getStreamFromUrl: jest.fn().mockImplementation(() => stream), + getStreamFromText: jest.fn().mockImplementation(() => stream), + mergeChunks: jest.fn().mockImplementation(() => stream), clearChunks: jest.fn(), saveParsedStream: jest.fn(), dataset: { diff --git a/src/api/services/repositoryMiddleware.js b/src/api/services/repositoryMiddleware.js index 9258a011f..95d68bf94 100644 --- a/src/api/services/repositoryMiddleware.js +++ b/src/api/services/repositoryMiddleware.js @@ -1,3 +1,4 @@ +import mongoClient from './mongoClient'; import dataset from '../models/dataset'; import field from '../models/field'; import publishedCharacteristic from '../models/publishedCharacteristic'; @@ -6,7 +7,6 @@ import publishedFacet from '../models/publishedFacet'; import subresource from '../models/subresource'; import enrichment from '../models/enrichment'; import precomputed from '../models/precomputed'; -import mongoClient from './mongoClient'; import tenant from '../models/tenant'; import configTenant from '../models/configTenant'; import hiddenResource from '../models/hiddenResource'; diff --git a/src/api/services/repositoryMiddleware.spec.js b/src/api/services/repositoryMiddleware.spec.js index 11bcd9cb7..1821bc8fe 100644 --- a/src/api/services/repositoryMiddleware.spec.js +++ b/src/api/services/repositoryMiddleware.spec.js @@ -2,8 +2,12 @@ import { mongoClientFactory } from './repositoryMiddleware'; describe('mongoClient middleware', () => { it('it should add db and collections to ctx', async () => { + const listCollections = { + toArray: () => [true], + }; const db = { collection: () => ({ createIndex: () => {} }), + listCollections: () => listCollections, }; const next = () => Promise.resolve(); diff --git a/src/api/services/saveParsedStream.js b/src/api/services/saveParsedStream.js index 0ae0132f4..6ff99b992 100644 --- a/src/api/services/saveParsedStream.js +++ b/src/api/services/saveParsedStream.js @@ -41,8 +41,8 @@ export const saveParsedStream = async (ctx, parsedStream) => { return ctx.dataset.count(); } catch (error) { - await ctx.dataset.remove({ lodex_published: { $exists: false } }); - await ctx.publishedDataset.remove({ + await ctx.dataset.deleteOne({ lodex_published: { $exists: false } }); + await ctx.publishedDataset.deleteOne({ lodex_published: { $exists: false }, }); diff --git a/src/api/services/saveParsedStream.spec.js b/src/api/services/saveParsedStream.spec.js index 0f917397b..3a2b1bc04 100644 --- a/src/api/services/saveParsedStream.spec.js +++ b/src/api/services/saveParsedStream.spec.js @@ -52,7 +52,7 @@ describe('saveParsedStream', () => { describe('with publication', () => { const ctx = { dataset: { - remove: jest.fn(), + deleteOne: jest.fn(), count: jest.fn().mockImplementation(() => 'count'), updateMany: jest.fn(), }, @@ -88,7 +88,7 @@ describe('saveParsedStream', () => { }); it('should not have called dataset.remove', () => { - expect(ctx.dataset.remove).not.toHaveBeenCalled(); + expect(ctx.dataset.deleteOne).not.toHaveBeenCalled(); }); it('should have called updateMany on dataset and publishedDataset to set lodex_published to true', () => { @@ -141,14 +141,14 @@ describe('saveParsedStream', () => { const parsedStream = 'parsedStream'; const ctx = { dataset: { - remove: jest.fn(), + deleteOne: jest.fn(), count: jest.fn().mockImplementation(() => 'count'), updateMany: jest.fn(), }, publishedDataset: { count: jest.fn().mockImplementation(() => 1000), updateMany: jest.fn(), - remove: jest.fn(), + deleteOne: jest.fn(), }, field: { findAll: jest @@ -219,10 +219,10 @@ describe('saveParsedStream', () => { }); it('should remove all unpublished document from dataset and publishedDataset', () => { - expect(ctx.dataset.remove).toHaveBeenCalledWith({ + expect(ctx.dataset.deleteOne).toHaveBeenCalledWith({ lodex_published: { $exists: false }, }); - expect(ctx.publishedDataset.remove).toHaveBeenCalledWith({ + expect(ctx.publishedDataset.deleteOne).toHaveBeenCalledWith({ lodex_published: { $exists: false }, }); }); diff --git a/src/api/services/updateFacetValue.js b/src/api/services/updateFacetValue.js index 0675c91ca..80e3b0ab5 100644 --- a/src/api/services/updateFacetValue.js +++ b/src/api/services/updateFacetValue.js @@ -8,12 +8,12 @@ const removeOldValue = (publishedFacet, field) => async (oldValue) => { ); if (updatedFacet.count <= 0) { - await publishedFacet.remove(updatedFacet); + await publishedFacet.deleteOne(updatedFacet); } }; const addNewValue = (publishedFacet, field) => async (newValue) => { - await publishedFacet.update( + await publishedFacet.updateOne( { field, value: newValue }, { $inc: { count: 1 } }, { upsert: true }, diff --git a/src/api/services/updateFacetValue.spec.js b/src/api/services/updateFacetValue.spec.js index 507c17663..2e0f6f2e7 100644 --- a/src/api/services/updateFacetValue.spec.js +++ b/src/api/services/updateFacetValue.spec.js @@ -6,8 +6,8 @@ describe('updatefacetValue', () => { findOneAndUpdate: jest.fn().mockImplementation(() => ({ value: { count: 10 }, })), - update: jest.fn(), - remove: jest.fn(), + updateOne: jest.fn(), + deleteOne: jest.fn(), }; await updateFacetValue(publishedFacet)({ field: 'fieldName', @@ -20,9 +20,9 @@ describe('updatefacetValue', () => { { returnOriginal: false }, ); - expect(publishedFacet.remove).not.toHaveBeenCalled(); + expect(publishedFacet.deleteOne).not.toHaveBeenCalled(); - expect(publishedFacet.update).toHaveBeenCalledWith( + expect(publishedFacet.updateOne).toHaveBeenCalledWith( { field: 'fieldName', value: 'new', @@ -32,7 +32,7 @@ describe('updatefacetValue', () => { ); }); - it('should call remove if findOneAndUpdate returned an updated facet with count at 0 or less', async () => { + it('should call deleteOne if findOneAndUpdate returned an updated facet with count at 0 or less', async () => { const publishedFacet = { findOneAndUpdate: jest.fn().mockImplementation(() => ({ value: { @@ -41,8 +41,8 @@ describe('updatefacetValue', () => { count: 0, }, })), - update: jest.fn(), - remove: jest.fn(), + updateOne: jest.fn(), + deleteOne: jest.fn(), }; await updateFacetValue(publishedFacet)({ field: 'fieldName', @@ -58,12 +58,12 @@ describe('updatefacetValue', () => { { returnOriginal: false }, ); - expect(publishedFacet.remove).toHaveBeenCalledWith({ + expect(publishedFacet.deleteOne).toHaveBeenCalledWith({ field: 'fieldName', value: 'old', count: 0, }); - expect(publishedFacet.update).toHaveBeenCalledWith( + expect(publishedFacet.updateOne).toHaveBeenCalledWith( { field: 'fieldName', value: 'new', @@ -80,8 +80,8 @@ describe('updatefacetValue', () => { findOneAndUpdate: jest.fn().mockImplementation(() => ({ value: { count: 10 }, })), - update: jest.fn(), - remove: jest.fn(), + updateOne: jest.fn(), + deleteOne: jest.fn(), }; await updateFacetValue(publishedFacet)({ field: 'fieldName', @@ -100,11 +100,11 @@ describe('updatefacetValue', () => { { returnOriginal: false }, ); - expect(publishedFacet.remove).not.toHaveBeenCalled(); + expect(publishedFacet.deleteOne).not.toHaveBeenCalled(); - expect(publishedFacet.update).toHaveBeenCalledTimes(2); + expect(publishedFacet.updateOne).toHaveBeenCalledTimes(2); - expect(publishedFacet.update).toHaveBeenCalledWith( + expect(publishedFacet.updateOne).toHaveBeenCalledWith( { field: 'fieldName', value: 'new1', @@ -113,7 +113,7 @@ describe('updatefacetValue', () => { { upsert: true }, ); - expect(publishedFacet.update).toHaveBeenCalledWith( + expect(publishedFacet.updateOne).toHaveBeenCalledWith( { field: 'fieldName', value: 'new2', diff --git a/src/common/tests/fixtures.js b/src/common/tests/fixtures.js index 3f253b159..b7185a502 100644 --- a/src/common/tests/fixtures.js +++ b/src/common/tests/fixtures.js @@ -57,11 +57,11 @@ export async function clear() { } await Promise.all([ - db.dataset.remove({}), - db.field.remove({}), - db.publishedCharacteristic.remove({}), - db.publishedDataset.remove({}), - db.publishedFacet.remove({}), + db.dataset.drop(), + db.field.drop(), + db.publishedCharacteristic.drop(), + db.publishedDataset.drop(), + db.publishedFacet.drop(), ]); return db;