From df0db6a9094f91291cd5048319906fb1d80cc06e Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 16 Jan 2024 21:47:46 +0900 Subject: [PATCH 1/7] fix(vitest): simplify hoist transform check regex to avoid expensive regex match (#4974) --- packages/vitest/src/node/hoistMocks.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vitest/src/node/hoistMocks.ts b/packages/vitest/src/node/hoistMocks.ts index 1f7527c86c5e..e9ba9cd819b8 100644 --- a/packages/vitest/src/node/hoistMocks.ts +++ b/packages/vitest/src/node/hoistMocks.ts @@ -60,7 +60,7 @@ export function getBetterEnd(code: string, node: Node) { return end } -const regexpHoistable = /[ \t]*\b(vi|vitest)\s*\.\s*(mock|unmock|hoisted)\(/ +const regexpHoistable = /\b(vi|vitest)\s*\.\s*(mock|unmock|hoisted)\(/ const hashbangRE = /^#!.*\n/ export function hoistMocks(code: string, id: string, parse: PluginContext['parse'], colors?: Colors) { From 952c31dfc4706f3f4fd2cb84a253ce8ea2b11e9c Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 16 Jan 2024 13:49:07 +0100 Subject: [PATCH 2/7] fix(vitest): correctly find module if it has a version query (#4976) --- packages/vite-node/src/server.ts | 26 +++++++++++++++++++++++++- packages/vitest/src/node/core.ts | 6 ++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/packages/vite-node/src/server.ts b/packages/vite-node/src/server.ts index de68171d5539..0a137b25f383 100644 --- a/packages/vite-node/src/server.ts +++ b/packages/vite-node/src/server.ts @@ -195,6 +195,30 @@ export class ViteNodeServer { return 'web' } + private getChangedModule( + id: string, + file: string, + ) { + const module = this.server.moduleGraph.getModuleById(id) || this.server.moduleGraph.getModuleById(file) + if (module) + return module + const _modules = this.server.moduleGraph.getModulesByFile(file) + if (!_modules || !_modules.size) + return null + // find the latest changed module + const modules = [..._modules] + let mod = modules[0] + let latestMax = -1 + for (const m of _modules) { + const timestamp = Math.max(m.lastHMRTimestamp, m.lastInvalidationTimestamp) + if (timestamp > latestMax) { + latestMax = timestamp + mod = m + } + } + return mod + } + private async _fetchModule(id: string, transformMode: 'web' | 'ssr'): Promise { let result: FetchResult @@ -212,7 +236,7 @@ export class ViteNodeServer { const { path: filePath } = toFilePath(id, this.server.config.root) - const moduleNode = this.server.moduleGraph.getModuleById(id) || this.server.moduleGraph.getModuleById(filePath) + const moduleNode = this.getChangedModule(id, filePath) const cache = this.fetchCaches[transformMode].get(filePath) // lastUpdateTimestamp is the timestamp that marks the last time the module was changed diff --git a/packages/vitest/src/node/core.ts b/packages/vitest/src/node/core.ts index 2a5d94693fc1..c9d531b16c95 100644 --- a/packages/vitest/src/node/core.ts +++ b/packages/vitest/src/node/core.ts @@ -705,6 +705,12 @@ export class Vitest { this.changedTests.add(id) this.scheduleRerun([id]) } + else { + // it's possible that file was already there but watcher triggered "add" event instead + const needsRerun = this.handleFileChanged(id) + if (needsRerun.length) + this.scheduleRerun(needsRerun) + } } const watcher = this.server.watcher From 6c1cc78bac6ec6d7b8e1dab97a99b177887e61aa Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 16 Jan 2024 21:50:38 +0900 Subject: [PATCH 3/7] fix(browser): fix browser testing url for https (#4855) --- .github/workflows/ci.yml | 2 ++ packages/vitest/src/node/logger.ts | 4 ++- packages/vitest/src/node/pools/browser.ts | 3 ++- pnpm-lock.yaml | 12 +++++++++ .../browser/fixtures/server-url/basic.test.ts | 5 ++++ .../fixtures/server-url/vitest.config.ts | 26 ++++++++++++++++++ test/browser/package.json | 1 + test/browser/specs/server-url.test.mjs | 27 +++++++++++++++++++ test/browser/tsconfig.json | 3 ++- 9 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 test/browser/fixtures/server-url/basic.test.ts create mode 100644 test/browser/fixtures/server-url/vitest.config.ts create mode 100644 test/browser/specs/server-url.test.mjs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 741aa592c48f..c72b0bc15e1a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -143,6 +143,7 @@ jobs: strategy: matrix: browser: [[chrome, chromium], [firefox, firefox], [edge, webkit]] + fail-fast: false timeout-minutes: 30 @@ -186,6 +187,7 @@ jobs: strategy: matrix: browser: [[chrome, chromium], [edge, webkit]] + fail-fast: false timeout-minutes: 30 diff --git a/packages/vitest/src/node/logger.ts b/packages/vitest/src/node/logger.ts index be6df9eceabf..eb6586940976 100644 --- a/packages/vitest/src/node/logger.ts +++ b/packages/vitest/src/node/logger.ts @@ -166,7 +166,9 @@ export class Logger { const name = project.getName() const output = project.isCore() ? '' : ` [${name}]` - this.log(c.dim(c.green(` ${output} Browser runner started at http://${project.config.browser.api?.host || 'localhost'}:${c.bold(`${project.browser.config.server.port}`)}`))) + const resolvedUrls = project.browser.resolvedUrls + const origin = resolvedUrls?.local[0] ?? resolvedUrls?.network[0] + this.log(c.dim(c.green(` ${output} Browser runner started at ${new URL('/', origin)}`))) }) if (this.ctx.config.ui) diff --git a/packages/vitest/src/node/pools/browser.ts b/packages/vitest/src/node/pools/browser.ts index fdbaa08f8af4..f3874ad5d61b 100644 --- a/packages/vitest/src/node/pools/browser.ts +++ b/packages/vitest/src/node/pools/browser.ts @@ -38,7 +38,8 @@ export function createBrowserPool(ctx: Vitest): ProcessPool { const provider = project.browserProvider! providers.add(provider) - const origin = `http://${ctx.config.browser.api?.host || 'localhost'}:${project.browser!.config.server.port}` + const resolvedUrls = project.browser?.resolvedUrls + const origin = resolvedUrls?.local[0] ?? resolvedUrls?.network[0] const paths = files.map(file => relative(project.config.root, file)) if (project.config.browser.isolate) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 909396663e6a..23bf5a21ad9e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1482,6 +1482,9 @@ importers: test/browser: devDependencies: + '@vitejs/plugin-basic-ssl': + specifier: ^1.0.2 + version: 1.0.2(vite@5.0.2) '@vitest/browser': specifier: workspace:* version: link:../../packages/browser @@ -10231,6 +10234,15 @@ packages: vite-plugin-pwa: 0.16.7(vite@5.0.2)(workbox-build@7.0.0)(workbox-window@7.0.0) dev: true + /@vitejs/plugin-basic-ssl@1.0.2(vite@5.0.2): + resolution: {integrity: sha512-DKHKVtpI+eA5fvObVgQ3QtTGU70CcCnedalzqmGSR050AzKZMdUzgC8KmlOneHWH8dF2hJ3wkC9+8FDVAaDRCw==} + engines: {node: '>=14.6.0'} + peerDependencies: + vite: ^5.0.0 + dependencies: + vite: 5.0.2(@types/node@18.18.9)(less@4.1.3) + dev: true + /@vitejs/plugin-react@1.3.2: resolution: {integrity: sha512-aurBNmMo0kz1O4qRoY+FM4epSA39y3ShWGuqfLRA/3z0oEJAdtoSfgA3aO98/PCCHAqMaduLxIxErWrVKIFzXA==} engines: {node: '>=12.0.0'} diff --git a/test/browser/fixtures/server-url/basic.test.ts b/test/browser/fixtures/server-url/basic.test.ts new file mode 100644 index 000000000000..9bb0283e10c6 --- /dev/null +++ b/test/browser/fixtures/server-url/basic.test.ts @@ -0,0 +1,5 @@ +import { expect, test } from "vitest"; + +test("basic", () => { + expect(1).toBe(1); +}) diff --git a/test/browser/fixtures/server-url/vitest.config.ts b/test/browser/fixtures/server-url/vitest.config.ts new file mode 100644 index 000000000000..201a7553d3e6 --- /dev/null +++ b/test/browser/fixtures/server-url/vitest.config.ts @@ -0,0 +1,26 @@ +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import { defineConfig } from 'vitest/config' +import basicSsl from '@vitejs/plugin-basic-ssl' + +// test https by +// TEST_HTTPS=1 pnpm test-fixtures --root fixtures/server-url + +const provider = process.env.PROVIDER || 'webdriverio'; +const browser = process.env.BROWSER || (provider === 'playwright' ? 'chromium' : 'chrome'); + +export default defineConfig({ + plugins: [ + !!process.env.TEST_HTTPS && basicSsl(), + ], + test: { + browser: { + enabled: true, + provider, + name: browser, + }, + }, + // separate cacheDir from test/browser/vite.config.ts + // to prevent pre-bundling related flakiness on Webkit + cacheDir: path.join(path.dirname(fileURLToPath(import.meta.url)), "node_modules/.vite") +}) diff --git a/test/browser/package.json b/test/browser/package.json index 329c30e07863..c6eadd18a4bd 100644 --- a/test/browser/package.json +++ b/test/browser/package.json @@ -11,6 +11,7 @@ "coverage": "vitest --coverage.enabled --coverage.provider=istanbul --browser.headless=yes" }, "devDependencies": { + "@vitejs/plugin-basic-ssl": "^1.0.2", "@vitest/browser": "workspace:*", "@vitest/cjs-lib": "link:./cjs-lib", "execa": "^7.1.1", diff --git a/test/browser/specs/server-url.test.mjs b/test/browser/specs/server-url.test.mjs new file mode 100644 index 000000000000..d6413b6bfe2e --- /dev/null +++ b/test/browser/specs/server-url.test.mjs @@ -0,0 +1,27 @@ +import assert from 'node:assert' +import test from 'node:test' +import { execa } from 'execa' + +test('server-url http', async () => { + const result = await execa('npx', ['vitest', 'run', '--root=./fixtures/server-url', '--browser.headless'], { + env: { + CI: '1', + NO_COLOR: '1', + }, + }) + assert.match(result.stdout, /Browser runner started at http:\/\/localhost:5173\//) + assert.match(result.stdout, /Test Files {2}1 passed/) +}) + +// this test is skipped since browser warns self-signed https and it requires manual interaction. +// you can toggle "skip" to verify it locally. +test('server-url https', { skip: true }, async () => { + const result = await execa('npx', ['vitest', 'run', '--root=./fixtures/server-url'], { + env: { + NO_COLOR: '1', + TEST_HTTPS: '1', + }, + }) + assert.match(result.stdout, /Browser runner started at https:\/\/localhost:5173\//) + assert.match(result.stdout, /Test Files {2}1 passed/) +}) diff --git a/test/browser/tsconfig.json b/test/browser/tsconfig.json index c1bc047f4091..1b1263fab6c2 100644 --- a/test/browser/tsconfig.json +++ b/test/browser/tsconfig.json @@ -1,7 +1,8 @@ { "compilerOptions": { "rootDir": ".", - "module": "node16", + "module": "ESNext", + "moduleResolution": "Bundler", "paths": { "#src/*": ["./src/*"] }, From 39a7169c8adf2c1c7ceb7a09a40b14c40c780ac5 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 16 Jan 2024 21:53:39 +0900 Subject: [PATCH 4/7] fix(vitest): check color support for intercepted console logging (#4966) --- packages/vitest/src/runtime/console.ts | 4 +-- pnpm-lock.yaml | 3 ++ .../fixtures/console-color/basic.test.ts | 5 ++++ .../fixtures/console-color/vitest.config.ts | 3 ++ test/config/package.json | 3 +- test/config/test/console-color.test.ts | 28 +++++++++++++++++++ 6 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 test/config/fixtures/console-color/basic.test.ts create mode 100644 test/config/fixtures/console-color/vitest.config.ts create mode 100644 test/config/test/console-color.test.ts diff --git a/packages/vitest/src/runtime/console.ts b/packages/vitest/src/runtime/console.ts index d80d6e0ac19f..45f8a7b20718 100644 --- a/packages/vitest/src/runtime/console.ts +++ b/packages/vitest/src/runtime/console.ts @@ -1,7 +1,7 @@ import { Writable } from 'node:stream' import { Console } from 'node:console' import { relative } from 'node:path' -import { getSafeTimers } from '@vitest/utils' +import { getColors, getSafeTimers } from '@vitest/utils' import { RealDate } from '../integrations/mock/date' import type { WorkerGlobalState } from '../types' @@ -128,7 +128,7 @@ export function createCustomConsole(state: WorkerGlobalState) { return new Console({ stdout, stderr, - colorMode: true, + colorMode: getColors().isColorSupported, groupIndentation: 2, }) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23bf5a21ad9e..a9c368324222 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1557,6 +1557,9 @@ importers: test/config: devDependencies: + execa: + specifier: ^8.0.1 + version: 8.0.1 vite: specifier: ^5.0.0 version: 5.0.2(@types/node@18.18.9)(less@4.1.3) diff --git a/test/config/fixtures/console-color/basic.test.ts b/test/config/fixtures/console-color/basic.test.ts new file mode 100644 index 000000000000..bef8bc203b0f --- /dev/null +++ b/test/config/fixtures/console-color/basic.test.ts @@ -0,0 +1,5 @@ +import { test } from 'vitest' + +test("console color", () => { + console.log(true) // node console highlights primitive +}) diff --git a/test/config/fixtures/console-color/vitest.config.ts b/test/config/fixtures/console-color/vitest.config.ts new file mode 100644 index 000000000000..abed6b2116e1 --- /dev/null +++ b/test/config/fixtures/console-color/vitest.config.ts @@ -0,0 +1,3 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({}) diff --git a/test/config/package.json b/test/config/package.json index 598c81fc3ec0..4eb3d9bdd328 100644 --- a/test/config/package.json +++ b/test/config/package.json @@ -3,9 +3,10 @@ "type": "module", "private": true, "scripts": { - "test": "vitest run --typecheck.enabled" + "test": "vitest --typecheck.enabled" }, "devDependencies": { + "execa": "^8.0.1", "vite": "latest", "vitest": "workspace:*" } diff --git a/test/config/test/console-color.test.ts b/test/config/test/console-color.test.ts new file mode 100644 index 000000000000..52aba7692e28 --- /dev/null +++ b/test/config/test/console-color.test.ts @@ -0,0 +1,28 @@ +import { expect, test } from 'vitest' +import { execa } from 'execa' + +// use "execa" directly since "runVitestCli" strips color + +test('with color', async () => { + const proc = await execa('vitest', ['run', '--root=./fixtures/console-color'], { + env: { + CI: '1', + FORCE_COLOR: '1', + NO_COLOR: undefined, + GITHUB_ACTIONS: undefined, + }, + }) + expect(proc.stdout).toContain('\n\x1B[33mtrue\x1B[39m\n') +}) + +test('without color', async () => { + const proc = await execa('vitest', ['run', '--root=./fixtures/console-color'], { + env: { + CI: '1', + FORCE_COLOR: undefined, + NO_COLOR: '1', + GITHUB_ACTIONS: undefined, + }, + }) + expect(proc.stdout).toContain('\ntrue\n') +}) From 9ae0121297d6c73536fa61a1d7b7a36f762779b2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:53:58 +0100 Subject: [PATCH 5/7] chore(deps): update dependency d3-graph-controller to ^3.0.4 (#4961) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/ui/package.json | 2 +- pnpm-lock.yaml | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/ui/package.json b/packages/ui/package.json index 0cad9772edb1..82da05a73c0a 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -76,7 +76,7 @@ "codemirror": "^5.65.16", "codemirror-theme-vars": "^0.1.2", "cypress": "^13.6.2", - "d3-graph-controller": "^3.0.2", + "d3-graph-controller": "^3.0.4", "floating-vue": "^2.0.0-y.0", "splitpanes": "^3.1.5", "unocss": "^0.57.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9c368324222..c5c70e5f991c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1178,8 +1178,8 @@ importers: specifier: ^13.6.2 version: 13.6.2 d3-graph-controller: - specifier: ^3.0.2 - version: 3.0.2 + specifier: ^3.0.4 + version: 3.0.4 floating-vue: specifier: ^2.0.0-y.0 version: 2.0.0-y.0(vue@3.3.8) @@ -2726,6 +2726,7 @@ packages: /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} + requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -11279,8 +11280,8 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true - /@yeger/debounce@2.0.2: - resolution: {integrity: sha512-B+z4Cmaf5dkfvjN4wTVhM8M40IFpz+KoMp80cCemiPH8XYL5nmogyfd2Kmf1cn/TC2RR601yFsZe1DV4GVbmuA==} + /@yeger/debounce@2.0.4: + resolution: {integrity: sha512-/ZZKulDHoptM7C7PeU2BKFt8tr+jER2PQB8jS25pzh881B5znnsU+76EgQYhChYmwp6h1VIMteE38jCENUPjcw==} dev: true /@zxing/text-encoding@0.9.0: @@ -13876,15 +13877,15 @@ packages: engines: {node: '>=12'} dev: false - /d3-graph-controller@3.0.2: - resolution: {integrity: sha512-R3RygK8AjFwQlyckcMC4SO7QxD9In4vIXBLBmbLoAGyw0glj6Cq0gEh7Nh2g5ENK47L+ODxNE4Jj1s1zoowZmA==} + /d3-graph-controller@3.0.4: + resolution: {integrity: sha512-GkMzNmBWrR6eQX3ADgqqoXkIUk7ESvXrI89xkMctiGuLGs+WXICtxSZTxn1S+EKt+eQcTh5YxsvLI2H+Hi3Eug==} dependencies: - '@yeger/debounce': 2.0.2 + '@yeger/debounce': 2.0.4 d3-drag: 3.0.0 d3-force: 3.0.0 d3-selection: 3.0.0 d3-zoom: 3.0.0 - vecti: 3.0.2 + vecti: 3.0.4 dev: true /d3-interpolate@3.0.1: @@ -26088,8 +26089,8 @@ packages: engines: {node: '>= 0.8'} dev: true - /vecti@3.0.2: - resolution: {integrity: sha512-rZk5CcFfbsAtB2dJlO5EW3FvDk5b/AEPE7LwPjur7na5hBDCklls0T4/0KDVIwNBs8CCS/c4I7jhyurQNai6Ig==} + /vecti@3.0.4: + resolution: {integrity: sha512-6QZPg/nmgSFaQocjTGVI3tM85pswgh/RrVJ5KbeOuQdM2QaUqsurL572xlkGFeTh+13bTuUBrmZqVml81r/myg==} dev: true /verror@1.10.0: From 39814357024e96b81546ec22d6aaf777b8db6cef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:54:25 +0100 Subject: [PATCH 6/7] chore(deps): update dependency @jridgewell/trace-mapping to ^0.3.21 (#4960) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/utils/package.json | 2 +- packages/vite-node/package.json | 2 +- pnpm-lock.yaml | 30 ++++++++++++++++++------------ 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/packages/utils/package.json b/packages/utils/package.json index 70b7857821af..5e9545f563d5 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,7 +68,7 @@ "pretty-format": "^29.7.0" }, "devDependencies": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.21", "@types/estree": "^1.0.5", "tinyhighlight": "^0.3.2" } diff --git a/packages/vite-node/package.json b/packages/vite-node/package.json index 015c97b5386a..9fd085722cab 100644 --- a/packages/vite-node/package.json +++ b/packages/vite-node/package.json @@ -90,7 +90,7 @@ "vite": "^5.0.0" }, "devDependencies": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.21", "@types/debug": "^4.1.12" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c5c70e5f991c..289d8b66ff2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1224,8 +1224,8 @@ importers: version: 29.7.0 devDependencies: '@jridgewell/trace-mapping': - specifier: ^0.3.20 - version: 0.3.20 + specifier: ^0.3.21 + version: 0.3.21 '@types/estree': specifier: ^1.0.5 version: 1.0.5 @@ -1252,8 +1252,8 @@ importers: version: 5.0.2(@types/node@18.18.9)(less@4.1.3) devDependencies: '@jridgewell/trace-mapping': - specifier: ^0.3.20 - version: 0.3.20 + specifier: ^0.3.21 + version: 0.3.21 '@types/debug': specifier: ^4.1.12 version: 4.1.12 @@ -2385,7 +2385,7 @@ packages: dependencies: '@babel/types': 7.23.3 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.21 jsesc: 2.5.2 dev: true @@ -2395,7 +2395,7 @@ packages: dependencies: '@babel/types': 7.23.3 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.21 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: @@ -6105,7 +6105,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.21 /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} @@ -6113,7 +6113,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.21 /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} @@ -6131,14 +6131,14 @@ packages: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.21 dev: true /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.21 dev: true /@jridgewell/sourcemap-codec@1.4.14: @@ -6159,6 +6159,12 @@ packages: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + /@jridgewell/trace-mapping@0.3.21: + resolution: {integrity: sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + /@jsdevtools/ez-spawn@3.0.4: resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} engines: {node: '>=10'} @@ -24951,7 +24957,7 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.21 esbuild: 0.18.20 jest-worker: 27.5.1 schema-utils: 3.1.1 @@ -24976,7 +24982,7 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.21 esbuild: 0.18.20 jest-worker: 27.5.1 schema-utils: 3.3.0 From 7d9f673e90d76ca750ca65bc0c5c90337e570f29 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Wed, 17 Jan 2024 18:22:51 +0900 Subject: [PATCH 7/7] chore(deps): update playwright (#4988) --- examples/playwright/package.json | 4 +- packages/browser/package.json | 4 +- pnpm-lock.yaml | 230 ++++++++++++++++++++++++------- test/ui/package.json | 2 +- 4 files changed, 189 insertions(+), 51 deletions(-) diff --git a/examples/playwright/package.json b/examples/playwright/package.json index 59bd2b84f73f..0da406407681 100644 --- a/examples/playwright/package.json +++ b/examples/playwright/package.json @@ -8,9 +8,9 @@ "test:ui": "vite build && vitest --ui" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.41.0", "@vitest/ui": "latest", - "playwright": "^1.39.0", + "playwright": "^1.41.0", "vite": "latest", "vitest": "latest" } diff --git a/packages/browser/package.json b/packages/browser/package.json index 49a4cb450f8a..5e4ef35b9316 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -77,8 +77,8 @@ "@vitest/ws-client": "workspace:*", "@wdio/protocols": "^8.22.0", "periscopic": "^4.0.2", - "playwright": "^1.40.1", - "playwright-core": "^1.40.1", + "playwright": "^1.41.0", + "playwright-core": "^1.41.0", "safaridriver": "^0.1.2", "vitest": "workspace:*", "webdriverio": "^8.22.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 289d8b66ff2c..2ea530937f4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -353,17 +353,17 @@ importers: examples/playwright: devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.41.0 + version: 1.41.0 '@vitest/ui': specifier: latest version: link:../../packages/ui playwright: - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.41.0 + version: 1.41.0 vite: specifier: ^5.0.0 - version: 5.0.2(@types/node@18.18.9)(less@4.1.3) + version: 5.0.2 vitest: specifier: workspace:* version: link:../../packages/vitest @@ -894,11 +894,11 @@ importers: specifier: ^4.0.2 version: 4.0.2 playwright: - specifier: ^1.40.1 - version: 1.40.1 + specifier: ^1.41.0 + version: 1.41.0 playwright-core: - specifier: ^1.40.1 - version: 1.40.1 + specifier: ^1.41.0 + version: 1.41.0 safaridriver: specifier: ^0.1.2 version: 0.1.2 @@ -907,7 +907,7 @@ importers: version: link:../vitest webdriverio: specifier: ^8.22.1 - version: 8.22.1(typescript@5.2.2) + version: 8.22.1 packages/coverage-istanbul: dependencies: @@ -1937,8 +1937,8 @@ importers: test/ui: devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.41.0 + version: 1.41.0 '@testing-library/dom': specifier: ^9.3.3 version: 9.3.3 @@ -6842,12 +6842,12 @@ packages: dev: true optional: true - /@playwright/test@1.39.0: - resolution: {integrity: sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==} + /@playwright/test@1.41.0: + resolution: {integrity: sha512-Grvzj841THwtpBOrfiHOeYTJQxDRnKofMSzCiV8XeyLWu3o89qftQ4BCKfkziJhSUQRd0utKhrddtIsiraIwmw==} engines: {node: '>=16'} hasBin: true dependencies: - playwright: 1.39.0 + playwright: 1.41.0 dev: true /@pmmmwh/react-refresh-webpack-plugin@0.5.7(react-refresh@0.11.0)(webpack@5.74.0): @@ -6962,6 +6962,27 @@ packages: - supports-color dev: true + /@puppeteer/browsers@1.4.6: + resolution: {integrity: sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==} + engines: {node: '>=16.3.0'} + hasBin: true + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + debug: 4.3.4 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.3.0 + tar-fs: 3.0.4 + unbzip2-stream: 1.4.3 + yargs: 17.7.1 + transitivePeerDependencies: + - supports-color + dev: true + /@puppeteer/browsers@1.4.6(typescript@5.2.2): resolution: {integrity: sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==} engines: {node: '>=16.3.0'} @@ -6989,8 +7010,8 @@ packages: engines: {node: '>=16.3.0'} hasBin: true dependencies: - debug: 4.3.4(supports-color@8.1.1) - extract-zip: 2.0.1(supports-color@8.1.1) + debug: 4.3.4 + extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.3.0 tar-fs: 3.0.4 @@ -9476,6 +9497,7 @@ packages: /@types/node@18.18.9: resolution: {integrity: sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==} + requiresBuild: true dependencies: undici-types: 5.26.5 @@ -9821,6 +9843,14 @@ packages: dev: true optional: true + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + requiresBuild: true + dependencies: + '@types/node': 18.18.9 + dev: true + optional: true + /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -11425,7 +11455,7 @@ packages: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} engines: {node: '>= 14'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -14063,6 +14093,18 @@ packages: ms: 2.1.3 supports-color: 8.1.1 + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -16057,6 +16099,20 @@ packages: parse-code-context: 1.0.0 dev: true + /extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + dependencies: + debug: 4.3.4 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + dev: true + /extract-zip@2.0.1(supports-color@8.1.1): resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -16872,7 +16928,7 @@ packages: dependencies: basic-ftp: 5.0.3 data-uri-to-buffer: 5.0.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -17640,7 +17696,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -17695,7 +17751,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -21396,7 +21452,7 @@ packages: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 get-uri: 6.0.1 http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 @@ -21801,34 +21857,18 @@ packages: mlly: 1.4.2 pathe: 1.1.1 - /playwright-core@1.39.0: - resolution: {integrity: sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==} - engines: {node: '>=16'} - hasBin: true - dev: true - - /playwright-core@1.40.1: - resolution: {integrity: sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==} - engines: {node: '>=16'} - hasBin: true - dev: true - - /playwright@1.39.0: - resolution: {integrity: sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==} + /playwright-core@1.41.0: + resolution: {integrity: sha512-UGKASUhXmvqm2Lxa1fNr8sFwAtqjpgBRr9jQ7XBI8Rn5uFiEowGUGwrruUQsVPIom4bk7Lt+oLGpXobnXzrBIw==} engines: {node: '>=16'} hasBin: true - dependencies: - playwright-core: 1.39.0 - optionalDependencies: - fsevents: 2.3.2 dev: true - /playwright@1.40.1: - resolution: {integrity: sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==} + /playwright@1.41.0: + resolution: {integrity: sha512-XOsfl5ZtAik/T9oek4V0jAypNlaCNzuKOwVhqhgYT3os6kH34PzbRb74F0VWcLYa5WFdnmxl7qyAHBXvPv7lqQ==} engines: {node: '>=16'} hasBin: true dependencies: - playwright-core: 1.40.1 + playwright-core: 1.41.0 optionalDependencies: fsevents: 2.3.2 dev: true @@ -22160,7 +22200,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 lru-cache: 7.18.3 @@ -22238,6 +22278,28 @@ packages: engines: {node: '>=6'} dev: true + /puppeteer-core@20.9.0: + resolution: {integrity: sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==} + engines: {node: '>=16.3.0'} + peerDependencies: + typescript: '>= 4.7.4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@puppeteer/browsers': 1.4.6 + chromium-bidi: 0.4.16(devtools-protocol@0.0.1147663) + cross-fetch: 4.0.0 + debug: 4.3.4 + devtools-protocol: 0.0.1147663 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + /puppeteer-core@20.9.0(typescript@5.2.2): resolution: {integrity: sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==} engines: {node: '>=16.3.0'} @@ -23950,7 +24012,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -26200,6 +26262,41 @@ packages: - supports-color dev: true + /vite@5.0.2: + resolution: {integrity: sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.5 + postcss: 8.4.31 + rollup: 4.4.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vite@5.0.2(@types/node@18.16.19): resolution: {integrity: sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==} engines: {node: ^18.0.0 || >=20.0.0} @@ -26582,7 +26679,7 @@ packages: dependencies: chalk: 4.1.2 commander: 9.5.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -26703,6 +26800,47 @@ packages: - utf-8-validate dev: true + /webdriverio@8.22.1: + resolution: {integrity: sha512-SFqCKM93DPZU5Vn2r9OMi5EFbJHmWnIf8KXZvdzVOkGzQxFDtJ8LDgzwH1/LZxjG9nO+D7y+4wyQl7V24b8L+Q==} + engines: {node: ^16.13 || >=18} + peerDependencies: + devtools: ^8.14.0 + peerDependenciesMeta: + devtools: + optional: true + dependencies: + '@types/node': 20.9.4 + '@wdio/config': 8.22.1 + '@wdio/logger': 8.16.17 + '@wdio/protocols': 8.22.0 + '@wdio/repl': 8.10.1 + '@wdio/types': 8.21.0 + '@wdio/utils': 8.22.0 + archiver: 6.0.1 + aria-query: 5.3.0 + css-shorthand-properties: 1.1.1 + css-value: 0.0.1 + devtools-protocol: 0.0.1213968 + grapheme-splitter: 1.0.4 + import-meta-resolve: 3.0.0 + is-plain-obj: 4.1.0 + lodash.clonedeep: 4.5.0 + lodash.zip: 4.2.0 + minimatch: 9.0.3 + puppeteer-core: 20.9.0 + query-selector-shadow-dom: 1.0.1 + resq: 1.11.0 + rgb2hex: 0.2.5 + serialize-error: 11.0.2 + webdriver: 8.22.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + /webdriverio@8.22.1(typescript@5.2.2): resolution: {integrity: sha512-SFqCKM93DPZU5Vn2r9OMi5EFbJHmWnIf8KXZvdzVOkGzQxFDtJ8LDgzwH1/LZxjG9nO+D7y+4wyQl7V24b8L+Q==} engines: {node: ^16.13 || >=18} diff --git a/test/ui/package.json b/test/ui/package.json index 4da03349c435..d1343c867d86 100644 --- a/test/ui/package.json +++ b/test/ui/package.json @@ -7,7 +7,7 @@ "test-fixtures": "vitest" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.41.0", "@testing-library/dom": "^9.3.3", "happy-dom": "latest", "vitest": "workspace:*"