From 82d5c05b9db3d89c8d7685ba2247db236eab4477 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 22 Jul 2025 16:00:52 +0900 Subject: [PATCH 1/7] feat(rsc): auto optimize `use-sync-external-store` in transitive deps --- .../plugin-rsc/examples/basic/package.json | 1 + .../basic/test-dep/deep-cjs/client.js | 24 +++++++++++++++++++ .../basic/test-dep/deep-cjs/package.json | 14 +++++++++++ pnpm-lock.yaml | 22 +++++++++++++++++ 4 files changed, 61 insertions(+) create mode 100644 packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js create mode 100644 packages/plugin-rsc/examples/basic/test-dep/deep-cjs/package.json diff --git a/packages/plugin-rsc/examples/basic/package.json b/packages/plugin-rsc/examples/basic/package.json index ff1648a7f..dab73ed98 100644 --- a/packages/plugin-rsc/examples/basic/package.json +++ b/packages/plugin-rsc/examples/basic/package.json @@ -21,6 +21,7 @@ "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@vitejs/plugin-react": "latest", + "@vitejs/test-dep-deep-cjs": "file:./test-dep/deep-cjs", "@vitejs/test-dep-client-in-server": "file:./test-dep/client-in-server", "@vitejs/test-dep-client-in-server2": "file:./test-dep/client-in-server2", "@vitejs/test-dep-server-in-client": "file:./test-dep/server-in-client", diff --git a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js b/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js new file mode 100644 index 000000000..cee69a073 --- /dev/null +++ b/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js @@ -0,0 +1,24 @@ +'use client' + +import React from 'react' +import { useSyncExternalStore } from 'use-sync-external-store' + +const h = React.createElement + +const noopStore = () => () => {} + +export function TestClient() { + const value = useSyncExternalStore( + noopStore, + () => 'ok:browser', + () => 'ok:ssr', + ) + + return h( + 'span', + { + 'data-testid': 'deep-cjs-client', + }, + value, + ) +} diff --git a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/package.json b/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/package.json new file mode 100644 index 000000000..1122462d2 --- /dev/null +++ b/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/package.json @@ -0,0 +1,14 @@ +{ + "name": "@vitejs/test-dep-deep-cjs", + "private": true, + "type": "module", + "exports": { + "./client": "./client.js" + }, + "dependencies": { + "use-sync-external-store": "^1.5.0" + }, + "peerDependencies": { + "react": "*" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7be516b19..884138a75 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -536,6 +536,9 @@ importers: '@vitejs/test-dep-client-in-server2': specifier: file:./test-dep/client-in-server2 version: file:packages/plugin-rsc/examples/basic/test-dep/client-in-server2(react@19.1.0) + '@vitejs/test-dep-deep-cjs': + specifier: file:./test-dep/deep-cjs + version: file:packages/plugin-rsc/examples/basic/test-dep/deep-cjs(react@19.1.0) '@vitejs/test-dep-server-in-client': specifier: file:./test-dep/server-in-client version: file:packages/plugin-rsc/examples/basic/test-dep/server-in-client(react@19.1.0) @@ -3073,6 +3076,11 @@ packages: peerDependencies: react: '*' + '@vitejs/test-dep-deep-cjs@file:packages/plugin-rsc/examples/basic/test-dep/deep-cjs': + resolution: {directory: packages/plugin-rsc/examples/basic/test-dep/deep-cjs, type: directory} + peerDependencies: + react: '*' + '@vitejs/test-dep-non-js@file:packages/plugin-react-swc/playground/ts-lib/test-dep/non-js': resolution: {directory: packages/plugin-react-swc/playground/ts-lib/test-dep/non-js, type: directory} peerDependencies: @@ -5527,6 +5535,11 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + use-sync-external-store@1.5.0: + resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -7621,6 +7634,11 @@ snapshots: dependencies: react: 19.1.0 + '@vitejs/test-dep-deep-cjs@file:packages/plugin-rsc/examples/basic/test-dep/deep-cjs(react@19.1.0)': + dependencies: + react: 19.1.0 + use-sync-external-store: 1.5.0(react@19.1.0) + '@vitejs/test-dep-non-js@file:packages/plugin-react-swc/playground/ts-lib/test-dep/non-js(react@19.1.0)': dependencies: react: 19.1.0 @@ -10417,6 +10435,10 @@ snapshots: dependencies: punycode: 2.3.1 + use-sync-external-store@1.5.0(react@19.1.0): + dependencies: + react: 19.1.0 + util-deprecate@1.0.2: {} valibot@0.41.0(typescript@5.8.3): From 3a155b852366bfd7637e432dfd7226fa3513000b Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 22 Jul 2025 16:27:10 +0900 Subject: [PATCH 2/7] feat(rsc): auto optimize `use-sync-external-store` --- .../basic/src/routes/deps/deep-cjs/client.tsx | 12 ++++++++ .../examples/basic/src/routes/root.tsx | 2 ++ .../basic/test-dep/deep-cjs/client.js | 4 ++- .../plugin-rsc/examples/basic/vite.config.ts | 28 +++++++++++++++---- 4 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 packages/plugin-rsc/examples/basic/src/routes/deps/deep-cjs/client.tsx diff --git a/packages/plugin-rsc/examples/basic/src/routes/deps/deep-cjs/client.tsx b/packages/plugin-rsc/examples/basic/src/routes/deps/deep-cjs/client.tsx new file mode 100644 index 000000000..fe3576449 --- /dev/null +++ b/packages/plugin-rsc/examples/basic/src/routes/deps/deep-cjs/client.tsx @@ -0,0 +1,12 @@ +'use client' + +// @ts-ignore +import { TestClient } from '@vitejs/test-dep-deep-cjs/client' + +export function TestDeepCjsClient() { + return ( +
+ [test-dep-deep-cjs-client: ] +
+ ) +} diff --git a/packages/plugin-rsc/examples/basic/src/routes/root.tsx b/packages/plugin-rsc/examples/basic/src/routes/root.tsx index 52ce38dee..bb9422a38 100644 --- a/packages/plugin-rsc/examples/basic/src/routes/root.tsx +++ b/packages/plugin-rsc/examples/basic/src/routes/root.tsx @@ -29,6 +29,7 @@ import { TestTemporaryReference } from './temporary-reference/client' import { TestUseCache } from './use-cache/server' import { TestHydrationMismatch } from './hydration-mismatch/server' import { TestBrowserOnly } from './browser-only/client' +import { TestDeepCjsClient } from './deps/deep-cjs/client' export function Root(props: { url: URL }) { return ( @@ -67,6 +68,7 @@ export function Root(props: { url: URL }) { + diff --git a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js b/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js index cee69a073..d9d05ca24 100644 --- a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js +++ b/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js @@ -1,7 +1,9 @@ 'use client' import React from 'react' -import { useSyncExternalStore } from 'use-sync-external-store' + +// same as https://github.com/vercel/swr/blob/063fe55dddb95f0b6c3f1637a935c43d732ded78/src/index/use-swr.ts#L3 +import { useSyncExternalStore } from 'use-sync-external-store/shim/index.js' const h = React.createElement diff --git a/packages/plugin-rsc/examples/basic/vite.config.ts b/packages/plugin-rsc/examples/basic/vite.config.ts index 97d0f30b8..42d33d568 100644 --- a/packages/plugin-rsc/examples/basic/vite.config.ts +++ b/packages/plugin-rsc/examples/basic/vite.config.ts @@ -135,12 +135,28 @@ export default { fetch: handler }; minify: false, manifest: true, }, - optimizeDeps: { - exclude: [ - '@vitejs/test-dep-client-in-server/client', - '@vitejs/test-dep-client-in-server2/client', - '@vitejs/test-dep-server-in-client/client', - ], + environments: { + client: { + optimizeDeps: { + entries: [ + './src/routes/**/client.tsx', + './src/framework/browser.entry.tsx', + ], + exclude: [ + '@vitejs/test-dep-client-in-server/client', + '@vitejs/test-dep-client-in-server2/client', + '@vitejs/test-dep-server-in-client/client', + ], + }, + }, + ssr: { + optimizeDeps: { + // TODO: this should be somehow auto inferred + include: [ + '@vitejs/test-dep-deep-cjs > use-sync-external-store/shim/index.js', + ], + }, + }, }, }) as any From 43b5f42c5e3c08398d255564b3e5854bd7081d64 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Wed, 23 Jul 2025 09:54:37 +0900 Subject: [PATCH 3/7] chore: comment --- packages/plugin-rsc/examples/basic/vite.config.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/plugin-rsc/examples/basic/vite.config.ts b/packages/plugin-rsc/examples/basic/vite.config.ts index 42d33d568..a4c0b7f24 100644 --- a/packages/plugin-rsc/examples/basic/vite.config.ts +++ b/packages/plugin-rsc/examples/basic/vite.config.ts @@ -151,7 +151,8 @@ export default { fetch: handler }; }, ssr: { optimizeDeps: { - // TODO: this should be somehow auto inferred + // TODO: this should be somehow auto inferred or at least show a warning + // to guide users about `optimizeDeps.include` include: [ '@vitejs/test-dep-deep-cjs > use-sync-external-store/shim/index.js', ], From f1a7ada431bda38f5b29ddbfeeb238e1c1e7f185 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Wed, 23 Jul 2025 09:55:02 +0900 Subject: [PATCH 4/7] chore: comment --- packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js b/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js index d9d05ca24..9de10bfad 100644 --- a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js +++ b/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js @@ -2,7 +2,8 @@ import React from 'react' -// same as https://github.com/vercel/swr/blob/063fe55dddb95f0b6c3f1637a935c43d732ded78/src/index/use-swr.ts#L3 +// similar to swr +// https://github.com/vercel/swr/blob/063fe55dddb95f0b6c3f1637a935c43d732ded78/src/index/use-swr.ts#L3 import { useSyncExternalStore } from 'use-sync-external-store/shim/index.js' const h = React.createElement From c4bbd486b6ea29dbc6b456cfe22cf3e50139ffe7 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Wed, 23 Jul 2025 09:57:39 +0900 Subject: [PATCH 5/7] chore: comment --- packages/plugin-rsc/e2e/basic.test.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/plugin-rsc/e2e/basic.test.ts b/packages/plugin-rsc/e2e/basic.test.ts index 5a0464a09..177e0e148 100644 --- a/packages/plugin-rsc/e2e/basic.test.ts +++ b/packages/plugin-rsc/e2e/basic.test.ts @@ -11,9 +11,6 @@ import { import path from 'node:path' import os from 'node:os' -// TODO: parallel? -// TODO: all tests don't need to be tested in all variants? - test.describe('dev-default', () => { const f = useFixture({ root: 'examples/basic', mode: 'dev' }) defineTest(f) From ce38b153b74519471183e675a0b0088320040e08 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Wed, 23 Jul 2025 10:01:54 +0900 Subject: [PATCH 6/7] test: add e2e --- packages/plugin-rsc/e2e/basic.test.ts | 6 ++++++ packages/plugin-rsc/examples/basic/vite.config.ts | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/plugin-rsc/e2e/basic.test.ts b/packages/plugin-rsc/e2e/basic.test.ts index 177e0e148..a3b06f61b 100644 --- a/packages/plugin-rsc/e2e/basic.test.ts +++ b/packages/plugin-rsc/e2e/basic.test.ts @@ -821,6 +821,12 @@ function defineTest(f: Fixture) { ) }) + test('transitive cjs dep', async ({ page }) => { + await page.goto(f.url()) + await waitForHydration(page) + await expect(page.getByTestId('deep-cjs-client')).toHaveText('ok:browser') + }) + test('use cache function', async ({ page }) => { await page.goto(f.url()) await waitForHydration(page) diff --git a/packages/plugin-rsc/examples/basic/vite.config.ts b/packages/plugin-rsc/examples/basic/vite.config.ts index a4c0b7f24..19e44d9d6 100644 --- a/packages/plugin-rsc/examples/basic/vite.config.ts +++ b/packages/plugin-rsc/examples/basic/vite.config.ts @@ -140,7 +140,7 @@ export default { fetch: handler }; optimizeDeps: { entries: [ './src/routes/**/client.tsx', - './src/framework/browser.entry.tsx', + './src/framework/entry.browser.tsx', ], exclude: [ '@vitejs/test-dep-client-in-server/client', @@ -152,7 +152,7 @@ export default { fetch: handler }; ssr: { optimizeDeps: { // TODO: this should be somehow auto inferred or at least show a warning - // to guide users about `optimizeDeps.include` + // to guide users to `optimizeDeps.include` include: [ '@vitejs/test-dep-deep-cjs > use-sync-external-store/shim/index.js', ], From 1c7c7910c20bb8a027f209db7403606195c8316b Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Wed, 23 Jul 2025 10:06:05 +0900 Subject: [PATCH 7/7] refactor: rename "deep cjs" to "transitive cjs" throughout codebase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates naming to better reflect the nature of CommonJS dependencies that are transitively imported through other packages. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- packages/plugin-rsc/e2e/basic.test.ts | 4 ++- .../plugin-rsc/examples/basic/package.json | 2 +- .../basic/src/routes/deps/deep-cjs/client.tsx | 12 --------- .../src/routes/deps/transitive-cjs/client.tsx | 12 +++++++++ .../examples/basic/src/routes/root.tsx | 4 +-- .../{deep-cjs => transitive-cjs}/client.js | 2 +- .../{deep-cjs => transitive-cjs}/package.json | 2 +- .../plugin-rsc/examples/basic/vite.config.ts | 2 +- pnpm-lock.yaml | 26 +++++++++---------- 9 files changed, 34 insertions(+), 32 deletions(-) delete mode 100644 packages/plugin-rsc/examples/basic/src/routes/deps/deep-cjs/client.tsx create mode 100644 packages/plugin-rsc/examples/basic/src/routes/deps/transitive-cjs/client.tsx rename packages/plugin-rsc/examples/basic/test-dep/{deep-cjs => transitive-cjs}/client.js (91%) rename packages/plugin-rsc/examples/basic/test-dep/{deep-cjs => transitive-cjs}/package.json (81%) diff --git a/packages/plugin-rsc/e2e/basic.test.ts b/packages/plugin-rsc/e2e/basic.test.ts index a3b06f61b..d463b983b 100644 --- a/packages/plugin-rsc/e2e/basic.test.ts +++ b/packages/plugin-rsc/e2e/basic.test.ts @@ -824,7 +824,9 @@ function defineTest(f: Fixture) { test('transitive cjs dep', async ({ page }) => { await page.goto(f.url()) await waitForHydration(page) - await expect(page.getByTestId('deep-cjs-client')).toHaveText('ok:browser') + await expect(page.getByTestId('transitive-cjs-client')).toHaveText( + 'ok:browser', + ) }) test('use cache function', async ({ page }) => { diff --git a/packages/plugin-rsc/examples/basic/package.json b/packages/plugin-rsc/examples/basic/package.json index b77f9a71c..6fb6344bc 100644 --- a/packages/plugin-rsc/examples/basic/package.json +++ b/packages/plugin-rsc/examples/basic/package.json @@ -21,7 +21,7 @@ "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@vitejs/plugin-react": "latest", - "@vitejs/test-dep-deep-cjs": "file:./test-dep/deep-cjs", + "@vitejs/test-dep-transitive-cjs": "file:./test-dep/transitive-cjs", "@vitejs/test-dep-client-in-server": "file:./test-dep/client-in-server", "@vitejs/test-dep-client-in-server2": "file:./test-dep/client-in-server2", "@vitejs/test-dep-server-in-client": "file:./test-dep/server-in-client", diff --git a/packages/plugin-rsc/examples/basic/src/routes/deps/deep-cjs/client.tsx b/packages/plugin-rsc/examples/basic/src/routes/deps/deep-cjs/client.tsx deleted file mode 100644 index fe3576449..000000000 --- a/packages/plugin-rsc/examples/basic/src/routes/deps/deep-cjs/client.tsx +++ /dev/null @@ -1,12 +0,0 @@ -'use client' - -// @ts-ignore -import { TestClient } from '@vitejs/test-dep-deep-cjs/client' - -export function TestDeepCjsClient() { - return ( -
- [test-dep-deep-cjs-client: ] -
- ) -} diff --git a/packages/plugin-rsc/examples/basic/src/routes/deps/transitive-cjs/client.tsx b/packages/plugin-rsc/examples/basic/src/routes/deps/transitive-cjs/client.tsx new file mode 100644 index 000000000..11045ee39 --- /dev/null +++ b/packages/plugin-rsc/examples/basic/src/routes/deps/transitive-cjs/client.tsx @@ -0,0 +1,12 @@ +'use client' + +// @ts-ignore +import { TestClient } from '@vitejs/test-dep-transitive-cjs/client' + +export function TestTransitiveCjsClient() { + return ( +
+ [test-dep-transitive-cjs-client: ] +
+ ) +} diff --git a/packages/plugin-rsc/examples/basic/src/routes/root.tsx b/packages/plugin-rsc/examples/basic/src/routes/root.tsx index bb9422a38..f679c362e 100644 --- a/packages/plugin-rsc/examples/basic/src/routes/root.tsx +++ b/packages/plugin-rsc/examples/basic/src/routes/root.tsx @@ -29,7 +29,7 @@ import { TestTemporaryReference } from './temporary-reference/client' import { TestUseCache } from './use-cache/server' import { TestHydrationMismatch } from './hydration-mismatch/server' import { TestBrowserOnly } from './browser-only/client' -import { TestDeepCjsClient } from './deps/deep-cjs/client' +import { TestTransitiveCjsClient } from './deps/transitive-cjs/client' export function Root(props: { url: URL }) { return ( @@ -68,7 +68,7 @@ export function Root(props: { url: URL }) { - + diff --git a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js b/packages/plugin-rsc/examples/basic/test-dep/transitive-cjs/client.js similarity index 91% rename from packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js rename to packages/plugin-rsc/examples/basic/test-dep/transitive-cjs/client.js index 9de10bfad..db2fd4b6f 100644 --- a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/client.js +++ b/packages/plugin-rsc/examples/basic/test-dep/transitive-cjs/client.js @@ -20,7 +20,7 @@ export function TestClient() { return h( 'span', { - 'data-testid': 'deep-cjs-client', + 'data-testid': 'transitive-cjs-client', }, value, ) diff --git a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/package.json b/packages/plugin-rsc/examples/basic/test-dep/transitive-cjs/package.json similarity index 81% rename from packages/plugin-rsc/examples/basic/test-dep/deep-cjs/package.json rename to packages/plugin-rsc/examples/basic/test-dep/transitive-cjs/package.json index 1122462d2..8368742da 100644 --- a/packages/plugin-rsc/examples/basic/test-dep/deep-cjs/package.json +++ b/packages/plugin-rsc/examples/basic/test-dep/transitive-cjs/package.json @@ -1,5 +1,5 @@ { - "name": "@vitejs/test-dep-deep-cjs", + "name": "@vitejs/test-dep-transitive-cjs", "private": true, "type": "module", "exports": { diff --git a/packages/plugin-rsc/examples/basic/vite.config.ts b/packages/plugin-rsc/examples/basic/vite.config.ts index 19e44d9d6..b0eec5511 100644 --- a/packages/plugin-rsc/examples/basic/vite.config.ts +++ b/packages/plugin-rsc/examples/basic/vite.config.ts @@ -154,7 +154,7 @@ export default { fetch: handler }; // TODO: this should be somehow auto inferred or at least show a warning // to guide users to `optimizeDeps.include` include: [ - '@vitejs/test-dep-deep-cjs > use-sync-external-store/shim/index.js', + '@vitejs/test-dep-transitive-cjs > use-sync-external-store/shim/index.js', ], }, }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a8d8f675..8b1fa0154 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -536,15 +536,15 @@ importers: '@vitejs/test-dep-client-in-server2': specifier: file:./test-dep/client-in-server2 version: file:packages/plugin-rsc/examples/basic/test-dep/client-in-server2(react@19.1.0) - '@vitejs/test-dep-deep-cjs': - specifier: file:./test-dep/deep-cjs - version: file:packages/plugin-rsc/examples/basic/test-dep/deep-cjs(react@19.1.0) '@vitejs/test-dep-server-in-client': specifier: file:./test-dep/server-in-client version: file:packages/plugin-rsc/examples/basic/test-dep/server-in-client(react@19.1.0) '@vitejs/test-dep-server-in-server': specifier: file:./test-dep/server-in-server version: file:packages/plugin-rsc/examples/basic/test-dep/server-in-server(react@19.1.0) + '@vitejs/test-dep-transitive-cjs': + specifier: file:./test-dep/transitive-cjs + version: file:packages/plugin-rsc/examples/basic/test-dep/transitive-cjs(react@19.1.0) rsc-html-stream: specifier: ^0.0.7 version: 0.0.7 @@ -3082,11 +3082,6 @@ packages: peerDependencies: react: '*' - '@vitejs/test-dep-deep-cjs@file:packages/plugin-rsc/examples/basic/test-dep/deep-cjs': - resolution: {directory: packages/plugin-rsc/examples/basic/test-dep/deep-cjs, type: directory} - peerDependencies: - react: '*' - '@vitejs/test-dep-non-js@file:packages/plugin-react-swc/playground/ts-lib/test-dep/non-js': resolution: {directory: packages/plugin-react-swc/playground/ts-lib/test-dep/non-js, type: directory} peerDependencies: @@ -3102,6 +3097,11 @@ packages: peerDependencies: react: '*' + '@vitejs/test-dep-transitive-cjs@file:packages/plugin-rsc/examples/basic/test-dep/transitive-cjs': + resolution: {directory: packages/plugin-rsc/examples/basic/test-dep/transitive-cjs, type: directory} + peerDependencies: + react: '*' + '@vitest/expect@3.2.4': resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} @@ -7657,11 +7657,6 @@ snapshots: dependencies: react: 19.1.0 - '@vitejs/test-dep-deep-cjs@file:packages/plugin-rsc/examples/basic/test-dep/deep-cjs(react@19.1.0)': - dependencies: - react: 19.1.0 - use-sync-external-store: 1.5.0(react@19.1.0) - '@vitejs/test-dep-non-js@file:packages/plugin-react-swc/playground/ts-lib/test-dep/non-js(react@19.1.0)': dependencies: react: 19.1.0 @@ -7674,6 +7669,11 @@ snapshots: dependencies: react: 19.1.0 + '@vitejs/test-dep-transitive-cjs@file:packages/plugin-rsc/examples/basic/test-dep/transitive-cjs(react@19.1.0)': + dependencies: + react: 19.1.0 + use-sync-external-store: 1.5.0(react@19.1.0) + '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.2