diff --git a/.circleci/cache-version.txt b/.circleci/cache-version.txt index 5551685a4f4a..c33910231309 100644 --- a/.circleci/cache-version.txt +++ b/.circleci/cache-version.txt @@ -1,3 +1,3 @@ # Bump this version to force CI to re-create the cache from scratch. -11-1-24 +11-6-24 diff --git a/.github/workflows/update_v8_snapshot_cache.yml b/.github/workflows/update_v8_snapshot_cache.yml index 2e0dd9df6913..e3fc5f35d2b3 100644 --- a/.github/workflows/update_v8_snapshot_cache.yml +++ b/.github/workflows/update_v8_snapshot_cache.yml @@ -45,7 +45,7 @@ concurrency: jobs: update-v8-snapshot-cache: strategy: - max-parallel: 1 + max-parallel: 3 matrix: platform: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.platform }} @@ -57,14 +57,20 @@ jobs: steps: - name: Determine snapshot files - Windows if: ${{ matrix.platform == 'windows-latest' }} - run: echo "SNAPSHOT_FILES='tooling\v8-snapshot\cache\win32\snapshot-meta.json'" >> $GITHUB_ENV + run: | + echo "SNAPSHOT_FILES='tooling\v8-snapshot\cache\win32\snapshot-meta.json'" >> $GITHUB_ENV + echo "PLATFORM=windows" >> $GITHUB_ENV shell: bash - name: Determine snapshot files - Linux if: ${{ matrix.platform == 'ubuntu-latest' }} - run: echo "SNAPSHOT_FILES='tooling/v8-snapshot/cache/linux/snapshot-meta.json'" >> $GITHUB_ENV + run: | + echo "SNAPSHOT_FILES='tooling/v8-snapshot/cache/linux/snapshot-meta.json'" >> $GITHUB_ENV + echo "PLATFORM=linux" >> $GITHUB_ENV - name: Determine snapshot files - Mac if: ${{ matrix.platform == 'macos-latest' }} - run: echo "SNAPSHOT_FILES='tooling/v8-snapshot/cache/darwin/snapshot-meta.json'" >> $GITHUB_ENV + run: | + echo "SNAPSHOT_FILES='tooling/v8-snapshot/cache/darwin/snapshot-meta.json'" >> $GITHUB_ENV + echo "PLATFORM=darwin" >> $GITHUB_ENV - name: Install setuptools - Mac if: ${{ matrix.platform == 'macos-latest' }} run: sudo -H pip install setuptools @@ -85,7 +91,8 @@ jobs: node-version: 20 cache: 'yarn' - name: Run yarn - run: yarn + # set the timeout here to try and deal with Windows slowness + run: yarn --network-timeout 300000 - name: Run build run: yarn build - name: Generate prod snapshot from scratch @@ -108,14 +115,17 @@ jobs: - name: Determine branch name - commit to separate branch if: ${{ inputs.commit_directly_to_branch != true }} run: | - echo "BRANCH_NAME=update-v8-snapshot-cache-on-${{ env.BASE_BRANCH }}" >> $GITHUB_ENV - echo "BRANCH_EXISTS=$(git show-ref --verify --quiet refs/remotes/origin/update-v8-snapshot-cache-on-${{ env.BASE_BRANCH }} && echo 'true')" >> $GITHUB_ENV + echo "BRANCH_NAME=update-v8-snapshot-cache-on-${{ env.BASE_BRANCH }}-${{ env.PLATFORM }}" >> $GITHUB_ENV + echo "BRANCH_EXISTS=$(git show-ref --verify --quiet refs/remotes/origin/update-v8-snapshot-cache-on-${{ env.BASE_BRANCH }}-${{ env.PLATFORM }} && echo 'true')" >> $GITHUB_ENV shell: bash - name: Check need for PR or branch update id: check-need-for-pr run: | - echo "needs_pr=${{ steps.check-for-v8-snapshot-cache-changes.outputs.has_changes == 'true' && env.BRANCH_EXISTS != 'true' }}" >> $GITHUB_OUTPUT + echo "number_of_prs_for_branch=$(gh api '/repos/cypress-io/cypress/pulls?head=cypress-io:${{ env.BRANCH_NAME }}' --jq length)" >> $GITHUB_OUTPUT + echo "needs_pr=${{ steps.check-for-v8-snapshot-cache-changes.outputs.has_changes == 'true' && env.BRANCH_NAME != env.BASE_BRANCH && steps.check-need-for-pr.outputs.number_of_prs_for_branch == '0' }}" >> $GITHUB_OUTPUT echo "needs_branch_update=${{ steps.check-for-v8-snapshot-cache-changes.outputs.has_changes == 'true' && env.BRANCH_EXISTS == 'true' }}" >> $GITHUB_OUTPUT + env: + GH_TOKEN: ${{ secrets.BOT_GITHUB_ACTION_TOKEN }} shell: bash ## Update available and a branch/PR already exists - name: Checkout existing branch @@ -128,7 +138,7 @@ jobs: git merge --squash -Xtheirs stash ## Update available and a PR doesn't already exist - name: Checkout new branch - if: ${{ steps.check-need-for-pr.outputs.needs_pr == 'true' }} + if: ${{ steps.check-need-for-pr.outputs.needs_branch_update != 'true' }} run: git checkout -b ${{ env.BRANCH_NAME }} ${{ env.BASE_BRANCH }} ## Commit changes if present - name: Commit the changes @@ -152,7 +162,7 @@ jobs: github, baseBranch: '${{ env.BASE_BRANCH }}', branchName: '${{ env.BRANCH_NAME }}', - description: 'Update v8 snapshot cache', + description: 'Update v8 snapshot cache - ${{ env.PLATFORM }}', body: 'This PR was automatically generated by the [update-v8-snapshot-cache](https://github.com/cypress-io/cypress/actions/workflows/update_v8_snapshot_cache.yml) github action.', reviewers: ['ryanthemanuel'] }) diff --git a/browser-versions.json b/browser-versions.json index 3702244f9627..553d6672b5a4 100644 --- a/browser-versions.json +++ b/browser-versions.json @@ -1,5 +1,5 @@ { "chrome:beta": "131.0.6778.24", - "chrome:stable": "130.0.6723.91", + "chrome:stable": "130.0.6723.116", "chrome:minimum": "64.0.3282.0" } diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index c6693e5f573a..77e6ffb1eb1d 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -41,7 +41,11 @@ in this [GitHub issue](https://github.com/cypress-io/cypress/issues/30447). Addr ## 13.15.2 -_Released 11/5/2024 (PENDING)_ +_Released 11/5/2024_ + +**Bugfixes:** + +- Fixed an issue where the Cypress runner could hang in `after` or `afterEach` hooks that run Cypress commands after a page load timeout error occurs. Addresses [#30238](https://github.com/cypress-io/cypress/issues/30238). **Misc:** @@ -49,6 +53,8 @@ _Released 11/5/2024 (PENDING)_ **Dependency Updates:** +- Updated `react` from `16.8.6` to `17.0.2` and `react-dom` from `16.8.6` to `17.0.2`. Addresses [#30510](https://github.com/cypress-io/cypress/issues/30510). +- Updated `mobx` from `5.15.4` to `6.13.5` and `mobx-react` from `6.1.8` to `9.1.1`. Addresses [#30509](https://github.com/cypress-io/cypress/issues/30509). - Updated `@cypress/request` from `3.0.4` to `3.0.6`. Addressed in [#30488](https://github.com/cypress-io/cypress/pull/30488). diff --git a/npm/react/cypress/component/basic/rerender/effects.cy.jsx b/npm/react/cypress/component/basic/rerender/effects.cy.jsx index 6b804dc0d81e..cebe663c7e08 100644 --- a/npm/react/cypress/component/basic/rerender/effects.cy.jsx +++ b/npm/react/cypress/component/basic/rerender/effects.cy.jsx @@ -62,7 +62,12 @@ it('should run unmount effect cleanup when unmounting', () => { cy .then(() => ReactDom.unmountComponentAtNode(getContainerEl())) - .then(() => { + .then(async () => { + // does not call useEffect in react 17 unmount synchronously. + // @see https://github.com/facebook/react/issues/20263 + // to keep this test working, we need to flush the microtask queue. + await new Promise((r) => setTimeout(r)) + expect(layoutEffectCleanup).to.have.been.callCount(1) expect(effectCleanup).to.have.been.callCount(1) }) diff --git a/npm/react/package.json b/npm/react/package.json index 02a0dd210699..a0f4d42f429f 100644 --- a/npm/react/package.json +++ b/npm/react/package.json @@ -22,10 +22,10 @@ "axios": "0.21.2", "cypress": "0.0.0-development", "prop-types": "15.7.2", - "react": "16.8.6", - "react-dom": "16.8.6", - "react-router": "6.0.0-alpha.1", - "react-router-dom": "6.0.0-alpha.1", + "react": "17.0.2", + "react-dom": "17.0.2", + "react-router": "6.10.0", + "react-router-dom": "6.10.0", "semver": "^7.5.3", "typescript": "~5.4.5", "vite": "5.2.11", diff --git a/npm/react18/package.json b/npm/react18/package.json index 302f8eecbabd..5104e75eb943 100644 --- a/npm/react18/package.json +++ b/npm/react18/package.json @@ -15,11 +15,11 @@ "@cypress/react": "0.0.0-development", "@rollup/plugin-commonjs": "^17.1.0", "@rollup/plugin-node-resolve": "^11.1.1", - "@types/react": "^16", - "@types/react-dom": "^16", + "@types/react": "17.0.83", + "@types/react-dom": "17.0.25", "cypress": "0.0.0-development", - "react": "^16", - "react-dom": "^16", + "react": "^17.0.2", + "react-dom": "^17.0.2", "rollup": "3.7.3", "rollup-plugin-typescript2": "^0.29.0", "typescript": "~5.4.5" diff --git a/npm/webpack-preprocessor/package.json b/npm/webpack-preprocessor/package.json index 6101fbffcdf4..61b8978b67b9 100644 --- a/npm/webpack-preprocessor/package.json +++ b/npm/webpack-preprocessor/package.json @@ -7,7 +7,6 @@ "scripts": { "build": "rimraf dist && tsc || echo 'built, with errors'", "check-ts": "tsc --noEmit", - "deps": "deps-ok && dependency-check --no-dev .", "lint": "eslint --ext .js,.jsx,.ts,.tsx,.json, .", "secure": "nsp check", "semantic-release": "semantic-release", @@ -33,11 +32,7 @@ "chai": "4.1.2", "chalk": "3.0.0", "chokidar-cli": "2.1.0", - "common-tags": "^1.8.2", "cypress": "0.0.0-development", - "dependency-check": "2.9.1", - "deps-ok": "1.4.1", - "find-webpack": "1.5.0", "fs-extra": "^10.1.0", "mocha": "^7.1.0", "mockery": "2.1.0", diff --git a/package.json b/package.json index dba6af9e12ae..294f198ee8d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cypress", - "version": "13.15.1", + "version": "13.15.2", "description": "Cypress is a next generation front end testing tool built for the modern web", "private": true, "scripts": { @@ -112,8 +112,8 @@ "@types/mocha": "8.0.3", "@types/node": "20.16.0", "@types/prismjs": "1.16.0", - "@types/react": "16.9.50", - "@types/react-dom": "16.9.8", + "@types/react": "17.0.83", + "@types/react-dom": "17.0.25", "@types/request-promise": "4.1.45", "@types/send": "^0.17.1", "@types/sinon-chai": "3.2.3", @@ -175,6 +175,8 @@ "listr2": "3.8.3", "lodash": "^4.17.21", "minimist": "1.2.8", + "mobx": "6.13.5", + "mobx-react": "9.1.1", "mocha": "3.5.3", "mocha-banner": "1.1.2", "mocha-junit-reporter": "2.2.0", @@ -187,6 +189,8 @@ "pluralize": "8.0.0", "print-arch": "1.0.0", "proxyquire": "2.1.3", + "react": "17.0.2", + "react-dom": "17.0.2", "rimraf": "5.0.10", "semantic-release": "22.0.12", "semantic-release-monorepo": "8.0.2", @@ -194,7 +198,7 @@ "shelljs": "0.8.5", "sinon": "7.3.2", "snap-shot-it": "7.9.10", - "stop-only": "3.0.1", + "stop-only": "3.4.1", "strip-ansi": "6.0.1", "tar": "6.1.15", "term-to-html": "1.2.0", @@ -263,7 +267,6 @@ "resolutions": { "**/@types/cheerio": "0.22.21", "**/@types/enzyme": "3.10.5", - "**/@types/react": "16.9.50", "**/@wdio/logger": "9.0.0", "**/jquery": "3.7.1", "**/pretty-format": "26.4.0", diff --git a/packages/app/package.json b/packages/app/package.json index 3e9989ae4794..caf28bb0cc2c 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -58,7 +58,6 @@ "javascript-time-ago": "2.3.8", "just-my-luck": "3.0.0", "lodash": "4.17.21", - "mobx": "5.15.4", "nanoid": "3.3.4", "pinia": "2.0.0-rc.14", "rollup-plugin-copy": "3.4.0", diff --git a/packages/app/src/store/mobx-runner-store.ts b/packages/app/src/store/mobx-runner-store.ts index 8011273c47b6..7dd8b95039f2 100644 --- a/packages/app/src/store/mobx-runner-store.ts +++ b/packages/app/src/store/mobx-runner-store.ts @@ -1,5 +1,5 @@ import { nanoid } from 'nanoid' -import { action, observable } from 'mobx' +import { action, observable, makeObservable } from 'mobx' import type { AutomationStatus } from '../store' const defaults = { @@ -25,6 +25,7 @@ export class MobxRunnerStore { @observable canSaveStudioLogs = false constructor (testingType: Cypress.TestingType) { + makeObservable(this) this.width = defaults[testingType].width this.height = defaults[testingType].height } diff --git a/packages/app/tsconfig.json b/packages/app/tsconfig.json index 61d75e8bd6b1..a96c821699ab 100644 --- a/packages/app/tsconfig.json +++ b/packages/app/tsconfig.json @@ -13,6 +13,7 @@ ], "compilerOptions": { "noImplicitThis": true, + "useDefineForClassFields": true, "paths": { "@cy/i18n": ["../frontend-shared/src/locales/i18n"], "@cy/components/*": ["../frontend-shared/src/components/*"], diff --git a/packages/driver/cypress/e2e/issues/30238.cy.js b/packages/driver/cypress/e2e/issues/30238.cy.js new file mode 100644 index 000000000000..f9a66b2adb65 --- /dev/null +++ b/packages/driver/cypress/e2e/issues/30238.cy.js @@ -0,0 +1,34 @@ +after(() => { + // ensure that we're stable in the after hooks + expect(cy.state('isStable')).to.be.true + + // ensure we can enqueue a command without timing out + cy.then(() => { + expect(true).to.be.true + }) +}) + +afterEach(() => { + // ensure that we're stable in the after hooks + expect(cy.state('isStable')).to.be.true + + // ensure that we can enqueue a command without timing out + cy.then(() => { + expect(true).to.be.true + }) +}) + +it('runs an after block without timing out when the page load times out', { pageLoadTimeout: 500 }, () => { + cy.on('fail', (error) => { + expect(error.message).to.include('Timed out after') + + return false + }) + + cy.on('window:before:load', (win) => { + // Stop the page from loading so that the page load times out + win.stop() + }) + + cy.visit('/fixtures/generic.html') +}) diff --git a/packages/driver/cypress/support/utils.ts b/packages/driver/cypress/support/utils.ts index e27491206305..d0febb3c3b8b 100644 --- a/packages/driver/cypress/support/utils.ts +++ b/packages/driver/cypress/support/utils.ts @@ -10,7 +10,7 @@ export const getCommandLogWithText = (command, type = 'method') => { } export const findReactInstance = function (dom) { - let key = _.keys(dom).find((key) => key.startsWith('__reactInternalInstance$')) as string + let key = _.keys(dom).find((key) => key.startsWith('__reactFiber')) as string let internalInstance = dom[key] if (internalInstance == null) return null diff --git a/packages/driver/src/cypress/command_queue.ts b/packages/driver/src/cypress/command_queue.ts index 3b692c51b413..09ac6e460bf2 100644 --- a/packages/driver/src/cypress/command_queue.ts +++ b/packages/driver/src/cypress/command_queue.ts @@ -223,6 +223,9 @@ export class CommandQueue extends Queue<$Command> { // end in case we have after / afterEach hooks // which need to run this.index = this.length + + // Mark the state as stable, so that any cypress commands can be re-queued during the after / afterEach hooks + this.state('isStable', true) } private runCommand (command: $Command) { diff --git a/packages/example/package.json b/packages/example/package.json index 8ee86e31f1b3..8854bfb5e7d3 100644 --- a/packages/example/package.json +++ b/packages/example/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "cross-env": "6.0.3", - "cypress-example-kitchensink": "3.1.0", + "cypress-example-kitchensink": "3.1.1", "gh-pages": "5.0.0", "gulp": "4.0.2", "gulp-clean": "0.4.0", diff --git a/packages/reporter/package.json b/packages/reporter/package.json index 52fc1f2120f2..f7dc24ccde8f 100644 --- a/packages/reporter/package.json +++ b/packages/reporter/package.json @@ -27,12 +27,8 @@ "cypress-real-events": "1.6.0", "lodash": "^4.17.21", "markdown-it": "^14.0.0", - "mobx": "5.15.4", - "mobx-react": "6.1.8", "prismjs": "1.27.0", "prop-types": "15.7.2", - "react": "16.8.6", - "react-dom": "16.8.6", "sinon": "7.5.0", "webpack": "^5.88.2", "webpack-cli": "^5.1.4" diff --git a/packages/reporter/src/agents/agent-model.ts b/packages/reporter/src/agents/agent-model.ts index ff88d580ea7b..0b666f228504 100644 --- a/packages/reporter/src/agents/agent-model.ts +++ b/packages/reporter/src/agents/agent-model.ts @@ -1,4 +1,4 @@ -import { observable } from 'mobx' +import { observable, makeObservable } from 'mobx' import Instrument, { InstrumentProps } from '../instruments/instrument-model' export interface AgentProps extends InstrumentProps { @@ -13,6 +13,8 @@ export default class Agent extends Instrument { constructor (props: AgentProps) { super(props) + makeObservable(this) + this.callCount = props.callCount this.functionName = props.functionName } diff --git a/packages/reporter/src/attempts/attempt-model.ts b/packages/reporter/src/attempts/attempt-model.ts index 5ba4bdfd9b7b..585f4fca25df 100644 --- a/packages/reporter/src/attempts/attempt-model.ts +++ b/packages/reporter/src/attempts/attempt-model.ts @@ -1,5 +1,5 @@ import _ from 'lodash' -import { action, computed, observable } from 'mobx' +import { action, computed, observable, makeObservable } from 'mobx' import Agent, { AgentProps } from '../agents/agent-model' import Command, { CommandProps } from '../commands/command-model' @@ -47,6 +47,7 @@ export default class Attempt { _logs: {[key: string]: Log} = {} constructor (props: TestProps, test: Test) { + makeObservable(this) this.testId = props.id this.id = props.currentRetry || 0 this.test = test diff --git a/packages/reporter/src/commands/command-model.ts b/packages/reporter/src/commands/command-model.ts index 57b7a37cd042..c3f45a18719e 100644 --- a/packages/reporter/src/commands/command-model.ts +++ b/packages/reporter/src/commands/command-model.ts @@ -1,5 +1,5 @@ import _ from 'lodash' -import { action, computed, observable } from 'mobx' +import { action, computed, observable, makeObservable } from 'mobx' import Err, { ErrProps } from '../errors/err-model' import Instrument, { InstrumentProps } from '../instruments/instrument-model' @@ -131,6 +131,8 @@ export default class Command extends Instrument { constructor (props: CommandProps) { super(props) + makeObservable(this) + if (props.err) { this.err = new Err(props.err) } diff --git a/packages/reporter/src/commands/command.tsx b/packages/reporter/src/commands/command.tsx index 62a9dc6228d0..77b79bba0daf 100644 --- a/packages/reporter/src/commands/command.tsx +++ b/packages/reporter/src/commands/command.tsx @@ -1,7 +1,7 @@ import _ from 'lodash' import cs from 'classnames' import Markdown from 'markdown-it' -import { action, observable } from 'mobx' +import { action, observable, makeObservable } from 'mobx' import { observer } from 'mobx-react' import React, { Component } from 'react' import Tooltip from '@cypress/react-tooltip' @@ -379,6 +379,11 @@ class Command extends Component { runnablesStore, } + constructor (props: Props) { + super(props) + makeObservable(this) + } + render () { const { model, aliasesWithDuplicates } = this.props diff --git a/packages/reporter/src/errors/err-model.ts b/packages/reporter/src/errors/err-model.ts index 9a99c609cb07..bac0df89b9dd 100644 --- a/packages/reporter/src/errors/err-model.ts +++ b/packages/reporter/src/errors/err-model.ts @@ -1,6 +1,6 @@ /* eslint-disable padding-line-between-statements */ import _ from 'lodash' -import { computed, observable } from 'mobx' +import { computed, observable, makeObservable } from 'mobx' import type { FileDetails } from '@packages/types' @@ -45,6 +45,7 @@ export default class Err { @observable isRecovered: boolean = false constructor (props?: Partial) { + makeObservable(this) this.update(props) } diff --git a/packages/reporter/src/header/stats-store.ts b/packages/reporter/src/header/stats-store.ts index 63a92a30a893..aaef3375a3a8 100644 --- a/packages/reporter/src/header/stats-store.ts +++ b/packages/reporter/src/header/stats-store.ts @@ -1,5 +1,5 @@ import _ from 'lodash' -import { action, computed, observable } from 'mobx' +import { action, computed, observable, makeObservable } from 'mobx' import { TestState } from '../test/test-model' import { IntervalID } from '../lib/types' @@ -25,6 +25,10 @@ class StatsStore { private _interval?: IntervalID + constructor () { + makeObservable(this) + } + @computed get duration () { if (!this._startTime) return 0 diff --git a/packages/reporter/src/hooks/hook-model.ts b/packages/reporter/src/hooks/hook-model.ts index a745c2a1a762..02a57008f07b 100644 --- a/packages/reporter/src/hooks/hook-model.ts +++ b/packages/reporter/src/hooks/hook-model.ts @@ -1,5 +1,5 @@ import _ from 'lodash' -import { observable, computed } from 'mobx' +import { observable, computed, makeObservable } from 'mobx' import { FileDetails } from '@packages/types' @@ -30,6 +30,7 @@ export default class Hook implements HookProps { private _currentNumber = 1 constructor (props: HookProps) { + makeObservable(this) this.hookId = props.hookId this.hookName = props.hookName this.invocationDetails = props.invocationDetails diff --git a/packages/reporter/src/instruments/instrument-model.ts b/packages/reporter/src/instruments/instrument-model.ts index 1b65f3c8aa8e..0e13d733c2ab 100644 --- a/packages/reporter/src/instruments/instrument-model.ts +++ b/packages/reporter/src/instruments/instrument-model.ts @@ -1,4 +1,4 @@ -import { observable } from 'mobx' +import { observable, makeObservable } from 'mobx' import { Instrument, TestState } from '@packages/types' export interface AliasObject { @@ -38,6 +38,7 @@ export default class Log { testId: string constructor (props: InstrumentProps) { + makeObservable(this) this.id = props.id this.alias = props.alias this.aliasType = props.aliasType diff --git a/packages/reporter/src/lib/app-state.ts b/packages/reporter/src/lib/app-state.ts index f891f4bcc9ce..1aefe4630137 100644 --- a/packages/reporter/src/lib/app-state.ts +++ b/packages/reporter/src/lib/app-state.ts @@ -1,5 +1,5 @@ import _ from 'lodash' -import { observable } from 'mobx' +import { observable, makeObservable } from 'mobx' interface DefaultAppState { isPaused: boolean @@ -36,6 +36,10 @@ class AppState { _resetAutoScrollingEnabledTo = true; [key: string]: any + constructor () { + makeObservable(this) + } + startRunning () { this.isRunning = true this.isStopped = false diff --git a/packages/reporter/src/lib/flash-on-click.tsx b/packages/reporter/src/lib/flash-on-click.tsx index 8c1c2d102ecc..377b86149fc6 100644 --- a/packages/reporter/src/lib/flash-on-click.tsx +++ b/packages/reporter/src/lib/flash-on-click.tsx @@ -1,4 +1,4 @@ -import { action, observable } from 'mobx' +import { action, observable, makeObservable } from 'mobx' import { observer } from 'mobx-react' import PropTypes from 'prop-types' import React, { Children, cloneElement, Component, MouseEvent, ReactElement, ReactNode } from 'react' @@ -27,6 +27,11 @@ class FlashOnClick extends Component { @observable _show = false + constructor (props: Props) { + super(props) + makeObservable(this) + } + render () { const child = Children.only(this.props.children) diff --git a/packages/reporter/src/lib/switch.tsx b/packages/reporter/src/lib/switch.tsx index 932b8a46b59f..ab25cffcb8a1 100644 --- a/packages/reporter/src/lib/switch.tsx +++ b/packages/reporter/src/lib/switch.tsx @@ -1,4 +1,4 @@ -import { action } from 'mobx' +import { action, makeObservable } from 'mobx' import { observer } from 'mobx-react' import React, { Component } from 'react' @@ -17,6 +17,11 @@ class Switch extends Component { onUpdate(e) } + constructor (props: Props) { + super(props) + makeObservable(this) + } + render () { const { 'data-cy': dataCy, size = 'lg', value } = this.props diff --git a/packages/reporter/src/main-runner.scss.d.ts b/packages/reporter/src/main-runner.scss.d.ts index 132b232e8959..7356746eb3bd 100644 --- a/packages/reporter/src/main-runner.scss.d.ts +++ b/packages/reporter/src/main-runner.scss.d.ts @@ -3,5 +3,6 @@ interface CssExports { } -export const cssExports: CssExports; -export default cssExports; +export const cssExports: CssExports + +export default cssExports diff --git a/packages/reporter/src/routes/route-model.ts b/packages/reporter/src/routes/route-model.ts index d0c020f1130c..7affbecd104b 100644 --- a/packages/reporter/src/routes/route-model.ts +++ b/packages/reporter/src/routes/route-model.ts @@ -1,4 +1,4 @@ -import { observable } from 'mobx' +import { observable, makeObservable } from 'mobx' import Instrument, { InstrumentProps } from '../instruments/instrument-model' export interface RouteProps extends InstrumentProps { @@ -17,6 +17,8 @@ export default class Route extends Instrument { constructor (props: RouteProps) { super(props) + makeObservable(this) + this.isStubbed = props.isStubbed this.method = props.method this.numResponses = props.numResponses diff --git a/packages/reporter/src/runnables/runnable-model.ts b/packages/reporter/src/runnables/runnable-model.ts index 89241bef86f6..d96f7e8e7780 100644 --- a/packages/reporter/src/runnables/runnable-model.ts +++ b/packages/reporter/src/runnables/runnable-model.ts @@ -1,4 +1,4 @@ -import { observable } from 'mobx' +import { observable, makeObservable } from 'mobx' import { HookProps } from '../hooks/hook-model' export interface RunnableProps { @@ -14,6 +14,7 @@ export default class Runnable { @observable hooks: Array = [] constructor (props: RunnableProps, level: number) { + makeObservable(this) this.id = props.id this.title = props.title this.level = level diff --git a/packages/reporter/src/runnables/runnables-store.ts b/packages/reporter/src/runnables/runnables-store.ts index ba8e955259b1..8ba60a6ad1f3 100644 --- a/packages/reporter/src/runnables/runnables-store.ts +++ b/packages/reporter/src/runnables/runnables-store.ts @@ -1,6 +1,6 @@ import { TestFilter } from '@packages/types' import _ from 'lodash' -import { action, observable } from 'mobx' +import { action, observable, makeObservable } from 'mobx' import AgentModel, { AgentProps } from '../agents/agent-model' import CommandModel, { CommandProps } from '../commands/command-model' import { HookProps } from '../hooks/hook-model' @@ -74,6 +74,7 @@ export class RunnablesStore { showingSnapshot = defaults.showingSnapshot constructor ({ appState, scroller }: Props) { + makeObservable(this) this.appState = appState this.scroller = scroller } diff --git a/packages/reporter/src/runnables/suite-model.ts b/packages/reporter/src/runnables/suite-model.ts index 19d81c4a91b7..3f175b3b2b81 100644 --- a/packages/reporter/src/runnables/suite-model.ts +++ b/packages/reporter/src/runnables/suite-model.ts @@ -1,5 +1,5 @@ import _ from 'lodash' -import { computed, observable } from 'mobx' +import { computed, observable, makeObservable } from 'mobx' import Runnable, { RunnableProps } from './runnable-model' import TestModel, { TestProps } from '../test/test-model' import { TestState } from '@packages/types' @@ -13,6 +13,12 @@ export default class Suite extends Runnable { @observable children: Array = [] type = 'suite' + constructor (props: SuiteProps, level: number) { + super(props, level) + + makeObservable(this) + } + @computed get state (): TestState { if (this._anyChildrenFailed) { return 'failed' diff --git a/packages/reporter/src/sessions/sessions-model.ts b/packages/reporter/src/sessions/sessions-model.ts index aa5a596a902e..122475acf4b7 100644 --- a/packages/reporter/src/sessions/sessions-model.ts +++ b/packages/reporter/src/sessions/sessions-model.ts @@ -1,4 +1,4 @@ -import { observable } from 'mobx' +import { observable, makeObservable } from 'mobx' import Instrument, { InstrumentProps } from '../instruments/instrument-model' import { determineTagType } from './utils' import type { SessionStatus } from './utils' @@ -15,13 +15,14 @@ export interface SessionProps extends InstrumentProps { } export default class Session extends Instrument { - @observable name: string + name: string @observable status: string @observable isGlobalSession: boolean = false @observable tagType: string constructor (props: SessionProps) { super(props) + makeObservable(this) const { state, sessionInfo: { isGlobalSession, id, status } } = props this.isGlobalSession = isGlobalSession diff --git a/packages/reporter/src/test/test-model.ts b/packages/reporter/src/test/test-model.ts index 0a305c6c9a05..2d856ed7a930 100644 --- a/packages/reporter/src/test/test-model.ts +++ b/packages/reporter/src/test/test-model.ts @@ -1,5 +1,5 @@ import _ from 'lodash' -import { action, computed, observable } from 'mobx' +import { action, computed, observable, makeObservable } from 'mobx' import { FileDetails, TestState } from '@packages/types' import Attempt from '../attempts/attempt-model' @@ -62,6 +62,8 @@ export default class Test extends Runnable { constructor (props: TestProps, level: number, private store: RunnablesStore) { super(props, level) + makeObservable(this) + this.invocationDetails = props.invocationDetails this.hooks = [...props.hooks, { diff --git a/packages/reporter/tsconfig.json b/packages/reporter/tsconfig.json index be6c7cd941b3..99b6a70b5bf3 100644 --- a/packages/reporter/tsconfig.json +++ b/packages/reporter/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../ts/tsconfig.json", "compilerOptions": { + "useDefineForClassFields": true, "types": [ "node", "cypress", diff --git a/packages/reporter/webpack.config.ts b/packages/reporter/webpack.config.ts index 11169d8f66f8..d28c54702602 100644 --- a/packages/reporter/webpack.config.ts +++ b/packages/reporter/webpack.config.ts @@ -32,10 +32,6 @@ config.resolve = { ...config.resolve, alias: { 'lodash': require.resolve('lodash'), - 'mobx': require.resolve('mobx'), - 'mobx-react': require.resolve('mobx-react'), - 'react': require.resolve('react'), - 'react-dom': require.resolve('react-dom'), }, } diff --git a/packages/runner/webpack.config.ts b/packages/runner/webpack.config.ts index 45e9b0b47b3a..e395d4ceecd7 100644 --- a/packages/runner/webpack.config.ts +++ b/packages/runner/webpack.config.ts @@ -38,10 +38,6 @@ mainConfig.resolve = { alias: { 'bluebird': require.resolve('bluebird'), 'lodash': require.resolve('lodash'), - 'mobx': require.resolve('mobx'), - 'mobx-react': require.resolve('mobx-react'), - 'react': require.resolve('react'), - 'react-dom': require.resolve('react-dom'), }, } diff --git a/scripts/verify-accessibility-results.js b/scripts/verify-accessibility-results.js index a3ec766f796f..7aa467d316d8 100644 --- a/scripts/verify-accessibility-results.js +++ b/scripts/verify-accessibility-results.js @@ -74,3 +74,12 @@ getAccessibilityResults({ console.log('No new Accessibility violations detected!') }) +.catch((error) => { + // We often get errors on reruns of failed tests because Cypress cannot generate a report + // where multiple runs are found. We'll ignore this until this is addressed within Cypress + // so as not to fail the build and affect our success rates. + console.log('Error occurred while processing the Accessibility report. This error will be ignored:') + console.log(error) + + process.exit(0) +}) diff --git a/tooling/v8-snapshot/cache/linux/snapshot-meta.json b/tooling/v8-snapshot/cache/linux/snapshot-meta.json index 05521604cb61..97fc90c97ae6 100644 --- a/tooling/v8-snapshot/cache/linux/snapshot-meta.json +++ b/tooling/v8-snapshot/cache/linux/snapshot-meta.json @@ -269,8 +269,6 @@ "./node_modules/fast-glob/out/settings.js", "./node_modules/fast-glob/out/utils/path.js", "./node_modules/file-uri-to-path/index.js", - "./node_modules/finalhandler/node_modules/debug/src/browser.js", - "./node_modules/finalhandler/node_modules/debug/src/index.js", "./node_modules/firefox-profile/node_modules/fs-extra/lib/fs/index.js", "./node_modules/firefox-profile/node_modules/fs-extra/lib/index.js", "./node_modules/firefox-profile/node_modules/fs-extra/lib/json/index.js", diff --git a/yarn.lock b/yarn.lock index e7452f49c71d..08807664be81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2503,7 +2503,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.25.0", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.25.0", "@babel/runtime@^7.8.4": version "7.25.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== @@ -8194,26 +8194,29 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== -"@types/react-dom@16.9.8": - version "16.9.8" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.8.tgz#fe4c1e11dfc67155733dfa6aa65108b4971cb423" - integrity sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA== +"@types/react-dom@17.0.25": + version "17.0.25" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz#e0e5b3571e1069625b3a3da2b279379aa33a0cb5" + integrity sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA== dependencies: - "@types/react" "*" + "@types/react" "^17" -"@types/react-dom@^16": - version "16.9.16" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.16.tgz#c591f2ed1c6f32e9759dfa6eb4abfd8041f29e39" - integrity sha512-Oqc0RY4fggGA3ltEgyPLc3IV9T73IGoWjkONbsyJ3ZBn+UPPCYpU2ec0i3cEbJuEdZtkqcCF2l1zf2pBdgUGSg== +"@types/react@*", "@types/react@17.0.83", "@types/react@^17": + version "17.0.83" + resolved "https://registry.npmjs.org/@types/react/-/react-17.0.83.tgz#b477c56387b74279281149dcf5ba2a1e2216d131" + integrity sha512-l0m4ArKJvmFtR4e8UmKrj1pB4tUgOhJITf+mADyF/p69Ts1YAR/E+G9XEM0mHXKVRa1dQNHseyyDNzeuAXfXQw== dependencies: - "@types/react" "^16" + "@types/prop-types" "*" + "@types/scheduler" "^0.16" + csstype "^3.0.2" -"@types/react@*", "@types/react@16.9.50", "@types/react@^16": - version "16.9.50" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.50.tgz#cb5f2c22d42de33ca1f5efc6a0959feb784a3a2d" - integrity sha512-kPx5YsNnKDJejTk1P+lqThwxN2PczrocwsvqXnjvVvKpFescoY62ZiM3TV7dH1T8lFhlHZF+PE5xUyimUwqEGA== +"@types/react@^16": + version "16.14.62" + resolved "https://registry.npmjs.org/@types/react/-/react-16.14.62.tgz#449e4e81caaf132d0c2c390644e577702db1dd9e" + integrity sha512-BWf7hqninZav6nerxXj+NeZT/mTpDeG6Lk2zREHAy63CrnXoOGPGtNqTFYFN/sqpSaREDP5otVV88axIXmKfGA== dependencies: "@types/prop-types" "*" + "@types/scheduler" "^0.16" csstype "^3.0.2" "@types/request-promise@4.1.45": @@ -8271,6 +8274,11 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== +"@types/scheduler@^0.16": + version "0.16.8" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + "@types/semver@7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" @@ -9640,11 +9648,6 @@ acorn-walk@^8.1.1, acorn-walk@^8.2.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^5.2.1: - version "5.7.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== - acorn@^6.4.1: version "6.4.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" @@ -10357,7 +10360,7 @@ arrify@^2.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== -asap@^2.0.0, asap@~2.0.3: +asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -10504,7 +10507,7 @@ async@^0.9.0: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= -async@^2.1.4, async@^2.6.4: +async@^2.6.4: version "2.6.4" resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== @@ -11449,7 +11452,7 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= -builtins@^1.0.0, builtins@^1.0.3: +builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= @@ -12712,7 +12715,7 @@ common-tags@1.8.0: resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== -common-tags@1.8.2, common-tags@^1.8.0, common-tags@^1.8.2: +common-tags@1.8.2, common-tags@^1.8.0: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== @@ -13553,13 +13556,13 @@ cypress-each@^1.11.0: resolved "https://registry.yarnpkg.com/cypress-each/-/cypress-each-1.11.0.tgz#013c9b43a950f157bcf082d4bd0bb424fb370441" integrity sha512-zeqeQkppPL6BKLIJdfR5IUoZRrxRudApJapnFzWCkkrmefQSqdlBma2fzhmniSJ3TRhxe5xpK3W3/l8aCrHvwQ== -cypress-example-kitchensink@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cypress-example-kitchensink/-/cypress-example-kitchensink-3.1.0.tgz#8043be0002862fe1873441786766fb220d59f455" - integrity sha512-TIUI7To4TPw/OsMDQU1eo5ShJhbQTvTBR1oIAOIEx0PTtcc4YyfNv+487Y8GSSaGqiBwVe+6CBJsc+QpWw24zA== +cypress-example-kitchensink@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/cypress-example-kitchensink/-/cypress-example-kitchensink-3.1.1.tgz#55d6eacdc2fd3c0fd078cf9ac5d649ca26a6d616" + integrity sha512-+r9gVR41uWkqKmE3V57QC8eUFEaUxuSwx62BXVPpuZ5vIdr7wzVi2r1BW3nGbLDzPbh7zl+pGxGd9b3vr15yXQ== dependencies: npm-run-all2 "^5.0.0" - serve "14.2.3" + serve "14.2.4" cypress-expect@^2.5.3: version "2.5.3" @@ -13728,7 +13731,7 @@ debug@3.2.6: dependencies: ms "^2.1.1" -debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6, debug@^4.3.7, debug@~4.3.1: +debug@4, debug@4.3.7, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6, debug@^4.3.7, debug@~4.3.1: version "4.3.7" resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== @@ -14083,20 +14086,6 @@ depd@^1.1.2, depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= -dependency-check@2.9.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/dependency-check/-/dependency-check-2.9.1.tgz#228bdba768e3bf819a2a68c36f3f6a773c426ebf" - integrity sha1-Iovbp2jjv4GaKmjDbz9qdzxCbr8= - dependencies: - async "^2.1.4" - builtins "^1.0.0" - debug "^2.2.0" - detective "^4.0.0" - is-relative "^0.2.1" - minimist "^1.2.0" - read-package-json "^2.0.4" - resolve "^1.1.7" - dependency-check@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/dependency-check/-/dependency-check-4.1.0.tgz#d45405cabb50298f8674fe28ab594c8a5530edff" @@ -14122,20 +14111,6 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -deps-ok@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/deps-ok/-/deps-ok-1.4.1.tgz#87550ff1e980cf8484b503bc0bc866aa7a2709c5" - integrity sha512-5S216xoLM4mwrBUZBVVXIdkIxnp8TLjK1QeghAEJHiwxIpNpGJd5RkNR59duRCNPey8k/UlWh39WknjXH3mBDQ== - dependencies: - check-more-types "2.24.0" - debug "3.1.0" - lazy-ass "1.6.0" - lodash "4.17.10" - minimist "1.2.0" - q "2.0.3" - quote "0.4.0" - semver "5.5.0" - des.js@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" @@ -14197,14 +14172,6 @@ detect-port@^1.6.1: address "^1.0.1" debug "4" -detective@^4.0.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e" - integrity sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig== - dependencies: - acorn "^5.2.1" - defined "^1.0.0" - detective@^5.0.2: version "5.2.0" resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" @@ -16446,13 +16413,6 @@ fast-uri@^3.0.1: resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz#892a1c91802d5d7860de728f18608a0573142241" integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== -fast-url-parser@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" - integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0= - dependencies: - punycode "^1.3.2" - fast-xml-parser@3.19.0: version "3.19.0" resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" @@ -16811,23 +16771,6 @@ find-versions@^5.1.0: dependencies: semver-regex "^4.0.5" -find-webpack@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/find-webpack/-/find-webpack-1.5.0.tgz#2c3e0a50205ddf29ac5e79b15f9289875fd12a37" - integrity sha512-+lvgVVYVcKhQRPPkNVDufXiKjDxm0hq6cOqyUfIw0clVpH8fC+vTP7PLjbd+wd9CRSGuaRXj7nLt1Dc8n4FGQA== - dependencies: - debug "4.1.1" - find-yarn-workspace-root "1.2.1" - mocked-env "1.3.2" - -find-yarn-workspace-root@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" - integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== - dependencies: - fs-extra "^4.0.3" - micromatch "^3.1.4" - find-yarn-workspace-root@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" @@ -17167,7 +17110,7 @@ fs-extra@^3.0.0: jsonfile "^3.0.0" universalify "^0.1.0" -fs-extra@^4.0.2, fs-extra@^4.0.3: +fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== @@ -18518,13 +18461,6 @@ highlight.js@^8.5.0: resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-8.9.1.tgz#b8a9c5493212a9392f0222b649c9611497ebfb88" integrity sha1-uKnFSTISqTkvAiK2SclhFJfr+4g= -history@5.0.0-beta.4: - version "5.0.0-beta.4" - resolved "https://registry.yarnpkg.com/history/-/history-5.0.0-beta.4.tgz#7fd3bb1f6c75d00d9b5112a816766bfc72d1a3cd" - integrity sha512-LMUnKPB5UlEzDF1BO0VxtDsrguGPO7SuQEmB/5OjL1305afR1O8FvX29rbJep4g2SLmKK3YdDA7+8ZDs8P8n8g== - dependencies: - "@babel/runtime" "^7.7.6" - hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -19801,13 +19737,6 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-relative@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" - integrity sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU= - dependencies: - is-unc-path "^0.1.1" - is-relative@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" @@ -19894,13 +19823,6 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-unc-path@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" - integrity sha1-arBTpyVzwQJQ/0FqOBTDUXivObk= - dependencies: - unc-path-regex "^0.1.0" - is-unc-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" @@ -21501,11 +21423,6 @@ lodash.without@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= -lodash@4.17.10: - version "4.17.10" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" - integrity sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg== - lodash@4.17.21, lodash@^4.16.4, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -22337,11 +22254,6 @@ minimist@0.0.8, minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - minimist@1.2.8, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -22533,22 +22445,24 @@ mlly@^1.2.0, mlly@^1.4.2, mlly@^1.6.1, mlly@^1.7.0: pkg-types "^1.1.0" ufo "^1.5.3" -mobx-react-lite@^1.4.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-1.5.2.tgz#c4395b0568b9cb16f07669d8869cc4efa1b8656d" - integrity sha512-PyZmARqqWtpuQaAoHF5pKX7h6TKNLwq6vtovm4zZvG6sEbMRHHSqioGXSeQbpRmG8Kw8uln3q/W1yMO5IfL5Sg== +mobx-react-lite@^4.0.7: + version "4.0.7" + resolved "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.0.7.tgz#f4e21e18d05c811010dcb1d3007e797924c4d90b" + integrity sha512-RjwdseshK9Mg8On5tyJZHtGD+J78ZnCnRaxeQDSiciKVQDUbfZcXhmld0VMxAwvcTnPEHZySGGewm467Fcpreg== + dependencies: + use-sync-external-store "^1.2.0" -mobx-react@6.1.8: - version "6.1.8" - resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-6.1.8.tgz#5b9a3950463d58c154dda2c94d16d48ed8fcb02e" - integrity sha512-NCMJn/hrWoeyeNbzCsBDtftWSy6VlFgw1VzhogrciPFvJIl2xs+8rJJdPlRHQTiNirwNoHNKJgUE4WhPZPvKDw== +mobx-react@9.1.1: + version "9.1.1" + resolved "https://registry.npmjs.org/mobx-react/-/mobx-react-9.1.1.tgz#b96e0d5d74a3d02fc62729fd344b2a3ad2a88aae" + integrity sha512-gVV7AdSrAAxqXOJ2bAbGa5TkPqvITSzaPiiEkzpW4rRsMhSec7C2NBCJYILADHKp2tzOAIETGRsIY0UaCV5aEw== dependencies: - mobx-react-lite "^1.4.2" + mobx-react-lite "^4.0.7" -mobx@5.15.4: - version "5.15.4" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-5.15.4.tgz#9da1a84e97ba624622f4e55a0bf3300fb931c2ab" - integrity sha512-xRFJxSU2Im3nrGCdjSuOTFmxVDGeqOHL+TyADCGbT0k4HHqGmx5u2yaHNryvoORpI4DfbzjJ5jPmuv+d7sioFw== +mobx@6.13.5: + version "6.13.5" + resolved "https://registry.npmjs.org/mobx/-/mobx-6.13.5.tgz#957d9df88c7f8b4baa7c6f8bdcb6d68b432a6ed5" + integrity sha512-/HTWzW2s8J1Gqt+WmUj5Y0mddZk+LInejADc79NJadrWla3rHzmRHki/mnEUH1AvOmbNTZ1BRbKxr8DSgfdjMA== "mocha-7.0.1@npm:mocha@7.0.1", mocha@7.0.1: version "7.0.1" @@ -25196,10 +25110,10 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= -path-to-regexp@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.2.1.tgz#90b617025a16381a879bc82a38d4e8bdeb2bcf45" - integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== +path-to-regexp@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.3.0.tgz#f7f31d32e8518c2660862b644414b6d5c63a611b" + integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== path-to-regexp@^1.7.0: version "1.8.0" @@ -25529,11 +25443,6 @@ pngjs@^6.0.0: resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-6.0.0.tgz#ca9e5d2aa48db0228a52c419c3308e87720da821" integrity sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg== -pop-iterate@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pop-iterate/-/pop-iterate-1.0.1.tgz#ceacfdab4abf353d7a0f2aaa2c1fc7b3f9413ba3" - integrity sha1-zqz9q0q/NT16DyqqLB/Hs/lBO6M= - popper.js@^1.15.0: version "1.16.1" resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" @@ -26052,7 +25961,7 @@ punycode.js@^2.3.1: resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== -punycode@^1.2.4, punycode@^1.3.2, punycode@^1.4.1: +punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= @@ -26081,15 +25990,6 @@ puppeteer-core@^21.2.1: devtools-protocol "0.0.1159816" ws "8.14.1" -q@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/q/-/q-2.0.3.tgz#75b8db0255a1a5af82f58c3f3aaa1efec7d0d134" - integrity sha1-dbjbAlWhpa+C9Yw/Oqoe/sfQ0TQ= - dependencies: - asap "^2.0.0" - pop-iterate "^1.0.1" - weak-map "^1.0.5" - q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -26357,6 +26257,15 @@ react-dom@16.8.6: prop-types "^15.6.2" scheduler "^0.13.6" +react-dom@17.0.2, react-dom@^17.0.2: + version "17.0.2" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + react-dom@^15.3.2: version "15.7.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.7.0.tgz#39106dee996d0742fb0f43d567ef8b8153483ab2" @@ -26367,7 +26276,7 @@ react-dom@^15.3.2: object-assign "^4.1.0" prop-types "^15.5.10" -react-dom@^16, react-dom@^16.0.0: +react-dom@^16.0.0: version "16.14.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== @@ -26418,14 +26327,6 @@ react-remove-scroll@^2.3.0: use-callback-ref "^1.2.3" use-sidecar "^1.0.1" -react-router-dom@6.0.0-alpha.1: - version "6.0.0-alpha.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.0.0-alpha.1.tgz#10798a64402d3f113ba8e5bed04bf3009b1d28df" - integrity sha512-k53/EN/yOIy+iSuolJc+3uGAUq06AuEhTXDCac2Hk+YBfRD4fD0cQL3Ram79J8ishRQehycjcfn3+S45iNZb9g== - dependencies: - history "5.0.0-beta.4" - prop-types "^15.7.2" - react-router-dom@6.10.0: version "6.10.0" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.10.0.tgz#090ddc5c84dc41b583ce08468c4007c84245f61f" @@ -26434,14 +26335,6 @@ react-router-dom@6.10.0: "@remix-run/router" "1.5.0" react-router "6.10.0" -react-router@6.0.0-alpha.1: - version "6.0.0-alpha.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.0.0-alpha.1.tgz#1bc907f221476e5514370bf296defe41c57e70cd" - integrity sha512-OMQHBebegYqFUKvp9ylogY1bnMGy+hSfYMFmY2VKvVgkYVkBIZwFbhBOwe8IP448KFCrIAyPafBidpJyk9Ga9g== - dependencies: - history "5.0.0-beta.4" - prop-types "^15.7.2" - react-router@6.10.0: version "6.10.0" resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.10.0.tgz#230f824fde9dd0270781b5cb497912de32c0a971" @@ -26478,6 +26371,14 @@ react@16.8.6: prop-types "^15.6.2" scheduler "^0.13.6" +react@17.0.2, react@^17.0.2: + version "17.0.2" + resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + react@^15.3.2: version "15.7.0" resolved "https://registry.yarnpkg.com/react/-/react-15.7.0.tgz#10308fd42ac6912a250bf00380751abc41ac7106" @@ -26489,7 +26390,7 @@ react@^15.3.2: object-assign "^4.1.0" prop-types "^15.5.10" -react@^16, react@^16.0.0, react@^16.13.1: +react@^16.0.0, react@^16.13.1: version "16.14.0" resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== @@ -26554,7 +26455,7 @@ read-package-json-fast@^4.0.0: json-parse-even-better-errors "^4.0.0" npm-normalize-package-bin "^4.0.0" -read-package-json@^2.0.10, read-package-json@^2.0.4: +read-package-json@^2.0.10: version "2.1.2" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== @@ -27609,6 +27510,14 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + schema-utils@>1.0.0, schema-utils@^4.0.0, schema-utils@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" @@ -27758,11 +27667,6 @@ semver-regex@^4.0.5: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== - semver@7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" @@ -27892,18 +27796,17 @@ serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: dependencies: randombytes "^2.1.0" -serve-handler@6.1.5: - version "6.1.5" - resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.5.tgz#a4a0964f5c55c7e37a02a633232b6f0d6f068375" - integrity sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg== +serve-handler@6.1.6: + version "6.1.6" + resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.6.tgz#50803c1d3e947cd4a341d617f8209b22bd76cfa1" + integrity sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ== dependencies: bytes "3.0.0" content-disposition "0.5.2" - fast-url-parser "1.1.3" mime-types "2.1.18" minimatch "3.1.2" path-is-inside "1.0.2" - path-to-regexp "2.2.1" + path-to-regexp "3.3.0" range-parser "1.2.0" serve-index@^1.9.1: @@ -27939,10 +27842,10 @@ serve-static@1.16.2: parseurl "~1.3.3" send "0.19.0" -serve@14.2.3: - version "14.2.3" - resolved "https://registry.yarnpkg.com/serve/-/serve-14.2.3.tgz#047ba2b349354255bc09e0332cd41a92787836c9" - integrity sha512-VqUFMC7K3LDGeGnJM9h56D3XGKb6KGgOw0cVNtA26yYXHCcpxf3xwCTUaQoWlVS7i8Jdh3GjQkOB23qsXyjoyQ== +serve@14.2.4: + version "14.2.4" + resolved "https://registry.yarnpkg.com/serve/-/serve-14.2.4.tgz#ba4c425c3c965f496703762e808f34b913f42fb0" + integrity sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ== dependencies: "@zeit/schemas" "2.36.0" ajv "8.12.0" @@ -27953,7 +27856,7 @@ serve@14.2.3: clipboardy "3.0.0" compression "1.7.4" is-port-reachable "4.0.0" - serve-handler "6.1.5" + serve-handler "6.1.6" update-check "1.5.4" server-destroy@^1.0.1: @@ -29132,14 +29035,14 @@ stop-iteration-iterator@^1.0.0: dependencies: internal-slot "^1.0.4" -stop-only@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/stop-only/-/stop-only-3.0.1.tgz#480176c2712d59373eff6accc8de5fbff960c2ee" - integrity sha512-B38Y/K0QbnAbE3llvP4WkjzdN4QkgAHMLC/FxQyPMOC/X6SLrGjRsqFiebkrt6fqQnD9jdp8QpMIdQWMuUYEhA== +stop-only@3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/stop-only/-/stop-only-3.4.1.tgz#c4c407a82270f0d540dd57b551c7bd16ce81a457" + integrity sha512-zMxczK6GJG5h1UZgk3VPJjOQJ0w7C9MclgqgcQPct8KgOWUItrUz7sK7MjoRQWvFJQJaDUpXrcV/OHyhqB9pZQ== dependencies: - debug "4.1.1" + debug "4.3.7" execa "0.11.0" - minimist "1.2.0" + minimist "1.2.8" stream-browserify@3.0.0, stream-browserify@^3.0.0: version "3.0.0" @@ -30970,7 +30873,7 @@ unbzip2-stream@1.4.3, unbzip2-stream@^1.4.3: buffer "^5.2.1" through "^2.3.8" -unc-path-regex@^0.1.0, unc-path-regex@^0.1.2: +unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= @@ -31931,11 +31834,6 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -weak-map@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz#79691584d98607f5070bd3b70a40e6bb22e401eb" - integrity sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes= - web-streams-polyfill@^3.0.3: version "3.3.3" resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b"