From d6f4424bdf86b8e6ec5fe72970569440313216d8 Mon Sep 17 00:00:00 2001 From: Jon Holman <9025884+JonHolman@users.noreply.github.com> Date: Fri, 27 Dec 2024 09:23:10 -0500 Subject: [PATCH] Remove Cypress --- .codeclimate.yml | 1 - .env.tpl | 8 +- .eslintignore | 2 - .eslintrc.yaml | 4 +- .github/workflows/audit-account.yml | 1 - .github/workflows/deploy.yml | 85 +- .gitignore | 4 - .pre-commit-config.yaml | 1 - README.md | 8 - package.json | 4 - services/ui-auth/libs/users.json | 12 +- tests/README.md | 38 - tests/cypress.config.js | 44 - tests/cypress/e2e/accessibility/admin.cy.js | 8 - tests/cypress/e2e/accessibility/help.cy.js | 21 - tests/cypress/e2e/accessibility/home.cy.js | 21 - tests/cypress/e2e/accessibility/profile.cy.js | 21 - tests/cypress/e2e/footer.cy.js | 28 - tests/cypress/e2e/home.cy.js | 18 - tests/cypress/e2e/login.cy.js | 10 - tests/cypress/e2e/profile.cy.js | 30 - tests/cypress/e2e/sar/sar.cy.js | 147 --- tests/cypress/e2e/wp/dashboard.cy.js | 66 - tests/cypress/e2e/wp/form.cy.js | 149 --- tests/cypress/support/commands.js | 209 --- tests/cypress/support/e2e.js | 2 - tests/cypress/support/form.js | 215 --- tests/package.json | 9 +- tests/yarn.lock | 1170 +---------------- yarn.lock | 69 +- 30 files changed, 25 insertions(+), 2380 deletions(-) delete mode 100644 .eslintignore delete mode 100644 tests/README.md delete mode 100644 tests/cypress.config.js delete mode 100644 tests/cypress/e2e/accessibility/admin.cy.js delete mode 100644 tests/cypress/e2e/accessibility/help.cy.js delete mode 100644 tests/cypress/e2e/accessibility/home.cy.js delete mode 100644 tests/cypress/e2e/accessibility/profile.cy.js delete mode 100644 tests/cypress/e2e/footer.cy.js delete mode 100644 tests/cypress/e2e/home.cy.js delete mode 100644 tests/cypress/e2e/login.cy.js delete mode 100644 tests/cypress/e2e/profile.cy.js delete mode 100644 tests/cypress/e2e/sar/sar.cy.js delete mode 100644 tests/cypress/e2e/wp/dashboard.cy.js delete mode 100644 tests/cypress/e2e/wp/form.cy.js delete mode 100644 tests/cypress/support/commands.js delete mode 100644 tests/cypress/support/e2e.js delete mode 100644 tests/cypress/support/form.js diff --git a/.codeclimate.yml b/.codeclimate.yml index b573ac581..4f5cb2670 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -23,7 +23,6 @@ exclude_patterns: - "**/node_modules/" - ".github/" - ".images/" - - "cypress/" - "plugins/" - "src/" - "services/database/" diff --git a/.env.tpl b/.env.tpl index 555918de0..d2b38bfbd 100755 --- a/.env.tpl +++ b/.env.tpl @@ -28,10 +28,10 @@ VPC_SUBNET_C=local-nonsense BROKER_STRINGS=local-nonsense # needed for e2e tests -CYPRESS_ADMIN_USER_EMAIL=op://mdct_devs/mfp_secrets/CYPRESS_ADMIN_USER_EMAIL -CYPRESS_ADMIN_USER_PASSWORD=op://mdct_devs/mfp_secrets/CYPRESS_ADMIN_USER_PASSWORD # pragma: allowlist secret -CYPRESS_STATE_USER_EMAIL=op://mdct_devs/mfp_secrets/CYPRESS_STATE_USER_EMAIL -CYPRESS_STATE_USER_PASSWORD=op://mdct_devs/mfp_secrets/CYPRESS_STATE_USER_PASSWORD # pragma: allowlist secret +E2E_ADMIN_USER_EMAIL=op://mdct_devs/mfp_secrets/E2E_ADMIN_USER_EMAIL +E2E_ADMIN_USER_PASSWORD=op://mdct_devs/mfp_secrets/E2E_ADMIN_USER_PASSWORD # pragma: allowlist secret +E2E_STATE_USER_EMAIL=op://mdct_devs/mfp_secrets/E2E_STATE_USER_EMAIL +E2E_STATE_USER_PASSWORD=op://mdct_devs/mfp_secrets/E2E_STATE_USER_PASSWORD # pragma: allowlist secret # db:seed SEED_ADMIN_USER_EMAIL=op://mdct_devs/mfp_secrets/SEED_ADMIN_USER_EMAIL diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 5f3876a66..000000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -cypress/plugins/**/* -tests/cypress/plugins/**/* \ No newline at end of file diff --git a/.eslintrc.yaml b/.eslintrc.yaml index 5396db71a..7387fa60f 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -3,12 +3,10 @@ env: es6: true node: true jest/globals: true - cypress/globals: true parser: '@typescript-eslint/parser' plugins: - '@typescript-eslint' - 'jest' - - 'cypress' parserOptions: ecmaVersion: 6 sourceType: module @@ -30,4 +28,4 @@ rules: no-extra-semi: error multiline-comment-style: - error - - starred-block \ No newline at end of file + - starred-block diff --git a/.github/workflows/audit-account.yml b/.github/workflows/audit-account.yml index 06d750394..f7f44f0f7 100644 --- a/.github/workflows/audit-account.yml +++ b/.github/workflows/audit-account.yml @@ -34,7 +34,6 @@ jobs: with: path: | **/node_modules - ~/.cache/Cypress key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock', 'plugins/**') }} - name: set path run: | diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d5c1f8f1e..f47a6da3a 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -32,7 +32,6 @@ jobs: with: path: | **/node_modules - ~/.cache/Cypress key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock', 'plugins/**') }} - name: set path run: | @@ -92,7 +91,6 @@ jobs: with: path: | **/node_modules - ~/.cache/Cypress key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock', 'plugins/**') }} - name: set path run: | @@ -202,76 +200,6 @@ jobs: ipset_name: ${{ steps.fetch-ip-set-info.outputs.IPSET_NAME }} ipset_id: ${{ steps.fetch-ip-set-info.outputs.IPSET_ID }} - e2e-test: - name: E2E Integration Tests - needs: - - deploy - - register-runner - if: ${{ always() && !cancelled() && needs.deploy.result == 'success' && github.ref_name != 'production' }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Run Cypress Tests - uses: cypress-io/github-action@v6 - with: - working-directory: tests - spec: | - cypress/e2e/wp/*.cy.js - cypress/e2e/sar/*.cy.js - cypress/e2e/*.cy.js - browser: chrome - config: baseUrl=${{ needs.deploy.outputs.application_endpoint }} - wait-on: ${{ needs.deploy.outputs.application_endpoint }} - env: true - env: - CYPRESS_STATE_USER_EMAIL: ${{ secrets.CYPRESS_STATE_USER_EMAIL }} - CYPRESS_STATE_USER_PASSWORD: ${{ secrets.CYPRESS_STATE_USER_PASSWORD }} - CYPRESS_ADMIN_USER_EMAIL: ${{ secrets.CYPRESS_ADMIN_USER_EMAIL }} - CYPRESS_ADMIN_USER_PASSWORD: ${{ secrets.CYPRESS_ADMIN_USER_PASSWORD }} - - name: Upload screenshots - uses: actions/upload-artifact@v4 - if: failure() - with: - name: cypress-test-results - path: | - ${{github.workspace}}/tests/screenshots/ - ${{github.workspace}}/tests/videos/ - retention-days: 14 - - a11y-tests: - name: E2E A11y Tests - needs: - - deploy - - register-runner - if: ${{ always() && !cancelled() && needs.deploy.result == 'success' && github.ref_name != 'production' }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Check Project A11y - uses: cypress-io/github-action@v6 - with: - working-directory: tests - spec: cypress/e2e/accessibility/*.cy.js - browser: chrome - config: baseUrl=${{ needs.deploy.outputs.application_endpoint }} - wait-on: ${{ needs.deploy.outputs.application_endpoint }} - env: true - env: - CYPRESS_STATE_USER_EMAIL: ${{ secrets.CYPRESS_STATE_USER_EMAIL }} - CYPRESS_STATE_USER_PASSWORD: ${{ secrets.CYPRESS_STATE_USER_PASSWORD }} - CYPRESS_ADMIN_USER_EMAIL: ${{ secrets.CYPRESS_ADMIN_USER_EMAIL }} - CYPRESS_ADMIN_USER_PASSWORD: ${{ secrets.CYPRESS_ADMIN_USER_PASSWORD }} - - name: Upload screenshots - uses: actions/upload-artifact@v4 - if: failure() - with: - name: a11y-test-results - path: | - ${{github.workspace}}/tests/screenshots/ - ${{github.workspace}}/tests/videos/ - retention-days: 14 - - test: name: Playwright Tests needs: @@ -301,10 +229,10 @@ jobs: continue-on-error: true env: BASE_URL: ${{ needs.deploy.outputs.application_endpoint }} - CYPRESS_STATE_USER_EMAIL: ${{ secrets.CYPRESS_STATE_USER_EMAIL }} - CYPRESS_STATE_USER_PASSWORD: ${{ secrets.CYPRESS_STATE_USER_PASSWORD }} - CYPRESS_ADMIN_USER_EMAIL: ${{ secrets.CYPRESS_ADMIN_USER_EMAIL }} - CYPRESS_ADMIN_USER_PASSWORD: ${{ secrets.CYPRESS_ADMIN_USER_PASSWORD }} + E2E_STATE_USER_EMAIL: ${{ secrets.E2E_STATE_USER_EMAIL }} + E2E_STATE_USER_PASSWORD: ${{ secrets.E2E_STATE_USER_PASSWORD }} + E2E_ADMIN_USER_EMAIL: ${{ secrets.E2E_ADMIN_USER_EMAIL }} + E2E_ADMIN_USER_PASSWORD: ${{ secrets.E2E_ADMIN_USER_PASSWORD }} SEED_ADMIN_USER_EMAIL: ${{ secrets.SEED_ADMIN_USER_EMAIL }} SEED_ADMIN_USER_PASSWORD: ${{ secrets.SEED_ADMIN_USER_PASSWORD }} SEED_STATE_USER_EMAIL: ${{ secrets.SEED_STATE_USER_EMAIL }} @@ -348,10 +276,10 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./downloaded-html-report # publish downloaded dir to github pages destination_dir: ${{ steps.timestampid.outputs.timestamp }} - # need to extract just org name for reassembling the github pages URL + # need to extract just org name for reassembling the github pages URL - name: Extract Organization Name id: extract-org - run: | + run: | echo "ORG_NAME=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1)" >> $GITHUB_ENV echo "org name: ${ORG_NAME}" # need to extract just the repo name for reassembling the github pages URL @@ -366,7 +294,6 @@ jobs: echo "## Playwright Test Results" >> $GITHUB_STEP_SUMMARY echo "https://${ORG_NAME}.github.io/${REPO_NAME}/${{ steps.timestampid.outputs.timestamp }}/" >> $GITHUB_STEP_SUMMARY - cleanup: name: Delist GHA Runner CIDR Blocks if: ${{ github.ref_name != 'main' && github.ref_name != 'val' && github.ref_name != 'production' }} diff --git a/.gitignore b/.gitignore index 9c56beeeb..3189efded 100644 --- a/.gitignore +++ b/.gitignore @@ -11,10 +11,6 @@ services/uploads/local_buckets /.env tests_output *.log -tests/cypress/videos -tests/cypress/screenshots -tests/cypress/downloads -tests/cypress/package-lock.json package-lock.json .vscode/ *._S3rver_cors.xml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bed55f249..96a5d1d26 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,7 +25,6 @@ repos: - "@typescript-eslint/parser" - "@typescript-eslint/eslint-plugin" - "eslint-plugin-jest" - - "eslint-plugin-cypress" - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.3.1 hooks: diff --git a/README.md b/README.md index 078b5a7a1..d106a8e9b 100644 --- a/README.md +++ b/README.md @@ -128,18 +128,12 @@ Live reload all tests yarn test --watch ``` -### Integration Testing - -We use Cypress for integration tests. See additional info [here in the Cypress readme](./tests/cypress/README.md) - ### Accessibility Testing We use [axe](https://www.deque.com/axe/) and [pa11y](https://github.com/pa11y/pa11y) for primary accessibility testing. Unit tests can use [jest-axe](https://github.com/nickcolley/jest-axe), [pa11y](https://github.com/pa11y/pa11y), and [HTML Code Sniffer](https://squizlabs.github.io/HTML_CodeSniffer/). -Integration tests can use [cypress-axe](https://github.com/component-driven/cypress-axe) and [cypress-audit/pa11y](https://mfrachet.github.io/cypress-audit/guides/pa11y/installation.html). - ### Prettier and ESLint We use Prettier to format all code. This runs as part of a Git Hook and invalid formats in changed files will cause the deploy to fail. If you followed the instructions above this is already installed and configured. @@ -158,8 +152,6 @@ ESLint works in a similar manner for all code linting. On a push to the repository or opening a pull request the [deploy.yml](https://github.com/Enterprise-CMCS/macpro-mdct-mfp/blob/main/.github/workflows/deploy.yml) file runs. This script sets up and does a number of things. For a simple push it's mostly checking code coverage. -Upon opening a pull request into the main branch the scripts will also trigger a Cypress E2E and an A11y step to ensure that the code quality is still passing the End-to-End and accessibility tests. - ## Deployments This application is built and deployed via GitHub Actions. diff --git a/package.json b/package.json index 57778327b..a8b221e36 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,6 @@ }, "scripts": { "db:seed": "cd services/app-api && yarn run db:seed", - "test": "cd tests/cypress && npm test && cd -", - "test:ci": "cd tests/cypress && yarn run test:ci", "test:e2e": "playwright test", "test:e2e-ui": "playwright test --ui" }, @@ -43,8 +41,6 @@ "dotenv": "^8.2.0", "eslint": "^8.33.0", "eslint-config-airbnb": "^19.0.4", - "eslint-plugin-cypress": "^2.12.1", - "eslint-plugin-import": "^2.x", "eslint-plugin-jest": "^26.1.3", "eslint-plugin-jsx-a11y": "^6.x", "eslint-plugin-react": "^7.24.0", diff --git a/services/ui-auth/libs/users.json b/services/ui-auth/libs/users.json index 83341d1af..09ef170ae 100644 --- a/services/ui-auth/libs/users.json +++ b/services/ui-auth/libs/users.json @@ -303,15 +303,15 @@ ] }, { - "username": "cypressadminuser@test.com", + "username": "e2eadminuser@test.com", "attributes": [ { "Name": "email", - "Value": "cypressadminuser@test.com" + "Value": "e2eadminuser@test.com" }, { "Name": "given_name", - "Value": "CypressAutomatedIntegrationTests" + "Value": "E2EAutomatedIntegrationTests" }, { "Name": "family_name", @@ -328,15 +328,15 @@ ] }, { - "username": "cypressstateuser@test.com", + "username": "e2estateuser@test.com", "attributes": [ { "Name": "email", - "Value": "cypressstateuser@test.com" + "Value": "e2estateuser@test.com" }, { "Name": "given_name", - "Value": "CypressAutomatedIntegrationTests" + "Value": "E2EAutomatedIntegrationTests" }, { "Name": "family_name", diff --git a/tests/README.md b/tests/README.md deleted file mode 100644 index ce281124f..000000000 --- a/tests/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Cypress Testing - -[Cypress](https://www.cypress.io/features) is an open source testing tool. - -## Getting Started - -1. The `scripts` section defines 2 jobs: - - `yarn test` - - runs two parallel processes: - 1. `yarn start`, which is a wrapper to `./run local`, and runs the local application - 1. `yarn cypress`, which opens cypress using chrome against the local instance - - `yarn test:ci` - - to be run in pipelines/actions - - runs cypress headless against the branch-specific instance of the application - - can also be used locally to run the test suite in the terminal (requires you to run ./run local separately) - -## Configuration - -`cypress.config.js` may use any of [these](https://docs.cypress.io/guides/references/configuration#Global) config options. - -## Running tests - -To run cypress tests locally you will go to the root of the project and you'll need an upadated .env with variables for the state user and admin user passwords. To accomplish this ther are multiple options. - -1. If you have a 1Password account and 1Password CLI installed locally you can run -`./run update-env` to pull values from 1Password and create an updated .env - -2. Alternatively, if you do not have a 1Password account you can copy the contents of the `.env.tpl` file to a `.env` file at the top level of the repo and reach out to the team for appropriate values to be populated by hand. - -3. When you have an updated `.env` file can run tests from the top level of the repo using the `yarn test` command. - - -## Troubleshooting - -If you run into errors after trying to run the cypress test command: - -- run `yarn` in this folder -- run `nvm use` in the root directory diff --git a/tests/cypress.config.js b/tests/cypress.config.js deleted file mode 100644 index 53c7894d0..000000000 --- a/tests/cypress.config.js +++ /dev/null @@ -1,44 +0,0 @@ -const { defineConfig } = require("cypress"); -require("dotenv").config({ path: "../.env" }); - -module.exports = defineConfig({ - experimentalStudio: true, - redirectionLimit: 20, - retries: 2, - watchForFileChanges: true, - fixturesFolder: "fixtures", - screenshotsFolder: "screenshots", - videosFolder: "videos", - downloadsFolder: "downloads", - types: ["cypress", "cypress-axe"], - video: true, - env: { - STATE_USER_EMAIL: process.env.CYPRESS_STATE_USER_EMAIL, - ADMIN_USER_EMAIL: process.env.CYPRESS_ADMIN_USER_EMAIL, - // pragma: allowlist nextline secret - ADMIN_USER_PASSWORD: process.env.CYPRESS_ADMIN_USER_PASSWORD, - // pragma: allowlist nextline secret - STATE_USER_PASSWORD: process.env.CYPRESS_STATE_USER_PASSWORD, - }, - e2e: { - baseUrl: "http://localhost:3000/", - testIsolation: false, - experimentalRunAllSpecs: true, - setupNodeEvents(on, _config) { - on("task", { - log(message) { - // eslint-disable-next-line no-console - console.log(message); - - return null; - }, - table(message) { - // eslint-disable-next-line no-console - console.table(message); - - return null; - }, - }); - }, - }, -}); diff --git a/tests/cypress/e2e/accessibility/admin.cy.js b/tests/cypress/e2e/accessibility/admin.cy.js deleted file mode 100644 index 7c29e60cb..000000000 --- a/tests/cypress/e2e/accessibility/admin.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -describe("Admin Page - Accessibility Test", () => { - it("is accessible on all device types for admin user", () => { - cy.authenticate("adminUser"); - cy.visit("/admin"); - cy.get("h1"); // ensure page loaded - cy.testPageAccessibility(); - }); -}); diff --git a/tests/cypress/e2e/accessibility/help.cy.js b/tests/cypress/e2e/accessibility/help.cy.js deleted file mode 100644 index 199927187..000000000 --- a/tests/cypress/e2e/accessibility/help.cy.js +++ /dev/null @@ -1,21 +0,0 @@ -describe("Help Page - Accessibility Test", () => { - it("is accessible on all device types for admin user", () => { - cy.authenticate("adminUser"); - - cy.visit("/help"); - cy.get("h1"); // ensure page loaded - cy.location("pathname").should("match", /help/); - - cy.testPageAccessibility(); - }); - - it("is accessible on all device types for state user", () => { - cy.authenticate("stateUser"); - - cy.visit("/help"); - cy.get("h1"); // ensure page loaded - cy.location("pathname").should("match", /help/); - - cy.testPageAccessibility(); - }); -}); diff --git a/tests/cypress/e2e/accessibility/home.cy.js b/tests/cypress/e2e/accessibility/home.cy.js deleted file mode 100644 index b5f5307aa..000000000 --- a/tests/cypress/e2e/accessibility/home.cy.js +++ /dev/null @@ -1,21 +0,0 @@ -describe("Home Page - Accessibility Test", () => { - it("Is assessible when not logged in", () => { - cy.visit("/"); - cy.get("h1"); // ensure page loaded - cy.testPageAccessibility(); - }); - - it("is accessible on all device types for admin user", () => { - cy.authenticate("adminUser"); - - cy.get("h1"); // ensure page loaded - cy.testPageAccessibility(); - }); - - it("is accessible on all device types for state user", () => { - cy.authenticate("stateUser"); - - cy.get("h1"); // ensure page loaded - cy.testPageAccessibility(); - }); -}); diff --git a/tests/cypress/e2e/accessibility/profile.cy.js b/tests/cypress/e2e/accessibility/profile.cy.js deleted file mode 100644 index e92559ca2..000000000 --- a/tests/cypress/e2e/accessibility/profile.cy.js +++ /dev/null @@ -1,21 +0,0 @@ -describe("Profile Page - Accessibility Test", () => { - it("is accessible on all device types for admin user", () => { - cy.authenticate("adminUser"); - - cy.visit("/profile"); - cy.get("h1"); // ensure page loaded - cy.location("pathname").should("match", /profile/); - - cy.testPageAccessibility(); - }); - - it("is accessible on all device types for state user", () => { - cy.authenticate("stateUser"); - - cy.visit("/profile"); - cy.get("h1"); // ensure page loaded - cy.location("pathname").should("match", /profile/); - - cy.testPageAccessibility(); - }); -}); diff --git a/tests/cypress/e2e/footer.cy.js b/tests/cypress/e2e/footer.cy.js deleted file mode 100644 index 84dfc9126..000000000 --- a/tests/cypress/e2e/footer.cy.js +++ /dev/null @@ -1,28 +0,0 @@ -// element selectors -const helpLinkText = "Contact Us"; -const accessibilityStatementLinkText = "Accessibility Statement"; - -beforeEach(() => { - cy.authenticate("stateUser"); -}); - -afterEach(() => { - cy.navigateToHomePage(); -}); - -describe("Footer integration tests", () => { - it("Footer help link navigates to /help", () => { - cy.contains(helpLinkText).click(); - cy.location("pathname").should("match", /help/); - }); - - it("Footer accessibility statement link navigates to the right external URL", () => { - cy.get( - 'a[href="https://www.cms.gov/About-CMS/Agency-Information/Aboutwebsite/CMSNondiscriminationNotice"]' - ).contains(accessibilityStatementLinkText); - - cy.contains(accessibilityStatementLinkText).then((link) => { - cy.request(link.prop("href")).its("status").should("eq", 200); - }); - }); -}); diff --git a/tests/cypress/e2e/home.cy.js b/tests/cypress/e2e/home.cy.js deleted file mode 100644 index cb8752ec2..000000000 --- a/tests/cypress/e2e/home.cy.js +++ /dev/null @@ -1,18 +0,0 @@ -// element selectors -const templateCardAccordionVerbiage = "When is the MFP Work Plan due?"; -const templateCardAccordionContent = "The MFP Work Plan will be created"; - -beforeEach(() => { - cy.authenticate("stateUser"); -}); - -afterEach(() => { - cy.navigateToHomePage(); -}); - -describe("Homepage integration tests", () => { - it("Clicking accordion expander opens accordion", () => { - cy.contains(templateCardAccordionVerbiage).first().click(); - cy.contains(templateCardAccordionContent).should("be.visible"); - }); -}); diff --git a/tests/cypress/e2e/login.cy.js b/tests/cypress/e2e/login.cy.js deleted file mode 100644 index c37aaca67..000000000 --- a/tests/cypress/e2e/login.cy.js +++ /dev/null @@ -1,10 +0,0 @@ -// TODO: make an assertion in these tests -describe("login spec", () => { - it("admin user", () => { - cy.authenticate("adminUser"); - }); - - it("state user", () => { - cy.authenticate("stateUser"); - }); -}); diff --git a/tests/cypress/e2e/profile.cy.js b/tests/cypress/e2e/profile.cy.js deleted file mode 100644 index 0845b48cf..000000000 --- a/tests/cypress/e2e/profile.cy.js +++ /dev/null @@ -1,30 +0,0 @@ -// element selectors -const menuButton = '[aria-label="my account"'; -const menuOptionManageAccount = - '[data-testid="header-menu-option-manage-account"]'; -const adminButton = 'button:contains("Banner Editor")'; - -describe("Profile integration tests", () => { - it("Allows admin user to navigate to /admin", () => { - cy.authenticate("adminUser"); - - cy.get(menuButton).click(); - cy.get(menuOptionManageAccount).click(); - cy.location("pathname").should("match", /profile/); - - cy.get(adminButton).click(); - cy.location("pathname").should("match", /admin/); - }); - - it("Disallows state user to navigate to /admin (redirects to /profile)", () => { - cy.authenticate("stateUser"); - - cy.get(menuButton).click(); - cy.get(menuOptionManageAccount).click(); - cy.location("pathname").should("match", /profile/); - cy.get(adminButton).should("not.exist"); - - cy.visit("/admin"); - cy.location("pathname").should("match", /profile/); - }); -}); diff --git a/tests/cypress/e2e/sar/sar.cy.js b/tests/cypress/e2e/sar/sar.cy.js deleted file mode 100644 index 0cdac4b6c..000000000 --- a/tests/cypress/e2e/sar/sar.cy.js +++ /dev/null @@ -1,147 +0,0 @@ -// Feature: SAR E2E Form Create -import wpTemplate from "../../../../services/app-api/forms/wp.json"; -import { traverseRoutes } from "../../support/form"; - -const currentYear = new Date().getFullYear(); - -describe.skip("Create SAR from Approved WP", () => { - it("State users can create Work Plans", () => { - cy.archiveAnyExistingWorkPlans(); - cy.authenticate("stateUser"); - - //Given I've logged in - cy.url().should("include", "/"); - - //And I enter the Work Plan Dashboard - cy.contains("Enter Work Plan online").click(); - cy.url().should("include", "/wp"); - - //When I click the create Work Plan Button and create a WP - cy.contains("Start MFP Work Plan").click(); - cy.get(`[id="reportYear-${currentYear}"]`).check(); - cy.get(`[id="reportPeriod-1"]`).check(); - - cy.contains("Start new").click(); - - //Then there is a new Workplan with the title - cy.contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1`, - { matchCase: true } - ).should("be.visible"); - //Find our new program and open it - cy.get("table").within(() => { - cy.get("tr") - .as("workplan") - .contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1` - ); - cy.get("@workplan").as("workplancontainer"); - cy.get("@workplancontainer") - .find('button:contains("Edit")') - .as("editbutton"); - cy.get("@editbutton").focus(); - cy.get("@editbutton").click(); - }); - - //Using the json as a guide, traverse all the routes/forms and fill it out dynamically - const template = wpTemplate; - traverseRoutes(template.routes); - - cy.url().should("include", "/review-and-submit"); - - // Confirm form is submittable - cy.get('div[role*="alert"]').should("not.exist"); - cy.get(`button:contains("Submit")`).should("not.be.disabled"); - - //Submit the program - cy.get(`button:contains("Submit")`).focus().click(); - cy.get('[data-testid="modal-submit-button"]').focus().click(); - - cy.contains("Successfully Submitted").should("be.visible"); - }); - - it("Admin users can approve a Work Plan submission", () => { - cy.authenticate("adminUser"); - cy.navigateToHomePage(); - cy.get( - '[aria-label="List of states, including District of Columbia and Puerto Rico"]' - ).select("DC"); - cy.get('[id="report-WP"]').click(); - cy.contains("Go to Report Dashboard").click(); - cy.wait(3000); - - //There is a new submitted Workplan with the title - cy.contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1`, - { matchCase: true } - ).should("be.visible"); - - //Find our new program and open it - cy.get("table").within(() => { - cy.get("tr") - .as("workplan") - .contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1` - ); - cy.get("@workplan").as("workplancontainer"); - cy.get("@workplancontainer") - .find('button:contains("View")') - .as("viewButton"); - cy.get("@viewButton").first().focus(); - cy.get("@viewButton").first().click(); - }); - - cy.get("p:contains('Review & Submit')").click(); - - cy.url().should("include", "/review-and-submit"); - - cy.get(`button:contains("Approve")`).eq(0).focus().click(); - cy.wait(1500); - - cy.get("input").type("APPROVE"); - - cy.get(`button:contains("Approve")`).eq(1).focus().click(); - }); - - it("State user can create SAR", () => { - cy.archiveAnyExistingSAR(); - cy.wait(2000); - cy.authenticate("stateUser"); - cy.wait(2000); - - // go back to dashboard - cy.visit("/"); - - cy.wait(2000); - cy.get(`button:contains("Enter SAR online")`).focus().click(); - cy.wait(2000); - cy.get(`button:contains("Add new MFP SAR submission")`).focus().click(); - cy.wait(2000); - cy.get('[type="radio"]').check("No"); - cy.wait(2000); - cy.get('button:contains("Save")').focus().click(); - cy.wait(5000); - cy.get('button:contains("Edit")').focus().click(); - }); - - it("Fill out SAR General Information", () => { - cy.get("#generalInformation_MfpOperatingOrganizationName").type( - "input text" - ); - cy.get("#generalInformation_stateTerritoryMedicaidAgency").type( - "input text" - ); - cy.get("#generalInformation_mfpProgramPublicName").type("input text"); - cy.get("#generalInformation_mfpProgramWebsite").type("https://google.com"); - cy.get("#generalInformation_aorName").type("input text"); - cy.get("#generalInformation_aorTitleAgency").type("input text"); - cy.get("#generalInformation_aorEmail").type("test@gmail.com"); - cy.get('[type="radio"]').check("No"); - cy.get("#generalInformation_projectDirectorName").type("test@gmail.com"); - cy.get("#generalInformation_projectDirectorTitle").type("input text"); - cy.get("#generalInformation_projectDirectorEmail").type("test@gmail.com"); - cy.get("#generalInformation_cmsProjectOfficerName").type("input text"); - - cy.get('button:contains("Continue")').focus().click(); - }); -}); diff --git a/tests/cypress/e2e/wp/dashboard.cy.js b/tests/cypress/e2e/wp/dashboard.cy.js deleted file mode 100644 index e65ce46cc..000000000 --- a/tests/cypress/e2e/wp/dashboard.cy.js +++ /dev/null @@ -1,66 +0,0 @@ -const currentYear = new Date().getFullYear(); - -describe("MFP Work Plan Dashboard Page - Report Creation/Archiving", () => { - describe("MFP Work Plan Dashboard Page - State User Report Creation", () => { - it("State users can create Work Plans", () => { - cy.archiveAnyExistingWorkPlans(); - cy.authenticate("stateUser"); - - //Given I've logged in - cy.url().should("include", "/"); - - //And I enter the Work Plan Dashboard - cy.contains("Enter Work Plan online").click(); - cy.url().should("include", "/wp"); - - //When I click the create Work Plan Button and create a WP - cy.contains("Start MFP Work Plan").click(); - cy.get(`[id="reportYear-${currentYear}"]`).check(); - cy.get(`[id="reportPeriod-1"]`).check(); - - cy.contains("Start new").click(); - - //Then there is a new Workplan with the title - cy.contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1`, - { matchCase: true } - ).should("be.visible"); - }); - }); - - describe("MFP Work Plan Dashboard Page - Admin Archiving", () => { - it("Admin users can archive Work Plans", () => { - cy.authenticate("adminUser"); - - //Given I've logged in - cy.url().should("include", "/"); - - //When an admin selects the state and report type to look at - cy.fillOutForm([ - ["state", "dropdown", "District of Columbia"], - ["report", "radio", "MFP Work Plan"], - ]); - cy.contains("Go to Report Dashboard").click(); - cy.url().should("include", "/wp"); - - //Then there is a new Workplan with the title - cy.contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1`, - { - matchCase: true, - } - ).should("be.visible"); - - //And when the admin clicks archive it should open the archive modal - cy.contains("button", "Archive"); - cy.contains("button", "Archive").click(); - cy.contains("Are you sure you want to archive this MFP Work Plan").should( - "be.visible" - ); - //prompt to confirm and then user can actually archive - cy.get("input").click().type("Archive"); - cy.get('[data-cy="modal-archive"]').click(); - cy.contains("Archived")[1]; - }); - }); -}); diff --git a/tests/cypress/e2e/wp/form.cy.js b/tests/cypress/e2e/wp/form.cy.js deleted file mode 100644 index 876db48af..000000000 --- a/tests/cypress/e2e/wp/form.cy.js +++ /dev/null @@ -1,149 +0,0 @@ -// Feature: MCPAR E2E Form Submission -import wpTemplate from "../../../..//services/app-api/forms/wp.json"; -import { traverseRoutes } from "../../support/form"; - -const currentYear = new Date().getFullYear(); - -describe("MFP Work Plan E2E Submission", () => { - it("State users can create Work Plans", () => { - cy.archiveAnyExistingWorkPlans(); - cy.authenticate("stateUser"); - - //Given I've logged in - cy.url().should("include", "/"); - - //And I enter the Work Plan Dashboard - cy.contains("Enter Work Plan online").click(); - cy.url().should("include", "/wp"); - - //When I click the create Work Plan Button and create a WP - cy.contains("Start MFP Work Plan").click(); - cy.get(`[id="reportYear-${currentYear}"]`).check(); - cy.get(`[id="reportPeriod-1"]`).check(); - - cy.contains("Start new").click(); - - //Then there is a new Workplan with the title - cy.contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1`, - { matchCase: true } - ).should("be.visible"); - //Find our new program and open it - cy.get("table").within(() => { - cy.get("tr") - .as("workplan") - .contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1` - ); - cy.get("@workplan").as("workplancontainer"); - cy.get("@workplancontainer") - .find('button:contains("Edit")') - .as("editbutton"); - cy.get("@editbutton").focus(); - cy.get("@editbutton").click(); - }); - - //Using the json as a guide, traverse all the routes/forms and fill it out dynamically - const template = wpTemplate; - traverseRoutes(template.routes); - - cy.url().should("include", "/review-and-submit"); - - // Confirm form is submittable - cy.get('div[role*="alert"]').should("not.exist"); - cy.get(`button:contains("Submit")`).should("not.be.disabled"); - - //Submit the program - cy.get(`button:contains("Submit")`).focus().click(); - cy.get('[data-testid="modal-submit-button"]').focus().click(); - - cy.contains("Successfully Submitted").should("be.visible"); - }); - - it("Admin users can deny a Work Plan submission", () => { - cy.authenticate("adminUser"); - cy.navigateToHomePage(); - cy.get( - '[aria-label="List of states, including District of Columbia and Puerto Rico"]' - ).select("DC"); - cy.get('[id="report-WP"]').click(); - cy.contains("Go to Report Dashboard").click(); - cy.wait(3000); - - //There is a new submitted Workplan with the title - cy.contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1`, - { matchCase: true } - ).should("be.visible"); - - //Find our new program and open it - cy.get("table").within(() => { - cy.get("tr") - .as("workplan") - .contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1` - ); - cy.get("@workplan").as("workplancontainer"); - cy.get("@workplancontainer") - .find('button:contains("View")') - .as("viewButton"); - cy.get("@viewButton").first().focus(); - cy.get("@viewButton").first().click(); - }); - - cy.get("p:contains('Review & Submit')").click(); - - cy.url().should("include", "/review-and-submit"); - - cy.get(`button:contains("Unlock")`).focus().click(); - cy.wait(1500); - - cy.get('button:contains("Return to dashboard")').focus().click(); - - cy.contains("In revision").should("be.visible"); - }); - - it("State users can update and submit an in revision Work Plan", () => { - cy.authenticate("stateUser"); - - //Given I've logged in - cy.url().should("include", "/"); - - //And I enter the Work Plan Dashboard - cy.contains("Enter Work Plan online").click(); - cy.url().should("include", "/wp"); - - //Find our new program and open it - cy.get("table").within(() => { - cy.get("tr") - .as("workplan") - .contains( - `District of Columbia MFP Work Plan ${currentYear} - Period 1` - ); - cy.get("@workplan").as("workplancontainer"); - cy.get("@workplancontainer") - .find('button:contains("Edit")') - .as("editButton"); - cy.get("@editButton").first().focus(); - cy.get("@editButton").first().click(); - }); - - cy.get("p:contains('Review & Submit')").click(); - - cy.url().should("include", "/review-and-submit"); - - // Confirm form is submittable - cy.get('div[role*="alert"]').should("not.exist"); - cy.get(`button:contains("Submit")`).should("not.be.disabled"); - - //Submit the program - cy.get(`button:contains("Submit")`).focus().click(); - cy.get('[data-testid="modal-submit-button"]').focus().click(); - - cy.contains("Successfully Submitted").should("be.visible"); - - cy.get("a:contains('Leave form')").focus().click(); - cy.url().should("include", "/wp"); - cy.contains("2").should("be.visible"); - }); -}); diff --git a/tests/cypress/support/commands.js b/tests/cypress/support/commands.js deleted file mode 100644 index a9ae57793..000000000 --- a/tests/cypress/support/commands.js +++ /dev/null @@ -1,209 +0,0 @@ -// ***** AUTHENTICATION COMMANDS ***** - -const cognitoEmailInputField = 'input[name="email"]'; -const cognitoPasswordInputField = 'input[name="password"]'; -const cognitoLoginButton = "[data-testid='cognito-login-button']"; -const myAccountButton = '[aria-label="my account"'; - -const breakpoints = { - mobile: [560, 800], - tablet: [880, 1000], - desktop: [1200, 1200], -}; - -const stateUserPassword = Cypress.env("STATE_USER_PASSWORD"); -const adminUserPassword = Cypress.env("ADMIN_USER_PASSWORD"); - -// pragma: allowlist nextline secret -if (typeof stateUserPassword !== "string" || !stateUserPassword) { - throw new Error( - "Missing state user password value, set using CYPRESS_STATE_USER_PASSWORD=..." - ); -} - -// pragma: allowlist nextline secret -if (typeof adminUserPassword !== "string" || !adminUserPassword) { - throw new Error( - "Missing state user password value, set using CYPRESS_ADMIN_USER_PASSWORD=..." - ); -} - -// credentials -const stateUser = { - email: Cypress.env("STATE_USER_EMAIL"), - password: stateUserPassword, -}; -const adminUser = { - email: Cypress.env("ADMIN_USER_EMAIL"), - password: adminUserPassword, -}; - -Cypress.Commands.add("navigateToHomePage", () => { - if (cy.location("pathname") !== "/") cy.visit("/"); -}); - -Cypress.Commands.add("testPageAccessibility", () => { - for (let size of Object.values(breakpoints)) { - cy.viewport(...size); - cy.runAccessibilityTests(); - } -}); - -Cypress.Commands.add("archiveAnyExistingWorkPlans", () => { - // login as admin - cy.authenticate("adminUser"); - cy.navigateToHomePage(); - - /* - * Check if there is already a workplan, if so, archive - * is to ensure a clean test bed - */ - cy.get( - '[aria-label="List of states, including District of Columbia and Puerto Rico"]' - ).select("DC"); - cy.get('[id="report-WP"]').click(); - cy.contains("Go to Report Dashboard").click(); - cy.wait(5000); - - cy.get("table").then(($table) => { - if ( - $table.find('button:contains("Archive")').length > 0 && - $table.find('button:contains("Archive")').is(":enabled") - ) { - cy.get('button:contains("Archive")').first().click(); - cy.wait(500); - cy.get("input").click().type("Archive"); - cy.get('[data-cy="modal-archive"]').click(); - } - }); -}); - -Cypress.Commands.add("fillOutForm", (formInputs) => { - formInputs.forEach((row) => { - /* - * Repeated inputs have the same name, so it comes back as an array. Thus we need to grab - * which input in the array we need. Otherwise we can just query the name of the input - */ - const repeatedInput = row?.[3]; - const input = repeatedInput - ? cy.get(`input[name^="${row[0]}"]`) - : cy.get(`[name='${row[0]}']`); - const inputType = row[1]; - const inputValue = row[2]; - switch (inputType) { - case "singleCheckbox": - if (inputValue == "true") { - input.check(); - input.blur(); - } else input.uncheck(); - break; - case "radio": - input.check(inputValue); - input.blur(); - break; - case "checkbox": - input.check(inputValue); - input.blur(); - break; - case "dropdown": - input.select(inputValue); - input.blur(); - break; - case "repeated": - input.eq(repeatedInput); - input.clear(); - input.type(inputValue); - input.blur(); - break; - default: - input.clear(); - input.type(inputValue); - input.blur(); - break; - } - }); -}); - -Cypress.Commands.add("authenticate", (userType, userCredentials) => { - Cypress.session.clearAllSavedSessions(); - cy.session([userType, userCredentials], () => { - cy.visit("/"); - cy.wait(2000); - let credentials = {}; - - if (userType && userCredentials) { - /* eslint-disable-next-line no-console */ - console.warn( - "If userType and userCredentials are both provided, userType is ignored and provided userCredentials are used." - ); - } else if (userCredentials) { - credentials = userCredentials; - } else if (userType) { - switch (userType) { - case "adminUser": - credentials = adminUser; - break; - case "stateUser": - credentials = stateUser; - break; - default: - throw new Error("Provided userType not recognized."); - } - } else { - throw new Error("Must specify either userType or userCredentials."); - } - - cy.get(cognitoEmailInputField).type(credentials.email); - cy.get(cognitoPasswordInputField).type(credentials.password, { - log: false, - }); - cy.get(cognitoLoginButton).click(); - - /** - * Waits for cognito session tokens to be set in local storage before saving session - * This ensures reused sessions maintain these tokens - * We expect at least three for the id, access, and refresh tokens - */ - cy.wait(4500); - cy.get(myAccountButton).should("exist"); - }); -}); - -// ***** ACCESSIBILITY COMMANDS ***** - -Cypress.Commands.add("runAccessibilityTests", () => { - // run cypress-axe accessibility tests (https://bit.ly/3HnJT9H) - cy.injectAxe(); - cy.checkA11y( - null, - { - values: ["wcag2a", "wcag2aa"], - includedImpacts: ["minor", "moderate", "serious", "critical"], - rules: { - "duplicate-id": { enabled: false }, - }, - }, - terminalLog - ); -}); - -// ***** LOGGING ***** (https://bit.ly/3HnJT9H) - -function terminalLog(violations) { - cy.task( - "log", - `${violations.length} accessibility violation${ - violations.length === 1 ? "" : "s" - } ${violations.length === 1 ? "was" : "were"} detected` - ); - // pluck specific keys to keep the table readable - const violationData = violations.map( - ({ id, impact, description, nodes }) => ({ - id, - impact, - description, - nodes: nodes.length, - }) - ); - cy.task("table", violationData); -} diff --git a/tests/cypress/support/e2e.js b/tests/cypress/support/e2e.js deleted file mode 100644 index 48c08c0f8..000000000 --- a/tests/cypress/support/e2e.js +++ /dev/null @@ -1,2 +0,0 @@ -import "./commands"; -import "cypress-axe"; diff --git a/tests/cypress/support/form.js b/tests/cypress/support/form.js deleted file mode 100644 index 94f8c04ea..000000000 --- a/tests/cypress/support/form.js +++ /dev/null @@ -1,215 +0,0 @@ -export const traverseRoutes = (routes) => { - //iterate over each route - routes.forEach((route) => { - traverseRoute(route); - }); -}; - -const traverseRoute = (route) => { - //only perform checks on route if it contains some kind of form fill - if (route.form || route.modalForm || route.drawerForm) { - //validate we are on the URL we expect to be - cy.url().should("include", route.path); - //Validate the intro section is presented - if (route.verbiage?.intro?.section) - cy.contains(route.verbiage?.intro?.section); - if (route.verbiage?.intro?.subsection) - cy.contains(route.verbiage?.intro?.subsection); - - //Fill out the 3 different types of forms - completeForm(route.form); - completeModalForm( - route.path, - route.modalForm, - route.verbiage?.addEntityButtonText - ); - completeDrawerForm(route.drawerForm); - completeOverlayEntity(route.path, route.entitySteps); - - cy.get('button:contains("Continue")').focus().click(); - } - //If this route has children routes, traverse those as well - if (route.children) traverseRoutes(route.children); -}; - -const completeDrawerForm = (drawerForm) => { - if (drawerForm) { - cy.get("table") - .find('[aria-label="edit button"]') - .each(($button) => { - cy.wrap($button).click(); - cy.wait(1250); - completeForm(drawerForm); - cy.get("form").submit(); - }); - } -}; - -const completeModalForm = (path, modalForm, buttonText) => { - if (path === "/wp/state-or-territory-specific-initiatives/initiatives") { - //Create 5 initiatives - for (let i = 0; i < 5; i++) { - cy.get(`button:contains("${buttonText}")`).focus().click(); - completeForm(modalForm, i); - cy.get('[data-testid="modal-submit-button"]').focus().click(); - cy.wait(1250); - } - } else { - //open the modal, then fill out the form and save it - if (modalForm && buttonText) { - cy.get(`button:contains("${buttonText}")`).focus().click(); - completeForm(modalForm); - cy.get('[data-testid="modal-submit-button"]').focus().click(); - cy.wait(1250); - } - } -}; - -const completeOverlayEntity = (path, entitySteps) => { - if ( - entitySteps && - path === "/wp/state-or-territory-specific-initiatives/initiatives" - ) { - cy.wait(1250); - - //Edit each of the 5 initiatives - for (let i = 0; i < 5; i++) { - cy.get("table").find('[aria-label="edit button"]').eq(i).click(); - cy.wait(1250); - completeOverlayEntityStep(entitySteps); - cy.get('button:contains("Return to all initiatives")') - .first() - .focus() - .click(); - cy.wait(1250); - } - } -}; - -const completeOverlayEntityStep = (entitySteps) => { - //first step - cy.get("table").find('[aria-label="edit button"]').first().click(); - cy.wait(1250); - completeForm(entitySteps[0].form); - cy.get('button:contains("Save")').focus().click(); - cy.wait(1250); - - //second step - cy.get("table").find('[aria-label="edit button"]').eq(1).click(); - cy.wait(1250); - completeModalForm( - undefined, - entitySteps[1].modalForm, - entitySteps[1].verbiage.addEntityButtonText - ); - cy.get('button:contains("Return to dashboard for this initiative")') - .focus() - .click(); - cy.wait(1250); - - //third step - cy.get("table").find('[aria-label="edit button"]').eq(2).click(); - cy.wait(1250); - completeModalForm( - undefined, - entitySteps[2].modalForm, - entitySteps[2].verbiage.addEntityButtonText - ); - cy.get('button:contains("Save")').focus().click(); - cy.wait(1250); -}; - -const completeForm = (form, optionToSelect = 0) => { - //iterate over each field and fill it appropriately - form?.fields?.forEach((field) => { - if (field.id === "transitionBenchmarks_applicableToMfpDemonstration") { - // mark target populations as applicable - processField(field, 1); - } else { - processField(field, optionToSelect); - } - }); -}; - -const processField = (field, optionToSelect) => { - //only try to fill it out if it's enabled - if (!field.props?.disabled) { - //Validation method shifts around based on field type - const validationType = field.validation?.type - ? field.validation?.type - : field.validation; - switch (field.type) { - case "text": - case "textarea": - switch (validationType) { - case "email": - cy.get(`[name="${field.id}"]`).type("email@fill.com"); - break; - case "url": - cy.get(`[name="${field.id}"]`).type("https://fill.com"); - break; - case "text": - cy.get(`[name="${field.id}"]`).type(`Text Fill`); - break; - default: - cy.get(`[name="${field.id}"]`).type("Unknown Fill"); - } - break; - case "date": - cy.get(`[name="${field.id}"]`).type( - new Date().toLocaleDateString("en-US") - ); - break; - case "dynamic": - cy.get(`[name="${field.id}[0]"`).type("Dynamic Fill"); - break; - case "number": - switch (validationType) { - case "ratio": - cy.get(`[name="${field.id}"]`).type("1:1"); - break; - default: - if ( - field.id.includes("fundingSources_quarters") || - field.id.includes("quarterlyProjections") - ) { - fillTransformedFields(`*[name^="${field.id}"]`); - } else { - cy.get(`[name="${field.id}"]`).type( - Math.ceil(Math.random() * 100) - ); - } - } - break; - case "dropdown": - cy.get(`[name="${field.id}"]`).select(1); - break; - case "radio": - case "checkbox": - /* - * This is a unique case where we're dealing with a transformed field. The options - * won't exist in the wp.json to reference. - */ - if (field.props.choices.length === 0) { - cy.get("input[type=checkbox]").eq(0).check(); - } else { - cy.get( - `[id="${field.id}-${field.props.choices[optionToSelect].id}"]` - ).check(); - field.props.choices[optionToSelect].children?.forEach((childField) => - processField(childField) - ); - } - - break; - } - } -}; - -const fillTransformedFields = (selector) => { - cy.get("form") - .find(selector) - .each(($numberfield) => { - cy.get($numberfield).type(Math.ceil(Math.random() * 100)); - }); -}; diff --git a/tests/package.json b/tests/package.json index 2c88ea11b..de17e179a 100644 --- a/tests/package.json +++ b/tests/package.json @@ -1,21 +1,16 @@ { - "name": "cypress-tests", + "name": "tests", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { - "start": "cd ../ && ./run local && cd -", - "cypress": "cypress open", - "test": "concurrently --kill-others \"yarn start\" \"yarn cypress\"", - "test:ci": "cypress install && cypress run --browser chrome --headless" + "start": "cd ../ && ./run local && cd -" }, "author": "", "license": "ISC", "devDependencies": { "axe-core": "^4.8.4", "concurrently": "^8.2.2", - "cypress": "^13.8.0", - "cypress-axe": "^1.5.0", "dotenv": "^16.4.5" }, "dependencies": {} diff --git a/tests/yarn.lock b/tests/yarn.lock index 1cfee783d..285c849db 100644 --- a/tests/yarn.lock +++ b/tests/yarn.lock @@ -9,87 +9,6 @@ dependencies: regenerator-runtime "^0.14.0" -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cypress/request@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" - integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - http-signature "~1.3.6" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - performance-now "^2.1.0" - qs "6.10.4" - safe-buffer "^5.1.2" - tough-cookie "^4.1.3" - tunnel-agent "^0.6.0" - uuid "^8.3.2" - -"@cypress/xvfb@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" - integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== - dependencies: - debug "^3.1.0" - lodash.once "^4.1.1" - -"@types/node@*": - version "20.11.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.20.tgz#f0a2aee575215149a62784210ad88b3a34843659" - integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== - dependencies: - undici-types "~5.26.4" - -"@types/sinonjs__fake-timers@8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" - integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== - -"@types/sizzle@^2.3.2": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" - integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== - -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -102,128 +21,12 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -arch@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async@^3.2.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - axe-core@^4.8.4: version "4.8.4" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.4.tgz#90db39a2b316f963f00196434d964e6e23648643" integrity sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg== -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -blob-util@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" - integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -cachedir@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" - integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== - -call-bind@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -231,45 +34,6 @@ chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -check-more-types@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" - integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-table3@~0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - cliui@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" @@ -291,33 +55,6 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^2.0.16: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - concurrently@^8.2.2: version "8.2.2" resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.2.2.tgz#353141985c198cfa5e4a3ef90082c336b5851784" @@ -333,80 +70,6 @@ concurrently@^8.2.2: tree-kill "^1.2.2" yargs "^17.7.2" -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -cross-spawn@^7.0.0: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cypress-axe@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/cypress-axe/-/cypress-axe-1.5.0.tgz#95082734583da77b51ce9b7784e14a442016c7a1" - integrity sha512-Hy/owCjfj+25KMsecvDgo4fC/781ccL+e8p+UUYoadGVM2ogZF9XIKbiM6KI8Y3cEaSreymdD6ZzccbI2bY0lQ== - -cypress@^13.8.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.8.0.tgz#118e94161334e03841714c9b9b3600ae853c11f9" - integrity sha512-Qau//mtrwEGOU9cn2YjavECKyDUwBh8J2tit+y9s1wsv6C3BX+rlv6I9afmQnL8PmEEzJ6be7nppMHacFzZkTw== - dependencies: - "@cypress/request" "^3.0.0" - "@cypress/xvfb" "^1.2.4" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - arch "^2.2.0" - blob-util "^2.0.2" - bluebird "^3.7.2" - buffer "^5.7.1" - cachedir "^2.3.0" - chalk "^4.1.0" - check-more-types "^2.24.0" - cli-cursor "^3.1.0" - cli-table3 "~0.6.1" - commander "^6.2.1" - common-tags "^1.8.0" - dayjs "^1.10.4" - debug "^4.3.4" - enquirer "^2.3.6" - eventemitter2 "6.4.7" - execa "4.1.0" - executable "^4.1.1" - extract-zip "2.0.1" - figures "^3.2.0" - fs-extra "^9.1.0" - getos "^3.2.1" - is-ci "^3.0.1" - is-installed-globally "~0.4.0" - lazy-ass "^1.6.0" - listr2 "^3.8.3" - lodash "^4.17.21" - log-symbols "^4.0.0" - minimist "^1.2.8" - ospath "^1.2.2" - pretty-bytes "^5.6.0" - process "^0.11.10" - proxy-from-env "1.0.0" - request-progress "^3.0.0" - semver "^7.5.3" - supports-color "^8.1.1" - tmp "~0.2.1" - untildify "^4.0.0" - yauzl "^2.10.0" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - date-fns@^2.30.0: version "2.30.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" @@ -414,772 +77,68 @@ date-fns@^2.30.0: dependencies: "@babel/runtime" "^7.21.0" -dayjs@^1.10.4: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.1, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -define-data-property@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - dotenv@^16.4.5: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - escalade@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -eventemitter2@6.4.7: - version "6.4.7" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" - integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== - -execa@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -executable@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" - integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== - dependencies: - pify "^2.2.0" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -getos@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" - integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== - dependencies: - async "^3.2.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -hasown@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== - dependencies: - function-bind "^1.1.2" - -http-signature@~1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" - integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - sshpk "^1.14.1" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-installed-globally@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" - integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -lazy-ass@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" - integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== - -listr2@^3.8.3: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - -lodash.once@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -ospath@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -pify@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pretty-bytes@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -proxy-from-env@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -qs@6.10.4: - version "6.10.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" - integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== - dependencies: - side-channel "^1.0.4" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - regenerator-runtime@^0.14.0: version "0.14.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== -request-progress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== - dependencies: - throttleit "^1.0.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -rfdc@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" - integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== - -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rxjs@^7.5.1, rxjs@^7.8.1: +rxjs@^7.8.1: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -semver@^7.5.3: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -set-function-length@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" - integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== - dependencies: - define-data-property "^1.1.2" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.1" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - shell-quote@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== -side-channel@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b" - integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - spawn-command@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e" integrity sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ== -sshpk@^1.14.1: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -1196,11 +155,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -1215,33 +169,6 @@ supports-color@^8.1.1: dependencies: has-flag "^4.0.0" -throttleit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" - integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - tree-kill@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" @@ -1252,81 +179,6 @@ tslib@^2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -1336,21 +188,11 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" @@ -1368,11 +210,3 @@ yargs@^17.7.2: string-width "^4.2.3" y18n "^5.0.5" yargs-parser "^21.1.1" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" diff --git a/yarn.lock b/yarn.lock index 13955295c..dd638aa92 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6637,16 +6637,6 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== -array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - array.prototype.flatmap@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" @@ -7639,13 +7629,6 @@ debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -8226,50 +8209,6 @@ eslint-config-strongloop@^2.1.0: resolved "https://registry.yarnpkg.com/eslint-config-strongloop/-/eslint-config-strongloop-2.1.0.tgz#763dd19adfce88d7b0051e6e255f1ae37783b4c6" integrity sha512-mU/+gcWDlY57mWrwaNOVdaPHmqpFZ60t7tPxXPYa3kdadqawrKEYXsxU7eyhJIrJdGh4JKQxnZQ17yhMF+M3Ug== -eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" - integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== - dependencies: - debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" - -eslint-module-utils@^2.7.4: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-cypress@^2.12.1: - version "2.13.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.13.2.tgz#b42b763f449ff713cecf6bdf1903e7cee6e48bfc" - integrity sha512-LlwjnBTzuKuC0A4H0RxVjs0YeAWK+CD1iM9Dp8un3lzT713ePQxfpPstCD+9HSAss8emuE3b2hCNUST+NrUwKw== - dependencies: - globals "^11.12.0" - -eslint-plugin-import@^2.x: - version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" - integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.7.4" - has "^1.0.3" - is-core-module "^2.11.0" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.6" - resolve "^1.22.1" - semver "^6.3.0" - tsconfig-paths "^3.14.1" - eslint-plugin-jest@^26.1.3: version "26.9.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz#7931c31000b1c19e57dbfb71bbf71b817d1bf949" @@ -9222,7 +9161,7 @@ glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, gl once "^1.3.0" path-is-absolute "^1.0.0" -globals@^11.1.0, globals@^11.12.0: +globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== @@ -11119,7 +11058,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1, ms@^2.1.3: +ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -12158,7 +12097,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.22.0, resolve@^1.22.1: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.22.0: version "1.22.2" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== @@ -13374,7 +13313,7 @@ tsconfig-paths-webpack-plugin@^3.5.2: enhanced-resolve "^5.7.0" tsconfig-paths "^3.9.0" -tsconfig-paths@^3.14.1, tsconfig-paths@^3.9.0: +tsconfig-paths@^3.9.0: version "3.14.2" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==