diff --git a/npm/angular/src/mount.ts b/npm/angular/src/mount.ts index 68da248d0646..a79ecce89769 100644 --- a/npm/angular/src/mount.ts +++ b/npm/angular/src/mount.ts @@ -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 extends TestModuleMetadata { componentProperties?: Partial<{ [P in keyof T]: T[P] }> } +let activeFixture: ComponentFixture | 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 @@ -209,6 +226,8 @@ function setupFixture ( ): ComponentFixture { const fixture = getTestBed().createComponent(component) + setupComponent(config, fixture) + fixture.whenStable().then(() => { fixture.autoDetectChanges(config.autoDetectChanges ?? true) }) @@ -223,17 +242,18 @@ function setupFixture ( * @param {ComponentFixture} fixture Fixture for debugging and testing a component. * @returns {T} Component being mounted */ -function setupComponent ( +function setupComponent ( config: MountConfig, - fixture: ComponentFixture): T { - let component: T = fixture.componentInstance + fixture: ComponentFixture, +): void { + let component = fixture.componentInstance as unknown as { [key: string]: any } & Partial 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 0) { component.ngOnChanges(simpleChanges) } } - - return component } /** @@ -295,13 +313,18 @@ export function mount ( component: Type | string, config: MountConfig = { }, ): Cypress.Chainable> { + // 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 = { - 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) diff --git a/npm/angular/tsconfig.json b/npm/angular/tsconfig.json index b21ac64dacea..a73e01dcecc9 100644 --- a/npm/angular/tsconfig.json +++ b/npm/angular/tsconfig.json @@ -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.*"] diff --git a/npm/mount-utils/create-rollup-entry.mjs b/npm/mount-utils/create-rollup-entry.mjs index 3b230760b69a..f3b0de4d610c 100644 --- a/npm/mount-utils/create-rollup-entry.mjs +++ b/npm/mount-utils/create-rollup-entry.mjs @@ -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 '// ' like rollup-plugin-typescript2 did so we add it here. + renderChunk (...[code]) { + return `/// \n\n${code}` + }, + }, + ], external: config.external || [], - }) + }]) } diff --git a/npm/react/src/mount.ts b/npm/react/src/mount.ts index 11f7d458cc4b..1de9b091e717 100644 --- a/npm/react/src/mount.ts +++ b/npm/react/src/mount.ts @@ -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, el: HTMLElement, reactDomToUse: typeof ReactDOM) => { diff --git a/npm/react18/src/index.ts b/npm/react18/src/index.ts index ba402fe21a4d..250da700f854 100644 --- a/npm/react18/src/index.ts +++ b/npm/react18/src/index.ts @@ -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, el: HTMLElement) => { diff --git a/npm/svelte/src/mount.ts b/npm/svelte/src/mount.ts index 3fad1ac21274..2b37d56118bb 100644 --- a/npm/svelte/src/mount.ts +++ b/npm/svelte/src/mount.ts @@ -62,6 +62,9 @@ export function mount ( options: MountOptions = {}, ): Cypress.Chainable> { 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) diff --git a/npm/vue/src/index.ts b/npm/vue/src/index.ts index e8d09dd337c0..22bd74be68d8 100644 --- a/npm/vue/src/index.ts +++ b/npm/vue/src/index.ts @@ -44,6 +44,7 @@ const { export { VueTestUtils } const DEFAULT_COMP_NAME = 'unknown' +const VUE_ROOT = '__cy_vue_root' type GlobalMountOptions = Required>['global'] @@ -72,24 +73,14 @@ type MountingOptions = Omit, ' export type CyMountOptions = MountingOptions -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/' // registerCT() // Note: This would be a breaking change -setupHooks() +setupHooks(cleanup) diff --git a/npm/vue2/src/index.ts b/npm/vue2/src/index.ts index d65d72fbfeea..c7d6a5dc9b15 100644 --- a/npm/vue2/src/index.ts +++ b/npm/vue2/src/index.ts @@ -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 component: Wrapper['vm'] }> => { + // Remove last mounted component if cy.mount is called more than once in a test + cleanup() + const options: Partial = Cypress._.pick( optionsOrProps, defaultOptions, @@ -442,4 +440,4 @@ export const mountCallback = ( // import { registerCT } from 'cypress/' // registerCT() // Note: This would be a breaking change -setupHooks() +setupHooks(cleanup) diff --git a/npm/webpack-dev-server/src/devServer.ts b/npm/webpack-dev-server/src/devServer.ts index 7efd91fe6994..e7cabad50c17 100644 --- a/npm/webpack-dev-server/src/devServer.ts +++ b/npm/webpack-dev-server/src/devServer.ts @@ -137,7 +137,7 @@ async function getPreset (devServerConfig: WebpackDevServerConfig): Promise', { 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 - }, - }) + cy.mount(() => cloudRuns.map((cloudRun, i) => ())) - 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) + 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.percySnapshot() diff --git a/packages/app/src/specs/SpecsListHeader.cy.tsx b/packages/app/src/specs/SpecsListHeader.cy.tsx index 478f7dedbfe8..981355fcbb68 100644 --- a/packages/app/src/specs/SpecsListHeader.cy.tsx +++ b/packages/app/src/specs/SpecsListHeader.cy.tsx @@ -110,27 +110,19 @@ describe('', { keystrokeDelay: 0 }, () => { }) it('shows the count correctly while searching', () => { - const mountWithCounts = (resultCount = 0, specCount = 0) => { - cy.mount(() => (
counts.map(([resultCount, specCount]) => ( +
)) - } + />
))) - 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() diff --git a/packages/frontend-shared/src/components/Alert.cy.tsx b/packages/frontend-shared/src/components/Alert.cy.tsx index 52703bfce039..11982e30a313 100644 --- a/packages/frontend-shared/src/components/Alert.cy.tsx +++ b/packages/frontend-shared/src/components/Alert.cy.tsx @@ -40,8 +40,11 @@ const suffixIcon = () => test) - cy.mount(() => test) + cy.mount(() => + (
+ test + test +
)) cy.percySnapshot() }) diff --git a/system-tests/__snapshots__/component_testing_spec.ts.js b/system-tests/__snapshots__/component_testing_spec.ts.js index bc67ca486f76..a8c09d0840e4 100644 --- a/system-tests/__snapshots__/component_testing_spec.ts.js +++ b/system-tests/__snapshots__/component_testing_spec.ts.js @@ -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 - - - ` diff --git a/system-tests/__snapshots__/vite_dev_server_fresh_spec.ts.js b/system-tests/__snapshots__/vite_dev_server_fresh_spec.ts.js index a847bb3725e6..8e0d03dcf76a 100644 --- a/system-tests/__snapshots__/vite_dev_server_fresh_spec.ts.js +++ b/system-tests/__snapshots__/vite_dev_server_fresh_spec.ts.js @@ -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 - - ` diff --git a/system-tests/__snapshots__/webpack_dev_server_fresh_spec.ts.js b/system-tests/__snapshots__/webpack_dev_server_fresh_spec.ts.js index d10123e554e8..b6822aac2175 100644 --- a/system-tests/__snapshots__/webpack_dev_server_fresh_spec.ts.js +++ b/system-tests/__snapshots__/webpack_dev_server_fresh_spec.ts.js @@ -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 - - ` diff --git a/system-tests/project-fixtures/angular/src/app/mount.cy.ts b/system-tests/project-fixtures/angular/src/app/mount.cy.ts index abfe151c3a79..1c152d217c9b 100644 --- a/system-tests/project-fixtures/angular/src/app/mount.cy.ts +++ b/system-tests/project-fixtures/angular/src/app/mount.cy.ts @@ -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 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') - it('should mount', () => { - cy.mount(ButtonOutputComponent) + cy.contains('Render 1').should('not.exist') + cy.get('[id^=root]').children().should('have.length', 1) }) - }) -}) + }); +}); diff --git a/system-tests/project-fixtures/react/src/mount.cy.jsx b/system-tests/project-fixtures/react/src/mount.cy.jsx new file mode 100644 index 000000000000..52d5afa6cd82 --- /dev/null +++ b/system-tests/project-fixtures/react/src/mount.cy.jsx @@ -0,0 +1,27 @@ +import React from 'react' + +const HelloWorld = ({ msg }) => { + return

{msg}

+} + +describe('mount', () => { + context('teardown', () => { + beforeEach(() => { + cy.get('[data-cy-root]').children().should('have.length', 0) + }); + + it('should mount', () => { + cy.mount() + }); + + it('should remove previous mounted component', () => { + cy.mount() + cy.contains('Render 1') + cy.mount() + cy.contains('Render 2') + + cy.contains('Render 1').should('not.exist') + cy.get('[data-cy-root]').children().should('have.length', 1) + }) + }); +}) \ No newline at end of file diff --git a/system-tests/project-fixtures/svelte/src/mount.cy.js b/system-tests/project-fixtures/svelte/src/mount.cy.js index d5e004820438..7faa41290063 100644 --- a/system-tests/project-fixtures/svelte/src/mount.cy.js +++ b/system-tests/project-fixtures/svelte/src/mount.cy.js @@ -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") + .get('.command-name-mount') + .should('contain', 'mount') ) ); }); - 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) + }) + }) }); diff --git a/system-tests/project-fixtures/vue/cypress.config.js b/system-tests/project-fixtures/vue/cypress.config.js new file mode 100644 index 000000000000..00667cbf4ba5 --- /dev/null +++ b/system-tests/project-fixtures/vue/cypress.config.js @@ -0,0 +1,10 @@ +import { defineConfig } from 'cypress' + +export default defineConfig({ + component: { + devServer: { + framework: 'vue', + bundler: 'vite' + } + }, +}) \ No newline at end of file diff --git a/system-tests/project-fixtures/vue/cypress/support/component-index.html b/system-tests/project-fixtures/vue/cypress/support/component-index.html new file mode 100644 index 000000000000..ac6e79fd83df --- /dev/null +++ b/system-tests/project-fixtures/vue/cypress/support/component-index.html @@ -0,0 +1,12 @@ + + + + + + + Components App + + +
+ + \ No newline at end of file diff --git a/system-tests/project-fixtures/vue/cypress/support/component.js b/system-tests/project-fixtures/vue/cypress/support/component.js new file mode 100644 index 000000000000..02df2616980b --- /dev/null +++ b/system-tests/project-fixtures/vue/cypress/support/component.js @@ -0,0 +1,3 @@ +import { mount } from 'cypress/vue' + +Cypress.Commands.add('mount', mount) \ No newline at end of file diff --git a/system-tests/project-fixtures/vue/index.html b/system-tests/project-fixtures/vue/index.html new file mode 100644 index 000000000000..795e4fbadb88 --- /dev/null +++ b/system-tests/project-fixtures/vue/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + Vue + + +
+ + + diff --git a/system-tests/project-fixtures/vue/src/App.vue b/system-tests/project-fixtures/vue/src/App.vue new file mode 100644 index 000000000000..54ae4a6ed7b6 --- /dev/null +++ b/system-tests/project-fixtures/vue/src/App.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/system-tests/project-fixtures/vue/src/components/HelloWorld.vue b/system-tests/project-fixtures/vue/src/components/HelloWorld.vue new file mode 100644 index 000000000000..1f3ce021da8a --- /dev/null +++ b/system-tests/project-fixtures/vue/src/components/HelloWorld.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/system-tests/project-fixtures/vue/src/main.js b/system-tests/project-fixtures/vue/src/main.js new file mode 100644 index 000000000000..b670de8b8da5 --- /dev/null +++ b/system-tests/project-fixtures/vue/src/main.js @@ -0,0 +1,4 @@ +import { createApp } from "vue"; +import App from "./App.vue"; + +createApp(App).mount("#app"); diff --git a/system-tests/project-fixtures/vue/src/mount.cy.js b/system-tests/project-fixtures/vue/src/mount.cy.js new file mode 100644 index 000000000000..8f206ded0e05 --- /dev/null +++ b/system-tests/project-fixtures/vue/src/mount.cy.js @@ -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); + }); + }); +}); diff --git a/system-tests/projects/vue2/cypress/support/component.js b/system-tests/projects/vue2/cypress/support/component.js new file mode 100644 index 000000000000..abf5ce5089a0 --- /dev/null +++ b/system-tests/projects/vue2/cypress/support/component.js @@ -0,0 +1,3 @@ +import { mount } from 'cypress/vue2' + +Cypress.Commands.add('mount', mount) diff --git a/system-tests/projects/vue2/package.json b/system-tests/projects/vue2/package.json new file mode 100644 index 000000000000..c92d69a5f109 --- /dev/null +++ b/system-tests/projects/vue2/package.json @@ -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" +} diff --git a/system-tests/projects/vue2/vite.config.js b/system-tests/projects/vue2/vite.config.js new file mode 100644 index 000000000000..7b7b5cd9b579 --- /dev/null +++ b/system-tests/projects/vue2/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue2' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()], +}) diff --git a/system-tests/projects/vue2/yarn.lock b/system-tests/projects/vue2/yarn.lock new file mode 100644 index 000000000000..8a1d49278310 --- /dev/null +++ b/system-tests/projects/vue2/yarn.lock @@ -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" diff --git a/system-tests/projects/vue3/package.json b/system-tests/projects/vue3/package.json new file mode 100644 index 000000000000..c5871df55c92 --- /dev/null +++ b/system-tests/projects/vue3/package.json @@ -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" +} diff --git a/system-tests/projects/vue3/vite.config.js b/system-tests/projects/vue3/vite.config.js new file mode 100644 index 000000000000..05c17402a4a9 --- /dev/null +++ b/system-tests/projects/vue3/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()], +}) diff --git a/system-tests/projects/vue3/yarn.lock b/system-tests/projects/vue3/yarn.lock new file mode 100644 index 000000000000..7617da456de6 --- /dev/null +++ b/system-tests/projects/vue3/yarn.lock @@ -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" diff --git a/system-tests/test/component_testing_spec.ts b/system-tests/test/component_testing_spec.ts index 708379675c32..600e670e0379 100644 --- a/system-tests/test/component_testing_spec.ts +++ b/system-tests/test/component_testing_spec.ts @@ -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() diff --git a/tooling/v8-snapshot/cache/dev-darwin/snapshot-meta.cache.json b/tooling/v8-snapshot/cache/dev-darwin/snapshot-meta.cache.json index 20db9f9d0778..27b13e5d82dc 100644 --- a/tooling/v8-snapshot/cache/dev-darwin/snapshot-meta.cache.json +++ b/tooling/v8-snapshot/cache/dev-darwin/snapshot-meta.cache.json @@ -3528,5 +3528,5 @@ "./tooling/v8-snapshot/cache/dev-darwin/snapshot-entry.js" ], "deferredHashFile": "yarn.lock", - "deferredHash": "b23274a95457555a9102f7f660744b1a8f08324bfcfa01be64771c12fcb3ae35" + "deferredHash": "6bc8f0abbe39ed0c00fd889d9dc07a5ddd40e8c0298a7b870968fedf57037a49" } \ No newline at end of file