vite-plugin-react-server 1.2.4 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/package.json +15 -3
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -1
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +3 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -1
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +3 -0
- package/dist/plugin/utils/callServer.d.ts +1 -1
- package/dist/plugin/utils/callServer.d.ts.map +1 -1
- package/dist/plugin/utils/createCallServer.d.ts +1 -1
- package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
- package/dist/plugin/utils/createReactFetcher.d.ts +2 -1
- package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
- package/dist/plugin/utils/createReactFetcher.js +1 -1
- package/dist/plugin/vendor/vendor-alias.d.ts +12 -0
- package/dist/plugin/vendor/vendor-alias.d.ts.map +1 -0
- package/dist/plugin/vendor/vendor-alias.js +87 -0
- package/dist/plugin/vendor/vendor.client.d.ts +1 -1
- package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.client.js +19 -6
- package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.server.js +18 -5
- package/dist/plugin/vendor/vendor.static.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.static.js +18 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oss-experimental/react-server-dom-esm/LICENSE +21 -0
- package/oss-experimental/react-server-dom-esm/README.md +5 -0
- package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js +2996 -0
- package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js +1612 -0
- package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js +3124 -0
- package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.production.js +1752 -0
- package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js +4213 -0
- package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2857 -0
- package/oss-experimental/react-server-dom-esm/client.browser.js +7 -0
- package/oss-experimental/react-server-dom-esm/client.js +3 -0
- package/oss-experimental/react-server-dom-esm/client.node.js +7 -0
- package/oss-experimental/react-server-dom-esm/esm/package.json +3 -0
- package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js +3969 -0
- package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js +2347 -0
- package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-node-loader.production.js +515 -0
- package/oss-experimental/react-server-dom-esm/index.js +12 -0
- package/oss-experimental/react-server-dom-esm/package.json +63 -0
- package/oss-experimental/react-server-dom-esm/server.js +6 -0
- package/oss-experimental/react-server-dom-esm/server.node.js +17 -0
- package/oss-experimental/react-server-dom-esm/static.js +6 -0
- package/oss-experimental/react-server-dom-esm/static.node.js +12 -0
- package/package.json +15 -3
- package/plugin/orchestrator/createPluginOrchestrator.client.ts +4 -0
- package/plugin/orchestrator/createPluginOrchestrator.server.ts +4 -0
- package/plugin/types/react-server-dom-esm.d.ts +7 -2
- package/plugin/types/virtual-rsc-hmr.d.ts +14 -1
- package/plugin/utils/createReactFetcher.ts +2 -1
- package/plugin/vendor/vendor-alias.ts +102 -0
- package/plugin/vendor/vendor.client.ts +24 -9
- package/plugin/vendor/vendor.server.ts +22 -7
- package/plugin/vendor/vendor.static.ts +21 -7
- package/scripts/build-oss-experimental.sh +161 -0
- package/virtual.d.ts +20 -0
package/README.md
CHANGED
|
@@ -304,6 +304,24 @@ export function Counter() {
|
|
|
304
304
|
- **React**: Experimental version (handled by patch system)
|
|
305
305
|
- **Vite**: Compatible with latest Vite versions
|
|
306
306
|
|
|
307
|
+
## TypeScript
|
|
308
|
+
|
|
309
|
+
The plugin provides virtual modules (like `virtual:react-server/hmr`) that need type declarations. Add `"vite-plugin-react-server/virtual"` to your `tsconfig.json`:
|
|
310
|
+
|
|
311
|
+
```json
|
|
312
|
+
{
|
|
313
|
+
"compilerOptions": {
|
|
314
|
+
"types": [
|
|
315
|
+
"vite/client",
|
|
316
|
+
"vite-plugin-react-server/virtual"
|
|
317
|
+
]
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
This enables type support for:
|
|
323
|
+
- `virtual:react-server/hmr` — RSC hot module replacement utilities (`useRscHmr`, `setupRscHmr`)
|
|
324
|
+
|
|
307
325
|
## Contributing
|
|
308
326
|
|
|
309
327
|
This project uses experimental React features and includes a patch system for compatibility. See [React Type Compatibility](./docs/react-type-compatibility.md) for maintenance details.
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-react-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Vite plugin for React Server Components (RSC)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/plugin/index.js",
|
|
@@ -11,9 +11,11 @@
|
|
|
11
11
|
"plugin",
|
|
12
12
|
"bin",
|
|
13
13
|
"scripts",
|
|
14
|
+
"virtual.d.ts",
|
|
14
15
|
"README.md",
|
|
15
16
|
"LICENSE",
|
|
16
|
-
"tsconfig.json"
|
|
17
|
+
"tsconfig.json",
|
|
18
|
+
"oss-experimental/react-server-dom-esm"
|
|
17
19
|
],
|
|
18
20
|
"exports": {
|
|
19
21
|
".": "./dist/plugin/index.js",
|
|
@@ -25,6 +27,9 @@
|
|
|
25
27
|
"./worker": "./dist/plugin/worker/index.js",
|
|
26
28
|
"./package.json": "./package.json",
|
|
27
29
|
"./patch": "./bin/patch.mjs",
|
|
30
|
+
"./virtual": {
|
|
31
|
+
"types": "./virtual.d.ts"
|
|
32
|
+
},
|
|
28
33
|
"./check-react-version": "./scripts/check-react-version.mjs",
|
|
29
34
|
"./components": "./dist/plugin/components/index.js",
|
|
30
35
|
"./types": "./dist/plugin/types.js",
|
|
@@ -149,6 +154,9 @@
|
|
|
149
154
|
],
|
|
150
155
|
"helpers/resolveStreamElements": [
|
|
151
156
|
"./dist/plugin/helpers/resolveStreamElements.d.ts"
|
|
157
|
+
],
|
|
158
|
+
"virtual": [
|
|
159
|
+
"./virtual.d.ts"
|
|
152
160
|
]
|
|
153
161
|
}
|
|
154
162
|
},
|
|
@@ -211,6 +219,8 @@
|
|
|
211
219
|
"experimental:copy": "cp -r ./oss-experimental/* ./node_modules/",
|
|
212
220
|
"experimental:patch": "npx patch-package react-server-dom-esm react react-dom --exclude 'nothing'",
|
|
213
221
|
"experimental:move-patches": "mv patches/* ./scripts/",
|
|
222
|
+
"experimental:build-oss": "bash scripts/build-oss-experimental.sh",
|
|
223
|
+
"experimental:build-oss-full": "bash scripts/build-oss-experimental.sh --full",
|
|
214
224
|
"experimental:setup": "rm -rf patches/* && npm run experimental:clean-install && npm run experimental:copy && npm run experimental:patch && npm run experimental:move-patches",
|
|
215
225
|
"experimental:patch-react": "npm run experimental:clean-install && node scripts/check-react-version.mjs && node bin/patch.mjs",
|
|
216
226
|
"postinstall": "patch-package",
|
|
@@ -241,7 +251,6 @@
|
|
|
241
251
|
"peerDependencies": {
|
|
242
252
|
"react": ">=0.0.0-experimental-0",
|
|
243
253
|
"react-dom": ">=0.0.0-experimental-0",
|
|
244
|
-
"react-server-dom-esm": "^0.0.1",
|
|
245
254
|
"vite": "*"
|
|
246
255
|
},
|
|
247
256
|
"peerDependenciesMeta": {
|
|
@@ -253,6 +262,9 @@
|
|
|
253
262
|
},
|
|
254
263
|
"vite": {
|
|
255
264
|
"optional": false
|
|
265
|
+
},
|
|
266
|
+
"react-server-dom-esm": {
|
|
267
|
+
"optional": true
|
|
256
268
|
}
|
|
257
269
|
},
|
|
258
270
|
"devDependencies": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPluginOrchestrator.client.d.ts","sourceRoot":"","sources":["../../../plugin/orchestrator/createPluginOrchestrator.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"createPluginOrchestrator.client.d.ts","sourceRoot":"","sources":["../../../plugin/orchestrator/createPluginOrchestrator.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAUnC,eAAO,MAAM,wBAAwB,GACnC,aAAa,GAAG,KACf,MAAM,EAsCR,CAAC"}
|
|
@@ -4,11 +4,14 @@ import { vitePluginReactDevServer } from "../dev-server/plugin.client.js";
|
|
|
4
4
|
import { reactStaticPlugin } from "../react-static/plugin.client.js";
|
|
5
5
|
import { createTransformerPlugin } from "../transformer/createTransformerPlugin.js";
|
|
6
6
|
import { virtualRscHmrPlugin } from "../dev-server/virtualRscHmrPlugin.js";
|
|
7
|
+
import { vitePluginVendorAlias } from "../vendor/vendor-alias.js";
|
|
7
8
|
// Client-first orchestrator - includes client SSG plugin for reverse paradigm
|
|
8
9
|
export const createPluginOrchestrator = (userOptions) => {
|
|
9
10
|
// Client-first logic - provide all environments for Environment API builds
|
|
10
11
|
const availableEnvironments = ["client", "ssr", "server"];
|
|
11
12
|
const plugins = [];
|
|
13
|
+
// Alias react-server-dom-esm to our vendored copy
|
|
14
|
+
plugins.push(vitePluginVendorAlias());
|
|
12
15
|
// Virtual module for RSC HMR utilities (works in both dev and build)
|
|
13
16
|
plugins.push(virtualRscHmrPlugin());
|
|
14
17
|
// Add transformer first so it runs before other plugins
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPluginOrchestrator.server.d.ts","sourceRoot":"","sources":["../../../plugin/orchestrator/createPluginOrchestrator.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"createPluginOrchestrator.server.d.ts","sourceRoot":"","sources":["../../../plugin/orchestrator/createPluginOrchestrator.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAUnC,eAAO,MAAM,wBAAwB,GACnC,aAAa,GAAG,KACf,MAAM,EA8CR,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { vitePluginReactDevServer } from "../dev-server/plugin.server.js";
|
|
|
4
4
|
import { reactStaticPlugin } from "../react-static/plugin.server.js";
|
|
5
5
|
import { createTransformerPlugin } from "../transformer/createTransformerPlugin.js";
|
|
6
6
|
import { virtualRscHmrPlugin } from "../dev-server/virtualRscHmrPlugin.js";
|
|
7
|
+
import { vitePluginVendorAlias } from "../vendor/vendor-alias.js";
|
|
7
8
|
// Server-first orchestrator - only imports server plugins
|
|
8
9
|
export const createPluginOrchestrator = (userOptions) => {
|
|
9
10
|
// Server-first logic - provide all environments for Environment API builds
|
|
@@ -15,6 +16,8 @@ export const createPluginOrchestrator = (userOptions) => {
|
|
|
15
16
|
ssrBuilds: true,
|
|
16
17
|
};
|
|
17
18
|
const plugins = [];
|
|
19
|
+
// Alias react-server-dom-esm to our vendored copy
|
|
20
|
+
plugins.push(vitePluginVendorAlias());
|
|
18
21
|
// Virtual module for RSC HMR utilities (works in both dev and build)
|
|
19
22
|
plugins.push(virtualRscHmrPlugin());
|
|
20
23
|
// Add transformer first so it runs before other plugins
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const callServer: (id: string, args: unknown[]) => Promise<
|
|
1
|
+
export declare const callServer: (id: string, args: unknown[]) => Promise<unknown>;
|
|
2
2
|
//# sourceMappingURL=callServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callServer.d.ts","sourceRoot":"","sources":["../../../plugin/utils/callServer.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"callServer.d.ts","sourceRoot":"","sources":["../../../plugin/utils/callServer.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,mDAAyC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const createCallServer: (moduleBaseURL: string) => (id: string, args: unknown[]) => Promise<
|
|
1
|
+
export declare const createCallServer: (moduleBaseURL: string) => (id: string, args: unknown[]) => Promise<unknown>;
|
|
2
2
|
//# sourceMappingURL=createCallServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCallServer.d.ts","sourceRoot":"","sources":["../../../plugin/utils/createCallServer.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,GAAI,eAAe,MAAM,UACtB,MAAM,QAAQ,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createCallServer.d.ts","sourceRoot":"","sources":["../../../plugin/utils/createCallServer.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,GAAI,eAAe,MAAM,UACtB,MAAM,QAAQ,OAAO,EAAE,qBAsBtD,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type React from "react";
|
|
1
2
|
export declare function createReactFetcher({ moduleBaseURL, publicOrigin, url, indexRSC, headers, }?: {
|
|
2
3
|
url?: string;
|
|
3
4
|
moduleBaseURL?: string;
|
|
4
5
|
publicOrigin?: string;
|
|
5
6
|
indexRSC?: string;
|
|
6
7
|
headers?: HeadersInit;
|
|
7
|
-
}):
|
|
8
|
+
}): PromiseLike<React.ReactNode>;
|
|
8
9
|
/** HMR event name used by the plugin */
|
|
9
10
|
export declare const RSC_HMR_EVENT = "vite-plugin-react-server:server-component-update";
|
|
10
11
|
/** Data sent with RSC HMR events */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createReactFetcher.d.ts","sourceRoot":"","sources":["../../../plugin/utils/createReactFetcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createReactFetcher.d.ts","sourceRoot":"","sources":["../../../plugin/utils/createReactFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,wBAAgB,kBAAkB,CAAC,EACjC,aAA4B,EAC5B,YAAgC,EAChC,GAA8B,EAC9B,QAAsB,EACtB,OAEC,GACF,GAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC;CAClB,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAepC;AAED,wCAAwC;AACxC,eAAO,MAAM,aAAa,qDAAqD,CAAC;AAEhF,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC;IACnE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,QAkCL"}
|
|
@@ -41,4 +41,4 @@ function setupRscHmr(options = {}) {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export { RSC_HMR_EVENT, createReactFetcher, setupRscHmr };
|
|
44
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUmVhY3RGZXRjaGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vdXRpbHMvY3JlYXRlUmVhY3RGZXRjaGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlRnJvbUZldGNoIH0gZnJvbSBcInJlYWN0LXNlcnZlci1kb20tZXNtL2NsaWVudC5icm93c2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVDYWxsU2VydmVyIH0gZnJvbSBcIi4vY3JlYXRlQ2FsbFNlcnZlci5qc1wiO1xuaW1wb3J0IHsgZW52IH0gZnJvbSBcIi4vZW52LmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVQYWdlVVJMIH0gZnJvbSBcIi4vdXJscy5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVhY3RGZXRjaGVyKHtcbiAgbW9kdWxlQmFzZVVSTCA9IGVudi5CQVNFX1VSTCxcbiAgcHVibGljT3JpZ2luID0gZW52LlBVQkxJQ19PUklHSU4sXG4gIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSxcbiAgaW5kZXhSU0MgPSBcImluZGV4LnJzY1wiLFxuICBoZWFkZXJzID0ge1xuICAgIEFjY2VwdDogXCJ0ZXh0L3gtY29tcG9uZW50XCIsXG4gIH0sXG59OiB7XG4gIHVybD86IHN0cmluZztcbiAgbW9kdWxlQmFzZVVSTD86IHN0cmluZztcbiAgcHVibGljT3JpZ2luPzogc3RyaW5nO1xuICBpbmRleFJTQz86IHN0cmluZztcbiAgaGVhZGVycz86IEhlYWRlcnNJbml0O1xufSA9IHt9KTogUHJvbWlzZUxpa2U8UmVhY3QuUmVhY3ROb2RlPiB7XG4gIGNvbnN0IHBhcnNlZFVSTCA9IGNyZWF0ZVBhZ2VVUkwoXG4gICAgbW9kdWxlQmFzZVVSTCxcbiAgICBwdWJsaWNPcmlnaW4sXG4gICAgZW52LkRFVlxuICApKHVybCwgaW5kZXhSU0MpO1xuICByZXR1cm4gY3JlYXRlRnJvbUZldGNoKFxuICAgIGZldGNoKHBhcnNlZFVSTC5pbmRleFJTQywge1xuICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICB9KSxcbiAgICB7XG4gICAgICBjYWxsU2VydmVyOiBjcmVhdGVDYWxsU2VydmVyKHBhcnNlZFVSTC5tb2R1bGVCYXNlVVJMKSxcbiAgICAgIG1vZHVsZUJhc2VVUkw6IHBhcnNlZFVSTC5tb2R1bGVCYXNlVVJMLFxuICAgIH1cbiAgKTtcbn1cblxuLyoqIEhNUiBldmVudCBuYW1lIHVzZWQgYnkgdGhlIHBsdWdpbiAqL1xuZXhwb3J0IGNvbnN0IFJTQ19ITVJfRVZFTlQgPSAndml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnNlcnZlci1jb21wb25lbnQtdXBkYXRlJztcblxuLyoqIERhdGEgc2VudCB3aXRoIFJTQyBITVIgZXZlbnRzICovXG5leHBvcnQgaW50ZXJmYWNlIFJzY0htckRhdGEge1xuICBmaWxlOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZXQgdXAgSE1SIGZvciBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyAobm9uLVJlYWN0IEFQSSkuXG4gKiBcbiAqIEZvciBSZWFjdCBjb21wb25lbnRzLCB1c2UgYHVzZVJzY0htcigpYCBob29rIGluc3RlYWQuXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IHNldHVwUnNjSG1yIH0gZnJvbSAndml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyL3V0aWxzJztcbiAqIFxuICogLy8gRGVmYXVsdDogcmVmZXRjaCBjdXJyZW50IHBhZ2UncyBSU0Mgc3RyZWFtIChzbWFydCByZWZyZXNoKVxuICogc2V0dXBSc2NIbXIoKTtcbiAqIFxuICogLy8gQ3VzdG9tIGhhbmRsZXJcbiAqIHNldHVwUnNjSG1yKHtcbiAqICAgb25VcGRhdGU6IGFzeW5jIChkYXRhKSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coJ0NoYW5nZWQ6JywgZGF0YS5maWxlKTtcbiAqICAgICBteUN1c3RvbVJlZmV0Y2goKTtcbiAqICAgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwUnNjSG1yKG9wdGlvbnM6IHtcbiAgLyoqXG4gICAqIEN1c3RvbSBoYW5kbGVyIGZvciBzZXJ2ZXIgY29tcG9uZW50IHVwZGF0ZXMuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgZGVmYXVsdHMgdG8gcmVmZXRjaGluZyB0aGUgUlNDIHN0cmVhbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbiAgICogU2V0IHRvIGAncmVsb2FkJ2AgZm9yIGZ1bGwgcGFnZSByZWxvYWQgYmVoYXZpb3IuXG4gICAqL1xuICBvblVwZGF0ZT86ICgoZGF0YTogUnNjSG1yRGF0YSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4pIHwgJ3JlbG9hZCc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGxvZyBITVIgZXZlbnRzIHRvIGNvbnNvbGUuXG4gICAqIEBkZWZhdWx0IHRydWUgaW4gZGV2ZWxvcG1lbnRcbiAgICovXG4gIHZlcmJvc2U/OiBib29sZWFuO1xufSA9IHt9KSB7XG4gIGNvbnN0IHsgb25VcGRhdGUsIHZlcmJvc2UgPSBlbnYuREVWIH0gPSBvcHRpb25zO1xuICBcbiAgaWYgKHR5cGVvZiBpbXBvcnQubWV0YS5ob3QgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIFxuICBpbXBvcnQubWV0YS5ob3Qub24oUlNDX0hNUl9FVkVOVCwgYXN5bmMgKGRhdGE6IFJzY0htckRhdGEpID0+IHtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgY29uc29sZS5sb2coJ1tSU0MgSE1SXSBTZXJ2ZXIgY29tcG9uZW50IHVwZGF0ZWQ6JywgZGF0YS5maWxlKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKG9uVXBkYXRlID09PSAncmVsb2FkJykge1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBcbiAgICBpZiAob25VcGRhdGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IG9uVXBkYXRlKGRhdGEpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignW1JTQyBITVJdIEVycm9yIGluIG9uVXBkYXRlIGhhbmRsZXI6JywgZXJyb3IpO1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIERlZmF1bHQ6IGZ1bGwgcGFnZSByZWxvYWRcbiAgICAgIC8vIEZvciBzbWFydCBSU0MgcmVmZXRjaCwgdXNlIHVzZVJzY0htcigpIGhvb2sgaW4geW91ciBSZWFjdCB0cmVlXG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxuICB9KTtcbiAgXG4gIGlmICh2ZXJib3NlKSB7XG4gICAgY29uc29sZS5sb2coJ1tSU0MgSE1SXSBMaXN0ZW5pbmcgZm9yIHNlcnZlciBjb21wb25lbnQgdXBkYXRlcycpO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQU1PLFNBQVMsa0JBQW1CLENBQUE7QUFBQSxFQUNqQyxnQkFBZ0IsR0FBSSxDQUFBLFFBQUE7QUFBQSxFQUNwQixlQUFlLEdBQUksQ0FBQSxhQUFBO0FBQUEsRUFDbkIsR0FBQSxHQUFNLE9BQU8sUUFBUyxDQUFBLFFBQUE7QUFBQSxFQUN0QixRQUFXLEdBQUEsV0FBQTtBQUFBLEVBQ1gsT0FBVSxHQUFBO0FBQUEsSUFDUixNQUFRLEVBQUE7QUFBQTtBQUVaLENBQUEsR0FNSSxFQUFrQyxFQUFBO0FBQ3BDLEVBQUEsTUFBTSxTQUFZLEdBQUEsYUFBQTtBQUFBLElBQ2hCLGFBQUE7QUFBQSxJQUNBLFlBQUE7QUFBQSxJQUNBLEdBQUksQ0FBQTtBQUFBLEdBQ04sQ0FBRSxLQUFLLFFBQVEsQ0FBQTtBQUNSLEVBQUEsT0FBQSxlQUFBO0FBQUEsSUFDTCxLQUFBLENBQU0sVUFBVSxRQUFVLEVBQUE7QUFBQSxNQUN4QjtBQUFBLEtBQ0QsQ0FBQTtBQUFBLElBQ0Q7QUFBQSxNQUNFLFVBQUEsRUFBWSxnQkFBaUIsQ0FBQSxTQUFBLENBQVUsYUFBYSxDQUFBO0FBQUEsTUFDcEQsZUFBZSxTQUFVLENBQUE7QUFBQTtBQUMzQixHQUNGO0FBQ0Y7QUFHTyxNQUFNLGFBQWdCLEdBQUE7QUE2QnRCLFNBQVMsV0FBQSxDQUFZLE9BWXhCLEdBQUEsRUFBSSxFQUFBO0FBQ04sRUFBQSxNQUFNLEVBQUUsUUFBQSxFQUFVLE9BQVUsR0FBQSxHQUFBLENBQUksS0FBUSxHQUFBLE9BQUE7QUFFcEMsRUFBd0M7QUFDMUMsSUFBQTtBQUFBO0FBOEJKOzs7OyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Plugin } from "vite";
|
|
2
|
+
/**
|
|
3
|
+
* Vite plugin that aliases `react-server-dom-esm/*` imports to the vendored
|
|
4
|
+
* copy shipped with this plugin. This eliminates the need for consumers to
|
|
5
|
+
* install `react-server-dom-esm` separately or use patch-package.
|
|
6
|
+
*
|
|
7
|
+
* Browser client entries use true ESM files for Rollup tree-shaking.
|
|
8
|
+
* Server/static entries are marked external during builds — they're CJS
|
|
9
|
+
* modules loaded at runtime via createRequire in vendor.*.ts files.
|
|
10
|
+
*/
|
|
11
|
+
export declare function vitePluginVendorAlias(): Plugin;
|
|
12
|
+
//# sourceMappingURL=vendor-alias.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor-alias.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor-alias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAoBnC;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAqD9C"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { existsSync } from "node:fs";
|
|
5
|
+
// Find package root by walking up from current file until we find oss-experimental/
|
|
6
|
+
// Works from both plugin/vendor/ (source) and dist/plugin/vendor/ (built)
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
function findPkgRoot() {
|
|
9
|
+
let dir = __dirname;
|
|
10
|
+
for (let i = 0; i < 5; i++) {
|
|
11
|
+
if (existsSync(join(dir, "oss-experimental", "react-server-dom-esm")))
|
|
12
|
+
return dir;
|
|
13
|
+
dir = dirname(dir);
|
|
14
|
+
}
|
|
15
|
+
return dirname(dirname(__dirname)); // fallback
|
|
16
|
+
}
|
|
17
|
+
const pkgRoot = findPkgRoot();
|
|
18
|
+
const ossDir = join(pkgRoot, "oss-experimental");
|
|
19
|
+
/**
|
|
20
|
+
* Vite plugin that aliases `react-server-dom-esm/*` imports to the vendored
|
|
21
|
+
* copy shipped with this plugin. This eliminates the need for consumers to
|
|
22
|
+
* install `react-server-dom-esm` separately or use patch-package.
|
|
23
|
+
*
|
|
24
|
+
* Browser client entries use true ESM files for Rollup tree-shaking.
|
|
25
|
+
* Server/static entries are marked external during builds — they're CJS
|
|
26
|
+
* modules loaded at runtime via createRequire in vendor.*.ts files.
|
|
27
|
+
*/
|
|
28
|
+
export function vitePluginVendorAlias() {
|
|
29
|
+
let isBuild = false;
|
|
30
|
+
return {
|
|
31
|
+
name: "vite-plugin-react-server:vendor-alias",
|
|
32
|
+
enforce: "pre",
|
|
33
|
+
config(_config, env) {
|
|
34
|
+
const pkg = join(ossDir, "react-server-dom-esm");
|
|
35
|
+
const isProd = env.mode === "production";
|
|
36
|
+
// Only alias browser client to ESM for Rollup tree-shaking.
|
|
37
|
+
// Server/static are handled by resolveId with external:true.
|
|
38
|
+
return {
|
|
39
|
+
resolve: {
|
|
40
|
+
alias: [
|
|
41
|
+
{
|
|
42
|
+
find: "react-server-dom-esm/client.browser",
|
|
43
|
+
replacement: join(pkg, "esm", isProd
|
|
44
|
+
? "react-server-dom-esm-client.browser.production.js"
|
|
45
|
+
: "react-server-dom-esm-client.browser.development.js")
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
configResolved(config) {
|
|
52
|
+
isBuild = config.command === "build";
|
|
53
|
+
},
|
|
54
|
+
resolveId(source) {
|
|
55
|
+
// Only handle react-server-dom-esm specifiers (not already aliased paths)
|
|
56
|
+
if (!source.startsWith("react-server-dom-esm")) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Skip client.browser — handled by config alias above
|
|
60
|
+
if (source === "react-server-dom-esm/client.browser") {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// For server/static entries during build: mark external with resolved path.
|
|
64
|
+
// At runtime, vendor.*.ts uses createRequire to load from this path.
|
|
65
|
+
if (isBuild && isServerEntry(source)) {
|
|
66
|
+
const resolved = resolveVendored(source);
|
|
67
|
+
return { id: resolved, external: true };
|
|
68
|
+
}
|
|
69
|
+
// For all other entries (client.node, client, index), resolve to vendored path
|
|
70
|
+
return resolveVendored(source);
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function isServerEntry(source) {
|
|
75
|
+
return (source.includes("/server") ||
|
|
76
|
+
source.includes("/static"));
|
|
77
|
+
}
|
|
78
|
+
function resolveVendored(source) {
|
|
79
|
+
const vendorRequire = createRequire(join(ossDir, "react-server-dom-esm", "package.json"));
|
|
80
|
+
try {
|
|
81
|
+
return vendorRequire.resolve(source);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
const subpath = source.replace("react-server-dom-esm", "");
|
|
85
|
+
return join(ossDir, "react-server-dom-esm", subpath || "index.js");
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare const ReactDOMServer: typeof import("react-dom/server");
|
|
2
1
|
declare const ReactDOMClient: typeof import("react-server-dom-esm/client.node");
|
|
2
|
+
declare const ReactDOMServer: typeof import("react-dom/server");
|
|
3
3
|
declare const React: typeof import("react");
|
|
4
4
|
export { ReactDOMServer, React, ReactDOMClient };
|
|
5
5
|
//# sourceMappingURL=vendor.client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor.client.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vendor.client.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.client.ts"],"names":[],"mappings":"AAqBA,QAAA,MAAM,cAAc,EAAwD,cAAc,kCAAkC,CAAC,CAAC;AAK9H,QAAA,MAAM,cAAc,EAAyC,cAAc,kBAAkB,CAAC,CAAC;AAC/F,QAAA,MAAM,KAAK,EAA8B,cAAc,OAAO,CAAC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -4,15 +4,28 @@
|
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
6
|
import { createRequire } from 'node:module';
|
|
7
|
-
import { join } from 'node:path';
|
|
7
|
+
import { dirname, join } from 'node:path';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { existsSync } from 'node:fs';
|
|
8
10
|
import { assertNonReactServer } from '../config/getCondition.js';
|
|
9
11
|
|
|
10
12
|
assertNonReactServer();
|
|
13
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
14
|
+
function findPkgRoot() {
|
|
15
|
+
let dir = __dirname;
|
|
16
|
+
for (let i = 0; i < 5; i++) {
|
|
17
|
+
if (existsSync(join(dir, "oss-experimental", "react-server-dom-esm"))) return dir;
|
|
18
|
+
dir = dirname(dir);
|
|
19
|
+
}
|
|
20
|
+
return dirname(dirname(__dirname));
|
|
21
|
+
}
|
|
22
|
+
const ossDir = join(findPkgRoot(), "oss-experimental");
|
|
23
|
+
const vendorRequire = createRequire(join(ossDir, "react-server-dom-esm", "package.json"));
|
|
24
|
+
const ReactDOMClient = vendorRequire("react-server-dom-esm/client.node");
|
|
11
25
|
const projectRoot = process.env["npm_config_local_prefix"] || process.cwd();
|
|
12
|
-
const
|
|
13
|
-
const ReactDOMServer =
|
|
14
|
-
const
|
|
15
|
-
const React = nodeRequire("react");
|
|
26
|
+
const projectRequire = createRequire(join(projectRoot, "package.json"));
|
|
27
|
+
const ReactDOMServer = projectRequire("react-dom/server");
|
|
28
|
+
const React = projectRequire("react");
|
|
16
29
|
|
|
17
30
|
export { React, ReactDOMClient, ReactDOMServer };
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3IuY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IGFzc2VydE5vblJlYWN0U2VydmVyIH0gZnJvbSBcIi4uL2NvbmZpZy9nZXRDb25kaXRpb24uanNcIjtcblxuYXNzZXJ0Tm9uUmVhY3RTZXJ2ZXIoKTtcblxuY29uc3QgX19kaXJuYW1lID0gZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuZnVuY3Rpb24gZmluZFBrZ1Jvb3QoKTogc3RyaW5nIHtcbiAgbGV0IGRpciA9IF9fZGlybmFtZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICBpZiAoZXhpc3RzU3luYyhqb2luKGRpciwgXCJvc3MtZXhwZXJpbWVudGFsXCIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIikpKSByZXR1cm4gZGlyO1xuICAgIGRpciA9IGRpcm5hbWUoZGlyKTtcbiAgfVxuICByZXR1cm4gZGlybmFtZShkaXJuYW1lKF9fZGlybmFtZSkpO1xufVxuY29uc3Qgb3NzRGlyID0gam9pbihmaW5kUGtnUm9vdCgpLCBcIm9zcy1leHBlcmltZW50YWxcIik7XG5cbi8vIFJlc29sdmUgcmVhY3Qtc2VydmVyLWRvbS1lc20gZnJvbSBvdXIgdmVuZG9yZWQgY29weVxuY29uc3QgdmVuZG9yUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoam9pbihvc3NEaXIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIiwgXCJwYWNrYWdlLmpzb25cIikpO1xuY29uc3QgUmVhY3RET01DbGllbnQgPSB2ZW5kb3JSZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS1lc20vY2xpZW50Lm5vZGVcIikgYXMgdHlwZW9mIGltcG9ydChcInJlYWN0LXNlcnZlci1kb20tZXNtL2NsaWVudC5ub2RlXCIpO1xuXG4vLyBSZWFjdCBhbmQgcmVhY3QtZG9tIHN0aWxsIGNvbWUgZnJvbSB0aGUgY29uc3VtZXIncyBwcm9qZWN0XG5jb25zdCBwcm9qZWN0Um9vdCA9IHByb2Nlc3MuZW52W1wibnBtX2NvbmZpZ19sb2NhbF9wcmVmaXhcIl0gfHwgcHJvY2Vzcy5jd2QoKTtcbmNvbnN0IHByb2plY3RSZXF1aXJlID0gY3JlYXRlUmVxdWlyZShqb2luKHByb2plY3RSb290LCBcInBhY2thZ2UuanNvblwiKSk7XG5jb25zdCBSZWFjdERPTVNlcnZlciA9IHByb2plY3RSZXF1aXJlKFwicmVhY3QtZG9tL3NlcnZlclwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3QtZG9tL3NlcnZlclwiKTtcbmNvbnN0IFJlYWN0ID0gcHJvamVjdFJlcXVpcmUoXCJyZWFjdFwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3RcIik7XG5cbmV4cG9ydCB7IFJlYWN0RE9NU2VydmVyLCBSZWFjdCwgUmVhY3RET01DbGllbnQgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU1BLG9CQUFxQixFQUFBO0FBRXJCLE1BQU0sU0FBWSxHQUFBLE9BQUEsQ0FBUSxhQUFjLENBQUEsTUFBQSxDQUFBLElBQUEsQ0FBWSxHQUFHLENBQUMsQ0FBQTtBQUN4RCxTQUFTLFdBQXNCLEdBQUE7QUFDN0IsRUFBQSxJQUFJLEdBQU0sR0FBQSxTQUFBO0FBQ1YsRUFBQSxLQUFBLElBQVMsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFJLEdBQUEsQ0FBQSxFQUFHLENBQUssRUFBQSxFQUFBO0FBQzFCLElBQUEsSUFBSSxXQUFXLElBQUssQ0FBQSxHQUFBLEVBQUssb0JBQW9CLHNCQUFzQixDQUFDLEdBQVUsT0FBQSxHQUFBO0FBQzlFLElBQUEsR0FBQSxHQUFNLFFBQVEsR0FBRyxDQUFBO0FBQUE7QUFFbkIsRUFBTyxPQUFBLE9BQUEsQ0FBUSxPQUFRLENBQUEsU0FBUyxDQUFDLENBQUE7QUFDbkM7QUFDQSxNQUFNLE1BQVMsR0FBQSxJQUFBLENBQUssV0FBWSxFQUFBLEVBQUcsa0JBQWtCLENBQUE7QUFHckQsTUFBTSxnQkFBZ0IsYUFBYyxDQUFBLElBQUEsQ0FBSyxNQUFRLEVBQUEsc0JBQUEsRUFBd0IsY0FBYyxDQUFDLENBQUE7QUFDbEYsTUFBQSxjQUFBLEdBQWlCLGNBQWMsa0NBQWtDO0FBR3ZFLE1BQU0sY0FBYyxPQUFRLENBQUEsR0FBQSxDQUFJLHlCQUF5QixDQUFBLElBQUssUUFBUSxHQUFJLEVBQUE7QUFDMUUsTUFBTSxjQUFpQixHQUFBLGFBQUEsQ0FBYyxJQUFLLENBQUEsV0FBQSxFQUFhLGNBQWMsQ0FBQyxDQUFBO0FBQ2hFLE1BQUEsY0FBQSxHQUFpQixlQUFlLGtCQUFrQjtBQUNsRCxNQUFBLEtBQUEsR0FBUSxlQUFlLE9BQU87Ozs7In0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor.server.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vendor.server.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.server.ts"],"names":[],"mappings":"AAkBA,QAAA,MAAM,cAAc,EAAwD,cAAc,kCAAkC,CAAC,CAAC;AAK9H,QAAA,MAAM,KAAK,EAA8B,cAAc,OAAO,CAAC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACjC,mBAAmB,kCAAkC,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,cAAc,OAAO,CAAC,CAAC"}
|
|
@@ -4,12 +4,25 @@
|
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
6
|
import { createRequire } from 'node:module';
|
|
7
|
-
import { join } from 'node:path';
|
|
7
|
+
import { dirname, join } from 'node:path';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { existsSync } from 'node:fs';
|
|
8
10
|
|
|
11
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
function findPkgRoot() {
|
|
13
|
+
let dir = __dirname;
|
|
14
|
+
for (let i = 0; i < 5; i++) {
|
|
15
|
+
if (existsSync(join(dir, "oss-experimental", "react-server-dom-esm"))) return dir;
|
|
16
|
+
dir = dirname(dir);
|
|
17
|
+
}
|
|
18
|
+
return dirname(dirname(__dirname));
|
|
19
|
+
}
|
|
20
|
+
const ossDir = join(findPkgRoot(), "oss-experimental");
|
|
21
|
+
const vendorRequire = createRequire(join(ossDir, "react-server-dom-esm", "package.json"));
|
|
22
|
+
const ReactDOMServer = vendorRequire("react-server-dom-esm/server.node");
|
|
9
23
|
const projectRoot = process.env["npm_config_local_prefix"] || process.cwd();
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const React = nodeRequire("react");
|
|
24
|
+
const projectRequire = createRequire(join(projectRoot, "package.json"));
|
|
25
|
+
const React = projectRequire("react");
|
|
13
26
|
|
|
14
27
|
export { React, ReactDOMServer };
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3Iuc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcblxuY29uc3QgX19kaXJuYW1lID0gZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuZnVuY3Rpb24gZmluZFBrZ1Jvb3QoKTogc3RyaW5nIHtcbiAgbGV0IGRpciA9IF9fZGlybmFtZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICBpZiAoZXhpc3RzU3luYyhqb2luKGRpciwgXCJvc3MtZXhwZXJpbWVudGFsXCIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIikpKSByZXR1cm4gZGlyO1xuICAgIGRpciA9IGRpcm5hbWUoZGlyKTtcbiAgfVxuICByZXR1cm4gZGlybmFtZShkaXJuYW1lKF9fZGlybmFtZSkpO1xufVxuY29uc3Qgb3NzRGlyID0gam9pbihmaW5kUGtnUm9vdCgpLCBcIm9zcy1leHBlcmltZW50YWxcIik7XG5cbi8vIFJlc29sdmUgcmVhY3Qtc2VydmVyLWRvbS1lc20gZnJvbSBvdXIgdmVuZG9yZWQgY29weVxuY29uc3QgdmVuZG9yUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoam9pbihvc3NEaXIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIiwgXCJwYWNrYWdlLmpzb25cIikpO1xuY29uc3QgUmVhY3RET01TZXJ2ZXIgPSB2ZW5kb3JSZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS1lc20vc2VydmVyLm5vZGVcIikgYXMgdHlwZW9mIGltcG9ydChcInJlYWN0LXNlcnZlci1kb20tZXNtL3NlcnZlci5ub2RlXCIpO1xuXG4vLyBSZWFjdCBzdGlsbCBjb21lcyBmcm9tIHRoZSBjb25zdW1lcidzIHByb2plY3RcbmNvbnN0IHByb2plY3RSb290ID0gcHJvY2Vzcy5lbnZbXCJucG1fY29uZmlnX2xvY2FsX3ByZWZpeFwiXSB8fCBwcm9jZXNzLmN3ZCgpO1xuY29uc3QgcHJvamVjdFJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4ocHJvamVjdFJvb3QsIFwicGFja2FnZS5qc29uXCIpKTtcbmNvbnN0IFJlYWN0ID0gcHJvamVjdFJlcXVpcmUoXCJyZWFjdFwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3RcIik7XG5cbmV4cG9ydCB7IFJlYWN0RE9NU2VydmVyLCBSZWFjdCB9O1xuZXhwb3J0IHR5cGUgKiBmcm9tIFwicmVhY3Qtc2VydmVyLWRvbS1lc20vc2VydmVyLm5vZGVcIjtcbmV4cG9ydCB0eXBlIFJlYWN0ID0gdHlwZW9mIGltcG9ydChcInJlYWN0XCIpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFLQSxNQUFNLFNBQVksR0FBQSxPQUFBLENBQVEsYUFBYyxDQUFBLE1BQUEsQ0FBQSxJQUFBLENBQVksR0FBRyxDQUFDLENBQUE7QUFDeEQsU0FBUyxXQUFzQixHQUFBO0FBQzdCLEVBQUEsSUFBSSxHQUFNLEdBQUEsU0FBQTtBQUNWLEVBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFLLEVBQUEsRUFBQTtBQUMxQixJQUFBLElBQUksV0FBVyxJQUFLLENBQUEsR0FBQSxFQUFLLG9CQUFvQixzQkFBc0IsQ0FBQyxHQUFVLE9BQUEsR0FBQTtBQUM5RSxJQUFBLEdBQUEsR0FBTSxRQUFRLEdBQUcsQ0FBQTtBQUFBO0FBRW5CLEVBQU8sT0FBQSxPQUFBLENBQVEsT0FBUSxDQUFBLFNBQVMsQ0FBQyxDQUFBO0FBQ25DO0FBQ0EsTUFBTSxNQUFTLEdBQUEsSUFBQSxDQUFLLFdBQVksRUFBQSxFQUFHLGtCQUFrQixDQUFBO0FBR3JELE1BQU0sZ0JBQWdCLGFBQWMsQ0FBQSxJQUFBLENBQUssTUFBUSxFQUFBLHNCQUFBLEVBQXdCLGNBQWMsQ0FBQyxDQUFBO0FBQ2xGLE1BQUEsY0FBQSxHQUFpQixjQUFjLGtDQUFrQztBQUd2RSxNQUFNLGNBQWMsT0FBUSxDQUFBLEdBQUEsQ0FBSSx5QkFBeUIsQ0FBQSxJQUFLLFFBQVEsR0FBSSxFQUFBO0FBQzFFLE1BQU0sY0FBaUIsR0FBQSxhQUFBLENBQWMsSUFBSyxDQUFBLFdBQUEsRUFBYSxjQUFjLENBQUMsQ0FBQTtBQUNoRSxNQUFBLEtBQUEsR0FBUSxlQUFlLE9BQU87Ozs7In0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor.static.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.static.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vendor.static.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.static.ts"],"names":[],"mappings":"AAkBA,QAAA,MAAM,cAAc,EAAwD,cAAc,kCAAkC,CAAC,CAAC;AAK9H,QAAA,MAAM,KAAK,EAA8B,cAAc,OAAO,CAAC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -4,12 +4,25 @@
|
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
6
|
import { createRequire } from 'node:module';
|
|
7
|
-
import { join } from 'node:path';
|
|
7
|
+
import { dirname, join } from 'node:path';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
import { existsSync } from 'node:fs';
|
|
8
10
|
|
|
11
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
function findPkgRoot() {
|
|
13
|
+
let dir = __dirname;
|
|
14
|
+
for (let i = 0; i < 5; i++) {
|
|
15
|
+
if (existsSync(join(dir, "oss-experimental", "react-server-dom-esm"))) return dir;
|
|
16
|
+
dir = dirname(dir);
|
|
17
|
+
}
|
|
18
|
+
return dirname(dirname(__dirname));
|
|
19
|
+
}
|
|
20
|
+
const ossDir = join(findPkgRoot(), "oss-experimental");
|
|
21
|
+
const vendorRequire = createRequire(join(ossDir, "react-server-dom-esm", "package.json"));
|
|
22
|
+
const ReactDOMServer = vendorRequire("react-server-dom-esm/static.node");
|
|
9
23
|
const projectRoot = process.env["npm_config_local_prefix"] || process.cwd();
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const React = nodeRequire("react");
|
|
24
|
+
const projectRequire = createRequire(join(projectRoot, "package.json"));
|
|
25
|
+
const React = projectRequire("react");
|
|
13
26
|
|
|
14
27
|
export { React, ReactDOMServer };
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLnN0YXRpYy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3Iuc3RhdGljLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcblxuY29uc3QgX19kaXJuYW1lID0gZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuZnVuY3Rpb24gZmluZFBrZ1Jvb3QoKTogc3RyaW5nIHtcbiAgbGV0IGRpciA9IF9fZGlybmFtZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICBpZiAoZXhpc3RzU3luYyhqb2luKGRpciwgXCJvc3MtZXhwZXJpbWVudGFsXCIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIikpKSByZXR1cm4gZGlyO1xuICAgIGRpciA9IGRpcm5hbWUoZGlyKTtcbiAgfVxuICByZXR1cm4gZGlybmFtZShkaXJuYW1lKF9fZGlybmFtZSkpO1xufVxuY29uc3Qgb3NzRGlyID0gam9pbihmaW5kUGtnUm9vdCgpLCBcIm9zcy1leHBlcmltZW50YWxcIik7XG5cbi8vIFJlc29sdmUgcmVhY3Qtc2VydmVyLWRvbS1lc20gZnJvbSBvdXIgdmVuZG9yZWQgY29weVxuY29uc3QgdmVuZG9yUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoam9pbihvc3NEaXIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIiwgXCJwYWNrYWdlLmpzb25cIikpO1xuY29uc3QgUmVhY3RET01TZXJ2ZXIgPSB2ZW5kb3JSZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS1lc20vc3RhdGljLm5vZGVcIikgYXMgdHlwZW9mIGltcG9ydChcInJlYWN0LXNlcnZlci1kb20tZXNtL3N0YXRpYy5ub2RlXCIpO1xuXG4vLyBSZWFjdCBzdGlsbCBjb21lcyBmcm9tIHRoZSBjb25zdW1lcidzIHByb2plY3RcbmNvbnN0IHByb2plY3RSb290ID0gcHJvY2Vzcy5lbnZbXCJucG1fY29uZmlnX2xvY2FsX3ByZWZpeFwiXSB8fCBwcm9jZXNzLmN3ZCgpO1xuY29uc3QgcHJvamVjdFJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4ocHJvamVjdFJvb3QsIFwicGFja2FnZS5qc29uXCIpKTtcbmNvbnN0IFJlYWN0ID0gcHJvamVjdFJlcXVpcmUoXCJyZWFjdFwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3RcIik7XG5cbmV4cG9ydCB7IFJlYWN0RE9NU2VydmVyLCBSZWFjdCB9O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFLQSxNQUFNLFNBQVksR0FBQSxPQUFBLENBQVEsYUFBYyxDQUFBLE1BQUEsQ0FBQSxJQUFBLENBQVksR0FBRyxDQUFDLENBQUE7QUFDeEQsU0FBUyxXQUFzQixHQUFBO0FBQzdCLEVBQUEsSUFBSSxHQUFNLEdBQUEsU0FBQTtBQUNWLEVBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFLLEVBQUEsRUFBQTtBQUMxQixJQUFBLElBQUksV0FBVyxJQUFLLENBQUEsR0FBQSxFQUFLLG9CQUFvQixzQkFBc0IsQ0FBQyxHQUFVLE9BQUEsR0FBQTtBQUM5RSxJQUFBLEdBQUEsR0FBTSxRQUFRLEdBQUcsQ0FBQTtBQUFBO0FBRW5CLEVBQU8sT0FBQSxPQUFBLENBQVEsT0FBUSxDQUFBLFNBQVMsQ0FBQyxDQUFBO0FBQ25DO0FBQ0EsTUFBTSxNQUFTLEdBQUEsSUFBQSxDQUFLLFdBQVksRUFBQSxFQUFHLGtCQUFrQixDQUFBO0FBR3JELE1BQU0sZ0JBQWdCLGFBQWMsQ0FBQSxJQUFBLENBQUssTUFBUSxFQUFBLHNCQUFBLEVBQXdCLGNBQWMsQ0FBQyxDQUFBO0FBQ2xGLE1BQUEsY0FBQSxHQUFpQixjQUFjLGtDQUFrQztBQUd2RSxNQUFNLGNBQWMsT0FBUSxDQUFBLEdBQUEsQ0FBSSx5QkFBeUIsQ0FBQSxJQUFLLFFBQVEsR0FBSSxFQUFBO0FBQzFFLE1BQU0sY0FBaUIsR0FBQSxhQUFBLENBQWMsSUFBSyxDQUFBLFdBQUEsRUFBYSxjQUFjLENBQUMsQ0FBQTtBQUNoRSxNQUFBLEtBQUEsR0FBUSxlQUFlLE9BQU87Ozs7In0=
|