From d242f13b59899740f9a56ceb74e25b1d49a023a9 Mon Sep 17 00:00:00 2001 From: Jaril Date: Fri, 16 Sep 2022 13:38:53 -0700 Subject: [PATCH 01/63] Run original tests locally and in CI --- .github/workflows/main.yml | 196 ++++--------------------------------- 1 file changed, 21 insertions(+), 175 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 88c980d2b..5a83c5ee1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,9 +1,10 @@ -name: Cypress Tests +name: E2E Test -on: +on: + schedule: + - cron: '0 0 * * *' push: - branches-ignore: - - "renovate/**" + workflow_dispatch: jobs: install: @@ -35,32 +36,8 @@ jobs: if-no-files-found: error path: build - install-windows: - runs-on: windows-2019 - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Cypress install - uses: cypress-io/github-action@v4 - with: - runTests: false - # report machine parameters - - run: yarn cypress info - - run: node -p 'os.cpus()' - - run: yarn types - - run: yarn lint - - run: yarn test:unit:ci - - run: yarn build:ci - - - name: Save build folder - uses: actions/upload-artifact@v3 - with: - name: build - if-no-files-found: error - path: build - - ui-chrome-tests: + ui-chrome-tests-original: + name: UI tests (original) timeout-minutes: 15 runs-on: ubuntu-latest container: @@ -107,15 +84,16 @@ jobs: group: "UI - Chrome" spec: cypress/tests/ui/* config-file: cypress.config.js - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEBUG: "cypress:server:args" + # env: + # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} + # CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} + # # Recommended: pass the GitHub token lets this action correctly + # # determine the unique run id necessary to re-run the checks + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # DEBUG: "cypress:server:args" ui-chrome-mobile-tests: + name: UI mobile tests (original) timeout-minutes: 15 runs-on: ubuntu-latest container: @@ -154,141 +132,9 @@ jobs: group: "UI - Chrome - Mobile" spec: cypress/tests/ui/* config-file: cypress.config.js - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - ui-firefox-tests: - timeout-minutes: 15 - runs-on: ubuntu-latest - container: - image: cypress/browsers:node16.13.0-chrome95-ff94 - options: --user 1001 - needs: install - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving the Dashboard hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Download the build folders - uses: actions/download-artifact@v3 - with: - name: build - path: build - - - name: "UI Tests - Firefox" - uses: cypress-io/github-action@v4 - with: - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: firefox - record: true - parallel: true - group: "UI - Firefox" - spec: cypress/tests/ui/* - config-file: cypress.config.js - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - ui-firefox-mobile-tests: - timeout-minutes: 15 - runs-on: ubuntu-latest - container: - image: cypress/browsers:node16.13.0-chrome95-ff94 - options: --user 1001 - needs: install - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving the Dashboard hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Download the build folders - uses: actions/download-artifact@v3 - with: - name: build - path: build - - - name: "UI Tests - Firefox - Mobile" - uses: cypress-io/github-action@v4 - with: - config: "viewportWidth=375,viewportHeight=667" - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: firefox - record: true - parallel: true - group: "UI - Firefox - Mobile" - spec: cypress/tests/ui/* - config-file: cypress.config.js - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - ui-windows-tests: - timeout-minutes: 40 - runs-on: windows-2019 - needs: install-windows - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving the Dashboard hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Download the build folders - uses: actions/download-artifact@v3 - with: - name: build - path: build - - - name: "UI Tests - Electron - Windows" - uses: cypress-io/github-action@v4 - with: - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - record: true - parallel: true - group: "UI - Electron - Windows" - spec: cypress/tests/ui/* - config-file: cypress.config.js - env: - CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # Recommended: pass the GitHub token lets this action correctly - # determine the unique run id necessary to re-run the checks - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # env: + # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} + # CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} + # # Recommended: pass the GitHub token lets this action correctly + # # determine the unique run id necessary to re-run the checks + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 9a68e2ec02aadbbeea96fd8cf08718675187ea84 Mon Sep 17 00:00:00 2001 From: Jaril Date: Fri, 16 Sep 2022 13:59:45 -0700 Subject: [PATCH 02/63] Add replay --- .github/workflows/main.yml | 147 +++++++++++++++++++-- README.md | 264 ++----------------------------------- README.old.md | 259 ++++++++++++++++++++++++++++++++++++ cypress.config.js | 3 + data/database.json | 2 +- package.json | 2 + yarn.lock | 74 +++++++++++ 7 files changed, 491 insertions(+), 260 deletions(-) create mode 100644 README.old.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5a83c5ee1..8918542f2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,8 +36,8 @@ jobs: if-no-files-found: error path: build - ui-chrome-tests-original: - name: UI tests (original) + ui-chrome-tests-record: + name: UI tests (record) timeout-minutes: 15 runs-on: ubuntu-latest container: @@ -78,7 +78,75 @@ jobs: start: yarn start:ci wait-on: "http://localhost:3000" wait-on-timeout: 120 - browser: chrome + browser: 'Replay Chromium' + record: true + parallel: true + group: "UI - Chrome" + spec: cypress/tests/ui/* + config-file: cypress.config.js + # env: + # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} + # CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} + # # Recommended: pass the GitHub token lets this action correctly + # # determine the unique run id necessary to re-run the checks + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # DEBUG: "cypress:server:args" + env: + RECORD_REPLAY_TEST_METRICS: 1 + RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} + RECORD_ALL_CONTENT: 1 + RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata + + - name: Upload replays + if: ${{ always() }} + uses: replayio/action-upload@v0.4.3 + with: + public: true + api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 + + ui-chrome-tests-no-record: + name: UI tests (no record) + timeout-minutes: 15 + runs-on: ubuntu-latest + container: + image: cypress/browsers:node16.13.0-chrome95-ff94 + options: --user 1001 + needs: install + strategy: + # when one test fails, DO NOT cancel the other + # containers, because this will kill Cypress processes + # leaving the Dashboard hanging ... + # https://github.com/cypress-io/github-action/issues/48 + fail-fast: false + matrix: + # run copies of the current job in parallel + containers: [1, 2, 3, 4, 5] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Download the build folders + uses: actions/download-artifact@v3 + with: + name: build + path: build + + - name: Cypress info + run: npx cypress info + + - name: Node info + run: node -v + + - name: __e Dir + run: ls /__e + + - name: "UI Tests - Chrome" + uses: cypress-io/github-action@v4 + with: + start: yarn start:ci + wait-on: "http://localhost:3000" + wait-on-timeout: 120 + browser: 'Replay Chromium' record: true parallel: true group: "UI - Chrome" @@ -91,9 +159,16 @@ jobs: # # determine the unique run id necessary to re-run the checks # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # DEBUG: "cypress:server:args" + env: + RECORD_REPLAY_TEST_METRICS: 1 + RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} + RECORD_ALL_CONTENT: 1 + RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata + RECORD_REPLAY_DRIVER: /tmp/not-here + - ui-chrome-mobile-tests: - name: UI mobile tests (original) + ui-chrome-tests-original: + name: UI tests (original) timeout-minutes: 15 runs-on: ubuntu-latest container: @@ -119,17 +194,25 @@ jobs: name: build path: build - - name: "UI Tests - Chrome - Mobile" + - name: Cypress info + run: npx cypress info + + - name: Node info + run: node -v + + - name: __e Dir + run: ls /__e + + - name: "UI Tests - Chrome" uses: cypress-io/github-action@v4 with: - config: "viewportWidth=375,viewportHeight=667" start: yarn start:ci wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: chrome record: true parallel: true - group: "UI - Chrome - Mobile" + group: "UI - Chrome" spec: cypress/tests/ui/* config-file: cypress.config.js # env: @@ -138,3 +221,51 @@ jobs: # # Recommended: pass the GitHub token lets this action correctly # # determine the unique run id necessary to re-run the checks # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # DEBUG: "cypress:server:args" + + # ui-chrome-mobile-tests: + # name: UI mobile tests (original) + # timeout-minutes: 15 + # runs-on: ubuntu-latest + # container: + # image: cypress/browsers:node16.13.0-chrome95-ff94 + # options: --user 1001 + # needs: install + # strategy: + # # when one test fails, DO NOT cancel the other + # # containers, because this will kill Cypress processes + # # leaving the Dashboard hanging ... + # # https://github.com/cypress-io/github-action/issues/48 + # fail-fast: false + # matrix: + # # run copies of the current job in parallel + # containers: [1, 2, 3, 4, 5] + # steps: + # - name: Checkout + # uses: actions/checkout@v3 + + # - name: Download the build folders + # uses: actions/download-artifact@v3 + # with: + # name: build + # path: build + + # - name: "UI Tests - Chrome - Mobile" + # uses: cypress-io/github-action@v4 + # with: + # config: "viewportWidth=375,viewportHeight=667" + # start: yarn start:ci + # wait-on: "http://localhost:3000" + # wait-on-timeout: 120 + # browser: chrome + # record: true + # parallel: true + # group: "UI - Chrome - Mobile" + # spec: cypress/tests/ui/* + # config-file: cypress.config.js + # # env: + # # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} + # # CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} + # # # Recommended: pass the GitHub token lets this action correctly + # # # determine the unique run id necessary to re-run the checks + # # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 0ee11ffa4..43a434e8d 100644 --- a/README.md +++ b/README.md @@ -1,259 +1,21 @@ -

- Cypress Real World App Logo -

+## Links -

- - Cypress Logo - -

+- [Team invitation](https://app.replay.io/team/invitation?code=703e7abc-003f-436a-a421-ee5df4654c2f) +- [Link to team](https://app.replay.io/team/dzo5OWE4YWRiZC0xMGM5LTQ3ZDAtOGEyYS1kZWI5MTVjNWE3MmU=) -

- - - +## Instructions - - - +Getting started - - - - - - - -

+1. `yarn` +1. `yarn build:ci` -

-A payment application to demonstrate real-world usage of Cypress testing methods, patterns, and workflows. -

+Running the tests locally without Replay -

- Cypress Real World App -

+1. `yarn start:ci` +1. `yarn cypress:run` -> 💬 **Note from maintainers** -> -> This application is purely for demonstration and educational purposes. Its setup and configuration resemble typical real-world applications, but it's not a full-fledged production system. Use this app to learn, experiment, tinker, and practice application testing with Cypress. -> -> Happy Testing! +Running the tests locally with Replay ---- - -## Features - -🛠 Built with [React][reactjs], [XState][xstate], [Express][express], [lowdb][lowdb], [Material-UI][material-ui] and [TypeScript][typescript] -⚡️ Zero database dependencies -🚀 Full-stack [Express][express]/[React][reactjs] application with real-world features and tests -👮‍♂️ Local Authentication -🔥 Database Seeding with End-to-end Tests -💻 CI/CD + [Cypress Dashboard][cypressdashboard] - -## Getting Started - -The Cypress Real-World App (RWA) is a full-stack Express/React application backed by a local JSON database ([lowdb]). - -The app is bundled with [example data](./data/database.json) (`data/database.json`) that contains everything you need to start using the app and run tests out-of-the-box. - -> 🚩 **Note** -> -> You can login to the app with any of the [example app users](./data/database.json#L2). The default password for all users is `s3cret`. -> Example users can be seen by running `yarn list:dev:users`. - -### Prerequisites - -The only requirement for this project is to have [Node.js](https://nodejs.org/en/) **version 14** installed on your machine. Refer to the [.node-version](./.node-version) file for the exact version. - -TypeScript will be added as a local dependency to the project, so no need to install it. - -### Installation - -```shell -yarn install -``` - -#### Mac M1 chip users will need to prepend `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true`. - -```shell -PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true yarn install -``` - -### Run the app - -```shell -yarn dev -``` - -> 🚩 **Note** -> -> The app will run on port `3000` (frontend) and `3001` (API backend) by default. Please make sure there are no other applications or services running on both ports. -> If you want to change the default ports, you can do so by modifying `PORT` and `REACT_APP_BACKEND_PORT` variables in `.env` file. -> However, make sure the modified port numbers in `.env` are not committed into Git since the CI environments still expect the application to run on the default ports. - -### Start Cypress - -```shell -yarn cypress:open -``` - -> 🚩 **Note** -> -> If you have changed the default ports, then you need to update Cypress configuration file (`cypress.json`) locally. -> There are three properties that you need to update in `cypress.json`: `baseUrl`, `apiUrl`, and `url`. -> The port number in `baseUrl` corresponds to `PORT` variable in `.env` file. Similarly, the port number in `apiUrl` and `url` correspond to `REACT_APP_BACKEND_PORT`. -> For example, if you have changed `PORT` to `13000` and `REACT_APP_BACKEND_PORT` to `13001` in `.env` file, then your `cypress.json` should look similar to the following snippet: -> -> ```json -> { -> "baseUrl": "http://localhost:13000", -> /* Omitted for brevity */ -> "env": { -> "apiUrl": "http://localhost:13001", -> /* Omitted for brevity */ -> "codeCoverage": { -> "url": "http://localhost:13001/__coverage__" -> } -> }, -> "experimentalStudio": true -> } -> ``` -> -> Avoid committing the modified `cypress.json` into Git since the CI environments still expect the application to be run on default ports. - -## Tests - -| Type | Location | -| ---- | ---------------------------------------- | -| api | [cypress/tests/api](./cypress/tests/api) | -| ui | [cypress/tests/ui](./cypress/tests/ui) | -| unit | [`src/__tests__`](./src/__tests__) | - -## Database - -- The local JSON database is located in [data/database.json](./data/database.json) and is managed with [lowdb]. - -- The database is [reseeded](./data/database-seed.json) each time the application is started (via `yarn dev`). Database seeding is done in between each [Cypress End-to-End test](./cypress/tests). - -- Updates via the React frontend are sent to the [Express][express] server and handled by a set of [database utilities](backend/database.ts) - -- Generate a new database using `yarn db:seed`. - -- An [empty database seed](./data/empty-seed.json) is provided along with a script (`yarn start:empty`) to view the application without data. - -## Additional NPM Scripts - -| Script | Description | -| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| dev | Starts backend in watch mode and frontend | -| dev:auth0 | Starts backend in watch mode and frontend; [Uses Auth0 for Authentication](#auth0) > [Read Guide](http://on.cypress.io/auth0) | -| dev:okta | Starts backend in watch mode and frontend; [Uses Okta for Authentication](#okta) > [Read Guide](http://on.cypress.io/okta) | -| dev:cognito | Starts backend in watch mode and frontend; [Uses Cognito for Authentication](#amazon-cognito) > [Read Guide](http://on.cypress.io/amazon-cognito) | -| dev:google | Starts backend in watch mode and frontend; [Uses Google for Authentication](#google) > [Read Guide](https://docs.cypress.io/guides/testing-strategies/google-authentication.html) | -| start | Starts backend and frontend | -| types | Validates types | -| db:seed | Generates fresh database seeds for json files in /data | -| start:empty | Starts backend, frontend and Cypress with empty database seed | -| tsnode | Customized ts-node command to get around react-scripts restrictions | -| list:dev:users | Provides id and username for users in the dev database | - -For a complete list of scripts see [package.json](./package.json) - -## Code Coverage Report - -The Cypress Real-World App uses the [@cypress/code-coverage](https://github.com/cypress-io/code-coverage) plugin to generate code coverage reports for the app frontend and backend. - -To generate a code coverage report: - -1. Run `yarn cypress:run --env coverage=true` and wait for the test run to complete. -2. Once the test run is complete, you can view the report at `coverage/index.html`. - -## 3rd Party Authentication Providers - -Support for 3rd party authentication is available in the application to demonstrate the concept and commands needed for programmatic login. - -### Auth0 - -A [guide has been written with detail around adapting the RWA](http://on.cypress.io/auth0) to use [Auth0][auth0] and to explain the programmatic command used for Cypress tests. - -Prerequisites include an Auth0 account and a Tenant configured for use with a SPA. Environment variables from Auth0 are to be placed in the [.env](./.env). - -Start the application with `yarn dev:auth0` and run Cypress with `yarn cypress:open`. - -The only passing spec on this branch will be the [auth0 spec](./cypress/tests/ui-auth-providers/auth0.spec.ts); all others will fail. - -### Okta - -A [guide has been written with detail around adapting the RWA](http://on.cypress.io/okta) to use [Okta][okta] and to explain the programmatic command used for Cypress tests. - -Prerequisites include an [Okta][okta] account and [application configured for use with a SPA][oktacreateapp]. Environment variables from [Okta][okta] are to be placed in the [.env](./.env). - -Start the application with `yarn dev:okta` and run Cypress with `yarn cypress:open`. - -The **only passing spec on this branch** will be the [okta spec](./cypress/tests/ui-auth-providers/okta.spec.ts); all others will fail. - -### Amazon Cognito - -A [guide has been written with detail around adapting the RWA](http://on.cypress.io/amazon-cognito) to use [Amazon Cognito][cognito] as the authentication solution and to explain the programmatic command used for Cypress tests. - -Prerequisites include an [Amazon Cognito][cognito] account. Environment variables from [Amazon Cognito][cognito] are provided by the [AWS Amplify CLI][awsamplify]. - -Start the application with `yarn dev:cognito` and run Cypress with `yarn cypress:open`. - -The **only passing spec on this branch** will be the [cognito spec](./cypress/tests/ui-auth-providers/cognito.spec.ts); all others will fail. - -### Google - -A [guide has been written with detail around adapting the RWA](https://docs.cypress.io/guides/testing-strategies/google-authentication.html) to use [Google][google] as the authentication solution and to explain the programmatic command used for Cypress tests. - -Prerequisites include an [Google][google] account. Environment variables from [Google][google] are to be placed in the [.env](./.env). - -Start the application with `yarn dev:google` and run Cypress with `yarn cypress:open`. - -The **only passing spec** when run with `yarn dev:google` will be the [google spec](./cypress/tests/ui-auth-providers/google.spec.ts); all others will fail. - -## License - -[![license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/cypress-io/cypress/blob/master/LICENSE) - -This project is licensed under the terms of the [MIT license](/LICENSE). - -[reactjs]: https://reactjs.org -[xstate]: https://xstate.js.org -[express]: https://expressjs.com -[lowdb]: https://github.com/typicode/lowdb -[typescript]: https://typescriptlang.org -[cypressdashboard]: https://dashboard.cypress.io/projects/7s5okt/runs -[material-ui]: https://material-ui.com -[okta]: https://okta.com -[auth0]: https://auth0.com -[oktacreateapp]: https://developer.okta.com/docs/guides/sign-into-spa/react/create-okta-application/ -[cognito]: https://aws.amazon.com/cognito -[awsamplify]: https://amplify.aws -[google]: https://google.com - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - -

Kevin Old

Amir Rustamzadeh

Brian Mann

Gleb Bahmutov

Ben Hong

David Khourshid
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!! +1. `yarn start:ci` +1. `yarn cypress:run:replay` diff --git a/README.old.md b/README.old.md new file mode 100644 index 000000000..0ee11ffa4 --- /dev/null +++ b/README.old.md @@ -0,0 +1,259 @@ +

+ Cypress Real World App Logo +

+ +

+ + Cypress Logo + +

+ +

+ + + + + + + + + + + + + + + +

+ +

+A payment application to demonstrate real-world usage of Cypress testing methods, patterns, and workflows. +

+ +

+ Cypress Real World App +

+ +> 💬 **Note from maintainers** +> +> This application is purely for demonstration and educational purposes. Its setup and configuration resemble typical real-world applications, but it's not a full-fledged production system. Use this app to learn, experiment, tinker, and practice application testing with Cypress. +> +> Happy Testing! + +--- + +## Features + +🛠 Built with [React][reactjs], [XState][xstate], [Express][express], [lowdb][lowdb], [Material-UI][material-ui] and [TypeScript][typescript] +⚡️ Zero database dependencies +🚀 Full-stack [Express][express]/[React][reactjs] application with real-world features and tests +👮‍♂️ Local Authentication +🔥 Database Seeding with End-to-end Tests +💻 CI/CD + [Cypress Dashboard][cypressdashboard] + +## Getting Started + +The Cypress Real-World App (RWA) is a full-stack Express/React application backed by a local JSON database ([lowdb]). + +The app is bundled with [example data](./data/database.json) (`data/database.json`) that contains everything you need to start using the app and run tests out-of-the-box. + +> 🚩 **Note** +> +> You can login to the app with any of the [example app users](./data/database.json#L2). The default password for all users is `s3cret`. +> Example users can be seen by running `yarn list:dev:users`. + +### Prerequisites + +The only requirement for this project is to have [Node.js](https://nodejs.org/en/) **version 14** installed on your machine. Refer to the [.node-version](./.node-version) file for the exact version. + +TypeScript will be added as a local dependency to the project, so no need to install it. + +### Installation + +```shell +yarn install +``` + +#### Mac M1 chip users will need to prepend `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true`. + +```shell +PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true yarn install +``` + +### Run the app + +```shell +yarn dev +``` + +> 🚩 **Note** +> +> The app will run on port `3000` (frontend) and `3001` (API backend) by default. Please make sure there are no other applications or services running on both ports. +> If you want to change the default ports, you can do so by modifying `PORT` and `REACT_APP_BACKEND_PORT` variables in `.env` file. +> However, make sure the modified port numbers in `.env` are not committed into Git since the CI environments still expect the application to run on the default ports. + +### Start Cypress + +```shell +yarn cypress:open +``` + +> 🚩 **Note** +> +> If you have changed the default ports, then you need to update Cypress configuration file (`cypress.json`) locally. +> There are three properties that you need to update in `cypress.json`: `baseUrl`, `apiUrl`, and `url`. +> The port number in `baseUrl` corresponds to `PORT` variable in `.env` file. Similarly, the port number in `apiUrl` and `url` correspond to `REACT_APP_BACKEND_PORT`. +> For example, if you have changed `PORT` to `13000` and `REACT_APP_BACKEND_PORT` to `13001` in `.env` file, then your `cypress.json` should look similar to the following snippet: +> +> ```json +> { +> "baseUrl": "http://localhost:13000", +> /* Omitted for brevity */ +> "env": { +> "apiUrl": "http://localhost:13001", +> /* Omitted for brevity */ +> "codeCoverage": { +> "url": "http://localhost:13001/__coverage__" +> } +> }, +> "experimentalStudio": true +> } +> ``` +> +> Avoid committing the modified `cypress.json` into Git since the CI environments still expect the application to be run on default ports. + +## Tests + +| Type | Location | +| ---- | ---------------------------------------- | +| api | [cypress/tests/api](./cypress/tests/api) | +| ui | [cypress/tests/ui](./cypress/tests/ui) | +| unit | [`src/__tests__`](./src/__tests__) | + +## Database + +- The local JSON database is located in [data/database.json](./data/database.json) and is managed with [lowdb]. + +- The database is [reseeded](./data/database-seed.json) each time the application is started (via `yarn dev`). Database seeding is done in between each [Cypress End-to-End test](./cypress/tests). + +- Updates via the React frontend are sent to the [Express][express] server and handled by a set of [database utilities](backend/database.ts) + +- Generate a new database using `yarn db:seed`. + +- An [empty database seed](./data/empty-seed.json) is provided along with a script (`yarn start:empty`) to view the application without data. + +## Additional NPM Scripts + +| Script | Description | +| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| dev | Starts backend in watch mode and frontend | +| dev:auth0 | Starts backend in watch mode and frontend; [Uses Auth0 for Authentication](#auth0) > [Read Guide](http://on.cypress.io/auth0) | +| dev:okta | Starts backend in watch mode and frontend; [Uses Okta for Authentication](#okta) > [Read Guide](http://on.cypress.io/okta) | +| dev:cognito | Starts backend in watch mode and frontend; [Uses Cognito for Authentication](#amazon-cognito) > [Read Guide](http://on.cypress.io/amazon-cognito) | +| dev:google | Starts backend in watch mode and frontend; [Uses Google for Authentication](#google) > [Read Guide](https://docs.cypress.io/guides/testing-strategies/google-authentication.html) | +| start | Starts backend and frontend | +| types | Validates types | +| db:seed | Generates fresh database seeds for json files in /data | +| start:empty | Starts backend, frontend and Cypress with empty database seed | +| tsnode | Customized ts-node command to get around react-scripts restrictions | +| list:dev:users | Provides id and username for users in the dev database | + +For a complete list of scripts see [package.json](./package.json) + +## Code Coverage Report + +The Cypress Real-World App uses the [@cypress/code-coverage](https://github.com/cypress-io/code-coverage) plugin to generate code coverage reports for the app frontend and backend. + +To generate a code coverage report: + +1. Run `yarn cypress:run --env coverage=true` and wait for the test run to complete. +2. Once the test run is complete, you can view the report at `coverage/index.html`. + +## 3rd Party Authentication Providers + +Support for 3rd party authentication is available in the application to demonstrate the concept and commands needed for programmatic login. + +### Auth0 + +A [guide has been written with detail around adapting the RWA](http://on.cypress.io/auth0) to use [Auth0][auth0] and to explain the programmatic command used for Cypress tests. + +Prerequisites include an Auth0 account and a Tenant configured for use with a SPA. Environment variables from Auth0 are to be placed in the [.env](./.env). + +Start the application with `yarn dev:auth0` and run Cypress with `yarn cypress:open`. + +The only passing spec on this branch will be the [auth0 spec](./cypress/tests/ui-auth-providers/auth0.spec.ts); all others will fail. + +### Okta + +A [guide has been written with detail around adapting the RWA](http://on.cypress.io/okta) to use [Okta][okta] and to explain the programmatic command used for Cypress tests. + +Prerequisites include an [Okta][okta] account and [application configured for use with a SPA][oktacreateapp]. Environment variables from [Okta][okta] are to be placed in the [.env](./.env). + +Start the application with `yarn dev:okta` and run Cypress with `yarn cypress:open`. + +The **only passing spec on this branch** will be the [okta spec](./cypress/tests/ui-auth-providers/okta.spec.ts); all others will fail. + +### Amazon Cognito + +A [guide has been written with detail around adapting the RWA](http://on.cypress.io/amazon-cognito) to use [Amazon Cognito][cognito] as the authentication solution and to explain the programmatic command used for Cypress tests. + +Prerequisites include an [Amazon Cognito][cognito] account. Environment variables from [Amazon Cognito][cognito] are provided by the [AWS Amplify CLI][awsamplify]. + +Start the application with `yarn dev:cognito` and run Cypress with `yarn cypress:open`. + +The **only passing spec on this branch** will be the [cognito spec](./cypress/tests/ui-auth-providers/cognito.spec.ts); all others will fail. + +### Google + +A [guide has been written with detail around adapting the RWA](https://docs.cypress.io/guides/testing-strategies/google-authentication.html) to use [Google][google] as the authentication solution and to explain the programmatic command used for Cypress tests. + +Prerequisites include an [Google][google] account. Environment variables from [Google][google] are to be placed in the [.env](./.env). + +Start the application with `yarn dev:google` and run Cypress with `yarn cypress:open`. + +The **only passing spec** when run with `yarn dev:google` will be the [google spec](./cypress/tests/ui-auth-providers/google.spec.ts); all others will fail. + +## License + +[![license](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/cypress-io/cypress/blob/master/LICENSE) + +This project is licensed under the terms of the [MIT license](/LICENSE). + +[reactjs]: https://reactjs.org +[xstate]: https://xstate.js.org +[express]: https://expressjs.com +[lowdb]: https://github.com/typicode/lowdb +[typescript]: https://typescriptlang.org +[cypressdashboard]: https://dashboard.cypress.io/projects/7s5okt/runs +[material-ui]: https://material-ui.com +[okta]: https://okta.com +[auth0]: https://auth0.com +[oktacreateapp]: https://developer.okta.com/docs/guides/sign-into-spa/react/create-okta-application/ +[cognito]: https://aws.amazon.com/cognito +[awsamplify]: https://amplify.aws +[google]: https://google.com + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + +

Kevin Old

Amir Rustamzadeh

Brian Mann

Gleb Bahmutov

Ben Hong

David Khourshid
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!! diff --git a/cypress.config.js b/cypress.config.js index 951164e5e..31ac484b3 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -8,6 +8,7 @@ import codeCoverageTask from "@cypress/code-coverage/task"; import { defineConfig } from "cypress"; import "@cypress/instrument-cra"; const { devServer } = require("@cypress/react/plugins/react-scripts"); +const cypressReplay = require("@replayio/cypress"); dotenv.config({ path: ".env.local" }); dotenv.config(); @@ -69,6 +70,8 @@ module.exports = defineConfig({ viewportHeight: 1000, viewportWidth: 1280, setupNodeEvents(on, config) { + cypressReplay.default(on, config); + const testDataApiEndpoint = `${config.env.apiUrl}/testData`; const queryDatabase = ({ entity, query }, callback) => { diff --git a/data/database.json b/data/database.json index e4a7169c9..0b5628d65 100644 --- a/data/database.json +++ b/data/database.json @@ -206,7 +206,7 @@ "bankName": "O'Hara - Labadie Bank", "accountNumber": "6123387981", "routingNumber": "851823229", - "isDeleted": false, + "isDeleted": true, "createdAt": "2020-05-09T07:57:26.947Z", "modifiedAt": "2020-05-21T22:18:50.916Z" }, diff --git a/package.json b/package.json index 2d31cd932..86bc719eb 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", + "@replayio/cypress": "^0.2.18", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", @@ -150,6 +151,7 @@ "precypress:open": "yarn predev:cognito:ci", "cypress:open": "cypress open", "cypress:open:mobile": "cypress open --config viewportWidth=375,viewportHeight=667", + "cypress:run:replay": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser 'Replay Chromium'", "cypress:run": "cypress run", "cypress:run:component": "cypress run --component", "cypress:run:mobile": "cypress run --config viewportWidth=375,viewportHeight=667", diff --git a/yarn.lock b/yarn.lock index d4b4ebae4..d79714fb0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,6 +4022,48 @@ schema-utils "^2.6.5" source-map "^0.7.3" +"@replayio/cypress@^0.2.18": + version "0.2.18" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.2.18.tgz#d190d5ef113ed67e0175142daa82b30bcbbe18da" + integrity sha512-P6v3QxCfU1asTC0p4GC7G7UNhhXIQ0uV2jCfgTMhnANyZgQlenVkHabKVfbk3kzYV/n9WcWtFa42svN0IokBYg== + dependencies: + "@replayio/replay" "^0.9.5" + "@replayio/test-utils" "^0.1.2" + uuid "^8.3.2" + +"@replayio/replay@^0.9.5": + version "0.9.5" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.9.5.tgz#f27d02662a1b9b17ca1b07d964a5c9b8b6bf9642" + integrity sha512-Xfjq+/PSXanNmnLiaYcQA6uHEeLPLR6tiB+c1btdddSYrgxDWg24kE0Bej1Rtn3sqBu2iHX7JdxzWkyFDNaRyg== + dependencies: + "@replayio/sourcemap-upload" "^1.0.3" + commander "^7.2.0" + is-uuid "^1.0.2" + jsonata "^1.8.6" + superstruct "^0.15.4" + text-table "^0.2.0" + ws "^7.5.0" + +"@replayio/sourcemap-upload@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.3.tgz#e492f27e5d96aeb576057d6a05f948f3f977544a" + integrity sha512-k/po0EklaH3BxDnK8iZFn37y1aTiYpvD9CLPueIBCRsmiUxdMz3fh6EEGtUXuDcU5dCp7gQdacTXknRZq4dbNg== + dependencies: + commander "^7.2.0" + debug "^4.3.1" + glob "^7.1.6" + node-fetch "^2.6.1" + string.prototype.matchall "^4.0.5" + +"@replayio/test-utils@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.1.2.tgz#4210462a2a8898338909b030c5aafc5826b1a150" + integrity sha512-GTOsWCFNUwkV+ri0nV9rdtbAHhjJTZKYVLQtvTckD9W9DCIsr2YD5C2dKuLf3iSUfbD4je++We6l0CnTwRWI5w== + dependencies: + "@replayio/replay" "^0.9.5" + node-fetch "^2.6.7" + uuid "^8.3.2" + "@rollup/plugin-node-resolve@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" @@ -6848,6 +6890,11 @@ commander@^5.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -10661,6 +10708,11 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +is-uuid@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-uuid/-/is-uuid-1.0.2.tgz#ad1898ddf154947c25c8e54966f48604e9caecc4" + integrity sha512-tCByphFcJgf2qmiMo5hMCgNAquNSagOetVetDvBXswGkNfoyEMvGH1yDlF8cbZbKnbVBr4Y5/rlpMz9umxyBkQ== + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -11420,6 +11472,11 @@ json@11.0.0: resolved "https://registry.yarnpkg.com/json/-/json-11.0.0.tgz#2e84493134e2f42c131165aa22a124df38b3a3ee" integrity sha512-N/ITv3Yw9Za8cGxuQqSqrq6RHnlaHWZkAFavcfpH/R52522c26EbihMxnY7A1chxfXJ4d+cEFIsyTgfi9GihrA== +jsonata@^1.8.6: + version "1.8.6" + resolved "https://registry.yarnpkg.com/jsonata/-/jsonata-1.8.6.tgz#e5f0e6ace870a34bac881a182ca2b31227122791" + integrity sha512-ZH2TPYdNP2JecOl/HvrH47Xc+9imibEMQ4YqKy/F/FrM+2a6vfbGxeCX23dB9Fr6uvGwv+ghf1KxWB3iZk09wA== + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -12569,6 +12626,13 @@ node-fetch@^2.6.1: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -16250,6 +16314,11 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" +superstruct@^0.15.4: + version "0.15.5" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" + integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== + supports-color@^5.0.0, supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -17812,6 +17881,11 @@ ws@^7.2.3, ws@^7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== +ws@^7.5.0: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" From 0b8dccaf68e253dda7f0226eac7fc8fa47adb786 Mon Sep 17 00:00:00 2001 From: Jaril Date: Fri, 16 Sep 2022 14:09:09 -0700 Subject: [PATCH 03/63] Don't run in parallel and record --- .github/workflows/main.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8918542f2..a7cfe62ce 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -79,9 +79,6 @@ jobs: wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: 'Replay Chromium' - record: true - parallel: true - group: "UI - Chrome" spec: cypress/tests/ui/* config-file: cypress.config.js # env: @@ -147,9 +144,6 @@ jobs: wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: 'Replay Chromium' - record: true - parallel: true - group: "UI - Chrome" spec: cypress/tests/ui/* config-file: cypress.config.js # env: @@ -210,9 +204,6 @@ jobs: wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: chrome - record: true - parallel: true - group: "UI - Chrome" spec: cypress/tests/ui/* config-file: cypress.config.js # env: @@ -260,7 +251,6 @@ jobs: # browser: chrome # record: true # parallel: true - # group: "UI - Chrome - Mobile" # spec: cypress/tests/ui/* # config-file: cypress.config.js # # env: From 888e19a2d37a3d056fb640cf0ecf6c2653a437cd Mon Sep 17 00:00:00 2001 From: Jaril Date: Fri, 16 Sep 2022 15:22:00 -0700 Subject: [PATCH 04/63] Remove timeout --- .github/workflows/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a7cfe62ce..7335c3bc7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -38,7 +38,6 @@ jobs: ui-chrome-tests-record: name: UI tests (record) - timeout-minutes: 15 runs-on: ubuntu-latest container: image: cypress/browsers:node16.13.0-chrome95-ff94 @@ -163,7 +162,6 @@ jobs: ui-chrome-tests-original: name: UI tests (original) - timeout-minutes: 15 runs-on: ubuntu-latest container: image: cypress/browsers:node16.13.0-chrome95-ff94 From c30d2bb6fd3839eb901711623d2b5dd0187eb788 Mon Sep 17 00:00:00 2001 From: Jaril Date: Wed, 19 Oct 2022 09:48:34 -0700 Subject: [PATCH 05/63] Add env variable --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7335c3bc7..d5dc4d4df 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -88,6 +88,7 @@ jobs: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # DEBUG: "cypress:server:args" env: + RECORD_REPLAY_JS_ASSERTS: 1 RECORD_REPLAY_TEST_METRICS: 1 RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} RECORD_ALL_CONTENT: 1 From 13ccaa1f36049ed856ab0d8ccd5b995f2f58c0aa Mon Sep 17 00:00:00 2001 From: Jaril Date: Thu, 20 Oct 2022 11:28:46 -0700 Subject: [PATCH 06/63] Comment out the assert --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d5dc4d4df..6f8c3d406 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -88,7 +88,7 @@ jobs: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # DEBUG: "cypress:server:args" env: - RECORD_REPLAY_JS_ASSERTS: 1 + # RECORD_REPLAY_JS_ASSERTS: 1 RECORD_REPLAY_TEST_METRICS: 1 RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} RECORD_ALL_CONTENT: 1 From 419c85fcc8b04bf63cd5a2178b32c9b8fae5d391 Mon Sep 17 00:00:00 2001 From: Jaril Date: Fri, 21 Oct 2022 06:37:14 -0700 Subject: [PATCH 07/63] Update @replayio/cypress --- package.json | 2 +- yarn.lock | 38 +++++++++++++++++++++++--------------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 86bc719eb..d39dc4792 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.2.18", + "@replayio/cypress": "^0.3.0", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index d79714fb0..bc12ef0c9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,22 +4022,23 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.2.18": - version "0.2.18" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.2.18.tgz#d190d5ef113ed67e0175142daa82b30bcbbe18da" - integrity sha512-P6v3QxCfU1asTC0p4GC7G7UNhhXIQ0uV2jCfgTMhnANyZgQlenVkHabKVfbk3kzYV/n9WcWtFa42svN0IokBYg== +"@replayio/cypress@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.3.0.tgz#adf7e4cf923c57be975eef337b52cdaa1166ba1e" + integrity sha512-7V5TDDuIYm21vdTElF6D7qgjStmxwnVPKbP1zGi3IdXslozwOiq6NtcnfJf/fLgYHiF4K9SXwdA/pl9lfTkOrw== dependencies: - "@replayio/replay" "^0.9.5" - "@replayio/test-utils" "^0.1.2" + "@replayio/replay" "^0.10.0" + "@replayio/test-utils" "^0.2.0" uuid "^8.3.2" -"@replayio/replay@^0.9.5": - version "0.9.5" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.9.5.tgz#f27d02662a1b9b17ca1b07d964a5c9b8b6bf9642" - integrity sha512-Xfjq+/PSXanNmnLiaYcQA6uHEeLPLR6tiB+c1btdddSYrgxDWg24kE0Bej1Rtn3sqBu2iHX7JdxzWkyFDNaRyg== +"@replayio/replay@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.0.tgz#6fc2261af2307c4e97ed3c63c2ec5a0423177427" + integrity sha512-oVTipwXzyNbLb7H4Nwn4Q9a+gn4DYsv+Ko3vMU68cVp4/Xmrp4p97m6Wq/p+lz7phWEULd9gUXwugnpfwUlUoA== dependencies: "@replayio/sourcemap-upload" "^1.0.3" commander "^7.2.0" + debug "^4.3.4" is-uuid "^1.0.2" jsonata "^1.8.6" superstruct "^0.15.4" @@ -4055,12 +4056,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.1.2.tgz#4210462a2a8898338909b030c5aafc5826b1a150" - integrity sha512-GTOsWCFNUwkV+ri0nV9rdtbAHhjJTZKYVLQtvTckD9W9DCIsr2YD5C2dKuLf3iSUfbD4je++We6l0CnTwRWI5w== +"@replayio/test-utils@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.2.0.tgz#5414bab529d0d60964afdcb544e02646f7af1603" + integrity sha512-IvcqiH6htHVgzsIVq7lT7XpXSJB9DdKvZxRbh0cH+THy7C9lpu/0KrrNx771MeRvjA/Lv+1ZrzsSRTUPzQexnQ== dependencies: - "@replayio/replay" "^0.9.5" + "@replayio/replay" "^0.10.0" node-fetch "^2.6.7" uuid "^8.3.2" @@ -7642,6 +7643,13 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.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" + decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" From c28d5573e16dc8cb8282a6b49cf0204167d9b14d Mon Sep 17 00:00:00 2001 From: Jaril Date: Mon, 24 Oct 2022 14:02:47 -0700 Subject: [PATCH 08/63] Upload runtime benchmarks --- .github/workflows/main.yml | 91 ++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 48 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6f8c3d406..db9bcd90a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,13 +36,16 @@ jobs: if-no-files-found: error path: build - ui-chrome-tests-record: + record: name: UI tests (record) runs-on: ubuntu-latest container: image: cypress/browsers:node16.13.0-chrome95-ff94 options: --user 1001 needs: install + outputs: + recordDuration: ${{steps.end.outputs.recordDuration}} + uploadDuration: ${{steps.end.outputs.uploadDuration}} strategy: # when one test fails, DO NOT cancel the other # containers, because this will kill Cypress processes @@ -71,6 +74,10 @@ jobs: - name: __e Dir run: ls /__e + - name: Set test start + id: recordStart + run: echo "time=`date +%s`" >> $GITHUB_OUTPUT + - name: "UI Tests - Chrome" uses: cypress-io/github-action@v4 with: @@ -94,6 +101,10 @@ jobs: RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata + - name: Set upload start + id: uploadStart + run: echo "time=`date +%s`" >> $GITHUB_OUTPUT + - name: Upload replays if: ${{ always() }} uses: replayio/action-upload@v0.4.3 @@ -101,7 +112,13 @@ jobs: public: true api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 - ui-chrome-tests-no-record: + - name: Set duration in output + id: end + run: | + echo "recordDuration=$((${{ steps.uploadStart.outputs.time }} - ${{ steps.recordStart.outputs.time }}))" >> $GITHUB_OUTPUT + echo "uploadDuration=$((`date +%s` - ${{ steps.uploadStart.outputs.time }}))" >> $GITHUB_OUTPUT + + no-record: name: UI tests (no record) timeout-minutes: 15 runs-on: ubuntu-latest @@ -161,13 +178,15 @@ jobs: RECORD_REPLAY_DRIVER: /tmp/not-here - ui-chrome-tests-original: + original: name: UI tests (original) runs-on: ubuntu-latest container: image: cypress/browsers:node16.13.0-chrome95-ff94 options: --user 1001 needs: install + outputs: + duration: ${{steps.end.outputs.duration}} strategy: # when one test fails, DO NOT cancel the other # containers, because this will kill Cypress processes @@ -196,6 +215,10 @@ jobs: - name: __e Dir run: ls /__e + - name: Set test start + id: start + run: echo "time=`date +%s`" >> $GITHUB_OUTPUT + - name: "UI Tests - Chrome" uses: cypress-io/github-action@v4 with: @@ -213,48 +236,20 @@ jobs: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # DEBUG: "cypress:server:args" - # ui-chrome-mobile-tests: - # name: UI mobile tests (original) - # timeout-minutes: 15 - # runs-on: ubuntu-latest - # container: - # image: cypress/browsers:node16.13.0-chrome95-ff94 - # options: --user 1001 - # needs: install - # strategy: - # # when one test fails, DO NOT cancel the other - # # containers, because this will kill Cypress processes - # # leaving the Dashboard hanging ... - # # https://github.com/cypress-io/github-action/issues/48 - # fail-fast: false - # matrix: - # # run copies of the current job in parallel - # containers: [1, 2, 3, 4, 5] - # steps: - # - name: Checkout - # uses: actions/checkout@v3 - - # - name: Download the build folders - # uses: actions/download-artifact@v3 - # with: - # name: build - # path: build - - # - name: "UI Tests - Chrome - Mobile" - # uses: cypress-io/github-action@v4 - # with: - # config: "viewportWidth=375,viewportHeight=667" - # start: yarn start:ci - # wait-on: "http://localhost:3000" - # wait-on-timeout: 120 - # browser: chrome - # record: true - # parallel: true - # spec: cypress/tests/ui/* - # config-file: cypress.config.js - # # env: - # # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - # # CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # # # Recommended: pass the GitHub token lets this action correctly - # # # determine the unique run id necessary to re-run the checks - # # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Set duration in output + id: end + run: echo "duration=$((`date +%s` - ${{ steps.start.outputs.time }}))" >> $GITHUB_OUTPUT + upload-benchmarks: + name: Upload benchmarks + runs-on: ubuntu-latest + needs: [record, original] + steps: + - run: | + echo "Original Duration: ${{ needs.original.outputs.duration }}" + echo "Record Duration: ${{ needs.record.outputs.recordDuration }}" + echo "Upload Duration: ${{ needs.record.outputs.uploadDuration }}" + - name: Fetch API Data 📦 + uses: JamesIves/fetch-api-data-action@v2 + with: + endpoint: "https://telemetry.replay.io" + configuration: '{ "method": "POST", "body": {"event": "Webhook", "source": "metrics", "name": "action-finished", "project": "cypress-realworld-app", "originalDuration": "${{ needs.original.outputs.duration }}", "recordDuration": "${{ needs.record.outputs.recordDuration }}", "uploadDuration": "${{ needs.record.outputs.uploadDuration }}"} }' From 13b4804d0c3e1ea9b831198b4bff029afac120e6 Mon Sep 17 00:00:00 2001 From: Jaril Date: Mon, 24 Oct 2022 14:16:24 -0700 Subject: [PATCH 09/63] Always report benchmarks --- .github/workflows/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index db9bcd90a..5ea219f01 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -75,6 +75,7 @@ jobs: run: ls /__e - name: Set test start + if: always() id: recordStart run: echo "time=`date +%s`" >> $GITHUB_OUTPUT @@ -102,6 +103,7 @@ jobs: RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata - name: Set upload start + if: always() id: uploadStart run: echo "time=`date +%s`" >> $GITHUB_OUTPUT @@ -113,6 +115,7 @@ jobs: api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 - name: Set duration in output + if: always() id: end run: | echo "recordDuration=$((${{ steps.uploadStart.outputs.time }} - ${{ steps.recordStart.outputs.time }}))" >> $GITHUB_OUTPUT @@ -216,6 +219,7 @@ jobs: run: ls /__e - name: Set test start + if: always() id: start run: echo "time=`date +%s`" >> $GITHUB_OUTPUT @@ -237,6 +241,7 @@ jobs: # DEBUG: "cypress:server:args" - name: Set duration in output + if: always() id: end run: echo "duration=$((`date +%s` - ${{ steps.start.outputs.time }}))" >> $GITHUB_OUTPUT upload-benchmarks: From 866828305fa10c1909faa9dd76d3dba5ed0dc5cb Mon Sep 17 00:00:00 2001 From: Jaril Date: Tue, 1 Nov 2022 10:55:34 -0700 Subject: [PATCH 10/63] Bump replayio/cypress --- cypress/support/e2e.ts | 1 + package.json | 2 +- yarn.lock | 49 +++++++++++++++++++++++++----------------- 3 files changed, 31 insertions(+), 21 deletions(-) diff --git a/cypress/support/e2e.ts b/cypress/support/e2e.ts index 2b2058088..1690a18f1 100644 --- a/cypress/support/e2e.ts +++ b/cypress/support/e2e.ts @@ -2,6 +2,7 @@ import "@cypress/code-coverage/support"; import "./commands"; import { isMobile } from "./utils"; +require("@replayio/cypress/support"); beforeEach(() => { // cy.intercept middleware to remove 'if-none-match' headers from all requests diff --git a/package.json b/package.json index d39dc4792..fcef557c5 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.3.0", + "@replayio/cypress": "^0.3.3", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index bc12ef0c9..8590f40bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,21 +4022,21 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.3.0.tgz#adf7e4cf923c57be975eef337b52cdaa1166ba1e" - integrity sha512-7V5TDDuIYm21vdTElF6D7qgjStmxwnVPKbP1zGi3IdXslozwOiq6NtcnfJf/fLgYHiF4K9SXwdA/pl9lfTkOrw== +"@replayio/cypress@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.3.3.tgz#2736416b0e646b0f41e95dd0ab9cc5b98a451056" + integrity sha512-Sp3hLUxq+DSf1LRCM1UeDGaRA8AhydV8z/WRRxzxoeae4TTUAdUvohjqhHTc/QRez7iu/tet9sXLZL+GkKc0ow== dependencies: - "@replayio/replay" "^0.10.0" - "@replayio/test-utils" "^0.2.0" + "@replayio/replay" "^0.10.1" + "@replayio/test-utils" "^0.2.2" uuid "^8.3.2" -"@replayio/replay@^0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.0.tgz#6fc2261af2307c4e97ed3c63c2ec5a0423177427" - integrity sha512-oVTipwXzyNbLb7H4Nwn4Q9a+gn4DYsv+Ko3vMU68cVp4/Xmrp4p97m6Wq/p+lz7phWEULd9gUXwugnpfwUlUoA== +"@replayio/replay@^0.10.1": + version "0.10.1" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.1.tgz#9f8fa612f471e970ca4557203edbbd3c84c72b32" + integrity sha512-/5fcItk55Jq/zSVgUpdEGBK6+lMPq69PCv0cwUBxXGtbNHjt0DToBCIAd3784bAJDVOnSSHMTDLEaSOAAf92ew== dependencies: - "@replayio/sourcemap-upload" "^1.0.3" + "@replayio/sourcemap-upload" "^1.0.4" commander "^7.2.0" debug "^4.3.4" is-uuid "^1.0.2" @@ -4045,10 +4045,10 @@ text-table "^0.2.0" ws "^7.5.0" -"@replayio/sourcemap-upload@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.3.tgz#e492f27e5d96aeb576057d6a05f948f3f977544a" - integrity sha512-k/po0EklaH3BxDnK8iZFn37y1aTiYpvD9CLPueIBCRsmiUxdMz3fh6EEGtUXuDcU5dCp7gQdacTXknRZq4dbNg== +"@replayio/sourcemap-upload@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.4.tgz#61487aa889fdae87f5e699f6728a284ca69446d6" + integrity sha512-xkeeLSxD2sX/3v/D7Dh1iy6QAfeQMmKvA7oYpvESFkliWAhGyN0dsM1lr2QeUSqqt+nDTc70/cxl+wEEDxft9w== dependencies: commander "^7.2.0" debug "^4.3.1" @@ -4056,12 +4056,13 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.2.0.tgz#5414bab529d0d60964afdcb544e02646f7af1603" - integrity sha512-IvcqiH6htHVgzsIVq7lT7XpXSJB9DdKvZxRbh0cH+THy7C9lpu/0KrrNx771MeRvjA/Lv+1ZrzsSRTUPzQexnQ== +"@replayio/test-utils@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.2.2.tgz#344647332f72ed97f4902e720fa35be6a3e99297" + integrity sha512-Xp6ZDHbMr7LZvbypJJus+5p+H4jaO9Iffxp9KUb200K8vixuHcfE5BVGr37F6+Zoa4IcGOOnd7ItPJT7j4sJnw== dependencies: - "@replayio/replay" "^0.10.0" + "@replayio/replay" "^0.10.1" + "@types/node-fetch" "^2.6.2" node-fetch "^2.6.7" uuid "^8.3.2" @@ -4602,6 +4603,14 @@ dependencies: "@types/node" "*" +"@types/node-fetch@^2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" + integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + "@types/node@*": version "16.9.6" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.6.tgz#040a64d7faf9e5d9e940357125f0963012e66f04" From 09312347ecba0c3a3c2ad1a6e3404ebd1d993cca Mon Sep 17 00:00:00 2001 From: Jaril Date: Thu, 10 Nov 2022 15:21:04 -0800 Subject: [PATCH 11/63] Bump to @replayio/cypress@0.3.5 --- package.json | 2 +- yarn.lock | 40 ++++++++++++++++++++-------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index fcef557c5..5482972bd 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.3.3", + "@replayio/cypress": "^0.3.5", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index 8590f40bf..0d560f9fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,21 +4022,21 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.3.3.tgz#2736416b0e646b0f41e95dd0ab9cc5b98a451056" - integrity sha512-Sp3hLUxq+DSf1LRCM1UeDGaRA8AhydV8z/WRRxzxoeae4TTUAdUvohjqhHTc/QRez7iu/tet9sXLZL+GkKc0ow== +"@replayio/cypress@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.3.5.tgz#435744dc0390ce62af156411fe592355ef930c85" + integrity sha512-x8bvKJQRX4j44n2Rw+ylIe9BnJAm9SPbOniHIdq5MyxJCVyN9rRJHfdYJQNBBPr/+iqTbtNufCgIuPzLl6nDjg== dependencies: - "@replayio/replay" "^0.10.1" - "@replayio/test-utils" "^0.2.2" + "@replayio/replay" "^0.10.3" + "@replayio/test-utils" "^0.2.4" uuid "^8.3.2" -"@replayio/replay@^0.10.1": - version "0.10.1" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.1.tgz#9f8fa612f471e970ca4557203edbbd3c84c72b32" - integrity sha512-/5fcItk55Jq/zSVgUpdEGBK6+lMPq69PCv0cwUBxXGtbNHjt0DToBCIAd3784bAJDVOnSSHMTDLEaSOAAf92ew== +"@replayio/replay@^0.10.3": + version "0.10.3" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.3.tgz#dce32eda035cebd931e8c03c91bc5b5d085580d4" + integrity sha512-3gp5zEfScyDZpK9ZHEouMQNP0HdR8s3kA4Ojo6x+1W6ApzuEB5BJfTGZeTz+l1PlnMBxqw8/eWUZjwJM1tHmRw== dependencies: - "@replayio/sourcemap-upload" "^1.0.4" + "@replayio/sourcemap-upload" "^1.0.5" commander "^7.2.0" debug "^4.3.4" is-uuid "^1.0.2" @@ -4045,10 +4045,10 @@ text-table "^0.2.0" ws "^7.5.0" -"@replayio/sourcemap-upload@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.4.tgz#61487aa889fdae87f5e699f6728a284ca69446d6" - integrity sha512-xkeeLSxD2sX/3v/D7Dh1iy6QAfeQMmKvA7oYpvESFkliWAhGyN0dsM1lr2QeUSqqt+nDTc70/cxl+wEEDxft9w== +"@replayio/sourcemap-upload@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.5.tgz#e4476409b492af9a1464ad12b9eace7def59fd4c" + integrity sha512-zMpI+kQKO7JljX8QrZiP06UcKomLWKMlHkrBga+tLOjTIFCeRySiksVZoIoLsfxmbxhmquNXKHlUWW20CSwZDA== dependencies: commander "^7.2.0" debug "^4.3.1" @@ -4056,12 +4056,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.2.2.tgz#344647332f72ed97f4902e720fa35be6a3e99297" - integrity sha512-Xp6ZDHbMr7LZvbypJJus+5p+H4jaO9Iffxp9KUb200K8vixuHcfE5BVGr37F6+Zoa4IcGOOnd7ItPJT7j4sJnw== +"@replayio/test-utils@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.2.4.tgz#b56db176acebf655e317b42332a490f3f3e22430" + integrity sha512-8u3gIr/cN9ygrpQX71Q3j/eNbSA73yBFz5FLw3lrBBiKNziQb12mAHtUHQoqpWTDH2N4dxzNnlab0UCqxUs44Q== dependencies: - "@replayio/replay" "^0.10.1" + "@replayio/replay" "^0.10.3" "@types/node-fetch" "^2.6.2" node-fetch "^2.6.7" uuid "^8.3.2" From 74166a728ce1a8b99821d21905972ebad3e6c3b3 Mon Sep 17 00:00:00 2001 From: Jaril Date: Wed, 16 Nov 2022 12:18:59 -0800 Subject: [PATCH 12/63] Bump to @replayio/cypress@0.3.9 --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 5482972bd..8fdd318b3 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.3.5", + "@replayio/cypress": "^0.3.9", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index 0d560f9fc..6464871a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,13 +4022,13 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.3.5.tgz#435744dc0390ce62af156411fe592355ef930c85" - integrity sha512-x8bvKJQRX4j44n2Rw+ylIe9BnJAm9SPbOniHIdq5MyxJCVyN9rRJHfdYJQNBBPr/+iqTbtNufCgIuPzLl6nDjg== +"@replayio/cypress@^0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.3.9.tgz#e48de799c13847b314115a992431b4055a6cdc1c" + integrity sha512-tOUaNMmfQID2IXQRL/XKcgcXFoL6KMsTBKWLOMvMF8wVxs+UQSqqIY7aMwvTFIeBamjxQQmQkEMgZ+7UHZ58jQ== dependencies: "@replayio/replay" "^0.10.3" - "@replayio/test-utils" "^0.2.4" + "@replayio/test-utils" "^0.3.1" uuid "^8.3.2" "@replayio/replay@^0.10.3": @@ -4056,10 +4056,10 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.2.4.tgz#b56db176acebf655e317b42332a490f3f3e22430" - integrity sha512-8u3gIr/cN9ygrpQX71Q3j/eNbSA73yBFz5FLw3lrBBiKNziQb12mAHtUHQoqpWTDH2N4dxzNnlab0UCqxUs44Q== +"@replayio/test-utils@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.3.1.tgz#6428c73a38320c561995d7c057d6da9227cef263" + integrity sha512-whuwq21j9rEzukDGEWxc7fYnWhz0sXI0kso1y1Qp+FA8HZcfcjJ23CDk82SLjIl20QQGaHm9ch9IaZXetfO4nQ== dependencies: "@replayio/replay" "^0.10.3" "@types/node-fetch" "^2.6.2" From a20192b1bb06c66be7f64f3a1d46da8f6230ee48 Mon Sep 17 00:00:00 2001 From: Jaril Date: Thu, 8 Dec 2022 12:50:52 -0800 Subject: [PATCH 13/63] Bump to @replayio/cypress@0.4.3 --- package.json | 2 +- yarn.lock | 38 +++++++++++++++++++++++--------------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 8fdd318b3..3bd3253b9 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.3.9", + "@replayio/cypress": "^0.4.3", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index 6464871a7..08573590e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,19 +4022,20 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.3.9.tgz#e48de799c13847b314115a992431b4055a6cdc1c" - integrity sha512-tOUaNMmfQID2IXQRL/XKcgcXFoL6KMsTBKWLOMvMF8wVxs+UQSqqIY7aMwvTFIeBamjxQQmQkEMgZ+7UHZ58jQ== +"@replayio/cypress@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.3.tgz#c40df475754201b7d12b7312b005acee185f4515" + integrity sha512-CKgq5c4ud84L+gL48WORylusybCbuvN7Bqh2XoZEGWgTvTfbFfy943YbMrghowv1+F0nkQbDGMb3ul4iWcwyYw== dependencies: - "@replayio/replay" "^0.10.3" - "@replayio/test-utils" "^0.3.1" + "@replayio/replay" "^0.10.6" + "@replayio/test-utils" "^0.3.4" + semver "^7.3.8" uuid "^8.3.2" -"@replayio/replay@^0.10.3": - version "0.10.3" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.3.tgz#dce32eda035cebd931e8c03c91bc5b5d085580d4" - integrity sha512-3gp5zEfScyDZpK9ZHEouMQNP0HdR8s3kA4Ojo6x+1W6ApzuEB5BJfTGZeTz+l1PlnMBxqw8/eWUZjwJM1tHmRw== +"@replayio/replay@^0.10.6": + version "0.10.6" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.6.tgz#b86596d5934f9121057c9f50b1e7ab5f66d5701a" + integrity sha512-U4rFSKzcG69UduV4LVPSCCnvcoF2ogXLHc0mHEUgd195puhTsZcLZPV4byXCzIUCLR+tkJNrWBPcM9Nwn5JauQ== dependencies: "@replayio/sourcemap-upload" "^1.0.5" commander "^7.2.0" @@ -4056,12 +4057,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.3.1.tgz#6428c73a38320c561995d7c057d6da9227cef263" - integrity sha512-whuwq21j9rEzukDGEWxc7fYnWhz0sXI0kso1y1Qp+FA8HZcfcjJ23CDk82SLjIl20QQGaHm9ch9IaZXetfO4nQ== +"@replayio/test-utils@^0.3.4": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.3.4.tgz#6bb78700994f61177193da8903584a9ae398f27a" + integrity sha512-5kkfRWZnDth/SdbvEAliD+fanrT0BG8uPzn+dqGYREr8e58GiL/bf0uOtrurIhzuQoKBSseYtmL2amdqIg27ng== dependencies: - "@replayio/replay" "^0.10.3" + "@replayio/replay" "^0.10.6" "@types/node-fetch" "^2.6.2" node-fetch "^2.6.7" uuid "^8.3.2" @@ -15573,6 +15574,13 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" +semver@^7.3.8: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" From bf0e9b5dfbfe36af41837cf174af1a79cd88f87a Mon Sep 17 00:00:00 2001 From: Jaril Date: Thu, 15 Dec 2022 07:12:19 -0800 Subject: [PATCH 14/63] Remove matrix --- .github/workflows/main.yml | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5ea219f01..997523bbc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -46,15 +46,6 @@ jobs: outputs: recordDuration: ${{steps.end.outputs.recordDuration}} uploadDuration: ${{steps.end.outputs.uploadDuration}} - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving the Dashboard hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] steps: - name: Checkout uses: actions/checkout@v3 @@ -129,15 +120,6 @@ jobs: image: cypress/browsers:node16.13.0-chrome95-ff94 options: --user 1001 needs: install - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving the Dashboard hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] steps: - name: Checkout uses: actions/checkout@v3 @@ -190,15 +172,6 @@ jobs: needs: install outputs: duration: ${{steps.end.outputs.duration}} - strategy: - # when one test fails, DO NOT cancel the other - # containers, because this will kill Cypress processes - # leaving the Dashboard hanging ... - # https://github.com/cypress-io/github-action/issues/48 - fail-fast: false - matrix: - # run copies of the current job in parallel - containers: [1, 2, 3, 4, 5] steps: - name: Checkout uses: actions/checkout@v3 From fb79fca05f8d0869a7bf2290eee3fc3e9b898e3c Mon Sep 17 00:00:00 2001 From: Jaril Date: Mon, 19 Dec 2022 13:11:52 -0800 Subject: [PATCH 15/63] Add action-finished-2 (#13) * Update cypress config * Track metrics as action-finished-2 --- .github/workflows/main.yml | 53 ++++++++++++++++++++++++++++---------- cypress.config.js | 8 ++++++ 2 files changed, 48 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 997523bbc..22504c597 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -65,11 +65,6 @@ jobs: - name: __e Dir run: ls /__e - - name: Set test start - if: always() - id: recordStart - run: echo "time=`date +%s`" >> $GITHUB_OUTPUT - - name: "UI Tests - Chrome" uses: cypress-io/github-action@v4 with: @@ -93,6 +88,13 @@ jobs: RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata + - name: Parse test run duration + id: set_var + if: always() + run: | + content=`cat duration.json` + echo "::set-output name=duration::$content" + - name: Set upload start if: always() id: uploadStart @@ -109,8 +111,8 @@ jobs: if: always() id: end run: | - echo "recordDuration=$((${{ steps.uploadStart.outputs.time }} - ${{ steps.recordStart.outputs.time }}))" >> $GITHUB_OUTPUT - echo "uploadDuration=$((`date +%s` - ${{ steps.uploadStart.outputs.time }}))" >> $GITHUB_OUTPUT + echo "recordDuration=${{fromJson(steps.set_var.outputs.duration)}}" >> $GITHUB_OUTPUT + echo "uploadDuration=$(((`date +%s` - ${{ steps.uploadStart.outputs.time }}) * 1000))" >> $GITHUB_OUTPUT no-record: name: UI tests (no record) @@ -120,6 +122,8 @@ jobs: image: cypress/browsers:node16.13.0-chrome95-ff94 options: --user 1001 needs: install + outputs: + noRecordDuration: ${{steps.end.outputs.noRecordDuration}} steps: - name: Checkout uses: actions/checkout@v3 @@ -162,6 +166,17 @@ jobs: RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata RECORD_REPLAY_DRIVER: /tmp/not-here + - name: Parse test run duration + id: set_var + if: always() + run: | + content=`cat duration.json` + echo "::set-output name=duration::$content" + + - name: Set duration in output + if: always() + id: end + run: echo "noRecordDuration=${{fromJson(steps.set_var.outputs.duration)}}" >> $GITHUB_OUTPUT original: name: UI tests (original) @@ -171,7 +186,7 @@ jobs: options: --user 1001 needs: install outputs: - duration: ${{steps.end.outputs.duration}} + originalDuration: ${{steps.end.outputs.originalDuration}} steps: - name: Checkout uses: actions/checkout@v3 @@ -213,21 +228,33 @@ jobs: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # DEBUG: "cypress:server:args" - - name: Set duration in output + - name: Parse test run duration + id: set_var if: always() + run: | + content=`cat duration.json` + echo "::set-output name=duration::$content" + + - name: Set duration in output id: end - run: echo "duration=$((`date +%s` - ${{ steps.start.outputs.time }}))" >> $GITHUB_OUTPUT + if: always() + run: echo "originalDuration=${{fromJson(steps.set_var.outputs.duration)}}" >> $GITHUB_OUTPUT + upload-benchmarks: name: Upload benchmarks runs-on: ubuntu-latest - needs: [record, original] + needs: [record, no-record, original] + if: always() steps: - run: | - echo "Original Duration: ${{ needs.original.outputs.duration }}" echo "Record Duration: ${{ needs.record.outputs.recordDuration }}" + echo "No Record Duration: ${{ needs.no-record.outputs.noRecordDuration }}" + echo "Original Duration: ${{ needs.original.outputs.originalDuration }}" echo "Upload Duration: ${{ needs.record.outputs.uploadDuration }}" - name: Fetch API Data 📦 uses: JamesIves/fetch-api-data-action@v2 + # Don't upload metrics for pull requests, so our stats are clean + if: ${{ github.ref_name == 'main' }} with: endpoint: "https://telemetry.replay.io" - configuration: '{ "method": "POST", "body": {"event": "Webhook", "source": "metrics", "name": "action-finished", "project": "cypress-realworld-app", "originalDuration": "${{ needs.original.outputs.duration }}", "recordDuration": "${{ needs.record.outputs.recordDuration }}", "uploadDuration": "${{ needs.record.outputs.uploadDuration }}"} }' + configuration: '{ "method": "POST", "body": {"event": "Webhook", "source": "metrics", "name": "action-finished-2", "project": "cypress-realworld-app", "originalDuration": "${{ needs.original.outputs.originalDuration }}", "recordDuration": "${{ needs.record.outputs.recordDuration }}", "noRecordDuration": "${{ needs.no-record.outputs.noRecordDuration }}", "uploadDuration": "${{ needs.record.outputs.uploadDuration }}"} }' diff --git a/cypress.config.js b/cypress.config.js index 31ac484b3..9b01d503d 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -7,6 +7,7 @@ import { percyHealthCheck } from "@percy/cypress/task"; import codeCoverageTask from "@cypress/code-coverage/task"; import { defineConfig } from "cypress"; import "@cypress/instrument-cra"; +import { writeFileSync } from "fs"; const { devServer } = require("@cypress/react/plugins/react-scripts"); const cypressReplay = require("@replayio/cypress"); @@ -72,6 +73,13 @@ module.exports = defineConfig({ setupNodeEvents(on, config) { cypressReplay.default(on, config); + on("after:run", (afterRun) => { + const data = JSON.stringify(afterRun.totalDuration); + const filename = "duration.json"; + writeFileSync(filename, data); + console.log("cypress-json-results: wrote results to %s", filename); + }); + const testDataApiEndpoint = `${config.env.apiUrl}/testData`; const queryDatabase = ({ entity, query }, callback) => { From e73622c2db89c41a0a788f62b91aa45de47c3973 Mon Sep 17 00:00:00 2001 From: Jaril Date: Mon, 19 Dec 2022 16:40:20 -0500 Subject: [PATCH 16/63] Fix branch name --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 22504c597..c642b0fd5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -254,7 +254,7 @@ jobs: - name: Fetch API Data 📦 uses: JamesIves/fetch-api-data-action@v2 # Don't upload metrics for pull requests, so our stats are clean - if: ${{ github.ref_name == 'main' }} + if: ${{ github.ref_name == 'develop' }} with: endpoint: "https://telemetry.replay.io" configuration: '{ "method": "POST", "body": {"event": "Webhook", "source": "metrics", "name": "action-finished-2", "project": "cypress-realworld-app", "originalDuration": "${{ needs.original.outputs.originalDuration }}", "recordDuration": "${{ needs.record.outputs.recordDuration }}", "noRecordDuration": "${{ needs.no-record.outputs.noRecordDuration }}", "uploadDuration": "${{ needs.record.outputs.uploadDuration }}"} }' From 59c8954b061be30762c6b8fe85e292eeba8de06d Mon Sep 17 00:00:00 2001 From: Jaril Date: Mon, 19 Dec 2022 18:21:08 -0500 Subject: [PATCH 17/63] Remove unused tests --- .../merge-develop-into-flake-demo.yml | 73 ------------------- .github/workflows/sync-bitbucket.yml | 45 ------------ 2 files changed, 118 deletions(-) delete mode 100644 .github/workflows/merge-develop-into-flake-demo.yml delete mode 100644 .github/workflows/sync-bitbucket.yml diff --git a/.github/workflows/merge-develop-into-flake-demo.yml b/.github/workflows/merge-develop-into-flake-demo.yml deleted file mode 100644 index 0227b79eb..000000000 --- a/.github/workflows/merge-develop-into-flake-demo.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: Merge develop into flake-demo -on: - push: - branches: - - develop -jobs: - merge-master-into-develop: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set committer info - run: | - git config --local user.email "$(git log --format='%ae' HEAD^!)" - git config --local user.name "$(git log --format='%an' HEAD^!)" - - name: Checkout flake-demo branch - run: git checkout flake-demo - - name: Check for merge conflict - id: check-conflict - run: echo "::set-output name=merge_conflict::$(git merge-tree $(git merge-base HEAD develop) develop HEAD | egrep '<<<<<<<')" - - name: Merge develop into flake-demo - run: git merge develop - if: ${{ !steps.check-conflict.outputs.merge_conflict }} - - name: Push - run: git push - if: ${{ !steps.check-conflict.outputs.merge_conflict }} - - name: Checkout develop - run: git checkout develop - if: ${{ steps.check-conflict.outputs.merge_conflict }} - - name: Determine name of new branch - id: gen-names - run: | - echo "::set-output name=sha::$(git rev-parse --short HEAD)" - echo "::set-output name=branch_name::$(git rev-parse --short HEAD)-develop-into-flake-demo" - if: ${{ steps.check-conflict.outputs.merge_conflict }} - - name: Create a copy of develop on a new branch - run: git checkout -b ${{ steps.gen-names.outputs.branch_name }} develop - if: ${{ steps.check-conflict.outputs.merge_conflict }} - - name: Push branch to remote - run: git push origin ${{ steps.gen-names.outputs.branch_name }} - if: ${{ steps.check-conflict.outputs.merge_conflict }} - - name: Create Pull Request - uses: actions/github-script@v6 - with: - script: | - const pull = await github.pulls.create({ - owner: context.repo.owner, - repo: context.repo.repo, - base: 'flake-demo', - head: '${{ steps.gen-names.outputs.branch_name }}', - title: 'chore: merge develop (${{ steps.gen-names.outputs.sha }}) into flake-demo', - body: `There was a merge conflict when trying to automatically merge develop into flake-demo. Please resolve the conflict and complete the merge. - - DO NOT SQUASH AND MERGE - - @${context.actor}`, - maintainer_can_modify: true, - }) - await github.pulls.requestReviewers({ - owner: context.repo.owner, - repo: context.repo.repo, - pull_number: pull.data.number, - reviewers: [context.actor], - }) - await github.issues.addLabels({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: pull.data.number, - labels: ['auto-merge'], - }) - if: ${{ steps.check-conflict.outputs.merge_conflict }} diff --git a/.github/workflows/sync-bitbucket.yml b/.github/workflows/sync-bitbucket.yml deleted file mode 100644 index a732d733d..000000000 --- a/.github/workflows/sync-bitbucket.yml +++ /dev/null @@ -1,45 +0,0 @@ -# This action mirrors the cypress-realworld-app github repo into a Bitbucket Repo -# github.com/cypress-io/cypress-realworld-app -> bitbucket.org/cypress-io/cypress-realworld-app - -name: Sync Bitbucket over SSH - -on: - push: - branches: - - develop - -# set the BB_REPO variable to the destination bitbucket workspace name -env: - BB_ROOT: git@bitbucket.org:cypress-io - -jobs: - syncbb: - name: Synch from Github to Bitbucket using SSH - runs-on: ubuntu-latest - steps: - - name: Clone the github repo - uses: actions/checkout@v3 - - - name: Install SSH key - uses: shimataro/ssh-key-action@v2 - with: - key: ${{ secrets.BITBUCKET_SSH_KEY }} - name: id_rsa # optional - known_hosts: ${{ secrets.BITBUCKET_KNOWN_HOSTS }} - config: - Host bitbucket.org - User git - IdentityFile ~/.ssh/id_rsa - IdentitiesOnly yes - - - uses: franzdiebold/github-env-vars-action@v2 - - name: sync with bitbucket - run: | - cd $GITHUB_WORKSPACE - # update the entire repo including tags/branches; prune out deleted items - echo sync with $BB_ROOT/$CI_REPOSITORY_NAME - git fetch --prune --unshallow - # make the bitbucket repo a remote called sync - git remote add sync $BB_ROOT/$CI_REPOSITORY_NAME - # force push the sync remote with all changes. - git push --force --set-upstream -v --all sync \ No newline at end of file From 19a82fdbfe8b70e0e356aee773e54ad5d59fac80 Mon Sep 17 00:00:00 2001 From: Jaril Date: Tue, 20 Dec 2022 09:46:32 -0500 Subject: [PATCH 18/63] Bump to @replayio/cypress@0.4.4 --- package.json | 2 +- yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 3bd3253b9..7f8802234 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.4.3", + "@replayio/cypress": "^0.4.4", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index 08573590e..e64a609b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,20 +4022,20 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.3.tgz#c40df475754201b7d12b7312b005acee185f4515" - integrity sha512-CKgq5c4ud84L+gL48WORylusybCbuvN7Bqh2XoZEGWgTvTfbFfy943YbMrghowv1+F0nkQbDGMb3ul4iWcwyYw== +"@replayio/cypress@^0.4.4": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.4.tgz#18237bb3b105e7dbe023d21877b34eb3cfde543b" + integrity sha512-Kmb5fG8EAOBa+jhYlTGipc1a4HG2+NL8Y6LOg7fCazAotT05VXifCLe2ClWyQDV83gN3gfEJ1OLN5nr3mNNm3Q== dependencies: - "@replayio/replay" "^0.10.6" - "@replayio/test-utils" "^0.3.4" + "@replayio/replay" "^0.10.7" + "@replayio/test-utils" "^0.3.5" semver "^7.3.8" uuid "^8.3.2" -"@replayio/replay@^0.10.6": - version "0.10.6" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.6.tgz#b86596d5934f9121057c9f50b1e7ab5f66d5701a" - integrity sha512-U4rFSKzcG69UduV4LVPSCCnvcoF2ogXLHc0mHEUgd195puhTsZcLZPV4byXCzIUCLR+tkJNrWBPcM9Nwn5JauQ== +"@replayio/replay@^0.10.7": + version "0.10.7" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.7.tgz#55b2d619e8344f308a0bdbd5925ff50c755ff29b" + integrity sha512-1gssO66mf+IuC7vOKXleqEmLTkX04aRQAdxrU8GwEMpQupMwKP6gIVelZCmt0gfATcHMB7MbetgGEOhMq1j93Q== dependencies: "@replayio/sourcemap-upload" "^1.0.5" commander "^7.2.0" @@ -4057,12 +4057,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.3.4": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.3.4.tgz#6bb78700994f61177193da8903584a9ae398f27a" - integrity sha512-5kkfRWZnDth/SdbvEAliD+fanrT0BG8uPzn+dqGYREr8e58GiL/bf0uOtrurIhzuQoKBSseYtmL2amdqIg27ng== +"@replayio/test-utils@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.3.5.tgz#eb1c762a9561a325bcac665a8434616b0ceb7a92" + integrity sha512-/0L86mXgJnfo4PuQsGe8QMboFYHbY/5aarmw2MJCts97csEooRceZwSftu1GKZKEmzdeDAOAWbOZnNLyIM0vHA== dependencies: - "@replayio/replay" "^0.10.6" + "@replayio/replay" "^0.10.7" "@types/node-fetch" "^2.6.2" node-fetch "^2.6.7" uuid "^8.3.2" From 77ebadb6dee93100901445c7fef1bdb736f2ba0e Mon Sep 17 00:00:00 2001 From: Jaril Date: Thu, 22 Dec 2022 11:35:31 -0500 Subject: [PATCH 19/63] Run tests every hour --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c642b0fd5..d7aaf12dd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,7 +2,7 @@ name: E2E Test on: schedule: - - cron: '0 0 * * *' + - cron: '0 * * * *' push: workflow_dispatch: From 0549b42259ff84eb37eebc1d5f17cb6763621859 Mon Sep 17 00:00:00 2001 From: Jaril Date: Tue, 3 Jan 2023 09:03:54 -0500 Subject: [PATCH 20/63] Remove diagnostics --- .github/workflows/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d7aaf12dd..50c526db1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -87,6 +87,9 @@ jobs: RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata + # These two are here to help with measuring the true overhead by disabling diagnostics + RECORD_REPLAY_DISABLE_ASSERTS: 1 + RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 - name: Parse test run duration id: set_var @@ -165,6 +168,9 @@ jobs: RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata RECORD_REPLAY_DRIVER: /tmp/not-here + # These two are here to help with measuring the true overhead by disabling diagnostics + RECORD_REPLAY_DISABLE_ASSERTS: 1 + RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 - name: Parse test run duration id: set_var From 9a5da974ec7fd2502f725f2fe309e5a2e0774849 Mon Sep 17 00:00:00 2001 From: Jaril Date: Tue, 3 Jan 2023 09:04:40 -0500 Subject: [PATCH 21/63] Bump to @replayio/cypress@0.4.6 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7f8802234..19434e238 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.4.4", + "@replayio/cypress": "^0.4.6", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index e64a609b7..025645d4f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,10 +4022,10 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.4.4": - version "0.4.4" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.4.tgz#18237bb3b105e7dbe023d21877b34eb3cfde543b" - integrity sha512-Kmb5fG8EAOBa+jhYlTGipc1a4HG2+NL8Y6LOg7fCazAotT05VXifCLe2ClWyQDV83gN3gfEJ1OLN5nr3mNNm3Q== +"@replayio/cypress@^0.4.6": + version "0.4.6" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.6.tgz#4cc626efa9d7b929f8d03c6aa1e7063e4a5b3a7c" + integrity sha512-OwybXWDfZFJNyilWzWQRvZEg69xayR+W0T8W4XsU6SHzj72RyVmoUSvhCyksyPd4q+FUzMTPSah/8bhHUqdneQ== dependencies: "@replayio/replay" "^0.10.7" "@replayio/test-utils" "^0.3.5" From f326194fec17caebcd2778d15822778e6b27da58 Mon Sep 17 00:00:00 2001 From: Brian Hackett Date: Sat, 7 Jan 2023 15:09:19 -0800 Subject: [PATCH 22/63] Add test option for running against custom replay browser --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 19434e238..d26f3dbf6 100644 --- a/package.json +++ b/package.json @@ -152,6 +152,7 @@ "cypress:open": "cypress open", "cypress:open:mobile": "cypress open --config viewportWidth=375,viewportHeight=667", "cypress:run:replay": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser 'Replay Chromium'", + "cypress:run:replay-custom": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser", "cypress:run": "cypress run", "cypress:run:component": "cypress run --component", "cypress:run:mobile": "cypress run --config viewportWidth=375,viewportHeight=667", From 2643d5d57c0b1566227759c35b4f11a699451bd3 Mon Sep 17 00:00:00 2001 From: Jaril Date: Wed, 11 Jan 2023 13:11:40 -0800 Subject: [PATCH 23/63] Bump to @replayio/cypress@0.4.8 --- package.json | 2 +- yarn.lock | 31 ++++++++++++++++--------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index d26f3dbf6..da8d3b23e 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.4.6", + "@replayio/cypress": "^0.4.8", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index 025645d4f..d29d5bc59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,26 +4022,27 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.4.6": - version "0.4.6" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.6.tgz#4cc626efa9d7b929f8d03c6aa1e7063e4a5b3a7c" - integrity sha512-OwybXWDfZFJNyilWzWQRvZEg69xayR+W0T8W4XsU6SHzj72RyVmoUSvhCyksyPd4q+FUzMTPSah/8bhHUqdneQ== +"@replayio/cypress@^0.4.8": + version "0.4.8" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.8.tgz#ae1eae8e3a9ff9fcd29c1a44780eebf1ad79067e" + integrity sha512-5Bn8+jlJQ/5RRCVDGAmwWvwSZUOrGuIsGRaC7/lktRQnnd+TK0A8OUiNBZWeAIitJo4AcQ+azFTXOeVVXq0SyQ== dependencies: - "@replayio/replay" "^0.10.7" - "@replayio/test-utils" "^0.3.5" + "@replayio/replay" "^0.11.0" + "@replayio/test-utils" "^0.3.7" semver "^7.3.8" uuid "^8.3.2" -"@replayio/replay@^0.10.7": - version "0.10.7" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.10.7.tgz#55b2d619e8344f308a0bdbd5925ff50c755ff29b" - integrity sha512-1gssO66mf+IuC7vOKXleqEmLTkX04aRQAdxrU8GwEMpQupMwKP6gIVelZCmt0gfATcHMB7MbetgGEOhMq1j93Q== +"@replayio/replay@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.11.0.tgz#bd0af718b98a25cb937c44445b0defde1ae025e5" + integrity sha512-b2+DrYt/RjmeCcieBzK6IBm4doeQV/3ST8VxAV4YhuSn/gfEeJoFxXOhAu/EhKozw1Xglz50yrD1+TqeAIOx2w== dependencies: "@replayio/sourcemap-upload" "^1.0.5" commander "^7.2.0" debug "^4.3.4" is-uuid "^1.0.2" jsonata "^1.8.6" + p-map "^4.0.0" superstruct "^0.15.4" text-table "^0.2.0" ws "^7.5.0" @@ -4057,12 +4058,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.3.5.tgz#eb1c762a9561a325bcac665a8434616b0ceb7a92" - integrity sha512-/0L86mXgJnfo4PuQsGe8QMboFYHbY/5aarmw2MJCts97csEooRceZwSftu1GKZKEmzdeDAOAWbOZnNLyIM0vHA== +"@replayio/test-utils@^0.3.7": + version "0.3.7" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.3.7.tgz#01aba75052fdec71d908d423ff65917c49ae2584" + integrity sha512-MBXp8V6UgmZCIIdr1o3MQNGEm0bv+DM5TUiYmBpI8eRg88c6GDy9cHJCB9gShBLYibA3+X6waN/dd0Vvkri9Bw== dependencies: - "@replayio/replay" "^0.10.7" + "@replayio/replay" "^0.11.0" "@types/node-fetch" "^2.6.2" node-fetch "^2.6.7" uuid "^8.3.2" From c6d6a2783887d02b3a1b3a5dacf6c89b953677bf Mon Sep 17 00:00:00 2001 From: Jaril Date: Fri, 13 Jan 2023 09:06:07 -0800 Subject: [PATCH 24/63] Bump action-upload to 0.4.7 (#14) --- .github/workflows/main.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 50c526db1..8049cfe4f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,8 +1,8 @@ name: E2E Test -on: +on: schedule: - - cron: '0 * * * *' + - cron: "0 * * * *" push: workflow_dispatch: @@ -71,7 +71,7 @@ jobs: start: yarn start:ci wait-on: "http://localhost:3000" wait-on-timeout: 120 - browser: 'Replay Chromium' + browser: "Replay Chromium" spec: cypress/tests/ui/* config-file: cypress.config.js # env: @@ -105,7 +105,7 @@ jobs: - name: Upload replays if: ${{ always() }} - uses: replayio/action-upload@v0.4.3 + uses: replayio/action-upload@v0.4.7 with: public: true api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 @@ -113,7 +113,7 @@ jobs: - name: Set duration in output if: always() id: end - run: | + run: | echo "recordDuration=${{fromJson(steps.set_var.outputs.duration)}}" >> $GITHUB_OUTPUT echo "uploadDuration=$(((`date +%s` - ${{ steps.uploadStart.outputs.time }}) * 1000))" >> $GITHUB_OUTPUT @@ -152,7 +152,7 @@ jobs: start: yarn start:ci wait-on: "http://localhost:3000" wait-on-timeout: 120 - browser: 'Replay Chromium' + browser: "Replay Chromium" spec: cypress/tests/ui/* config-file: cypress.config.js # env: From fcd327389d76f3265a3e48fb856001bcd342e502 Mon Sep 17 00:00:00 2001 From: Jaril Date: Fri, 20 Jan 2023 08:00:48 -0800 Subject: [PATCH 25/63] Add back diagnostics for now (#15) --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8049cfe4f..2e1f9711e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -87,9 +87,9 @@ jobs: RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata - # These two are here to help with measuring the true overhead by disabling diagnostics - RECORD_REPLAY_DISABLE_ASSERTS: 1 - RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 + # # These two are here to help with measuring the true overhead by disabling diagnostics + # RECORD_REPLAY_DISABLE_ASSERTS: 1 + # RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 - name: Parse test run duration id: set_var From 2863b61898163bf89c42dff7f8f6b1ce0840f125 Mon Sep 17 00:00:00 2001 From: Jaril Date: Mon, 30 Jan 2023 09:32:18 -0800 Subject: [PATCH 26/63] Bump @replayio/cypress to 0.4.12 (#16) --- package.json | 2 +- yarn.lock | 38 +++++++++++++++++++++++--------------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index da8d3b23e..c890ed1c6 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.4.8", + "@replayio/cypress": "^0.4.12", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index d29d5bc59..0f4c81a88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,26 +4022,27 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.4.8": - version "0.4.8" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.8.tgz#ae1eae8e3a9ff9fcd29c1a44780eebf1ad79067e" - integrity sha512-5Bn8+jlJQ/5RRCVDGAmwWvwSZUOrGuIsGRaC7/lktRQnnd+TK0A8OUiNBZWeAIitJo4AcQ+azFTXOeVVXq0SyQ== +"@replayio/cypress@^0.4.12": + version "0.4.12" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.12.tgz#489c03a78b05436668bb66704eedff761cf9ae8e" + integrity sha512-geb51NuRIxWP+g5y0+a0fyav1FwyJFHtatQmZWdPOOdV1ZK2aJeFmEIISrYAHRFIvpTfRbbGihV7rRcegx3FFg== dependencies: - "@replayio/replay" "^0.11.0" - "@replayio/test-utils" "^0.3.7" + "@replayio/replay" "^0.12.0" + "@replayio/test-utils" "^0.4.0" semver "^7.3.8" uuid "^8.3.2" -"@replayio/replay@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.11.0.tgz#bd0af718b98a25cb937c44445b0defde1ae025e5" - integrity sha512-b2+DrYt/RjmeCcieBzK6IBm4doeQV/3ST8VxAV4YhuSn/gfEeJoFxXOhAu/EhKozw1Xglz50yrD1+TqeAIOx2w== +"@replayio/replay@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.12.0.tgz#456a33e65f0e16fabd6af975163bc57837e82d42" + integrity sha512-/HGxJYk9rE8Zehxgj2qT7bJfdxPJJFDo/1q/f9uGrajF9LW5/EIndtE6nC4xosBcrXcbGdKFl6TA+ahWnkJJ+A== dependencies: "@replayio/sourcemap-upload" "^1.0.5" commander "^7.2.0" debug "^4.3.4" is-uuid "^1.0.2" jsonata "^1.8.6" + node-fetch "^2.6.8" p-map "^4.0.0" superstruct "^0.15.4" text-table "^0.2.0" @@ -4058,12 +4059,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.3.7": - version "0.3.7" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.3.7.tgz#01aba75052fdec71d908d423ff65917c49ae2584" - integrity sha512-MBXp8V6UgmZCIIdr1o3MQNGEm0bv+DM5TUiYmBpI8eRg88c6GDy9cHJCB9gShBLYibA3+X6waN/dd0Vvkri9Bw== +"@replayio/test-utils@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.4.0.tgz#116fbbb75cefe95c0b243f16178eeed0b3e69c17" + integrity sha512-eJEHPHAydAlfip+IOjk8zU89KCGCD1gNqdQz8OiGtTYx3n7v/iBDsfCQJ3vaE3o9PCnE0gwtjiwVjA0eXIOngQ== dependencies: - "@replayio/replay" "^0.11.0" + "@replayio/replay" "^0.12.0" "@types/node-fetch" "^2.6.2" node-fetch "^2.6.7" uuid "^8.3.2" @@ -12652,6 +12653,13 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" + integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== + dependencies: + whatwg-url "^5.0.0" + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" From d2af7638fae37ce5002a6a8d3b4f7afe88bd7cbf Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Mon, 6 Feb 2023 10:51:47 -0800 Subject: [PATCH 27/63] Add custom runtime parameters to GH action (#18) --- .github/workflows/main.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2e1f9711e..def00fa5f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,6 +5,17 @@ on: - cron: "0 * * * *" push: workflow_dispatch: + inputs: + chromium-runtime: + type: string + description: Custom Chromium Runtime + firefox-runtime: + type: string + description: Custom Firefox Runtime + +env: + RECORD_REPLAY_FIREFOX_DOWNLOAD_FILE: ${{ github.event.inputs.firefox-runtime }} + RECORD_REPLAY_CHROMIUM_DOWNLOAD_FILE: ${{ github.event.inputs.chromium-runtime }} jobs: install: From a3837f0a1d63002c836313e1ba5615582f0da826 Mon Sep 17 00:00:00 2001 From: Domi Date: Thu, 16 Feb 2023 18:37:50 +0800 Subject: [PATCH 28/63] RUN-1226: hardcode RECORD_REPLAY_TEST_ENVIRONMENT (#19) --- .github/workflows/main.yml | 3 +++ .gitignore | 5 +++++ .vscode/settings.json | 23 ++++++++++++++++++++++- package.json | 4 ++-- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index def00fa5f..ccf9cdf71 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,6 +16,7 @@ on: env: RECORD_REPLAY_FIREFOX_DOWNLOAD_FILE: ${{ github.event.inputs.firefox-runtime }} RECORD_REPLAY_CHROMIUM_DOWNLOAD_FILE: ${{ github.event.inputs.chromium-runtime }} + RECORD_REPLAY_TEST_ENVIRONMENT: 1 jobs: install: @@ -95,6 +96,7 @@ jobs: env: # RECORD_REPLAY_JS_ASSERTS: 1 RECORD_REPLAY_TEST_METRICS: 1 + RECORD_REPLAY_TEST_ENVIRONMENT: "1" RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata @@ -175,6 +177,7 @@ jobs: # DEBUG: "cypress:server:args" env: RECORD_REPLAY_TEST_METRICS: 1 + RECORD_REPLAY_TEST_ENVIRONMENT: "1" RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata diff --git a/.gitignore b/.gitignore index afaf0dc0f..3aa95d4d1 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,11 @@ # production /build +# data files that are created by tests +/duration.json +# TODO: also get rid of database.json, since it changes between runs +# /data/database.json + # misc .DS_Store .idea diff --git a/.vscode/settings.json b/.vscode/settings.json index 25fa6215f..00347ae41 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,24 @@ { - "typescript.tsdk": "node_modules/typescript/lib" + "typescript.tsdk": "node_modules/typescript/lib", + "peacock.color": "#8e6351", + "workbench.colorCustomizations": { + "activityBar.activeBackground": "#b53711", + "activityBar.background": "#b53711", + "activityBar.foreground": "#e7e7e7", + "activityBar.inactiveForeground": "#e7e7e799", + "activityBarBadge.background": "#10af35", + "activityBarBadge.foreground": "#e7e7e7", + "commandCenter.border": "#e7e7e799", + "sash.hoverBorder": "#b53711", + "statusBar.background": "#87290d", + "statusBar.foreground": "#e7e7e7", + "statusBarItem.hoverBackground": "#b53711", + "statusBarItem.remoteBackground": "#87290d", + "statusBarItem.remoteForeground": "#e7e7e7", + "titleBar.activeBackground": "#87290d", + "titleBar.activeForeground": "#e7e7e7", + "titleBar.inactiveBackground": "#87290d99", + "titleBar.inactiveForeground": "#e7e7e799" + }, + "peacock.remoteColor": "#87290d" } diff --git a/package.json b/package.json index c890ed1c6..5c191f131 100644 --- a/package.json +++ b/package.json @@ -151,8 +151,8 @@ "precypress:open": "yarn predev:cognito:ci", "cypress:open": "cypress open", "cypress:open:mobile": "cypress open --config viewportWidth=375,viewportHeight=667", - "cypress:run:replay": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser 'Replay Chromium'", - "cypress:run:replay-custom": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser", + "cypress:run:replay": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_TEST_ENVIRONMENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser 'Replay Chromium'", + "cypress:run:replay-custom": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_TEST_ENVIRONMENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser", "cypress:run": "cypress run", "cypress:run:component": "cypress run --component", "cypress:run:mobile": "cypress run --config viewportWidth=375,viewportHeight=667", From 93587aa1caba9ca50e2fe0e2da92473938f35b7d Mon Sep 17 00:00:00 2001 From: Replay Bot Date: Fri, 17 Feb 2023 11:44:04 -0800 Subject: [PATCH 29/63] bump plugin version --- .github/workflows/main.yml | 4 ++-- package.json | 4 ++-- yarn.lock | 41 +++++++++++++++++++------------------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ccf9cdf71..842f4a227 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -83,7 +83,7 @@ jobs: start: yarn start:ci wait-on: "http://localhost:3000" wait-on-timeout: 120 - browser: "Replay Chromium" + browser: replay-chromium spec: cypress/tests/ui/* config-file: cypress.config.js # env: @@ -165,7 +165,7 @@ jobs: start: yarn start:ci wait-on: "http://localhost:3000" wait-on-timeout: 120 - browser: "Replay Chromium" + browser: replay-chromium spec: cypress/tests/ui/* config-file: cypress.config.js # env: diff --git a/package.json b/package.json index 5c191f131..1bd09f83c 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.4.12", + "@replayio/cypress": "^0.5.4", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", @@ -151,7 +151,7 @@ "precypress:open": "yarn predev:cognito:ci", "cypress:open": "cypress open", "cypress:open:mobile": "cypress open --config viewportWidth=375,viewportHeight=667", - "cypress:run:replay": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_TEST_ENVIRONMENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser 'Replay Chromium'", + "cypress:run:replay": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_TEST_ENVIRONMENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser replay-chromium", "cypress:run:replay-custom": "RECORD_ALL_CONTENT=1 RECORD_REPLAY_TEST_ENVIRONMENT=1 RECORD_REPLAY_METADATA_FILE=$(mktemp) cypress run --browser", "cypress:run": "cypress run", "cypress:run:component": "cypress run --component", diff --git a/yarn.lock b/yarn.lock index 0f4c81a88..7d1d57740 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,22 +4022,22 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.4.12": - version "0.4.12" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.4.12.tgz#489c03a78b05436668bb66704eedff761cf9ae8e" - integrity sha512-geb51NuRIxWP+g5y0+a0fyav1FwyJFHtatQmZWdPOOdV1ZK2aJeFmEIISrYAHRFIvpTfRbbGihV7rRcegx3FFg== +"@replayio/cypress@^0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.5.4.tgz#e01fd9e98da69dc1400300bdb3770372836a1020" + integrity sha512-sAOUXBrtf9zqYmJOBDgfy+UHIodle5X8FyT/FctsUl7OJN5Rs88awlcqkMiQLgZaAaLsZ3KlrCFkmomcymyOaA== dependencies: - "@replayio/replay" "^0.12.0" - "@replayio/test-utils" "^0.4.0" + "@replayio/replay" "^0.12.3" + "@replayio/test-utils" "^0.5.2" semver "^7.3.8" uuid "^8.3.2" -"@replayio/replay@^0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.12.0.tgz#456a33e65f0e16fabd6af975163bc57837e82d42" - integrity sha512-/HGxJYk9rE8Zehxgj2qT7bJfdxPJJFDo/1q/f9uGrajF9LW5/EIndtE6nC4xosBcrXcbGdKFl6TA+ahWnkJJ+A== +"@replayio/replay@^0.12.3": + version "0.12.3" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.12.3.tgz#08bc939809aa45380057a49c63fc21c62f5f1175" + integrity sha512-BNFyorEpZR1leuteI4rSlFXZFcWFAHTtEI6y4TJfQw4+EEbgjZu9dIZ/k26DiXWy5WHXHBloDS0uSU2NbAW+vQ== dependencies: - "@replayio/sourcemap-upload" "^1.0.5" + "@replayio/sourcemap-upload" "^1.0.6" commander "^7.2.0" debug "^4.3.4" is-uuid "^1.0.2" @@ -4048,10 +4048,10 @@ text-table "^0.2.0" ws "^7.5.0" -"@replayio/sourcemap-upload@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.5.tgz#e4476409b492af9a1464ad12b9eace7def59fd4c" - integrity sha512-zMpI+kQKO7JljX8QrZiP06UcKomLWKMlHkrBga+tLOjTIFCeRySiksVZoIoLsfxmbxhmquNXKHlUWW20CSwZDA== +"@replayio/sourcemap-upload@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.6.tgz#2a4580e905448242a011c93887132e635f9993ee" + integrity sha512-cv+hgPqJku8xpfQoYDLCELZWikay7kZ8+uxIjVCpMYj4FJOmW8Qei3Z/vuGNaxEE21DDB6I2T/GLfyBMqSvsOw== dependencies: commander "^7.2.0" debug "^4.3.1" @@ -4059,13 +4059,14 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.4.0.tgz#116fbbb75cefe95c0b243f16178eeed0b3e69c17" - integrity sha512-eJEHPHAydAlfip+IOjk8zU89KCGCD1gNqdQz8OiGtTYx3n7v/iBDsfCQJ3vaE3o9PCnE0gwtjiwVjA0eXIOngQ== +"@replayio/test-utils@^0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.5.2.tgz#9224057b0fb5546d757f86641a7d273c221d7def" + integrity sha512-GGBUASOlGHh3ya8gO2FO/C8Prv+7+4Jw5pLTJZSOn0Y+EPFucp9EollsKfZg9KMiEurU+1x5RBDxGItfn/8h8A== dependencies: - "@replayio/replay" "^0.12.0" + "@replayio/replay" "^0.12.3" "@types/node-fetch" "^2.6.2" + debug "^4.3.4" node-fetch "^2.6.7" uuid "^8.3.2" From 290e8d0bf7dea57bdb882f9eaad06e699876bf93 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 18 May 2023 08:14:41 -0700 Subject: [PATCH 30/63] Update main.yml --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 842f4a227..f869661d6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,7 +2,7 @@ name: E2E Test on: schedule: - - cron: "0 * * * *" + - cron: "0 2 * * *" push: workflow_dispatch: inputs: @@ -21,6 +21,7 @@ env: jobs: install: runs-on: ubuntu-latest + timeout-minutes: 90 container: image: cypress/browsers:node16.13.0-chrome95-ff94 options: --user 1001 From fcaf61e3f1d0fb421e7fa79a0de6c3276eb2d04e Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 18 May 2023 13:41:17 -0700 Subject: [PATCH 31/63] debug upload --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f869661d6..df4074da6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -123,6 +123,8 @@ jobs: with: public: true api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 + env: + DEBUG: replay:cli* - name: Set duration in output if: always() From 72a13fc43d11e9de64bcaeb4ed840b6d7681b529 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 18 May 2023 17:06:34 -0700 Subject: [PATCH 32/63] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index df4074da6..8eb8305bf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,7 +2,7 @@ name: E2E Test on: schedule: - - cron: "0 2 * * *" + - cron: "10 * * * *" push: workflow_dispatch: inputs: From 630511c9ea5cabd6eba79dfd1f0ba4ea87925192 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 19 May 2023 13:37:31 -0700 Subject: [PATCH 33/63] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8eb8305bf..7308f107b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,7 +2,7 @@ name: E2E Test on: schedule: - - cron: "10 * * * *" + - cron: "0 1 * * *" push: workflow_dispatch: inputs: From dc46d851ca7fd7dc058a3c8e05ca3557ea1979db Mon Sep 17 00:00:00 2001 From: Jaril Date: Wed, 31 May 2023 10:07:57 +0200 Subject: [PATCH 34/63] Bump to 0.5.15 (#24) --- package.json | 2 +- yarn.lock | 41 +++++++++++++++++++++-------------------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 1bd09f83c..a7257776b 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.5.4", + "@replayio/cypress": "^0.5.15", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.36", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index 7d1d57740..39305e0d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4022,22 +4022,23 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.5.4.tgz#e01fd9e98da69dc1400300bdb3770372836a1020" - integrity sha512-sAOUXBrtf9zqYmJOBDgfy+UHIodle5X8FyT/FctsUl7OJN5Rs88awlcqkMiQLgZaAaLsZ3KlrCFkmomcymyOaA== +"@replayio/cypress@^0.5.15": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.5.15.tgz#cba2af6b2417533026ec4a895a2b44dabc043320" + integrity sha512-9/v9efJxT35FEqGzoca3DjX2a9QUHfEW4fhyHGTvrVSiBq0jQAvP/uvlcojFh2e4IxrrZiRwxVCp+kga1fEtxA== dependencies: - "@replayio/replay" "^0.12.3" - "@replayio/test-utils" "^0.5.2" + "@replayio/replay" "^0.12.10" + "@replayio/test-utils" "^0.5.9" + debug "^4.3.4" semver "^7.3.8" uuid "^8.3.2" -"@replayio/replay@^0.12.3": - version "0.12.3" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.12.3.tgz#08bc939809aa45380057a49c63fc21c62f5f1175" - integrity sha512-BNFyorEpZR1leuteI4rSlFXZFcWFAHTtEI6y4TJfQw4+EEbgjZu9dIZ/k26DiXWy5WHXHBloDS0uSU2NbAW+vQ== +"@replayio/replay@^0.12.10": + version "0.12.10" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.12.10.tgz#21c4bf8da8966866d25d9a6450019eb3f75f0b1e" + integrity sha512-FKfxX3KpwR/H6PNzNqv40OjXUOO40ucQxnv9wFntFXAZdpspwlbpN3M0Gc45f3sOGzCrnP3ReseB0TPU3bWkrQ== dependencies: - "@replayio/sourcemap-upload" "^1.0.6" + "@replayio/sourcemap-upload" "^1.0.7" commander "^7.2.0" debug "^4.3.4" is-uuid "^1.0.2" @@ -4048,10 +4049,10 @@ text-table "^0.2.0" ws "^7.5.0" -"@replayio/sourcemap-upload@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.6.tgz#2a4580e905448242a011c93887132e635f9993ee" - integrity sha512-cv+hgPqJku8xpfQoYDLCELZWikay7kZ8+uxIjVCpMYj4FJOmW8Qei3Z/vuGNaxEE21DDB6I2T/GLfyBMqSvsOw== +"@replayio/sourcemap-upload@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.7.tgz#e1aa0e910d7b8bfe8828ea4f27495e3ed9ab2476" + integrity sha512-osmLqhOnaqAihY+xD56zu9LECXK1iw3d4oViIGJuZbtVkB8X5EoDTJEBPmj4xL6SG6XxeuKpaqmK2OKFi9YiuQ== dependencies: commander "^7.2.0" debug "^4.3.1" @@ -4059,12 +4060,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.5.2.tgz#9224057b0fb5546d757f86641a7d273c221d7def" - integrity sha512-GGBUASOlGHh3ya8gO2FO/C8Prv+7+4Jw5pLTJZSOn0Y+EPFucp9EollsKfZg9KMiEurU+1x5RBDxGItfn/8h8A== +"@replayio/test-utils@^0.5.9": + version "0.5.9" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.5.9.tgz#3f7f9088641b56cccc9156781aa023f999095d1e" + integrity sha512-wGtLXLkAdH9tQ1oHQ4E/e3LCi1tKzYBPBkpi3Ef9qhY/EvsjEU5jFMyqLnd5YQXNo1k3rpOLyL+T+u7GVJea5g== dependencies: - "@replayio/replay" "^0.12.3" + "@replayio/replay" "^0.12.10" "@types/node-fetch" "^2.6.2" debug "^4.3.4" node-fetch "^2.6.7" From 60b37b745c1e41d362634de6d2b02740ccc1eadf Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 2 Jun 2023 11:59:18 -0700 Subject: [PATCH 35/63] update action-upload --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7308f107b..fd5c070e9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -119,7 +119,7 @@ jobs: - name: Upload replays if: ${{ always() }} - uses: replayio/action-upload@v0.4.7 + uses: replayio/action-upload@v0.5.0 with: public: true api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 From ca89c8a839c9eb5553af20030b0a4a02f4016add Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Wed, 12 Jul 2023 14:17:55 -0700 Subject: [PATCH 36/63] Create dependabot.yml --- .github/dependabot.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..5e211136a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,9 @@ +version: 2 +updates: + # Enable version updates for npm + - package-ecosystem: "npm" + # Look for `package.json` and `lock` files in the `root` directory + directory: "/" + # Check the npm registry for updates every day (weekdays) + schedule: + interval: "daily" From d1c7e1b629860cd8fd72c8b108cb06c850b71374 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Wed, 12 Jul 2023 14:18:41 -0700 Subject: [PATCH 37/63] Update dependabot.yml --- .github/dependabot.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5e211136a..e023eeb2a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,8 +1,7 @@ version: 2 updates: # Enable version updates for npm - - package-ecosystem: "npm" - # Look for `package.json` and `lock` files in the `root` directory + - package-ecosystem: "yarn" directory: "/" # Check the npm registry for updates every day (weekdays) schedule: From ec463dac421133a37d425f58cb147e5978c75108 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Wed, 12 Jul 2023 14:19:49 -0700 Subject: [PATCH 38/63] Update dependabot.yml --- .github/dependabot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e023eeb2a..efe2c85d2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,7 +1,7 @@ version: 2 updates: # Enable version updates for npm - - package-ecosystem: "yarn" + - package-ecosystem: "npm" directory: "/" # Check the npm registry for updates every day (weekdays) schedule: From e8cece59cf78fdf061445a4622e79c95d87b8fc4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:28:33 -0700 Subject: [PATCH 39/63] Bump @okta/okta-react from 4.1.0 to 5.1.2 (#26) Bumps [@okta/okta-react](https://github.com/okta/okta-react) from 4.1.0 to 5.1.2. - [Release notes](https://github.com/okta/okta-react/releases) - [Changelog](https://github.com/okta/okta-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/okta/okta-react/compare/okta-react-4.1.0...okta-react-5.1.2) --- updated-dependencies: - dependency-name: "@okta/okta-react" dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index a7257776b..158c47f9e 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@material-ui/lab": "4.0.0-alpha.61", "@okta/jwt-verifier": "2.3.0", "@okta/okta-auth-js": "4.9.2", - "@okta/okta-react": "4.1.0", + "@okta/okta-react": "5.1.2", "@types/detect-port": "^1.3.2", "@xstate/react": "2.0.0", "aws-amplify": "4.3.20", diff --git a/yarn.lock b/yarn.lock index 39305e0d3..c00daace6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3943,7 +3943,7 @@ jwks-rsa "1.12.1" njwt "^1.0.0" -"@okta/okta-auth-js@4.9.2": +"@okta/okta-auth-js@4.9.2", "@okta/okta-auth-js@^4.8.0": version "4.9.2" resolved "https://registry.yarnpkg.com/@okta/okta-auth-js/-/okta-auth-js-4.9.2.tgz#95ee2ade7dd81d10707db5a555fd5f51b2969b5d" integrity sha512-YgNN4IUK3haaMUD0ahBHlCU8OV4btY2pvuEG2+hcWPhhOZrdfkW68Gl0Q3mYOb1wi9wrKnnznbKfG/kjOz8i2Q== @@ -3962,12 +3962,13 @@ webcrypto-shim "^0.1.5" xhr2 "0.1.3" -"@okta/okta-react@4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@okta/okta-react/-/okta-react-4.1.0.tgz#f450db6d4abe61167663da5d1d4b22c46c8884bb" - integrity sha512-Y6JUYeUtoiXUevgrKoi/x/xhLQUoElox9pBdzZqrbfjcizVwGNi5+oPSvSTgtbQ/J73nPI48jALMxj6nYfDDTg== +"@okta/okta-react@5.1.2": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@okta/okta-react/-/okta-react-5.1.2.tgz#d618406d7e588f62e2ace11ac0f2418649af446e" + integrity sha512-t1SOm5zyfep2kgkdYje2q3c9cQmpiJrGNDEBESQ9GgljdgWKvEkOWl6N9iS8eq+O0w22bbuV+tqFbY/ClJGFOA== dependencies: "@babel/runtime" "^7.11.2" + "@okta/okta-auth-js" "^4.8.0" "@panva/asn1.js@^1.0.0": version "1.0.0" From be090d58c11babfea51ab8e71f96c24be577505e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:28:44 -0700 Subject: [PATCH 40/63] Bump @types/jest from 27.4.1 to 29.5.3 (#27) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 27.4.1 to 29.5.3. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 198 +++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 146 insertions(+), 54 deletions(-) diff --git a/package.json b/package.json index 158c47f9e..d0e25cc3e 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "@types/express-session": "1.17.4", "@types/faker": "5.5.9", "@types/http-proxy-middleware": "0.19.3", - "@types/jest": "27.4.1", + "@types/jest": "29.5.3", "@types/json-server": "0.14.4", "@types/jsonwebtoken": "8.5.8", "@types/jwt-decode": "2.2.1", diff --git a/yarn.lock b/yarn.lock index c00daace6..c1c1b8129 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2041,6 +2041,13 @@ dependencies: "@babel/highlight" "^7.14.5" +"@babel/code-frame@^7.12.13": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" + integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== + dependencies: + "@babel/highlight" "^7.22.5" + "@babel/compat-data@7.9.0", "@babel/compat-data@^7.12.1", "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.15.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" @@ -2276,6 +2283,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== +"@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" + integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== + "@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" @@ -2309,6 +2321,15 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" + integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.12.3", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.7.0": version "7.15.7" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" @@ -3571,6 +3592,13 @@ "@types/node" "*" jest-mock "^26.6.2" +"@jest/expect-utils@^29.6.1": + version "29.6.1" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.6.1.tgz#ab83b27a15cdd203fe5f68230ea22767d5c3acc5" + integrity sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw== + dependencies: + jest-get-type "^29.4.3" + "@jest/fake-timers@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" @@ -3624,6 +3652,13 @@ optionalDependencies: node-notifier "^8.0.0" +"@jest/schemas@^29.6.0": + version "29.6.0" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.0.tgz#0f4cb2c8e3dca80c135507ba5635a4fd755b0040" + integrity sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ== + dependencies: + "@sinclair/typebox" "^0.27.8" + "@jest/source-map@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" @@ -3686,15 +3721,16 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@jest/types@^27.1.1": - version "27.1.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.1.1.tgz#77a3fc014f906c65752d12123a0134359707c0ad" - integrity sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA== +"@jest/types@^29.6.1": + version "29.6.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.1.tgz#ae79080278acff0a6af5eb49d063385aaa897bf2" + integrity sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw== dependencies: + "@jest/schemas" "^29.6.0" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" - "@types/yargs" "^16.0.0" + "@types/yargs" "^17.0.8" chalk "^4.0.0" "@material-ui/core@4.12.4": @@ -4117,6 +4153,11 @@ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -4526,13 +4567,13 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@27.4.1": - version "27.4.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.4.1.tgz#185cbe2926eaaf9662d340cc02e548ce9e11ab6d" - integrity sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw== +"@types/jest@29.5.3": + version "29.5.3" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.3.tgz#7a35dc0044ffb8b56325c6802a4781a626b05777" + integrity sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA== dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" + expect "^29.0.0" + pretty-format "^29.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": version "7.0.9" @@ -4851,10 +4892,10 @@ dependencies: "@types/yargs-parser" "*" -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== +"@types/yargs@^17.0.8": + version "17.0.24" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" + integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== dependencies: "@types/yargs-parser" "*" @@ -6635,6 +6676,11 @@ ci-info@^3.1.1: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== +ci-info@^3.2.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -7858,10 +7904,10 @@ diff-sequences@^26.6.2: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== +diff-sequences@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== diff@^4.0.1: version "4.0.2" @@ -8758,6 +8804,18 @@ expect@^26.6.0, expect@^26.6.2: jest-message-util "^26.6.2" jest-regex-util "^26.0.0" +expect@^29.0.0: + version "29.6.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.6.1.tgz#64dd1c8f75e2c0b209418f2b8d36a07921adfdf1" + integrity sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g== + dependencies: + "@jest/expect-utils" "^29.6.1" + "@types/node" "*" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.6.1" + jest-message-util "^29.6.1" + jest-util "^29.6.1" + express-graphql@0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/express-graphql/-/express-graphql-0.12.0.tgz#58deabc309909ca2c9fe2f83f5fbe94429aa23df" @@ -9654,6 +9712,11 @@ graceful-fs@^4.1.3: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graceful-fs@^4.2.9: + 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== + graphql-tag@^2.12.3: version "2.12.5" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.5.tgz#5cff974a67b417747d05c8d9f5f3cb4495d0db8f" @@ -10966,15 +11029,15 @@ jest-diff@^26.6.2: jest-get-type "^26.3.0" pretty-format "^26.6.2" -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== +jest-diff@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.6.1.tgz#13df6db0a89ee6ad93c747c75c85c70ba941e545" + integrity sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg== dependencies: chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + diff-sequences "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.6.1" jest-docblock@^26.0.0: version "26.0.0" @@ -11024,10 +11087,10 @@ jest-get-type@^26.3.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== +jest-get-type@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== jest-haste-map@^26.6.2: version "26.6.2" @@ -11092,15 +11155,15 @@ jest-matcher-utils@^26.6.0, jest-matcher-utils@^26.6.2: jest-get-type "^26.3.0" pretty-format "^26.6.2" -jest-matcher-utils@^27.0.0: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== +jest-matcher-utils@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz#6c60075d84655d6300c5d5128f46531848160b53" + integrity sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA== dependencies: chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + jest-diff "^29.6.1" + jest-get-type "^29.4.3" + pretty-format "^29.6.1" jest-message-util@^26.6.0, jest-message-util@^26.6.2: version "26.6.2" @@ -11117,6 +11180,21 @@ jest-message-util@^26.6.0, jest-message-util@^26.6.2: slash "^3.0.0" stack-utils "^2.0.2" +jest-message-util@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.6.1.tgz#d0b21d87f117e1b9e165e24f245befd2ff34ff8d" + integrity sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.6.1" + slash "^3.0.0" + stack-utils "^2.0.3" + jest-mock@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" @@ -11273,6 +11351,18 @@ jest-util@^26.6.0, jest-util@^26.6.2: is-ci "^2.0.0" micromatch "^4.0.2" +jest-util@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.6.1.tgz#c9e29a87a6edbf1e39e6dee2b4689b8a146679cb" + integrity sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg== + dependencies: + "@jest/types" "^29.6.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + jest-validate@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" @@ -14263,24 +14353,14 @@ pretty-format@^26.6.0, pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-format@^27.0.0: - version "27.2.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.2.0.tgz#ee37a94ce2a79765791a8649ae374d468c18ef19" - integrity sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA== +pretty-format@^29.0.0, pretty-format@^29.6.1: + version "29.6.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.6.1.tgz#ec838c288850b7c4f9090b867c2d4f4edbfb0f3e" + integrity sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog== dependencies: - "@jest/types" "^27.1.1" - ansi-regex "^5.0.0" + "@jest/schemas" "^29.6.0" ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" + react-is "^18.0.0" process-nextick-args@~2.0.0: version "2.0.1" @@ -14734,6 +14814,11 @@ react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" @@ -16061,6 +16146,13 @@ stack-utils@^2.0.2: dependencies: escape-string-regexp "^2.0.0" +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + stackframe@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" From 637354d4aa1237fd8e61a9911a4dc5a33950dd35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:29:46 -0700 Subject: [PATCH 41/63] Bump date-fns from 2.28.0 to 2.30.0 (#29) Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.28.0 to 2.30.0. - [Release notes](https://github.com/date-fns/date-fns/releases) - [Changelog](https://github.com/date-fns/date-fns/blob/v2.30.0/CHANGELOG.md) - [Commits](https://github.com/date-fns/date-fns/compare/v2.28.0...v2.30.0) --- updated-dependencies: - dependency-name: date-fns dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 30 ++++++++++++++++-------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index d0e25cc3e..bd76bd3d2 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "aws-amplify": "4.3.20", "axios": "0.26.1", "clsx": "1.1.1", - "date-fns": "2.28.0", + "date-fns": "2.30.0", "detect-port": "1.3.0", "dinero.js": "1.9.1", "formik": "2.2.9", diff --git a/yarn.lock b/yarn.lock index c1c1b8129..2c22539da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3200,12 +3200,12 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" - integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" + integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== dependencies: - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.13.11" "@babel/template@^7.10.4", "@babel/template@^7.15.4", "@babel/template@^7.3.3": version "7.15.4" @@ -7642,21 +7642,18 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-fns@2.28.0: - version "2.28.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" - integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== +date-fns@2.30.0, date-fns@^2.16.1: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" date-fns@^1.27.2: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== -date-fns@^2.16.1: - version "2.24.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.24.0.tgz#7d86dc0d93c87b76b63d213b4413337cfd1c105d" - integrity sha512-6ujwvwgPID6zbI0o7UbURi2vlLDR9uP26+tW6Lg+Ji3w7dd0i3DOcjcClLjLPranT60SSEFBwdSyYwn/ZkPIuw== - dayjs@1.10.7, dayjs@^1.10.4: version "1.10.7" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" @@ -15114,6 +15111,11 @@ regenerator-runtime@^0.13.1, regenerator-runtime@^0.13.4, regenerator-runtime@^0 resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + regenerator-transform@^0.14.2: version "0.14.5" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" From 6456c7e6d5c02d2c7335b6a5bb770b606be15fc1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 15:44:36 -0700 Subject: [PATCH 42/63] Bump concurrently from 7.1.0 to 8.2.0 (#30) Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 7.1.0 to 8.2.0. - [Release notes](https://github.com/open-cli-tools/concurrently/releases) - [Commits](https://github.com/open-cli-tools/concurrently/compare/v7.1.0...v8.2.0) --- updated-dependencies: - dependency-name: concurrently dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 91 ++++++++++++++++++++++++++-------------------------- 2 files changed, 47 insertions(+), 46 deletions(-) diff --git a/package.json b/package.json index bd76bd3d2..1349478fe 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "@types/yup": "0.29.13", "aws-sdk": "2.1116.0", "bcryptjs": "2.4.3", - "concurrently": "7.1.0", + "concurrently": "8.2.0", "cors": "2.8.5", "cross-env": "7.0.3", "cypress": "^10.7.0", diff --git a/yarn.lock b/yarn.lock index 2c22539da..7ee0c43a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6566,7 +6566,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0: +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, 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== @@ -6802,13 +6802,13 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" wrap-ansi "^7.0.0" clone-deep@^4.0.1: @@ -7014,19 +7014,20 @@ concat-stream@^1.5.0: readable-stream "^2.2.2" typedarray "^0.0.6" -concurrently@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.1.0.tgz#477b49b8cfc630bb491f9b02e9ed7fb7bff02942" - integrity sha512-Bz0tMlYKZRUDqJlNiF/OImojMB9ruKUz6GCfmhFnSapXgPe+3xzY4byqoKG9tUZ7L2PGEUjfLPOLfIX3labnmw== +concurrently@8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.2.0.tgz#cdc9f621a4d913366600355d68254df2c5e782f3" + integrity sha512-nnLMxO2LU492mTUj9qX/az/lESonSZu81UznYDoXtz1IQf996ixVqPAgHXwvHiHCAef/7S8HIK+fTFK7Ifk8YA== dependencies: - chalk "^4.1.0" - date-fns "^2.16.1" + chalk "^4.1.2" + date-fns "^2.30.0" lodash "^4.17.21" - rxjs "^6.6.3" - spawn-command "^0.0.2-1" - supports-color "^8.1.0" + rxjs "^7.8.1" + shell-quote "^1.8.1" + spawn-command "0.0.2" + supports-color "^8.1.1" tree-kill "^1.2.2" - yargs "^16.2.0" + yargs "^17.7.2" configstore@^5.0.1: version "5.0.1" @@ -7642,7 +7643,7 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-fns@2.30.0, date-fns@^2.16.1: +date-fns@2.30.0, date-fns@^2.30.0: version "2.30.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== @@ -15508,19 +15509,19 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.6.3, rxjs@^6.6.7: +rxjs@^6.6.7: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" -rxjs@^7.1.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.3.0.tgz#39fe4f3461dc1e50be1475b2b85a0a88c1e938c6" - integrity sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw== +rxjs@^7.1.0, 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" + tslib "^2.1.0" safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" @@ -15844,6 +15845,11 @@ shell-quote@1.7.2: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== +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== + shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -16017,10 +16023,10 @@ sourcemap-codec@^1.4.4: resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== -spawn-command@^0.0.2-1: - version "0.0.2-1" - resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" - integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= +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== spawn-wrap@^2.0.0: version "2.0.0" @@ -16281,7 +16287,7 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string-width@^4.2.2: +string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -16471,7 +16477,7 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.1.0, supports-color@^8.1.1: +supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -16935,11 +16941,6 @@ tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@~2.3.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tslib@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -18106,10 +18107,10 @@ yargs-parser@^18.1.2, yargs-parser@^18.1.3: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs@^13.2.4, yargs@^13.3.2: version "13.3.2" @@ -18144,18 +18145,18 @@ yargs@^15.0.2, yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== +yargs@^17.7.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.0" + string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^20.2.2" + yargs-parser "^21.1.1" yauzl@^2.10.0: version "2.10.0" From 1734d2f4665a9ed6c6f8b6e6a65382860f90703b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 15:44:51 -0700 Subject: [PATCH 43/63] Bump @types/jsonwebtoken from 8.5.8 to 9.0.2 (#31) Bumps [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) from 8.5.8 to 9.0.2. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsonwebtoken) --- updated-dependencies: - dependency-name: "@types/jsonwebtoken" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 1349478fe..ea37d0513 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@types/http-proxy-middleware": "0.19.3", "@types/jest": "29.5.3", "@types/json-server": "0.14.4", - "@types/jsonwebtoken": "8.5.8", + "@types/jsonwebtoken": "9.0.2", "@types/jwt-decode": "2.2.1", "@types/lodash": "4.14.181", "@types/lowdb": "1.0.11", diff --git a/yarn.lock b/yarn.lock index 7ee0c43a3..c64db5572 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4594,10 +4594,10 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= -"@types/jsonwebtoken@8.5.8": - version "8.5.8" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz#01b39711eb844777b7af1d1f2b4cf22fda1c0c44" - integrity sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A== +"@types/jsonwebtoken@9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#9eeb56c76dd555039be2a3972218de5bd3b8d83e" + integrity sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q== dependencies: "@types/node" "*" @@ -4663,16 +4663,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.6.tgz#040a64d7faf9e5d9e940357125f0963012e66f04" integrity sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ== -"@types/node@14.18.13": +"@types/node@14.18.13", "@types/node@^14.14.31": version "14.18.13" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.13.tgz#6ad4d9db59e6b3faf98dcfe4ca9d2aec84443277" integrity sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA== -"@types/node@^14.14.31": - version "14.17.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.18.tgz#0198489a751005f71217744aa966cd1f29447c81" - integrity sha512-haYyibw4pbteEhkSg0xdDLAI3679L75EJ799ymVrPxOA922bPx3ML59SoDsQ//rHlvqpu+e36kcbR3XRQtFblA== - "@types/node@^15.0.1": version "15.14.9" resolved "https://registry.yarnpkg.com/@types/node/-/node-15.14.9.tgz#bc43c990c3c9be7281868bbc7b8fdd6e2b57adfa" From 4d13b8428831569cf411e6360c13fae4c3974e1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 15:45:09 -0700 Subject: [PATCH 44/63] Bump @types/bluebird from 3.5.36 to 3.5.38 (#32) Bumps [@types/bluebird](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bluebird) from 3.5.36 to 3.5.38. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/bluebird) --- updated-dependencies: - dependency-name: "@types/bluebird" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ea37d0513..d2c585d16 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "@percy/cypress": "2.3.4", "@replayio/cypress": "^0.5.15", "@types/bcryptjs": "2.4.2", - "@types/bluebird": "3.5.36", + "@types/bluebird": "3.5.38", "@types/connect-flash": "0.0.37", "@types/connect-history-api-fallback": "1.3.5", "@types/cors": "2.8.12", diff --git a/yarn.lock b/yarn.lock index c64db5572..557144e58 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4378,10 +4378,10 @@ resolved "https://registry.yarnpkg.com/@types/bcryptjs/-/bcryptjs-2.4.2.tgz#e3530eac9dd136bfdfb0e43df2c4c5ce1f77dfae" integrity sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ== -"@types/bluebird@3.5.36": - version "3.5.36" - resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.36.tgz#00d9301d4dc35c2f6465a8aec634bb533674c652" - integrity sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q== +"@types/bluebird@3.5.38": + version "3.5.38" + resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.38.tgz#7a671e66750ccd21c9fc9d264d0e1e5330bc9908" + integrity sha512-yR/Kxc0dd4FfwtEoLZMoqJbM/VE/W7hXn/MIjb+axcwag0iFmSPK7OBUZq1YWLynJUoWQkfUrI7T0HDqGApNSg== "@types/body-parser@*": version "1.19.1" From 11a29b7c7071ea3b42843f336d5798363dfe4d3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Jul 2023 13:22:50 -0700 Subject: [PATCH 45/63] Bump eslint-plugin-cypress from 2.12.1 to 2.13.3 (#35) Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.12.1 to 2.13.3. - [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases) - [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v2.12.1...v2.13.3) --- updated-dependencies: - dependency-name: eslint-plugin-cypress dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d2c585d16..5eda10329 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "cypress": "^10.7.0", "dotenv": "16.0.0", "eslint-config-prettier": "8.5.0", - "eslint-plugin-cypress": "2.12.1", + "eslint-plugin-cypress": "2.13.3", "eslint-plugin-prettier": "4.0.0", "express": "4.17.3", "express-graphql": "0.12.0", diff --git a/yarn.lock b/yarn.lock index 557144e58..c56235a04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8404,10 +8404,10 @@ eslint-module-utils@^2.6.2: debug "^3.2.7" pkg-dir "^2.0.0" -eslint-plugin-cypress@2.12.1: - version "2.12.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.12.1.tgz#9aeee700708ca8c058e00cdafe215199918c2632" - integrity sha512-c2W/uPADl5kospNDihgiLc7n87t5XhUbFDoTl6CfVkmG+kDAb5Ux10V9PoLPu9N+r7znpc+iQlcmAqT1A/89HA== +eslint-plugin-cypress@2.13.3: + version "2.13.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.13.3.tgz#5fc1afdc939aaa7daa9181f651f2f35429733ff2" + integrity sha512-nAPjZE5WopCsgJwl3vHm5iafpV+ZRO76Z9hMyRygWhmg5ODXDPd+9MaPl7kdJ2azj+sO87H3P1PRnggIrz848g== dependencies: globals "^11.12.0" From 4f5be717c11dea26dd2f022be02e566617c7f12a Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 13 Jul 2023 13:30:31 -0700 Subject: [PATCH 46/63] Bump @replayio/cypress to v1.0.6 --- package.json | 2 +- yarn.lock | 51 ++++++++++++++++++++++++++++++--------------------- 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 5eda10329..feb6af37b 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^0.5.15", + "@replayio/cypress": "^1.0.6", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.38", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index c56235a04..82f7b4f73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4059,21 +4059,23 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^0.5.15": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-0.5.15.tgz#cba2af6b2417533026ec4a895a2b44dabc043320" - integrity sha512-9/v9efJxT35FEqGzoca3DjX2a9QUHfEW4fhyHGTvrVSiBq0jQAvP/uvlcojFh2e4IxrrZiRwxVCp+kga1fEtxA== +"@replayio/cypress@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-1.0.6.tgz#058f20646049b892c5ac6d93eacb2e0c9e6d03d9" + integrity sha512-2Uolzz/sbmCCtKFhUqzJRi+r9vWHbHjlUs62O3nCqpYKoMBSHGK6GtUBYz9wa4nWwrGhF+UVO/JB9yS6uWiu+A== dependencies: - "@replayio/replay" "^0.12.10" - "@replayio/test-utils" "^0.5.9" + "@replayio/replay" "^0.13.0" + "@replayio/test-utils" "^1.0.4" + chalk "^4.1.2" debug "^4.3.4" - semver "^7.3.8" + semver "^7.5.2" + terminate "^2.6.1" uuid "^8.3.2" -"@replayio/replay@^0.12.10": - version "0.12.10" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.12.10.tgz#21c4bf8da8966866d25d9a6450019eb3f75f0b1e" - integrity sha512-FKfxX3KpwR/H6PNzNqv40OjXUOO40ucQxnv9wFntFXAZdpspwlbpN3M0Gc45f3sOGzCrnP3ReseB0TPU3bWkrQ== +"@replayio/replay@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.13.0.tgz#9c3ae6b81a618408bd98bb99241c1a996a40f467" + integrity sha512-5uaXZg67raXhfLILVpqTZGY+I0TAIU1fQrm6ozjASTWowEdwdj963btUOVTFWiA/4fH1l1g58LoeKx3Yfpoo6w== dependencies: "@replayio/sourcemap-upload" "^1.0.7" commander "^7.2.0" @@ -4097,12 +4099,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^0.5.9": - version "0.5.9" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-0.5.9.tgz#3f7f9088641b56cccc9156781aa023f999095d1e" - integrity sha512-wGtLXLkAdH9tQ1oHQ4E/e3LCi1tKzYBPBkpi3Ef9qhY/EvsjEU5jFMyqLnd5YQXNo1k3rpOLyL+T+u7GVJea5g== +"@replayio/test-utils@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-1.0.4.tgz#dc0c2aff5085a827817e46bc9e0ed9787d1ebe50" + integrity sha512-Zyn4H0qD94V7PQq0KVf8WxBYH2cVQwm1Zc3spMYprjKee5kjbz6vTcd58/MwgMX4vJKl9Mjn8NFanMA+6x95WA== dependencies: - "@replayio/replay" "^0.12.10" + "@replayio/replay" "^0.13.0" "@types/node-fetch" "^2.6.2" debug "^4.3.4" node-fetch "^2.6.7" @@ -14454,7 +14456,7 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -ps-tree@1.2.0: +ps-tree@1.2.0, ps-tree@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd" integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA== @@ -15669,10 +15671,10 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -semver@^7.3.8: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== +semver@^7.5.2: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" @@ -16611,6 +16613,13 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" +terminate@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/terminate/-/terminate-2.6.1.tgz#99a4eb1647011b95f47401f6beb9f23e0362fbc0" + integrity sha512-0kdr49oam98yvjkVY+gfUaT3SMaJI6Sc+yijJjU+qhat+0NQKQn60OsIZZeKyVgTO0/33nRa3HowRbpw3A7u9A== + dependencies: + ps-tree "^1.2.0" + terser-webpack-plugin@4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" From b61ce7f2c6b9b6791d337b73f44bc89105d86f05 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 14 Jul 2023 08:48:16 -0700 Subject: [PATCH 47/63] set ssl node_options for build --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index feb6af37b..06d0be20e 100644 --- a/package.json +++ b/package.json @@ -179,7 +179,7 @@ "prebuild": "yarn types", "prebuild:ci": "yarn predev:cognito:ci", "build:ci": "react-scripts build", - "build": "react-scripts build", + "build": "NODE_OPTIONS=--openssl-legacy-provider react-scripts build", "eject": "react-scripts eject", "codesandbox:start:api": "yarn tsnode:not-instrumented --files backend/app.ts", "codesandbox:start": "NODE_ENV=development TSC_COMPILE_ON_ERROR=true concurrently \"react-scripts start\" yarn:start:api:codesandbox", From 2f3b637ac7cc38f30818e3737a518b68dd4da110 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 20 Jul 2023 15:44:26 -0700 Subject: [PATCH 48/63] Run on macOS --- .github/workflows/main.yml | 203 +------------------------------------ 1 file changed, 4 insertions(+), 199 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fd5c070e9..b0a7b3ab4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,11 +20,11 @@ env: jobs: install: - runs-on: ubuntu-latest timeout-minutes: 90 - container: - image: cypress/browsers:node16.13.0-chrome95-ff94 - options: --user 1001 + strategy: + matrix: + platform: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.platform }} steps: - name: Checkout uses: actions/checkout@v3 @@ -42,33 +42,6 @@ jobs: - run: yarn test:unit:ci - run: yarn build:ci - - name: Save build folder - uses: actions/upload-artifact@v3 - with: - name: build - if-no-files-found: error - path: build - - record: - name: UI tests (record) - runs-on: ubuntu-latest - container: - image: cypress/browsers:node16.13.0-chrome95-ff94 - options: --user 1001 - needs: install - outputs: - recordDuration: ${{steps.end.outputs.recordDuration}} - uploadDuration: ${{steps.end.outputs.uploadDuration}} - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Download the build folders - uses: actions/download-artifact@v3 - with: - name: build - path: build - - name: Cypress info run: npx cypress info @@ -105,18 +78,6 @@ jobs: # RECORD_REPLAY_DISABLE_ASSERTS: 1 # RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 - - name: Parse test run duration - id: set_var - if: always() - run: | - content=`cat duration.json` - echo "::set-output name=duration::$content" - - - name: Set upload start - if: always() - id: uploadStart - run: echo "time=`date +%s`" >> $GITHUB_OUTPUT - - name: Upload replays if: ${{ always() }} uses: replayio/action-upload@v0.5.0 @@ -125,159 +86,3 @@ jobs: api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 env: DEBUG: replay:cli* - - - name: Set duration in output - if: always() - id: end - run: | - echo "recordDuration=${{fromJson(steps.set_var.outputs.duration)}}" >> $GITHUB_OUTPUT - echo "uploadDuration=$(((`date +%s` - ${{ steps.uploadStart.outputs.time }}) * 1000))" >> $GITHUB_OUTPUT - - no-record: - name: UI tests (no record) - timeout-minutes: 15 - runs-on: ubuntu-latest - container: - image: cypress/browsers:node16.13.0-chrome95-ff94 - options: --user 1001 - needs: install - outputs: - noRecordDuration: ${{steps.end.outputs.noRecordDuration}} - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Download the build folders - uses: actions/download-artifact@v3 - with: - name: build - path: build - - - name: Cypress info - run: npx cypress info - - - name: Node info - run: node -v - - - name: __e Dir - run: ls /__e - - - name: "UI Tests - Chrome" - uses: cypress-io/github-action@v4 - with: - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: replay-chromium - spec: cypress/tests/ui/* - config-file: cypress.config.js - # env: - # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - # CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # # Recommended: pass the GitHub token lets this action correctly - # # determine the unique run id necessary to re-run the checks - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # DEBUG: "cypress:server:args" - env: - RECORD_REPLAY_TEST_METRICS: 1 - RECORD_REPLAY_TEST_ENVIRONMENT: "1" - RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} - RECORD_ALL_CONTENT: 1 - RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata - RECORD_REPLAY_DRIVER: /tmp/not-here - # These two are here to help with measuring the true overhead by disabling diagnostics - RECORD_REPLAY_DISABLE_ASSERTS: 1 - RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 - - - name: Parse test run duration - id: set_var - if: always() - run: | - content=`cat duration.json` - echo "::set-output name=duration::$content" - - - name: Set duration in output - if: always() - id: end - run: echo "noRecordDuration=${{fromJson(steps.set_var.outputs.duration)}}" >> $GITHUB_OUTPUT - - original: - name: UI tests (original) - runs-on: ubuntu-latest - container: - image: cypress/browsers:node16.13.0-chrome95-ff94 - options: --user 1001 - needs: install - outputs: - originalDuration: ${{steps.end.outputs.originalDuration}} - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Download the build folders - uses: actions/download-artifact@v3 - with: - name: build - path: build - - - name: Cypress info - run: npx cypress info - - - name: Node info - run: node -v - - - name: __e Dir - run: ls /__e - - - name: Set test start - if: always() - id: start - run: echo "time=`date +%s`" >> $GITHUB_OUTPUT - - - name: "UI Tests - Chrome" - uses: cypress-io/github-action@v4 - with: - start: yarn start:ci - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: chrome - spec: cypress/tests/ui/* - config-file: cypress.config.js - # env: - # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} - # CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - # # Recommended: pass the GitHub token lets this action correctly - # # determine the unique run id necessary to re-run the checks - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # DEBUG: "cypress:server:args" - - - name: Parse test run duration - id: set_var - if: always() - run: | - content=`cat duration.json` - echo "::set-output name=duration::$content" - - - name: Set duration in output - id: end - if: always() - run: echo "originalDuration=${{fromJson(steps.set_var.outputs.duration)}}" >> $GITHUB_OUTPUT - - upload-benchmarks: - name: Upload benchmarks - runs-on: ubuntu-latest - needs: [record, no-record, original] - if: always() - steps: - - run: | - echo "Record Duration: ${{ needs.record.outputs.recordDuration }}" - echo "No Record Duration: ${{ needs.no-record.outputs.noRecordDuration }}" - echo "Original Duration: ${{ needs.original.outputs.originalDuration }}" - echo "Upload Duration: ${{ needs.record.outputs.uploadDuration }}" - - name: Fetch API Data 📦 - uses: JamesIves/fetch-api-data-action@v2 - # Don't upload metrics for pull requests, so our stats are clean - if: ${{ github.ref_name == 'develop' }} - with: - endpoint: "https://telemetry.replay.io" - configuration: '{ "method": "POST", "body": {"event": "Webhook", "source": "metrics", "name": "action-finished-2", "project": "cypress-realworld-app", "originalDuration": "${{ needs.original.outputs.originalDuration }}", "recordDuration": "${{ needs.record.outputs.recordDuration }}", "noRecordDuration": "${{ needs.no-record.outputs.noRecordDuration }}", "uploadDuration": "${{ needs.record.outputs.uploadDuration }}"} }' From db6581cf7e231868030df6fc477a4042c1dee6d4 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 20 Jul 2023 15:53:22 -0700 Subject: [PATCH 49/63] legacy ssl --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b0a7b3ab4..ce3bb783d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,6 +33,8 @@ jobs: uses: cypress-io/github-action@v4 with: runTests: false + env: + NODE_OPTIONS: --openssl-legacy-provider # report machine parameters - run: yarn cypress info - run: node --version From b6a468709c3a69364fd29ecc8e1357e70b6971fe Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 20 Jul 2023 15:54:59 -0700 Subject: [PATCH 50/63] fail fast --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ce3bb783d..992205c4d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,6 +24,7 @@ jobs: strategy: matrix: platform: [ubuntu-latest, macos-latest] + fail-fast: false runs-on: ${{ matrix.platform }} steps: - name: Checkout From 0bb65157e2a21888b0155286de60f6023bb93de5 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 20 Jul 2023 15:56:44 -0700 Subject: [PATCH 51/63] update cypress --- .github/workflows/main.yml | 2 -- package.json | 2 +- yarn.lock | 63 +++++++++++++++++++++----------------- 3 files changed, 36 insertions(+), 31 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 992205c4d..992394f7e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -34,8 +34,6 @@ jobs: uses: cypress-io/github-action@v4 with: runTests: false - env: - NODE_OPTIONS: --openssl-legacy-provider # report machine parameters - run: yarn cypress info - run: node --version diff --git a/package.json b/package.json index 06d0be20e..4037d7e53 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "concurrently": "8.2.0", "cors": "2.8.5", "cross-env": "7.0.3", - "cypress": "^10.7.0", + "cypress": "12", "dotenv": "16.0.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-cypress": "2.13.3", diff --git a/yarn.lock b/yarn.lock index 82f7b4f73..0628e846c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3313,10 +3313,10 @@ find-webpack "2.2.1" find-yarn-workspace-root "2.0.0" -"@cypress/request@^2.88.10": - version "2.88.10" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" - integrity sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg== +"@cypress/request@^2.88.11": + version "2.88.11" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.11.tgz#5a4c7399bc2d7e7ed56e92ce5acb620c8b187047" + integrity sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -3331,7 +3331,7 @@ json-stringify-safe "~5.0.1" mime-types "~2.1.19" performance-now "^2.1.0" - qs "~6.5.2" + qs "~6.10.3" safe-buffer "^5.1.2" tough-cookie "~2.5.0" tunnel-agent "^0.6.0" @@ -6944,10 +6944,10 @@ commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +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== commander@^7.2.0: version "7.2.0" @@ -7563,12 +7563,12 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= -cypress@^10.7.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.7.0.tgz#2d37f8b9751c6de33ee48639cb7e67a2ce593231" - integrity sha512-gTFvjrUoBnqPPOu9Vl5SBHuFlzx/Wxg/ZXIz2H4lzoOLFelKeF7mbwYUOzgzgF0oieU2WhJAestQdkgwJMMTvQ== +cypress@12: + version "12.17.2" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.17.2.tgz#040ac55de1e811f6e037d231a2869d5ab8c29c85" + integrity sha512-hxWAaWbqQBzzMuadSGSuQg5PDvIGOovm6xm0hIfpCVcORsCAj/gF2p0EvfnJ4f+jK2PCiDgP6D2eeE9/FK4Mjg== dependencies: - "@cypress/request" "^2.88.10" + "@cypress/request" "^2.88.11" "@cypress/xvfb" "^1.2.4" "@types/node" "^14.14.31" "@types/sinonjs__fake-timers" "8.1.1" @@ -7582,12 +7582,12 @@ cypress@^10.7.0: check-more-types "^2.24.0" cli-cursor "^3.1.0" cli-table3 "~0.6.1" - commander "^5.1.0" + commander "^6.2.1" common-tags "^1.8.0" dayjs "^1.10.4" - debug "^4.3.2" + debug "^4.3.4" enquirer "^2.3.6" - eventemitter2 "^6.4.3" + eventemitter2 "6.4.7" execa "4.1.0" executable "^4.1.1" extract-zip "2.0.1" @@ -7600,12 +7600,12 @@ cypress@^10.7.0: listr2 "^3.8.3" lodash "^4.17.21" log-symbols "^4.0.0" - minimist "^1.2.6" + minimist "^1.2.8" ospath "^1.2.2" pretty-bytes "^5.6.0" proxy-from-env "1.0.0" request-progress "^3.0.0" - semver "^7.3.2" + semver "^7.5.3" supports-color "^8.1.1" tmp "~0.2.1" untildify "^4.0.0" @@ -8679,10 +8679,10 @@ event-stream@=3.3.4: stream-combiner "~0.0.4" through "~2.3.1" -eventemitter2@^6.4.3: - version "6.4.4" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.4.tgz#aa96e8275c4dbeb017a5d0e03780c65612a1202b" - integrity sha512-HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw== +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== eventemitter3@^4.0.0: version "4.0.7" @@ -12463,10 +12463,10 @@ minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +minimist@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass-collect@^1.0.2: version "1.0.2" @@ -14590,6 +14590,13 @@ qs@^6.5.1: dependencies: side-channel "^1.0.4" +qs@~6.10.3: + version "6.10.5" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4" + integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ== + dependencies: + side-channel "^1.0.4" + qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -15671,7 +15678,7 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -semver@^7.5.2: +semver@^7.5.2, semver@^7.5.3: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== From 8c4bf68fc1458ca8199ac447b361c68053816d3c Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 20 Jul 2023 16:03:45 -0700 Subject: [PATCH 52/63] node16 --- .github/workflows/main.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 992394f7e..b94d3c0b6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,6 +30,10 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 + - name: Cypress install uses: cypress-io/github-action@v4 with: From 474bdfcc0851043c8d8847c4a5a8163710fd3524 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Thu, 20 Jul 2023 16:10:30 -0700 Subject: [PATCH 53/63] remove ls --- .github/workflows/main.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b94d3c0b6..d98ce84a5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,9 +53,6 @@ jobs: - name: Node info run: node -v - - name: __e Dir - run: ls /__e - - name: "UI Tests - Chrome" uses: cypress-io/github-action@v4 with: From e576503f2e5c2dac17441c8485cab07d2d97bba4 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 21 Jul 2023 08:42:52 -0700 Subject: [PATCH 54/63] test run title --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d98ce84a5..5aa3bc0f3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,6 +76,7 @@ jobs: RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata + REPLAY_METADATA_TEST_RUN_TITLE: ${{ matrix.platform }} # # These two are here to help with measuring the true overhead by disabling diagnostics # RECORD_REPLAY_DISABLE_ASSERTS: 1 # RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 From 83ad5a0c23bff2b3ecf3c6cebbc153b8e2b8f2ef Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 21 Jul 2023 09:07:32 -0700 Subject: [PATCH 55/63] bump cypress --- .github/dependabot.yml | 2 + .github/workflows/main.yml | 2 +- yarn.lock | 538 ++++++++++++++++++++++++++++--------- 3 files changed, 407 insertions(+), 135 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index efe2c85d2..ce4463f74 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,3 +6,5 @@ updates: # Check the npm registry for updates every day (weekdays) schedule: interval: "daily" + allow: + - dependency-name: "@replayio/*" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5aa3bc0f3..ee574914f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,7 +23,7 @@ jobs: timeout-minutes: 90 strategy: matrix: - platform: [ubuntu-latest, macos-latest] + platform: [ubuntu-latest, macos-latest, windows-latest] fail-fast: false runs-on: ${{ matrix.platform }} steps: diff --git a/yarn.lock b/yarn.lock index 0628e846c..8d19e1e74 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4060,24 +4060,24 @@ source-map "^0.7.3" "@replayio/cypress@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-1.0.6.tgz#058f20646049b892c5ac6d93eacb2e0c9e6d03d9" - integrity sha512-2Uolzz/sbmCCtKFhUqzJRi+r9vWHbHjlUs62O3nCqpYKoMBSHGK6GtUBYz9wa4nWwrGhF+UVO/JB9yS6uWiu+A== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-1.0.11.tgz#07119be5a9bcd54b7b8cfdd195faa21074d897ba" + integrity sha512-mQpVVddSt7CgVynkGBjLW66zeU77eVt69qY1QKmm9PV91AfaWiFvG9cC2q4bYAPPstVyfEM7w2O9ejxKuBebBg== dependencies: - "@replayio/replay" "^0.13.0" - "@replayio/test-utils" "^1.0.4" + "@replayio/replay" "^0.14.1" + "@replayio/test-utils" "^1.0.7" chalk "^4.1.2" debug "^4.3.4" semver "^7.5.2" terminate "^2.6.1" uuid "^8.3.2" -"@replayio/replay@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.13.0.tgz#9c3ae6b81a618408bd98bb99241c1a996a40f467" - integrity sha512-5uaXZg67raXhfLILVpqTZGY+I0TAIU1fQrm6ozjASTWowEdwdj963btUOVTFWiA/4fH1l1g58LoeKx3Yfpoo6w== +"@replayio/replay@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.14.1.tgz#2eb1bb1bf0465e427a8d2e73190a41ba0106c64a" + integrity sha512-piay2QtpjCOrOFdEKeMQ0ZjDVNuZmCZ5B9hkjvoLMdTHuUdFmFFDULjHHhesCaiVA0bCtnSpNih30GLX1FE1tw== dependencies: - "@replayio/sourcemap-upload" "^1.0.7" + "@replayio/sourcemap-upload" "^1.1.0" commander "^7.2.0" debug "^4.3.4" is-uuid "^1.0.2" @@ -4088,10 +4088,10 @@ text-table "^0.2.0" ws "^7.5.0" -"@replayio/sourcemap-upload@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.0.7.tgz#e1aa0e910d7b8bfe8828ea4f27495e3ed9ab2476" - integrity sha512-osmLqhOnaqAihY+xD56zu9LECXK1iw3d4oViIGJuZbtVkB8X5EoDTJEBPmj4xL6SG6XxeuKpaqmK2OKFi9YiuQ== +"@replayio/sourcemap-upload@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.1.0.tgz#98c395552a066ed5b274f3253144dd395ee8152c" + integrity sha512-u/bjGHQurk8+tXIHNQBLoS+f3mER7dqz0SW5OAKnsPWfZ0kFPUvrGRbob0UkU/Thl1C4U/8FnIWIawzwd3WQ1g== dependencies: commander "^7.2.0" debug "^4.3.1" @@ -4099,12 +4099,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-1.0.4.tgz#dc0c2aff5085a827817e46bc9e0ed9787d1ebe50" - integrity sha512-Zyn4H0qD94V7PQq0KVf8WxBYH2cVQwm1Zc3spMYprjKee5kjbz6vTcd58/MwgMX4vJKl9Mjn8NFanMA+6x95WA== +"@replayio/test-utils@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-1.0.7.tgz#11124f3bf84da639452ffcf1d0d35555c1c2bc72" + integrity sha512-VDBYvu2Jg1MbCkwPzkXk7Yaz7OXJiI3PBQ9+x/2ex1ixxVhny7bULENY2IMKK78yh5/ifXuQSwJAd4eiXRLqsQ== dependencies: - "@replayio/replay" "^0.13.0" + "@replayio/replay" "^0.14.1" "@types/node-fetch" "^2.6.2" debug "^4.3.4" node-fetch "^2.6.7" @@ -4653,17 +4653,17 @@ "@types/node" "*" "@types/node-fetch@^2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" - integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== + version "2.6.4" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.4.tgz#1bc3a26de814f6bf466b25aeb1473fa1afe6a660" + integrity sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg== dependencies: "@types/node" "*" form-data "^3.0.0" "@types/node@*": - version "16.9.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.6.tgz#040a64d7faf9e5d9e940357125f0963012e66f04" - integrity sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ== + version "20.4.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.2.tgz#129cc9ae69f93824f92fac653eebfb4812ab4af9" + integrity sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw== "@types/node@14.18.13", "@types/node@^14.14.31": version "14.18.13" @@ -5507,6 +5507,14 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -5569,6 +5577,18 @@ array.prototype.flatmap@^1.2.4: es-abstract "^1.18.0-next.1" function-bind "^1.1.1" +arraybuffer.prototype.slice@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz#9b5ea3868a6eebc30273da577eb888381c0044bb" + integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -5659,7 +5679,7 @@ async@^3.1.0, async@^3.2.0: asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== at-least-node@^1.0.0: version "1.0.0" @@ -5684,6 +5704,11 @@ autoprefixer@^9.6.1: postcss "^7.0.32" postcss-value-parser "^4.1.0" +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + aws-amplify@4.3.20: version "4.3.20" resolved "https://registry.yarnpkg.com/aws-amplify/-/aws-amplify-4.3.20.tgz#292603ace65575cd96ddc3967537ba96b1ff28b3" @@ -6999,7 +7024,7 @@ compression@^1.7.4: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.5.0: version "1.6.2" @@ -7664,7 +7689,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.2, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: +debug@4, debug@4.3.2, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -7699,7 +7724,7 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.3.4: +debug@^4.3.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== @@ -7793,13 +7818,21 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-properties@^1.1.2, define-properties@^1.1.3: +define-properties@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" @@ -7838,7 +7871,7 @@ del@^4.1.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 sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== depd@~1.1.2: version "1.1.2" @@ -8248,7 +8281,7 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.1.1" -es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.1, es-abstract@^1.18.2: +es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.1: version "1.18.6" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== @@ -8272,11 +8305,65 @@ es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es- string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" +es-abstract@^1.18.2, es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.22.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.1.tgz#8b4e5fc5cefd7f1660f0f8e1a52900dfbc9d9ccc" + integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.1" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.1" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.0" + safe-array-concat "^1.0.0" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.10" + es-cookie@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/es-cookie/-/es-cookie-1.3.2.tgz#80e831597f72a25721701bdcb21d990319acd831" integrity sha512-UTlYYhXGLOy05P/vKVT2Ui7WtC7NiRzGtJyAKKn32g5Gvcjn7KAClLPWlipCtxIus934dFg9o9jXiBL0nP+t9Q== +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -8669,7 +8756,7 @@ etag@~1.8.1: event-stream@=3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" - integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= + integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== dependencies: duplexer "~0.1.1" from "~0" @@ -9288,6 +9375,13 @@ follow-redirects@^1.14.8: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -9383,7 +9477,7 @@ from2@^2.1.0: from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" - integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= + integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== fromentries@^1.2.0: version "1.3.2" @@ -9452,7 +9546,7 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^1.2.7: version "1.2.13" @@ -9472,11 +9566,26 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +functions-have-names@^1.2.2, functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + fuse.js@6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-6.5.3.tgz#7446c0acbc4ab0ab36fa602e97499bdb69452b93" @@ -9497,14 +9606,15 @@ get-caller-file@^2.0.1, get-caller-file@^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.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-proto "^1.0.1" + has-symbols "^1.0.3" get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" @@ -9577,7 +9687,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== @@ -9589,6 +9699,18 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.6: + 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@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" @@ -9631,6 +9753,13 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" @@ -9680,6 +9809,13 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^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" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -9780,10 +9916,10 @@ harmony-reflect@^1.4.6: resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^2.0.0: version "2.0.0" @@ -9800,10 +9936,22 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.1, has-symbols@^1.0.2, 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== has-tostringtag@^1.0.0: version "1.0.0" @@ -10328,7 +10476,7 @@ infer-owner@^1.0.3, infer-owner@^1.0.4: inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" @@ -10371,12 +10519,12 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== +internal-slot@^1.0.3, internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== dependencies: - get-intrinsic "^1.1.0" + get-intrinsic "^1.2.0" has "^1.0.3" side-channel "^1.0.4" @@ -10439,6 +10587,15 @@ is-arguments@^1.0.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -10483,10 +10640,10 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-ci@^2.0.0: version "2.0.0" @@ -10642,10 +10799,10 @@ is-module@^1.0.0: resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== +is-negative-zero@^2.0.1, is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-npm@^4.0.0: version "4.0.0" @@ -10658,9 +10815,9 @@ is-npm@^5.0.0: integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" @@ -10755,6 +10912,13 @@ is-root@2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -10779,6 +10943,13 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -10794,6 +10965,13 @@ is-uuid@^1.0.2: resolved "https://registry.yarnpkg.com/is-uuid/-/is-uuid-1.0.2.tgz#ad1898ddf154947c25c8e54966f48604e9caecc4" integrity sha512-tCByphFcJgf2qmiMo5hMCgNAquNSagOetVetDvBXswGkNfoyEMvGH1yDlF8cbZbKnbVBr4Y5/rlpMz9umxyBkQ== +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -10826,7 +11004,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isarray@^2.0.1: +isarray@^2.0.1, isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== @@ -12234,7 +12412,7 @@ map-obj@^4.0.0: map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" - integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= + integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== map-visit@^1.0.0: version "1.0.0" @@ -12375,20 +12553,20 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.32" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" - integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== - dependencies: - mime-db "1.49.0" - -mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@~2.1.34: 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" +mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.32" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" + integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== + dependencies: + mime-db "1.49.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -12442,13 +12620,20 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.4: +minimatch@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" +minimatch@^3.0.4, 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-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -12727,24 +12912,10 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-fetch@^2.6.1: - version "2.6.4" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.4.tgz#7f1d13b8f9ff0c1a994dc6f73c69f7d652c7ace2" - integrity sha512-aD1fO+xtLiSCc9vuD+sYMxpIuQyhHscGSkBEo2o5LTV/3bTEAYvdUii29n8LlO5uLCmWdGP7uVUVXFo5SRdkLA== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.6.8: - version "2.6.8" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" - integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== +node-fetch@^2.6.1, node-fetch@^2.6.7, node-fetch@^2.6.8: + version "2.6.12" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" + integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== dependencies: whatwg-url "^5.0.0" @@ -12976,10 +13147,10 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== +object-inspect@^1.11.0, object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== object-is@^1.0.1: version "1.1.5" @@ -13001,7 +13172,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0, object.assign@^4.1.2: +object.assign@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -13011,6 +13182,16 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" +object.assign@^4.1.2, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + object.entries@^1.1.0, object.entries@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" @@ -13429,7 +13610,7 @@ path-exists@^4.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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-is-inside@^1.0.2: version "1.0.2" @@ -13478,7 +13659,7 @@ path-type@^4.0.0: pause-stream@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" - integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= + integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== dependencies: through "~2.3" @@ -15141,7 +15322,7 @@ regex-parser@^2.2.11: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: +regexp.prototype.flags@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== @@ -15149,6 +15330,15 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" +regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + functions-have-names "^1.2.3" + regexpp@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -15527,6 +15717,16 @@ rxjs@^7.1.0, rxjs@^7.8.1: dependencies: tslib "^2.1.0" +safe-array-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" + integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -15537,6 +15737,15 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -16103,7 +16312,7 @@ split-string@^3.0.1, split-string@^3.0.2: split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" - integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= + integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== dependencies: through "2" @@ -16219,7 +16428,7 @@ stream-browserify@^2.0.1: stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" - integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= + integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== dependencies: duplexer "~0.1.1" @@ -16301,34 +16510,45 @@ string-width@^4.2.2, string-width@^4.2.3: strip-ansi "^6.0.1" string.prototype.matchall@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" - integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - get-intrinsic "^1.1.1" - has-symbols "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" + regexp.prototype.flags "^1.4.3" side-channel "^1.0.4" -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.1.4" + es-abstract "^1.20.4" -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== +string.prototype.trimend@^1.0.4, string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.4, string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" @@ -16862,7 +17082,7 @@ tr46@^2.1.0: tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== tree-kill@^1.2.2: version "1.2.2" @@ -17043,6 +17263,45 @@ type@^2.5.0: resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -17077,14 +17336,14 @@ ulid@2.3.0: resolved "https://registry.yarnpkg.com/ulid/-/ulid-2.3.0.tgz#93063522771a9774121a84d126ecd3eb9804071f" integrity sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw== -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== +unbox-primitive@^1.0.1, unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" unbzip2-stream@^1.3.3: @@ -17544,7 +17803,7 @@ webcrypto-shim@^0.1.5: webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webidl-conversions@^5.0.0: version "5.0.0" @@ -17703,7 +17962,7 @@ whatwg-mimetype@^2.3.0: whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" @@ -17733,6 +17992,17 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +which-typed-array@^1.1.10, which-typed-array@^1.1.11: + version "1.1.11" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a" + integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -18000,7 +18270,7 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" From 18dccc390dce7a96b290471d22a9da582cea0e86 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Mon, 24 Jul 2023 09:30:22 -0700 Subject: [PATCH 56/63] debug win crash --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ee574914f..017e574de 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,6 +17,8 @@ env: RECORD_REPLAY_FIREFOX_DOWNLOAD_FILE: ${{ github.event.inputs.firefox-runtime }} RECORD_REPLAY_CHROMIUM_DOWNLOAD_FILE: ${{ github.event.inputs.chromium-runtime }} RECORD_REPLAY_TEST_ENVIRONMENT: 1 + DEBUG: cypress:launcher:browsers + RECORD_REPLAY_VERBOSE: 1 jobs: install: From f3ef5e614a6ca2a8a8fe6b60698007839fc43f0c Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Mon, 24 Jul 2023 09:57:03 -0700 Subject: [PATCH 57/63] windows diag mode --- .github/workflows/diag.yml | 92 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .github/workflows/diag.yml diff --git a/.github/workflows/diag.yml b/.github/workflows/diag.yml new file mode 100644 index 000000000..5dd341310 --- /dev/null +++ b/.github/workflows/diag.yml @@ -0,0 +1,92 @@ +name: E2E Test + +on: + schedule: + - cron: "0 1 * * *" + push: + workflow_dispatch: + inputs: + chromium-runtime: + type: string + description: Custom Chromium Runtime + firefox-runtime: + type: string + description: Custom Firefox Runtime + +env: + RECORD_REPLAY_FIREFOX_DOWNLOAD_FILE: ${{ github.event.inputs.firefox-runtime }} + RECORD_REPLAY_CHROMIUM_DOWNLOAD_FILE: ${{ github.event.inputs.chromium-runtime }} + RECORD_REPLAY_TEST_ENVIRONMENT: 1 + DEBUG: cypress:launcher:browsers + RECORD_REPLAY_VERBOSE: 1 + +jobs: + install: + timeout-minutes: 90 + strategy: + matrix: + platform: [windows-latest] + fail-fast: false + runs-on: ${{ matrix.platform }} + steps: + - name: Checkout + uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Cypress install + uses: cypress-io/github-action@v4 + with: + runTests: false + # report machine parameters + - run: yarn cypress info + - run: node --version + - run: node -p 'os.cpus()' + - run: yarn types + - run: yarn lint + - run: yarn test:unit:ci + - run: yarn build:ci + + - name: Cypress info + run: npx cypress info + + - name: Node info + run: node -v + + - name: "UI Tests - Chrome" + uses: cypress-io/github-action@v4 + with: + start: yarn start:ci + wait-on: "http://localhost:3000" + wait-on-timeout: 120 + command: npx @replayio/cypress run --mode diagnostics --level full --browser replay-chromium --spec cypress/tests/ui/bankaccounts.spec.ts + config-file: cypress.config.js + # env: + # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} + # CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} + # # Recommended: pass the GitHub token lets this action correctly + # # determine the unique run id necessary to re-run the checks + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # DEBUG: "cypress:server:args" + env: + # RECORD_REPLAY_JS_ASSERTS: 1 + RECORD_REPLAY_TEST_METRICS: 1 + RECORD_REPLAY_TEST_ENVIRONMENT: "1" + RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} + RECORD_ALL_CONTENT: 1 + RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata + REPLAY_METADATA_TEST_RUN_TITLE: ${{ matrix.platform }} + # # These two are here to help with measuring the true overhead by disabling diagnostics + # RECORD_REPLAY_DISABLE_ASSERTS: 1 + # RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 + + - name: Upload replays + if: ${{ always() }} + uses: replayio/action-upload@v0.5.0 + with: + public: true + api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 + env: + DEBUG: replay:cli* From 416527f16459dc4949aa943cda4c6acf2c0cf037 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Mon, 24 Jul 2023 10:23:34 -0700 Subject: [PATCH 58/63] no record --- .github/workflows/diag.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/diag.yml b/.github/workflows/diag.yml index 5dd341310..f0281dddd 100644 --- a/.github/workflows/diag.yml +++ b/.github/workflows/diag.yml @@ -61,7 +61,7 @@ jobs: start: yarn start:ci wait-on: "http://localhost:3000" wait-on-timeout: 120 - command: npx @replayio/cypress run --mode diagnostics --level full --browser replay-chromium --spec cypress/tests/ui/bankaccounts.spec.ts + command: npx @replayio/cypress run --browser replay-chromium --spec cypress/tests/ui/bankaccounts.spec.ts config-file: cypress.config.js # env: # CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} @@ -71,6 +71,7 @@ jobs: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # DEBUG: "cypress:server:args" env: + RECORD_REPLAY_NO_RECORD: 1 # RECORD_REPLAY_JS_ASSERTS: 1 RECORD_REPLAY_TEST_METRICS: 1 RECORD_REPLAY_TEST_ENVIRONMENT: "1" From 9f69a8866c1b8b7844385a92fc43eefb3eeae185 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Jul 2023 09:49:47 -0700 Subject: [PATCH 59/63] Bump @replayio/cypress from 1.0.11 to 1.1.1 (#46) Bumps [@replayio/cypress](https://github.com/replayio/replay-cli) from 1.0.11 to 1.1.1. - [Commits](https://github.com/replayio/replay-cli/compare/@replayio/cypress@1.0.11...@replayio/cypress@1.1.1) --- updated-dependencies: - dependency-name: "@replayio/cypress" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 71 +++++++++++++++++++++++----------------------------- 2 files changed, 33 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index 4037d7e53..deb4644be 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@cypress/webpack-dev-server": "^1.6.0", "@faker-js/faker": "6.1.2", "@percy/cypress": "2.3.4", - "@replayio/cypress": "^1.0.6", + "@replayio/cypress": "^1.1.1", "@types/bcryptjs": "2.4.2", "@types/bluebird": "3.5.38", "@types/connect-flash": "0.0.37", diff --git a/yarn.lock b/yarn.lock index 8d19e1e74..a21856e69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4059,25 +4059,25 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@replayio/cypress@^1.0.6": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-1.0.11.tgz#07119be5a9bcd54b7b8cfdd195faa21074d897ba" - integrity sha512-mQpVVddSt7CgVynkGBjLW66zeU77eVt69qY1QKmm9PV91AfaWiFvG9cC2q4bYAPPstVyfEM7w2O9ejxKuBebBg== +"@replayio/cypress@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@replayio/cypress/-/cypress-1.1.1.tgz#095e3fb417770533c1d6b97833f2e3aecd904c89" + integrity sha512-fFTL3OjqnZT0QzLEQsUzcXMJRyE5VTfhCWMJinm/v2sh9nt19yo28c7rG6VDU1i1g44zVnquj4Q54rCQ6k64fg== dependencies: - "@replayio/replay" "^0.14.1" - "@replayio/test-utils" "^1.0.7" + "@replayio/replay" "^0.14.2" + "@replayio/test-utils" "^1.1.1" chalk "^4.1.2" debug "^4.3.4" semver "^7.5.2" terminate "^2.6.1" uuid "^8.3.2" -"@replayio/replay@^0.14.1": - version "0.14.1" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.14.1.tgz#2eb1bb1bf0465e427a8d2e73190a41ba0106c64a" - integrity sha512-piay2QtpjCOrOFdEKeMQ0ZjDVNuZmCZ5B9hkjvoLMdTHuUdFmFFDULjHHhesCaiVA0bCtnSpNih30GLX1FE1tw== +"@replayio/replay@^0.14.2": + version "0.14.2" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.14.2.tgz#1df6974d9dba3d79641806d0e4372583329e9858" + integrity sha512-ZLO8D9S++ryhkjhGywR46NPjBskrNK2OgxjIyAG47NXpk6yJdPYw+pECJ60bhSHv6Y4KCUdVNlOaIbO14IBq3Q== dependencies: - "@replayio/sourcemap-upload" "^1.1.0" + "@replayio/sourcemap-upload" "^1.1.1" commander "^7.2.0" debug "^4.3.4" is-uuid "^1.0.2" @@ -4088,10 +4088,10 @@ text-table "^0.2.0" ws "^7.5.0" -"@replayio/sourcemap-upload@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.1.0.tgz#98c395552a066ed5b274f3253144dd395ee8152c" - integrity sha512-u/bjGHQurk8+tXIHNQBLoS+f3mER7dqz0SW5OAKnsPWfZ0kFPUvrGRbob0UkU/Thl1C4U/8FnIWIawzwd3WQ1g== +"@replayio/sourcemap-upload@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@replayio/sourcemap-upload/-/sourcemap-upload-1.1.1.tgz#2e6e5c9a5b5037bb2e2d21b2751411e5188eb486" + integrity sha512-XcJmyi2lxVUv/OuCC4GS7SFDrwViObw5czLy2pz7i2AAHFdFQJxTSqnNnw00m7ocUBdgcn/P0DzKHeRvTgPx4w== dependencies: commander "^7.2.0" debug "^4.3.1" @@ -4099,12 +4099,12 @@ node-fetch "^2.6.1" string.prototype.matchall "^4.0.5" -"@replayio/test-utils@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-1.0.7.tgz#11124f3bf84da639452ffcf1d0d35555c1c2bc72" - integrity sha512-VDBYvu2Jg1MbCkwPzkXk7Yaz7OXJiI3PBQ9+x/2ex1ixxVhny7bULENY2IMKK78yh5/ifXuQSwJAd4eiXRLqsQ== +"@replayio/test-utils@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@replayio/test-utils/-/test-utils-1.1.1.tgz#52ac290748a19b544792be06b60546ed596a5bcd" + integrity sha512-blBt2R0cix+5U35RJD+0ITWXHkj4Fxy77TIaU96TP6lINRsSRcfiGd6Xff63jnWNOCfPk/ac+rm1cih2sadtFQ== dependencies: - "@replayio/replay" "^0.14.1" + "@replayio/replay" "^0.14.2" "@types/node-fetch" "^2.6.2" debug "^4.3.4" node-fetch "^2.6.7" @@ -7689,10 +7689,10 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.2, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, 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" @@ -7710,6 +7710,13 @@ debug@4.2.0: dependencies: ms "2.1.2" +debug@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + debug@4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" @@ -7724,13 +7731,6 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.3.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" - decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -15880,14 +15880,7 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^7.5.2, semver@^7.5.3: +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.5.2, semver@^7.5.3: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== From c809f4f403da57ce0930b9f7959248d0f09a5bed Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Wed, 26 Jul 2023 09:57:15 -0700 Subject: [PATCH 60/63] Add api key to test runner --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 017e574de..41ad86531 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -72,6 +72,7 @@ jobs: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # DEBUG: "cypress:server:args" env: + REPLAY_API_KEY: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 # RECORD_REPLAY_JS_ASSERTS: 1 RECORD_REPLAY_TEST_METRICS: 1 RECORD_REPLAY_TEST_ENVIRONMENT: "1" From 6e3e4ee0866972efc8ffdb41bec5e6794715fb17 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 4 Aug 2023 09:36:55 -0700 Subject: [PATCH 61/63] Update diag.yml --- .github/workflows/diag.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/diag.yml b/.github/workflows/diag.yml index f0281dddd..654ca595f 100644 --- a/.github/workflows/diag.yml +++ b/.github/workflows/diag.yml @@ -1,9 +1,6 @@ -name: E2E Test +name: Windows Diagnostic Run on: - schedule: - - cron: "0 1 * * *" - push: workflow_dispatch: inputs: chromium-runtime: From dd984effb58826205824f6b6face67abc71d2c60 Mon Sep 17 00:00:00 2001 From: Ryan Duffy Date: Fri, 4 Aug 2023 10:45:00 -0700 Subject: [PATCH 62/63] match main config --- .github/workflows/main.yml | 64 ++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 41ad86531..50801873e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,8 +1,6 @@ name: E2E Test on: - schedule: - - cron: "0 1 * * *" push: workflow_dispatch: inputs: @@ -17,17 +15,16 @@ env: RECORD_REPLAY_FIREFOX_DOWNLOAD_FILE: ${{ github.event.inputs.firefox-runtime }} RECORD_REPLAY_CHROMIUM_DOWNLOAD_FILE: ${{ github.event.inputs.chromium-runtime }} RECORD_REPLAY_TEST_ENVIRONMENT: 1 - DEBUG: cypress:launcher:browsers + DEBUG: cypress:launcher:browsers* RECORD_REPLAY_VERBOSE: 1 jobs: install: + runs-on: ubuntu-latest timeout-minutes: 90 - strategy: - matrix: - platform: [ubuntu-latest, macos-latest, windows-latest] - fail-fast: false - runs-on: ${{ matrix.platform }} + # container: + # image: cypress/browsers:node16.13.0-chrome95-ff94 + # options: --user 1001 steps: - name: Checkout uses: actions/checkout@v3 @@ -49,12 +46,42 @@ jobs: - run: yarn test:unit:ci - run: yarn build:ci + - name: Save build folder + uses: actions/upload-artifact@v3 + with: + name: build + if-no-files-found: error + path: build + + record: + name: UI tests (record) + runs-on: ubuntu-latest + container: + image: cypress/browsers:node16.13.0-chrome95-ff94 + options: --user 1001 + needs: install + outputs: + recordDuration: ${{steps.end.outputs.recordDuration}} + uploadDuration: ${{steps.end.outputs.uploadDuration}} + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Download the build folders + uses: actions/download-artifact@v3 + with: + name: build + path: build + - name: Cypress info run: npx cypress info - name: Node info run: node -v + - name: __e Dir + run: ls /__e + - name: "UI Tests - Chrome" uses: cypress-io/github-action@v4 with: @@ -72,18 +99,28 @@ jobs: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # DEBUG: "cypress:server:args" env: - REPLAY_API_KEY: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 # RECORD_REPLAY_JS_ASSERTS: 1 RECORD_REPLAY_TEST_METRICS: 1 RECORD_REPLAY_TEST_ENVIRONMENT: "1" RECORD_REPLAY_WEBHOOK_URL: ${{ secrets.RECORD_REPLAY_WEBHOOK_URL }} RECORD_ALL_CONTENT: 1 RECORD_REPLAY_METADATA_FILE: /tmp/replay-metadata - REPLAY_METADATA_TEST_RUN_TITLE: ${{ matrix.platform }} # # These two are here to help with measuring the true overhead by disabling diagnostics # RECORD_REPLAY_DISABLE_ASSERTS: 1 # RECORD_REPLAY_DISABLE_SOURCEMAP_COLLECTION: 1 + - name: Parse test run duration + id: set_var + if: always() + run: | + content=`cat duration.json` + echo "::set-output name=duration::$content" + + - name: Set upload start + if: always() + id: uploadStart + run: echo "time=`date +%s`" >> $GITHUB_OUTPUT + - name: Upload replays if: ${{ always() }} uses: replayio/action-upload@v0.5.0 @@ -92,3 +129,10 @@ jobs: api-key: rwk_wayprCcrJi5pM4VNN0kWHkc1AUWfqFyS1musJwdqtC4 env: DEBUG: replay:cli* + + - name: Set duration in output + if: always() + id: end + run: | + echo "recordDuration=${{fromJson(steps.set_var.outputs.duration)}}" >> $GITHUB_OUTPUT + echo "uploadDuration=$(((`date +%s` - ${{ steps.uploadStart.outputs.time }}) * 1000))" >> $GITHUB_OUTPUT From 2e9a2e52197ae90c228c30e81ecdd825c25b8956 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 04:47:52 +0000 Subject: [PATCH 63/63] Bump @replayio/replay from 0.14.2 to 0.14.4 Bumps [@replayio/replay](https://github.com/replayio/replay-cli) from 0.14.2 to 0.14.4. - [Commits](https://github.com/replayio/replay-cli/compare/@replayio/replay@0.14.2...@replayio/replay@0.14.4) --- updated-dependencies: - dependency-name: "@replayio/replay" dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index a21856e69..98e9fcac2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4073,9 +4073,9 @@ uuid "^8.3.2" "@replayio/replay@^0.14.2": - version "0.14.2" - resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.14.2.tgz#1df6974d9dba3d79641806d0e4372583329e9858" - integrity sha512-ZLO8D9S++ryhkjhGywR46NPjBskrNK2OgxjIyAG47NXpk6yJdPYw+pECJ60bhSHv6Y4KCUdVNlOaIbO14IBq3Q== + version "0.14.4" + resolved "https://registry.yarnpkg.com/@replayio/replay/-/replay-0.14.4.tgz#5739a4ab29be70626f0594da013b2d0e8c5443ff" + integrity sha512-m2PQ2yQnzXQx5+9lm1f1yMCkcIQUP2HtVhp2O42oDMH3CbDkK9kzdZ4hhYOYxOev+zZOMN4pU7uS6krNUAHYqA== dependencies: "@replayio/sourcemap-upload" "^1.1.1" commander "^7.2.0"