@cedarjs/router 7.0.0 → 8.0.0-canary.3263
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/dist/Route.d.ts +4 -3
- package/dist/Route.d.ts.map +1 -1
- package/dist/Set.d.ts +1 -1
- package/dist/Set.d.ts.map +1 -1
- package/dist/Set.js +1 -1
- package/dist/page.d.ts +1 -1
- package/dist/page.d.ts.map +1 -1
- package/dist/react-util.d.ts.map +1 -1
- package/dist/rsc/RscCache.d.ts.map +1 -1
- package/dist/rsc/RscCache.js +11 -1
- package/dist/rsc/RscRoutes.d.ts +1 -1
- package/dist/rsc/RscRoutes.d.ts.map +1 -1
- package/dist/rsc/clientSsr.d.ts +7 -0
- package/dist/rsc/clientSsr.d.ts.map +1 -1
- package/dist/rsc/clientSsr.js +53 -5
- package/dist/rsc/utils.d.ts +3 -3
- package/dist/rsc/utils.d.ts.map +1 -1
- package/dist/rsc/utils.js +20 -5
- package/dist/skipNav.d.ts +2 -2
- package/dist/skipNav.d.ts.map +1 -1
- package/package.json +13 -13
package/dist/Route.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { ReactElement } from 'react';
|
|
2
3
|
import type { PageType } from './page.js';
|
|
3
4
|
export type RenderMode = 'stream' | 'html';
|
|
@@ -26,7 +27,7 @@ export type InternalRouteProps = Partial<RouteProps & RedirectRouteProps & NotFo
|
|
|
26
27
|
* it is actually never rendered. All the page loading logic happens in active-route-loader
|
|
27
28
|
* and all the validation happens within utility functions called from the Router
|
|
28
29
|
*/
|
|
29
|
-
export declare function Route(props: RouteProps): JSX.Element;
|
|
30
|
-
export declare function Route(props: RedirectRouteProps): JSX.Element;
|
|
31
|
-
export declare function Route(props: NotFoundRouteProps): JSX.Element;
|
|
30
|
+
export declare function Route(props: RouteProps): React.JSX.Element;
|
|
31
|
+
export declare function Route(props: RedirectRouteProps): React.JSX.Element;
|
|
32
|
+
export declare function Route(props: NotFoundRouteProps): React.JSX.Element;
|
|
32
33
|
//# sourceMappingURL=Route.d.ts.map
|
package/dist/Route.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../src/Route.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../src/Route.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE1C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,UAAU,GAAG,kBAAkB,GAAG,kBAAkB,CACrD,CAAA;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAA;AAC3D,wBAAgB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAA;AACnE,wBAAgB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAA"}
|
package/dist/Set.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ export declare function Private<WrapperProps>(props: PrivateSetProps<WrapperProp
|
|
|
59
59
|
* like `RequireAuth` or `ProtectedRoute`? This is the Cedar equivalent.
|
|
60
60
|
*/
|
|
61
61
|
export declare function PrivateSet<WrapperProps>(props: PrivateSetProps<WrapperProps>): React.JSX.Element;
|
|
62
|
-
export declare const isSetNode: (node: ReactNode) => node is ReactElement<SetProps<
|
|
62
|
+
export declare const isSetNode: (node: ReactNode) => node is ReactElement<SetProps<Record<string, unknown>>>;
|
|
63
63
|
export declare const isPrivateSetNode: (node: ReactNode) => node is ReactElement<PrivateSetProps<unknown>>;
|
|
64
64
|
export declare const isPrivateNode: (node: ReactNode) => node is ReactElement<SetProps<any>>;
|
|
65
65
|
export {};
|
package/dist/Set.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../src/Set.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,CACjC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACpB,KACE,YAAY,GAAG,IAAI,CAAA;AAExB,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,qBAI9D;AAED,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,GACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAAC,GAAG;IACjD,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAEH,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,qBAIzE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,qBAI5E;AAED,eAAO,MAAM,SAAS,GACpB,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../src/Set.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,CACjC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACpB,KACE,YAAY,GAAG,IAAI,CAAA;AAExB,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,qBAI9D;AAED,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,GACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAAC,GAAG;IACjD,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAEH,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,qBAIzE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,qBAI5E;AAED,eAAO,MAAM,SAAS,GACpB,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAOxD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAE/C,CAAA;AAGD,eAAO,MAAM,aAAa,GACxB,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAEpC,CAAA"}
|
package/dist/Set.js
CHANGED
|
@@ -10,7 +10,7 @@ function PrivateSet(props) {
|
|
|
10
10
|
}
|
|
11
11
|
const isSetNode = (node) => {
|
|
12
12
|
return React.isValidElement(node) && (node.type === Set || node.type === PrivateSet || node.type === Private) && // Don't even bother including Sets without children. They're useless.
|
|
13
|
-
node.props.children;
|
|
13
|
+
!!node.props.children;
|
|
14
14
|
};
|
|
15
15
|
const isPrivateSetNode = (node) => {
|
|
16
16
|
return React.isValidElement(node) && node.type === PrivateSet;
|
package/dist/page.d.ts
CHANGED
|
@@ -24,5 +24,5 @@ export declare function isSpec(specOrPage: Spec | React.ComponentType): specOrPa
|
|
|
24
24
|
* imported version into a spec.
|
|
25
25
|
*/
|
|
26
26
|
export declare function normalizePage(specOrPage: Spec | React.ComponentType<unknown>): Spec;
|
|
27
|
-
export type PageType = Spec | React.ComponentType<any> | ((props: any) => JSX.Element);
|
|
27
|
+
export type PageType = Spec | React.ComponentType<any> | ((props: any) => React.JSX.Element);
|
|
28
28
|
//# sourceMappingURL=page.d.ts.map
|
package/dist/page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK;QAAE,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;KAAE,CAAA;IAC7E,aAAa,EACT,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GACvD,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;CACjC;AAED,wBAAgB,MAAM,CACpB,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,aAAa,GACrC,UAAU,IAAI,IAAI,CAEpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAC9C,IAAI,CAaN;AAED,MAAM,MAAM,QAAQ,GAClB,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK;QAAE,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;KAAE,CAAA;IAC7E,aAAa,EACT,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GACvD,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;CACjC;AAED,wBAAgB,MAAM,CACpB,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,aAAa,GACrC,UAAU,IAAI,IAAI,CAEpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAC9C,IAAI,CAaN;AAED,MAAM,MAAM,QAAQ,GAClB,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA"}
|
package/dist/react-util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-util.d.ts","sourceRoot":"","sources":["../src/react-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"react-util.d.ts","sourceRoot":"","sources":["../src/react-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAa3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RscCache.d.ts","sourceRoot":"","sources":["../../src/rsc/RscCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RscCache.d.ts","sourceRoot":"","sources":["../../src/rsc/RscCache.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,QAAQ;IACvB,iBAAiB,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,WAAW,CAAI;IAEvB,OAAO,CAAC,SAAS,CAAQ;;IAgDzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS;IAMhD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC;IA2B1C,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,qBAAqB;CAW9B"}
|
package/dist/rsc/RscCache.js
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
class DummyWS {
|
|
2
|
+
readyState = WebSocket?.OPEN;
|
|
3
|
+
addEventListener() {
|
|
4
|
+
}
|
|
5
|
+
send() {
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
if (typeof globalThis.WebSocket === "undefined") {
|
|
9
|
+
globalThis.WebSocket = DummyWS;
|
|
10
|
+
}
|
|
1
11
|
class RscCache {
|
|
2
12
|
cache = /* @__PURE__ */ new Map();
|
|
3
13
|
socket;
|
|
@@ -66,7 +76,7 @@ class RscCache {
|
|
|
66
76
|
} else if (this.sendRetries >= 10) {
|
|
67
77
|
console.error("Exhausted retries to send message to WebSocket server.");
|
|
68
78
|
} else {
|
|
69
|
-
console.error("WebSocket connection is closed.");
|
|
79
|
+
console.error("RscCache: WebSocket connection is closed.");
|
|
70
80
|
}
|
|
71
81
|
}
|
|
72
82
|
sendUpdateToWebSocket() {
|
package/dist/rsc/RscRoutes.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ interface Props {
|
|
|
2
2
|
pathname: string;
|
|
3
3
|
search: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const RscRoutes: ({ pathname, search }: Props) => import("react").ReactElement<
|
|
5
|
+
export declare const RscRoutes: ({ pathname, search }: Props) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
6
6
|
export {};
|
|
7
7
|
//# sourceMappingURL=RscRoutes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RscRoutes.d.ts","sourceRoot":"","sources":["../../src/rsc/RscRoutes.tsx"],"names":[],"mappings":"AAiIA,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,GAAI,sBAAsB,KAAK,
|
|
1
|
+
{"version":3,"file":"RscRoutes.d.ts","sourceRoot":"","sources":["../../src/rsc/RscRoutes.tsx"],"names":[],"mappings":"AAiIA,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,GAAI,sBAAsB,KAAK,+FAkCpD,CAAA"}
|
package/dist/rsc/clientSsr.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render the RW App's Routes.{tsx,jsx} component.
|
|
3
|
+
* In production, this function will read the Routes component from the App's
|
|
4
|
+
* dist directory.
|
|
5
|
+
* During dev, this function will use Vite to load the Routes component from
|
|
6
|
+
* the App's src directory.
|
|
7
|
+
*/
|
|
1
8
|
export declare function renderRoutesSsr(pathname: string): Promise<any>;
|
|
2
9
|
//# sourceMappingURL=clientSsr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientSsr.d.ts","sourceRoot":"","sources":["../../src/rsc/clientSsr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clientSsr.d.ts","sourceRoot":"","sources":["../../src/rsc/clientSsr.ts"],"names":[],"mappings":"AA2FA;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,gBA0GrD"}
|
package/dist/rsc/clientSsr.js
CHANGED
|
@@ -1,14 +1,29 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
import { pathToFileURL } from "node:url";
|
|
2
3
|
import { getPaths } from "@cedarjs/project-config";
|
|
3
4
|
import { moduleMap } from "./ssrModuleMap.js";
|
|
4
|
-
import { importRsdwClient,
|
|
5
|
+
import { importRsdwClient, importReact, importRsdwServer } from "./utils.js";
|
|
5
6
|
import { makeFilePath } from "./utils.js";
|
|
6
7
|
async function getEntries() {
|
|
8
|
+
if (globalThis.__cedarjs__vite_ssr_runtime) {
|
|
9
|
+
return {
|
|
10
|
+
serverEntries: {
|
|
11
|
+
__cedarjs__Routes: "../../src/Routes.tsx"
|
|
12
|
+
},
|
|
13
|
+
ssrEntries: {}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
7
16
|
const entriesPath = getPaths().web.distRscEntries;
|
|
8
17
|
const entries = await import(makeFilePath(entriesPath));
|
|
9
18
|
return entries;
|
|
10
19
|
}
|
|
11
20
|
async function getRoutesComponent() {
|
|
21
|
+
if (globalThis.__cedarjs__vite_rsc_runtime) {
|
|
22
|
+
const routesMod = await globalThis.__cedarjs__vite_rsc_runtime.import(
|
|
23
|
+
getPaths().web.routes
|
|
24
|
+
);
|
|
25
|
+
return routesMod.default;
|
|
26
|
+
}
|
|
12
27
|
const { serverEntries } = await getEntries();
|
|
13
28
|
const entryPath = path.join(
|
|
14
29
|
getPaths().web.distRsc,
|
|
@@ -58,19 +73,52 @@ async function renderRoutesSsr(pathname) {
|
|
|
58
73
|
get(_target, encodedId) {
|
|
59
74
|
console.log("Proxy get encodedId", encodedId);
|
|
60
75
|
const [filePath, name] = encodedId.split("#");
|
|
61
|
-
const id = resolveClientEntryForProd(filePath, clientEntries);
|
|
76
|
+
const id = globalThis.__cedarjs__vite_ssr_runtime ? filePath : resolveClientEntryForProd(filePath, clientEntries);
|
|
62
77
|
console.log("clientSsr.ts::Proxy id", id);
|
|
63
78
|
return { id, chunks: [id], name, async: true };
|
|
64
79
|
}
|
|
65
80
|
}
|
|
66
81
|
);
|
|
82
|
+
const serverModuleMap = new Proxy(
|
|
83
|
+
{},
|
|
84
|
+
{
|
|
85
|
+
get(_target, encodedId) {
|
|
86
|
+
console.log("serverModuleMap Proxy get encodedId", encodedId);
|
|
87
|
+
const [filePath, name] = encodedId.split("#");
|
|
88
|
+
const id = pathToFileURL(filePath).href;
|
|
89
|
+
console.log("serverModuleMap::Proxy id", id);
|
|
90
|
+
return { id, chunks: [id], name, async: true };
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
);
|
|
67
94
|
const { createElement } = await importReact();
|
|
68
95
|
const { renderToReadableStream } = await importRsdwServer();
|
|
69
96
|
console.log("clientSsr.ts right before renderToReadableStream");
|
|
70
|
-
const
|
|
97
|
+
const originalStream = renderToReadableStream(
|
|
98
|
+
createElement(Routes),
|
|
99
|
+
bundlerConfig
|
|
100
|
+
);
|
|
101
|
+
const [streamForLogging, streamForRendering] = originalStream.tee();
|
|
102
|
+
(async () => {
|
|
103
|
+
const reader = streamForLogging.getReader();
|
|
104
|
+
const decoder = new TextDecoder();
|
|
105
|
+
let logContent = "";
|
|
106
|
+
while (true) {
|
|
107
|
+
const { done, value } = await reader.read();
|
|
108
|
+
if (done) {
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
logContent += decoder.decode(value, { stream: true });
|
|
112
|
+
}
|
|
113
|
+
console.log("Stream content:", logContent);
|
|
114
|
+
})();
|
|
71
115
|
const { createFromReadableStream } = await importRsdwClient();
|
|
72
|
-
const data = createFromReadableStream(
|
|
73
|
-
|
|
116
|
+
const data = createFromReadableStream(streamForRendering, {
|
|
117
|
+
serverConsumerManifest: {
|
|
118
|
+
moduleMap,
|
|
119
|
+
serverModuleMap,
|
|
120
|
+
moduleLoading: null
|
|
121
|
+
}
|
|
74
122
|
});
|
|
75
123
|
rscCache.set(pathname, data);
|
|
76
124
|
return data;
|
package/dist/rsc/utils.d.ts
CHANGED
|
@@ -6,15 +6,15 @@ export declare function makeFilePath(path: string): string;
|
|
|
6
6
|
/**
|
|
7
7
|
* See vite/streamHelpers.ts.
|
|
8
8
|
*
|
|
9
|
-
* This function ensures we load the
|
|
9
|
+
* This function ensures we load the bundled version of React to prevent
|
|
10
10
|
* multiple instances of React
|
|
11
11
|
*/
|
|
12
12
|
export declare function importReact(): Promise<any>;
|
|
13
13
|
/**
|
|
14
14
|
* See vite/streamHelpers.ts.
|
|
15
15
|
*
|
|
16
|
-
* This function ensures we load the same version of rsdw_client to
|
|
17
|
-
* multiple instances of React
|
|
16
|
+
* This function ensures we load the same version of rsdw_client everywhere to
|
|
17
|
+
* prevent multiple instances of React
|
|
18
18
|
*/
|
|
19
19
|
export declare function importRsdwClient(): Promise<RSDWClientType>;
|
|
20
20
|
export declare function importRsdwServer(): Promise<RSDWServerType>;
|
package/dist/rsc/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/rsc/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvF,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAIvF,KAAK,cAAc,GAAG,OAAO,gBAAgB,CAAA;AAC7C,KAAK,cAAc,GAAG,OAAO,gBAAgB,CAAA;AAE7C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,UAExC;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/rsc/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvF,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAIvF,KAAK,cAAc,GAAG,OAAO,gBAAgB,CAAA;AAC7C,KAAK,cAAc,GAAG,OAAO,gBAAgB,CAAA;AAE7C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,UAExC;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,iBAUhC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC,CAYhE;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC,CAmBhE"}
|
package/dist/rsc/utils.js
CHANGED
|
@@ -5,11 +5,19 @@ function makeFilePath(path2) {
|
|
|
5
5
|
return pathToFileURL(path2).href;
|
|
6
6
|
}
|
|
7
7
|
async function importReact() {
|
|
8
|
+
if (globalThis.__cedarjs__vite_ssr_runtime) {
|
|
9
|
+
const reactMod = await import("react");
|
|
10
|
+
return reactMod.default;
|
|
11
|
+
}
|
|
8
12
|
const distSsr = getPaths().web.distSsr;
|
|
9
13
|
const reactPath = makeFilePath(path.join(distSsr, "__cedarjs__react.mjs"));
|
|
10
14
|
return (await import(reactPath)).default;
|
|
11
15
|
}
|
|
12
16
|
async function importRsdwClient() {
|
|
17
|
+
if (globalThis.__cedarjs__vite_ssr_runtime) {
|
|
18
|
+
const rsdwcMod = await import("react-server-dom-webpack/client.edge");
|
|
19
|
+
return rsdwcMod.default;
|
|
20
|
+
}
|
|
13
21
|
const distSsr = getPaths().web.distSsr;
|
|
14
22
|
const rsdwClientPath = makeFilePath(
|
|
15
23
|
path.join(distSsr, "__cedarjs__rsdw-client.mjs")
|
|
@@ -17,11 +25,18 @@ async function importRsdwClient() {
|
|
|
17
25
|
return (await import(rsdwClientPath)).default;
|
|
18
26
|
}
|
|
19
27
|
async function importRsdwServer() {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
if (globalThis.__cedarjs__vite_rsc_runtime) {
|
|
29
|
+
const rsdwServerMod = await globalThis.__cedarjs__vite_rsc_runtime.import(
|
|
30
|
+
"react-server-dom-webpack/server.edge"
|
|
31
|
+
);
|
|
32
|
+
return rsdwServerMod.default;
|
|
33
|
+
} else {
|
|
34
|
+
const dynamicImport = "";
|
|
35
|
+
return import(
|
|
36
|
+
/* @vite-ignore */
|
|
37
|
+
dynamicImport + "react-server-dom-webpack/server.edge"
|
|
38
|
+
);
|
|
39
|
+
}
|
|
25
40
|
}
|
|
26
41
|
export {
|
|
27
42
|
importReact,
|
package/dist/skipNav.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ type ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<Me
|
|
|
5
5
|
}>>;
|
|
6
6
|
interface ForwardRefComponent<IntrinsicElementString, OwnProps = object> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {
|
|
7
7
|
<As = IntrinsicElementString>(props: As extends '' ? {
|
|
8
|
-
as: keyof JSX.IntrinsicElements;
|
|
8
|
+
as: keyof React.JSX.IntrinsicElements;
|
|
9
9
|
} : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
|
|
10
10
|
as: As;
|
|
11
|
-
}> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
|
|
11
|
+
}> : As extends keyof React.JSX.IntrinsicElements ? Merge<React.JSX.IntrinsicElements[As], OwnProps & {
|
|
12
12
|
as: As;
|
|
13
13
|
}> : never): React.ReactElement | null;
|
|
14
14
|
}
|
package/dist/skipNav.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skipNav.d.ts","sourceRoot":"","sources":["../src/skipNav.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,KAAK,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAE9D,KAAK,yBAAyB,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,yBAAyB,CAC3E,KAAK,CACH,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,EACpE,QAAQ,GAAG;IAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,CACtB,CACF,CAAA;AAED,UAAU,mBAAmB,CAC3B,sBAAsB,EACtB,QAAQ,GAAG,MAAM,CAKjB,SAAQ,yBAAyB,CAAC,sBAAsB,EAAE,QAAQ,CAAC;IASnE,CAAC,EAAE,GAAG,sBAAsB,EAC1B,KAAK,EAAE,EAAE,SAAS,EAAE,GAChB;QAAE,EAAE,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAA;KAAE,
|
|
1
|
+
{"version":3,"file":"skipNav.d.ts","sourceRoot":"","sources":["../src/skipNav.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,KAAK,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAE9D,KAAK,yBAAyB,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,yBAAyB,CAC3E,KAAK,CACH,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,EACpE,QAAQ,GAAG;IAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,CACtB,CACF,CAAA;AAED,UAAU,mBAAmB,CAC3B,sBAAsB,EACtB,QAAQ,GAAG,MAAM,CAKjB,SAAQ,yBAAyB,CAAC,sBAAsB,EAAE,QAAQ,CAAC;IASnE,CAAC,EAAE,GAAG,sBAAsB,EAC1B,KAAK,EAAE,EAAE,SAAS,EAAE,GAChB;QAAE,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAA;KAAE,GACzC,EAAE,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GACrC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC,GAC/B,EAAE,SAAS,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAC1C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC,GAC7D,KAAK,GACZ,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;CAC7B;AAWD;;;;;;GAMG;AACH,QAAA,MAAM,WAAW,EAiBX,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;AAEhD;;GAEG;AACH,UAAU,gBAAgB;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;GAMG;AACH,QAAA,MAAM,cAAc,EAad,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAA;AAErD;;GAEG;AACH,UAAU,mBAAmB;IAC3B;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAOD,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/router",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0-canary.3263",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
@@ -52,31 +52,31 @@
|
|
|
52
52
|
"test:watch": "vitest watch"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@cedarjs/project-config": "
|
|
56
|
-
"@cedarjs/server-store": "
|
|
57
|
-
"react-server-dom-webpack": "19.
|
|
55
|
+
"@cedarjs/project-config": "8.0.0-canary.3263",
|
|
56
|
+
"@cedarjs/server-store": "8.0.0-canary.3263",
|
|
57
|
+
"react-server-dom-webpack": "19.3.0",
|
|
58
58
|
"ts-toolbelt": "9.6.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@arethetypeswrong/cli": "0.18.5",
|
|
62
|
-
"@cedarjs/auth": "
|
|
63
|
-
"@cedarjs/framework-tools": "
|
|
62
|
+
"@cedarjs/auth": "8.0.0-canary.3263",
|
|
63
|
+
"@cedarjs/framework-tools": "8.0.0-canary.3263",
|
|
64
64
|
"@testing-library/jest-dom": "6.9.1",
|
|
65
|
-
"@types/react": "^
|
|
66
|
-
"@types/react-dom": "^
|
|
65
|
+
"@types/react": "^19.2.0",
|
|
66
|
+
"@types/react-dom": "^19.2.0",
|
|
67
67
|
"concurrently": "9.2.4",
|
|
68
68
|
"publint": "0.3.24",
|
|
69
|
-
"react": "
|
|
70
|
-
"react-dom": "
|
|
69
|
+
"react": "19.3.0",
|
|
70
|
+
"react-dom": "19.3.0",
|
|
71
71
|
"tstyche": "5.0.2",
|
|
72
72
|
"typescript": "5.9.3",
|
|
73
73
|
"vite": "7.3.6",
|
|
74
74
|
"vitest": "4.1.11"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
|
-
"@cedarjs/auth": "
|
|
78
|
-
"react": "
|
|
79
|
-
"react-dom": "
|
|
77
|
+
"@cedarjs/auth": "8.0.0-canary.3263",
|
|
78
|
+
"react": "19.3.0",
|
|
79
|
+
"react-dom": "19.3.0"
|
|
80
80
|
},
|
|
81
81
|
"engines": {
|
|
82
82
|
"node": ">=24"
|