From 01013bcf04d66c19325aec0e6dd82e9ad892b1f3 Mon Sep 17 00:00:00 2001 From: Severiano Badajoz Date: Tue, 14 Sep 2021 15:55:46 -0700 Subject: [PATCH] refactor: drop non-session auth from frontend (#2419) --- client/Makefile | 3 +- client/__tests__/e2e/cellxgeneActions.js | 95 +- client/__tests__/e2e/test_config.yaml | 2 +- client/__tests__/globalSetup.js | 21 - client/package-lock.json | 1459 +---------------- client/package.json | 1 - client/server/development.js | 8 - client/src/actions/index.js | 12 - .../src/components/autosave/filenameDialog.js | 6 +- client/src/components/categorical/index.js | 17 +- client/src/components/menubar/authButtons.js | 175 -- client/src/components/menubar/index.js | 6 - client/src/components/util/localStorage.js | 1 - client/src/reducers/index.js | 2 - client/src/reducers/userInfo.js | 26 - 15 files changed, 36 insertions(+), 1798 deletions(-) delete mode 100644 client/src/components/menubar/authButtons.js delete mode 100644 client/src/reducers/userInfo.js diff --git a/client/Makefile b/client/Makefile index 1169da30..e5621544 100644 --- a/client/Makefile +++ b/client/Makefile @@ -7,7 +7,6 @@ GENE_SETS_FILENAME := $(shell basename $(GENE_SETS)) CXG_CONFIG := $(if $(CXG_CONFIG),$(CXG_CONFIG),./__tests__/e2e/test_config.yaml) -CXG_AUTH_TYPE := $(if $(CXG_AUTH_TYPE),$(CXG_AUTH_TYPE),"test") # Packaging @@ -40,7 +39,7 @@ smoke-test: start_server_and_test \ 'CXG_OPTIONS="--config-file $(CXG_CONFIG)" $(MAKE) start-server' \ $(CXG_SERVER_PORT) \ - 'CXG_URL_BASE="http://localhost:$(CXG_SERVER_PORT)" CXG_AUTH_TYPE=$(CXG_AUTH_TYPE) npm run e2e -- --verbose false' + 'CXG_URL_BASE="http://localhost:$(CXG_SERVER_PORT)" npm run e2e -- --verbose false' # start an instance of cellxgene and run the end-to-end annotations tests .PHONY: smoke-test-annotations diff --git a/client/__tests__/e2e/cellxgeneActions.js b/client/__tests__/e2e/cellxgeneActions.js index 81727712..303875e7 100644 --- a/client/__tests__/e2e/cellxgeneActions.js +++ b/client/__tests__/e2e/cellxgeneActions.js @@ -13,11 +13,8 @@ import { getTestClass, getTestId, isElementPresent, - goToPage, } from "./puppeteerUtils"; -import { appUrlBase, TEST_EMAIL, TEST_PASSWORD } from "./config"; - export async function drag(testId, start, end, lasso = false) { const layout = await waitByID(testId); const elBox = await layout.boxModel(); @@ -61,7 +58,9 @@ export async function getAllHistograms(testclass, testIds) { const allHistograms = await getAllByClass(testclass); const testIDs = await Promise.all( - allHistograms.map((hist) => page.evaluate((elem) => elem.dataset.testid, hist)) + allHistograms.map((hist) => + page.evaluate((elem) => elem.dataset.testid, hist) + ) ); return testIDs.map((id) => id.replace(/^histogram-/, "")); @@ -172,9 +171,9 @@ export async function createCategory(categoryName) { await clickOn("submit-category"); } -/* +/* - GENESET + GENESET */ @@ -189,7 +188,9 @@ export async function colorByGene(gene) { export async function assertColorLegendLabel(label) { const handle = await waitByID("continuous_legend_color_by_label"); - const result = await handle.evaluate((node) => node.getAttribute("aria-label")); + const result = await handle.evaluate((node) => + node.getAttribute("aria-label") + ); return expect(result).toBe(label); } @@ -246,12 +247,14 @@ export async function assertGenesetDoesNotExist(genesetName) { export async function assertGenesetExists(genesetName) { const handle = await waitByID(`${genesetName}:geneset-name`); - const result = await handle.evaluate((node) => node.getAttribute("aria-label")); + const result = await handle.evaluate((node) => + node.getAttribute("aria-label") + ); return expect(result).toBe(genesetName); } -/* +/* GENE @@ -276,7 +279,9 @@ export async function removeGene(geneSymbol) { export async function assertGeneExistsInGeneset(geneSymbol) { const handle = await waitByID(`${geneSymbol}:gene-label`); - const result = await handle.evaluate((node) => node.getAttribute("aria-label")); + const result = await handle.evaluate((node) => + node.getAttribute("aria-label") + ); return expect(result).toBe(geneSymbol); } @@ -291,9 +296,9 @@ export async function expandGene(geneSymbol) { await clickOn(`maximize-${geneSymbol}`); } -/* +/* - CATEGORY + CATEGORY */ @@ -437,70 +442,4 @@ export async function assertCategoryDoesNotExist(categoryName) { await expect(result).toBe(false); } -export async function login() { - await goToPage(appUrlBase); - - await clickOn("log-in"); - - // (thuang): Auth0 form is unstable and unsafe for input until verified - await waitUntilFormFieldStable('[name="email"]'); - - await expect(page).toFillForm("form", { - email: TEST_EMAIL, - password: TEST_PASSWORD, - }); - - await Promise.all([ - page.waitForNavigation({ waitUntil: "networkidle0" }), - expect(page).toClick('[name="submit"]'), - ]); - - expect(page.url()).toContain(appUrlBase); -} - -export async function logout() { - await clickOnUntil("user-info", async () => { - await waitByID("log-out"); - await Promise.all([ - page.waitForNavigation({ waitUntil: "networkidle0" }), - clickOn("log-out"), - ]); - }); - - await waitByID("log-in"); -} - -async function waitUntilFormFieldStable(selector) { - const MAX_RETRY = 10; - const WAIT_FOR_MS = 200; - - const EXPECTED_VALUE = "aaa"; - - let retry = 0; - - while (retry < MAX_RETRY) { - try { - await expect(page).toFill(selector, EXPECTED_VALUE); - - const fieldHandle = await expect(page).toMatchElement(selector); - - const fieldValue = await page.evaluate( - (input) => input.value, - fieldHandle - ); - - expect(fieldValue).toBe(EXPECTED_VALUE); - - break; - } catch (error) { - retry += 1; - - await page.waitForTimeout(WAIT_FOR_MS); - } - } - - if (retry === MAX_RETRY) { - throw Error("clickOnUntil() assertion failed!"); - } -} /* eslint-enable no-await-in-loop -- await in loop is needed to emulate sequential user actions */ diff --git a/client/__tests__/e2e/test_config.yaml b/client/__tests__/e2e/test_config.yaml index b5998375..cda11f0d 100644 --- a/client/__tests__/e2e/test_config.yaml +++ b/client/__tests__/e2e/test_config.yaml @@ -8,7 +8,7 @@ server: # none: No authentication support, features like user_annotations must not be enabled. # session: A session based userid is automatically generated. (no params needed) # oauth: oauth2 is used for authentication; parameters are defined in params_oauth. - type: test + type: session insecure_test_environment: true dataset: diff --git a/client/__tests__/globalSetup.js b/client/__tests__/globalSetup.js index e5163056..4802eda6 100644 --- a/client/__tests__/globalSetup.js +++ b/client/__tests__/globalSetup.js @@ -1,26 +1,5 @@ -const { - SecretsManagerClient, - GetSecretValueCommand, -} = require("@aws-sdk/client-secrets-manager"); - const { setup } = require("jest-environment-puppeteer"); -const client = new SecretsManagerClient({ region: "us-west-2" }); - -const deploymentStage = process.env.DEPLOYMENT_STAGE || "test"; - -const secretValueRequest = { - SecretId: `corpora/backend/${deploymentStage}/auth0-secret`, -}; - -const command = new GetSecretValueCommand(secretValueRequest); - module.exports = async () => { await setup(); - try { - const secret = JSON.parse((await client.send(command)).SecretString); - process.env.TEST_ACCOUNT_PASS = secret.test_account_password; - } catch (error) { - console.error(error); - } }; diff --git a/client/package-lock.json b/client/package-lock.json index 2afaecf6..df0dc34f 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,15 +1,14 @@ { "name": "cellxgene", - "version": "0.17.0", + "version": "0.18.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cellxgene", - "version": "0.17.0", + "version": "0.18.0", "license": "MIT", "dependencies": { - "@aws-sdk/client-secrets-manager": "^3.13.0", "@babel/eslint-parser": "^7.15.0", "@blueprintjs/core": "^3.44.0", "@blueprintjs/icons": "^3.19.0", @@ -122,773 +121,6 @@ "npm": ">=3.0.0" } }, - "node_modules/@aws-crypto/ie11-detection": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz", - "integrity": "sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA==", - "dependencies": { - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.1.1.tgz", - "integrity": "sha512-nS4vdan97It6HcweV58WXtjPbPSc0JXd3sAwlw3Ou5Mc3WllSycAS32Tv2LRn8butNQoU9AE3jEQAOgiMdNC1Q==", - "dependencies": { - "@aws-crypto/ie11-detection": "^1.0.0", - "@aws-crypto/sha256-js": "^1.1.0", - "@aws-crypto/supports-web-crypto": "^1.0.0", - "@aws-sdk/types": "^3.1.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", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.1.0.tgz", - "integrity": "sha512-VIhuqbPgXDVr8sZe2yhgQcDRRmzf4CI8fmC1A3bHiRfE6wlz1d8KpeemqbuoEHotz/Dch9yOxlshyQDNjNFeHA==", - "dependencies": { - "@aws-sdk/types": "^3.1.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz", - "integrity": "sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g==", - "dependencies": { - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-sdk/abort-controller": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.25.0.tgz", - "integrity": "sha512-uEVKqKkPVz6atbCxCNJY5O7V+ieSK8crUswXo8/WePyEbGEgxJ4t9x/WG4lV8kBjelmvQHDR4GqfJmb5Sh9xSg==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/client-secrets-manager": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.27.0.tgz", - "integrity": "sha512-WsVytEQKOjDKZKszm0Mfd3sCvUG1fYr2iu5yOnMaeAQQjCNw5nQ0tif0mC0suVG3847DvBJ9ajNab82EI5R1PQ==", - "dependencies": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/client-sts": "3.27.0", - "@aws-sdk/config-resolver": "3.27.0", - "@aws-sdk/credential-provider-node": "3.27.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.27.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-signing": "3.27.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.27.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.27.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", - "tslib": "^2.3.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.27.0.tgz", - "integrity": "sha512-/Op+OaQgcAG/FyyqJc2NVfIJWEd1cTWIl8gBWSTUugrhhd5rMnAtg3u5ds/tYUimVQJv03z4bDjbI0Rnv/t6XQ==", - "dependencies": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.27.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.27.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.27.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.27.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.27.0.tgz", - "integrity": "sha512-QagsjULn6eacR/IL9d/nky17jUcqnbeShrHGrAyOhAXtehG3g2kkFcGbFy30iNw8gl1LteZL9dslpPFdWIEI1A==", - "dependencies": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.27.0", - "@aws-sdk/credential-provider-node": "3.27.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.27.0", - "@aws-sdk/middleware-sdk-sts": "3.27.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-signing": "3.27.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.27.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.27.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", - "entities": "2.2.0", - "fast-xml-parser": "3.19.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@aws-sdk/config-resolver": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.27.0.tgz", - "integrity": "sha512-gc7dfBzdmUHJamMjOc0bzAkIm3VUIK9kbLQSy0+nfjT641+AYvXO3qpjR6ywvutsbKhBg5kyGn/4QhyRxg61OQ==", - "dependencies": { - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.27.0.tgz", - "integrity": "sha512-IbPdlYl0A5GcpuT394cJceexxo0tzUzC7jIUxqL8gNbB/MIXC5ZlkeX9Z7bYloNb8SXk7GumXyQTsK1CchUvQA==", - "dependencies": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.27.0.tgz", - "integrity": "sha512-rhzlEvxiB7ecpVDl3NkjP1vPmqs+HHmqNXrK4efOYshwIbu+/h3xPePQMBOQ0AGezYn3k/iumoXXysVhVqtwUA==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.27.0.tgz", - "integrity": "sha512-jvWUDz6nFqUvjmPRebwf1mWsOZ+inmZNQxz20DC/ROCRfGF1y8Yqf7KgCJy8MQOlDdTA4lPS+w6OJ0J/OOGbPg==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.27.0", - "@aws-sdk/credential-provider-imds": "3.27.0", - "@aws-sdk/credential-provider-sso": "3.27.0", - "@aws-sdk/credential-provider-web-identity": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.27.0.tgz", - "integrity": "sha512-GfCDX/AA7EJKyVGmNnh3wngWfEWFkuNJyend6FLN+81s3kUpXTkILuZCwQrD9AyjBYR2ksv0t929nW2fBUGT9Q==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.27.0", - "@aws-sdk/credential-provider-imds": "3.27.0", - "@aws-sdk/credential-provider-ini": "3.27.0", - "@aws-sdk/credential-provider-process": "3.27.0", - "@aws-sdk/credential-provider-sso": "3.27.0", - "@aws-sdk/credential-provider-web-identity": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.27.0.tgz", - "integrity": "sha512-F9pqKKnd5+fwoldVQJX9uLbDyPyIDnCpZGbiTw6BZANZM1qhjoEn7rNE5g2h0tkeq4dWMA9bANKMR4j3YhTpXw==", - "dependencies": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.27.0.tgz", - "integrity": "sha512-yXyy+/FYFtpnRmPBiw5rxwSQBj1pcI0R+z77EA8a8+tozZPjsIri+xBsU62DtIlv/2yVb/goPgw+w2vg0L4NFw==", - "dependencies": { - "@aws-sdk/client-sso": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.27.0.tgz", - "integrity": "sha512-FYvDzB4UqmJjY+ZZoIAPM1EFK9/RdNn1VT5xvDcebQe7xKOVUG1tZbOA4rVZ3MUcxfyRqp7Ou/AhIWu/9RSt2Q==", - "dependencies": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.25.0.tgz", - "integrity": "sha512-792kkbfSRBdiFb7Q2cDJts9MKxzAwuQSwUIwRKAOMazU8HkKbKnXXAFSsK3T7VasOFOh7O7YEGN0q9UgEw1q+g==", - "dependencies": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/querystring-builder": "3.25.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/hash-node": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.25.0.tgz", - "integrity": "sha512-qRn6iqG9VLt8D29SBABcbauDLn92ssMjtpyVApiOhDYyFm2VA2avomOHD6y2PRBMwM5FMQAygZbpA2HIN2F96w==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-buffer-from": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.25.0.tgz", - "integrity": "sha512-ZBXjBAF2JSiO/wGBa1oaXsd1q5YG3diS8TfIUMXeQoe9O66R5LGoGOQeAbB/JjlwFot6DZfAcfocvl6CtWwqkw==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.23.0.tgz", - "integrity": "sha512-XN20/scFthok0lCbjtinW77CoIBoar8cbOzmu+HkYTnBBpJrF6Ai5g9sgglO8r+X+OLn4PrDrTP+BxdpNuIh9g==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.25.0.tgz", - "integrity": "sha512-uOXus0MmZi/mucRIr5yfwM1vDhYG66CujNfnhyEaq5f4kcDA1Q5qPWSn9dkQPV9JWTZK3WTuYiOPSgtmlAYTAg==", - "dependencies": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.25.0.tgz", - "integrity": "sha512-xKD/CfsUS3ul2VaQ3IgIUXgA7jU2/Guo/DUhYKrLZTOxm0nuvsIFw0RqSCtRBCLptE5Qi+unkc1LcFDbfqrRbg==", - "dependencies": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.25.0.tgz", - "integrity": "sha512-M1F7BlAsDKoEM8hBaU2pHlLSM40rzzgtZ6jFNhfmTwGcjxe1N7JXCH5QPa7aI8wnJq2RoIRHVfVsUH4GwvOZnA==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-retry": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.27.0.tgz", - "integrity": "sha512-H57NP27qOxgbPRwCFkBYtAJylhAOWKSv3/TsCpDNnrb3Z0pqKUQH9mLC8hRGTRplkA7SDGfiuf9bsoNhZ3HFwQ==", - "dependencies": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/service-error-classification": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.27.0.tgz", - "integrity": "sha512-4geCMczCujTz4GWSrwKhxEW9rYikp5NrLcIpHI0NjthQQfa8T4/D1WSsSnW3JNmQcMgQXeC9h8jTn0dOE4EhUw==", - "dependencies": { - "@aws-sdk/middleware-signing": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-serde": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.25.0.tgz", - "integrity": "sha512-065Kugo8yXzBkcVAxctxFCHKlHcINnaQRsJ8ifvgc+UOEgvTG9+LfGWDwfdgarW9CkF7RkCoZOyaqFsO+HJWsg==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.27.0.tgz", - "integrity": "sha512-eOXwKOFuCIGAW3wZO9Cyh+z7swZYTq8BiBDjwWu6u0UBb5B/zMiq1z1LDa88iZY200O3Zip8+6RZV7LLd3XH+Q==", - "dependencies": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-stack": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.25.0.tgz", - "integrity": "sha512-s2VgdsasOVKHY3/SIGsw9AeZMMsdcIbBGWim9n5IO3j8C8y54EdRLVCEja8ePvMDZKIzuummwatYPHaUrnqPtQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.25.0.tgz", - "integrity": "sha512-HXd/Qknq8Cp7fzJYU7jDDpN7ReJ3arUrnt+dAPNaDDrhmrBbCZp+24UXN6X6DAj0JICRoRuF/l7KxjwdF5FShw==", - "dependencies": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/node-config-provider": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.27.0.tgz", - "integrity": "sha512-5jeCLV7NI/ouQCMGDnGbxpCBhGirksXY55uvAaeysMxzjJLmPDwOZUD1gMhfYe8lxvktwhAndOdPQofWwTFUoQ==", - "dependencies": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/node-http-handler": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.25.0.tgz", - "integrity": "sha512-zVeAM/bXewZiuMtcUZI/xGDID6knkzOv73ueVkzUbP0Ki8bfao7diR3hMbIt5Fy/r8cAVjJce9v6zFqo4sr1WA==", - "dependencies": { - "@aws-sdk/abort-controller": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/querystring-builder": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/property-provider": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.27.0.tgz", - "integrity": "sha512-8vovVNldgJwCpUfehdwUPwvzfUPB7TEW/tcTgrkLQW/cpEULbRrymtiZrzSkBLspNw2iU5d3FpQxE61s1ou0UA==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/protocol-http": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.25.0.tgz", - "integrity": "sha512-4Jebt5G8uIFa+HZO7KOgOtA66E/CXysQekiV5dfAsU8ca+rX5PB6qhpWZ2unX/l6He+oDQ0zMoW70JkNiP4/4w==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/querystring-builder": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.25.0.tgz", - "integrity": "sha512-o/R3/viOxjWckI+kepkxJSL7fIdg1hHYOW/rOpo9HbXS0CJrHVnB8vlBb+Xwl1IFyY2gg+5YZTjiufcgpgRBkw==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-uri-escape": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/querystring-parser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.25.0.tgz", - "integrity": "sha512-FCNyaOLFLVS5j43MhVA7/VJUDX0t/9RyNTNulHgzFjj6ffsgqcY0uwUq1RO3QCL4asl56zOrLVJgK+Z7wMbvFg==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/service-error-classification": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.25.0.tgz", - "integrity": "sha512-66FfIab87LnnHtOLrGrVOht9Pw6lE8appyOpBdtoeoU5DP7ARSWuDdsYmKdGdRCWvn/RaVFbSYua9k0M1WsGqg==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.23.0.tgz", - "integrity": "sha512-YUp46l6E3dLKHp1cKMkZI4slTjsVc/Lm7nPCTVc3oQvZ1MvC99N/jMCmZ7X5YYofuAUSdc9eJ8sYiF2BnUww9g==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/signature-v4": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.25.0.tgz", - "integrity": "sha512-6KDRRz9XVrj9RxrBLC6dzfnb2TDl3CjIzcNpLdRuKFgzEEdwV+5D+EZuAQU3MuHG5pWTIwG72k/dmCbJ2MDPUQ==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-hex-encoding": "3.23.0", - "@aws-sdk/util-uri-escape": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/smithy-client": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.27.0.tgz", - "integrity": "sha512-PpsSDUsRqw8HGuXv+AR2UzhVUJz4APM7K6Br8TTDPKvDwQtXkT5GROXRyAwU+htPcOHq006lS5EiF343y0HRvg==", - "dependencies": { - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.25.0.tgz", - "integrity": "sha512-vS0+cTKwj6CujlR07HmeEBxzWPWSrdmZMYnxn/QC9KW9dFu0lsyCGSCqWsFluI6GI0flsnYYWNkP5y4bfD9tqg==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/url-parser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.25.0.tgz", - "integrity": "sha512-qZ3Vq0NjHsE7Qq6R5NVRswIAsiyYjCDnAV+/Vt4jU/K0V3mGumiasiJyRyblW4Da8R6kfcJk0mHSMFRJfoHh8Q==", - "dependencies": { - "@aws-sdk/querystring-parser": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.23.0.tgz", - "integrity": "sha512-xlI/qw+uhLJWa3k0mRtRHQ42v5QzsMFEUXScredQMfJ/34qzXyocsG6OHPOTV1I8WSANrxnHR5m1Ae3iU6JuVw==", - "dependencies": { - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/util-base64-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.23.0.tgz", - "integrity": "sha512-Kf8JIAUtjrPcD5CJzrig2B5CtegWswUNpW4zBarww/UJhHlp8WzKlCxxA+yNS1ghT0ZMjrRvxPabKDGpkyUfmQ==", - "dependencies": { - "@aws-sdk/util-buffer-from": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.23.0.tgz", - "integrity": "sha512-Bi6u/5omQbOBSB5BxqVvaPgVplLRjhhSuqK3XAukbeBPh7lcibIBdy7YvbhQyl4i8Hb2QjFnqqfzA0lNBe5eiw==", - "dependencies": { - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.23.0.tgz", - "integrity": "sha512-8kSczloA78mikPaJ742SU9Wpwfcz3HOruoXiP/pOy69UZEsMe4P7zTZI1bo8BAp7j6IFUPCXth9E3UAtkbz+CQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.23.0.tgz", - "integrity": "sha512-axXy1FvEOM1uECgMPmyHF1S3Hd7JI+BerhhcAlGig0bbqUsZVQUNL9yhOsWreA+nf1v08Ucj8P2SHPCT9Hvpgg==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-credentials": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.23.0.tgz", - "integrity": "sha512-6TDGZnFa0kZr+vSsWXXMfWt347jbMGKtzGnBxbrmiQgZMijz9s/wLYxsjglZ+CyqI/QrSMOTtqy6mEgJxdnGWQ==", - "dependencies": { - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.23.0.tgz", - "integrity": "sha512-RFDCwNrJMmmPSMVRadxRNePqTXGwtL9s4844x44D0bbGg1TdC42rrg0PRKYkxFL7wd1FbibVQOzciZAvzF+Z+w==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.23.0.tgz", - "integrity": "sha512-mM8kWW7SWIxCshkNllpYqCQi5SzwJ+sv5nURhtquOB5/H3qGqZm0V5lUE3qpE1AYmqKwk6qbGUy1woFn1T5nrw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.23.0.tgz", - "integrity": "sha512-SvQx2E/FDlI5vLT67wwn/k1j2R/G58tYj4Te6GNgEwPGL43X2+7c0+d/WTgndMaRvxSBHZMUTxBYh1HOeU7loA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.25.0.tgz", - "integrity": "sha512-qGqiWfs49NRmQVXPsBXgMRVkjDZocicU0V2wak98e0t7TOI+KmP8hnwsTkE6c4KwhsFOOUhAzjn5zk3kOwi6tQ==", - "dependencies": { - "@aws-sdk/types": "3.25.0", - "bowser": "^2.11.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.27.0.tgz", - "integrity": "sha512-jigZzAuhEnaLFeYEDGKQq8tas8OsT6qI7WAm/UnCXqtLhdnIu7u1yPhXk+TjI7SSn4Z6zP6Oh1qtFxzhpPmdoQ==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.23.0.tgz", - "integrity": "sha512-fSB95AKnvCnAbCd7o0xLbErfAgD9wnLCaEu23AgfGAiaG3nFF8Z2+wtjebU/9Z4RI9d/x83Ho/yguRnJdkMsPA==", - "dependencies": { - "tslib": "^2.3.0" - } - }, - "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.23.0.tgz", - "integrity": "sha512-yao8+8okyfCxRvxZe3GBdO7lJnQEBf3P6rDgleOQD/0DZmMjOQGXCvDd42oagE2TegXhkUnJfVOZU2GqdoR0hg==", - "dependencies": { - "@aws-sdk/util-buffer-from": "3.23.0", - "tslib": "^2.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", @@ -5948,11 +5180,6 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -8597,6 +7824,7 @@ "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" } @@ -10016,18 +9244,6 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, - "node_modules/fast-xml-parser": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", - "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==", - "bin": { - "xml2js": "cli.js" - }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - }, "node_modules/fastest-levenshtein": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", @@ -23484,7 +22700,8 @@ "node_modules/tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true }, "node_modules/tsutils": { "version": "3.21.0", @@ -23848,6 +23065,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, "bin": { "uuid": "dist/bin/uuid" } @@ -24704,652 +23922,6 @@ } }, "dependencies": { - "@aws-crypto/ie11-detection": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz", - "integrity": "sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/sha256-browser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.1.1.tgz", - "integrity": "sha512-nS4vdan97It6HcweV58WXtjPbPSc0JXd3sAwlw3Ou5Mc3WllSycAS32Tv2LRn8butNQoU9AE3jEQAOgiMdNC1Q==", - "requires": { - "@aws-crypto/ie11-detection": "^1.0.0", - "@aws-crypto/sha256-js": "^1.1.0", - "@aws-crypto/supports-web-crypto": "^1.0.0", - "@aws-sdk/types": "^3.1.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/sha256-js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.1.0.tgz", - "integrity": "sha512-VIhuqbPgXDVr8sZe2yhgQcDRRmzf4CI8fmC1A3bHiRfE6wlz1d8KpeemqbuoEHotz/Dch9yOxlshyQDNjNFeHA==", - "requires": { - "@aws-sdk/types": "^3.1.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/supports-web-crypto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz", - "integrity": "sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-sdk/abort-controller": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.25.0.tgz", - "integrity": "sha512-uEVKqKkPVz6atbCxCNJY5O7V+ieSK8crUswXo8/WePyEbGEgxJ4t9x/WG4lV8kBjelmvQHDR4GqfJmb5Sh9xSg==", - "requires": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/client-secrets-manager": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.27.0.tgz", - "integrity": "sha512-WsVytEQKOjDKZKszm0Mfd3sCvUG1fYr2iu5yOnMaeAQQjCNw5nQ0tif0mC0suVG3847DvBJ9ajNab82EI5R1PQ==", - "requires": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/client-sts": "3.27.0", - "@aws-sdk/config-resolver": "3.27.0", - "@aws-sdk/credential-provider-node": "3.27.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.27.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-signing": "3.27.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.27.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.27.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", - "tslib": "^2.3.0", - "uuid": "^8.3.2" - } - }, - "@aws-sdk/client-sso": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.27.0.tgz", - "integrity": "sha512-/Op+OaQgcAG/FyyqJc2NVfIJWEd1cTWIl8gBWSTUugrhhd5rMnAtg3u5ds/tYUimVQJv03z4bDjbI0Rnv/t6XQ==", - "requires": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.27.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.27.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.27.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.27.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/client-sts": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.27.0.tgz", - "integrity": "sha512-QagsjULn6eacR/IL9d/nky17jUcqnbeShrHGrAyOhAXtehG3g2kkFcGbFy30iNw8gl1LteZL9dslpPFdWIEI1A==", - "requires": { - "@aws-crypto/sha256-browser": "^1.0.0", - "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.27.0", - "@aws-sdk/credential-provider-node": "3.27.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.27.0", - "@aws-sdk/middleware-sdk-sts": "3.27.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-signing": "3.27.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.27.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.27.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", - "entities": "2.2.0", - "fast-xml-parser": "3.19.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/config-resolver": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.27.0.tgz", - "integrity": "sha512-gc7dfBzdmUHJamMjOc0bzAkIm3VUIK9kbLQSy0+nfjT641+AYvXO3qpjR6ywvutsbKhBg5kyGn/4QhyRxg61OQ==", - "requires": { - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/credential-provider-env": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.27.0.tgz", - "integrity": "sha512-IbPdlYl0A5GcpuT394cJceexxo0tzUzC7jIUxqL8gNbB/MIXC5ZlkeX9Z7bYloNb8SXk7GumXyQTsK1CchUvQA==", - "requires": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/credential-provider-imds": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.27.0.tgz", - "integrity": "sha512-rhzlEvxiB7ecpVDl3NkjP1vPmqs+HHmqNXrK4efOYshwIbu+/h3xPePQMBOQ0AGezYn3k/iumoXXysVhVqtwUA==", - "requires": { - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/credential-provider-ini": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.27.0.tgz", - "integrity": "sha512-jvWUDz6nFqUvjmPRebwf1mWsOZ+inmZNQxz20DC/ROCRfGF1y8Yqf7KgCJy8MQOlDdTA4lPS+w6OJ0J/OOGbPg==", - "requires": { - "@aws-sdk/credential-provider-env": "3.27.0", - "@aws-sdk/credential-provider-imds": "3.27.0", - "@aws-sdk/credential-provider-sso": "3.27.0", - "@aws-sdk/credential-provider-web-identity": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/credential-provider-node": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.27.0.tgz", - "integrity": "sha512-GfCDX/AA7EJKyVGmNnh3wngWfEWFkuNJyend6FLN+81s3kUpXTkILuZCwQrD9AyjBYR2ksv0t929nW2fBUGT9Q==", - "requires": { - "@aws-sdk/credential-provider-env": "3.27.0", - "@aws-sdk/credential-provider-imds": "3.27.0", - "@aws-sdk/credential-provider-ini": "3.27.0", - "@aws-sdk/credential-provider-process": "3.27.0", - "@aws-sdk/credential-provider-sso": "3.27.0", - "@aws-sdk/credential-provider-web-identity": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/credential-provider-process": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.27.0.tgz", - "integrity": "sha512-F9pqKKnd5+fwoldVQJX9uLbDyPyIDnCpZGbiTw6BZANZM1qhjoEn7rNE5g2h0tkeq4dWMA9bANKMR4j3YhTpXw==", - "requires": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/credential-provider-sso": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.27.0.tgz", - "integrity": "sha512-yXyy+/FYFtpnRmPBiw5rxwSQBj1pcI0R+z77EA8a8+tozZPjsIri+xBsU62DtIlv/2yVb/goPgw+w2vg0L4NFw==", - "requires": { - "@aws-sdk/client-sso": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/credential-provider-web-identity": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.27.0.tgz", - "integrity": "sha512-FYvDzB4UqmJjY+ZZoIAPM1EFK9/RdNn1VT5xvDcebQe7xKOVUG1tZbOA4rVZ3MUcxfyRqp7Ou/AhIWu/9RSt2Q==", - "requires": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/fetch-http-handler": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.25.0.tgz", - "integrity": "sha512-792kkbfSRBdiFb7Q2cDJts9MKxzAwuQSwUIwRKAOMazU8HkKbKnXXAFSsK3T7VasOFOh7O7YEGN0q9UgEw1q+g==", - "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/querystring-builder": "3.25.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/hash-node": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.25.0.tgz", - "integrity": "sha512-qRn6iqG9VLt8D29SBABcbauDLn92ssMjtpyVApiOhDYyFm2VA2avomOHD6y2PRBMwM5FMQAygZbpA2HIN2F96w==", - "requires": { - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-buffer-from": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/invalid-dependency": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.25.0.tgz", - "integrity": "sha512-ZBXjBAF2JSiO/wGBa1oaXsd1q5YG3diS8TfIUMXeQoe9O66R5LGoGOQeAbB/JjlwFot6DZfAcfocvl6CtWwqkw==", - "requires": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/is-array-buffer": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.23.0.tgz", - "integrity": "sha512-XN20/scFthok0lCbjtinW77CoIBoar8cbOzmu+HkYTnBBpJrF6Ai5g9sgglO8r+X+OLn4PrDrTP+BxdpNuIh9g==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-content-length": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.25.0.tgz", - "integrity": "sha512-uOXus0MmZi/mucRIr5yfwM1vDhYG66CujNfnhyEaq5f4kcDA1Q5qPWSn9dkQPV9JWTZK3WTuYiOPSgtmlAYTAg==", - "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-host-header": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.25.0.tgz", - "integrity": "sha512-xKD/CfsUS3ul2VaQ3IgIUXgA7jU2/Guo/DUhYKrLZTOxm0nuvsIFw0RqSCtRBCLptE5Qi+unkc1LcFDbfqrRbg==", - "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-logger": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.25.0.tgz", - "integrity": "sha512-M1F7BlAsDKoEM8hBaU2pHlLSM40rzzgtZ6jFNhfmTwGcjxe1N7JXCH5QPa7aI8wnJq2RoIRHVfVsUH4GwvOZnA==", - "requires": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-retry": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.27.0.tgz", - "integrity": "sha512-H57NP27qOxgbPRwCFkBYtAJylhAOWKSv3/TsCpDNnrb3Z0pqKUQH9mLC8hRGTRplkA7SDGfiuf9bsoNhZ3HFwQ==", - "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/service-error-classification": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0", - "uuid": "^8.3.2" - } - }, - "@aws-sdk/middleware-sdk-sts": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.27.0.tgz", - "integrity": "sha512-4geCMczCujTz4GWSrwKhxEW9rYikp5NrLcIpHI0NjthQQfa8T4/D1WSsSnW3JNmQcMgQXeC9h8jTn0dOE4EhUw==", - "requires": { - "@aws-sdk/middleware-signing": "3.27.0", - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-serde": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.25.0.tgz", - "integrity": "sha512-065Kugo8yXzBkcVAxctxFCHKlHcINnaQRsJ8ifvgc+UOEgvTG9+LfGWDwfdgarW9CkF7RkCoZOyaqFsO+HJWsg==", - "requires": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-signing": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.27.0.tgz", - "integrity": "sha512-eOXwKOFuCIGAW3wZO9Cyh+z7swZYTq8BiBDjwWu6u0UBb5B/zMiq1z1LDa88iZY200O3Zip8+6RZV7LLd3XH+Q==", - "requires": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-stack": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.25.0.tgz", - "integrity": "sha512-s2VgdsasOVKHY3/SIGsw9AeZMMsdcIbBGWim9n5IO3j8C8y54EdRLVCEja8ePvMDZKIzuummwatYPHaUrnqPtQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/middleware-user-agent": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.25.0.tgz", - "integrity": "sha512-HXd/Qknq8Cp7fzJYU7jDDpN7ReJ3arUrnt+dAPNaDDrhmrBbCZp+24UXN6X6DAj0JICRoRuF/l7KxjwdF5FShw==", - "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/node-config-provider": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.27.0.tgz", - "integrity": "sha512-5jeCLV7NI/ouQCMGDnGbxpCBhGirksXY55uvAaeysMxzjJLmPDwOZUD1gMhfYe8lxvktwhAndOdPQofWwTFUoQ==", - "requires": { - "@aws-sdk/property-provider": "3.27.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/node-http-handler": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.25.0.tgz", - "integrity": "sha512-zVeAM/bXewZiuMtcUZI/xGDID6knkzOv73ueVkzUbP0Ki8bfao7diR3hMbIt5Fy/r8cAVjJce9v6zFqo4sr1WA==", - "requires": { - "@aws-sdk/abort-controller": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/querystring-builder": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/property-provider": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.27.0.tgz", - "integrity": "sha512-8vovVNldgJwCpUfehdwUPwvzfUPB7TEW/tcTgrkLQW/cpEULbRrymtiZrzSkBLspNw2iU5d3FpQxE61s1ou0UA==", - "requires": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/protocol-http": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.25.0.tgz", - "integrity": "sha512-4Jebt5G8uIFa+HZO7KOgOtA66E/CXysQekiV5dfAsU8ca+rX5PB6qhpWZ2unX/l6He+oDQ0zMoW70JkNiP4/4w==", - "requires": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/querystring-builder": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.25.0.tgz", - "integrity": "sha512-o/R3/viOxjWckI+kepkxJSL7fIdg1hHYOW/rOpo9HbXS0CJrHVnB8vlBb+Xwl1IFyY2gg+5YZTjiufcgpgRBkw==", - "requires": { - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-uri-escape": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/querystring-parser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.25.0.tgz", - "integrity": "sha512-FCNyaOLFLVS5j43MhVA7/VJUDX0t/9RyNTNulHgzFjj6ffsgqcY0uwUq1RO3QCL4asl56zOrLVJgK+Z7wMbvFg==", - "requires": { - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/service-error-classification": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.25.0.tgz", - "integrity": "sha512-66FfIab87LnnHtOLrGrVOht9Pw6lE8appyOpBdtoeoU5DP7ARSWuDdsYmKdGdRCWvn/RaVFbSYua9k0M1WsGqg==" - }, - "@aws-sdk/shared-ini-file-loader": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.23.0.tgz", - "integrity": "sha512-YUp46l6E3dLKHp1cKMkZI4slTjsVc/Lm7nPCTVc3oQvZ1MvC99N/jMCmZ7X5YYofuAUSdc9eJ8sYiF2BnUww9g==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/signature-v4": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.25.0.tgz", - "integrity": "sha512-6KDRRz9XVrj9RxrBLC6dzfnb2TDl3CjIzcNpLdRuKFgzEEdwV+5D+EZuAQU3MuHG5pWTIwG72k/dmCbJ2MDPUQ==", - "requires": { - "@aws-sdk/is-array-buffer": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-hex-encoding": "3.23.0", - "@aws-sdk/util-uri-escape": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/smithy-client": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.27.0.tgz", - "integrity": "sha512-PpsSDUsRqw8HGuXv+AR2UzhVUJz4APM7K6Br8TTDPKvDwQtXkT5GROXRyAwU+htPcOHq006lS5EiF343y0HRvg==", - "requires": { - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/types": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.25.0.tgz", - "integrity": "sha512-vS0+cTKwj6CujlR07HmeEBxzWPWSrdmZMYnxn/QC9KW9dFu0lsyCGSCqWsFluI6GI0flsnYYWNkP5y4bfD9tqg==" - }, - "@aws-sdk/url-parser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.25.0.tgz", - "integrity": "sha512-qZ3Vq0NjHsE7Qq6R5NVRswIAsiyYjCDnAV+/Vt4jU/K0V3mGumiasiJyRyblW4Da8R6kfcJk0mHSMFRJfoHh8Q==", - "requires": { - "@aws-sdk/querystring-parser": "3.25.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-base64-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.23.0.tgz", - "integrity": "sha512-xlI/qw+uhLJWa3k0mRtRHQ42v5QzsMFEUXScredQMfJ/34qzXyocsG6OHPOTV1I8WSANrxnHR5m1Ae3iU6JuVw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-base64-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.23.0.tgz", - "integrity": "sha512-Kf8JIAUtjrPcD5CJzrig2B5CtegWswUNpW4zBarww/UJhHlp8WzKlCxxA+yNS1ghT0ZMjrRvxPabKDGpkyUfmQ==", - "requires": { - "@aws-sdk/util-buffer-from": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-body-length-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.23.0.tgz", - "integrity": "sha512-Bi6u/5omQbOBSB5BxqVvaPgVplLRjhhSuqK3XAukbeBPh7lcibIBdy7YvbhQyl4i8Hb2QjFnqqfzA0lNBe5eiw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-body-length-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.23.0.tgz", - "integrity": "sha512-8kSczloA78mikPaJ742SU9Wpwfcz3HOruoXiP/pOy69UZEsMe4P7zTZI1bo8BAp7j6IFUPCXth9E3UAtkbz+CQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-buffer-from": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.23.0.tgz", - "integrity": "sha512-axXy1FvEOM1uECgMPmyHF1S3Hd7JI+BerhhcAlGig0bbqUsZVQUNL9yhOsWreA+nf1v08Ucj8P2SHPCT9Hvpgg==", - "requires": { - "@aws-sdk/is-array-buffer": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-credentials": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.23.0.tgz", - "integrity": "sha512-6TDGZnFa0kZr+vSsWXXMfWt347jbMGKtzGnBxbrmiQgZMijz9s/wLYxsjglZ+CyqI/QrSMOTtqy6mEgJxdnGWQ==", - "requires": { - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-hex-encoding": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.23.0.tgz", - "integrity": "sha512-RFDCwNrJMmmPSMVRadxRNePqTXGwtL9s4844x44D0bbGg1TdC42rrg0PRKYkxFL7wd1FbibVQOzciZAvzF+Z+w==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-locate-window": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.23.0.tgz", - "integrity": "sha512-mM8kWW7SWIxCshkNllpYqCQi5SzwJ+sv5nURhtquOB5/H3qGqZm0V5lUE3qpE1AYmqKwk6qbGUy1woFn1T5nrw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-uri-escape": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.23.0.tgz", - "integrity": "sha512-SvQx2E/FDlI5vLT67wwn/k1j2R/G58tYj4Te6GNgEwPGL43X2+7c0+d/WTgndMaRvxSBHZMUTxBYh1HOeU7loA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-user-agent-browser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.25.0.tgz", - "integrity": "sha512-qGqiWfs49NRmQVXPsBXgMRVkjDZocicU0V2wak98e0t7TOI+KmP8hnwsTkE6c4KwhsFOOUhAzjn5zk3kOwi6tQ==", - "requires": { - "@aws-sdk/types": "3.25.0", - "bowser": "^2.11.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-user-agent-node": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.27.0.tgz", - "integrity": "sha512-jigZzAuhEnaLFeYEDGKQq8tas8OsT6qI7WAm/UnCXqtLhdnIu7u1yPhXk+TjI7SSn4Z6zP6Oh1qtFxzhpPmdoQ==", - "requires": { - "@aws-sdk/node-config-provider": "3.27.0", - "@aws-sdk/types": "3.25.0", - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-utf8-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.23.0.tgz", - "integrity": "sha512-fSB95AKnvCnAbCd7o0xLbErfAgD9wnLCaEu23AgfGAiaG3nFF8Z2+wtjebU/9Z4RI9d/x83Ho/yguRnJdkMsPA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@aws-sdk/util-utf8-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.23.0.tgz", - "integrity": "sha512-yao8+8okyfCxRvxZe3GBdO7lJnQEBf3P6rDgleOQD/0DZmMjOQGXCvDd42oagE2TegXhkUnJfVOZU2GqdoR0hg==", - "requires": { - "@aws-sdk/util-buffer-from": "3.23.0", - "tslib": "^2.3.0" - } - }, "@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", @@ -29231,11 +27803,6 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -31358,7 +29925,8 @@ "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true }, "envinfo": { "version": "7.8.1", @@ -32440,11 +31008,6 @@ } } }, - "fast-xml-parser": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", - "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" - }, "fastest-levenshtein": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", @@ -43069,7 +41632,8 @@ "tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true }, "tsutils": { "version": "3.21.0", @@ -43367,7 +41931,8 @@ "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true }, "v8-compile-cache": { "version": "2.3.0", diff --git a/client/package.json b/client/package.json index e014ad34..c637619e 100644 --- a/client/package.json +++ b/client/package.json @@ -38,7 +38,6 @@ "not Safari > 0" ], "dependencies": { - "@aws-sdk/client-secrets-manager": "^3.13.0", "@babel/eslint-parser": "^7.15.0", "@blueprintjs/core": "^3.44.0", "@blueprintjs/icons": "^3.19.0", diff --git a/client/server/development.js b/client/server/development.js index 25a44a77..dbbeca77 100644 --- a/client/server/development.js +++ b/client/server/development.js @@ -39,14 +39,6 @@ app.use( app.use(favicon("./favicon.png")); -app.get("/login", async (req, res) => { - try { - res.redirect(`${API.prefix}login?dataset=http://localhost:${CLIENT_PORT}`); - } catch (err) { - console.error(err); - } -}); - app.get("/logout", async (req, res) => { try { res.redirect(`${API.prefix}logout?dataset=http://localhost:${CLIENT_PORT}`); diff --git a/client/src/actions/index.js b/client/src/actions/index.js index c0fb7f48..5c5f495d 100644 --- a/client/src/actions/index.js +++ b/client/src/actions/index.js @@ -52,17 +52,6 @@ async function configFetch(dispatch) { }); } -async function userInfoFetch(dispatch) { - return fetchJson("userinfo").then((response) => { - const { userinfo: userInfo } = response || {}; - dispatch({ - type: "userInfo load complete", - userInfo, - }); - return userInfo; - }); -} - async function genesetsFetch(dispatch, config) { /* request genesets ONLY if the backend supports the feature */ const defaultResponse = { @@ -105,7 +94,6 @@ const doInitialDataLoad = () => configFetch(dispatch), schemaFetch(dispatch), userColorsFetchAndLoad(dispatch), - userInfoFetch(dispatch), ]); genesetsFetch(dispatch, config); diff --git a/client/src/components/autosave/filenameDialog.js b/client/src/components/autosave/filenameDialog.js index 83f91eb0..94b2bada 100644 --- a/client/src/components/autosave/filenameDialog.js +++ b/client/src/components/autosave/filenameDialog.js @@ -14,8 +14,6 @@ import { @connect((state) => ({ idhash: state.config?.parameters?.["annotations-user-data-idhash"] ?? null, annotations: state.annotations, - auth: state.config?.authentication, - userInfo: state.userInfo, writableCategoriesEnabled: state.config?.parameters?.annotations ?? false, writableGenesetsEnabled: !( state.config?.parameters?.annotations_genesets_readonly ?? true @@ -101,15 +99,13 @@ class FilenameDialog extends React.Component { writableGenesetsEnabled, annotations, idhash, - userInfo, } = this.props; const { filenameText } = this.state; return (writableCategoriesEnabled || writableGenesetsEnabled) && annotations.promptForFilename && !annotations.dataCollectionNameIsReadOnly && - !annotations.dataCollectionName && - userInfo.is_authenticated ? ( + !annotations.dataCollectionName ? ( ({ writableCategoriesEnabled: state.config?.parameters?.annotations ?? false, schema: state.annoMatrix?.schema, - userInfo: state.userInfo, })) class Categories extends React.Component { constructor(props) { @@ -98,11 +97,8 @@ class Categories extends React.Component { this.setState({ newCategoryText: name }); }; - instruction = (name) => labelPrompt( - this.categoryNameError(name), - "New, unique category name", - ":" - ); + instruction = (name) => + labelPrompt(this.categoryNameError(name), "New, unique category name", ":"); onExpansionChange = (catName) => { const { expandedCats } = this.state; @@ -124,7 +120,7 @@ class Categories extends React.Component { newCategoryText, expandedCats, } = this.state; - const { writableCategoriesEnabled, schema, userInfo } = this.props; + const { writableCategoriesEnabled, schema } = this.props; /* all names, sorted in display order. Will be rendered in this order */ const allCategoryNames = ControlsHelpers.selectableCategoryNames(schema).sort(); @@ -174,11 +170,7 @@ class Categories extends React.Component { {writableCategoriesEnabled ? (
Create new category diff --git a/client/src/components/menubar/authButtons.js b/client/src/components/menubar/authButtons.js deleted file mode 100644 index 91af0b42..00000000 --- a/client/src/components/menubar/authButtons.js +++ /dev/null @@ -1,175 +0,0 @@ -import React, { useState } from "react"; - -import { - AnchorButton, - Button, - MenuItem, - Tooltip, - Popover, - Menu, - Elevation, - PopoverPosition, - Checkbox, - Card, -} from "@blueprintjs/core"; - -import { IconNames } from "@blueprintjs/icons"; - -import * as globals from "../../globals"; - -import styles from "./menubar.css"; - -import { storageGet, storageSet, KEYS } from "../util/localStorage"; - -const BASE_EMOJI = [0x1f9d1, 0x1f468, 0x1f469]; -const SKIN_TONES = [0x1f3fb, 0x1f3fc, 0x1f3fd, 0x1f3fe, 0x1f3ff]; -const MICROSCOPE = 0x1f52c; -const ZERO_WIDTH_JOINER = 0x0200d; - -const LOGIN_PROMPT_OFF = "off"; - -const Auth = React.memo((props) => { - const [isPromptOpen, setIsPromptOpen] = useState(shouldShowPrompt()); - - const { auth, userInfo } = props; - - const isAuthenticated = userInfo && userInfo.is_authenticated; - - window.userInfo = userInfo; - - const randomInt = Math.random() * 15; - const sexIndex = Math.floor(randomInt / 5); - const skinToneIndex = Math.floor(randomInt % 5); - - const scientist = String.fromCodePoint( - BASE_EMOJI[sexIndex], - SKIN_TONES[skinToneIndex], - ZERO_WIDTH_JOINER, - MICROSCOPE - ); - - if (!shouldShowAuth()) return null; - - if (isAuthenticated) { - const PopoverContent = ( - - - - - ); - - return ( - - - - ); - } - - const LoginButton = ( - - - Log In - - - ); - - if (isPromptOpen) { - return ( - } - onInteraction={setIsPromptOpen} - > - {LoginButton} - - ); - } - - return LoginButton; - - function shouldShowAuth() { - return auth && auth.requires_client_login; - } - - function shouldShowPrompt() { - if (storageGet(KEYS.LOGIN_PROMPT) === LOGIN_PROMPT_OFF) return false; - - return shouldShowAuth && !isAuthenticated; - } -}); - -function PromptContent({ setIsPromptOpen }) { - const [isChecked, setIsChecked] = useState(false); - - function handleOKClick() { - if (isChecked) { - storageSet(KEYS.LOGIN_PROMPT, LOGIN_PROMPT_OFF); - } - - setIsPromptOpen(false); - } - - function handleCheckboxChange() { - setIsChecked(!isChecked); - } - - return ( - -

- Logging in will enable you to create your own categories and labels. - Logging in later will reset cellxgene to the default view and cause you - to lose progress. -

- - Do not show me this message again - -
- -
-
- ); -} - -export default Auth; diff --git a/client/src/components/menubar/index.js b/client/src/components/menubar/index.js index 0a6a1047..03b41659 100644 --- a/client/src/components/menubar/index.js +++ b/client/src/components/menubar/index.js @@ -7,7 +7,6 @@ import styles from "./menubar.css"; import actions from "../../actions"; import Clip from "./clip"; -import AuthButtons from "./authButtons"; import Subset from "./subset"; import UndoRedoReset from "./undoRedo"; import DiffexpButtons from "./diffexpButtons"; @@ -36,8 +35,6 @@ import { getEmbSubsetView } from "../../util/stateManager/viewStackHelpers"; scatterplotXXaccessor: state.controls.scatterplotXXaccessor, scatterplotYYaccessor: state.controls.scatterplotYYaccessor, libraryVersions: state.config?.library_versions, - auth: state.config?.authentication, - userInfo: state.userInfo, undoDisabled: state["@@undoable/past"].length === 0, redoDisabled: state["@@undoable/future"].length === 0, aboutLink: state.config?.links?.["about-dataset"], @@ -209,8 +206,6 @@ class MenuBar extends React.PureComponent { colorAccessor, subsetPossible, subsetResetPossible, - userInfo, - auth, } = this.props; const { pendingClipPercentiles } = this.state; @@ -236,7 +231,6 @@ class MenuBar extends React.PureComponent { zIndex: 3, }} > - { - switch (action.type) { - case "initial data load start": - return { - ...state, - loading: true, - error: null, - }; - case "userInfo load complete": - return { - ...state, - loading: false, - error: null, - ...action.userInfo, - }; - case "initial data load error": - return { - ...state, - error: action.error, - }; - default: - return state; - } -}; - -export default UserInfo;