fix: remove last mounted component upon subsequent mount calls (#24470)

BREAKING CHANGE: remove last mounted component upon subsequent mount calls of mount
This commit is contained in:
Zachary Williams
2022-11-03 12:19:29 -05:00
committed by GitHub
parent 33875d7550
commit f39eb1c19e
35 changed files with 1528 additions and 235 deletions

View File

@@ -8,7 +8,7 @@ window.Mocha['__zone_patch__'] = false
import 'zone.js/testing'
import { CommonModule } from '@angular/common'
import { Component, ErrorHandler, EventEmitter, Injectable, SimpleChange, SimpleChanges, Type } from '@angular/core'
import { Component, ErrorHandler, EventEmitter, Injectable, SimpleChange, SimpleChanges, Type, OnChanges } from '@angular/core'
import {
ComponentFixture,
getTestBed,
@@ -72,6 +72,23 @@ export interface MountConfig<T> extends TestModuleMetadata {
componentProperties?: Partial<{ [P in keyof T]: T[P] }>
}
let activeFixture: ComponentFixture<any> | null = null
function cleanup () {
// Not public, we need to call this to remove the last component from the DOM
try {
(getTestBed() as any).tearDownTestingModule()
} catch (e) {
const notSupportedError = new Error(`Failed to teardown component. The version of Angular you are using may not be officially supported.`)
;(notSupportedError as any).docsUrl = 'https://on.cypress.io/component-framework-configuration'
throw notSupportedError
}
getTestBed().resetTestingModule()
activeFixture = null
}
/**
* Type that the `mount` function returns
* @type MountResponse<T>
@@ -209,6 +226,8 @@ function setupFixture<T> (
): ComponentFixture<T> {
const fixture = getTestBed().createComponent(component)
setupComponent(config, fixture)
fixture.whenStable().then(() => {
fixture.autoDetectChanges(config.autoDetectChanges ?? true)
})
@@ -223,17 +242,18 @@ function setupFixture<T> (
* @param {ComponentFixture<T>} fixture Fixture for debugging and testing a component.
* @returns {T} Component being mounted
*/
function setupComponent<T extends { ngOnChanges? (changes: SimpleChanges): void }> (
function setupComponent<T> (
config: MountConfig<T>,
fixture: ComponentFixture<T>): T {
let component: T = fixture.componentInstance
fixture: ComponentFixture<T>,
): void {
let component = fixture.componentInstance as unknown as { [key: string]: any } & Partial<OnChanges>
if (config?.componentProperties) {
component = Object.assign(component, config.componentProperties)
}
if (config.autoSpyOutputs) {
Object.keys(component).forEach((key: string, index: number, keys: string[]) => {
Object.keys(component).forEach((key) => {
const property = component[key]
if (property instanceof EventEmitter) {
@@ -252,14 +272,12 @@ function setupComponent<T extends { ngOnChanges? (changes: SimpleChanges): void
acc[key] = new SimpleChange(null, value, true)
return acc
}, {})
}, {} as {[key: string]: SimpleChange})
if (Object.keys(componentProperties).length > 0) {
component.ngOnChanges(simpleChanges)
}
}
return component
}
/**
@@ -295,13 +313,18 @@ export function mount<T> (
component: Type<T> | string,
config: MountConfig<T> = { },
): Cypress.Chainable<MountResponse<T>> {
// Remove last mounted component if cy.mount is called more than once in a test
if (activeFixture) {
cleanup()
}
const componentFixture = initTestBed(component, config)
const fixture = setupFixture(componentFixture, config)
const componentInstance = setupComponent(config, fixture)
activeFixture = setupFixture(componentFixture, config)
const mountResponse: MountResponse<T> = {
fixture,
component: componentInstance,
fixture: activeFixture,
component: activeFixture.componentInstance,
}
const logMessage = typeof component === 'string' ? 'Component' : componentFixture.name
@@ -338,8 +361,4 @@ getTestBed().initTestEnvironment(
},
)
setupHooks(() => {
// Not public, we need to call this to remove the last component from the DOM
getTestBed()['tearDownTestingModule']()
getTestBed().resetTestingModule()
})
setupHooks(cleanup)

View File

@@ -11,15 +11,15 @@
"allowJs": true,
"declaration": true,
"outDir": "dist",
"strict": false,
"noImplicitAny": false,
"strict": true,
"baseUrl": "./",
"types": [
"cypress"
],
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"moduleResolution": "node"
"moduleResolution": "node",
"noPropertyAccessFromIndexSignature": true,
},
"include": ["src/**/*.*"],
"exclude": ["src/**/*-spec.*"]

View File

@@ -68,10 +68,19 @@ export function createEntries (options) {
console.log(`Building ${format}: ${finalConfig.output.file}`)
return finalConfig
}).concat({
}).concat([{
input,
output: [{ file: 'dist/index.d.ts', format: 'es' }],
plugins: [dts({ respectExternal: true })],
plugins: [
dts({ respectExternal: true }),
{
name: 'cypress-types-reference',
// rollup-plugin-dts does not add '// <reference types="cypress" />' like rollup-plugin-typescript2 did so we add it here.
renderChunk (...[code]) {
return `/// <reference types="cypress" />\n\n${code}`
},
},
],
external: config.external || [],
})
}])
}

View File

@@ -33,6 +33,9 @@ export function mount (jsx: React.ReactNode, options: MountOptions = {}, rerende
Cypress.log({ name: 'warning', message })
}
// Remove last mounted component if cy.mount is called more than once in a test
cleanup()
const internalOptions: InternalMountOptions = {
reactDom: ReactDOM,
render: (reactComponent: ReturnType<typeof React.createElement>, el: HTMLElement, reactDomToUse: typeof ReactDOM) => {

View File

@@ -26,6 +26,10 @@ const cleanup = () => {
}
export function mount (jsx: React.ReactNode, options: MountOptions = {}, rerenderKey?: string) {
// Remove last mounted component if cy.mount is called more than once in a test
// React by default removes the last component when calling render, but we should remove the root
// to wipe away any state
cleanup()
const internalOptions: InternalMountOptions = {
reactDom: ReactDOM,
render: (reactComponent: ReturnType<typeof React.createElement>, el: HTMLElement) => {

View File

@@ -62,6 +62,9 @@ export function mount<T extends SvelteComponent> (
options: MountOptions<T> = {},
): Cypress.Chainable<MountReturn<T>> {
return cy.then(() => {
// Remove last mounted component if cy.mount is called more than once in a test
cleanup()
const target = getContainerEl()
injectStylesBeforeElement(options, document, target)

View File

@@ -44,6 +44,7 @@ const {
export { VueTestUtils }
const DEFAULT_COMP_NAME = 'unknown'
const VUE_ROOT = '__cy_vue_root'
type GlobalMountOptions = Required<VTUMountingOptions<any>>['global']
@@ -72,24 +73,14 @@ type MountingOptions<Props, Data = {}> = Omit<VTUMountingOptions<Props, Data>, '
export type CyMountOptions<Props, Data = {}> = MountingOptions<Props, Data>
Cypress.on('run:start', () => {
// `mount` is designed to work with component testing only.
// it assumes ROOT_SELECTOR exists, which is not the case in e2e.
// if the user registers a custom command that imports `cypress/vue`,
// this event will be registered and cause an error when the user
// launches e2e (since it's common to use Cypress for both CT and E2E.
// https://github.com/cypress-io/cypress/issues/17438
if (Cypress.testingType !== 'component') {
return
}
const cleanup = () => {
Cypress.vueWrapper?.unmount()
Cypress.$(`#${VUE_ROOT}`).remove()
Cypress.on('test:before:run', () => {
Cypress.vueWrapper?.unmount()
const el = getContainerEl()
;(Cypress as any).vueWrapper = null
el.innerHTML = ''
})
})
;(Cypress as any).vue = null
}
/**
* The types for mount have been copied directly from the VTU mount
@@ -378,6 +369,9 @@ export function mount<
// implementation
export function mount (componentOptions: any, options: any = {}) {
// Remove last mounted component if cy.mount is called more than once in a test
cleanup()
// TODO: get the real displayName and props from VTU shallowMount
const componentName = getComponentDisplayName(componentOptions)
@@ -409,7 +403,7 @@ export function mount (componentOptions: any, options: any = {}) {
const componentNode = document.createElement('div')
componentNode.id = '__cy_vue_root'
componentNode.id = VUE_ROOT
el.append(componentNode)
@@ -484,4 +478,4 @@ export function mountCallback (
// import { registerCT } from 'cypress/<my-framework>'
// registerCT()
// Note: This would be a breaking change
setupHooks()
setupHooks(cleanup)

View File

@@ -5,7 +5,6 @@ import {
mount as testUtilsMount,
VueTestUtilsConfigOptions,
Wrapper,
enableAutoDestroy,
} from '@vue/test-utils'
import {
injectStylesBeforeElement,
@@ -266,6 +265,10 @@ declare global {
}
}
const cleanup = () => {
Cypress.vueWrapper?.destroy()
}
/**
* Direct Vue errors to the top error handler
* where they will fail Cypress test
@@ -280,14 +283,6 @@ function failTestOnVueError (err, vm, info) {
})
}
function registerAutoDestroy ($destroy: () => void) {
Cypress.on('test:before:run', () => {
$destroy()
})
}
enableAutoDestroy(registerAutoDestroy)
const injectStyles = (options: StyleOptions) => {
return injectStylesBeforeElement(options, document, getContainerEl())
}
@@ -336,6 +331,9 @@ export const mount = (
wrapper: Wrapper<Vue, Element>
component: Wrapper<Vue, Element>['vm']
}> => {
// Remove last mounted component if cy.mount is called more than once in a test
cleanup()
const options: Partial<MountOptions> = Cypress._.pick(
optionsOrProps,
defaultOptions,
@@ -442,4 +440,4 @@ export const mountCallback = (
// import { registerCT } from 'cypress/<my-framework>'
// registerCT()
// Note: This would be a breaking change
setupHooks()
setupHooks(cleanup)

View File

@@ -137,7 +137,7 @@ async function getPreset (devServerConfig: WebpackDevServerConfig): Promise<Opti
return { sourceWebpackModulesResult: sourceDefaultWebpackDependencies(devServerConfig) }
default:
throw new Error(`Unexpected framework ${(devServerConfig as any).framework}, please visit https://docs.cypress.io/guides/component-testing/component-framework-configuration to see a list of supported frameworks`)
throw new Error(`Unexpected framework ${(devServerConfig as any).framework}, please visit https://on.cypress.io/component-framework-configuration to see a list of supported frameworks`)
}
}

View File

@@ -5,24 +5,17 @@ import RunResults from './RunResults.vue'
describe('<RunResults />', { viewportHeight: 150, viewportWidth: 250 }, () => {
it('shows number of passed, skipped, pending and failed tests', () => {
cy.wrap(Object.keys(CloudRunStubs)).each((cloudRunStub: string) => {
const res = CloudRunStubs[cloudRunStub]
const cloudRuns = Object.values(CloudRunStubs)
cy.mountFragment(RunCardFragmentDoc, {
onResult (result) {
Object.keys(result).forEach((key) => {
result[key] = res[key]
})
},
render (props) {
return <RunResults gql={props} />
},
cy.mount(() => cloudRuns.map((cloudRun, i) => (<RunResults data-cy={`run-result-${i}`} gql={cloudRun} />)))
cloudRuns.forEach((cloudRun, i) => {
cy.get(`[data-cy=run-result-${i}]`).within(() => {
cy.get(`[title=${defaultMessages.runs.results.passed}]`).should('contain.text', cloudRun.totalPassed)
cy.get(`[title=${defaultMessages.runs.results.failed}]`).should('contain.text', cloudRun.totalFailed)
cy.get(`[title=${defaultMessages.runs.results.skipped}]`).should('contain.text', cloudRun.totalSkipped)
cy.get(`[title=${defaultMessages.runs.results.pending}]`).should('contain.text', cloudRun.totalPending)
})
cy.get(`[title=${defaultMessages.runs.results.passed}]`).should('contain.text', res.totalPassed)
cy.get(`[title=${defaultMessages.runs.results.failed}]`).should('contain.text', res.totalFailed)
cy.get(`[title=${defaultMessages.runs.results.skipped}]`).should('contain.text', res.totalSkipped)
cy.get(`[title=${defaultMessages.runs.results.pending}`).should('contain.text', res.totalPending)
})
cy.percySnapshot()

View File

@@ -110,27 +110,19 @@ describe('<SpecsListHeader />', { keystrokeDelay: 0 }, () => {
})
it('shows the count correctly while searching', () => {
const mountWithCounts = (resultCount = 0, specCount = 0) => {
cy.mount(() => (<div class="max-w-800px p-12 resize overflow-auto"><SpecsListHeader
const counts = [[0, 0], [0, 22], [0, 1], [1, 1], [5, 22]]
cy.mount(() => counts.map(([resultCount, specCount]) => (
<div class="max-w-800px p-12 resize overflow-auto"><SpecsListHeader
modelValue={'foo'}
resultCount={resultCount}
specCount={specCount}
/></div>))
}
/></div>)))
mountWithCounts(0, 0)
cy.contains('No matches')
mountWithCounts(0, 22)
cy.contains('0 of 22 matches')
mountWithCounts(0, 1)
cy.contains('0 of 1 match').should('be.visible')
mountWithCounts(1, 1)
cy.contains('1 of 1 match').should('be.visible')
mountWithCounts(5, 22)
cy.contains('5 of 22 matches').should('be.visible')
cy.percySnapshot()

View File

@@ -40,8 +40,11 @@ const suffixIcon = () => <LoadingIcon data-cy="loading-icon" class="animate-spin
describe('<Alert />', () => {
describe('classes', () => {
it('can change the text and background color for the alert', () => {
cy.mount(() => <Alert headerClass="underline text-pink-500 bg-pink-100" bodyClass="bg-pink-50" icon={suffixIcon}>test</Alert>)
cy.mount(() => <Alert headerClass="underline text-teal-500 bg-teal-100" bodyClass="bg-teal-50" icon={suffixIcon}>test</Alert>)
cy.mount(() =>
(<div class="flex flex-col m-8px gap-8px">
<Alert headerClass="underline text-pink-500 bg-pink-100" bodyClass="bg-pink-50" icon={suffixIcon}>test</Alert>
<Alert headerClass="underline text-teal-500 bg-teal-100" bodyClass="bg-teal-50" icon={suffixIcon}>test</Alert>
</div>))
cy.percySnapshot()
})

View File

@@ -7,16 +7,17 @@ exports['React major versions with Webpack executes all of the tests for React v
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 4 found (App.cy.jsx, Unmount.cy.jsx, UsingLegacyMount.cy.jsx, Rerendering.cy.jsx)
│ Specs: 5 found (App.cy.jsx, Unmount.cy.jsx, UsingLegacyMount.cy.jsx, Rerendering.cy.jsx,
│ mount.cy.jsx) │
│ Searched: src/App.cy.jsx, src/Unmount.cy.jsx, src/UsingLegacyMount.cy.jsx, src/Rerendering.c │
│ y.jsx
│ y.jsx, src/mount.cy.jsx
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 4)
48 modules
Running: App.cy.jsx (1 of 5)
49 modules
✓ renders hello world
@@ -48,7 +49,7 @@ exports['React major versions with Webpack executes all of the tests for React v
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (2 of 4)
Running: Unmount.cy.jsx (2 of 5)
Comp with componentWillUnmount
@@ -85,7 +86,7 @@ exports['React major versions with Webpack executes all of the tests for React v
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: UsingLegacyMount.cy.jsx (3 of 4)
Running: UsingLegacyMount.cy.jsx (3 of 5)
using legacy mount
@@ -118,7 +119,7 @@ exports['React major versions with Webpack executes all of the tests for React v
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (4 of 4)
Running: Rerendering.cy.jsx (4 of 5)
re-render
@@ -149,6 +150,41 @@ exports['React major versions with Webpack executes all of the tests for React v
- Finished processing: /XXX/XXX/XXX/cypress/videos/Rerendering.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (5 of 5)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -163,8 +199,10 @@ exports['React major versions with Webpack executes all of the tests for React v
│ ✔ UsingLegacyMount.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✔ All specs passed! XX:XX 7 7 - - -
✔ All specs passed! XX:XX 9 9 - - -
`
@@ -178,16 +216,17 @@ exports['React major versions with Webpack executes all of the tests for React v
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 4 found (App.cy.jsx, Unmount.cy.jsx, UsingLegacyMount.cy.jsx, Rerendering.cy.jsx)
│ Specs: 5 found (App.cy.jsx, Unmount.cy.jsx, UsingLegacyMount.cy.jsx, Rerendering.cy.jsx,
│ mount.cy.jsx) │
│ Searched: src/App.cy.jsx, src/Unmount.cy.jsx, src/UsingLegacyMount.cy.jsx, src/Rerendering.c │
│ y.jsx
│ y.jsx, src/mount.cy.jsx
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 4)
45 modules
Running: App.cy.jsx (1 of 5)
46 modules
✓ renders hello world
@@ -219,7 +258,7 @@ exports['React major versions with Webpack executes all of the tests for React v
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (2 of 4)
Running: Unmount.cy.jsx (2 of 5)
Comp with componentWillUnmount
@@ -256,7 +295,7 @@ exports['React major versions with Webpack executes all of the tests for React v
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: UsingLegacyMount.cy.jsx (3 of 4)
Running: UsingLegacyMount.cy.jsx (3 of 5)
using legacy mount
@@ -289,7 +328,7 @@ exports['React major versions with Webpack executes all of the tests for React v
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (4 of 4)
Running: Rerendering.cy.jsx (4 of 5)
re-render
@@ -320,6 +359,41 @@ exports['React major versions with Webpack executes all of the tests for React v
- Finished processing: /XXX/XXX/XXX/cypress/videos/Rerendering.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (5 of 5)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -334,8 +408,10 @@ exports['React major versions with Webpack executes all of the tests for React v
│ ✔ UsingLegacyMount.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✔ All specs passed! XX:XX 7 7 - - -
✔ All specs passed! XX:XX 9 9 - - -
`
@@ -349,15 +425,16 @@ exports['React major versions with Vite executes all of the tests for React v17
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 4 found (App.cy.jsx, Unmount.cy.jsx, UsingLegacyMount.cy.jsx, Rerendering.cy.jsx)
│ Specs: 5 found (App.cy.jsx, Unmount.cy.jsx, UsingLegacyMount.cy.jsx, Rerendering.cy.jsx,
│ mount.cy.jsx) │
│ Searched: src/App.cy.jsx, src/Unmount.cy.jsx, src/UsingLegacyMount.cy.jsx, src/Rerendering.c │
│ y.jsx
│ y.jsx, src/mount.cy.jsx
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 4)
Running: App.cy.jsx (1 of 5)
✓ renders hello world
@@ -389,7 +466,7 @@ exports['React major versions with Vite executes all of the tests for React v17
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (2 of 4)
Running: Unmount.cy.jsx (2 of 5)
Comp with componentWillUnmount
@@ -426,7 +503,7 @@ exports['React major versions with Vite executes all of the tests for React v17
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: UsingLegacyMount.cy.jsx (3 of 4)
Running: UsingLegacyMount.cy.jsx (3 of 5)
using legacy mount
@@ -459,7 +536,7 @@ exports['React major versions with Vite executes all of the tests for React v17
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (4 of 4)
Running: Rerendering.cy.jsx (4 of 5)
re-render
@@ -490,6 +567,41 @@ exports['React major versions with Vite executes all of the tests for React v17
- Finished processing: /XXX/XXX/XXX/cypress/videos/Rerendering.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (5 of 5)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -504,8 +616,10 @@ exports['React major versions with Vite executes all of the tests for React v17
│ ✔ UsingLegacyMount.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✔ All specs passed! XX:XX 7 7 - - -
✔ All specs passed! XX:XX 9 9 - - -
`
@@ -519,15 +633,16 @@ exports['React major versions with Vite executes all of the tests for React v18
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 4 found (App.cy.jsx, Unmount.cy.jsx, UsingLegacyMount.cy.jsx, Rerendering.cy.jsx)
│ Specs: 5 found (App.cy.jsx, Unmount.cy.jsx, UsingLegacyMount.cy.jsx, Rerendering.cy.jsx,
│ mount.cy.jsx) │
│ Searched: src/App.cy.jsx, src/Unmount.cy.jsx, src/UsingLegacyMount.cy.jsx, src/Rerendering.c │
│ y.jsx
│ y.jsx, src/mount.cy.jsx
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 4)
Running: App.cy.jsx (1 of 5)
✓ renders hello world
@@ -559,7 +674,7 @@ exports['React major versions with Vite executes all of the tests for React v18
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (2 of 4)
Running: Unmount.cy.jsx (2 of 5)
Comp with componentWillUnmount
@@ -596,7 +711,7 @@ exports['React major versions with Vite executes all of the tests for React v18
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: UsingLegacyMount.cy.jsx (3 of 4)
Running: UsingLegacyMount.cy.jsx (3 of 5)
using legacy mount
@@ -629,7 +744,7 @@ exports['React major versions with Vite executes all of the tests for React v18
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (4 of 4)
Running: Rerendering.cy.jsx (4 of 5)
re-render
@@ -660,6 +775,41 @@ exports['React major versions with Vite executes all of the tests for React v18
- Finished processing: /XXX/XXX/XXX/cypress/videos/Rerendering.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (5 of 5)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -674,8 +824,10 @@ exports['React major versions with Vite executes all of the tests for React v18
│ ✔ UsingLegacyMount.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✔ All specs passed! XX:XX 7 7 - - -
✔ All specs passed! XX:XX 9 9 - - -
`

View File

@@ -7,15 +7,15 @@ exports['@cypress/vite-dev-server react executes all of the tests for vite3.0.2-
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 7 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx)
│ Specs: 8 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx, mount.cy.jsx)
│ Searched: **/*.cy.{js,jsx,ts,tsx} │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 7)
Running: App.cy.jsx (1 of 8)
✓ renders hello world
@@ -47,7 +47,7 @@ exports['@cypress/vite-dev-server react executes all of the tests for vite3.0.2-
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: AppCompilationError.cy.jsx (2 of 7)
Running: AppCompilationError.cy.jsx (2 of 8)
1) An uncaught error was detected outside of a test
@@ -99,7 +99,7 @@ We dynamically generated a new test to display this failure.
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Errors.cy.jsx (3 of 7)
Running: Errors.cy.jsx (3 of 8)
Errors
@@ -193,7 +193,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReact.cy.jsx (4 of 7)
Running: MissingReact.cy.jsx (4 of 8)
1) is missing React
@@ -245,7 +245,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReactInSpec.cy.jsx (5 of 7)
Running: MissingReactInSpec.cy.jsx (5 of 8)
1) is missing React in this file
@@ -289,7 +289,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (6 of 7)
Running: Rerendering.cy.jsx (6 of 8)
re-render
@@ -322,7 +322,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (7 of 7)
Running: Unmount.cy.jsx (7 of 8)
Comp with componentWillUnmount
@@ -357,6 +357,41 @@ https://on.cypress.io/uncaught-exception-from-application
- Finished processing: /XXX/XXX/XXX/cypress/videos/Unmount.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (8 of 8)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -377,8 +412,10 @@ https://on.cypress.io/uncaught-exception-from-application
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Unmount.cy.jsx XX:XX 3 3 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✖ 4 of 7 failed (57%) XX:XX 13 6 7 - -
✖ 4 of 8 failed (50%) XX:XX 15 8 7 - -
`
@@ -392,15 +429,15 @@ exports['@cypress/vite-dev-server react executes all of the tests for vite2.8.6-
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 7 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx)
│ Specs: 8 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx, mount.cy.jsx)
│ Searched: **/*.cy.{js,jsx,ts,tsx} │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 7)
Running: App.cy.jsx (1 of 8)
✓ renders hello world
@@ -432,7 +469,7 @@ exports['@cypress/vite-dev-server react executes all of the tests for vite2.8.6-
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: AppCompilationError.cy.jsx (2 of 7)
Running: AppCompilationError.cy.jsx (2 of 8)
1) An uncaught error was detected outside of a test
@@ -484,7 +521,7 @@ We dynamically generated a new test to display this failure.
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Errors.cy.jsx (3 of 7)
Running: Errors.cy.jsx (3 of 8)
Errors
@@ -578,7 +615,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReact.cy.jsx (4 of 7)
Running: MissingReact.cy.jsx (4 of 8)
1) is missing React
@@ -630,7 +667,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReactInSpec.cy.jsx (5 of 7)
Running: MissingReactInSpec.cy.jsx (5 of 8)
1) is missing React in this file
@@ -674,7 +711,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (6 of 7)
Running: Rerendering.cy.jsx (6 of 8)
re-render
@@ -707,7 +744,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (7 of 7)
Running: Unmount.cy.jsx (7 of 8)
Comp with componentWillUnmount
@@ -742,6 +779,41 @@ https://on.cypress.io/uncaught-exception-from-application
- Finished processing: /XXX/XXX/XXX/cypress/videos/Unmount.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (8 of 8)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -762,8 +834,10 @@ https://on.cypress.io/uncaught-exception-from-application
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Unmount.cy.jsx XX:XX 3 3 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✖ 4 of 7 failed (57%) XX:XX 13 6 7 - -
✖ 4 of 8 failed (50%) XX:XX 15 8 7 - -
`
@@ -777,15 +851,15 @@ exports['@cypress/vite-dev-server react executes all of the tests for vite2.9.1-
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 7 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx)
│ Specs: 8 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx, mount.cy.jsx)
│ Searched: **/*.cy.{js,jsx,ts,tsx} │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 7)
Running: App.cy.jsx (1 of 8)
✓ renders hello world
@@ -817,7 +891,7 @@ exports['@cypress/vite-dev-server react executes all of the tests for vite2.9.1-
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: AppCompilationError.cy.jsx (2 of 7)
Running: AppCompilationError.cy.jsx (2 of 8)
1) An uncaught error was detected outside of a test
@@ -869,7 +943,7 @@ We dynamically generated a new test to display this failure.
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Errors.cy.jsx (3 of 7)
Running: Errors.cy.jsx (3 of 8)
Errors
@@ -963,7 +1037,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReact.cy.jsx (4 of 7)
Running: MissingReact.cy.jsx (4 of 8)
1) is missing React
@@ -1015,7 +1089,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReactInSpec.cy.jsx (5 of 7)
Running: MissingReactInSpec.cy.jsx (5 of 8)
1) is missing React in this file
@@ -1059,7 +1133,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (6 of 7)
Running: Rerendering.cy.jsx (6 of 8)
re-render
@@ -1092,7 +1166,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (7 of 7)
Running: Unmount.cy.jsx (7 of 8)
Comp with componentWillUnmount
@@ -1127,6 +1201,41 @@ https://on.cypress.io/uncaught-exception-from-application
- Finished processing: /XXX/XXX/XXX/cypress/videos/Unmount.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (8 of 8)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -1147,8 +1256,10 @@ https://on.cypress.io/uncaught-exception-from-application
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Unmount.cy.jsx XX:XX 3 3 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✖ 4 of 7 failed (57%) XX:XX 13 6 7 - -
✖ 4 of 8 failed (50%) XX:XX 15 8 7 - -
`

View File

@@ -10,15 +10,15 @@ exports['@cypress/webpack-dev-server react executes all of the tests for webpack
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 7 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx)
│ Specs: 8 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx, mount.cy.jsx)
│ Searched: **/*.cy.{js,jsx,ts,tsx} │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 7)
Running: App.cy.jsx (1 of 8)
✓ renders hello world
@@ -50,7 +50,7 @@ exports['@cypress/webpack-dev-server react executes all of the tests for webpack
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: AppCompilationError.cy.jsx (2 of 7)
Running: AppCompilationError.cy.jsx (2 of 8)
1) An uncaught error was detected outside of a test
@@ -110,7 +110,7 @@ We dynamically generated a new test to display this failure.
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Errors.cy.jsx (3 of 7)
Running: Errors.cy.jsx (3 of 8)
Errors
@@ -204,7 +204,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReact.cy.jsx (4 of 7)
Running: MissingReact.cy.jsx (4 of 8)
1) is missing React
@@ -256,7 +256,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReactInSpec.cy.jsx (5 of 7)
Running: MissingReactInSpec.cy.jsx (5 of 8)
1) is missing React in this file
@@ -300,7 +300,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (6 of 7)
Running: Rerendering.cy.jsx (6 of 8)
re-render
@@ -333,7 +333,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (7 of 7)
Running: Unmount.cy.jsx (7 of 8)
Comp with componentWillUnmount
@@ -368,6 +368,41 @@ https://on.cypress.io/uncaught-exception-from-application
- Finished processing: /XXX/XXX/XXX/cypress/videos/Unmount.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (8 of 8)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -388,8 +423,10 @@ https://on.cypress.io/uncaught-exception-from-application
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Unmount.cy.jsx XX:XX 3 3 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✖ 4 of 7 failed (57%) XX:XX 13 6 7 - -
✖ 4 of 8 failed (50%) XX:XX 15 8 7 - -
`
@@ -403,16 +440,16 @@ exports['@cypress/webpack-dev-server react executes all of the tests for webpack
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 7 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx)
│ Specs: 8 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx, mount.cy.jsx)
│ Searched: **/*.cy.{js,jsx,ts,tsx} │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 7)
49 modules
Running: App.cy.jsx (1 of 8)
50 modules
ERROR in ./src/AppCompilationError.cy.jsx
Module build failed (from [..]):
@@ -455,7 +492,7 @@ SyntaxError: /foo/bar/.projects/webpack4_wds4-react/src/AppCompilationError.cy.j
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: AppCompilationError.cy.jsx (2 of 7)
Running: AppCompilationError.cy.jsx (2 of 8)
1) An uncaught error was detected outside of a test
@@ -515,7 +552,7 @@ We dynamically generated a new test to display this failure.
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Errors.cy.jsx (3 of 7)
Running: Errors.cy.jsx (3 of 8)
Errors
@@ -609,7 +646,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReact.cy.jsx (4 of 7)
Running: MissingReact.cy.jsx (4 of 8)
1) is missing React
@@ -661,7 +698,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReactInSpec.cy.jsx (5 of 7)
Running: MissingReactInSpec.cy.jsx (5 of 8)
1) is missing React in this file
@@ -705,7 +742,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (6 of 7)
Running: Rerendering.cy.jsx (6 of 8)
re-render
@@ -738,7 +775,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (7 of 7)
Running: Unmount.cy.jsx (7 of 8)
Comp with componentWillUnmount
@@ -773,6 +810,41 @@ https://on.cypress.io/uncaught-exception-from-application
- Finished processing: /XXX/XXX/XXX/cypress/videos/Unmount.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (8 of 8)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -793,8 +865,10 @@ https://on.cypress.io/uncaught-exception-from-application
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Unmount.cy.jsx XX:XX 3 3 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✖ 4 of 7 failed (57%) XX:XX 13 6 7 - -
✖ 4 of 8 failed (50%) XX:XX 15 8 7 - -
`
@@ -811,15 +885,15 @@ exports['@cypress/webpack-dev-server react executes all of the tests for webpack
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 7 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx)
│ Specs: 8 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx, mount.cy.jsx)
│ Searched: **/*.cy.{js,jsx,ts,tsx} │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 7)
Running: App.cy.jsx (1 of 8)
✓ renders hello world
@@ -851,7 +925,7 @@ exports['@cypress/webpack-dev-server react executes all of the tests for webpack
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: AppCompilationError.cy.jsx (2 of 7)
Running: AppCompilationError.cy.jsx (2 of 8)
1) An uncaught error was detected outside of a test
@@ -911,7 +985,7 @@ We dynamically generated a new test to display this failure.
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Errors.cy.jsx (3 of 7)
Running: Errors.cy.jsx (3 of 8)
Errors
@@ -1005,7 +1079,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReact.cy.jsx (4 of 7)
Running: MissingReact.cy.jsx (4 of 8)
1) is missing React
@@ -1057,7 +1131,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReactInSpec.cy.jsx (5 of 7)
Running: MissingReactInSpec.cy.jsx (5 of 8)
1) is missing React in this file
@@ -1101,7 +1175,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (6 of 7)
Running: Rerendering.cy.jsx (6 of 8)
re-render
@@ -1134,7 +1208,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (7 of 7)
Running: Unmount.cy.jsx (7 of 8)
Comp with componentWillUnmount
@@ -1169,6 +1243,41 @@ https://on.cypress.io/uncaught-exception-from-application
- Finished processing: /XXX/XXX/XXX/cypress/videos/Unmount.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (8 of 8)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -1189,8 +1298,10 @@ https://on.cypress.io/uncaught-exception-from-application
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Unmount.cy.jsx XX:XX 3 3 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✖ 4 of 7 failed (57%) XX:XX 13 6 7 - -
✖ 4 of 8 failed (50%) XX:XX 15 8 7 - -
`
@@ -1204,17 +1315,17 @@ exports['@cypress/webpack-dev-server react executes all of the tests for webpack
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 1.2.3 │
│ Browser: FooBrowser 88 │
│ Specs: 7 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx)
│ Specs: 8 found (App.cy.jsx, AppCompilationError.cy.jsx, Errors.cy.jsx, MissingReact.cy.js │
│ x, MissingReactInSpec.cy.jsx, Rerendering.cy.jsx, Unmount.cy.jsx, mount.cy.jsx)
│ Searched: **/*.cy.{js,jsx,ts,tsx} │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: App.cy.jsx (1 of 7)
14 assets
65 modules
Running: App.cy.jsx (1 of 8)
15 assets
66 modules
ERROR in ./src/AppCompilationError.cy.jsx
Module build failed (from [..]):
@@ -1259,7 +1370,7 @@ webpack x.x.x compiled with x errors in xxx ms
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: AppCompilationError.cy.jsx (2 of 7)
Running: AppCompilationError.cy.jsx (2 of 8)
1) An uncaught error was detected outside of a test
@@ -1319,7 +1430,7 @@ We dynamically generated a new test to display this failure.
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Errors.cy.jsx (3 of 7)
Running: Errors.cy.jsx (3 of 8)
Errors
@@ -1413,7 +1524,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReact.cy.jsx (4 of 7)
Running: MissingReact.cy.jsx (4 of 8)
1) is missing React
@@ -1465,7 +1576,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: MissingReactInSpec.cy.jsx (5 of 7)
Running: MissingReactInSpec.cy.jsx (5 of 8)
1) is missing React in this file
@@ -1509,7 +1620,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Rerendering.cy.jsx (6 of 7)
Running: Rerendering.cy.jsx (6 of 8)
re-render
@@ -1542,7 +1653,7 @@ https://on.cypress.io/uncaught-exception-from-application
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: Unmount.cy.jsx (7 of 7)
Running: Unmount.cy.jsx (7 of 8)
Comp with componentWillUnmount
@@ -1577,6 +1688,41 @@ https://on.cypress.io/uncaught-exception-from-application
- Finished processing: /XXX/XXX/XXX/cypress/videos/Unmount.cy.jsx.mp4 (X second)
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: mount.cy.jsx (8 of 8)
mount
teardown
✓ should mount
✓ should remove previous mounted component
2 passing
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 2 │
│ Passing: 2 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: X seconds │
│ Spec Ran: mount.cy.jsx │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Video)
- Started processing: Compressing to 32 CRF
- Finished processing: /XXX/XXX/XXX/cypress/videos/mount.cy.jsx.mp4 (X second)
====================================================================================================
(Run Finished)
@@ -1597,8 +1743,10 @@ https://on.cypress.io/uncaught-exception-from-application
│ ✔ Rerendering.cy.jsx XX:XX 1 1 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ Unmount.cy.jsx XX:XX 3 3 - - - │
├────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ✔ mount.cy.jsx XX:XX 2 2 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✖ 4 of 7 failed (57%) XX:XX 13 6 7 - -
✖ 4 of 8 failed (50%) XX:XX 15 8 7 - -
`

View File

@@ -430,11 +430,21 @@ describe('angular mount', () => {
describe('teardown', () => {
beforeEach(() => {
cy.get('[id^=root]').should('not.exist')
})
cy.get("[id^=root]").should("not.exist");
});
it('should mount', () => {
cy.mount(ButtonOutputComponent)
it("should mount", () => {
cy.mount(ButtonOutputComponent);
});
it('should remove previous mounted component', () => {
cy.mount(ChildComponent, {componentProperties: { msg: 'Render 1' }})
cy.contains('Render 1')
cy.mount(ChildComponent, {componentProperties: { msg: 'Render 2' }})
cy.contains('Render 2')
cy.contains('Render 1').should('not.exist')
cy.get('[id^=root]').children().should('have.length', 1)
})
})
})
});
});

View File

@@ -0,0 +1,27 @@
import React from 'react'
const HelloWorld = ({ msg }) => {
return <h1>{msg}</h1>
}
describe('mount', () => {
context('teardown', () => {
beforeEach(() => {
cy.get('[data-cy-root]').children().should('have.length', 0)
});
it('should mount', () => {
cy.mount(<HelloWorld />)
});
it('should remove previous mounted component', () => {
cy.mount(<HelloWorld msg="Render 1" />)
cy.contains('Render 1')
cy.mount(<HelloWorld msg="Render 2" />)
cy.contains('Render 2')
cy.contains('Render 1').should('not.exist')
cy.get('[data-cy-root]').children().should('have.length', 1)
})
});
})

View File

@@ -1,86 +1,107 @@
import Counter from "./Counter.svelte";
import Context from "./Context.svelte";
import Store from "./Store.svelte";
import { messageStore } from "./store";
import Counter from './Counter.svelte';
import Context from './Context.svelte';
import Store from './Store.svelte';
import { messageStore } from './store';
describe("Svelte mount", () => {
it("mounts", () => {
describe('Svelte mount', () => {
it('mounts', () => {
cy.mount(Counter)
cy.contains("h1", "Count is 0");
cy.contains('h1', 'Count is 0');
});
it("reacts to state changes", () => {
it('reacts to state changes', () => {
cy.mount(Counter);
cy.contains("h1", "Count is 0");
cy.get("button").click();
cy.contains("h1", "Count is 1");
cy.contains('h1', 'Count is 0');
cy.get('button').click();
cy.contains('h1', 'Count is 1');
});
it("accepts props", () => {
it('accepts props', () => {
cy.mount(Counter, { props: { count: 42 } });
cy.contains("h1", "Count is 42");
cy.contains('h1', 'Count is 42');
});
it("accepts context", () => {
const payload = { msg: "This value came from context!" };
it('accepts context', () => {
const payload = { msg: 'This value came from context!' };
const context = new Map();
context.set("myKey", payload);
context.set('myKey', payload);
cy.mount(Context, { context });
cy.contains("h1", payload.msg);
cy.contains('h1', payload.msg);
});
it("spies on outputs", () => {
it('spies on outputs', () => {
cy.mount(Counter).then(({ component }) => {
component.$on("change", cy.spy().as("changeSpy"));
cy.get("button").click();
cy.get("@changeSpy").should("have.been.called");
component.$on('change', cy.spy().as('changeSpy'));
cy.get('button').click();
cy.get('@changeSpy').should('have.been.called');
});
});
it("anchors mounted component", () => {
cy.mount(Counter, { anchor: document.getElementById("anchor") });
cy.get("[data-cy-root]").children().last().should("have.id", "anchor");
it('anchors mounted component', () => {
cy.mount(Counter, { anchor: document.getElementById('anchor') });
cy.get('[data-cy-root]').children().last().should('have.id', 'anchor');
});
it("reactive to writables", () => {
it('reactive to writables', () => {
cy.mount(Store);
cy.contains("h1", "Hello World!");
cy.contains('h1', 'Hello World!');
cy.get("input").clear().type("New Message");
cy.contains("h1", "New Message");
cy.get('input').clear().type('New Message');
cy.contains('h1', 'New Message');
cy.then(() => messageStore.set("Written from spec"));
cy.contains("h1", "Written from spec");
cy.then(() => messageStore.set('Written from spec'));
cy.contains('h1', 'Written from spec');
});
context("log", () => {
it("displays component name in mount log", () => {
context('log', () => {
it('displays component name in mount log', () => {
cy.mount(Counter);
cy.wrap(Cypress.$(window.top.document.body)).within(() =>
cy
.contains("displays component name in mount log")
.closest(".collapsible")
.contains('displays component name in mount log')
.closest('.collapsible')
.click()
.within(() =>
cy
.get(".command-name-mount")
.should("contain", "mount<Counter ... />")
.get('.command-name-mount')
.should('contain', 'mount<Counter ... />')
)
);
});
it("does not display mount log", () => {
it('does not display mount log', () => {
cy.mount(Counter, { log: false });
cy.wrap(Cypress.$(window.top.document.body)).within(() =>
cy
.contains("does not display mount log")
.closest(".collapsible")
.contains('does not display mount log')
.closest('.collapsible')
.click()
.within(() => cy.get(".command-name-mount").should("not.exist"))
.within(() => cy.get('.command-name-mount').should('not.exist'))
);
});
});
context('teardown', () => {
beforeEach(() => {
// component-index.html has anchor element within [data-cy-root] so base # of elements is 1
cy.get('[data-cy-root]').children().should('have.length', 1)
})
it('should mount', () => {
cy.mount(Counter);
});
it('should remove previous mounted component', () => {
cy.mount(Counter);
cy.contains('h1', 'Count is 0')
cy.mount(Counter, {props: { count: 42 }})
cy.contains('h1', 'Count is 42')
cy.contains('h1', 'Count is 0').should('not.exist')
cy.get('[data-cy-root]').children().should('have.length', 2)
})
})
});

View File

@@ -0,0 +1,10 @@
import { defineConfig } from 'cypress'
export default defineConfig({
component: {
devServer: {
framework: 'vue',
bundler: 'vite'
}
},
})

View File

@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Components App</title>
</head>
<body>
<div data-cy-root></div>
</body>
</html>

View File

@@ -0,0 +1,3 @@
import { mount } from 'cypress/vue'
Cypress.Commands.add('mount', mount)

View File

@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Vue</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

View File

@@ -0,0 +1,12 @@
<script setup>
// This starter template is using Vue 3 <script setup> SFCs
// Check out https://vuejs.org/api/sfc-script-setup.html#script-setup
import HelloWorld from "./components/HelloWorld.vue";
</script>
<template>
<HelloWorld msg="Vue" />
</template>
<style scoped>
</style>

View File

@@ -0,0 +1,22 @@
<script setup>
import { ref } from "vue";
defineProps({
msg: String,
});
const count = ref(0);
</script>
<template>
<div>
<h1>{{ msg }}</h1>
<button type="button" @click="count++">count is {{ count }}</button>
</div>
</template>
<style scoped>
.read-the-docs {
color: #888;
}
</style>

View File

@@ -0,0 +1,4 @@
import { createApp } from "vue";
import App from "./App.vue";
createApp(App).mount("#app");

View File

@@ -0,0 +1,26 @@
import HelloWorld from "./components/HelloWorld.vue";
describe("mount", () => {
context("teardown", () => {
beforeEach(() => {
cy.get("[data-cy-root]").children().should("have.length", 0);
});
it("should mount", () => {
cy.mount(HelloWorld);
});
it("should remove previous mounted component", () => {
// hack for vue2 vs vue mount
const props = (props) => ({props, propsData: props})
cy.mount(HelloWorld, props({ msg: "Render 1" }));
cy.contains("h1", "Render 1");
cy.mount(HelloWorld, props({ msg: "Render 2" }));
cy.contains("h1", "Render 2");
cy.contains("h1", "Render 1").should("not.exist");
cy.get("[data-cy-root]").children().should("have.length", 1);
});
});
});

View File

@@ -0,0 +1,3 @@
import { mount } from 'cypress/vue2'
Cypress.Commands.add('mount', mount)

View File

@@ -0,0 +1,19 @@
{
"name": "vue-vite",
"version": "0.0.0",
"private": true,
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"vue": "^2.7.0"
},
"devDependencies": {
"@vitejs/plugin-vue2": "^2.0.0",
"vite": "^3.2.0"
},
"type": "module",
"projectFixtureDirectory": "vue"
}

View File

@@ -0,0 +1,7 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue2'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
})

View File

@@ -0,0 +1,264 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@babel/parser@^7.18.4":
version "7.20.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.0.tgz#b26133c888da4d79b0d3edcf42677bcadc783046"
integrity sha512-G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg==
"@esbuild/android-arm@0.15.12":
version "0.15.12"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.12.tgz#e548b10a5e55b9e10537a049ebf0bc72c453b769"
integrity sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==
"@esbuild/linux-loong64@0.15.12":
version "0.15.12"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1"
integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==
"@vitejs/plugin-vue2@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue2/-/plugin-vue2-2.0.0.tgz#f7477daa494e5cd2ec3566bcadd601f5d6ec43bc"
integrity sha512-VJOCDtBNcRv7kYLQRbbERDP0OqW0EKgMQp6wwbqZRpU3kg38OP891avx6Xl3szntGkf9mK4i8k3TjsAlmkzWFg==
"@vue/compiler-sfc@2.7.13":
version "2.7.13"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.13.tgz#818944f4a9616b752d48dac6a56bffe2db88bdff"
integrity sha512-zzu2rLRZlgIU+OT3Atbr7Y6PG+LW4wVQpPfNRrGDH3dM9PsrcVfa+1pKb8bW467bGM3aDOvAnsYLWVpYIv3GRg==
dependencies:
"@babel/parser" "^7.18.4"
postcss "^8.4.14"
source-map "^0.6.1"
csstype@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9"
integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==
esbuild-android-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz#5e8151d5f0a748c71a7fbea8cee844ccf008e6fc"
integrity sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==
esbuild-android-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666"
integrity sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==
esbuild-darwin-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25"
integrity sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==
esbuild-darwin-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04"
integrity sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==
esbuild-freebsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0"
integrity sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==
esbuild-freebsd-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e"
integrity sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==
esbuild-linux-32@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4"
integrity sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==
esbuild-linux-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931"
integrity sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==
esbuild-linux-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5"
integrity sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==
esbuild-linux-arm@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67"
integrity sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==
esbuild-linux-mips64le@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2"
integrity sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==
esbuild-linux-ppc64le@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7"
integrity sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==
esbuild-linux-riscv64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693"
integrity sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==
esbuild-linux-s390x@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f"
integrity sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==
esbuild-netbsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42"
integrity sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==
esbuild-openbsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae"
integrity sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==
esbuild-sunos-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e"
integrity sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==
esbuild-windows-32@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0"
integrity sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==
esbuild-windows-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6"
integrity sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==
esbuild-windows-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328"
integrity sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==
esbuild@^0.15.9:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c"
integrity sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==
optionalDependencies:
"@esbuild/android-arm" "0.15.12"
"@esbuild/linux-loong64" "0.15.12"
esbuild-android-64 "0.15.12"
esbuild-android-arm64 "0.15.12"
esbuild-darwin-64 "0.15.12"
esbuild-darwin-arm64 "0.15.12"
esbuild-freebsd-64 "0.15.12"
esbuild-freebsd-arm64 "0.15.12"
esbuild-linux-32 "0.15.12"
esbuild-linux-64 "0.15.12"
esbuild-linux-arm "0.15.12"
esbuild-linux-arm64 "0.15.12"
esbuild-linux-mips64le "0.15.12"
esbuild-linux-ppc64le "0.15.12"
esbuild-linux-riscv64 "0.15.12"
esbuild-linux-s390x "0.15.12"
esbuild-netbsd-64 "0.15.12"
esbuild-openbsd-64 "0.15.12"
esbuild-sunos-64 "0.15.12"
esbuild-windows-32 "0.15.12"
esbuild-windows-64 "0.15.12"
esbuild-windows-arm64 "0.15.12"
fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
dependencies:
function-bind "^1.1.1"
is-core-module@^2.9.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
dependencies:
has "^1.0.3"
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
postcss@^8.4.14, postcss@^8.4.18:
version "8.4.18"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2"
integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
resolve@^1.22.1:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
dependencies:
is-core-module "^2.9.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
rollup@^2.79.1:
version "2.79.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7"
integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
optionalDependencies:
fsevents "~2.3.2"
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
vite@^3.2.0:
version "3.2.1"
resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.1.tgz#dc1f54568300a7acdd89c8611e2719c21f1334f4"
integrity sha512-ADtMkfHuWq4tskJsri2n2FZkORO8ZyhI+zIz7zTrDAgDEtct1jdxOg3YsZBfHhKjmMoWLOSCr+64qrEDGo/DbQ==
dependencies:
esbuild "^0.15.9"
postcss "^8.4.18"
resolve "^1.22.1"
rollup "^2.79.1"
optionalDependencies:
fsevents "~2.3.2"
vue@^2.7.0:
version "2.7.13"
resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.13.tgz#e9e499cc6da46dc7941c2510193b15aa6a84a79f"
integrity sha512-QnM6ULTNnPmn71eUO+4hdjfBIA3H0GLsBnchnI/kS678tjI45GOUZhXd0oP/gX9isikXz1PAzSnkPspp9EUNfQ==
dependencies:
"@vue/compiler-sfc" "2.7.13"
csstype "^3.1.0"

View File

@@ -0,0 +1,19 @@
{
"name": "vue-vite",
"version": "0.0.0",
"private": true,
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"vue": "^3.2.41"
},
"devDependencies": {
"@vitejs/plugin-vue": "^3.2.0",
"vite": "^3.2.0"
},
"type": "module",
"projectFixtureDirectory": "vue"
}

View File

@@ -0,0 +1,7 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
})

View File

@@ -0,0 +1,365 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@babel/parser@^7.16.4":
version "7.20.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.0.tgz#b26133c888da4d79b0d3edcf42677bcadc783046"
integrity sha512-G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg==
"@esbuild/android-arm@0.15.12":
version "0.15.12"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.12.tgz#e548b10a5e55b9e10537a049ebf0bc72c453b769"
integrity sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==
"@esbuild/linux-loong64@0.15.12":
version "0.15.12"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1"
integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==
"@vitejs/plugin-vue@^3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz#a1484089dd85d6528f435743f84cdd0d215bbb54"
integrity sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==
"@vue/compiler-core@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.41.tgz#fb5b25f23817400f44377d878a0cdead808453ef"
integrity sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/shared" "3.2.41"
estree-walker "^2.0.2"
source-map "^0.6.1"
"@vue/compiler-dom@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz#dc63dcd3ce8ca8a8721f14009d498a7a54380299"
integrity sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==
dependencies:
"@vue/compiler-core" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/compiler-sfc@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz#238fb8c48318408c856748f4116aff8cc1dc2a73"
integrity sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.41"
"@vue/compiler-dom" "3.2.41"
"@vue/compiler-ssr" "3.2.41"
"@vue/reactivity-transform" "3.2.41"
"@vue/shared" "3.2.41"
estree-walker "^2.0.2"
magic-string "^0.25.7"
postcss "^8.1.10"
source-map "^0.6.1"
"@vue/compiler-ssr@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz#344f564d68584b33367731c04ffc949784611fcb"
integrity sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==
dependencies:
"@vue/compiler-dom" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/reactivity-transform@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz#9ff938877600c97f646e09ac1959b5150fb11a0c"
integrity sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.41"
"@vue/shared" "3.2.41"
estree-walker "^2.0.2"
magic-string "^0.25.7"
"@vue/reactivity@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.41.tgz#0ad3bdf76d76822da1502dc9f394dafd02642963"
integrity sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==
dependencies:
"@vue/shared" "3.2.41"
"@vue/runtime-core@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.41.tgz#775bfc00b3fadbaddab77138f23322aee3517a76"
integrity sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==
dependencies:
"@vue/reactivity" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/runtime-dom@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.41.tgz#cdf86be7410f7b15c29632a96ce879e5b4c9ab92"
integrity sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==
dependencies:
"@vue/runtime-core" "3.2.41"
"@vue/shared" "3.2.41"
csstype "^2.6.8"
"@vue/server-renderer@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.41.tgz#ca64552c05878f94e8d191ac439141c06c0fb2ad"
integrity sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==
dependencies:
"@vue/compiler-ssr" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/shared@3.2.41":
version "3.2.41"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.41.tgz#fbc95422df654ea64e8428eced96ba6ad555d2bb"
integrity sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==
csstype@^2.6.8:
version "2.6.21"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e"
integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==
esbuild-android-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz#5e8151d5f0a748c71a7fbea8cee844ccf008e6fc"
integrity sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==
esbuild-android-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666"
integrity sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==
esbuild-darwin-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25"
integrity sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==
esbuild-darwin-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04"
integrity sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==
esbuild-freebsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0"
integrity sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==
esbuild-freebsd-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e"
integrity sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==
esbuild-linux-32@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4"
integrity sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==
esbuild-linux-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931"
integrity sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==
esbuild-linux-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5"
integrity sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==
esbuild-linux-arm@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67"
integrity sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==
esbuild-linux-mips64le@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2"
integrity sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==
esbuild-linux-ppc64le@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7"
integrity sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==
esbuild-linux-riscv64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693"
integrity sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==
esbuild-linux-s390x@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f"
integrity sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==
esbuild-netbsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42"
integrity sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==
esbuild-openbsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae"
integrity sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==
esbuild-sunos-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e"
integrity sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==
esbuild-windows-32@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0"
integrity sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==
esbuild-windows-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6"
integrity sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==
esbuild-windows-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328"
integrity sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==
esbuild@^0.15.9:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c"
integrity sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==
optionalDependencies:
"@esbuild/android-arm" "0.15.12"
"@esbuild/linux-loong64" "0.15.12"
esbuild-android-64 "0.15.12"
esbuild-android-arm64 "0.15.12"
esbuild-darwin-64 "0.15.12"
esbuild-darwin-arm64 "0.15.12"
esbuild-freebsd-64 "0.15.12"
esbuild-freebsd-arm64 "0.15.12"
esbuild-linux-32 "0.15.12"
esbuild-linux-64 "0.15.12"
esbuild-linux-arm "0.15.12"
esbuild-linux-arm64 "0.15.12"
esbuild-linux-mips64le "0.15.12"
esbuild-linux-ppc64le "0.15.12"
esbuild-linux-riscv64 "0.15.12"
esbuild-linux-s390x "0.15.12"
esbuild-netbsd-64 "0.15.12"
esbuild-openbsd-64 "0.15.12"
esbuild-sunos-64 "0.15.12"
esbuild-windows-32 "0.15.12"
esbuild-windows-64 "0.15.12"
esbuild-windows-arm64 "0.15.12"
estree-walker@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
dependencies:
function-bind "^1.1.1"
is-core-module@^2.9.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
dependencies:
has "^1.0.3"
magic-string@^0.25.7:
version "0.25.9"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
dependencies:
sourcemap-codec "^1.4.8"
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
postcss@^8.1.10, postcss@^8.4.18:
version "8.4.18"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2"
integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
resolve@^1.22.1:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
dependencies:
is-core-module "^2.9.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
rollup@^2.79.1:
version "2.79.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7"
integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
optionalDependencies:
fsevents "~2.3.2"
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
sourcemap-codec@^1.4.8:
version "1.4.8"
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
vite@^3.2.0:
version "3.2.1"
resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.1.tgz#dc1f54568300a7acdd89c8611e2719c21f1334f4"
integrity sha512-ADtMkfHuWq4tskJsri2n2FZkORO8ZyhI+zIz7zTrDAgDEtct1jdxOg3YsZBfHhKjmMoWLOSCr+64qrEDGo/DbQ==
dependencies:
esbuild "^0.15.9"
postcss "^8.4.18"
resolve "^1.22.1"
rollup "^2.79.1"
optionalDependencies:
fsevents "~2.3.2"
vue@^3.2.41:
version "3.2.41"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.41.tgz#ed452b8a0f7f2b962f055c8955139c28b1c06806"
integrity sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==
dependencies:
"@vue/compiler-dom" "3.2.41"
"@vue/compiler-sfc" "3.2.41"
"@vue/runtime-dom" "3.2.41"
"@vue/server-renderer" "3.2.41"
"@vue/shared" "3.2.41"

View File

@@ -79,7 +79,7 @@ describe(`React major versions with Vite`, function () {
return systemTests.exec(this, {
project: `react${majorVersion}`,
configFile: 'cypress-vite.config.ts',
spec: 'src/App.cy.jsx,src/Unmount.cy.jsx,src/UsingLegacyMount.cy.jsx,src/Rerendering.cy.jsx',
spec: 'src/App.cy.jsx,src/Unmount.cy.jsx,src/UsingLegacyMount.cy.jsx,src/Rerendering.cy.jsx,src/mount.cy.jsx',
testingType: 'component',
browser: 'chrome',
snapshot: true,
@@ -97,7 +97,7 @@ describe(`React major versions with Webpack`, function () {
return systemTests.exec(this, {
project: `react${majorVersion}`,
configFile: 'cypress-webpack.config.ts',
spec: 'src/App.cy.jsx,src/Unmount.cy.jsx,src/UsingLegacyMount.cy.jsx,src/Rerendering.cy.jsx',
spec: 'src/App.cy.jsx,src/Unmount.cy.jsx,src/UsingLegacyMount.cy.jsx,src/Rerendering.cy.jsx,src/mount.cy.jsx',
testingType: 'component',
browser: 'chrome',
snapshot: true,
@@ -151,6 +151,26 @@ describe('svelte component testing', () => {
}
})
describe('Vue major versions with Vite', () => {
systemTests.setup()
systemTests.it('vue 2', {
project: `vue2`,
testingType: 'component',
spec: '**/*.cy.js',
browser: 'chrome',
expectedExitCode: 0,
})
systemTests.it('vue 3', {
project: `vue3`,
testingType: 'component',
spec: '**/*.cy.js',
browser: 'chrome',
expectedExitCode: 0,
})
})
describe('experimentalSingleTabRunMode', function () {
systemTests.setup()

View File

@@ -3528,5 +3528,5 @@
"./tooling/v8-snapshot/cache/dev-darwin/snapshot-entry.js"
],
"deferredHashFile": "yarn.lock",
"deferredHash": "b23274a95457555a9102f7f660744b1a8f08324bfcfa01be64771c12fcb3ae35"
"deferredHash": "6bc8f0abbe39ed0c00fd889d9dc07a5ddd40e8c0298a7b870968fedf57037a49"
}