@bleedingdev/modern-js-runtime 3.2.0-ultramodern.6 → 3.2.0-ultramodern.62

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.
Files changed (193) hide show
  1. package/dist/cjs/boundary-debugger/index.js +221 -0
  2. package/dist/cjs/cli/ssr/index.js +3 -2
  3. package/dist/cjs/cli/template.server.js +1 -0
  4. package/dist/cjs/core/plugin/index.js +3 -2
  5. package/dist/cjs/core/server/helmet.js +2 -2
  6. package/dist/cjs/core/server/stream/afterTemplate.js +9 -6
  7. package/dist/cjs/core/server/stream/beforeTemplate.js +6 -7
  8. package/dist/cjs/core/server/stream/beforeTemplate.worker.js +104 -0
  9. package/dist/cjs/core/server/stream/createReadableStream.worker.js +2 -1
  10. package/dist/cjs/core/server/stream/shared.js +1 -0
  11. package/dist/cjs/core/server/string/index.js +1 -0
  12. package/dist/cjs/core/server/string/loadable.js +16 -1
  13. package/dist/cjs/router/cli/code/tanstackTypes.js +20 -6
  14. package/dist/cjs/router/cli/code/templates.js +1 -8
  15. package/dist/cjs/router/runtime/tanstack/plugin.js +2 -0
  16. package/dist/cjs/router/runtime/tanstack/routeTree.js +38 -2
  17. package/dist/cjs/rsc/server.worker.js +58 -0
  18. package/dist/esm/boundary-debugger/index.mjs +185 -0
  19. package/dist/esm/cli/ssr/index.mjs +3 -2
  20. package/dist/esm/cli/template.server.mjs +1 -0
  21. package/dist/esm/core/plugin/index.mjs +3 -2
  22. package/dist/esm/core/server/helmet.mjs +1 -1
  23. package/dist/esm/core/server/stream/afterTemplate.mjs +10 -7
  24. package/dist/esm/core/server/stream/beforeTemplate.mjs +6 -7
  25. package/dist/esm/core/server/stream/beforeTemplate.worker.mjs +60 -0
  26. package/dist/esm/core/server/stream/createReadableStream.worker.mjs +2 -1
  27. package/dist/esm/core/server/stream/shared.mjs +1 -0
  28. package/dist/esm/core/server/string/index.mjs +1 -0
  29. package/dist/esm/core/server/string/loadable.mjs +16 -1
  30. package/dist/esm/router/cli/code/tanstackTypes.mjs +20 -6
  31. package/dist/esm/router/cli/code/templates.mjs +1 -8
  32. package/dist/esm/router/runtime/tanstack/plugin.mjs +2 -0
  33. package/dist/esm/router/runtime/tanstack/routeTree.mjs +38 -2
  34. package/dist/esm/rsc/server.worker.mjs +1 -0
  35. package/dist/esm-node/boundary-debugger/index.mjs +186 -0
  36. package/dist/esm-node/cli/ssr/index.mjs +3 -2
  37. package/dist/esm-node/cli/template.server.mjs +1 -0
  38. package/dist/esm-node/core/plugin/index.mjs +3 -2
  39. package/dist/esm-node/core/server/helmet.mjs +1 -1
  40. package/dist/esm-node/core/server/stream/afterTemplate.mjs +10 -7
  41. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +6 -7
  42. package/dist/esm-node/core/server/stream/beforeTemplate.worker.mjs +61 -0
  43. package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +2 -1
  44. package/dist/esm-node/core/server/stream/shared.mjs +1 -0
  45. package/dist/esm-node/core/server/string/index.mjs +1 -0
  46. package/dist/esm-node/core/server/string/loadable.mjs +16 -1
  47. package/dist/esm-node/router/cli/code/tanstackTypes.mjs +20 -6
  48. package/dist/esm-node/router/cli/code/templates.mjs +1 -8
  49. package/dist/esm-node/router/runtime/tanstack/plugin.mjs +2 -0
  50. package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +38 -2
  51. package/dist/esm-node/rsc/server.worker.mjs +2 -0
  52. package/dist/types/boundary-debugger/index.d.ts +25 -0
  53. package/dist/types/cache/index.d.ts +1 -0
  54. package/dist/types/cli/alias.d.ts +7 -0
  55. package/dist/types/cli/code.d.ts +3 -0
  56. package/dist/types/cli/constants.d.ts +9 -0
  57. package/dist/types/cli/entry.d.ts +2 -0
  58. package/dist/types/cli/index.d.ts +11 -0
  59. package/dist/types/cli/ssr/index.d.ts +6 -0
  60. package/dist/types/cli/ssr/loadable-bundler-plugin.d.ts +31 -0
  61. package/dist/types/cli/ssr/mode.d.ts +15 -0
  62. package/dist/types/cli/template.d.ts +50 -0
  63. package/dist/types/cli/template.server.d.ts +20 -0
  64. package/dist/types/common.d.ts +8 -0
  65. package/dist/types/core/browser/hydrate.d.ts +5 -0
  66. package/dist/types/core/browser/index.d.ts +9 -0
  67. package/dist/types/core/browser/withCallback.d.ts +5 -0
  68. package/dist/types/core/compat/hooks.d.ts +4 -0
  69. package/dist/types/core/compat/index.d.ts +2 -0
  70. package/dist/types/core/compat/requestContext.d.ts +5 -0
  71. package/dist/types/core/config.d.ts +6 -0
  72. package/dist/types/core/constants.d.ts +6 -0
  73. package/dist/types/core/context/index.d.ts +50 -0
  74. package/dist/types/core/context/monitors/default.d.ts +2 -0
  75. package/dist/types/core/context/monitors/index.d.ts +1 -0
  76. package/dist/types/core/context/monitors/index.server.d.ts +2 -0
  77. package/dist/types/core/context/request/index.d.ts +1 -0
  78. package/dist/types/core/context/request/index.server.d.ts +1 -0
  79. package/dist/types/core/context/response/index.d.ts +4 -0
  80. package/dist/types/core/context/response/index.server.d.ts +4 -0
  81. package/dist/types/core/context/runtime.d.ts +42 -0
  82. package/dist/types/core/context/serverPayload/index.d.ts +4 -0
  83. package/dist/types/core/context/serverPayload/index.server.d.ts +31 -0
  84. package/dist/types/core/index.d.ts +5 -0
  85. package/dist/types/core/plugin/index.d.ts +5 -0
  86. package/dist/types/core/plugin/types.d.ts +10 -0
  87. package/dist/types/core/react/index.d.ts +2 -0
  88. package/dist/types/core/react/wrapper.d.ts +3 -0
  89. package/dist/types/core/server/constants.d.ts +4 -0
  90. package/dist/types/core/server/helmet.d.ts +3 -0
  91. package/dist/types/core/server/index.d.ts +4 -0
  92. package/dist/types/core/server/react/index.d.ts +2 -0
  93. package/dist/types/core/server/react/no-ssr-cache/index.d.ts +2 -0
  94. package/dist/types/core/server/react/nossr/index.d.ts +4 -0
  95. package/dist/types/core/server/requestHandler.d.ts +13 -0
  96. package/dist/types/core/server/server.d.ts +4 -0
  97. package/dist/types/core/server/shared.d.ts +8 -0
  98. package/dist/types/core/server/stream/afterTemplate.d.ts +13 -0
  99. package/dist/types/core/server/stream/beforeTemplate.d.ts +9 -0
  100. package/dist/types/core/server/stream/beforeTemplate.worker.d.ts +9 -0
  101. package/dist/types/core/server/stream/createReadableStream.d.ts +2 -0
  102. package/dist/types/core/server/stream/createReadableStream.worker.d.ts +2 -0
  103. package/dist/types/core/server/stream/deferredScript.d.ts +15 -0
  104. package/dist/types/core/server/stream/index.d.ts +1 -0
  105. package/dist/types/core/server/stream/shared.d.ts +40 -0
  106. package/dist/types/core/server/stream/template.d.ts +9 -0
  107. package/dist/types/core/server/string/index.d.ts +2 -0
  108. package/dist/types/core/server/string/loadable.d.ts +39 -0
  109. package/dist/types/core/server/string/ssrData.d.ts +20 -0
  110. package/dist/types/core/server/string/types.d.ts +12 -0
  111. package/dist/types/core/server/tracer.d.ts +17 -0
  112. package/dist/types/core/server/utils.d.ts +19 -0
  113. package/dist/types/core/types.d.ts +49 -0
  114. package/dist/types/document/Body.d.ts +2 -0
  115. package/dist/types/document/Comment.d.ts +5 -0
  116. package/dist/types/document/DocumentContext.d.ts +13 -0
  117. package/dist/types/document/DocumentStructureContext.d.ts +12 -0
  118. package/dist/types/document/Head.d.ts +5 -0
  119. package/dist/types/document/Html.d.ts +4 -0
  120. package/dist/types/document/Links.d.ts +2 -0
  121. package/dist/types/document/Root.d.ts +7 -0
  122. package/dist/types/document/Script.d.ts +4 -0
  123. package/dist/types/document/Scripts.d.ts +2 -0
  124. package/dist/types/document/Style.d.ts +5 -0
  125. package/dist/types/document/Title.d.ts +1 -0
  126. package/dist/types/document/cli/index.d.ts +5 -0
  127. package/dist/types/document/constants.d.ts +25 -0
  128. package/dist/types/document/index.d.ts +12 -0
  129. package/dist/types/exports/config-routes.d.ts +9 -0
  130. package/dist/types/exports/head.d.ts +4 -0
  131. package/dist/types/exports/loadable.d.ts +3 -0
  132. package/dist/types/exports/tanstack-router.d.ts +5 -0
  133. package/dist/types/index.d.ts +10 -0
  134. package/dist/types/internal.d.ts +2 -0
  135. package/dist/types/react-server.d.ts +3 -0
  136. package/dist/types/router/cli/code/getClientRoutes/getRoutes.d.ts +8 -0
  137. package/dist/types/router/cli/code/getClientRoutes/index.d.ts +1 -0
  138. package/dist/types/router/cli/code/getClientRoutes/utils.d.ts +4 -0
  139. package/dist/types/router/cli/code/index.d.ts +12 -0
  140. package/dist/types/router/cli/code/inspect.d.ts +22 -0
  141. package/dist/types/router/cli/code/makeLegalIdentifier.d.ts +1 -0
  142. package/dist/types/router/cli/code/nestedRoutes.d.ts +13 -0
  143. package/dist/types/router/cli/code/tanstackTypes.d.ts +10 -0
  144. package/dist/types/router/cli/code/templates.d.ts +28 -0
  145. package/dist/types/router/cli/code/utils.d.ts +12 -0
  146. package/dist/types/router/cli/config-routes/converter.d.ts +15 -0
  147. package/dist/types/router/cli/config-routes/parseRouteConfig.d.ts +32 -0
  148. package/dist/types/router/cli/constants.d.ts +31 -0
  149. package/dist/types/router/cli/entry.d.ts +18 -0
  150. package/dist/types/router/cli/handler.d.ts +28 -0
  151. package/dist/types/router/cli/index.d.ts +5 -0
  152. package/dist/types/router/index.d.ts +1 -0
  153. package/dist/types/router/internal.d.ts +2 -0
  154. package/dist/types/router/runtime/CSSLinks.d.ts +9 -0
  155. package/dist/types/router/runtime/DefaultNotFound.d.ts +2 -0
  156. package/dist/types/router/runtime/DeferredDataScripts.d.ts +2 -0
  157. package/dist/types/router/runtime/DeferredDataScripts.node.d.ts +11 -0
  158. package/dist/types/router/runtime/PrefetchLink.d.ts +27 -0
  159. package/dist/types/router/runtime/constants.d.ts +146 -0
  160. package/dist/types/router/runtime/hooks.d.ts +18 -0
  161. package/dist/types/router/runtime/index.d.ts +7 -0
  162. package/dist/types/router/runtime/internal.d.ts +11 -0
  163. package/dist/types/router/runtime/lifecycle.d.ts +25 -0
  164. package/dist/types/router/runtime/plugin.d.ts +9 -0
  165. package/dist/types/router/runtime/plugin.node.d.ts +7 -0
  166. package/dist/types/router/runtime/routerHelper.d.ts +5 -0
  167. package/dist/types/router/runtime/rsc-router.d.ts +20 -0
  168. package/dist/types/router/runtime/rsc.d.ts +1 -0
  169. package/dist/types/router/runtime/server.d.ts +1 -0
  170. package/dist/types/router/runtime/tanstack/basepathRewrite.d.ts +8 -0
  171. package/dist/types/router/runtime/tanstack/dataMutation.d.ts +29 -0
  172. package/dist/types/router/runtime/tanstack/plugin.d.ts +6 -0
  173. package/dist/types/router/runtime/tanstack/plugin.node.d.ts +6 -0
  174. package/dist/types/router/runtime/tanstack/prefetchLink.d.ts +11 -0
  175. package/dist/types/router/runtime/tanstack/routeTree.d.ts +8 -0
  176. package/dist/types/router/runtime/tanstack/rsc/ClientSlot.d.ts +5 -0
  177. package/dist/types/router/runtime/tanstack/rsc/CompositeComponent.d.ts +3 -0
  178. package/dist/types/router/runtime/tanstack/rsc/ReplayableStream.d.ts +24 -0
  179. package/dist/types/router/runtime/tanstack/rsc/RscNodeRenderer.d.ts +5 -0
  180. package/dist/types/router/runtime/tanstack/rsc/SlotContext.d.ts +11 -0
  181. package/dist/types/router/runtime/tanstack/rsc/client.d.ts +11 -0
  182. package/dist/types/router/runtime/tanstack/rsc/createRscProxy.d.ts +7 -0
  183. package/dist/types/router/runtime/tanstack/rsc/index.d.ts +2 -0
  184. package/dist/types/router/runtime/tanstack/rsc/server.d.ts +14 -0
  185. package/dist/types/router/runtime/tanstack/rsc/slotUsageSanitizer.d.ts +2 -0
  186. package/dist/types/router/runtime/tanstack/rsc/symbols.d.ts +46 -0
  187. package/dist/types/router/runtime/types.d.ts +119 -0
  188. package/dist/types/router/runtime/utils.d.ts +48 -0
  189. package/dist/types/router/runtime/withRouter.d.ts +10 -0
  190. package/dist/types/rsc/client.d.ts +2 -0
  191. package/dist/types/rsc/server.d.ts +1 -0
  192. package/dist/types/rsc/server.worker.d.ts +1 -0
  193. package/package.json +22 -15
@@ -0,0 +1,14 @@
1
+ import { RawStream } from '@tanstack/router-core';
2
+ import React from 'react';
3
+ import { type AnyCompositeComponent, type AnyRenderableServerComponent, type RscSlotUsageEvent } from './symbols';
4
+ export { CompositeComponent } from './CompositeComponent';
5
+ export type { AnyCompositeComponent, AnyRenderableServerComponent, CompositeComponentProps, } from './symbols';
6
+ export declare function renderServerComponent<TNode extends React.ReactNode>(node: TNode): Promise<TNode & AnyRenderableServerComponent<TNode>>;
7
+ export declare function createCompositeComponent<TProps extends object = Record<string, unknown>, TReturn = React.ReactNode>(component: (props: TProps) => React.ReactNode | Promise<React.ReactNode>): Promise<AnyCompositeComponent<TProps, TReturn>>;
8
+ type SerializedRsc = {
9
+ kind: 'renderable' | 'composite';
10
+ stream: RawStream;
11
+ slotUsagesStream?: ReadableStream<RscSlotUsageEvent>;
12
+ };
13
+ export declare function getTanstackRscSerializationAdapters(): import("@tanstack/router-core").SerializationAdapter<AnyCompositeComponent<Record<string, unknown>, React.ReactNode> | AnyRenderableServerComponent<React.ReactNode>, SerializedRsc, never>[];
14
+ export declare const rscSerializationAdapter: typeof getTanstackRscSerializationAdapters;
@@ -0,0 +1,2 @@
1
+ import type { SerializableSlotArg } from './symbols';
2
+ export declare function sanitizeSlotArgs(args: unknown[]): SerializableSlotArg[];
@@ -0,0 +1,46 @@
1
+ import type React from 'react';
2
+ export interface ServerComponentStream {
3
+ createReplayStream: () => ReadableStream<Uint8Array>;
4
+ }
5
+ export declare const SERVER_COMPONENT_STREAM: unique symbol;
6
+ export declare const RENDERABLE_RSC: unique symbol;
7
+ export declare const RSC_PROXY_GET_TREE: unique symbol;
8
+ export declare const RSC_PROXY_PATH: unique symbol;
9
+ export declare const RSC_SLOT_USAGES_STREAM: unique symbol;
10
+ export declare const RSC_SLOT_USAGES: unique symbol;
11
+ export type SerializableSlotArg = string | number | boolean | bigint | null | undefined | SerializableSlotArg[] | {
12
+ [key: string]: SerializableSlotArg;
13
+ };
14
+ export type RscSlotUsageEvent = {
15
+ slot: string;
16
+ args?: SerializableSlotArg[];
17
+ };
18
+ export interface AnyRenderableServerComponent<TNode = React.ReactNode> {
19
+ [SERVER_COMPONENT_STREAM]: ServerComponentStream;
20
+ [RENDERABLE_RSC]: true;
21
+ [RSC_PROXY_GET_TREE]?: () => unknown;
22
+ [RSC_PROXY_PATH]?: string[];
23
+ [RSC_SLOT_USAGES_STREAM]?: ReadableStream<RscSlotUsageEvent>;
24
+ '~types'?: {
25
+ node: TNode;
26
+ };
27
+ }
28
+ export interface AnyCompositeComponent<TProps extends object = Record<string, unknown>, TReturn = React.ReactNode> {
29
+ [SERVER_COMPONENT_STREAM]?: ServerComponentStream;
30
+ [RSC_PROXY_GET_TREE]?: () => unknown;
31
+ [RSC_PROXY_PATH]?: string[];
32
+ [RSC_SLOT_USAGES]?: RscSlotUsageEvent[];
33
+ [RSC_SLOT_USAGES_STREAM]?: ReadableStream<RscSlotUsageEvent>;
34
+ '~types'?: {
35
+ props: TProps;
36
+ return: TReturn;
37
+ };
38
+ }
39
+ type InferCompositeProps<TComp extends AnyCompositeComponent> = TComp extends AnyCompositeComponent<infer TProps, unknown> ? TProps : Record<string, unknown>;
40
+ export type CompositeComponentProps<TComp extends AnyCompositeComponent> = {
41
+ src: TComp;
42
+ strict?: boolean;
43
+ } & InferCompositeProps<TComp>;
44
+ export declare function isServerComponent(value: unknown): value is AnyCompositeComponent | AnyRenderableServerComponent;
45
+ export declare function isRenderableServerComponent(value: unknown): boolean;
46
+ export {};
@@ -0,0 +1,119 @@
1
+ import type { RequestContext } from '@modern-js/runtime-utils/node';
2
+ import type { Params, RouteObject, RouteProps } from '@modern-js/runtime-utils/router';
3
+ import type { NestedRoute, PageRoute } from '@modern-js/types';
4
+ export type SingleRouteConfig = RouteProps & {
5
+ redirect?: string;
6
+ routes?: SingleRouteConfig[];
7
+ key?: string;
8
+ /**
9
+ * layout component
10
+ */
11
+ layout?: React.ComponentType;
12
+ /**
13
+ * component would be rendered when route macthed.
14
+ */
15
+ component?: React.ComponentType;
16
+ };
17
+ export type BuiltInRouterFramework = 'react-router' | 'tanstack';
18
+ export type RouterFramework = BuiltInRouterFramework | (string & {});
19
+ export type RouterConfig = {
20
+ /**
21
+ * Select the router implementation used by Modern.js conventional routing.
22
+ * - `react-router` (default): React Router v7 based integration
23
+ * - `tanstack`: TanStack Router integration
24
+ */
25
+ framework?: RouterFramework;
26
+ routesConfig: {
27
+ globalApp?: React.ComponentType<any>;
28
+ routes?: (NestedRoute | PageRoute)[];
29
+ };
30
+ /**
31
+ * You should not use it
32
+ */
33
+ oldVersion?: boolean;
34
+ serverBase?: string[];
35
+ supportHtml5History?: boolean;
36
+ basename?: string;
37
+ createRoutes?: () => RouteObject[];
38
+ future?: Partial<{
39
+ v7_startTransition: boolean;
40
+ }>;
41
+ /**
42
+ * An unstable feature, which will reload the page when the current browser URL and the SSR Context URL do not match.
43
+ */
44
+ unstable_reloadOnURLMismatch?: boolean;
45
+ };
46
+ export type Routes = RouterConfig['routesConfig']['routes'];
47
+ export interface RouterRouteMatchSnapshot {
48
+ routeId: string;
49
+ assetRouteId?: string;
50
+ pathname?: string;
51
+ params?: Record<string, string>;
52
+ }
53
+ export interface RouteManifest {
54
+ routeAssets: RouteAssets;
55
+ }
56
+ export interface InternalRouterServerSnapshot {
57
+ framework?: RouterFramework;
58
+ basename?: string;
59
+ statusCode?: number;
60
+ errors?: Record<string, unknown>;
61
+ routerData?: {
62
+ loaderData?: Record<string, unknown>;
63
+ errors?: Record<string, unknown>;
64
+ };
65
+ hydrationScript?: string;
66
+ hydrationScripts?: string[];
67
+ matchedRouteIds?: string[];
68
+ matches?: RouterRouteMatchSnapshot[];
69
+ }
70
+ export interface InternalRouterRuntimeState {
71
+ framework: RouterFramework;
72
+ basename?: string;
73
+ instance?: unknown;
74
+ hydrationScript?: string;
75
+ hydrationScripts?: string[];
76
+ matchedRouteIds?: string[];
77
+ matches?: RouterRouteMatchSnapshot[];
78
+ serverSnapshot?: InternalRouterServerSnapshot;
79
+ cleanup?: () => void | Promise<void>;
80
+ }
81
+ export interface RouterServerPrepareResult {
82
+ state: InternalRouterRuntimeState;
83
+ snapshot?: InternalRouterServerSnapshot;
84
+ redirect?: Response;
85
+ cleanup?: () => void | Promise<void>;
86
+ }
87
+ export interface RouteAssets {
88
+ [routeId: string]: {
89
+ chunkIds?: (string | number)[];
90
+ assets?: string[];
91
+ referenceCssAssets?: string[];
92
+ };
93
+ }
94
+ export interface LazyComponentDescriptor {
95
+ _init: unknown;
96
+ _payload: unknown;
97
+ }
98
+ export type ModernRouteObject = RouteObject & {
99
+ isClientComponent?: boolean;
100
+ hasClientLoader?: boolean;
101
+ hasLoader?: boolean;
102
+ hasAction?: boolean;
103
+ inValidSSRRoute?: boolean;
104
+ parentId?: string;
105
+ lazyImport?: () => Promise<{
106
+ default: React.ComponentType;
107
+ }>;
108
+ component?: React.ComponentType | LazyComponentDescriptor;
109
+ entryCssFiles?: string[];
110
+ };
111
+ interface DataFunctionArgs<D = any> {
112
+ request: Request;
113
+ params: Params;
114
+ context?: D;
115
+ }
116
+ export type LoaderFunctionArgs<P extends Record<string, unknown> = Record<string, unknown>> = DataFunctionArgs<RequestContext<P>>;
117
+ declare type DataFunctionValue = Response | NonNullable<unknown> | null;
118
+ export type LoaderFunction = <P extends Record<string, unknown> = Record<string, unknown>>(args: LoaderFunctionArgs<P>) => Promise<DataFunctionValue> | DataFunctionValue;
119
+ export {};
@@ -0,0 +1,48 @@
1
+ import type { DataRouter } from '@modern-js/runtime-utils/router';
2
+ import { type RouteObject, type StaticHandlerContext } from '@modern-js/runtime-utils/router';
3
+ import type { NestedRoute, PageRoute, SSRMode } from '@modern-js/types';
4
+ import React from 'react';
5
+ import type { RouterConfig } from './types';
6
+ export declare function getRouteComponents(routes: (NestedRoute | PageRoute)[], { globalApp, ssrMode, props, }: {
7
+ globalApp?: React.ComponentType<GlobalAppProps>;
8
+ ssrMode?: SSRMode;
9
+ props?: Record<string, unknown>;
10
+ }): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
11
+ interface GlobalAppProps {
12
+ Component: React.ComponentType;
13
+ [key: string]: unknown;
14
+ }
15
+ export declare function getRouteObjects(routes: (NestedRoute | PageRoute)[], { globalApp, ssrMode, props, }: {
16
+ globalApp?: React.ComponentType<GlobalAppProps>;
17
+ ssrMode?: SSRMode;
18
+ props?: Record<string, unknown>;
19
+ }): RouteObject[];
20
+ export declare function createRouteObjectsFromConfig({ routesConfig, props, ssrMode, }: {
21
+ routesConfig: RouterConfig['routesConfig'];
22
+ props?: Record<string, unknown>;
23
+ ssrMode?: SSRMode;
24
+ }): RouteObject[] | null;
25
+ export declare function renderRoutes({ routesConfig, props, ssrMode, }: {
26
+ routesConfig: RouterConfig['routesConfig'];
27
+ props?: Record<string, unknown>;
28
+ ssrMode?: SSRMode;
29
+ }): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[] | null;
30
+ export declare function getLocation(serverContext: {
31
+ request?: {
32
+ pathname?: string;
33
+ url?: string;
34
+ };
35
+ } | undefined): string;
36
+ export declare const urlJoin: (...parts: string[]) => string;
37
+ export declare function standardSlash(str: string): string;
38
+ /**
39
+ * forked from https://github.com/remix-run/remix/blob/main/packages/remix-server-runtime/errors.ts
40
+ * license at https://github.com/remix-run/remix/blob/main/LICENSE.md
41
+ */
42
+ export declare function serializeErrors(errors: StaticHandlerContext['errors']): StaticHandlerContext['errors'];
43
+ /**
44
+ * forked from https://github.com/remix-run/remix/blob/main/packages/remix-react/errors.ts
45
+ * license at https://github.com/remix-run/remix/blob/main/LICENSE.md
46
+ */
47
+ export declare function deserializeErrors(errors: DataRouter['state']['errors']): DataRouter['state']['errors'];
48
+ export {};
@@ -0,0 +1,10 @@
1
+ import { useLocation, useNavigate } from '@modern-js/runtime-utils/router';
2
+ import type React from 'react';
3
+ export interface WithRouterProps<Params extends {
4
+ [K in keyof Params]?: string;
5
+ } = {}> {
6
+ location: ReturnType<typeof useLocation>;
7
+ params: Params;
8
+ navigate: ReturnType<typeof useNavigate>;
9
+ }
10
+ export declare const withRouter: <Props extends WithRouterProps>(Component: React.ComponentType<Props>) => (props: Omit<Props, keyof WithRouterProps>) => React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from '@modern-js/render/client';
2
+ export declare const isRedirectResponse: (res: Response) => boolean;
@@ -0,0 +1 @@
1
+ export * from '@modern-js/render/rsc';
@@ -0,0 +1 @@
1
+ export * from '@modern-js/render/rsc-worker';
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "modern",
18
18
  "modern.js"
19
19
  ],
20
- "version": "3.2.0-ultramodern.6",
20
+ "version": "3.2.0-ultramodern.62",
21
21
  "engines": {
22
22
  "node": ">=20"
23
23
  },
@@ -63,6 +63,10 @@
63
63
  "types": "./dist/types/exports/head.d.ts",
64
64
  "default": "./dist/esm/exports/head.mjs"
65
65
  },
66
+ "./boundary-debugger": {
67
+ "types": "./dist/types/boundary-debugger/index.d.ts",
68
+ "default": "./dist/esm/boundary-debugger/index.mjs"
69
+ },
66
70
  "./ssr": {
67
71
  "types": "./dist/types/core/server/index.d.ts",
68
72
  "default": "./dist/esm/core/server/index.mjs"
@@ -168,6 +172,9 @@
168
172
  "head": [
169
173
  "./dist/types/exports/head.d.ts"
170
174
  ],
175
+ "boundary-debugger": [
176
+ "./dist/types/boundary-debugger/index.d.ts"
177
+ ],
171
178
  "document": [
172
179
  "./dist/types/document/index.d.ts"
173
180
  ],
@@ -212,11 +219,11 @@
212
219
  "dependencies": {
213
220
  "@loadable/component": "5.16.7",
214
221
  "@loadable/server": "5.16.7",
215
- "@swc/core": "1.15.33",
222
+ "@swc/core": "1.15.40",
216
223
  "@swc/helpers": "^0.5.21",
217
- "@swc/plugin-loadable-components": "^11.9.0",
218
- "@tanstack/react-router": "1.170.1",
219
- "@tanstack/router-core": "1.170.1",
224
+ "@swc/plugin-loadable-components": "^11.10.0",
225
+ "@tanstack/react-router": "1.170.8",
226
+ "@tanstack/router-core": "1.171.6",
220
227
  "@types/loadable__component": "^5.13.10",
221
228
  "@types/react-helmet": "^6.1.11",
222
229
  "cookie": "1.1.1",
@@ -227,12 +234,12 @@
227
234
  "isbot": "5.1.40",
228
235
  "react-helmet": "^6.1.0",
229
236
  "react-is": "^19.2.6",
230
- "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.2.0-ultramodern.6",
231
- "@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.2.0-ultramodern.6",
232
- "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.2.0-ultramodern.6",
233
- "@modern-js/render": "npm:@bleedingdev/modern-js-render@3.2.0-ultramodern.6",
234
- "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.2.0-ultramodern.6",
235
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.2.0-ultramodern.6"
237
+ "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.2.0-ultramodern.62",
238
+ "@modern-js/render": "npm:@bleedingdev/modern-js-render@3.2.0-ultramodern.62",
239
+ "@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.2.0-ultramodern.62",
240
+ "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.2.0-ultramodern.62",
241
+ "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.2.0-ultramodern.62",
242
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.2.0-ultramodern.62"
236
243
  },
237
244
  "peerDependencies": {
238
245
  "react": "^19.2.6",
@@ -240,18 +247,18 @@
240
247
  },
241
248
  "devDependencies": {
242
249
  "@remix-run/web-fetch": "^4.4.2",
243
- "@rsbuild/core": "2.0.6",
250
+ "@rsbuild/core": "2.0.7",
244
251
  "@rslib/core": "0.21.5",
245
252
  "@tanstack/history": "1.162.0",
246
253
  "@testing-library/dom": "^10.4.1",
247
254
  "@testing-library/react": "^16.3.2",
248
255
  "@types/invariant": "^2.2.37",
249
256
  "@types/loadable__server": "5.12.11",
250
- "@types/node": "^25.8.0",
251
- "@typescript/native-preview": "7.0.0-dev.20260516.1",
257
+ "@types/node": "^25.9.1",
258
+ "@typescript/native-preview": "7.0.0-dev.20260527.2",
252
259
  "react": "^19.2.6",
253
260
  "react-dom": "^19.2.6",
254
- "@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.2.0-ultramodern.6",
261
+ "@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.2.0-ultramodern.62",
255
262
  "@scripts/rstest-config": "2.66.0"
256
263
  },
257
264
  "sideEffects": false,