@bleedingdev/modern-js-plugin-tanstack 3.5.0-ultramodern.3 → 3.5.0-ultramodern.31
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/cjs/cli/artifacts.js +157 -0
- package/dist/cjs/cli/index.js +8 -79
- package/dist/cjs/cli/tanstackTypes/canonicalRoutes.js +113 -0
- package/dist/cjs/cli/tanstackTypes/shared.js +130 -0
- package/dist/cjs/cli/tanstackTypes/source.js +251 -0
- package/dist/cjs/cli/tanstackTypes.js +4 -350
- package/dist/cjs/runtime/blockingSubscribe.js +64 -0
- package/dist/cjs/runtime/{pluginCore.js → clientBasepath.js} +12 -19
- package/dist/cjs/runtime/clientHydration.js +129 -0
- package/dist/cjs/runtime/dataMutation.js +11 -176
- package/dist/cjs/runtime/formData.js +116 -0
- package/dist/cjs/runtime/loaderBridge.js +4 -1
- package/dist/cjs/runtime/plugin.js +21 -125
- package/dist/cjs/runtime/plugin.node.js +45 -125
- package/dist/cjs/runtime/pluginShared.js +90 -0
- package/dist/cjs/runtime/prefetchLink.js +15 -2
- package/dist/cjs/runtime/routeTree/components.js +102 -0
- package/dist/cjs/runtime/routeTree/construction.js +152 -0
- package/dist/cjs/runtime/routeTree/index.js +47 -0
- package/dist/cjs/runtime/routeTree/loaders.js +158 -0
- package/dist/cjs/runtime/routeTree/paths.js +57 -0
- package/dist/cjs/runtime/routeTree/staticData.js +63 -0
- package/dist/cjs/runtime/routeTree/tanstackRoutes.js +57 -0
- package/dist/cjs/runtime/routeTree/types.js +18 -0
- package/dist/cjs/runtime/routeTree.js +7 -320
- package/dist/cjs/runtime/rsc/CompositeComponent.js +18 -13
- package/dist/cjs/runtime/rsc/RscNodeRenderer.js +5 -16
- package/dist/cjs/runtime/rsc/client.js +8 -25
- package/dist/cjs/runtime/rsc/flightSerialization.js +132 -0
- package/dist/cjs/runtime/rsc/payloadErrors.js +99 -0
- package/dist/cjs/runtime/rsc/payloadFetch.js +117 -0
- package/dist/cjs/runtime/rsc/payloadRouter.js +21 -142
- package/dist/cjs/runtime/rsc/payloadRoutes.js +106 -0
- package/dist/cjs/runtime/rsc/payloadStorage.js +58 -0
- package/dist/cjs/runtime/rsc/server.js +14 -18
- package/dist/cjs/runtime/rsc/shared.js +71 -0
- package/dist/cjs/runtime/rsc/treeGetter.js +72 -0
- package/dist/cjs/runtime/ssrManagedTags.js +103 -0
- package/dist/cjs/runtime/ssrPreload.js +89 -0
- package/dist/cjs/runtime/ssrTypes.js +18 -0
- package/dist/cjs/runtime/submitAction.js +161 -0
- package/dist/cjs/runtime/utils.js +49 -86
- package/dist/esm/cli/artifacts.mjs +103 -0
- package/dist/esm/cli/index.mjs +4 -78
- package/dist/esm/cli/tanstackTypes/canonicalRoutes.mjs +75 -0
- package/dist/esm/cli/tanstackTypes/shared.mjs +68 -0
- package/dist/esm/cli/tanstackTypes/source.mjs +203 -0
- package/dist/esm/cli/tanstackTypes.mjs +2 -339
- package/dist/esm/runtime/blockingSubscribe.mjs +19 -0
- package/dist/esm/runtime/clientBasepath.mjs +10 -0
- package/dist/esm/runtime/clientHydration.mjs +70 -0
- package/dist/esm/runtime/dataMutation.mjs +2 -167
- package/dist/esm/runtime/formData.mjs +63 -0
- package/dist/esm/runtime/loaderBridge.mjs +4 -1
- package/dist/esm/runtime/plugin.mjs +14 -118
- package/dist/esm/runtime/plugin.node.mjs +41 -121
- package/dist/esm/runtime/pluginShared.mjs +40 -0
- package/dist/esm/runtime/prefetchLink.mjs +18 -5
- package/dist/esm/runtime/routeTree/components.mjs +55 -0
- package/dist/esm/runtime/routeTree/construction.mjs +111 -0
- package/dist/esm/runtime/routeTree/index.mjs +2 -0
- package/dist/esm/runtime/routeTree/loaders.mjs +117 -0
- package/dist/esm/runtime/routeTree/paths.mjs +16 -0
- package/dist/esm/runtime/routeTree/staticData.mjs +22 -0
- package/dist/esm/runtime/routeTree/tanstackRoutes.mjs +13 -0
- package/dist/esm/runtime/routeTree/types.mjs +0 -0
- package/dist/esm/runtime/routeTree.mjs +1 -318
- package/dist/esm/runtime/rsc/CompositeComponent.mjs +18 -13
- package/dist/esm/runtime/rsc/RscNodeRenderer.mjs +4 -15
- package/dist/esm/runtime/rsc/client.mjs +6 -26
- package/dist/esm/runtime/rsc/flightSerialization.mjs +88 -0
- package/dist/esm/runtime/rsc/payloadErrors.mjs +49 -0
- package/dist/esm/runtime/rsc/payloadFetch.mjs +61 -0
- package/dist/esm/runtime/rsc/payloadRouter.mjs +12 -133
- package/dist/esm/runtime/rsc/payloadRoutes.mjs +50 -0
- package/dist/esm/runtime/rsc/payloadStorage.mjs +14 -0
- package/dist/esm/runtime/rsc/server.mjs +17 -21
- package/dist/esm/runtime/rsc/shared.mjs +21 -0
- package/dist/esm/runtime/rsc/treeGetter.mjs +34 -0
- package/dist/esm/runtime/ssrManagedTags.mjs +53 -0
- package/dist/esm/runtime/ssrPreload.mjs +51 -0
- package/dist/esm/runtime/ssrTypes.mjs +0 -0
- package/dist/esm/runtime/submitAction.mjs +120 -0
- package/dist/esm/runtime/utils.mjs +47 -75
- package/dist/esm-node/cli/artifacts.mjs +104 -0
- package/dist/esm-node/cli/index.mjs +4 -78
- package/dist/esm-node/cli/tanstackTypes/canonicalRoutes.mjs +76 -0
- package/dist/esm-node/cli/tanstackTypes/shared.mjs +69 -0
- package/dist/esm-node/cli/tanstackTypes/source.mjs +204 -0
- package/dist/esm-node/cli/tanstackTypes.mjs +2 -339
- package/dist/esm-node/runtime/blockingSubscribe.mjs +20 -0
- package/dist/esm-node/runtime/clientBasepath.mjs +11 -0
- package/dist/esm-node/runtime/clientHydration.mjs +71 -0
- package/dist/esm-node/runtime/dataMutation.mjs +2 -167
- package/dist/esm-node/runtime/formData.mjs +64 -0
- package/dist/esm-node/runtime/loaderBridge.mjs +4 -1
- package/dist/esm-node/runtime/plugin.mjs +14 -118
- package/dist/esm-node/runtime/plugin.node.mjs +41 -121
- package/dist/esm-node/runtime/pluginShared.mjs +41 -0
- package/dist/esm-node/runtime/prefetchLink.mjs +18 -5
- package/dist/esm-node/runtime/routeTree/components.mjs +56 -0
- package/dist/esm-node/runtime/routeTree/construction.mjs +112 -0
- package/dist/esm-node/runtime/routeTree/index.mjs +3 -0
- package/dist/esm-node/runtime/routeTree/loaders.mjs +118 -0
- package/dist/esm-node/runtime/routeTree/paths.mjs +17 -0
- package/dist/esm-node/runtime/routeTree/staticData.mjs +23 -0
- package/dist/esm-node/runtime/routeTree/tanstackRoutes.mjs +14 -0
- package/dist/esm-node/runtime/routeTree/types.mjs +1 -0
- package/dist/esm-node/runtime/routeTree.mjs +1 -318
- package/dist/esm-node/runtime/rsc/CompositeComponent.mjs +18 -13
- package/dist/esm-node/runtime/rsc/RscNodeRenderer.mjs +4 -15
- package/dist/esm-node/runtime/rsc/client.mjs +6 -26
- package/dist/esm-node/runtime/rsc/flightSerialization.mjs +89 -0
- package/dist/esm-node/runtime/rsc/payloadErrors.mjs +50 -0
- package/dist/esm-node/runtime/rsc/payloadFetch.mjs +62 -0
- package/dist/esm-node/runtime/rsc/payloadRouter.mjs +12 -133
- package/dist/esm-node/runtime/rsc/payloadRoutes.mjs +51 -0
- package/dist/esm-node/runtime/rsc/payloadStorage.mjs +15 -0
- package/dist/esm-node/runtime/rsc/server.mjs +17 -21
- package/dist/esm-node/runtime/rsc/shared.mjs +22 -0
- package/dist/esm-node/runtime/rsc/treeGetter.mjs +35 -0
- package/dist/esm-node/runtime/ssrManagedTags.mjs +54 -0
- package/dist/esm-node/runtime/ssrPreload.mjs +52 -0
- package/dist/esm-node/runtime/ssrTypes.mjs +1 -0
- package/dist/esm-node/runtime/submitAction.mjs +121 -0
- package/dist/esm-node/runtime/utils.mjs +47 -75
- package/dist/types/cli/artifacts.d.ts +33 -0
- package/dist/types/cli/index.d.ts +2 -22
- package/dist/types/cli/tanstackTypes/canonicalRoutes.d.ts +22 -0
- package/dist/types/cli/tanstackTypes/shared.d.ts +20 -0
- package/dist/types/cli/tanstackTypes/source.d.ts +10 -0
- package/dist/types/cli/tanstackTypes.d.ts +3 -31
- package/dist/types/runtime/blockingSubscribe.d.ts +3 -0
- package/dist/types/runtime/clientBasepath.d.ts +1 -0
- package/dist/types/runtime/clientHydration.d.ts +19 -0
- package/dist/types/runtime/dataMutation.d.ts +3 -12
- package/dist/types/runtime/formData.d.ts +23 -0
- package/dist/types/runtime/plugin.d.ts +1 -1
- package/dist/types/runtime/plugin.node.d.ts +1 -1
- package/dist/types/runtime/pluginShared.d.ts +39 -0
- package/dist/types/runtime/routeTree/components.d.ts +7 -0
- package/dist/types/runtime/routeTree/construction.d.ts +5 -0
- package/dist/types/runtime/routeTree/index.d.ts +2 -0
- package/dist/types/runtime/routeTree/loaders.d.ts +4 -0
- package/dist/types/runtime/routeTree/paths.d.ts +3 -0
- package/dist/types/runtime/routeTree/staticData.d.ts +19 -0
- package/dist/types/runtime/routeTree/tanstackRoutes.d.ts +4 -0
- package/dist/types/runtime/routeTree/types.d.ts +75 -0
- package/dist/types/runtime/routeTree.d.ts +1 -9
- package/dist/types/runtime/rsc/CompositeComponent.d.ts +1 -2
- package/dist/types/runtime/rsc/RscNodeRenderer.d.ts +2 -3
- package/dist/types/runtime/rsc/client.d.ts +2 -0
- package/dist/types/runtime/rsc/flightSerialization.d.ts +3 -0
- package/dist/types/runtime/rsc/payloadErrors.d.ts +6 -0
- package/dist/types/runtime/rsc/payloadFetch.d.ts +10 -0
- package/dist/types/runtime/rsc/payloadRouter.d.ts +2 -10
- package/dist/types/runtime/rsc/payloadRoutes.d.ts +43 -0
- package/dist/types/runtime/rsc/payloadStorage.d.ts +5 -0
- package/dist/types/runtime/rsc/shared.d.ts +19 -0
- package/dist/types/runtime/rsc/treeGetter.d.ts +1 -0
- package/dist/types/runtime/ssrManagedTags.d.ts +7 -0
- package/dist/types/runtime/ssrPreload.d.ts +2 -0
- package/dist/types/runtime/ssrTypes.d.ts +43 -0
- package/dist/types/runtime/state.d.ts +1 -1
- package/dist/types/runtime/submitAction.d.ts +14 -0
- package/dist/types/runtime/types.d.ts +4 -9
- package/dist/types/runtime/utils.d.ts +4 -24
- package/package.json +30 -8
- package/rstest.config.mts +3 -0
- package/src/cli/artifacts.ts +255 -0
- package/src/cli/index.ts +7 -185
- package/src/cli/tanstackTypes/canonicalRoutes.ts +157 -0
- package/src/cli/tanstackTypes/shared.ts +119 -0
- package/src/cli/tanstackTypes/source.ts +405 -0
- package/src/cli/tanstackTypes.ts +4 -647
- package/src/runtime/blockingSubscribe.ts +48 -0
- package/src/runtime/clientBasepath.ts +12 -0
- package/src/runtime/clientHydration.ts +151 -0
- package/src/runtime/dataMutation.tsx +9 -306
- package/src/runtime/formData.ts +153 -0
- package/src/runtime/loaderBridge.ts +8 -3
- package/src/runtime/plugin.node.tsx +76 -291
- package/src/runtime/plugin.tsx +21 -257
- package/src/runtime/pluginShared.ts +112 -0
- package/src/runtime/prefetchLink.tsx +78 -15
- package/src/runtime/routeTree/components.ts +130 -0
- package/src/runtime/routeTree/construction.ts +238 -0
- package/src/runtime/routeTree/index.ts +7 -0
- package/src/runtime/routeTree/loaders.ts +232 -0
- package/src/runtime/routeTree/paths.ts +36 -0
- package/src/runtime/routeTree/staticData.ts +66 -0
- package/src/runtime/routeTree/tanstackRoutes.ts +36 -0
- package/src/runtime/routeTree/types.ts +87 -0
- package/src/runtime/routeTree.ts +5 -750
- package/src/runtime/rsc/CompositeComponent.tsx +29 -20
- package/src/runtime/rsc/RscNodeRenderer.tsx +9 -27
- package/src/runtime/rsc/client.tsx +12 -40
- package/src/runtime/rsc/flightSerialization.ts +158 -0
- package/src/runtime/rsc/payloadErrors.ts +73 -0
- package/src/runtime/rsc/payloadFetch.ts +97 -0
- package/src/runtime/rsc/payloadRouter.ts +29 -234
- package/src/runtime/rsc/payloadRoutes.ts +122 -0
- package/src/runtime/rsc/payloadStorage.ts +35 -0
- package/src/runtime/rsc/server.tsx +20 -29
- package/src/runtime/rsc/shared.ts +70 -0
- package/src/runtime/rsc/treeGetter.tsx +52 -0
- package/src/runtime/ssrManagedTags.ts +107 -0
- package/src/runtime/ssrPreload.ts +125 -0
- package/src/runtime/ssrTypes.ts +51 -0
- package/src/runtime/state.ts +4 -2
- package/src/runtime/submitAction.ts +194 -0
- package/src/runtime/types.ts +6 -13
- package/src/runtime/utils.tsx +76 -110
- package/src/types/react-server-dom-rspack.d.ts +56 -0
- package/tests/castRatchet.test.ts +85 -0
- package/tests/router/cli.test.ts +7 -0
- package/tests/router/dataMutation.test.tsx +59 -0
- package/tests/router/fixtures/router-gen.golden.txt +72 -0
- package/tests/router/generateRouteArtifacts.test.ts +106 -0
- package/tests/router/loaderBridge.test.ts +21 -0
- package/tests/router/prefetchLink.test.tsx +106 -59
- package/tests/router/prefetchLinkPreload.test.tsx +85 -0
- package/tests/router/routeTree.test.ts +46 -11
- package/tests/router/rsc.test.tsx +189 -0
- package/tests/router/ssrPreload.test.ts +30 -0
- package/tests/router/tanstackTypes.test.ts +254 -1
- package/dist/esm/runtime/pluginCore.mjs +0 -14
- package/dist/esm-node/runtime/pluginCore.mjs +0 -15
- package/dist/types/runtime/pluginCore.d.ts +0 -21
- package/src/runtime/pluginCore.ts +0 -48
|
@@ -1,84 +1,56 @@
|
|
|
1
1
|
import "node:module";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import react from "react";
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
...props
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
return LayoutWrapper;
|
|
4
|
+
function withGlobalLayout(Component, globalApp) {
|
|
5
|
+
if (!globalApp) return Component;
|
|
6
|
+
const GlobalLayout = globalApp;
|
|
7
|
+
return function(props) {
|
|
8
|
+
return /*#__PURE__*/ jsx(GlobalLayout, {
|
|
9
|
+
Component: Component,
|
|
10
|
+
...props
|
|
11
|
+
});
|
|
16
12
|
};
|
|
17
|
-
const routeObjects = [];
|
|
18
|
-
for (const route of routes)if ('nested' === route.type) {
|
|
19
|
-
const nestedRouteObject = {
|
|
20
|
-
path: route.path,
|
|
21
|
-
id: route.id,
|
|
22
|
-
loader: route.loader,
|
|
23
|
-
action: route.action,
|
|
24
|
-
shouldRevalidate: route.shouldRevalidate,
|
|
25
|
-
handle: {
|
|
26
|
-
...route.handle,
|
|
27
|
-
...'object' == typeof route.config ? route.config?.handle : {}
|
|
28
|
-
},
|
|
29
|
-
index: route.index,
|
|
30
|
-
hasLoader: Boolean(route.loader),
|
|
31
|
-
hasClientLoader: Boolean(route.clientData),
|
|
32
|
-
hasAction: Boolean(route.action),
|
|
33
|
-
...route.isClientComponent ? {
|
|
34
|
-
isClientComponent: true
|
|
35
|
-
} : {},
|
|
36
|
-
...route.inValidSSRRoute ? {
|
|
37
|
-
inValidSSRRoute: true
|
|
38
|
-
} : {},
|
|
39
|
-
lazyImport: route.lazyImport,
|
|
40
|
-
Component: route.component ? route.component : void 0,
|
|
41
|
-
errorElement: route.error ? /*#__PURE__*/ jsx(route.error, {}) : void 0,
|
|
42
|
-
children: route.children ? route.children.map((child)=>getRouteObjects([
|
|
43
|
-
child
|
|
44
|
-
], {
|
|
45
|
-
globalApp,
|
|
46
|
-
ssrMode,
|
|
47
|
-
props
|
|
48
|
-
})[0]) : void 0
|
|
49
|
-
};
|
|
50
|
-
routeObjects.push(nestedRouteObject);
|
|
51
|
-
} else if ('function' == typeof route.component || 'object' == typeof route.component) {
|
|
52
|
-
const LayoutComponent = createLayoutElement(route.component);
|
|
53
|
-
const routeObject = {
|
|
54
|
-
path: route.path,
|
|
55
|
-
element: /*#__PURE__*/ react.createElement(LayoutComponent)
|
|
56
|
-
};
|
|
57
|
-
routeObjects.push(routeObject);
|
|
58
|
-
}
|
|
59
|
-
return routeObjects;
|
|
60
13
|
}
|
|
61
|
-
function
|
|
14
|
+
function getRouteHandle(route) {
|
|
15
|
+
return {
|
|
16
|
+
...route.handle,
|
|
17
|
+
...'object' == typeof route.config ? route.config?.handle : {}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function toTanstackRouteObject(route, globalApp) {
|
|
21
|
+
if ('nested' === route.type) return {
|
|
22
|
+
path: route.path,
|
|
23
|
+
id: route.id,
|
|
24
|
+
loader: route.loader,
|
|
25
|
+
action: route.action,
|
|
26
|
+
shouldRevalidate: route.shouldRevalidate,
|
|
27
|
+
handle: getRouteHandle(route),
|
|
28
|
+
index: route.index,
|
|
29
|
+
hasLoader: Boolean(route.loader),
|
|
30
|
+
hasClientLoader: Boolean(route.clientData),
|
|
31
|
+
hasAction: Boolean(route.action),
|
|
32
|
+
...route.isClientComponent ? {
|
|
33
|
+
isClientComponent: true
|
|
34
|
+
} : {},
|
|
35
|
+
...route.inValidSSRRoute ? {
|
|
36
|
+
inValidSSRRoute: true
|
|
37
|
+
} : {},
|
|
38
|
+
lazyImport: route.lazyImport,
|
|
39
|
+
Component: route.component ? route.component : void 0,
|
|
40
|
+
errorElement: route.error ? /*#__PURE__*/ react.createElement(route.error) : void 0,
|
|
41
|
+
children: route.children ? route.children.map((child)=>toTanstackRouteObject(child, globalApp)).filter((child)=>null !== child) : void 0
|
|
42
|
+
};
|
|
43
|
+
if ('function' != typeof route.component && 'object' != typeof route.component) return null;
|
|
44
|
+
const LayoutComponent = withGlobalLayout(route.component, globalApp);
|
|
45
|
+
return {
|
|
46
|
+
path: route.path,
|
|
47
|
+
element: /*#__PURE__*/ react.createElement(LayoutComponent)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function createTanstackRouteObjectsFromConfig({ routesConfig }) {
|
|
62
51
|
if (!routesConfig) return null;
|
|
63
52
|
const { routes, globalApp } = routesConfig;
|
|
64
53
|
if (!routes) return null;
|
|
65
|
-
return
|
|
66
|
-
globalApp,
|
|
67
|
-
ssrMode,
|
|
68
|
-
props
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
const urlJoin = (...parts)=>{
|
|
72
|
-
const separator = '/';
|
|
73
|
-
const replace = new RegExp(`${separator}{1,}`, 'g');
|
|
74
|
-
return standardSlash(parts.join(separator).replace(replace, separator));
|
|
75
|
-
};
|
|
76
|
-
function standardSlash(str) {
|
|
77
|
-
let addr = str;
|
|
78
|
-
if (!addr || 'string' != typeof addr) return addr;
|
|
79
|
-
if (addr.startsWith('.')) addr = addr.slice(1);
|
|
80
|
-
if (!addr.startsWith('/')) addr = `/${addr}`;
|
|
81
|
-
if (addr.endsWith('/') && '/' !== addr) addr = addr.slice(0, addr.length - 1);
|
|
82
|
-
return addr;
|
|
54
|
+
return routes.map((route)=>toTanstackRouteObject(route, globalApp)).filter((route)=>null !== route);
|
|
83
55
|
}
|
|
84
|
-
export {
|
|
56
|
+
export { createTanstackRouteObjectsFromConfig };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AppToolsContext } from '@modern-js/app-tools';
|
|
2
|
+
import type { NestedRouteForCli, PageRoute } from '@modern-js/types';
|
|
3
|
+
export declare function writeTanstackRegisterFile(opts: {
|
|
4
|
+
entries: string[];
|
|
5
|
+
generatedDirName?: string;
|
|
6
|
+
runtimeModule?: string;
|
|
7
|
+
srcDirectory: string;
|
|
8
|
+
canonicalRoutes?: Record<string, string> | null;
|
|
9
|
+
i18nRuntimeModule?: string;
|
|
10
|
+
}): Promise<void>;
|
|
11
|
+
export declare function writeTanstackRouterTypesForEntries(opts: {
|
|
12
|
+
appContext: AppToolsContext;
|
|
13
|
+
generatedDirName?: string;
|
|
14
|
+
routesByEntry: Record<string, (NestedRouteForCli | PageRoute)[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Whether `@modern-js/plugin-i18n` is actually installed in the app. The
|
|
17
|
+
* `register.gen.d.ts` augmentation of '@modern-js/plugin-i18n/runtime' is
|
|
18
|
+
* only emitted when this is true — otherwise apps with a hand-rolled
|
|
19
|
+
* `/:lang/` param would fail typechecking on an unresolvable module.
|
|
20
|
+
*/
|
|
21
|
+
i18nPluginInstalled?: boolean;
|
|
22
|
+
}): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Headless regeneration of `router.gen.ts` / `register.gen.d.ts` for a generated
|
|
25
|
+
* app, without running a full dev/build. Drives the app-tools analyze `onPrepare`
|
|
26
|
+
* (which fires `generateEntryCode`) and returns before any bundling — the app's
|
|
27
|
+
* own registered plugin-tanstack writes the artifacts via its `generateEntryCode`
|
|
28
|
+
* subscriber. Reuses the exact hook dev/build use, so there is no scanning drift.
|
|
29
|
+
*/
|
|
30
|
+
export declare function generateTanstackRouteArtifacts(opts: {
|
|
31
|
+
appDirectory: string;
|
|
32
|
+
version?: string;
|
|
33
|
+
}): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { AppTools,
|
|
2
|
-
import type { NestedRouteForCli, PageRoute } from '@modern-js/types';
|
|
1
|
+
import type { AppTools, CliPlugin } from '@modern-js/app-tools';
|
|
3
2
|
import { type TanstackRouteCodeSplittingOption } from './routeSplitting';
|
|
3
|
+
export { generateTanstackRouteArtifacts, writeTanstackRegisterFile, writeTanstackRouterTypesForEntries, } from './artifacts';
|
|
4
4
|
export type { TanstackRouteCodeSplittingOption, TanstackRsbuildRouteSplittingProfile, } from './routeSplitting';
|
|
5
5
|
export { createTanstackRsbuildRouteSplittingProfile, resolveTanstackRouteCodeSplittingEnabled, } from './routeSplitting';
|
|
6
6
|
export { type CollectCanonicalRoutesOptions, collectCanonicalRoutesForEntry, generateTanstackRouterTypesSourceForEntry, } from './tanstackTypes';
|
|
@@ -9,25 +9,5 @@ export type TanstackRouterPluginOptions = {
|
|
|
9
9
|
generatedDirName?: string;
|
|
10
10
|
routeCodeSplitting?: TanstackRouteCodeSplittingOption;
|
|
11
11
|
};
|
|
12
|
-
export declare function writeTanstackRegisterFile(opts: {
|
|
13
|
-
entries: string[];
|
|
14
|
-
generatedDirName?: string;
|
|
15
|
-
runtimeModule?: string;
|
|
16
|
-
srcDirectory: string;
|
|
17
|
-
canonicalRoutes?: Record<string, string> | null;
|
|
18
|
-
i18nRuntimeModule?: string;
|
|
19
|
-
}): Promise<void>;
|
|
20
|
-
export declare function writeTanstackRouterTypesForEntries(opts: {
|
|
21
|
-
appContext: AppToolsContext;
|
|
22
|
-
generatedDirName?: string;
|
|
23
|
-
routesByEntry: Record<string, (NestedRouteForCli | PageRoute)[]>;
|
|
24
|
-
/**
|
|
25
|
-
* Whether `@modern-js/plugin-i18n` is actually installed in the app. The
|
|
26
|
-
* `register.gen.d.ts` augmentation of '@modern-js/plugin-i18n/runtime' is
|
|
27
|
-
* only emitted when this is true — otherwise apps with a hand-rolled
|
|
28
|
-
* `/:lang/` param would fail typechecking on an unresolvable module.
|
|
29
|
-
*/
|
|
30
|
-
i18nPluginInstalled?: boolean;
|
|
31
|
-
}): Promise<void>;
|
|
32
12
|
export declare function tanstackRouterPlugin(options?: TanstackRouterPluginOptions): CliPlugin<AppTools>;
|
|
33
13
|
export default tanstackRouterPlugin;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { NestedRouteForCli, PageRoute } from '@modern-js/types';
|
|
2
|
+
export type CollectCanonicalRoutesOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Whether a leading `:lang`/`:locale`/`:language` route param may be
|
|
5
|
+
* treated as an i18n locale prefix. This MUST only be enabled when
|
|
6
|
+
* `@modern-js/plugin-i18n` is actually installed: the emitted
|
|
7
|
+
* `declare module '@modern-js/plugin-i18n/runtime'` augmentation breaks
|
|
8
|
+
* typechecking (TS2664) for apps that hand-roll a `/:lang/` param without
|
|
9
|
+
* the plugin. Routes carrying `modernCanonicalPath` metadata are always
|
|
10
|
+
* honored — only plugin-i18n produces them.
|
|
11
|
+
*/
|
|
12
|
+
localeParamHeuristic?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Derive the canonical (language-agnostic) route map for an entry: the
|
|
16
|
+
* leading locale param is stripped and localized physical variants (routes
|
|
17
|
+
* carrying `modernCanonicalPath` metadata from `@modern-js/plugin-i18n`)
|
|
18
|
+
* collapse to their canonical pattern. Returns `null` when the entry has no
|
|
19
|
+
* i18n routing surface (no locale param and no localized variants), so plain
|
|
20
|
+
* TanStack apps never get a `@modern-js/plugin-i18n` module augmentation.
|
|
21
|
+
*/
|
|
22
|
+
export declare function collectCanonicalRoutesForEntry(routes: (NestedRouteForCli | PageRoute)[], options?: CollectCanonicalRoutesOptions): Record<string, string> | null;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { NestedRouteForCli, PageRoute } from '@modern-js/types';
|
|
2
|
+
export declare function toTanstackPath(pathname: string): string;
|
|
3
|
+
export declare function resolveFileNoExt(inputNoExtPath: string): Promise<string | null>;
|
|
4
|
+
export declare function quote(str: string): string;
|
|
5
|
+
export declare function normalizeRelativeImport(p: string): string;
|
|
6
|
+
export declare function pickModernLoaderModule(route: NestedRouteForCli | PageRoute): {
|
|
7
|
+
loaderPath: string;
|
|
8
|
+
inline: boolean;
|
|
9
|
+
} | null;
|
|
10
|
+
export declare function pickRouteSearchContractModules(route: NestedRouteForCli | PageRoute): {
|
|
11
|
+
validateSearchPath: string | null;
|
|
12
|
+
loaderDepsPath: string | null;
|
|
13
|
+
};
|
|
14
|
+
export declare function isPathlessLayout(route: NestedRouteForCli | PageRoute): boolean;
|
|
15
|
+
export declare function isIndexRoute(route: NestedRouteForCli | PageRoute): boolean;
|
|
16
|
+
export declare function createRouteStaticDataSnippet(opts: {
|
|
17
|
+
modernRouteId?: string;
|
|
18
|
+
loaderName?: string | null;
|
|
19
|
+
actionName?: string | null;
|
|
20
|
+
}): string | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AppToolsContext } from '@modern-js/app-tools';
|
|
2
|
+
import type { NestedRouteForCli, PageRoute } from '@modern-js/types';
|
|
3
|
+
export declare function generateTanstackRouterTypesSourceForEntry(opts: {
|
|
4
|
+
appContext: AppToolsContext;
|
|
5
|
+
entryName: string;
|
|
6
|
+
generatedDirName?: string;
|
|
7
|
+
routes: (NestedRouteForCli | PageRoute)[];
|
|
8
|
+
}): Promise<{
|
|
9
|
+
routerGenTs: string;
|
|
10
|
+
}>;
|
|
@@ -1,31 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
/**
|
|
5
|
-
* Whether a leading `:lang`/`:locale`/`:language` route param may be
|
|
6
|
-
* treated as an i18n locale prefix. This MUST only be enabled when
|
|
7
|
-
* `@modern-js/plugin-i18n` is actually installed: the emitted
|
|
8
|
-
* `declare module '@modern-js/plugin-i18n/runtime'` augmentation breaks
|
|
9
|
-
* typechecking (TS2664) for apps that hand-roll a `/:lang/` param without
|
|
10
|
-
* the plugin. Routes carrying `modernCanonicalPath` metadata are always
|
|
11
|
-
* honored — only plugin-i18n produces them.
|
|
12
|
-
*/
|
|
13
|
-
localeParamHeuristic?: boolean;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Derive the canonical (language-agnostic) route map for an entry: the
|
|
17
|
-
* leading locale param is stripped and localized physical variants (routes
|
|
18
|
-
* carrying `modernCanonicalPath` metadata from `@modern-js/plugin-i18n`)
|
|
19
|
-
* collapse to their canonical pattern. Returns `null` when the entry has no
|
|
20
|
-
* i18n routing surface (no locale param and no localized variants), so plain
|
|
21
|
-
* TanStack apps never get a `@modern-js/plugin-i18n` module augmentation.
|
|
22
|
-
*/
|
|
23
|
-
export declare function collectCanonicalRoutesForEntry(routes: (NestedRouteForCli | PageRoute)[], options?: CollectCanonicalRoutesOptions): Record<string, string> | null;
|
|
24
|
-
export declare function generateTanstackRouterTypesSourceForEntry(opts: {
|
|
25
|
-
appContext: AppToolsContext;
|
|
26
|
-
entryName: string;
|
|
27
|
-
generatedDirName?: string;
|
|
28
|
-
routes: (NestedRouteForCli | PageRoute)[];
|
|
29
|
-
}): Promise<{
|
|
30
|
-
routerGenTs: string;
|
|
31
|
-
}>;
|
|
1
|
+
export type { CollectCanonicalRoutesOptions } from './tanstackTypes/canonicalRoutes';
|
|
2
|
+
export { collectCanonicalRoutesForEntry } from './tanstackTypes/canonicalRoutes';
|
|
3
|
+
export { generateTanstackRouterTypesSourceForEntry } from './tanstackTypes/source';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isSegmentPrefix(pathname: string, base: string): boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type AnyRouter } from '@tanstack/react-router';
|
|
2
|
+
export type WindowWithTanstackSsr = Window & {
|
|
3
|
+
$_TSR?: unknown;
|
|
4
|
+
};
|
|
5
|
+
export type RouterHydrationRecord = {
|
|
6
|
+
error?: unknown;
|
|
7
|
+
promise: Promise<unknown>;
|
|
8
|
+
status: 'pending' | 'fulfilled' | 'rejected';
|
|
9
|
+
};
|
|
10
|
+
export declare const routerHydrationRecords: WeakMap<AnyRouter, RouterHydrationRecord>;
|
|
11
|
+
export declare function getCachedRouteModule(routeId: string): unknown;
|
|
12
|
+
export declare function preloadHydratedRouteComponents(router: AnyRouter): Promise<void>;
|
|
13
|
+
export declare function hydrateTanstackRouter(router: AnyRouter): Promise<unknown>;
|
|
14
|
+
export declare function getTanstackSsrHydrationRecord(router: AnyRouter): RouterHydrationRecord;
|
|
15
|
+
export declare function getTanstackSsrHydrationPromise(router: AnyRouter): Promise<unknown>;
|
|
16
|
+
export declare function hasTanstackSsrHydrationRecord(router: AnyRouter): boolean;
|
|
17
|
+
export declare function ModernRouterClient({ router }: {
|
|
18
|
+
router: AnyRouter;
|
|
19
|
+
}): import("react").FunctionComponentElement<import("@tanstack/react-router").RouterProps<AnyRouter, Record<string, any>>>;
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
type
|
|
3
|
-
export type SubmitOptions
|
|
4
|
-
|
|
5
|
-
method?: string;
|
|
6
|
-
encType?: string;
|
|
7
|
-
};
|
|
2
|
+
import type { SubmitOptions, SubmitTarget } from './formData';
|
|
3
|
+
export type { SubmitOptions } from './formData';
|
|
4
|
+
export { RouteActionResponseError } from './submitAction';
|
|
8
5
|
export type FetcherState = 'idle' | 'submitting' | 'loading';
|
|
9
|
-
export declare class RouteActionResponseError<TData = unknown> extends Error {
|
|
10
|
-
readonly response: Response;
|
|
11
|
-
readonly data: TData;
|
|
12
|
-
constructor(response: Response, data: TData);
|
|
13
|
-
}
|
|
14
6
|
export type FormProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'action'> & {
|
|
15
7
|
action?: string;
|
|
16
8
|
onSubmit?: React.FormEventHandler<HTMLFormElement>;
|
|
@@ -26,4 +18,3 @@ export type Fetcher = {
|
|
|
26
18
|
submit: (target: SubmitTarget, options?: FetcherSubmitOptions) => Promise<void>;
|
|
27
19
|
};
|
|
28
20
|
export declare function useFetcher(): Fetcher;
|
|
29
|
-
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export type SubmitTarget = HTMLFormElement | FormData | URLSearchParams | Record<string, string | number | boolean | null | undefined>;
|
|
3
|
+
export type SubmitterElement = HTMLButtonElement | HTMLInputElement;
|
|
4
|
+
export type SubmitOptions = {
|
|
5
|
+
action?: string;
|
|
6
|
+
method?: string;
|
|
7
|
+
encType?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function formDataToUrlSearchParams(formData: FormData): URLSearchParams;
|
|
10
|
+
export declare function formDataToTextPlain(formData: FormData): string;
|
|
11
|
+
export declare function toFormData(target: SubmitTarget): FormData;
|
|
12
|
+
export declare function getSubmitter(event: React.FormEvent<HTMLFormElement>): HTMLButtonElement | HTMLInputElement | null;
|
|
13
|
+
export declare function createFormDataFromSubmit({ form, submitter, }: {
|
|
14
|
+
form: HTMLFormElement;
|
|
15
|
+
submitter: SubmitterElement | null;
|
|
16
|
+
}): FormData;
|
|
17
|
+
export declare function resolveSubmitOptionsFromForm({ form, submitter, action, method, encType, }: {
|
|
18
|
+
form: HTMLFormElement;
|
|
19
|
+
submitter: SubmitterElement | null;
|
|
20
|
+
action?: string;
|
|
21
|
+
method?: string;
|
|
22
|
+
encType?: string;
|
|
23
|
+
}): Required<SubmitOptions>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type TanstackRouterRuntimePlugin } from './
|
|
1
|
+
import { type TanstackRouterRuntimePlugin } from './pluginShared';
|
|
2
2
|
import { type RouterConfig } from './types';
|
|
3
3
|
export declare const tanstackRouterPlugin: (userConfig?: Partial<RouterConfig>) => TanstackRouterRuntimePlugin;
|
|
4
4
|
export default tanstackRouterPlugin;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type TanstackRouterRuntimePlugin } from './
|
|
1
|
+
import { type TanstackRouterRuntimePlugin } from './pluginShared';
|
|
2
2
|
import { type RouterConfig } from './types';
|
|
3
3
|
export declare const tanstackRouterPlugin: (userConfig?: Partial<RouterConfig>) => TanstackRouterRuntimePlugin;
|
|
4
4
|
export default tanstackRouterPlugin;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type TInternalRuntimeContext } from '@modern-js/runtime/context';
|
|
2
|
+
import type { RouteObject } from '@modern-js/runtime-utils/router';
|
|
3
|
+
import type { RouterExtendsHooks } from './hooks';
|
|
4
|
+
import type { RouterConfig } from './types';
|
|
5
|
+
import { type SSRMode } from './utils';
|
|
6
|
+
export type TanstackRouterRuntimeConfig = {
|
|
7
|
+
plugins?: TanstackRouterRuntimePlugin[];
|
|
8
|
+
router?: Partial<RouterConfig>;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
type RuntimeInterrupt = (value?: unknown) => unknown;
|
|
12
|
+
export type TanstackRouterPluginAPI = {
|
|
13
|
+
getRuntimeConfig: () => TanstackRouterRuntimeConfig;
|
|
14
|
+
getHooks: () => RouterExtendsHooks;
|
|
15
|
+
onBeforeRender: (listener: (context: TInternalRuntimeContext, interrupt: RuntimeInterrupt) => unknown) => void;
|
|
16
|
+
wrapRoot: (listener: (App: any) => any) => void;
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
};
|
|
19
|
+
export type TanstackRouterRuntimePlugin = {
|
|
20
|
+
name?: string;
|
|
21
|
+
registryHooks?: RouterExtendsHooks;
|
|
22
|
+
setup?: (api: TanstackRouterPluginAPI) => unknown;
|
|
23
|
+
[key: string]: unknown;
|
|
24
|
+
};
|
|
25
|
+
export type TanstackRouteConfig = {
|
|
26
|
+
mergedConfig: RouterConfig;
|
|
27
|
+
finalRouteConfig: RouterConfig['routesConfig'];
|
|
28
|
+
hasConfiguredRoutes: boolean;
|
|
29
|
+
};
|
|
30
|
+
export declare function getMergedRouterConfig(api: TanstackRouterPluginAPI, userConfig: Partial<RouterConfig>): RouterConfig;
|
|
31
|
+
export declare function getFinalRouteConfig(mergedConfig: RouterConfig): RouterConfig['routesConfig'];
|
|
32
|
+
export declare function getTanstackRouteConfig(api: TanstackRouterPluginAPI, userConfig: Partial<RouterConfig>): TanstackRouteConfig;
|
|
33
|
+
export declare function createTanstackRouteObjects({ hooks, routeConfig, ssrMode, }: {
|
|
34
|
+
hooks: RouterExtendsHooks;
|
|
35
|
+
routeConfig: TanstackRouteConfig;
|
|
36
|
+
ssrMode?: SSRMode;
|
|
37
|
+
}): RouteObject[];
|
|
38
|
+
export declare function joinBasename(baseUrl: string, basename: string): string;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RouteObject } from '@modern-js/runtime-utils/router';
|
|
2
|
+
import { type ElementType } from 'react';
|
|
3
|
+
import type { RouteTreeOptions } from './types';
|
|
4
|
+
export declare function pickRouteModuleComponent(routeModule: unknown, seen?: Set<unknown>): ElementType<Record<string, unknown>> | undefined;
|
|
5
|
+
export declare function toRouteComponent(routeObject: RouteObject, options?: RouteTreeOptions): unknown;
|
|
6
|
+
export declare function toErrorComponent(routeObject: RouteObject): unknown;
|
|
7
|
+
export declare function toPendingComponent(routeObject: RouteObject): unknown;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RouteObject } from '@modern-js/runtime-utils/router';
|
|
2
|
+
import type { AnyRouter } from '@tanstack/react-router';
|
|
3
|
+
import type { ModernTanstackRootRoute, RouteTreeOptions } from './types';
|
|
4
|
+
export declare function createRouteTreeFromRouteObjects(routes: RouteObject[], options?: RouteTreeOptions): ModernTanstackRootRoute;
|
|
5
|
+
export declare function getModernRouteIdsFromMatches(router: AnyRouter): string[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RouteObject } from '@modern-js/runtime-utils/router';
|
|
2
|
+
import type { RouteRevalidationState, RouteTreeOptions, TanstackLoaderContext } from './types';
|
|
3
|
+
export declare function createModernShouldReload(shouldRevalidate: unknown, state: RouteRevalidationState): ((ctx: TanstackLoaderContext) => boolean | undefined) | undefined;
|
|
4
|
+
export declare function wrapRouteObjectLoader(route: RouteObject, revalidationState?: RouteRevalidationState, options?: RouteTreeOptions): ((ctx: TanstackLoaderContext) => Promise<unknown>) | undefined;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare function mergeModernRouteHandle(route: {
|
|
2
|
+
config?: {
|
|
3
|
+
handle?: Record<string, unknown>;
|
|
4
|
+
} | unknown;
|
|
5
|
+
handle?: Record<string, unknown>;
|
|
6
|
+
}): {
|
|
7
|
+
[x: string]: unknown;
|
|
8
|
+
} | undefined;
|
|
9
|
+
export declare function createRouteStaticData(opts: {
|
|
10
|
+
modernRouteId?: string;
|
|
11
|
+
modernRouteAction?: unknown;
|
|
12
|
+
modernRouteHandle?: unknown;
|
|
13
|
+
modernRouteHasAction?: boolean;
|
|
14
|
+
modernRouteHasClientLoader?: boolean;
|
|
15
|
+
modernRouteHasLoader?: boolean;
|
|
16
|
+
modernRouteIsClientComponent?: boolean;
|
|
17
|
+
modernRouteLoader?: unknown;
|
|
18
|
+
modernRouteShouldRevalidate?: unknown;
|
|
19
|
+
}): Record<string, unknown> | undefined;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MutableTanstackRoute, TanstackRootRouteOptions, TanstackRouteOptions } from './types';
|
|
2
|
+
export declare function createTanstackRoute(options: TanstackRouteOptions): MutableTanstackRoute;
|
|
3
|
+
export declare function createTanstackRootRoute(options: TanstackRootRouteOptions): MutableTanstackRoute;
|
|
4
|
+
export declare function wrapRouteComponentWithModernContext(route: MutableTanstackRoute, component: unknown, routeId?: string): void;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { RouteObject } from '@modern-js/runtime-utils/router';
|
|
2
|
+
import type { AnyRoute, RootRoute as TanstackRootRoute } from '@tanstack/react-router';
|
|
3
|
+
export type RouteParams = Record<string, string>;
|
|
4
|
+
export type ModernLoader = (args: {
|
|
5
|
+
request: Request;
|
|
6
|
+
params: RouteParams;
|
|
7
|
+
context?: unknown;
|
|
8
|
+
}) => unknown | Promise<unknown>;
|
|
9
|
+
export type ModernShouldRevalidate = (args: {
|
|
10
|
+
currentParams: RouteParams;
|
|
11
|
+
currentUrl: URL;
|
|
12
|
+
nextParams: RouteParams;
|
|
13
|
+
nextUrl: URL;
|
|
14
|
+
defaultShouldRevalidate?: boolean;
|
|
15
|
+
}) => boolean | undefined;
|
|
16
|
+
export type TanstackLoaderContext = {
|
|
17
|
+
abortController?: AbortController;
|
|
18
|
+
cause?: string;
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
context?: {
|
|
21
|
+
request?: Request;
|
|
22
|
+
requestContext?: unknown;
|
|
23
|
+
};
|
|
24
|
+
location?: string | {
|
|
25
|
+
publicHref?: string;
|
|
26
|
+
href?: string;
|
|
27
|
+
url?: {
|
|
28
|
+
href?: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
params?: RouteParams;
|
|
32
|
+
route?: {
|
|
33
|
+
id?: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type RouteRevalidationState = {
|
|
37
|
+
currentParams?: RouteParams;
|
|
38
|
+
currentUrl?: URL;
|
|
39
|
+
};
|
|
40
|
+
export type ModernRouteObject = RouteObject & {
|
|
41
|
+
ErrorBoundary?: unknown;
|
|
42
|
+
HydrateFallback?: unknown;
|
|
43
|
+
action?: unknown;
|
|
44
|
+
clientData?: unknown;
|
|
45
|
+
component?: unknown;
|
|
46
|
+
config?: {
|
|
47
|
+
handle?: Record<string, unknown>;
|
|
48
|
+
} | unknown;
|
|
49
|
+
file?: string;
|
|
50
|
+
handle?: Record<string, unknown>;
|
|
51
|
+
hasAction?: boolean;
|
|
52
|
+
hasClientLoader?: boolean;
|
|
53
|
+
hasLoader?: boolean;
|
|
54
|
+
inValidSSRRoute?: boolean;
|
|
55
|
+
isClientComponent?: boolean;
|
|
56
|
+
lazyImport?: () => unknown;
|
|
57
|
+
loader?: ModernLoader;
|
|
58
|
+
loaderDeps?: unknown;
|
|
59
|
+
pendingComponent?: unknown;
|
|
60
|
+
shouldRevalidate?: ModernShouldRevalidate;
|
|
61
|
+
validateSearch?: unknown;
|
|
62
|
+
};
|
|
63
|
+
export type MutableTanstackRoute = AnyRoute & {
|
|
64
|
+
addChildren: (children: AnyRoute[]) => void;
|
|
65
|
+
id?: string;
|
|
66
|
+
options: {
|
|
67
|
+
component?: unknown;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
export type TanstackRouteOptions = Record<string, unknown>;
|
|
71
|
+
export type TanstackRootRouteOptions = Record<string, unknown>;
|
|
72
|
+
export type ModernTanstackRootRoute = TanstackRootRoute;
|
|
73
|
+
export type RouteTreeOptions = {
|
|
74
|
+
rscPayloadRouter?: boolean;
|
|
75
|
+
};
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import type { AnyRouter, RootRoute as TanstackRootRoute } from '@tanstack/react-router';
|
|
3
|
-
type ModernTanstackRootRoute = TanstackRootRoute;
|
|
4
|
-
type RouteTreeOptions = {
|
|
5
|
-
rscPayloadRouter?: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare function createRouteTreeFromRouteObjects(routes: RouteObject[], options?: RouteTreeOptions): ModernTanstackRootRoute;
|
|
8
|
-
export declare function getModernRouteIdsFromMatches(router: AnyRouter): string[];
|
|
9
|
-
export {};
|
|
1
|
+
export { createRouteTreeFromRouteObjects, getModernRouteIdsFromMatches, pickRouteModuleComponent, } from './routeTree/index';
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
1
|
import { type AnyCompositeComponent, type CompositeComponentProps } from './symbols';
|
|
3
|
-
export declare function CompositeComponent<TComp extends AnyCompositeComponent>(props: CompositeComponentProps<TComp>):
|
|
2
|
+
export declare function CompositeComponent<TComp extends AnyCompositeComponent>(props: CompositeComponentProps<TComp>): import("react").JSX.Element;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type AnyRenderableServerComponent } from './symbols';
|
|
1
|
+
import type { AnyRenderableServerComponent } from './symbols';
|
|
3
2
|
export declare function RscNodeRenderer({ data, }: {
|
|
4
3
|
data: AnyRenderableServerComponent;
|
|
5
|
-
}):
|
|
4
|
+
}): import("react").JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CompositeComponent } from './CompositeComponent';
|
|
2
|
+
import type { SerializedTanstackRscFlightValue } from './shared';
|
|
2
3
|
import type { AnyCompositeComponent, RscSlotUsageEvent } from './symbols';
|
|
3
4
|
export type { AnyCompositeComponent, AnyRenderableServerComponent, CompositeComponentProps, } from './symbols';
|
|
4
5
|
export { CompositeComponent };
|
|
@@ -7,5 +8,6 @@ type SerializedRsc = {
|
|
|
7
8
|
stream: ReadableStream<Uint8Array>;
|
|
8
9
|
slotUsagesStream?: ReadableStream<RscSlotUsageEvent>;
|
|
9
10
|
};
|
|
11
|
+
export declare function createTanstackRscValueFromFlight(serialized: SerializedTanstackRscFlightValue): AnyCompositeComponent;
|
|
10
12
|
export declare function getTanstackRscSerializationAdapters(): import("@tanstack/router-core").SerializationAdapter<AnyCompositeComponent<Record<string, unknown>, import("react").ReactNode>, SerializedRsc, never>[];
|
|
11
13
|
export declare const rscSerializationAdapter: typeof getTanstackRscSerializationAdapters;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
2
|
+
export declare function serializeTanstackRscFlightValues(value: unknown, seen?: WeakMap<object, unknown>): unknown;
|
|
3
|
+
export declare function reviveTanstackRscFlightValues(value: unknown, seen?: WeakMap<object, unknown>): Promise<unknown>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ServerPayload } from '@modern-js/runtime/context';
|
|
2
|
+
export declare function shouldRedactServerError(status?: number): boolean;
|
|
3
|
+
export declare function serializePayloadError(error: unknown): unknown;
|
|
4
|
+
export declare function isSerializedNotFound(value: unknown): boolean;
|
|
5
|
+
export declare function toRouteErrors(payload: ServerPayload): Record<string, unknown>;
|
|
6
|
+
export declare function toRouteLoaderData(payload: ServerPayload): Record<string, unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ServerPayload } from '@modern-js/runtime/context';
|
|
2
|
+
type PayloadDecoder = (stream: ReadableStream<Uint8Array>) => Promise<unknown>;
|
|
3
|
+
export declare const payloadFetchCache: Map<string, Promise<ServerPayload>>;
|
|
4
|
+
export declare function decodePayload(stream: ReadableStream<Uint8Array>): Promise<unknown>;
|
|
5
|
+
export declare function isServerPayload(value: unknown): value is ServerPayload;
|
|
6
|
+
export declare function createPayloadFetchKey(request: Request): string;
|
|
7
|
+
export declare function isAbsoluteUrl(value: string): boolean;
|
|
8
|
+
export declare function fetchTanstackRscPayload(request: Request): Promise<ServerPayload>;
|
|
9
|
+
export declare function __setTanstackRscPayloadDecoderForTests(decoder?: PayloadDecoder): void;
|
|
10
|
+
export {};
|