@bleedingdev/modern-js-plugin-tanstack 3.9.0-ultramodern.8 → 3.9.3-ultramodern.1

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 (112) hide show
  1. package/dist/cjs/cli/artifacts.js +15 -1
  2. package/dist/cjs/cli/index.js +13 -2
  3. package/dist/cjs/cli/routeMetadata.js +131 -0
  4. package/dist/cjs/cli/rscRouteLayer.js +86 -0
  5. package/dist/cjs/cli/tanstackTypes/canonicalRoutes.js +7 -7
  6. package/dist/cjs/cli/tanstackTypes/shared.js +0 -14
  7. package/dist/cjs/cli/tanstackTypes/source.js +28 -63
  8. package/dist/cjs/runtime/lifecycle.js +0 -3
  9. package/dist/cjs/runtime/loaderBridge.js +10 -4
  10. package/dist/cjs/runtime/navigation.js +102 -0
  11. package/dist/cjs/runtime/plugin.js +10 -1
  12. package/dist/cjs/runtime/plugin.node.js +89 -64
  13. package/dist/cjs/runtime/routeTree/construction.js +19 -61
  14. package/dist/cjs/runtime/routeTree/loaders.js +1 -1
  15. package/dist/cjs/runtime/routeTree/paths.js +0 -6
  16. package/dist/cjs/runtime/ssrManagedTags.js +2 -12
  17. package/dist/cjs/runtime/utils.js +1 -0
  18. package/dist/cjs/shared/routeDescriptor.js +60 -0
  19. package/dist/esm/cli/artifacts.mjs +13 -2
  20. package/dist/esm/cli/index.mjs +13 -11
  21. package/dist/esm/cli/routeMetadata.mjs +71 -0
  22. package/dist/esm/cli/rscRouteLayer.mjs +35 -0
  23. package/dist/esm/cli/tanstackTypes/canonicalRoutes.mjs +7 -7
  24. package/dist/esm/cli/tanstackTypes/shared.mjs +1 -9
  25. package/dist/esm/cli/tanstackTypes/source.mjs +29 -64
  26. package/dist/esm/runtime/lifecycle.mjs +1 -1
  27. package/dist/esm/runtime/loaderBridge.mjs +8 -5
  28. package/dist/esm/runtime/navigation.mjs +64 -0
  29. package/dist/esm/runtime/plugin.mjs +10 -1
  30. package/dist/esm/runtime/plugin.node.mjs +91 -66
  31. package/dist/esm/runtime/routeTree/construction.mjs +19 -61
  32. package/dist/esm/runtime/routeTree/loaders.mjs +2 -2
  33. package/dist/esm/runtime/routeTree/paths.mjs +1 -4
  34. package/dist/esm/runtime/ssrManagedTags.mjs +1 -8
  35. package/dist/esm/runtime/utils.mjs +1 -0
  36. package/dist/esm/shared/routeDescriptor.mjs +22 -0
  37. package/dist/esm-node/cli/artifacts.mjs +13 -2
  38. package/dist/esm-node/cli/index.mjs +13 -11
  39. package/dist/esm-node/cli/routeMetadata.mjs +72 -0
  40. package/dist/esm-node/cli/rscRouteLayer.mjs +36 -0
  41. package/dist/esm-node/cli/tanstackTypes/canonicalRoutes.mjs +7 -7
  42. package/dist/esm-node/cli/tanstackTypes/shared.mjs +1 -9
  43. package/dist/esm-node/cli/tanstackTypes/source.mjs +29 -64
  44. package/dist/esm-node/runtime/lifecycle.mjs +1 -1
  45. package/dist/esm-node/runtime/loaderBridge.mjs +8 -5
  46. package/dist/esm-node/runtime/navigation.mjs +65 -0
  47. package/dist/esm-node/runtime/plugin.mjs +10 -1
  48. package/dist/esm-node/runtime/plugin.node.mjs +91 -66
  49. package/dist/esm-node/runtime/routeTree/construction.mjs +19 -61
  50. package/dist/esm-node/runtime/routeTree/loaders.mjs +2 -2
  51. package/dist/esm-node/runtime/routeTree/paths.mjs +1 -4
  52. package/dist/esm-node/runtime/ssrManagedTags.mjs +1 -8
  53. package/dist/esm-node/runtime/utils.mjs +1 -0
  54. package/dist/esm-node/shared/routeDescriptor.mjs +23 -0
  55. package/dist/types/cli/artifacts.d.ts +16 -7
  56. package/dist/types/cli/index.d.ts +1 -1
  57. package/dist/types/cli/routeMetadata.d.ts +18 -0
  58. package/dist/types/cli/rscRouteLayer.d.ts +11 -0
  59. package/dist/types/cli/tanstackTypes/shared.d.ts +0 -2
  60. package/dist/types/cli/tanstackTypes/source.d.ts +3 -2
  61. package/dist/types/runtime/lifecycle.d.ts +1 -1
  62. package/dist/types/runtime/loaderBridge.d.ts +1 -0
  63. package/dist/types/runtime/navigation.d.ts +4 -0
  64. package/dist/types/runtime/pluginShared.d.ts +5 -0
  65. package/dist/types/runtime/routeTree/paths.d.ts +0 -2
  66. package/dist/types/runtime/ssrManagedTags.d.ts +0 -1
  67. package/dist/types/runtime/ssrTypes.d.ts +0 -7
  68. package/dist/types/shared/routeDescriptor.d.ts +26 -0
  69. package/package.json +32 -26
  70. package/src/cli/artifacts.ts +59 -8
  71. package/src/cli/index.ts +17 -4
  72. package/src/cli/routeMetadata.ts +121 -0
  73. package/src/cli/rscRouteLayer.ts +93 -0
  74. package/src/cli/tanstackTypes/canonicalRoutes.ts +17 -12
  75. package/src/cli/tanstackTypes/shared.ts +0 -14
  76. package/src/cli/tanstackTypes/source.ts +48 -120
  77. package/src/runtime/lifecycle.ts +0 -1
  78. package/src/runtime/loaderBridge.ts +9 -9
  79. package/src/runtime/navigation.ts +78 -0
  80. package/src/runtime/plugin.node.tsx +121 -91
  81. package/src/runtime/plugin.tsx +10 -0
  82. package/src/runtime/pluginShared.ts +12 -0
  83. package/src/runtime/routeTree/construction.ts +32 -112
  84. package/src/runtime/routeTree/loaders.ts +2 -4
  85. package/src/runtime/routeTree/paths.ts +0 -6
  86. package/src/runtime/ssrManagedTags.ts +0 -17
  87. package/src/runtime/ssrTypes.ts +0 -7
  88. package/src/runtime/utils.tsx +1 -0
  89. package/src/shared/routeDescriptor.ts +46 -0
  90. package/dist/esm/rslib-runtime~1.mjs +0 -18
  91. package/dist/esm-node/rslib-runtime~0.mjs +0 -19
  92. package/rslib.config.mts +0 -4
  93. package/rstest.config.mts +0 -53
  94. package/tests/router/cli.test.ts +0 -420
  95. package/tests/router/clientHydration.test.tsx +0 -200
  96. package/tests/router/dataMutation.test.tsx +0 -428
  97. package/tests/router/fixtures/router-gen.oxlint.json +0 -5
  98. package/tests/router/flightSerialization.roundtrip.test.tsx +0 -140
  99. package/tests/router/generateRouteArtifacts.test.ts +0 -146
  100. package/tests/router/loaderBridge.test.ts +0 -207
  101. package/tests/router/localisedIdentity.test.tsx +0 -95
  102. package/tests/router/prefetchLink.test.tsx +0 -122
  103. package/tests/router/prefetchLinkPreload.test.tsx +0 -65
  104. package/tests/router/routeHooks.test.ts +0 -49
  105. package/tests/router/routeTree.test.ts +0 -240
  106. package/tests/router/rsc.test.tsx +0 -480
  107. package/tests/router/serverPlugin.test.ts +0 -157
  108. package/tests/router/slotUsageSanitizer.test.ts +0 -23
  109. package/tests/router/ssrPreload.test.ts +0 -30
  110. package/tests/router/tanstackTypes.test.ts +0 -384
  111. package/tsconfig.json +0 -12
  112. package/tsconfig.tsgo.json +0 -6
@@ -38,12 +38,14 @@ var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
40
  generateTanstackRouteArtifacts: ()=>generateTanstackRouteArtifacts,
41
+ writeRouteMetadataManifest: ()=>writeRouteMetadataManifest,
41
42
  writeTanstackRegisterFile: ()=>writeTanstackRegisterFile,
42
43
  writeTanstackRouterTypesForEntries: ()=>writeTanstackRouterTypesForEntries
43
44
  });
44
45
  const external_node_path_namespaceObject = require("node:path");
45
46
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
46
47
  const utils_namespaceObject = require("@modern-js/utils");
48
+ const external_routeMetadata_js_namespaceObject = require("./routeMetadata.js");
47
49
  const external_tanstackTypes_js_namespaceObject = require("./tanstackTypes.js");
48
50
  const DEFAULT_GENERATED_DIR_NAME = 'modern-tanstack';
49
51
  async function writeFileIfChanged(filePath, content) {
@@ -121,7 +123,16 @@ async function writeTanstackRouterTypesForEntries(opts) {
121
123
  canonicalRoutes
122
124
  });
123
125
  }
126
+ async function writeRouteMetadataManifest(opts) {
127
+ const routesDirectory = external_node_path_default().join(opts.appDirectory, 'src', 'routes');
128
+ const manifestPath = external_node_path_default().join(routesDirectory, external_routeMetadata_js_namespaceObject.ROUTE_METADATA_MANIFEST_FILE_NAME);
129
+ const manifest = (0, external_routeMetadata_js_namespaceObject.renderRouteMetadataManifest)(await (0, external_routeMetadata_js_namespaceObject.findRouteMetaFiles)(routesDirectory));
130
+ if (null !== manifest) return void await writeFileIfChanged(manifestPath, manifest);
131
+ const previous = await utils_namespaceObject.fs.pathExists(manifestPath) ? await utils_namespaceObject.fs.readFile(manifestPath, 'utf-8') : null;
132
+ if (previous?.startsWith(`${external_routeMetadata_js_namespaceObject.ROUTE_METADATA_MANIFEST_HEADER}\n`)) throw new Error(`[plugin-tanstack] ${manifestPath} is generated from route.meta.ts files, but none remain below ${routesDirectory}. Restore at least one route.meta.ts that exports routeMeta, or delete the manifest together with its imports.`);
133
+ }
124
134
  async function generateTanstackRouteArtifacts(opts) {
135
+ await writeRouteMetadataManifest(opts);
125
136
  const [{ createRunOptions }, { cli }, utils] = await Promise.all([
126
137
  import("@modern-js/app-tools/cli/run"),
127
138
  import("@modern-js/plugin/cli"),
@@ -139,16 +150,19 @@ async function generateTanstackRouteArtifacts(opts) {
139
150
  version: opts.version || process.env.MODERN_JS_VERSION || '0.0.0-routes-generate',
140
151
  internalPlugins: utils.INTERNAL_RUNTIME_PLUGINS
141
152
  });
142
- await cli.init({
153
+ const { appContext } = await cli.init({
143
154
  ...runOptions,
144
155
  command: 'build'
145
156
  });
157
+ await appContext.hooks.onBeforeExit.call();
146
158
  }
147
159
  exports.generateTanstackRouteArtifacts = __webpack_exports__.generateTanstackRouteArtifacts;
160
+ exports.writeRouteMetadataManifest = __webpack_exports__.writeRouteMetadataManifest;
148
161
  exports.writeTanstackRegisterFile = __webpack_exports__.writeTanstackRegisterFile;
149
162
  exports.writeTanstackRouterTypesForEntries = __webpack_exports__.writeTanstackRouterTypesForEntries;
150
163
  for(var __rspack_i in __webpack_exports__)if (-1 === [
151
164
  "generateTanstackRouteArtifacts",
165
+ "writeRouteMetadataManifest",
152
166
  "writeTanstackRegisterFile",
153
167
  "writeTanstackRouterTypesForEntries"
154
168
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -59,6 +59,7 @@ var __webpack_exports__ = {};
59
59
  generateTanstackRouterTypesSourceForEntry: ()=>external_tanstackTypes_js_namespaceObject.generateTanstackRouterTypesSourceForEntry,
60
60
  resolveTanstackRouteCodeSplittingEnabled: ()=>external_routeSplitting_js_namespaceObject.resolveTanstackRouteCodeSplittingEnabled,
61
61
  tanstackRouterPlugin: ()=>tanstackRouterPlugin,
62
+ writeRouteMetadataManifest: ()=>external_artifacts_js_namespaceObject.writeRouteMetadataManifest,
62
63
  writeTanstackRegisterFile: ()=>external_artifacts_js_namespaceObject.writeTanstackRegisterFile,
63
64
  writeTanstackRouterTypesForEntries: ()=>external_artifacts_js_namespaceObject.writeTanstackRouterTypesForEntries
64
65
  });
@@ -67,6 +68,7 @@ var __webpack_exports__ = {};
67
68
  const utils_namespaceObject = require("@modern-js/utils");
68
69
  const external_artifacts_js_namespaceObject = require("./artifacts.js");
69
70
  const external_routeSplitting_js_namespaceObject = require("./routeSplitting.js");
71
+ const external_rscRouteLayer_js_namespaceObject = require("./rscRouteLayer.js");
70
72
  const external_tanstackTypes_js_namespaceObject = require("./tanstackTypes.js");
71
73
  const DEFAULT_ROUTES_DIR = 'routes';
72
74
  const DEFAULT_GENERATED_DIR_NAME = 'modern-tanstack';
@@ -156,6 +158,13 @@ var __webpack_exports__ = {};
156
158
  }));
157
159
  api.config(()=>({
158
160
  ...routeSplittingProfile.defaultConfig,
161
+ builderPlugins: [
162
+ (0, external_rscRouteLayer_js_namespaceObject.createTanstackRscRouteLayerPlugin)(()=>({
163
+ entryNames: api.getAppContext().entrypoints.filter(isTanstackEntrypoint).map((entrypoint)=>entrypoint.entryName),
164
+ internalDirectory: api.getAppContext().internalDirectory,
165
+ rsc: api.getNormalizedConfig().server.rsc
166
+ }))
167
+ ],
159
168
  source: {
160
169
  include: [
161
170
  /[\\/]node_modules[\\/]@tanstack[\\/]react-router[\\/]/,
@@ -182,7 +191,7 @@ var __webpack_exports__ = {};
182
191
  hydrateRscClientRoutes: true,
183
192
  includeRouteServerLoadersInSsrEntry: false,
184
193
  isolateRouteDataInRscLayer: true,
185
- serverRoutesFileName: 'tanstack-routes.server.js'
194
+ serverRoutesFileName: external_rscRouteLayer_js_namespaceObject.TANSTACK_SERVER_ROUTES_FILE
186
195
  });
187
196
  await (0, external_artifacts_js_namespaceObject.writeTanstackRouterTypesForEntries)({
188
197
  appContext: api.getAppContext(),
@@ -206,7 +215,7 @@ var __webpack_exports__ = {};
206
215
  hydrateRscClientRoutes: true,
207
216
  includeRouteServerLoadersInSsrEntry: false,
208
217
  isolateRouteDataInRscLayer: true,
209
- serverRoutesFileName: 'tanstack-routes.server.js'
218
+ serverRoutesFileName: external_rscRouteLayer_js_namespaceObject.TANSTACK_SERVER_ROUTES_FILE
210
219
  });
211
220
  await (0, external_artifacts_js_namespaceObject.writeTanstackRouterTypesForEntries)({
212
221
  appContext: api.getAppContext(),
@@ -248,6 +257,7 @@ exports.generateTanstackRouteArtifacts = __webpack_exports__.generateTanstackRou
248
257
  exports.generateTanstackRouterTypesSourceForEntry = __webpack_exports__.generateTanstackRouterTypesSourceForEntry;
249
258
  exports.resolveTanstackRouteCodeSplittingEnabled = __webpack_exports__.resolveTanstackRouteCodeSplittingEnabled;
250
259
  exports.tanstackRouterPlugin = __webpack_exports__.tanstackRouterPlugin;
260
+ exports.writeRouteMetadataManifest = __webpack_exports__.writeRouteMetadataManifest;
251
261
  exports.writeTanstackRegisterFile = __webpack_exports__.writeTanstackRegisterFile;
252
262
  exports.writeTanstackRouterTypesForEntries = __webpack_exports__.writeTanstackRouterTypesForEntries;
253
263
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -258,6 +268,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
258
268
  "generateTanstackRouterTypesSourceForEntry",
259
269
  "resolveTanstackRouteCodeSplittingEnabled",
260
270
  "tanstackRouterPlugin",
271
+ "writeRouteMetadataManifest",
261
272
  "writeTanstackRegisterFile",
262
273
  "writeTanstackRouterTypesForEntries"
263
274
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ ROUTE_METADATA_MANIFEST_FILE_NAME: ()=>ROUTE_METADATA_MANIFEST_FILE_NAME,
41
+ ROUTE_METADATA_MANIFEST_HEADER: ()=>ROUTE_METADATA_MANIFEST_HEADER,
42
+ ROUTE_META_FILE_NAME: ()=>ROUTE_META_FILE_NAME,
43
+ findRouteMetaFiles: ()=>findRouteMetaFiles,
44
+ renderRouteMetadataManifest: ()=>renderRouteMetadataManifest
45
+ });
46
+ const promises_namespaceObject = require("node:fs/promises");
47
+ const external_node_path_namespaceObject = require("node:path");
48
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
49
+ const ROUTE_META_FILE_NAME = 'route.meta.ts';
50
+ const ROUTE_METADATA_MANIFEST_FILE_NAME = 'ultramodern-route-metadata.ts';
51
+ const ROUTE_METADATA_MANIFEST_HEADER = `// @generated by @modern-js/plugin-tanstack from ${ROUTE_META_FILE_NAME} files. Run routes-generate; do not edit.`;
52
+ const PRINT_WIDTH = 120;
53
+ const MANIFEST_BODY = `export const ultramodernLocalisedUrls = Object.fromEntries(
54
+ ultramodernRouteMetadata
55
+ .filter((route: { canonicalPath: string }) => route.canonicalPath !== '/')
56
+ .map((route) => [route.canonicalPath, route.localisedPaths]),
57
+ );
58
+ export const ultramodernPublicRoutes = ultramodernRouteMetadata
59
+ .filter((route) => route.public && route.indexable)
60
+ .map((route) => ({
61
+ canonicalPath: route.canonicalPath,
62
+ descriptionKey: route.descriptionKey,
63
+ id: route.id,
64
+ localisedPaths: route.localisedPaths,
65
+ namespace: route.namespace,
66
+ ownerAppId: route.ownerAppId,
67
+ titleKey: route.titleKey,
68
+ ...('jsonLd' in route ? { jsonLd: route.jsonLd } : {}),
69
+ }));
70
+ export const ultramodernRouteConfig = {
71
+ authoring: 'colocated-route-meta',
72
+ generatedManifest: true,
73
+ localisedUrls: ultramodernLocalisedUrls,
74
+ namespace: ultramodernRouteNamespace,
75
+ publicRoutes: ultramodernPublicRoutes,
76
+ routes: ultramodernRouteMetadata,
77
+ source: 'route-owned',
78
+ } as const;
79
+ `;
80
+ const compareCodeUnits = (left, right)=>left < right ? -1 : left > right ? 1 : 0;
81
+ const quoteSpecifier = (specifier)=>specifier.includes("'") ? JSON.stringify(specifier) : `'${specifier}'`;
82
+ function renderRouteMetadataManifest(routeMetaFiles) {
83
+ const specifiers = routeMetaFiles.map((file)=>`./${file.replaceAll('\\', '/').replace(/\.ts$/u, '')}`).sort(compareCodeUnits);
84
+ if (0 === specifiers.length) return null;
85
+ const bindings = specifiers.map((_, index)=>`route${index}`);
86
+ const imports = specifiers.map((specifier, index)=>`import { routeMeta as ${bindings[index]} } from ${quoteSpecifier(specifier)};`);
87
+ const inlineRoutes = `export const ultramodernRouteMetadata = [${bindings.join(', ')}] as const;`;
88
+ const routes = inlineRoutes.length <= PRINT_WIDTH ? inlineRoutes : `export const ultramodernRouteMetadata = [\n${bindings.map((binding)=>` ${binding},\n`).join('')}] as const;`;
89
+ return `${ROUTE_METADATA_MANIFEST_HEADER}
90
+ ${imports.join('\n')}
91
+
92
+ export const ultramodernRouteNamespace = route0.namespace;
93
+ ${routes}
94
+ ${MANIFEST_BODY}`;
95
+ }
96
+ async function findRouteMetaFiles(routesDirectory) {
97
+ const files = [];
98
+ const visit = async (relativeDirectory)=>{
99
+ const entries = await (0, promises_namespaceObject.readdir)(external_node_path_default().join(routesDirectory, relativeDirectory), {
100
+ withFileTypes: true
101
+ });
102
+ for (const entry of entries){
103
+ const relativePath = external_node_path_default().join(relativeDirectory, entry.name);
104
+ if (entry.isDirectory()) await visit(relativePath);
105
+ else if (entry.isFile() && entry.name === ROUTE_META_FILE_NAME) files.push(relativePath);
106
+ }
107
+ };
108
+ try {
109
+ await visit('');
110
+ } catch (error) {
111
+ const { code, path: missingPath } = error;
112
+ if ('ENOENT' === code && missingPath === routesDirectory) return [];
113
+ throw error;
114
+ }
115
+ return files;
116
+ }
117
+ exports.ROUTE_METADATA_MANIFEST_FILE_NAME = __webpack_exports__.ROUTE_METADATA_MANIFEST_FILE_NAME;
118
+ exports.ROUTE_METADATA_MANIFEST_HEADER = __webpack_exports__.ROUTE_METADATA_MANIFEST_HEADER;
119
+ exports.ROUTE_META_FILE_NAME = __webpack_exports__.ROUTE_META_FILE_NAME;
120
+ exports.findRouteMetaFiles = __webpack_exports__.findRouteMetaFiles;
121
+ exports.renderRouteMetadataManifest = __webpack_exports__.renderRouteMetadataManifest;
122
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
123
+ "ROUTE_METADATA_MANIFEST_FILE_NAME",
124
+ "ROUTE_METADATA_MANIFEST_HEADER",
125
+ "ROUTE_META_FILE_NAME",
126
+ "findRouteMetaFiles",
127
+ "renderRouteMetadataManifest"
128
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
129
+ Object.defineProperty(exports, '__esModule', {
130
+ value: true
131
+ });
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ TANSTACK_SERVER_ROUTES_FILE: ()=>TANSTACK_SERVER_ROUTES_FILE,
41
+ createTanstackRscRouteLayerPlugin: ()=>createTanstackRscRouteLayerPlugin
42
+ });
43
+ const external_node_path_namespaceObject = require("node:path");
44
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
45
+ const TANSTACK_SERVER_ROUTES_FILE = 'tanstack-routes.server.js';
46
+ function exactResource(...filenames) {
47
+ const escaped = filenames.map((filename)=>filename.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&'));
48
+ return new RegExp(`^(?:${escaped.join('|')})(?:\\?.*)?$`, 'u');
49
+ }
50
+ function createTanstackRscRouteLayerPlugin(getContext) {
51
+ return {
52
+ name: 'modern:tanstack:rsc-route-layer',
53
+ setup (api) {
54
+ api.modifyRspackConfig({
55
+ order: 'post',
56
+ handler (config, { environment, rspack, target }) {
57
+ const { entryNames, internalDirectory, rsc } = getContext();
58
+ if (false === rsc || void 0 === rsc || 0 === entryNames.length) return;
59
+ const rscServerEnvironment = 'object' == typeof rsc ? rsc.environments?.server ?? 'server' : 'server';
60
+ if ('node' !== target && 'node' !== config.target && environment.name !== rscServerEnvironment) return;
61
+ config.module ??= {};
62
+ config.module.rules ??= [];
63
+ config.plugins ??= [];
64
+ for (const entryName of entryNames){
65
+ const routes = external_node_path_default().resolve(internalDirectory, entryName, 'routes.js');
66
+ const serverRoutes = external_node_path_default().resolve(internalDirectory, entryName, TANSTACK_SERVER_ROUTES_FILE);
67
+ config.plugins.push(new rspack.NormalModuleReplacementPlugin(exactResource(routes), serverRoutes));
68
+ config.module.rules.push({
69
+ resource: exactResource(routes, serverRoutes),
70
+ layer: 'server-side-rendering'
71
+ });
72
+ }
73
+ }
74
+ });
75
+ }
76
+ };
77
+ }
78
+ exports.TANSTACK_SERVER_ROUTES_FILE = __webpack_exports__.TANSTACK_SERVER_ROUTES_FILE;
79
+ exports.createTanstackRscRouteLayerPlugin = __webpack_exports__.createTanstackRscRouteLayerPlugin;
80
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
81
+ "TANSTACK_SERVER_ROUTES_FILE",
82
+ "createTanstackRscRouteLayerPlugin"
83
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
84
+ Object.defineProperty(exports, '__esModule', {
85
+ value: true
86
+ });
@@ -30,6 +30,7 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  collectCanonicalRoutesForEntry: ()=>collectCanonicalRoutesForEntry
32
32
  });
33
+ const routeDescriptor_js_namespaceObject = require("../../shared/routeDescriptor.js");
33
34
  const external_shared_js_namespaceObject = require("./shared.js");
34
35
  const LOCALE_PARAM_SEGMENTS = new Set([
35
36
  ':lang',
@@ -76,11 +77,13 @@ function collectCanonicalRoutesForEntry(routes, options = {}) {
76
77
  const key = (0, external_shared_js_namespaceObject.toTanstackPath)(normalized);
77
78
  if (!canonicalParams.has(key)) canonicalParams.set(key, paramsTypeForCanonicalPath(normalized));
78
79
  };
79
- const visit = (route, parentPath)=>{
80
+ const visit = (descriptor, parentPath)=>{
81
+ const { source: route, children } = descriptor;
80
82
  let currentPath = parentPath;
81
- if ('string' == typeof route.modernCanonicalPath) {
83
+ const canonicalPath = route.modernLocalisedRoute?.canonicalPath ?? route.modernCanonicalPath;
84
+ if ('string' == typeof canonicalPath) {
82
85
  hasI18nSurface = true;
83
- currentPath = normalizeJoined(route.modernCanonicalPath);
86
+ currentPath = canonicalPath ? normalizeJoined(canonicalPath) : '';
84
87
  } else if ('string' == typeof route.path && route.path.length > 0) {
85
88
  const segments = route.path.replace(/\[(.+?)\]/g, ':$1').split('/').filter(Boolean);
86
89
  if (localeParamHeuristic && '' === parentPath && LOCALE_PARAM_SEGMENTS.has(segments[0])) {
@@ -89,16 +92,13 @@ function collectCanonicalRoutesForEntry(routes, options = {}) {
89
92
  }
90
93
  currentPath = segments.length ? normalizeJoined(`${parentPath}/${segments.join('/')}`) : parentPath;
91
94
  }
92
- const children = route.children;
93
95
  if (children && children.length > 0) {
94
96
  for (const child of children)visit(child, currentPath);
95
97
  return;
96
98
  }
97
99
  record(currentPath || '/');
98
100
  };
99
- const rootModern = routes.find((route)=>route.isRoot);
100
- const topLevel = rootModern ? rootModern.children ?? [] : routes;
101
- for (const route of topLevel)visit(route, '');
101
+ for (const route of (0, routeDescriptor_js_namespaceObject.describeRouteTree)(routes).children)visit(route, '');
102
102
  if (!hasI18nSurface || 0 === canonicalParams.size) return null;
103
103
  return Object.fromEntries([
104
104
  ...canonicalParams.entries()
@@ -29,8 +29,6 @@ var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  createRouteStaticDataSnippet: ()=>createRouteStaticDataSnippet,
32
- isIndexRoute: ()=>isIndexRoute,
33
- isPathlessLayout: ()=>isPathlessLayout,
34
32
  normalizeRelativeImport: ()=>normalizeRelativeImport,
35
33
  pickModernLoaderModule: ()=>pickModernLoaderModule,
36
34
  pickRouteSearchContractModules: ()=>pickRouteSearchContractModules,
@@ -83,14 +81,6 @@ function pickRouteSearchContractModules(route) {
83
81
  loaderDepsPath: 'string' == typeof loaderDepsPath ? loaderDepsPath : null
84
82
  };
85
83
  }
86
- function isPathlessLayout(route) {
87
- const extras = route;
88
- return 'nested' === extras.type && 'boolean' != typeof extras.index && void 0 === extras.path;
89
- }
90
- function isIndexRoute(route) {
91
- const extras = route;
92
- return 'nested' === extras.type && Boolean(extras.index);
93
- }
94
84
  function createRouteStaticDataSnippet(opts) {
95
85
  const staticData = (0, routeStaticData_js_namespaceObject.createRouteStaticData)({
96
86
  modernRouteId: opts.modernRouteId && quote(opts.modernRouteId),
@@ -101,8 +91,6 @@ function createRouteStaticDataSnippet(opts) {
101
91
  return entries.length > 0 ? `staticData: createRouteStaticData({\n ${entries.map(([key, value])=>`${key}: ${value},`).join('\n ')}\n }),` : null;
102
92
  }
103
93
  exports.createRouteStaticDataSnippet = __webpack_exports__.createRouteStaticDataSnippet;
104
- exports.isIndexRoute = __webpack_exports__.isIndexRoute;
105
- exports.isPathlessLayout = __webpack_exports__.isPathlessLayout;
106
94
  exports.normalizeRelativeImport = __webpack_exports__.normalizeRelativeImport;
107
95
  exports.pickModernLoaderModule = __webpack_exports__.pickModernLoaderModule;
108
96
  exports.pickRouteSearchContractModules = __webpack_exports__.pickRouteSearchContractModules;
@@ -111,8 +99,6 @@ exports.resolveFileNoExt = __webpack_exports__.resolveFileNoExt;
111
99
  exports.toTanstackPath = __webpack_exports__.toTanstackPath;
112
100
  for(var __rspack_i in __webpack_exports__)if (-1 === [
113
101
  "createRouteStaticDataSnippet",
114
- "isIndexRoute",
115
- "isPathlessLayout",
116
102
  "normalizeRelativeImport",
117
103
  "pickModernLoaderModule",
118
104
  "pickRouteSearchContractModules",
@@ -30,20 +30,14 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  generateTanstackRouterTypesSourceForEntry: ()=>generateTanstackRouterTypesSourceForEntry
32
32
  });
33
- const i18n_runtime_extensions_namespaceObject = require("@modern-js/i18n-runtime-extensions");
34
33
  const cli_namespaceObject = require("@modern-js/runtime/cli");
35
34
  const utils_namespaceObject = require("@modern-js/utils");
35
+ const routeDescriptor_js_namespaceObject = require("../../shared/routeDescriptor.js");
36
36
  const external_shared_js_namespaceObject = require("./shared.js");
37
37
  async function generateTanstackRouterTypesSourceForEntry(opts) {
38
- const { appContext, entryName, generatedDirName = 'modern-tanstack', routes: rawRoutes } = opts;
39
- const routes = (0, i18n_runtime_extensions_namespaceObject.canonicaliseLocalisedRoutes)(rawRoutes);
38
+ const { appContext, entryName, generatedDirName = 'modern-tanstack', routes } = opts;
40
39
  const outDir = utils_namespaceObject.upath.join(appContext.srcDirectory, generatedDirName, entryName);
41
- const rootModern = routes.find((r)=>{
42
- const extras = r;
43
- return r && 'nested' === extras.type && extras.isRoot;
44
- });
45
- const rootExtras = rootModern;
46
- const topLevel = rootModern ? rootExtras?.children || [] : routes;
40
+ const { root: rootModern, children: topLevel } = (0, routeDescriptor_js_namespaceObject.describeRouteTree)(routes);
47
41
  const imports = [];
48
42
  const statements = [];
49
43
  const loaderImportMap = new Map();
@@ -60,9 +54,8 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
60
54
  let pendingImportName = componentImportMap.get(componentPath);
61
55
  if (!pendingImportName) {
62
56
  pendingImportName = (async ()=>{
63
- const resolvedNoExt = await resolveRouteModuleNoExt(componentPath);
64
- if (!resolvedNoExt) return null;
65
- const relImport = (0, external_shared_js_namespaceObject.normalizeRelativeImport)(utils_namespaceObject.upath.relative(outDir, resolvedNoExt));
57
+ const relImport = await resolveRouteImport(componentPath);
58
+ if (!relImport) return null;
66
59
  const componentName = `component_${componentIndex++}`;
67
60
  imports.push(`import ${componentName} from ${(0, external_shared_js_namespaceObject.quote)(relImport)};`);
68
61
  return componentName;
@@ -71,14 +64,15 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
71
64
  }
72
65
  return pendingImportName;
73
66
  };
74
- const resolveRouteModuleNoExt = async (aliasedNoExtPath)=>{
67
+ const resolveRouteImport = async (aliasedNoExtPath)=>{
75
68
  const prefix = `${appContext.internalSrcAlias}/`;
76
69
  let absNoExt;
77
70
  if (aliasedNoExtPath.startsWith(prefix)) {
78
71
  const rel = aliasedNoExtPath.slice(prefix.length);
79
72
  absNoExt = utils_namespaceObject.upath.join(appContext.srcDirectory, rel);
80
73
  } else absNoExt = utils_namespaceObject.upath.isAbsolute(aliasedNoExtPath) ? aliasedNoExtPath : utils_namespaceObject.upath.join(appContext.srcDirectory, aliasedNoExtPath);
81
- return (0, external_shared_js_namespaceObject.resolveFileNoExt)(absNoExt);
74
+ const resolvedNoExt = await (0, external_shared_js_namespaceObject.resolveFileNoExt)(absNoExt);
75
+ return resolvedNoExt ? (0, external_shared_js_namespaceObject.normalizeRelativeImport)(utils_namespaceObject.upath.relative(outDir, resolvedNoExt)) : null;
82
76
  };
83
77
  const getImportNamesForLoader = async (aliasedNoExtPath, inline, hasAction)=>{
84
78
  const key = `${inline ? 'inline' : 'default'}:${hasAction ? 'action' : 'loader'}:${aliasedNoExtPath}`;
@@ -87,9 +81,8 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
87
81
  loaderName: existing,
88
82
  actionName: hasAction ? existing.replace(/^loader_/, 'action_') : null
89
83
  };
90
- const resolvedNoExt = await resolveRouteModuleNoExt(aliasedNoExtPath);
91
- if (!resolvedNoExt) return null;
92
- const relImport = (0, external_shared_js_namespaceObject.normalizeRelativeImport)(utils_namespaceObject.upath.relative(outDir, resolvedNoExt));
84
+ const relImport = await resolveRouteImport(aliasedNoExtPath);
85
+ if (!relImport) return null;
93
86
  const importName = `loader_${loaderIndex++}`;
94
87
  const actionName = hasAction ? importName.replace(/^loader_/, 'action_') : null;
95
88
  if (inline) {
@@ -109,9 +102,8 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
109
102
  const key = `${exportName}:${aliasedNoExtPath}`;
110
103
  const existing = searchContractImportMap.get(key);
111
104
  if (existing) return existing;
112
- const resolvedNoExt = await resolveRouteModuleNoExt(aliasedNoExtPath);
113
- if (!resolvedNoExt) return null;
114
- const relImport = (0, external_shared_js_namespaceObject.normalizeRelativeImport)(utils_namespaceObject.upath.relative(outDir, resolvedNoExt));
105
+ const relImport = await resolveRouteImport(aliasedNoExtPath);
106
+ if (!relImport) return null;
115
107
  const importName = 'validateSearch' === exportName ? `validateSearch_${validateSearchIndex++}` : `loaderDeps_${loaderDepsIndex++}`;
116
108
  imports.push(`import { ${exportName} as ${importName} } from ${(0, external_shared_js_namespaceObject.quote)(relImport)};`);
117
109
  searchContractImportMap.set(key, importName);
@@ -129,9 +121,7 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
129
121
  const base = id ? (0, cli_namespaceObject.makeLegalIdentifier)(id) : `r_${routeIndex++}`;
130
122
  return reserveRouteVarName(`route_${base}`);
131
123
  };
132
- const buildRoute = async (opts)=>{
133
- const { parentVar, route } = opts;
134
- const varName = createRouteVarName(route);
124
+ const createRouteOptions = async (route, hasSplat)=>{
135
125
  const routeExtras = route;
136
126
  const loaderInfo = (0, external_shared_js_namespaceObject.pickModernLoaderModule)(route);
137
127
  const routeAction = routeExtras.action;
@@ -141,20 +131,9 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
141
131
  const searchContractInfo = (0, external_shared_js_namespaceObject.pickRouteSearchContractModules)(route);
142
132
  const validateSearchName = searchContractInfo.validateSearchPath ? await getImportNameForSearchContract(searchContractInfo.validateSearchPath, 'validateSearch') : null;
143
133
  const loaderDepsName = searchContractInfo.loaderDepsPath ? await getImportNameForSearchContract(searchContractInfo.loaderDepsPath, 'loaderDeps') : null;
144
- const rawPath = routeExtras.path;
145
- const hasSplat = 'string' == typeof rawPath && rawPath.includes('*');
146
- const routeOpts = [
147
- `getParentRoute: () => ${parentVar},`
148
- ];
134
+ const routeOpts = [];
149
135
  const componentName = await getImportNameForComponent(routeExtras._component);
150
136
  if (componentName) routeOpts.push(`component: ${componentName},`);
151
- if ((0, external_shared_js_namespaceObject.isPathlessLayout)(route)) {
152
- const id = routeExtras.id;
153
- routeOpts.push(`id: ${(0, external_shared_js_namespaceObject.quote)(id || 'pathless')},`);
154
- } else {
155
- const p = (0, external_shared_js_namespaceObject.isIndexRoute)(route) ? '/' : (0, external_shared_js_namespaceObject.toTanstackPath)(rawPath || '');
156
- routeOpts.push(`path: ${(0, external_shared_js_namespaceObject.quote)(p)},`);
157
- }
158
137
  if (loaderName) routeOpts.push(`loader: modernLoaderToTanstack({ hasSplat: ${hasSplat} }, ${loaderName}),`);
159
138
  if (validateSearchName) routeOpts.push(`validateSearch: ${validateSearchName},`);
160
139
  if (loaderDepsName) routeOpts.push(`loaderDeps: ${loaderDepsName},`);
@@ -164,39 +143,29 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
164
143
  actionName
165
144
  });
166
145
  if (staticDataSnippet) routeOpts.push(staticDataSnippet);
167
- const children = routeExtras.children;
146
+ return routeOpts;
147
+ };
148
+ const buildRoute = async (descriptor, parentVar)=>{
149
+ const { source: route, location, hasSplat, children } = descriptor;
150
+ const varName = createRouteVarName(route);
151
+ const routeOpts = [
152
+ `getParentRoute: () => ${parentVar},`,
153
+ ...Object.entries(location).map(([key, value])=>`${key}: ${(0, external_shared_js_namespaceObject.quote)(value)},`),
154
+ ...await createRouteOptions(route, hasSplat)
155
+ ];
168
156
  const hasChildren = Boolean(children && children.length > 0);
169
157
  const routeCtorVarName = hasChildren ? reserveRouteVarName(`${varName}__base`) : varName;
170
158
  statements.push(`const ${routeCtorVarName} = createRoute({\n ${routeOpts.join('\n ')}\n});`);
171
159
  if (children && children.length > 0) {
172
160
  const childVars = [];
173
- for (const child of children)childVars.push(await buildRoute({
174
- parentVar: routeCtorVarName,
175
- route: child
176
- }));
161
+ for (const child of children)childVars.push(await buildRoute(child, routeCtorVarName));
177
162
  statements.push(`const ${varName} = ${routeCtorVarName}.addChildren([${childVars.join(', ')}]);`);
178
163
  }
179
164
  return varName;
180
165
  };
181
- const rootLoaderInfo = rootModern ? (0, external_shared_js_namespaceObject.pickModernLoaderModule)(rootModern) : null;
182
- const rootAction = rootExtras?.action;
183
- const rootLoaderImports = rootLoaderInfo?.loaderPath ? await getImportNamesForLoader(rootLoaderInfo.loaderPath, rootLoaderInfo.inline, Boolean(rootLoaderInfo.inline && rootAction === rootLoaderInfo.loaderPath)) : null;
184
- const rootLoaderName = rootLoaderImports?.loaderName || null;
185
- const rootActionName = rootLoaderImports?.actionName || null;
186
- const rootSearchContractInfo = rootModern ? (0, external_shared_js_namespaceObject.pickRouteSearchContractModules)(rootModern) : null;
187
- const rootValidateSearchName = rootSearchContractInfo?.validateSearchPath ? await getImportNameForSearchContract(rootSearchContractInfo.validateSearchPath, 'validateSearch') : null;
188
- const rootLoaderDepsName = rootSearchContractInfo?.loaderDepsPath ? await getImportNameForSearchContract(rootSearchContractInfo.loaderDepsPath, 'loaderDeps') : null;
189
166
  const topLevelVars = [];
190
- for (const route of topLevel)topLevelVars.push(await buildRoute({
191
- parentVar: 'rootRoute',
192
- route
193
- }));
194
- const rootOpts = [];
195
- const rootComponentName = await getImportNameForComponent(rootExtras?._component);
196
- if (rootComponentName) rootOpts.push(`component: ${rootComponentName},`);
197
- if (rootLoaderName) rootOpts.push(`loader: modernLoaderToTanstack({ hasSplat: false }, ${rootLoaderName}),`);
198
- if (rootValidateSearchName) rootOpts.push(`validateSearch: ${rootValidateSearchName},`);
199
- if (rootLoaderDepsName) rootOpts.push(`loaderDeps: ${rootLoaderDepsName},`);
167
+ for (const route of topLevel)topLevelVars.push(await buildRoute(route, 'rootRoute'));
168
+ const rootOpts = rootModern ? await createRouteOptions(rootModern, false) : [];
200
169
  const routerGenTs = `// This file is auto-generated by Modern.js. Do not edit manually.
201
170
 
202
171
  import {
@@ -213,11 +182,7 @@ ${imports.join('\n')}
213
182
 
214
183
  export const rootRoute = createRootRouteWithContext<ModernRouterContext>()({
215
184
  ${rootOpts.join('\n ')}
216
- ${(0, external_shared_js_namespaceObject.createRouteStaticDataSnippet)({
217
- modernRouteId: rootExtras?.id,
218
- loaderName: rootLoaderName,
219
- actionName: rootActionName
220
- }) || ''}
185
+
221
186
  });
222
187
 
223
188
  ${statements.join('\n\n')}
@@ -30,7 +30,6 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  applyRouterRuntimeState: ()=>router_state_namespaceObject.applyRouterRuntimeState,
32
32
  applyRouterServerPrepareResult: ()=>router_state_namespaceObject.applyRouterServerPrepareResult,
33
- createRouterRuntimeState: ()=>router_state_namespaceObject.createRouterRuntimeState,
34
33
  createRouterServerSnapshot: ()=>router_state_namespaceObject.createRouterServerSnapshot,
35
34
  getRouterRuntimeState: ()=>router_state_namespaceObject.getRouterRuntimeState,
36
35
  getRouterServerSnapshot: ()=>router_state_namespaceObject.getRouterServerSnapshot
@@ -38,14 +37,12 @@ __webpack_require__.d(__webpack_exports__, {
38
37
  const router_state_namespaceObject = require("@modern-js/runtime-extensions/router-state");
39
38
  exports.applyRouterRuntimeState = __webpack_exports__.applyRouterRuntimeState;
40
39
  exports.applyRouterServerPrepareResult = __webpack_exports__.applyRouterServerPrepareResult;
41
- exports.createRouterRuntimeState = __webpack_exports__.createRouterRuntimeState;
42
40
  exports.createRouterServerSnapshot = __webpack_exports__.createRouterServerSnapshot;
43
41
  exports.getRouterRuntimeState = __webpack_exports__.getRouterRuntimeState;
44
42
  exports.getRouterServerSnapshot = __webpack_exports__.getRouterServerSnapshot;
45
43
  for(var __rspack_i in __webpack_exports__)if (-1 === [
46
44
  "applyRouterRuntimeState",
47
45
  "applyRouterServerPrepareResult",
48
- "createRouterRuntimeState",
49
46
  "createRouterServerSnapshot",
50
47
  "getRouterRuntimeState",
51
48
  "getRouterServerSnapshot"