Skip to content

Commit 82d5c05

Browse files
committed
feat(rsc): auto optimize use-sync-external-store in transitive deps
1 parent 2a7ff5c commit 82d5c05

4 files changed

Lines changed: 61 additions & 0 deletions

File tree

packages/plugin-rsc/examples/basic/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"@types/react": "^19.1.8",
2222
"@types/react-dom": "^19.1.6",
2323
"@vitejs/plugin-react": "latest",
24+
"@vitejs/test-dep-deep-cjs": "file:./test-dep/deep-cjs",
2425
"@vitejs/test-dep-client-in-server": "file:./test-dep/client-in-server",
2526
"@vitejs/test-dep-client-in-server2": "file:./test-dep/client-in-server2",
2627
"@vitejs/test-dep-server-in-client": "file:./test-dep/server-in-client",
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
'use client'
2+
3+
import React from 'react'
4+
import { useSyncExternalStore } from 'use-sync-external-store'
5+
6+
const h = React.createElement
7+
8+
const noopStore = () => () => {}
9+
10+
export function TestClient() {
11+
const value = useSyncExternalStore(
12+
noopStore,
13+
() => 'ok:browser',
14+
() => 'ok:ssr',
15+
)
16+
17+
return h(
18+
'span',
19+
{
20+
'data-testid': 'deep-cjs-client',
21+
},
22+
value,
23+
)
24+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"name": "@vitejs/test-dep-deep-cjs",
3+
"private": true,
4+
"type": "module",
5+
"exports": {
6+
"./client": "./client.js"
7+
},
8+
"dependencies": {
9+
"use-sync-external-store": "^1.5.0"
10+
},
11+
"peerDependencies": {
12+
"react": "*"
13+
}
14+
}

pnpm-lock.yaml

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)