From 52182294c7a2174773283134af02bb4da5aef643 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 02:53:38 +0000 Subject: [PATCH 1/5] test: add vitest.config.ts and update test setup for vitest 4 compatibility - Create separate vitest.config.ts with globals, jsdom environment, and setup file - Move test config out of vite.config.ts to avoid conflicts with production build - Import @vitest/web-worker in setup to register Worker in test environment Co-Authored-By: Patrick Kaeding --- sdk/highlight-run/src/__tests__/setup.ts | 1 + sdk/highlight-run/vite.config.ts | 3 --- sdk/highlight-run/vitest.config.ts | 10 ++++++++++ 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 sdk/highlight-run/vitest.config.ts diff --git a/sdk/highlight-run/src/__tests__/setup.ts b/sdk/highlight-run/src/__tests__/setup.ts index 727432dc07..49ebee13f4 100644 --- a/sdk/highlight-run/src/__tests__/setup.ts +++ b/sdk/highlight-run/src/__tests__/setup.ts @@ -1,4 +1,5 @@ import { vi } from 'vitest' +import '@vitest/web-worker' import 'vitest-canvas-mock' vi.mock('import.meta.env.REACT_APP_PUBLIC_GRAPH_URI', () => ({ diff --git a/sdk/highlight-run/vite.config.ts b/sdk/highlight-run/vite.config.ts index 8b19310950..21304dd4cd 100644 --- a/sdk/highlight-run/vite.config.ts +++ b/sdk/highlight-run/vite.config.ts @@ -73,7 +73,4 @@ export default defineConfig({ cache: false, }, }, - test: { - environment: 'jsdom', - }, }) diff --git a/sdk/highlight-run/vitest.config.ts b/sdk/highlight-run/vitest.config.ts new file mode 100644 index 0000000000..b56fd11bd5 --- /dev/null +++ b/sdk/highlight-run/vitest.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + globals: true, + environment: 'jsdom', + include: ['src/**/*.test.{ts,tsx}'], + setupFiles: ['src/__tests__/setup.ts'], + }, +}) From 9723f1b96f7bba63198556e333814a888d4c218a Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 02:53:44 +0000 Subject: [PATCH 2/5] chore: upgrade highlight-run vitest to 4.1.0+ (GHSA-5xrq-8626-4rwp) - Upgrade vitest from ^1.6.1 to ^4.1.0 (patches path traversal vuln) - Upgrade @vitest/coverage-v8 and @vitest/web-worker to ^4.1.0 - Add vite 6 for vitest 4 compatibility, keep vite5 alias for production builds - Update build scripts to use vite5 binary for production builds Co-Authored-By: Patrick Kaeding --- sdk/highlight-run/package.json | 17 ++-- yarn.lock | 156 ++++++++++++++++++--------------- 2 files changed, 95 insertions(+), 78 deletions(-) diff --git a/sdk/highlight-run/package.json b/sdk/highlight-run/package.json index 57878a8436..69bdcde136 100644 --- a/sdk/highlight-run/package.json +++ b/sdk/highlight-run/package.json @@ -23,9 +23,9 @@ "url": "https://github.com/launchdarkly/observability-sdk.git" }, "scripts": { - "build": "yarn build:umd && vite build", - "build:umd": "FORMAT=umd vite build", - "build:watch": "vite build --watch", + "build": "yarn build:umd && node ./node_modules/vite5/bin/vite.js build", + "build:umd": "FORMAT=umd node ./node_modules/vite5/bin/vite.js build", + "build:watch": "node ./node_modules/vite5/bin/vite.js build --watch", "codegen": "graphql-codegen --config codegen.yml", "dev": "run-p dev:server dev:watch", "dev:server": "vite dev", @@ -33,7 +33,7 @@ "enforce-size": "size-limit", "test": "vitest --run", "test:watch": "vitest", - "typegen": "yarn typegen:check && FORMAT=d.ts vite build", + "typegen": "yarn typegen:check && FORMAT=d.ts node ./node_modules/vite5/bin/vite.js build", "typegen:check": "tsc --noEmit", "docs": "typedoc" }, @@ -114,8 +114,8 @@ "@types/js-cookie": "^3.0.6", "@types/json-stringify-safe": "^5.0.3", "@types/node": "^16.3.1", - "@vitest/coverage-v8": "^1.6.1", - "@vitest/web-worker": "^1.6.1", + "@vitest/coverage-v8": "^4.1.0", + "@vitest/web-worker": "^4.1.0", "error-stack-parser": "2.0.6", "fflate": "^0.8.1", "graphql": "^16.8.1", @@ -131,9 +131,10 @@ "tslib": "^2.6.2", "typedoc": "^0.28.4", "typescript": "^5.0.4", - "vite": "^5.4.21", + "vite": "^6.4.3", "vite-plugin-dts": "^4.5.3", - "vitest": "^1.6.1", + "vite5": "npm:vite@^5.4.21", + "vitest": "^4.1.0", "vitest-canvas-mock": "^0.3.3", "web-vitals": "^3.5.0", "zone.js": "^0.15.0" diff --git a/yarn.lock b/yarn.lock index 904f1fefbe..5e0738c250 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1252,7 +1252,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.7, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0, @babel/parser@npm:^7.29.2": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.7, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0, @babel/parser@npm:^7.29.2, @babel/parser@npm:^7.29.3": version: 7.29.7 resolution: "@babel/parser@npm:7.29.7" dependencies: @@ -2681,7 +2681,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.13, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.29.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.13, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.29.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.29.7 resolution: "@babel/types@npm:7.29.7" dependencies: @@ -2698,6 +2698,13 @@ __metadata: languageName: node linkType: hard +"@bcoe/v8-coverage@npm:^1.0.2": + version: 1.0.2 + resolution: "@bcoe/v8-coverage@npm:1.0.2" + checksum: 10/46600b2dde460269b07a8e4f12b72e418eae1337b85c979f43af3336c9a1c65b04e42508ab6b245f1e0e3c64328e1c38d8cd733e4a7cebc4fbf9cf65c6e59937 + languageName: node + linkType: hard + "@borewit/text-codec@npm:^0.2.1": version: 0.2.1 resolution: "@borewit/text-codec@npm:0.2.1" @@ -9020,7 +9027,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.31, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.31 resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: @@ -18215,26 +18222,27 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^1.6.1": - version: 1.6.1 - resolution: "@vitest/coverage-v8@npm:1.6.1" +"@vitest/coverage-v8@npm:^4.1.0": + version: 4.1.8 + resolution: "@vitest/coverage-v8@npm:4.1.8" dependencies: - "@ampproject/remapping": "npm:^2.2.1" - "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.4" + "@bcoe/v8-coverage": "npm:^1.0.2" + "@vitest/utils": "npm:4.1.8" + ast-v8-to-istanbul: "npm:^1.0.0" istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^5.0.4" - istanbul-reports: "npm:^3.1.6" - magic-string: "npm:^0.30.5" - magicast: "npm:^0.3.3" - picocolors: "npm:^1.0.0" - std-env: "npm:^3.5.0" - strip-literal: "npm:^2.0.0" - test-exclude: "npm:^6.0.0" + istanbul-reports: "npm:^3.2.0" + magicast: "npm:^0.5.2" + obug: "npm:^2.1.1" + std-env: "npm:^4.0.0-rc.1" + tinyrainbow: "npm:^3.1.0" peerDependencies: - vitest: 1.6.1 - checksum: 10/031f3ab712026d7a03b4785f070a391e386479f9fb64898d5e988aee64868206b53309acbe3c791b983dcc01adabd970a0f8da1c1e23b3f3908615ab8642ce51 + "@vitest/browser": 4.1.8 + vitest: 4.1.8 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10/08d9ea65ca4cc007a1f1cdc85ea36d51bfa91a9b2f0e9ad27436b777629b4138e33dba2f68c8e68b01343310bf9d5624ad1d6d24553a5b289b66da51561259eb languageName: node linkType: hard @@ -18374,14 +18382,14 @@ __metadata: languageName: node linkType: hard -"@vitest/web-worker@npm:^1.6.1": - version: 1.6.1 - resolution: "@vitest/web-worker@npm:1.6.1" +"@vitest/web-worker@npm:^4.1.0": + version: 4.1.8 + resolution: "@vitest/web-worker@npm:4.1.8" dependencies: - debug: "npm:^4.3.4" + obug: "npm:^2.1.1" peerDependencies: - vitest: ^1.0.0 - checksum: 10/6bc36bad3dca6d92547883563738c621eae8212e0b3b311bda3be679616c95557f902e6044fc6e0e230b9d0d41e40e8f35d4bb83f17a0199b7728cba19a1880b + vitest: 4.1.8 + checksum: 10/629666d14350d2d663b973200e688ace6ca9bca9b31454a6f3480722412f83c3546f5e201aa8387769273b5327abdad3dfba5e73525fe772dbf7bb7e2d7116da languageName: node linkType: hard @@ -19875,6 +19883,17 @@ __metadata: languageName: node linkType: hard +"ast-v8-to-istanbul@npm:^1.0.0": + version: 1.0.3 + resolution: "ast-v8-to-istanbul@npm:1.0.3" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.31" + estree-walker: "npm:^3.0.3" + js-tokens: "npm:^10.0.0" + checksum: 10/7b9079a87d311f4a4dd13c6a3bd2cc76c70b094ab7a8359eaf8314bf8a5841b38db0ea26f12ae5ee08abf0654fc46778db6562c1e8ff6145739ba659ee139744 + languageName: node + linkType: hard + "astral-regex@npm:^1.0.0": version: 1.0.0 resolution: "astral-regex@npm:1.0.0" @@ -28946,8 +28965,8 @@ __metadata: "@types/js-cookie": "npm:^3.0.6" "@types/json-stringify-safe": "npm:^5.0.3" "@types/node": "npm:^16.3.1" - "@vitest/coverage-v8": "npm:^1.6.1" - "@vitest/web-worker": "npm:^1.6.1" + "@vitest/coverage-v8": "npm:^4.1.0" + "@vitest/web-worker": "npm:^4.1.0" error-stack-parser: "npm:2.0.6" fflate: "npm:^0.8.1" graphql: "npm:^16.8.1" @@ -28964,9 +28983,10 @@ __metadata: tslib: "npm:^2.6.2" typedoc: "npm:^0.28.4" typescript: "npm:^5.0.4" - vite: "npm:^5.4.21" + vite: "npm:^6.4.3" vite-plugin-dts: "npm:^4.5.3" - vitest: "npm:^1.6.1" + vite5: "npm:vite@^5.4.21" + vitest: "npm:^4.1.0" vitest-canvas-mock: "npm:^0.3.3" web-vitals: "npm:^3.5.0" zone.js: "npm:^0.15.0" @@ -30774,18 +30794,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-source-maps@npm:^5.0.4": - version: 5.0.6 - resolution: "istanbul-lib-source-maps@npm:5.0.6" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.23" - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - checksum: 10/569dd0a392ee3464b1fe1accbaef5cc26de3479eacb5b91d8c67ebb7b425d39fd02247d85649c3a0e9c29b600809fa60b5af5a281a75a89c01f385b1e24823a2 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.0.5, istanbul-reports@npm:^3.1.3, istanbul-reports@npm:^3.1.6": +"istanbul-reports@npm:^3.0.5, istanbul-reports@npm:^3.1.3, istanbul-reports@npm:^3.2.0": version: 3.2.0 resolution: "istanbul-reports@npm:3.2.0" dependencies: @@ -32027,6 +32036,13 @@ __metadata: languageName: node linkType: hard +"js-tokens@npm:^10.0.0": + version: 10.0.0 + resolution: "js-tokens@npm:10.0.0" + checksum: 10/88f536ec89f076fc230d29df255b3c55531237669d746d1868fca716b1e3f5f2e4abf8e5b8701903216e3f00d2dc3918d078b35da87772d433ab6a513c3bf76d + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -34175,14 +34191,14 @@ __metadata: languageName: node linkType: hard -"magicast@npm:^0.3.3": - version: 0.3.5 - resolution: "magicast@npm:0.3.5" +"magicast@npm:^0.5.2": + version: 0.5.3 + resolution: "magicast@npm:0.5.3" dependencies: - "@babel/parser": "npm:^7.25.4" - "@babel/types": "npm:^7.25.4" - source-map-js: "npm:^1.2.0" - checksum: 10/3a2dba6b0bdde957797361d09c7931ebdc1b30231705360eeb40ed458d28e1c3112841c3ed4e1b87ceb28f741e333c7673cd961193aa9fdb4f4946b202e6205a + "@babel/parser": "npm:^7.29.3" + "@babel/types": "npm:^7.29.0" + source-map-js: "npm:^1.2.1" + checksum: 10/436ad518726b691cf9ac1a14ab14705784f28075892a092b06e8b17ac7303fe57e8a2789989c68b560653a909a8df49d1582bb73f9bdad4bcbab892201251049 languageName: node linkType: hard @@ -47205,19 +47221,20 @@ __metadata: languageName: node linkType: hard -"vite@npm:^3.0.0 || ^4.0.0, vite@npm:^4.1.4": - version: 4.5.14 - resolution: "vite@npm:4.5.14" +"vite5@npm:vite@^5.4.21, vite@npm:^5.0.0, vite@npm:^5.0.0 || ^4.1.4, vite@npm:^5.2.8, vite@npm:^5.3.1, vite@npm:^5.4.21": + version: 5.4.21 + resolution: "vite@npm:5.4.21" dependencies: - esbuild: "npm:^0.18.10" - fsevents: "npm:~2.3.2" - postcss: "npm:^8.4.27" - rollup: "npm:^3.27.1" + esbuild: "npm:^0.21.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.43" + rollup: "npm:^4.20.0" peerDependencies: - "@types/node": ">= 14" + "@types/node": ^18.0.0 || >=20.0.0 less: "*" lightningcss: ^1.21.0 sass: "*" + sass-embedded: "*" stylus: "*" sugarss: "*" terser: ^5.4.0 @@ -47233,6 +47250,8 @@ __metadata: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: @@ -47241,24 +47260,23 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10/316a02f0d310511241fae15e6085c9f7285e87b7a75b7b04216925e72ec17107ae6f666181c79c711f6008fdaa8a0b4510280c68ce0bfab436ebea2470783d0a + checksum: 10/479a63e271d2d9e80a8e553e165444179681f33ddec1e7c84a43c4572f67c3d3abd33136389beb42703e32d3e96e1e8a930a222ee1bb64263ba057c187ccf793 languageName: node linkType: hard -"vite@npm:^5.0.0, vite@npm:^5.0.0 || ^4.1.4, vite@npm:^5.2.8, vite@npm:^5.3.1, vite@npm:^5.4.21": - version: 5.4.21 - resolution: "vite@npm:5.4.21" +"vite@npm:^3.0.0 || ^4.0.0, vite@npm:^4.1.4": + version: 4.5.14 + resolution: "vite@npm:4.5.14" dependencies: - esbuild: "npm:^0.21.3" - fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.43" - rollup: "npm:^4.20.0" + esbuild: "npm:^0.18.10" + fsevents: "npm:~2.3.2" + postcss: "npm:^8.4.27" + rollup: "npm:^3.27.1" peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 + "@types/node": ">= 14" less: "*" lightningcss: ^1.21.0 sass: "*" - sass-embedded: "*" stylus: "*" sugarss: "*" terser: ^5.4.0 @@ -47274,8 +47292,6 @@ __metadata: optional: true sass: optional: true - sass-embedded: - optional: true stylus: optional: true sugarss: @@ -47284,7 +47300,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10/479a63e271d2d9e80a8e553e165444179681f33ddec1e7c84a43c4572f67c3d3abd33136389beb42703e32d3e96e1e8a930a222ee1bb64263ba057c187ccf793 + checksum: 10/316a02f0d310511241fae15e6085c9f7285e87b7a75b7b04216925e72ec17107ae6f666181c79c711f6008fdaa8a0b4510280c68ce0bfab436ebea2470783d0a languageName: node linkType: hard @@ -47478,7 +47494,7 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^1.4.0, vitest@npm:^1.6.1": +"vitest@npm:^1.4.0": version: 1.6.1 resolution: "vitest@npm:1.6.1" dependencies: From 82e134fc13f6c8ceeec95de8299fa9043cc6805b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 03:16:30 +0000 Subject: [PATCH 3/5] test: fix flaky worker test with vitest 4 module runner The 'processes messages sent after Reset' test has a race condition with vitest 4's @vitest/web-worker where the worker module loading is non-deterministic after repeated vi.resetModules() calls. Add retry: 2 to vitest config and increase vi.waitFor timeout for the affected test. Co-Authored-By: Patrick Kaeding --- .../workers/highlight-client-worker.test.ts | 21 ++++++++++++------- sdk/highlight-run/vitest.config.ts | 1 + 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/sdk/highlight-run/src/client/workers/highlight-client-worker.test.ts b/sdk/highlight-run/src/client/workers/highlight-client-worker.test.ts index 70d57870e0..0b97857e3a 100644 --- a/sdk/highlight-run/src/client/workers/highlight-client-worker.test.ts +++ b/sdk/highlight-run/src/client/workers/highlight-client-worker.test.ts @@ -300,20 +300,25 @@ describe('highlight-client-worker', () => { // Initialize worker.postMessage(createInitializeMessage()) - // Wait for after-reset message to be processed - await vi.waitFor(() => { - const afterResetEvent = getCustomEventResponses(responses).find( - (e) => e.payload?.includes('after-reset'), - ) - expect(afterResetEvent).toBeDefined() - }) + // Wait for after-reset message to be processed (use longer timeout + // because worker module loading may be slower after repeated resets) + await vi.waitFor( + () => { + const afterResetEvent = + getCustomEventResponses(responses).find((e) => + e.payload?.includes('after-reset'), + ) + expect(afterResetEvent).toBeDefined() + }, + { timeout: 10000 }, + ) // Verify before-reset message was NOT processed const beforeResetEvent = getCustomEventResponses(responses).find( (e) => e.payload?.includes('before-reset'), ) expect(beforeResetEvent).toBeUndefined() - }) + }, 15000) it('queues messages sent after Reset but before new Initialize', async () => { const responses = createResponseCollector(worker) diff --git a/sdk/highlight-run/vitest.config.ts b/sdk/highlight-run/vitest.config.ts index b56fd11bd5..0772e37b0c 100644 --- a/sdk/highlight-run/vitest.config.ts +++ b/sdk/highlight-run/vitest.config.ts @@ -6,5 +6,6 @@ export default defineConfig({ environment: 'jsdom', include: ['src/**/*.test.{ts,tsx}'], setupFiles: ['src/__tests__/setup.ts'], + retry: 2, }, }) From d4279b14a29cbfb60cabbd5a575332f6ccb8b2e7 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 03:25:41 +0000 Subject: [PATCH 4/5] style: fix prettier formatting in worker test Co-Authored-By: Patrick Kaeding --- .../src/client/workers/highlight-client-worker.test.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sdk/highlight-run/src/client/workers/highlight-client-worker.test.ts b/sdk/highlight-run/src/client/workers/highlight-client-worker.test.ts index 0b97857e3a..f96dade0d2 100644 --- a/sdk/highlight-run/src/client/workers/highlight-client-worker.test.ts +++ b/sdk/highlight-run/src/client/workers/highlight-client-worker.test.ts @@ -304,10 +304,9 @@ describe('highlight-client-worker', () => { // because worker module loading may be slower after repeated resets) await vi.waitFor( () => { - const afterResetEvent = - getCustomEventResponses(responses).find((e) => - e.payload?.includes('after-reset'), - ) + const afterResetEvent = getCustomEventResponses( + responses, + ).find((e) => e.payload?.includes('after-reset')) expect(afterResetEvent).toBeDefined() }, { timeout: 10000 }, From 9703f6e9deec886dedba108740d125350e5ce565 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 15:54:03 +0000 Subject: [PATCH 5/5] chore: update rrweb submodule and add workspace vitest resolution Update rrweb submodule to include vitest 4.1.0+ upgrade and CI fixes. Add workspace-level vitest resolution to force all vitest instances to ^4.1.0, remediating GHSA-5xrq-8626-4rwp across the entire monorepo including the rrweb submodule. Co-Authored-By: Patrick Kaeding --- package.json | 7 +- rrweb | 2 +- yarn.lock | 250 +++------------------------------------------------ 3 files changed, 19 insertions(+), 240 deletions(-) diff --git a/package.json b/package.json index 0afffd0f61..8f274d80dc 100644 --- a/package.json +++ b/package.json @@ -209,7 +209,12 @@ "@opentelemetry/auto-instrumentations-node@^0.62.0": "^0.75.0", "@opentelemetry/sdk-node@^0.203.0": "^0.217.0", "turbo-stream": "^3.0.0", - "@remix-run/server-runtime": "^2.17.5" + "@remix-run/server-runtime": "^2.17.5", + "vitest": "^4.1.0", + "vitest@^1": "^4.1.0", + "vitest@^1.4.0": "^4.1.0", + "vitest@^4": "^4.1.0", + "vitest@^4.1.0": "^4.1.0" }, "dependenciesMeta": { "puppeteer@9.1.1": { diff --git a/rrweb b/rrweb index 5221048def..238fb28dd0 160000 --- a/rrweb +++ b/rrweb @@ -1 +1 @@ -Subproject commit 5221048def653b4ef915f1295e39277640e78168 +Subproject commit 238fb28dd0c283ba6c22e5cbb976a5ad68f9492d diff --git a/yarn.lock b/yarn.lock index 5e0738c250..b11c41180f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7506,7 +7506,7 @@ __metadata: typescript: "npm:^5.4.5" vite: "npm:^5.3.1" vite-plugin-dts: "npm:^3.9.1" - vitest: "npm:^1.4.0" + vitest: "npm:^4.1.0" languageName: unknown linkType: soft @@ -7589,7 +7589,7 @@ __metadata: typescript: "npm:^5.4.5" vite: "npm:^5.3.1" vite-plugin-dts: "npm:^3.9.1" - vitest: "npm:^1.4.0" + vitest: "npm:^4.1.0" languageName: unknown linkType: soft @@ -7603,7 +7603,7 @@ __metadata: typescript: "npm:^5.4.5" vite: "npm:^5.3.1" vite-plugin-dts: "npm:^3.9.1" - vitest: "npm:^1.4.0" + vitest: "npm:^4.1.0" languageName: unknown linkType: soft @@ -7644,7 +7644,7 @@ __metadata: typescript: "npm:^5.4.5" vite: "npm:^5.3.1" vite-plugin-dts: "npm:^3.9.1" - vitest: "npm:^1.4.0" + vitest: "npm:^4.1.0" languageName: unknown linkType: soft @@ -7659,7 +7659,7 @@ __metadata: typescript: "npm:^5.4.5" vite: "npm:^5.3.1" vite-plugin-dts: "npm:^3.9.1" - vitest: "npm:^1.4.0" + vitest: "npm:^4.1.0" languageName: unknown linkType: soft @@ -7701,7 +7701,7 @@ __metadata: typescript: "npm:^5.4.5" vite: "npm:^5.3.1" vite-plugin-dts: "npm:^3.9.1" - vitest: "npm:^1.4.0" + vitest: "npm:^4.1.0" peerDependencies: "@highlight-run/rrweb": "workspace:*" "@highlight-run/rrweb-utils": "workspace:*" @@ -7769,7 +7769,7 @@ __metadata: typescript: "npm:^5.4.5" vite: "npm:^5.3.1" vite-plugin-dts: "npm:^3.9.1" - vitest: "npm:^1.4.0" + vitest: "npm:^4.1.0" languageName: unknown linkType: soft @@ -18246,17 +18246,6 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:1.6.1": - version: 1.6.1 - resolution: "@vitest/expect@npm:1.6.1" - dependencies: - "@vitest/spy": "npm:1.6.1" - "@vitest/utils": "npm:1.6.1" - chai: "npm:^4.3.10" - checksum: 10/8aa366cc629bba4170eadebf092de9f64b46592fde9455b070cb7616dcba54f03d479e5844da0ddadecbc19a4f781a0b0d72ab2275cfccca54fd51398ac1b5d5 - languageName: node - linkType: hard - "@vitest/expect@npm:4.1.8": version: 4.1.8 resolution: "@vitest/expect@npm:4.1.8" @@ -18299,17 +18288,6 @@ __metadata: languageName: node linkType: hard -"@vitest/runner@npm:1.6.1": - version: 1.6.1 - resolution: "@vitest/runner@npm:1.6.1" - dependencies: - "@vitest/utils": "npm:1.6.1" - p-limit: "npm:^5.0.0" - pathe: "npm:^1.1.1" - checksum: 10/b3ee2cb7b80108c48505f71e291b7a70c819dc4c704c77d44beb722d641c5ef8e6f623e95a0259a3d0e8178d1b3559f426d03f13a3500420d1c2b8802e0128c4 - languageName: node - linkType: hard - "@vitest/runner@npm:4.1.8": version: 4.1.8 resolution: "@vitest/runner@npm:4.1.8" @@ -18320,17 +18298,6 @@ __metadata: languageName: node linkType: hard -"@vitest/snapshot@npm:1.6.1": - version: 1.6.1 - resolution: "@vitest/snapshot@npm:1.6.1" - dependencies: - magic-string: "npm:^0.30.5" - pathe: "npm:^1.1.1" - pretty-format: "npm:^29.7.0" - checksum: 10/f78876503ac850ac3f0a0766133cd020d83c1e665711d4e4370f5f408051b8da7a6294882c549b00a90f03c4ca25b7c41893514a7d5f9f336e6a47ad533b4cb1 - languageName: node - linkType: hard - "@vitest/snapshot@npm:4.1.8": version: 4.1.8 resolution: "@vitest/snapshot@npm:4.1.8" @@ -18343,15 +18310,6 @@ __metadata: languageName: node linkType: hard -"@vitest/spy@npm:1.6.1": - version: 1.6.1 - resolution: "@vitest/spy@npm:1.6.1" - dependencies: - tinyspy: "npm:^2.2.0" - checksum: 10/55076c8dad8585c4d3923ec1e948e97746150d9d259a7b6045d8dd0e22babc631b22c31882c976c25b68cfbaf11d9d47fe0a77e68c3f1b8973b90c6b835becdb - languageName: node - linkType: hard - "@vitest/spy@npm:4.1.8": version: 4.1.8 resolution: "@vitest/spy@npm:4.1.8" @@ -18359,18 +18317,6 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:1.6.1": - version: 1.6.1 - resolution: "@vitest/utils@npm:1.6.1" - dependencies: - diff-sequences: "npm:^29.6.3" - estree-walker: "npm:^3.0.3" - loupe: "npm:^2.3.7" - pretty-format: "npm:^29.7.0" - checksum: 10/2aa8718c5e0705f28a8e94ac00055a48789b1badda79d3578d21241557195816508677ecd5f41fe355edb204e6f817124f059c4806102e040cc8890d8691ae9a - languageName: node - linkType: hard - "@vitest/utils@npm:4.1.8": version: 4.1.8 resolution: "@vitest/utils@npm:4.1.8" @@ -18939,7 +18885,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.3.2": +"acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": version: 8.3.5 resolution: "acorn-walk@npm:8.3.5" dependencies: @@ -19842,13 +19788,6 @@ __metadata: languageName: node linkType: hard -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10/fd9429d3a3d4fd61782eb3962ae76b6d08aa7383123fca0596020013b3ebd6647891a85b05ce821c47d1471ed1271f00b0545cf6a4326cf2fc91efcc3b0fbecf - languageName: node - linkType: hard - "ast-metadata-inferer@npm:^0.8.0": version: 0.8.0 resolution: "ast-metadata-inferer@npm:0.8.0" @@ -21452,21 +21391,6 @@ __metadata: languageName: node linkType: hard -"chai@npm:^4.3.10": - version: 4.5.0 - resolution: "chai@npm:4.5.0" - dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.1.0" - checksum: 10/cde341aee15b0a51559c7cfc20788dcfb4d586a498cfb93b937bb568fd45c777b73b1461274be6092b6bf868adb4e3a63f3fec13c89f7d8fb194f84c6fa42d5f - languageName: node - linkType: hard - "chai@npm:^6.2.2": version: 6.2.2 resolution: "chai@npm:6.2.2" @@ -21644,15 +21568,6 @@ __metadata: languageName: node linkType: hard -"check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10/e2131025cf059b21080f4813e55b3c480419256914601750b0fee3bd9b2b8315b531e551ef12560419b8b6d92a3636511322752b1ce905703239e7cc451b6399 - languageName: node - linkType: hard - "cheerio-select@npm:^2.1.0": version: 2.1.0 resolution: "cheerio-select@npm:2.1.0" @@ -23578,15 +23493,6 @@ __metadata: languageName: node linkType: hard -"deep-eql@npm:^4.1.3": - version: 4.1.4 - resolution: "deep-eql@npm:4.1.4" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10/f04f4d581f044a824a6322fe4f68fbee4d6780e93fc710cd9852cbc82bfc7010df00f0e05894b848abbe14dc3a25acac44f424e181ae64d12f2ab9d0a875a5ef - languageName: node - linkType: hard - "deep-equal@npm:^2.0.5": version: 2.2.0 resolution: "deep-equal@npm:2.2.0" @@ -27988,13 +27894,6 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10/3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b - languageName: node - linkType: hard - "get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": version: 1.3.0 resolution: "get-intrinsic@npm:1.3.0" @@ -32050,13 +31949,6 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^9.0.1": - version: 9.0.1 - resolution: "js-tokens@npm:9.0.1" - checksum: 10/3288ba73bb2023adf59501979fb4890feb6669cc167b13771b226814fde96a1583de3989249880e3f4d674040d1815685db9a9880db9153307480d39dc760365 - languageName: node - linkType: hard - "js-yaml@npm:4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -34007,15 +33899,6 @@ __metadata: languageName: node linkType: hard -"loupe@npm:^2.3.6, loupe@npm:^2.3.7": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10/635c8f0914c2ce7ecfe4e239fbaf0ce1d2c00e4246fafcc4ed000bfdb1b8f89d05db1a220054175cca631ebf3894872a26fffba0124477fcb562f78762848fb1 - languageName: node - linkType: hard - "lower-case-first@npm:^2.0.2": version: 2.0.2 resolution: "lower-case-first@npm:2.0.2" @@ -38504,7 +38387,7 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^1.1.0, pathe@npm:^1.1.1, pathe@npm:^1.1.2": +"pathe@npm:^1.1.0, pathe@npm:^1.1.2": version: 1.1.2 resolution: "pathe@npm:1.1.2" checksum: 10/f201d796351bf7433d147b92c20eb154a4e0ea83512017bf4ec4e492a5d6e738fb45798be4259a61aa81270179fce11026f6ff0d3fa04173041de044defe9d80 @@ -38518,13 +38401,6 @@ __metadata: languageName: node linkType: hard -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10/b50a4751068aa3a5428f5a0b480deecedc6f537666a3630a0c2ae2d5e7c0f4bf0ee77b48404441ec1220bef0c91625e6030b3d3cf5a32ab0d9764018d1d9dbb6 - languageName: node - linkType: hard - "peek-stream@npm:^1.1.0": version: 1.1.3 resolution: "peek-stream@npm:1.1.3" @@ -43787,13 +43663,6 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^3.5.0": - version: 3.10.0 - resolution: "std-env@npm:3.10.0" - checksum: 10/19c9cda4f370b1ffae2b8b08c72167d8c3e5cfa972aaf5c6873f85d0ed2faa729407f5abb194dc33380708c00315002febb6f1e1b484736bfcf9361ad366013a - languageName: node - linkType: hard - "std-env@npm:^4.0.0-rc.1": version: 4.1.0 resolution: "std-env@npm:4.1.0" @@ -44258,15 +44127,6 @@ __metadata: languageName: node linkType: hard -"strip-literal@npm:^2.0.0": - version: 2.1.1 - resolution: "strip-literal@npm:2.1.1" - dependencies: - js-tokens: "npm:^9.0.1" - checksum: 10/b4a1c93b0fe7b3ed2d197547f1b3f7bc20bd2c156b7474e4dbf4c9c80d2c612a862b00454dc9afc96ab1ea4f5653a5d0b530af052710f7730de55240e8fab2dc - languageName: node - linkType: hard - "strip-outer@npm:^1.0.0": version: 1.0.1 resolution: "strip-outer@npm:1.0.1" @@ -44983,7 +44843,7 @@ __metadata: languageName: node linkType: hard -"tinybench@npm:^2.5.1, tinybench@npm:^2.9.0": +"tinybench@npm:^2.9.0": version: 2.9.0 resolution: "tinybench@npm:2.9.0" checksum: 10/cfa1e1418e91289219501703c4693c70708c91ffb7f040fd318d24aef419fb5a43e0c0160df9471499191968b2451d8da7f8087b08c3133c251c40d24aced06c @@ -45024,13 +44884,6 @@ __metadata: languageName: node linkType: hard -"tinypool@npm:^0.8.3": - version: 0.8.4 - resolution: "tinypool@npm:0.8.4" - checksum: 10/7365944c2532f240111443e7012be31a634faf1a02db08a91db3aa07361c26a374d0be00a0f2ea052c4bee39c107ba67f1f814c108d9d51dfc725c559c1a9c03 - languageName: node - linkType: hard - "tinyrainbow@npm:^3.1.0": version: 3.1.0 resolution: "tinyrainbow@npm:3.1.0" @@ -45038,13 +44891,6 @@ __metadata: languageName: node linkType: hard -"tinyspy@npm:^2.2.0": - version: 2.2.1 - resolution: "tinyspy@npm:2.2.1" - checksum: 10/170d6232e87f9044f537b50b406a38fbfd6f79a261cd12b92879947bd340939a833a678632ce4f5c4a6feab4477e9c21cd43faac3b90b68b77dd0536c4149736 - languageName: node - linkType: hard - "title-case@npm:^3.0.3": version: 3.0.3 resolution: "title-case@npm:3.0.3" @@ -45832,13 +45678,6 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:^4.0.0, type-detect@npm:^4.1.0": - version: 4.1.0 - resolution: "type-detect@npm:4.1.0" - checksum: 10/e363bf0352427a79301f26a7795a27718624c49c576965076624eb5495d87515030b207217845f7018093adcbe169b2d119bb9b7f1a31a92bfbb1ab9639ca8dd - languageName: node - linkType: hard - "type-fest@npm:^0.13.1": version: 0.13.1 resolution: "type-fest@npm:0.13.1" @@ -47098,21 +46937,6 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:1.6.1": - version: 1.6.1 - resolution: "vite-node@npm:1.6.1" - dependencies: - cac: "npm:^6.7.14" - debug: "npm:^4.3.4" - pathe: "npm:^1.1.1" - picocolors: "npm:^1.0.0" - vite: "npm:^5.0.0" - bin: - vite-node: vite-node.mjs - checksum: 10/35f77a9efa38fae349e9c383780984deee185e0fdd107394ffe320586c9a896c59e9b098a9a9f96412adb293abf1a27671ca592b39013edadb9e0614aa817419 - languageName: node - linkType: hard - "vite-node@npm:^0.28.5": version: 0.28.5 resolution: "vite-node@npm:0.28.5" @@ -47221,7 +47045,7 @@ __metadata: languageName: node linkType: hard -"vite5@npm:vite@^5.4.21, vite@npm:^5.0.0, vite@npm:^5.0.0 || ^4.1.4, vite@npm:^5.2.8, vite@npm:^5.3.1, vite@npm:^5.4.21": +"vite5@npm:vite@^5.4.21, vite@npm:^5.0.0 || ^4.1.4, vite@npm:^5.2.8, vite@npm:^5.3.1, vite@npm:^5.4.21": version: 5.4.21 resolution: "vite@npm:5.4.21" dependencies: @@ -47494,56 +47318,6 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^1.4.0": - version: 1.6.1 - resolution: "vitest@npm:1.6.1" - dependencies: - "@vitest/expect": "npm:1.6.1" - "@vitest/runner": "npm:1.6.1" - "@vitest/snapshot": "npm:1.6.1" - "@vitest/spy": "npm:1.6.1" - "@vitest/utils": "npm:1.6.1" - acorn-walk: "npm:^8.3.2" - chai: "npm:^4.3.10" - debug: "npm:^4.3.4" - execa: "npm:^8.0.1" - local-pkg: "npm:^0.5.0" - magic-string: "npm:^0.30.5" - pathe: "npm:^1.1.1" - picocolors: "npm:^1.0.0" - std-env: "npm:^3.5.0" - strip-literal: "npm:^2.0.0" - tinybench: "npm:^2.5.1" - tinypool: "npm:^0.8.3" - vite: "npm:^5.0.0" - vite-node: "npm:1.6.1" - why-is-node-running: "npm:^2.2.2" - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.6.1 - "@vitest/ui": 1.6.1 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - bin: - vitest: vitest.mjs - checksum: 10/50d551be2cf6621d3844c42924595007befd73e10e9406e0fa08f1239e2c012d08f85b0a70d8656a11364a6a58930600c35a5ee00d8445071f0ab0afcacd085a - languageName: node - linkType: hard - "vitest@npm:^4.1.0": version: 4.1.8 resolution: "vitest@npm:4.1.8" @@ -48329,7 +48103,7 @@ __metadata: languageName: node linkType: hard -"why-is-node-running@npm:^2.2.2, why-is-node-running@npm:^2.3.0": +"why-is-node-running@npm:^2.3.0": version: 2.3.0 resolution: "why-is-node-running@npm:2.3.0" dependencies: