From b84d59438c6da18874234f400f1d6a854009e1cf Mon Sep 17 00:00:00 2001 From: 0xSelenicDove <140679517+0xSelenicDove@users.noreply.github.com> Date: Fri, 29 May 2026 19:07:58 +0800 Subject: [PATCH] fix(ci): upgrade playwright to ^1.60.0 to resolve install hang on node 24 (#1896) ### Description Upgrades Playwright from `^1.59.1` to `^1.60.0` across the monorepo workspace. ### Why is this needed? In clean CI environments using Node.js 24 (the current LTS), Playwright versions older than `1.60.0` hang indefinitely during the zip extraction phase of `playwright install chromium`. This is a known compatibility issue with Playwright's older extraction utility (`yauzl`) running on Node 24+. Playwright resolved this bug in version `1.60.0`. Upgrading ensures the CI test pipeline runs smoothly without hanging. ### Proposed Changes - Upgraded `"playwright"` to `^1.60.0` in: - Root `package.json` - `packages/vishot-runner-browser/package.json` - `packages/vishot-runner-electron/package.json` - `services/twitter-services/package.json` - Regenerated `pnpm-lock.yaml` via `pnpm install`. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- package.json | 2 +- packages/vishot-runner-browser/package.json | 2 +- packages/vishot-runner-electron/package.json | 2 +- pnpm-lock.yaml | 44 ++++++++++---------- services/twitter-services/package.json | 2 +- 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 9c2c26c47..589e25703 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "nano-staged": "catalog:", "oxc-minify": "catalog:", "oxlint": "^1.60.0", - "playwright": "^1.59.1", + "playwright": "^1.60.0", "posthog-js": "catalog:", "publint": "^0.3.18", "rollup": "^4.60.1", diff --git a/packages/vishot-runner-browser/package.json b/packages/vishot-runner-browser/package.json index bb51638cc..f47041a51 100644 --- a/packages/vishot-runner-browser/package.json +++ b/packages/vishot-runner-browser/package.json @@ -24,6 +24,6 @@ "devDependencies": { "@moeru/std": "catalog:", "meow": "catalog:", - "playwright": "^1.59.1" + "playwright": "^1.60.0" } } diff --git a/packages/vishot-runner-electron/package.json b/packages/vishot-runner-electron/package.json index 56fe9242c..68a0086ad 100644 --- a/packages/vishot-runner-electron/package.json +++ b/packages/vishot-runner-electron/package.json @@ -19,6 +19,6 @@ "@moeru/std": "catalog:", "@napi-rs/image": "catalog:", "meow": "catalog:", - "playwright": "^1.59.1" + "playwright": "^1.60.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 71bc3875d..caf8428c3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -474,7 +474,7 @@ importers: version: 66.6.8 '@vitest/browser-playwright': specifier: catalog:vitest - version: 4.1.4(bufferutil@4.1.0)(playwright@1.59.1)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4) + version: 4.1.4(bufferutil@4.1.0)(playwright@1.60.0)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4) '@vitest/coverage-v8': specifier: catalog:vitest version: 4.1.4(@vitest/browser@4.1.4)(vitest@4.1.4) @@ -500,8 +500,8 @@ importers: specifier: ^1.60.0 version: 1.60.0 playwright: - specifier: ^1.59.1 - version: 1.59.1 + specifier: ^1.60.0 + version: 1.60.0 posthog-js: specifier: 'catalog:' version: 1.306.1 @@ -3954,8 +3954,8 @@ importers: specifier: 'catalog:' version: 14.1.0 playwright: - specifier: ^1.59.1 - version: 1.59.1 + specifier: ^1.60.0 + version: 1.60.0 packages/vishot-runner-electron: devDependencies: @@ -3969,8 +3969,8 @@ importers: specifier: 'catalog:' version: 14.1.0 playwright: - specifier: ^1.59.1 - version: 1.59.1 + specifier: ^1.60.0 + version: 1.60.0 packages/vishot-runtime: dependencies: @@ -4534,8 +4534,8 @@ importers: specifier: 2.0.1-rc.20 version: 2.0.1-rc.20(crossws@0.4.5(srvx@0.11.15)) playwright: - specifier: ^1.59.1 - version: 1.59.1 + specifier: ^1.60.0 + version: 1.60.0 zod: specifier: ^4.3.6 version: 4.3.6 @@ -15671,13 +15671,13 @@ packages: platform@1.3.6: resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} - playwright-core@1.59.1: - resolution: {integrity: sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==} + playwright-core@1.60.0: + resolution: {integrity: sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==} engines: {node: '>=18'} hasBin: true - playwright@1.59.1: - resolution: {integrity: sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==} + playwright@1.60.0: + resolution: {integrity: sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==} engines: {node: '>=18'} hasBin: true @@ -24493,11 +24493,11 @@ snapshots: vite: 8.0.8(@types/node@25.6.0)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) vue: 3.5.32(typescript@5.9.3) - '@vitest/browser-playwright@4.1.4(bufferutil@4.1.0)(playwright@1.59.1)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4)': + '@vitest/browser-playwright@4.1.4(bufferutil@4.1.0)(playwright@1.60.0)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4)': dependencies: '@vitest/browser': 4.1.4(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4) '@vitest/mocker': 4.1.4(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) - playwright: 1.59.1 + playwright: 1.60.0 tinyrainbow: 3.1.0 vitest: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/browser-playwright@4.1.4)(@vitest/coverage-v8@4.1.4)(jsdom@29.1.1(@noble/hashes@2.0.1)(canvas@3.2.3))(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) transitivePeerDependencies: @@ -24506,11 +24506,11 @@ snapshots: - utf-8-validate - vite - '@vitest/browser-playwright@4.1.4(bufferutil@4.1.0)(playwright@1.59.1)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4)': + '@vitest/browser-playwright@4.1.4(bufferutil@4.1.0)(playwright@1.60.0)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4)': dependencies: '@vitest/browser': 4.1.4(bufferutil@4.1.0)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4) '@vitest/mocker': 4.1.4(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) - playwright: 1.59.1 + playwright: 1.60.0 tinyrainbow: 3.1.0 vitest: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@25.6.0)(@vitest/browser-playwright@4.1.4)(@vitest/coverage-v8@4.1.4)(jsdom@29.1.1(@noble/hashes@2.0.1)(canvas@3.2.3))(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) transitivePeerDependencies: @@ -30948,11 +30948,11 @@ snapshots: platform@1.3.6: {} - playwright-core@1.59.1: {} + playwright-core@1.60.0: {} - playwright@1.59.1: + playwright@1.60.0: dependencies: - playwright-core: 1.59.1 + playwright-core: 1.60.0 optionalDependencies: fsevents: 2.3.2 @@ -33826,7 +33826,7 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 24.12.2 - '@vitest/browser-playwright': 4.1.4(bufferutil@4.1.0)(playwright@1.59.1)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4) + '@vitest/browser-playwright': 4.1.4(bufferutil@4.1.0)(playwright@1.60.0)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@24.12.2)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4) '@vitest/coverage-v8': 4.1.4(@vitest/browser@4.1.4)(vitest@4.1.4) jsdom: 29.1.1(@noble/hashes@2.0.1)(canvas@3.2.3) transitivePeerDependencies: @@ -33857,7 +33857,7 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 25.6.0 - '@vitest/browser-playwright': 4.1.4(bufferutil@4.1.0)(playwright@1.59.1)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4) + '@vitest/browser-playwright': 4.1.4(bufferutil@4.1.0)(playwright@1.60.0)(utf-8-validate@5.0.10)(vite@8.0.8(@types/node@25.6.0)(esbuild@0.27.2)(jiti@2.6.1)(less@4.6.4)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vitest@4.1.4) '@vitest/coverage-v8': 4.1.4(@vitest/browser@4.1.4)(vitest@4.1.4) jsdom: 29.1.1(@noble/hashes@2.0.1)(canvas@3.2.3) transitivePeerDependencies: diff --git a/services/twitter-services/package.json b/services/twitter-services/package.json index be131394b..b1dee342d 100644 --- a/services/twitter-services/package.json +++ b/services/twitter-services/package.json @@ -17,7 +17,7 @@ "@moeru/std": "catalog:", "@proj-airi/server-sdk": "workspace:*", "h3": "2.0.1-rc.20", - "playwright": "^1.59.1", + "playwright": "^1.60.0", "zod": "^4.3.6" } }