vite-plugin-react-server 1.4.0 → 1.4.2
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 +4 -4
- package/dist/package.json +1 -1
- package/dist/plugin/dev-server/configureReactServer.client.js +1 -1
- package/dist/plugin/dev-server/configureReactServer.server.d.ts.map +1 -1
- package/dist/plugin/dev-server/configureReactServer.server.js +5 -8
- package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -1
- package/dist/plugin/dev-server/plugin.client.js +7 -14
- package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -1
- package/dist/plugin/dev-server/plugin.server.js +2 -36
- package/dist/plugin/error/index.d.ts +1 -2
- package/dist/plugin/error/index.d.ts.map +1 -1
- package/dist/plugin/error/index.js +2 -3
- package/dist/plugin/error/panicThresholdHandler.js +14 -3
- package/dist/plugin/error/setupGlobalErrorHandler.d.ts.map +1 -1
- package/dist/plugin/error/setupGlobalErrorHandler.js +23 -16
- package/dist/plugin/helpers/createRscRenderHelpers.d.ts +0 -5
- package/dist/plugin/helpers/createRscRenderHelpers.d.ts.map +1 -1
- package/dist/plugin/helpers/createRscRenderHelpers.js +0 -22
- package/dist/plugin/helpers/headlessStreamState.d.ts +0 -38
- package/dist/plugin/helpers/headlessStreamState.d.ts.map +1 -1
- package/dist/plugin/helpers/headlessStreamState.js +0 -48
- package/dist/plugin/helpers/index.d.ts +0 -3
- package/dist/plugin/helpers/index.d.ts.map +1 -1
- package/dist/plugin/helpers/index.js +1 -4
- package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
- package/dist/plugin/helpers/requestInfo.js +5 -4
- package/dist/plugin/helpers/requestToRoute.d.ts.map +1 -1
- package/dist/plugin/helpers/requestToRoute.js +2 -2
- package/dist/plugin/helpers/workerCleanup.d.ts +1 -12
- package/dist/plugin/helpers/workerCleanup.d.ts.map +1 -1
- package/dist/plugin/helpers/workerCleanup.js +1 -1
- package/dist/plugin/loader/directives/index.d.ts +0 -1
- package/dist/plugin/loader/directives/index.d.ts.map +1 -1
- package/dist/plugin/loader/directives/index.js +1 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/plugin/dev-server/configureReactServer.client.ts +1 -1
- package/plugin/dev-server/configureReactServer.server.ts +7 -10
- package/plugin/dev-server/plugin.client.ts +14 -20
- package/plugin/dev-server/plugin.server.ts +2 -49
- package/plugin/error/index.ts +1 -2
- package/plugin/error/setupGlobalErrorHandler.ts +24 -25
- package/plugin/helpers/createRscRenderHelpers.ts +0 -29
- package/plugin/helpers/headlessStreamState.ts +0 -69
- package/plugin/helpers/index.ts +0 -3
- package/plugin/helpers/requestInfo.ts +6 -4
- package/plugin/helpers/requestToRoute.ts +3 -2
- package/plugin/helpers/workerCleanup.ts +1 -38
- package/plugin/loader/directives/index.ts +0 -1
- package/plugin/transformer/README.md +1 -1
- package/plugin/worker/html/README.md +1 -1
- package/plugin/worker/rsc/README.md +1 -1
- package/dist/plugin/error/assertPanic.d.ts +0 -2
- package/dist/plugin/error/assertPanic.d.ts.map +0 -1
- package/dist/plugin/error/assertPanic.js +0 -15
- package/dist/plugin/error/directiveError.d.ts +0 -13
- package/dist/plugin/error/directiveError.d.ts.map +0 -1
- package/dist/plugin/error/directiveError.js +0 -21
- package/dist/plugin/error/enhanceError.d.ts +0 -14
- package/dist/plugin/error/enhanceError.d.ts.map +0 -1
- package/dist/plugin/error/enhanceError.js +0 -24
- package/dist/plugin/helpers/createSafePageComponent.d.ts +0 -36
- package/dist/plugin/helpers/createSafePageComponent.d.ts.map +0 -1
- package/dist/plugin/helpers/createSafePageComponent.js +0 -50
- package/dist/plugin/helpers/moduleResolver.d.ts +0 -25
- package/dist/plugin/helpers/moduleResolver.d.ts.map +0 -1
- package/dist/plugin/helpers/moduleResolver.js +0 -64
- package/dist/plugin/helpers/stashReturnValue.d.ts +0 -3
- package/dist/plugin/helpers/stashReturnValue.d.ts.map +0 -1
- package/dist/plugin/helpers/stashReturnValue.js +0 -23
- package/dist/plugin/helpers/workerManager.d.ts +0 -5
- package/dist/plugin/helpers/workerManager.d.ts.map +0 -1
- package/dist/plugin/helpers/workerManager.js +0 -18
- package/dist/plugin/loader/directives/collectExportsFromModule.d.ts +0 -6
- package/dist/plugin/loader/directives/collectExportsFromModule.d.ts.map +0 -1
- package/dist/plugin/loader/directives/collectExportsFromModule.js +0 -24
- package/plugin/error/assertPanic.ts +0 -9
- package/plugin/error/directiveError.ts +0 -29
- package/plugin/error/enhanceError.ts +0 -41
- package/plugin/helpers/createSafePageComponent.ts +0 -64
- package/plugin/helpers/moduleResolver.ts +0 -91
- package/plugin/helpers/stashReturnValue.ts +0 -19
- package/plugin/helpers/workerManager.ts +0 -16
- package/plugin/loader/directives/collectExportsFromModule.ts +0 -25
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vite-plugin-react-server
|
|
3
|
-
* Copyright (c) Nico Brinkkemper
|
|
4
|
-
* MIT License
|
|
5
|
-
*/
|
|
6
|
-
function enhanceError(originalError, captureStackTraceFunction, context = captureStackTraceFunction.name) {
|
|
7
|
-
const baseMessage = typeof originalError === "string" ? originalError : originalError.message;
|
|
8
|
-
const contextualError = createContextualError(baseMessage, context, captureStackTraceFunction || enhanceError);
|
|
9
|
-
contextualError.cause = originalError;
|
|
10
|
-
return contextualError;
|
|
11
|
-
}
|
|
12
|
-
function createContextualError(message, context = "", captureStackTraceFunction) {
|
|
13
|
-
const contextualMessage = context && context !== "" ? `[${context}:error] ${message}` : message;
|
|
14
|
-
const error = new Error(contextualMessage);
|
|
15
|
-
error.name = "ContextualError";
|
|
16
|
-
Error.captureStackTrace(
|
|
17
|
-
error,
|
|
18
|
-
captureStackTraceFunction || createContextualError
|
|
19
|
-
);
|
|
20
|
-
return error;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { createContextualError, enhanceError };
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5oYW5jZUVycm9yLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vZXJyb3IvZW5oYW5jZUVycm9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBhIG5ldyBlcnJvciB3aXRoIGNvbnRleHQgZnJvbSBhbnkgaW5wdXQuXG4gKiBBbHdheXMgY3JlYXRlcyBhIGZyZXNoIHN0YWNrIHRyYWNlIGFuZCBzZXRzIHRoZSBvcmlnaW5hbCBhcyB0aGUgY2F1c2UuXG4gKiBUaGlzIGlzIHRoZSBwcmVmZXJyZWQgd2F5IHRvIHdyYXAgZXJyb3JzIHdpdGggY29udGV4dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuaGFuY2VFcnJvcihcbiAgb3JpZ2luYWxFcnJvcjogRXJyb3IgfCBzdHJpbmcgfCB7bWVzc2FnZTogc3RyaW5nfSxcbiAgY2FwdHVyZVN0YWNrVHJhY2VGdW5jdGlvbjogRnVuY3Rpb24sXG4gIGNvbnRleHQ6IHN0cmluZyA9IGNhcHR1cmVTdGFja1RyYWNlRnVuY3Rpb24ubmFtZSxcbik6IEVycm9yIHtcbiAgY29uc3QgYmFzZU1lc3NhZ2UgPSB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ3N0cmluZycgPyBvcmlnaW5hbEVycm9yIDogb3JpZ2luYWxFcnJvci5tZXNzYWdlO1xuICBcbiAgY29uc3QgY29udGV4dHVhbEVycm9yID0gY3JlYXRlQ29udGV4dHVhbEVycm9yKGJhc2VNZXNzYWdlLCBjb250ZXh0LCBjYXB0dXJlU3RhY2tUcmFjZUZ1bmN0aW9uIHx8IGVuaGFuY2VFcnJvcik7XG4gIFxuICAvLyBTZXQgdGhlIG9yaWdpbmFsIGFzIHRoZSBjYXVzZSBmb3IgdHJhY2VhYmlsaXR5XG4gIGNvbnRleHR1YWxFcnJvci5jYXVzZSA9IG9yaWdpbmFsRXJyb3I7XG4gIFxuICByZXR1cm4gY29udGV4dHVhbEVycm9yO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgZXJyb3Igd2l0aCBjb250ZXh0IGFuZCBjYXB0dXJlZCBzdGFjayB0cmFjZVxuICogVXNlZnVsIGZvciBjcmVhdGluZyBjb250ZXh0dWFsIGVycm9ycyBhdCBzcGVjaWZpYyBwb2ludHMgaW4gdGhlIGNvZGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbnRleHR1YWxFcnJvcihcbiAgbWVzc2FnZTogc3RyaW5nLFxuICBjb250ZXh0OiBzdHJpbmcgPSAnJyxcbiAgY2FwdHVyZVN0YWNrVHJhY2VGdW5jdGlvbj86IEZ1bmN0aW9uXG4pOiBFcnJvciB7XG4gIGNvbnN0IGNvbnRleHR1YWxNZXNzYWdlID0gY29udGV4dCAmJiBjb250ZXh0ICE9PSAnJyA/IGBbJHtjb250ZXh0fTplcnJvcl0gJHttZXNzYWdlfWAgOiBtZXNzYWdlO1xuICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihjb250ZXh0dWFsTWVzc2FnZSk7XG4gIGVycm9yLm5hbWUgPSBcIkNvbnRleHR1YWxFcnJvclwiO1xuXG4gIC8vIENhcHR1cmUgc3RhY2sgdHJhY2UgZXhjbHVkaW5nIHRoaXMgZnVuY3Rpb24gKG9yIHRoZSBzcGVjaWZpZWQgZnVuY3Rpb24pXG4gIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKFxuICAgIGVycm9yLFxuICAgIGNhcHR1cmVTdGFja1RyYWNlRnVuY3Rpb24gfHwgY3JlYXRlQ29udGV4dHVhbEVycm9yXG4gICk7XG5cbiAgcmV0dXJuIGVycm9yO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBS08sU0FBUyxZQUNkLENBQUEsYUFBQSxFQUNBLHlCQUNBLEVBQUEsT0FBQSxHQUFrQiwwQkFBMEIsSUFDckMsRUFBQTtBQUNQLEVBQUEsTUFBTSxXQUFjLEdBQUEsT0FBTyxhQUFrQixLQUFBLFFBQUEsR0FBVyxnQkFBZ0IsYUFBYyxDQUFBLE9BQUE7QUFFdEYsRUFBQSxNQUFNLGVBQWtCLEdBQUEscUJBQUEsQ0FBc0IsV0FBYSxFQUFBLE9BQUEsRUFBUyw2QkFBNkIsWUFBWSxDQUFBO0FBRzdHLEVBQUEsZUFBQSxDQUFnQixLQUFRLEdBQUEsYUFBQTtBQUV4QixFQUFPLE9BQUEsZUFBQTtBQUNUO0FBTU8sU0FBUyxxQkFDZCxDQUFBLE9BQUEsRUFDQSxPQUFrQixHQUFBLEVBQUEsRUFDbEIseUJBQ08sRUFBQTtBQUNQLEVBQU0sTUFBQSxpQkFBQSxHQUFvQixXQUFXLE9BQVksS0FBQSxFQUFBLEdBQUssSUFBSSxPQUFPLENBQUEsUUFBQSxFQUFXLE9BQU8sQ0FBSyxDQUFBLEdBQUEsT0FBQTtBQUN4RixFQUFNLE1BQUEsS0FBQSxHQUFRLElBQUksS0FBQSxDQUFNLGlCQUFpQixDQUFBO0FBQ3pDLEVBQUEsS0FBQSxDQUFNLElBQU8sR0FBQSxpQkFBQTtBQUdiLEVBQU0sS0FBQSxDQUFBLGlCQUFBO0FBQUEsSUFDSixLQUFBO0FBQUEsSUFDQSx5QkFBNkIsSUFBQTtBQUFBLEdBQy9CO0FBRUEsRUFBTyxPQUFBLEtBQUE7QUFDVDs7OzsifQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Creates a safe Page component that doesn't throw errors.
|
|
3
|
-
* Used when headless streams have errors to prevent errors from reaching the HTML worker.
|
|
4
|
-
*
|
|
5
|
-
* @param errorMessage - Optional error message to display
|
|
6
|
-
* @returns A safe React component that renders a div with error content
|
|
7
|
-
*/
|
|
8
|
-
export declare function createSafePageComponent(errorMessage?: string): () => import("react").DetailedReactHTMLElement<{
|
|
9
|
-
id: string;
|
|
10
|
-
}, HTMLElement>;
|
|
11
|
-
/**
|
|
12
|
-
* Creates a fallback Page component using React.Fragment.
|
|
13
|
-
* Used by RSC worker for consistent fallback behavior.
|
|
14
|
-
*
|
|
15
|
-
* @returns React.Fragment as a safe fallback
|
|
16
|
-
*/
|
|
17
|
-
export declare function createFallbackPageComponent(): import("react").ExoticComponent<import("react").FragmentProps>;
|
|
18
|
-
/**
|
|
19
|
-
* Determines if a Page component should be replaced with a safe fallback.
|
|
20
|
-
*
|
|
21
|
-
* @param hasHeadlessError - Whether the headless stream had errors
|
|
22
|
-
* @param isHeadless - Whether this is a headless stream
|
|
23
|
-
* @returns true if a safe fallback should be used
|
|
24
|
-
*/
|
|
25
|
-
export declare function shouldUseSafePageComponent(hasHeadlessError: boolean, isHeadless: boolean): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Creates the appropriate Page component based on error state.
|
|
28
|
-
*
|
|
29
|
-
* @param originalPageComponent - The original Page component
|
|
30
|
-
* @param hasHeadlessError - Whether the headless stream had errors
|
|
31
|
-
* @param isHeadless - Whether this is a headless stream
|
|
32
|
-
* @param useReactFragment - Whether to use React.Fragment (RSC worker style) or div (server style)
|
|
33
|
-
* @returns The appropriate Page component to use
|
|
34
|
-
*/
|
|
35
|
-
export declare function createPageComponentWithErrorHandling(originalPageComponent: any, hasHeadlessError: boolean, isHeadless: boolean, useReactFragment?: boolean): any;
|
|
36
|
-
//# sourceMappingURL=createSafePageComponent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createSafePageComponent.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/createSafePageComponent.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,GAAE,MAA0C;;gBAE/F;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,mEAE1C;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,OAAO,EACzB,UAAU,EAAE,OAAO,GAClB,OAAO,CAQT;AAED;;;;;;;;GAQG;AACH,wBAAgB,oCAAoC,CAClD,qBAAqB,EAAE,GAAG,EAC1B,gBAAgB,EAAE,OAAO,EACzB,UAAU,EAAE,OAAO,EACnB,gBAAgB,GAAE,OAAe,OAOlC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { React } from "../vendor/vendor.server.js";
|
|
2
|
-
/**
|
|
3
|
-
* Creates a safe Page component that doesn't throw errors.
|
|
4
|
-
* Used when headless streams have errors to prevent errors from reaching the HTML worker.
|
|
5
|
-
*
|
|
6
|
-
* @param errorMessage - Optional error message to display
|
|
7
|
-
* @returns A safe React component that renders a div with error content
|
|
8
|
-
*/
|
|
9
|
-
export function createSafePageComponent(errorMessage = "Error occurred during rendering") {
|
|
10
|
-
return () => React.createElement("div", { id: "root" }, errorMessage);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Creates a fallback Page component using React.Fragment.
|
|
14
|
-
* Used by RSC worker for consistent fallback behavior.
|
|
15
|
-
*
|
|
16
|
-
* @returns React.Fragment as a safe fallback
|
|
17
|
-
*/
|
|
18
|
-
export function createFallbackPageComponent() {
|
|
19
|
-
return React.Fragment;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Determines if a Page component should be replaced with a safe fallback.
|
|
23
|
-
*
|
|
24
|
-
* @param hasHeadlessError - Whether the headless stream had errors
|
|
25
|
-
* @param isHeadless - Whether this is a headless stream
|
|
26
|
-
* @returns true if a safe fallback should be used
|
|
27
|
-
*/
|
|
28
|
-
export function shouldUseSafePageComponent(hasHeadlessError, isHeadless) {
|
|
29
|
-
// For headless streams, never use fallback (let them error naturally)
|
|
30
|
-
if (isHeadless) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
// For full streams, use fallback if headless stream had errors
|
|
34
|
-
return hasHeadlessError;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Creates the appropriate Page component based on error state.
|
|
38
|
-
*
|
|
39
|
-
* @param originalPageComponent - The original Page component
|
|
40
|
-
* @param hasHeadlessError - Whether the headless stream had errors
|
|
41
|
-
* @param isHeadless - Whether this is a headless stream
|
|
42
|
-
* @param useReactFragment - Whether to use React.Fragment (RSC worker style) or div (server style)
|
|
43
|
-
* @returns The appropriate Page component to use
|
|
44
|
-
*/
|
|
45
|
-
export function createPageComponentWithErrorHandling(originalPageComponent, hasHeadlessError, isHeadless, useReactFragment = false) {
|
|
46
|
-
if (shouldUseSafePageComponent(hasHeadlessError, isHeadless)) {
|
|
47
|
-
return useReactFragment ? createFallbackPageComponent() : createSafePageComponent();
|
|
48
|
-
}
|
|
49
|
-
return originalPageComponent;
|
|
50
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { ResolveHookContext } from "node:module";
|
|
2
|
-
type ResolveFunction = (specifier: string, context: ResolveHookContext, nextResolve?: ResolveFunction) => Promise<{
|
|
3
|
-
url: string;
|
|
4
|
-
shortCircuit: boolean;
|
|
5
|
-
}>;
|
|
6
|
-
type GetSourceHookContext = {
|
|
7
|
-
format: string;
|
|
8
|
-
url: string;
|
|
9
|
-
};
|
|
10
|
-
type GetSourceFunction = (url: string, context: GetSourceHookContext, defaultGetSource: GetSourceFunction) => Promise<{
|
|
11
|
-
source: string | ArrayBuffer | SharedArrayBuffer | Uint8Array;
|
|
12
|
-
}>;
|
|
13
|
-
export declare function setStashedResolve(resolve: ResolveFunction): void;
|
|
14
|
-
export declare function setStashedGetSource(getSource: GetSourceFunction): void;
|
|
15
|
-
export declare function resolve(specifier: string, context: ResolveHookContext, defaultResolve: ResolveFunction): Promise<{
|
|
16
|
-
url: string;
|
|
17
|
-
shortCircuit: boolean;
|
|
18
|
-
}>;
|
|
19
|
-
export declare function getSource(url: string, context: GetSourceHookContext, defaultGetSource: GetSourceFunction): Promise<{
|
|
20
|
-
source: string | ArrayBuffer | SharedArrayBuffer | Uint8Array;
|
|
21
|
-
}>;
|
|
22
|
-
export declare function resolveClientImport(specifier: string, parentURL: string): Promise<string>;
|
|
23
|
-
export declare function loadClientSource(url: string): Promise<string | ArrayBuffer | SharedArrayBuffer | Uint8Array<ArrayBufferLike>>;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=moduleResolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moduleResolver.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/moduleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,KAAK,eAAe,GAAG,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,CAAC,EAAE,eAAe,KAC1B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAErD,KAAK,oBAAoB,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,iBAAiB,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,iBAAiB,KAChC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU,CAAA;CAAE,CAAC,CAAC;AAKhF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,QAEzD;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,QAE/D;AAED,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe;SAxBzF,MAAM;kBAAgB,OAAO;GAqChD;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB;YA5BxF,MAAM,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU;GAgC3E;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAoB7E;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,mFAiBjD"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vite-plugin-react-server
|
|
3
|
-
* Copyright (c) Nico Brinkkemper
|
|
4
|
-
* MIT License
|
|
5
|
-
*/
|
|
6
|
-
let stashedResolve = null;
|
|
7
|
-
let stashedGetSource = null;
|
|
8
|
-
function setStashedResolve(resolve2) {
|
|
9
|
-
stashedResolve = resolve2;
|
|
10
|
-
}
|
|
11
|
-
function setStashedGetSource(getSource2) {
|
|
12
|
-
stashedGetSource = getSource2;
|
|
13
|
-
}
|
|
14
|
-
async function resolve(specifier, context, defaultResolve) {
|
|
15
|
-
stashedResolve = defaultResolve;
|
|
16
|
-
if (!context.conditions.includes("react-server")) {
|
|
17
|
-
context = {
|
|
18
|
-
...context,
|
|
19
|
-
conditions: [...context.conditions, "react-server"]
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
return await defaultResolve(specifier, context, defaultResolve);
|
|
23
|
-
}
|
|
24
|
-
async function getSource(url, context, defaultGetSource) {
|
|
25
|
-
stashedGetSource = defaultGetSource;
|
|
26
|
-
return defaultGetSource(url, context, defaultGetSource);
|
|
27
|
-
}
|
|
28
|
-
async function resolveClientImport(specifier, parentURL) {
|
|
29
|
-
const conditions = ["node", "import"];
|
|
30
|
-
if (stashedResolve === null) {
|
|
31
|
-
throw new Error(
|
|
32
|
-
"Expected resolve to have been called before transformSource"
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
const result = await stashedResolve(
|
|
36
|
-
specifier,
|
|
37
|
-
{
|
|
38
|
-
conditions,
|
|
39
|
-
parentURL,
|
|
40
|
-
importAttributes: {}
|
|
41
|
-
},
|
|
42
|
-
stashedResolve
|
|
43
|
-
);
|
|
44
|
-
return result.url;
|
|
45
|
-
}
|
|
46
|
-
async function loadClientSource(url) {
|
|
47
|
-
if (stashedGetSource === null) {
|
|
48
|
-
throw new Error(
|
|
49
|
-
"Expected getSource to have been called before loadClientSource"
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
const result = await stashedGetSource(
|
|
53
|
-
url,
|
|
54
|
-
{
|
|
55
|
-
format: "module",
|
|
56
|
-
url
|
|
57
|
-
},
|
|
58
|
-
stashedGetSource
|
|
59
|
-
);
|
|
60
|
-
return result.source;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export { getSource, loadClientSource, resolve, resolveClientImport, setStashedGetSource, setStashedResolve };
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlUmVzb2x2ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL21vZHVsZVJlc29sdmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVzb2x2ZUhvb2tDb250ZXh0IH0gZnJvbSBcIm5vZGU6bW9kdWxlXCI7XG5cbnR5cGUgUmVzb2x2ZUZ1bmN0aW9uID0gKFxuICBzcGVjaWZpZXI6IHN0cmluZyxcbiAgY29udGV4dDogUmVzb2x2ZUhvb2tDb250ZXh0LFxuICBuZXh0UmVzb2x2ZT86IFJlc29sdmVGdW5jdGlvblxuKSA9PiBQcm9taXNlPHsgdXJsOiBzdHJpbmc7IHNob3J0Q2lyY3VpdDogYm9vbGVhbiB9PjtcblxudHlwZSBHZXRTb3VyY2VIb29rQ29udGV4dCA9IHtcbiAgZm9ybWF0OiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xufTtcblxudHlwZSBHZXRTb3VyY2VGdW5jdGlvbiA9IChcbiAgdXJsOiBzdHJpbmcsXG4gIGNvbnRleHQ6IEdldFNvdXJjZUhvb2tDb250ZXh0LFxuICBkZWZhdWx0R2V0U291cmNlOiBHZXRTb3VyY2VGdW5jdGlvblxuKSA9PiBQcm9taXNlPHsgc291cmNlOiBzdHJpbmcgfCBBcnJheUJ1ZmZlciB8IFNoYXJlZEFycmF5QnVmZmVyIHwgVWludDhBcnJheSB9PjtcblxubGV0IHN0YXNoZWRSZXNvbHZlOiBSZXNvbHZlRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcbmxldCBzdGFzaGVkR2V0U291cmNlOiBHZXRTb3VyY2VGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0U3Rhc2hlZFJlc29sdmUocmVzb2x2ZTogUmVzb2x2ZUZ1bmN0aW9uKSB7XG4gIHN0YXNoZWRSZXNvbHZlID0gcmVzb2x2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFN0YXNoZWRHZXRTb3VyY2UoZ2V0U291cmNlOiBHZXRTb3VyY2VGdW5jdGlvbikge1xuICBzdGFzaGVkR2V0U291cmNlID0gZ2V0U291cmNlO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZShzcGVjaWZpZXI6IHN0cmluZywgY29udGV4dDogUmVzb2x2ZUhvb2tDb250ZXh0LCBkZWZhdWx0UmVzb2x2ZTogUmVzb2x2ZUZ1bmN0aW9uKSB7XG4gIC8vIFdlIHN0YXNoIHRoaXMgaW4gY2FzZSB3ZSBlbmQgdXAgbmVlZGluZyB0byByZXNvbHZlIGV4cG9ydCAqIHN0YXRlbWVudHMgbGF0ZXIuXG4gIHN0YXNoZWRSZXNvbHZlID0gZGVmYXVsdFJlc29sdmU7XG4gIFxuICAvLyBBZGQgcmVhY3Qtc2VydmVyIGNvbmRpdGlvbiBpZiBub3QgcHJlc2VudFxuICBpZiAoIWNvbnRleHQuY29uZGl0aW9ucy5pbmNsdWRlcygncmVhY3Qtc2VydmVyJykpIHtcbiAgICBjb250ZXh0ID0ge1xuICAgICAgLi4uY29udGV4dCxcbiAgICAgIGNvbmRpdGlvbnM6IFsuLi5jb250ZXh0LmNvbmRpdGlvbnMsICdyZWFjdC1zZXJ2ZXInXVxuICAgIH07XG4gIH1cbiAgXG4gIHJldHVybiBhd2FpdCBkZWZhdWx0UmVzb2x2ZShzcGVjaWZpZXIsIGNvbnRleHQsIGRlZmF1bHRSZXNvbHZlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFNvdXJjZSh1cmw6IHN0cmluZywgY29udGV4dDogR2V0U291cmNlSG9va0NvbnRleHQsIGRlZmF1bHRHZXRTb3VyY2U6IEdldFNvdXJjZUZ1bmN0aW9uKSB7XG4gIC8vIFdlIHN0YXNoIHRoaXMgaW4gY2FzZSB3ZSBlbmQgdXAgbmVlZGluZyB0byByZXNvbHZlIGV4cG9ydCAqIHN0YXRlbWVudHMgbGF0ZXIuXG4gIHN0YXNoZWRHZXRTb3VyY2UgPSBkZWZhdWx0R2V0U291cmNlO1xuICByZXR1cm4gZGVmYXVsdEdldFNvdXJjZSh1cmwsIGNvbnRleHQsIGRlZmF1bHRHZXRTb3VyY2UpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUNsaWVudEltcG9ydChzcGVjaWZpZXI6IHN0cmluZywgcGFyZW50VVJMOiBzdHJpbmcpIHtcbiAgY29uc3QgY29uZGl0aW9ucyA9IFtcIm5vZGVcIiwgXCJpbXBvcnRcIl07XG5cbiAgaWYgKHN0YXNoZWRSZXNvbHZlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJFeHBlY3RlZCByZXNvbHZlIHRvIGhhdmUgYmVlbiBjYWxsZWQgYmVmb3JlIHRyYW5zZm9ybVNvdXJjZVwiXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0YXNoZWRSZXNvbHZlKFxuICAgIHNwZWNpZmllcixcbiAgICB7XG4gICAgICBjb25kaXRpb25zLFxuICAgICAgcGFyZW50VVJMLFxuICAgICAgaW1wb3J0QXR0cmlidXRlczoge31cbiAgICB9LFxuICAgIHN0YXNoZWRSZXNvbHZlXG4gICk7XG5cbiAgcmV0dXJuIHJlc3VsdC51cmw7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkQ2xpZW50U291cmNlKHVybDogc3RyaW5nKSB7XG4gIGlmIChzdGFzaGVkR2V0U291cmNlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJFeHBlY3RlZCBnZXRTb3VyY2UgdG8gaGF2ZSBiZWVuIGNhbGxlZCBiZWZvcmUgbG9hZENsaWVudFNvdXJjZVwiXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0YXNoZWRHZXRTb3VyY2UoXG4gICAgdXJsLFxuICAgIHtcbiAgICAgIGZvcm1hdDogXCJtb2R1bGVcIixcbiAgICAgIHVybFxuICAgIH0sXG4gICAgc3Rhc2hlZEdldFNvdXJjZVxuICApO1xuXG4gIHJldHVybiByZXN1bHQuc291cmNlO1xufSAiXSwibmFtZXMiOlsicmVzb2x2ZSIsImdldFNvdXJjZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFtQkEsSUFBSSxjQUF5QyxHQUFBLElBQUE7QUFDN0MsSUFBSSxnQkFBNkMsR0FBQSxJQUFBO0FBRTFDLFNBQVMsa0JBQWtCQSxRQUEwQixFQUFBO0FBQzFELEVBQWlCQSxjQUFBQSxHQUFBQSxRQUFBQTtBQUNuQjtBQUVPLFNBQVMsb0JBQW9CQyxVQUE4QixFQUFBO0FBQ2hFLEVBQW1CQSxnQkFBQUEsR0FBQUEsVUFBQUE7QUFDckI7QUFFQSxlQUFzQixPQUFBLENBQVEsU0FBbUIsRUFBQSxPQUFBLEVBQTZCLGNBQWlDLEVBQUE7QUFFN0csRUFBaUIsY0FBQSxHQUFBLGNBQUE7QUFHakIsRUFBQSxJQUFJLENBQUMsT0FBQSxDQUFRLFVBQVcsQ0FBQSxRQUFBLENBQVMsY0FBYyxDQUFHLEVBQUE7QUFDaEQsSUFBVSxPQUFBLEdBQUE7QUFBQSxNQUNSLEdBQUcsT0FBQTtBQUFBLE1BQ0gsVUFBWSxFQUFBLENBQUMsR0FBRyxPQUFBLENBQVEsWUFBWSxjQUFjO0FBQUEsS0FDcEQ7QUFBQTtBQUdGLEVBQUEsT0FBTyxNQUFNLGNBQUEsQ0FBZSxTQUFXLEVBQUEsT0FBQSxFQUFTLGNBQWMsQ0FBQTtBQUNoRTtBQUVBLGVBQXNCLFNBQUEsQ0FBVSxHQUFhLEVBQUEsT0FBQSxFQUErQixnQkFBcUMsRUFBQTtBQUUvRyxFQUFtQixnQkFBQSxHQUFBLGdCQUFBO0FBQ25CLEVBQU8sT0FBQSxnQkFBQSxDQUFpQixHQUFLLEVBQUEsT0FBQSxFQUFTLGdCQUFnQixDQUFBO0FBQ3hEO0FBRUEsZUFBc0IsbUJBQUEsQ0FBb0IsV0FBbUIsU0FBbUIsRUFBQTtBQUM5RSxFQUFNLE1BQUEsVUFBQSxHQUFhLENBQUMsTUFBQSxFQUFRLFFBQVEsQ0FBQTtBQUVwQyxFQUFBLElBQUksbUJBQW1CLElBQU0sRUFBQTtBQUMzQixJQUFBLE1BQU0sSUFBSSxLQUFBO0FBQUEsTUFDUjtBQUFBLEtBQ0Y7QUFBQTtBQUdGLEVBQUEsTUFBTSxTQUFTLE1BQU0sY0FBQTtBQUFBLElBQ25CLFNBQUE7QUFBQSxJQUNBO0FBQUEsTUFDRSxVQUFBO0FBQUEsTUFDQSxTQUFBO0FBQUEsTUFDQSxrQkFBa0I7QUFBQyxLQUNyQjtBQUFBLElBQ0E7QUFBQSxHQUNGO0FBRUEsRUFBQSxPQUFPLE1BQU8sQ0FBQSxHQUFBO0FBQ2hCO0FBRUEsZUFBc0IsaUJBQWlCLEdBQWEsRUFBQTtBQUNsRCxFQUFBLElBQUkscUJBQXFCLElBQU0sRUFBQTtBQUM3QixJQUFBLE1BQU0sSUFBSSxLQUFBO0FBQUEsTUFDUjtBQUFBLEtBQ0Y7QUFBQTtBQUdGLEVBQUEsTUFBTSxTQUFTLE1BQU0sZ0JBQUE7QUFBQSxJQUNuQixHQUFBO0FBQUEsSUFDQTtBQUFBLE1BQ0UsTUFBUSxFQUFBLFFBQUE7QUFBQSxNQUNSO0FBQUEsS0FDRjtBQUFBLElBQ0E7QUFBQSxHQUNGO0FBRUEsRUFBQSxPQUFPLE1BQU8sQ0FBQSxNQUFBO0FBQ2hCOzs7OyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stashReturnValue.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/stashReturnValue.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,wBAAwB,YAEpC,CAAC;AACF,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,KAAK,EACvE,IAAI,EAAE,KACL,EAYF,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vite-plugin-react-server
|
|
3
|
-
* Copyright (c) Nico Brinkkemper
|
|
4
|
-
* MIT License
|
|
5
|
-
*/
|
|
6
|
-
const stashedReturnValue = /* @__PURE__ */ new Map();
|
|
7
|
-
const clearStashedReturnValues = () => {
|
|
8
|
-
stashedReturnValue.clear();
|
|
9
|
-
};
|
|
10
|
-
const stashReturnValue = (fn) => {
|
|
11
|
-
return (...args) => {
|
|
12
|
-
const id = args.map((arg) => !arg ? "" : typeof arg === "string" || typeof arg === "number" || typeof arg === "boolean" ? arg : typeof arg === "object" && "id" in arg ? arg.id : "").join("_");
|
|
13
|
-
if (stashedReturnValue.has(id)) {
|
|
14
|
-
return stashedReturnValue.get(id);
|
|
15
|
-
}
|
|
16
|
-
const result = fn(...args);
|
|
17
|
-
stashedReturnValue.set(id, result);
|
|
18
|
-
return result;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export { clearStashedReturnValues, stashReturnValue };
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhc2hSZXR1cm5WYWx1ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2hlbHBlcnMvc3Rhc2hSZXR1cm5WYWx1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzdGFzaGVkUmV0dXJuVmFsdWUgPSBuZXcgTWFwPHN0cmluZywgdW5rbm93bj4oKTtcbmV4cG9ydCBjb25zdCBjbGVhclN0YXNoZWRSZXR1cm5WYWx1ZXMgPSAoKSA9PiB7XG4gIHN0YXNoZWRSZXR1cm5WYWx1ZS5jbGVhcigpO1xufTtcbmV4cG9ydCBjb25zdCBzdGFzaFJldHVyblZhbHVlID0gPEZOIGV4dGVuZHMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gbmV2ZXI+KFxuICBmbjogRk5cbik6IEZOID0+IHtcbiAgcmV0dXJuICgoLi4uYXJnczogUGFyYW1ldGVyczxGTj4pOiBSZXR1cm5UeXBlPEZOPiA9PiB7XG4gICAgY29uc3QgaWQgPSBhcmdzXG4gICAgICAubWFwKChhcmcpID0+IWFyZyA/ICcnIDogdHlwZW9mIGFyZyA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgYXJnID09PSBcIm51bWJlclwiIHx8IHR5cGVvZiBhcmcgPT09IFwiYm9vbGVhblwiID8gYXJnIDogdHlwZW9mIGFyZyA9PT0gXCJvYmplY3RcIiAmJiAnaWQnIGluIGFyZyA/IGFyZy5pZCA6ICcnKVxuICAgICAgLmpvaW4oXCJfXCIpO1xuICAgIGlmIChzdGFzaGVkUmV0dXJuVmFsdWUuaGFzKGlkKSkge1xuICAgICAgcmV0dXJuIHN0YXNoZWRSZXR1cm5WYWx1ZS5nZXQoaWQpIGFzIFJldHVyblR5cGU8Rk4+O1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBmbiguLi5hcmdzKTtcbiAgICBzdGFzaGVkUmV0dXJuVmFsdWUuc2V0KGlkLCByZXN1bHQpO1xuICAgIHJldHVybiByZXN1bHQgYXMgbmV2ZXI7XG4gIH0pIGFzIEZOO1xufTsiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxNQUFNLGtCQUFBLHVCQUF5QixHQUFxQixFQUFBO0FBQzdDLE1BQU0sMkJBQTJCLE1BQU07QUFDNUMsRUFBQSxrQkFBQSxDQUFtQixLQUFNLEVBQUE7QUFDM0I7QUFDYSxNQUFBLGdCQUFBLEdBQW1CLENBQzlCLEVBQ08sS0FBQTtBQUNQLEVBQUEsT0FBUSxJQUFJLElBQXlDLEtBQUE7QUFDbkQsSUFBQSxNQUFNLEVBQUssR0FBQSxJQUFBLENBQ1IsR0FBSSxDQUFBLENBQUMsR0FBTyxLQUFBLENBQUMsR0FBTSxHQUFBLEVBQUEsR0FBSyxPQUFPLEdBQUEsS0FBUSxRQUFZLElBQUEsT0FBTyxHQUFRLEtBQUEsUUFBQSxJQUFZLE9BQU8sR0FBQSxLQUFRLFNBQVksR0FBQSxHQUFBLEdBQU0sT0FBTyxHQUFBLEtBQVEsUUFBWSxJQUFBLElBQUEsSUFBUSxHQUFNLEdBQUEsR0FBQSxDQUFJLEVBQUssR0FBQSxFQUFFLENBQ25LLENBQUEsSUFBQSxDQUFLLEdBQUcsQ0FBQTtBQUNYLElBQUksSUFBQSxrQkFBQSxDQUFtQixHQUFJLENBQUEsRUFBRSxDQUFHLEVBQUE7QUFDOUIsTUFBTyxPQUFBLGtCQUFBLENBQW1CLElBQUksRUFBRSxDQUFBO0FBQUE7QUFFbEMsSUFBTSxNQUFBLE1BQUEsR0FBUyxFQUFHLENBQUEsR0FBRyxJQUFJLENBQUE7QUFDekIsSUFBbUIsa0JBQUEsQ0FBQSxHQUFBLENBQUksSUFBSSxNQUFNLENBQUE7QUFDakMsSUFBTyxPQUFBLE1BQUE7QUFBQSxHQUNUO0FBQ0Y7Ozs7In0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/workerManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,GAAG,IAAI,SAEzC,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,MAAM,GAAG,IAErC,CAAC;AAEF,eAAO,MAAM,WAAW,YAEvB,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vite-plugin-react-server
|
|
3
|
-
* Copyright (c) Nico Brinkkemper
|
|
4
|
-
* MIT License
|
|
5
|
-
*/
|
|
6
|
-
let worker = null;
|
|
7
|
-
const setWorker = (w) => {
|
|
8
|
-
worker = w;
|
|
9
|
-
};
|
|
10
|
-
const getWorker = () => {
|
|
11
|
-
return worker;
|
|
12
|
-
};
|
|
13
|
-
const clearWorker = () => {
|
|
14
|
-
worker = null;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { clearWorker, getWorker, setWorker };
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyTWFuYWdlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2hlbHBlcnMvd29ya2VyTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdvcmtlciB9IGZyb20gXCJub2RlOndvcmtlcl90aHJlYWRzXCI7XG5cbi8vIFNpbXBsZSBtb2R1bGUtbGV2ZWwgd29ya2VyIHJlZmVyZW5jZSBmb3IgZGV2IHNlcnZlciBjb250ZXh0XG5sZXQgd29ya2VyOiBXb3JrZXIgfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGNvbnN0IHNldFdvcmtlciA9ICh3OiBXb3JrZXIgfCBudWxsKSA9PiB7XG4gIHdvcmtlciA9IHc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0V29ya2VyID0gKCk6IFdvcmtlciB8IG51bGwgPT4ge1xuICByZXR1cm4gd29ya2VyO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyV29ya2VyID0gKCkgPT4ge1xuICB3b3JrZXIgPSBudWxsO1xufTsgIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsSUFBSSxNQUF3QixHQUFBLElBQUE7QUFFZixNQUFBLFNBQUEsR0FBWSxDQUFDLENBQXFCLEtBQUE7QUFDN0MsRUFBUyxNQUFBLEdBQUEsQ0FBQTtBQUNYO0FBRU8sTUFBTSxZQUFZLE1BQXFCO0FBQzVDLEVBQU8sT0FBQSxNQUFBO0FBQ1Q7QUFFTyxNQUFNLGNBQWMsTUFBTTtBQUMvQixFQUFTLE1BQUEsR0FBQSxJQUFBO0FBQ1g7Ozs7In0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { ExportInfo } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Recursively collects exports from a module that uses export *
|
|
4
|
-
*/
|
|
5
|
-
export declare function collectExportsFromModule(moduleId: string): Promise<ExportInfo[]>;
|
|
6
|
-
//# sourceMappingURL=collectExportsFromModule.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collectExportsFromModule.d.ts","sourceRoot":"","sources":["../../../../plugin/loader/directives/collectExportsFromModule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAgBpF"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vite-plugin-react-server
|
|
3
|
-
* Copyright (c) Nico Brinkkemper
|
|
4
|
-
* MIT License
|
|
5
|
-
*/
|
|
6
|
-
import { parse } from '../parse.js';
|
|
7
|
-
import { getExports } from './getExports.js';
|
|
8
|
-
import { loadClientSource } from '../../helpers/moduleResolver.js';
|
|
9
|
-
|
|
10
|
-
async function collectExportsFromModule(moduleId) {
|
|
11
|
-
const source = await loadClientSource(moduleId);
|
|
12
|
-
if (typeof source !== "string") {
|
|
13
|
-
throw new Error("Expected source to be a string");
|
|
14
|
-
}
|
|
15
|
-
const { ast } = await parse(source);
|
|
16
|
-
const exports = await getExports(ast);
|
|
17
|
-
return Array.from(exports.exports.values()).map((exp) => ({
|
|
18
|
-
...exp,
|
|
19
|
-
originalModuleId: exp.originalModuleId || moduleId
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { collectExportsFromModule };
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdEV4cG9ydHNGcm9tTW9kdWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wbHVnaW4vbG9hZGVyL2RpcmVjdGl2ZXMvY29sbGVjdEV4cG9ydHNGcm9tTW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlIH0gZnJvbSBcIi4uL3BhcnNlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEV4cG9ydEluZm8gfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgZ2V0RXhwb3J0cyB9IGZyb20gXCIuL2dldEV4cG9ydHMuanNcIjtcbmltcG9ydCB7IGxvYWRDbGllbnRTb3VyY2UgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9tb2R1bGVSZXNvbHZlci5qc1wiO1xuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IGNvbGxlY3RzIGV4cG9ydHMgZnJvbSBhIG1vZHVsZSB0aGF0IHVzZXMgZXhwb3J0ICpcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbGxlY3RFeHBvcnRzRnJvbU1vZHVsZShtb2R1bGVJZDogc3RyaW5nKTogUHJvbWlzZTxFeHBvcnRJbmZvW10+IHtcbiAgICBjb25zdCBzb3VyY2UgPSBhd2FpdCBsb2FkQ2xpZW50U291cmNlKG1vZHVsZUlkKTtcbiAgXG4gICAgaWYgKHR5cGVvZiBzb3VyY2UgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHNvdXJjZSB0byBiZSBhIHN0cmluZycpO1xuICAgIH1cbiAgXG4gICAgLy8gVXNlIG91ciBleGlzdGluZyBwYXJzZSBmdW5jdGlvblxuICAgIGNvbnN0IHsgYXN0IH0gPSBhd2FpdCBwYXJzZShzb3VyY2UpO1xuICAgIGNvbnN0IGV4cG9ydHMgPSBhd2FpdCBnZXRFeHBvcnRzKGFzdCk7XG4gICAgXG4gICAgLy8gU2V0IG9yaWdpbmFsTW9kdWxlSWQgZm9yIGxvY2FsIGV4cG9ydHMsIHByZXNlcnZlIGl0IGZvciByZS1leHBvcnRzXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZXhwb3J0cy5leHBvcnRzLnZhbHVlcygpKS5tYXAoZXhwID0+ICh7XG4gICAgICAuLi5leHAsXG4gICAgICBvcmlnaW5hbE1vZHVsZUlkOiBleHAub3JpZ2luYWxNb2R1bGVJZCB8fCBtb2R1bGVJZFxuICAgIH0pKTtcbiAgfSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFRQSxlQUFzQix5QkFBeUIsUUFBeUMsRUFBQTtBQUNwRixFQUFNLE1BQUEsTUFBQSxHQUFTLE1BQU0sZ0JBQUEsQ0FBaUIsUUFBUSxDQUFBO0FBRTlDLEVBQUksSUFBQSxPQUFPLFdBQVcsUUFBVSxFQUFBO0FBQzlCLElBQU0sTUFBQSxJQUFJLE1BQU0sZ0NBQWdDLENBQUE7QUFBQTtBQUlsRCxFQUFBLE1BQU0sRUFBRSxHQUFBLEVBQVEsR0FBQSxNQUFNLE1BQU0sTUFBTSxDQUFBO0FBQ2xDLEVBQU0sTUFBQSxPQUFBLEdBQVUsTUFBTSxVQUFBLENBQVcsR0FBRyxDQUFBO0FBR3BDLEVBQU8sT0FBQSxLQUFBLENBQU0sS0FBSyxPQUFRLENBQUEsT0FBQSxDQUFRLFFBQVEsQ0FBQSxDQUFFLElBQUksQ0FBUSxHQUFBLE1BQUE7QUFBQSxJQUN0RCxHQUFHLEdBQUE7QUFBQSxJQUNILGdCQUFBLEVBQWtCLElBQUksZ0JBQW9CLElBQUE7QUFBQSxHQUMxQyxDQUFBLENBQUE7QUFDSjs7OzsifQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { DirectiveMatch } from "../loader/directives/types.js";
|
|
2
|
-
|
|
3
|
-
// Error types for better maintainability
|
|
4
|
-
export const DIRECTIVE_ERRORS = {
|
|
5
|
-
FILE_LEVEL: {
|
|
6
|
-
NOT_AT_TOP:
|
|
7
|
-
"'use {directive}' directive must be at the top of the file, before any other statements.",
|
|
8
|
-
MIXED_DIRECTIVES:
|
|
9
|
-
"Cannot use both 'use client' and 'use server' directives in the same file",
|
|
10
|
-
},
|
|
11
|
-
FUNCTION_LEVEL: {
|
|
12
|
-
CLIENT_NOT_ALLOWED:
|
|
13
|
-
"Directive 'use client' is not allowed at function level. Only 'use server' is allowed at the start of async functions.",
|
|
14
|
-
SERVER_NOT_ASYNC:
|
|
15
|
-
"'use server' directive is only allowed at the start of async functions",
|
|
16
|
-
},
|
|
17
|
-
} as const;
|
|
18
|
-
|
|
19
|
-
// Helper to check if a warning is about file-level issues
|
|
20
|
-
export function isFileLevelWarning(warning: DirectiveMatch): boolean {
|
|
21
|
-
if (!warning.message) return false;
|
|
22
|
-
return (
|
|
23
|
-
warning.message ===
|
|
24
|
-
DIRECTIVE_ERRORS.FILE_LEVEL.NOT_AT_TOP.replace("{directive}", "client") ||
|
|
25
|
-
warning.message ===
|
|
26
|
-
DIRECTIVE_ERRORS.FILE_LEVEL.NOT_AT_TOP.replace("{directive}", "server") ||
|
|
27
|
-
warning.message === DIRECTIVE_ERRORS.FILE_LEVEL.MIXED_DIRECTIVES
|
|
28
|
-
);
|
|
29
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Creates a new error with context from any input.
|
|
3
|
-
* Always creates a fresh stack trace and sets the original as the cause.
|
|
4
|
-
* This is the preferred way to wrap errors with context.
|
|
5
|
-
*/
|
|
6
|
-
export function enhanceError(
|
|
7
|
-
originalError: Error | string | {message: string},
|
|
8
|
-
captureStackTraceFunction: Function,
|
|
9
|
-
context: string = captureStackTraceFunction.name,
|
|
10
|
-
): Error {
|
|
11
|
-
const baseMessage = typeof originalError === 'string' ? originalError : originalError.message;
|
|
12
|
-
|
|
13
|
-
const contextualError = createContextualError(baseMessage, context, captureStackTraceFunction || enhanceError);
|
|
14
|
-
|
|
15
|
-
// Set the original as the cause for traceability
|
|
16
|
-
contextualError.cause = originalError;
|
|
17
|
-
|
|
18
|
-
return contextualError;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Creates a new error with context and captured stack trace
|
|
23
|
-
* Useful for creating contextual errors at specific points in the code
|
|
24
|
-
*/
|
|
25
|
-
export function createContextualError(
|
|
26
|
-
message: string,
|
|
27
|
-
context: string = '',
|
|
28
|
-
captureStackTraceFunction?: Function
|
|
29
|
-
): Error {
|
|
30
|
-
const contextualMessage = context && context !== '' ? `[${context}:error] ${message}` : message;
|
|
31
|
-
const error = new Error(contextualMessage);
|
|
32
|
-
error.name = "ContextualError";
|
|
33
|
-
|
|
34
|
-
// Capture stack trace excluding this function (or the specified function)
|
|
35
|
-
Error.captureStackTrace(
|
|
36
|
-
error,
|
|
37
|
-
captureStackTraceFunction || createContextualError
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
return error;
|
|
41
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { React } from "../vendor/vendor.server.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Creates a safe Page component that doesn't throw errors.
|
|
5
|
-
* Used when headless streams have errors to prevent errors from reaching the HTML worker.
|
|
6
|
-
*
|
|
7
|
-
* @param errorMessage - Optional error message to display
|
|
8
|
-
* @returns A safe React component that renders a div with error content
|
|
9
|
-
*/
|
|
10
|
-
export function createSafePageComponent(errorMessage: string = "Error occurred during rendering") {
|
|
11
|
-
return () => React.createElement("div", { id: "root" }, errorMessage);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Creates a fallback Page component using React.Fragment.
|
|
16
|
-
* Used by RSC worker for consistent fallback behavior.
|
|
17
|
-
*
|
|
18
|
-
* @returns React.Fragment as a safe fallback
|
|
19
|
-
*/
|
|
20
|
-
export function createFallbackPageComponent() {
|
|
21
|
-
return React.Fragment;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Determines if a Page component should be replaced with a safe fallback.
|
|
26
|
-
*
|
|
27
|
-
* @param hasHeadlessError - Whether the headless stream had errors
|
|
28
|
-
* @param isHeadless - Whether this is a headless stream
|
|
29
|
-
* @returns true if a safe fallback should be used
|
|
30
|
-
*/
|
|
31
|
-
export function shouldUseSafePageComponent(
|
|
32
|
-
hasHeadlessError: boolean,
|
|
33
|
-
isHeadless: boolean
|
|
34
|
-
): boolean {
|
|
35
|
-
// For headless streams, never use fallback (let them error naturally)
|
|
36
|
-
if (isHeadless) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// For full streams, use fallback if headless stream had errors
|
|
41
|
-
return hasHeadlessError;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Creates the appropriate Page component based on error state.
|
|
46
|
-
*
|
|
47
|
-
* @param originalPageComponent - The original Page component
|
|
48
|
-
* @param hasHeadlessError - Whether the headless stream had errors
|
|
49
|
-
* @param isHeadless - Whether this is a headless stream
|
|
50
|
-
* @param useReactFragment - Whether to use React.Fragment (RSC worker style) or div (server style)
|
|
51
|
-
* @returns The appropriate Page component to use
|
|
52
|
-
*/
|
|
53
|
-
export function createPageComponentWithErrorHandling(
|
|
54
|
-
originalPageComponent: any,
|
|
55
|
-
hasHeadlessError: boolean,
|
|
56
|
-
isHeadless: boolean,
|
|
57
|
-
useReactFragment: boolean = false
|
|
58
|
-
) {
|
|
59
|
-
if (shouldUseSafePageComponent(hasHeadlessError, isHeadless)) {
|
|
60
|
-
return useReactFragment ? createFallbackPageComponent() : createSafePageComponent();
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return originalPageComponent;
|
|
64
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import type { ResolveHookContext } from "node:module";
|
|
2
|
-
|
|
3
|
-
type ResolveFunction = (
|
|
4
|
-
specifier: string,
|
|
5
|
-
context: ResolveHookContext,
|
|
6
|
-
nextResolve?: ResolveFunction
|
|
7
|
-
) => Promise<{ url: string; shortCircuit: boolean }>;
|
|
8
|
-
|
|
9
|
-
type GetSourceHookContext = {
|
|
10
|
-
format: string;
|
|
11
|
-
url: string;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
type GetSourceFunction = (
|
|
15
|
-
url: string,
|
|
16
|
-
context: GetSourceHookContext,
|
|
17
|
-
defaultGetSource: GetSourceFunction
|
|
18
|
-
) => Promise<{ source: string | ArrayBuffer | SharedArrayBuffer | Uint8Array }>;
|
|
19
|
-
|
|
20
|
-
let stashedResolve: ResolveFunction | null = null;
|
|
21
|
-
let stashedGetSource: GetSourceFunction | null = null;
|
|
22
|
-
|
|
23
|
-
export function setStashedResolve(resolve: ResolveFunction) {
|
|
24
|
-
stashedResolve = resolve;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function setStashedGetSource(getSource: GetSourceFunction) {
|
|
28
|
-
stashedGetSource = getSource;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export async function resolve(specifier: string, context: ResolveHookContext, defaultResolve: ResolveFunction) {
|
|
32
|
-
// We stash this in case we end up needing to resolve export * statements later.
|
|
33
|
-
stashedResolve = defaultResolve;
|
|
34
|
-
|
|
35
|
-
// Add react-server condition if not present
|
|
36
|
-
if (!context.conditions.includes('react-server')) {
|
|
37
|
-
context = {
|
|
38
|
-
...context,
|
|
39
|
-
conditions: [...context.conditions, 'react-server']
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return await defaultResolve(specifier, context, defaultResolve);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export async function getSource(url: string, context: GetSourceHookContext, defaultGetSource: GetSourceFunction) {
|
|
47
|
-
// We stash this in case we end up needing to resolve export * statements later.
|
|
48
|
-
stashedGetSource = defaultGetSource;
|
|
49
|
-
return defaultGetSource(url, context, defaultGetSource);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export async function resolveClientImport(specifier: string, parentURL: string) {
|
|
53
|
-
const conditions = ["node", "import"];
|
|
54
|
-
|
|
55
|
-
if (stashedResolve === null) {
|
|
56
|
-
throw new Error(
|
|
57
|
-
"Expected resolve to have been called before transformSource"
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const result = await stashedResolve(
|
|
62
|
-
specifier,
|
|
63
|
-
{
|
|
64
|
-
conditions,
|
|
65
|
-
parentURL,
|
|
66
|
-
importAttributes: {}
|
|
67
|
-
},
|
|
68
|
-
stashedResolve
|
|
69
|
-
);
|
|
70
|
-
|
|
71
|
-
return result.url;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export async function loadClientSource(url: string) {
|
|
75
|
-
if (stashedGetSource === null) {
|
|
76
|
-
throw new Error(
|
|
77
|
-
"Expected getSource to have been called before loadClientSource"
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const result = await stashedGetSource(
|
|
82
|
-
url,
|
|
83
|
-
{
|
|
84
|
-
format: "module",
|
|
85
|
-
url
|
|
86
|
-
},
|
|
87
|
-
stashedGetSource
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
return result.source;
|
|
91
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const stashedReturnValue = new Map<string, unknown>();
|
|
2
|
-
export const clearStashedReturnValues = () => {
|
|
3
|
-
stashedReturnValue.clear();
|
|
4
|
-
};
|
|
5
|
-
export const stashReturnValue = <FN extends (...args: unknown[]) => never>(
|
|
6
|
-
fn: FN
|
|
7
|
-
): FN => {
|
|
8
|
-
return ((...args: Parameters<FN>): ReturnType<FN> => {
|
|
9
|
-
const id = args
|
|
10
|
-
.map((arg) =>!arg ? '' : typeof arg === "string" || typeof arg === "number" || typeof arg === "boolean" ? arg : typeof arg === "object" && 'id' in arg ? arg.id : '')
|
|
11
|
-
.join("_");
|
|
12
|
-
if (stashedReturnValue.has(id)) {
|
|
13
|
-
return stashedReturnValue.get(id) as ReturnType<FN>;
|
|
14
|
-
}
|
|
15
|
-
const result = fn(...args);
|
|
16
|
-
stashedReturnValue.set(id, result);
|
|
17
|
-
return result as never;
|
|
18
|
-
}) as FN;
|
|
19
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Worker } from "node:worker_threads";
|
|
2
|
-
|
|
3
|
-
// Simple module-level worker reference for dev server context
|
|
4
|
-
let worker: Worker | null = null;
|
|
5
|
-
|
|
6
|
-
export const setWorker = (w: Worker | null) => {
|
|
7
|
-
worker = w;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export const getWorker = (): Worker | null => {
|
|
11
|
-
return worker;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export const clearWorker = () => {
|
|
15
|
-
worker = null;
|
|
16
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { parse } from "../parse.js";
|
|
2
|
-
import type { ExportInfo } from "./types.js";
|
|
3
|
-
import { getExports } from "./getExports.js";
|
|
4
|
-
import { loadClientSource } from "../../helpers/moduleResolver.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Recursively collects exports from a module that uses export *
|
|
8
|
-
*/
|
|
9
|
-
export async function collectExportsFromModule(moduleId: string): Promise<ExportInfo[]> {
|
|
10
|
-
const source = await loadClientSource(moduleId);
|
|
11
|
-
|
|
12
|
-
if (typeof source !== 'string') {
|
|
13
|
-
throw new Error('Expected source to be a string');
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Use our existing parse function
|
|
17
|
-
const { ast } = await parse(source);
|
|
18
|
-
const exports = await getExports(ast);
|
|
19
|
-
|
|
20
|
-
// Set originalModuleId for local exports, preserve it for re-exports
|
|
21
|
-
return Array.from(exports.exports.values()).map(exp => ({
|
|
22
|
-
...exp,
|
|
23
|
-
originalModuleId: exp.originalModuleId || moduleId
|
|
24
|
-
}));
|
|
25
|
-
}
|