@bleedingdev/modern-js-runtime 3.5.0-ultramodern.36 → 3.5.0-ultramodern.37

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.
@@ -31,19 +31,10 @@ __webpack_require__.d(__webpack_exports__, {
31
31
  ROUTER_CLEANUP_ERROR: ()=>ROUTER_CLEANUP_ERROR,
32
32
  createRouterCleanup: ()=>createRouterCleanup,
33
33
  finishWithRouterCleanup: ()=>finishWithRouterCleanup,
34
- runWithRouterCleanupOnError: ()=>runWithRouterCleanupOnError,
35
- withRouterCleanup: ()=>withRouterCleanup
34
+ runWithRouterCleanupOnError: ()=>runWithRouterCleanupOnError
36
35
  });
37
36
  const lifecycle_js_namespaceObject = require("../../router/runtime/lifecycle.js");
38
37
  const ROUTER_CLEANUP_ERROR = 'An error occurs during router runtime cleanup';
39
- async function withRouterCleanup(runtimeContext, onError, callback) {
40
- const routerCleanup = createRouterCleanup(runtimeContext, onError);
41
- try {
42
- return await callback(routerCleanup);
43
- } finally{
44
- if (!routerCleanup.deferred) await routerCleanup.run();
45
- }
46
- }
47
38
  async function runWithRouterCleanupOnError(routerCleanup, callback) {
48
39
  try {
49
40
  return await callback();
@@ -118,13 +109,11 @@ exports.ROUTER_CLEANUP_ERROR = __webpack_exports__.ROUTER_CLEANUP_ERROR;
118
109
  exports.createRouterCleanup = __webpack_exports__.createRouterCleanup;
119
110
  exports.finishWithRouterCleanup = __webpack_exports__.finishWithRouterCleanup;
120
111
  exports.runWithRouterCleanupOnError = __webpack_exports__.runWithRouterCleanupOnError;
121
- exports.withRouterCleanup = __webpack_exports__.withRouterCleanup;
122
112
  for(var __rspack_i in __webpack_exports__)if (-1 === [
123
113
  "ROUTER_CLEANUP_ERROR",
124
114
  "createRouterCleanup",
125
115
  "finishWithRouterCleanup",
126
- "runWithRouterCleanupOnError",
127
- "withRouterCleanup"
116
+ "runWithRouterCleanupOnError"
128
117
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
129
118
  Object.defineProperty(exports, '__esModule', {
130
119
  value: true
@@ -29,7 +29,6 @@ var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  createRouteHydrationScriptTags: ()=>createRouteHydrationScriptTags,
32
- getMatchedRouteAssets: ()=>getMatchedRouteAssets,
33
32
  getMatchedRouteChunks: ()=>getMatchedRouteChunks,
34
33
  injectBeforeHydrationEntryScript: ()=>injectBeforeHydrationEntryScript,
35
34
  orderHydrationScriptChunks: ()=>orderHydrationScriptChunks,
@@ -122,14 +121,12 @@ function createRouteHydrationScriptTags(runtimeContext, entryName, options = {})
122
121
  return jsAssets.filter((asset)=>!existingScriptSrcs.has(asset)).map((asset)=>`<script src=${asset}${nonceAttr}></script>`).join(' ');
123
122
  }
124
123
  exports.createRouteHydrationScriptTags = __webpack_exports__.createRouteHydrationScriptTags;
125
- exports.getMatchedRouteAssets = __webpack_exports__.getMatchedRouteAssets;
126
124
  exports.getMatchedRouteChunks = __webpack_exports__.getMatchedRouteChunks;
127
125
  exports.injectBeforeHydrationEntryScript = __webpack_exports__.injectBeforeHydrationEntryScript;
128
126
  exports.orderHydrationScriptChunks = __webpack_exports__.orderHydrationScriptChunks;
129
127
  exports.replaceChunkJsPlaceholder = __webpack_exports__.replaceChunkJsPlaceholder;
130
128
  for(var __rspack_i in __webpack_exports__)if (-1 === [
131
129
  "createRouteHydrationScriptTags",
132
- "getMatchedRouteAssets",
133
130
  "getMatchedRouteChunks",
134
131
  "injectBeforeHydrationEntryScript",
135
132
  "orderHydrationScriptChunks",
@@ -2,8 +2,8 @@ import { formatImportPath, fs } from "@modern-js/utils";
2
2
  import path from "path";
3
3
  import { ENTRY_BOOTSTRAP_FILE_NAME, ENTRY_POINT_FILE_NAME, ENTRY_POINT_REGISTER_FILE_NAME, ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME, ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME, ENTRY_SERVER_BOOTSTRAP_FILE_NAME, INDEX_FILE_NAME, SERVER_ENTRY_POINT_FILE_NAME } from "./constants.mjs";
4
4
  import { resolveSSRMode } from "./ssr/mode.mjs";
5
- import * as __rspack_external__template_mjs_d6ab8956 from "./template.mjs";
6
- import * as __rspack_external__template_server_mjs_38d6edb1 from "./template.server.mjs";
5
+ import * as __rspack_external__template_mjs_d1604447 from "./template.mjs";
6
+ import * as __rspack_external__template_server_mjs_f98cfe58 from "./template.server.mjs";
7
7
  const normalizePreEntry = (preEntry)=>{
8
8
  if (!preEntry) return [];
9
9
  if (Array.isArray(preEntry)) return preEntry.filter((v)=>'string' == typeof v && v.length > 0);
@@ -35,7 +35,7 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
35
35
  nestedRoutesEntry
36
36
  });
37
37
  let indexCode = '';
38
- indexCode = ssrMode || !config.server.rsc || customEntry ? __rspack_external__template_mjs_d6ab8956.index({
38
+ indexCode = ssrMode || !config.server.rsc || customEntry ? __rspack_external__template_mjs_d1604447.index({
39
39
  srcDirectory,
40
40
  internalSrcAlias,
41
41
  metaName,
@@ -45,7 +45,7 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
45
45
  mountId,
46
46
  enableRsc: config.server.rsc,
47
47
  isNestedRouter: !!entrypoint.nestedRoutesEntry
48
- }) : __rspack_external__template_mjs_d6ab8956.entryForCSRWithRSC({
48
+ }) : __rspack_external__template_mjs_d1604447.entryForCSRWithRSC({
49
49
  metaName,
50
50
  entryName,
51
51
  mountId,
@@ -76,7 +76,7 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
76
76
  if (ssrMode) await fs.outputFile(bootstrapServerFile, `export const requestHandler = import('./${SERVER_ENTRY_POINT_FILE_NAME}').then((m) => m.requestHandler)`, 'utf8');
77
77
  }
78
78
  if (ssrMode) {
79
- const indexServerCode = __rspack_external__template_server_mjs_38d6edb1.serverIndex({
79
+ const indexServerCode = __rspack_external__template_server_mjs_f98cfe58.serverIndex({
80
80
  entry,
81
81
  entryName,
82
82
  internalSrcAlias,
@@ -90,16 +90,16 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
90
90
  await fs.outputFile(indexServerFile, indexServerCode, 'utf8');
91
91
  } else if (config.server.rsc) {
92
92
  const indexServerFile = path.resolve(internalDirectory, `./${entryName}/${SERVER_ENTRY_POINT_FILE_NAME}`);
93
- const indexServerCode = __rspack_external__template_server_mjs_38d6edb1.entryForCSRWithRSC({
93
+ const indexServerCode = __rspack_external__template_server_mjs_f98cfe58.entryForCSRWithRSC({
94
94
  entryName,
95
95
  metaName
96
96
  });
97
97
  await fs.outputFile(indexServerFile, indexServerCode, 'utf8');
98
98
  }
99
- const registerCode = __rspack_external__template_mjs_d6ab8956.register();
99
+ const registerCode = __rspack_external__template_mjs_d1604447.register();
100
100
  const registerFile = path.resolve(internalDirectory, `./${entryName}/${ENTRY_POINT_REGISTER_FILE_NAME}`);
101
101
  await fs.outputFile(registerFile, registerCode, 'utf8');
102
- const registerRuntimeCode = __rspack_external__template_mjs_d6ab8956.runtimeRegister({
102
+ const registerRuntimeCode = __rspack_external__template_mjs_d1604447.runtimeRegister({
103
103
  entryName,
104
104
  srcDirectory,
105
105
  internalSrcAlias,
@@ -113,7 +113,7 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
113
113
  if (!config.server.rsc || entrypoint.nestedRoutesEntry) {
114
114
  const route = serverRoutes.find((r)=>r.entryName === entryName);
115
115
  const basename = route?.urlPath || '/';
116
- contextCode = __rspack_external__template_mjs_d6ab8956.runtimeGlobalContext({
116
+ contextCode = __rspack_external__template_mjs_d1604447.runtimeGlobalContext({
117
117
  entryName,
118
118
  srcDirectory,
119
119
  internalSrcAlias,
@@ -124,18 +124,18 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
124
124
  });
125
125
  } else {
126
126
  const AppProxyPath = path.join(internalDirectory, entryName, './AppProxy.jsx');
127
- const appProxyCode = __rspack_external__template_mjs_d6ab8956.AppProxyForRSC({
127
+ const appProxyCode = __rspack_external__template_mjs_d1604447.AppProxyForRSC({
128
128
  srcDirectory,
129
129
  internalSrcAlias,
130
130
  entry,
131
131
  customEntry
132
132
  });
133
133
  await fs.outputFile(AppProxyPath, appProxyCode);
134
- contextCode = __rspack_external__template_mjs_d6ab8956.runtimeGlobalContextForRSCClient({
134
+ contextCode = __rspack_external__template_mjs_d1604447.runtimeGlobalContextForRSCClient({
135
135
  metaName,
136
136
  customEntry
137
137
  });
138
- const contextServerCode = __rspack_external__template_mjs_d6ab8956.runtimeGlobalContextForRSCServer({
138
+ const contextServerCode = __rspack_external__template_mjs_d1604447.runtimeGlobalContextForRSCServer({
139
139
  metaName
140
140
  });
141
141
  const contextFile = path.resolve(internalDirectory, `./${entryName}/${ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}.server.js`);
@@ -1,13 +1,5 @@
1
1
  import { getRouterRuntimeState } from "../../router/runtime/lifecycle.mjs";
2
2
  const ROUTER_CLEANUP_ERROR = 'An error occurs during router runtime cleanup';
3
- async function withRouterCleanup(runtimeContext, onError, callback) {
4
- const routerCleanup = createRouterCleanup(runtimeContext, onError);
5
- try {
6
- return await callback(routerCleanup);
7
- } finally{
8
- if (!routerCleanup.deferred) await routerCleanup.run();
9
- }
10
- }
11
3
  async function runWithRouterCleanupOnError(routerCleanup, callback) {
12
4
  try {
13
5
  return await callback();
@@ -78,4 +70,4 @@ function createRouterCleanup(runtimeContext, onError) {
78
70
  deferUntilBodyDone
79
71
  };
80
72
  }
81
- export { ROUTER_CLEANUP_ERROR, createRouterCleanup, finishWithRouterCleanup, runWithRouterCleanupOnError, withRouterCleanup };
73
+ export { ROUTER_CLEANUP_ERROR, createRouterCleanup, finishWithRouterCleanup, runWithRouterCleanupOnError };
@@ -84,4 +84,4 @@ function createRouteHydrationScriptTags(runtimeContext, entryName, options = {})
84
84
  const nonceAttr = void 0 === nonce || '' === nonce ? '' : ` nonce="${nonce}"`;
85
85
  return jsAssets.filter((asset)=>!existingScriptSrcs.has(asset)).map((asset)=>`<script src=${asset}${nonceAttr}></script>`).join(' ');
86
86
  }
87
- export { createRouteHydrationScriptTags, getMatchedRouteAssets, getMatchedRouteChunks, injectBeforeHydrationEntryScript, orderHydrationScriptChunks, replaceChunkJsPlaceholder };
87
+ export { createRouteHydrationScriptTags, getMatchedRouteChunks, injectBeforeHydrationEntryScript, orderHydrationScriptChunks, replaceChunkJsPlaceholder };
@@ -1,4 +1,4 @@
1
- import * as __rspack_external__loadable_component_0aaae075 from "@loadable/component";
1
+ import * as __rspack_external__loadable_component_ee3b4254 from "@loadable/component";
2
2
  export * from "@loadable/component";
3
3
  function asLoadableNamespace(value) {
4
4
  return 'object' == typeof value && null !== value ? value : {};
@@ -15,8 +15,8 @@ function resolveLoadable(module) {
15
15
  if ('function' != typeof loadable) throw new TypeError('Modern.js runtime loadable export must resolve to a function');
16
16
  return loadable;
17
17
  }
18
- const loadable_loadable = resolveLoadable(__rspack_external__loadable_component_0aaae075);
19
- const loadableNamespace = asLoadableNamespace(__rspack_external__loadable_component_0aaae075);
18
+ const loadable_loadable = resolveLoadable(__rspack_external__loadable_component_ee3b4254);
19
+ const loadableNamespace = asLoadableNamespace(__rspack_external__loadable_component_ee3b4254);
20
20
  const loadableDefaultNamespace = asLoadableNamespace(loadableNamespace.default);
21
21
  const callableLoadableNamespace = asLoadableNamespace(loadable_loadable);
22
22
  const lazy = loadableNamespace.lazy ?? loadableDefaultNamespace.lazy ?? callableLoadableNamespace.lazy;
@@ -6,7 +6,7 @@ import { resolveSSRMode } from "../../../cli/ssr/mode.mjs";
6
6
  import { FILE_SYSTEM_ROUTES_FILE_NAME } from "../constants.mjs";
7
7
  import { walk } from "./nestedRoutes.mjs";
8
8
  import { getServerCombinedModuleFile, getServerLoadersFile } from "./utils.mjs";
9
- import * as __rspack_external__templates_mjs_4da4c6c8 from "./templates.mjs";
9
+ import * as __rspack_external__templates_mjs_ab577925 from "./templates.mjs";
10
10
  async function generateRoutesForEntry(entrypoint, appContext) {
11
11
  const routes = [];
12
12
  if (entrypoint.nestedRoutesEntry) {
@@ -89,7 +89,7 @@ const generateCode = async (appContext, config, entrypoints, api)=>{
89
89
  }
90
90
  const { code } = await hooks.onBeforeGenerateRoutes.call({
91
91
  entrypoint,
92
- code: await __rspack_external__templates_mjs_4da4c6c8.fileSystemRoutes({
92
+ code: await __rspack_external__templates_mjs_ab577925.fileSystemRoutes({
93
93
  metaName,
94
94
  routes: routes,
95
95
  ssrMode: isUseRsc(config) ? 'stream' : ssrMode,
@@ -106,12 +106,12 @@ const generateCode = async (appContext, config, entrypoints, api)=>{
106
106
  const routesServerFile = getServerLoadersFile(internalDirectory, entryName);
107
107
  const filtedRoutesForServer = filterRoutesForServer(routes);
108
108
  const routesForServerLoaderMatches = filterRoutesLoader(routes);
109
- const code = __rspack_external__templates_mjs_4da4c6c8.routesForServer({
109
+ const code = __rspack_external__templates_mjs_ab577925.routesForServer({
110
110
  routesForServerLoaderMatches
111
111
  });
112
112
  await fs.ensureFile(routesServerFile);
113
113
  await fs.writeFile(routesServerFile, code);
114
- const serverRoutesCode = await __rspack_external__templates_mjs_4da4c6c8.fileSystemRoutes({
114
+ const serverRoutesCode = await __rspack_external__templates_mjs_ab577925.fileSystemRoutes({
115
115
  metaName,
116
116
  routes: filtedRoutesForServer,
117
117
  ssrMode,
@@ -125,7 +125,7 @@ const generateCode = async (appContext, config, entrypoints, api)=>{
125
125
  });
126
126
  await fs.outputFile(path.resolve(internalDirectory, `./${entryName}/routes.server.js`), serverRoutesCode, 'utf8');
127
127
  }
128
- const serverLoaderCombined = __rspack_external__templates_mjs_4da4c6c8.ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext);
128
+ const serverLoaderCombined = __rspack_external__templates_mjs_ab577925.ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext);
129
129
  if (serverLoaderCombined) {
130
130
  const serverLoaderFile = getServerCombinedModuleFile(internalDirectory, entryName);
131
131
  await fs.outputFile(serverLoaderFile, serverLoaderCombined);
@@ -3,7 +3,7 @@ import { cloneDeep } from "@modern-js/utils/lodash";
3
3
  import path from "path";
4
4
  import { isPageComponentFile } from "./code/utils.mjs";
5
5
  import { modifyEntrypoints } from "./entry.mjs";
6
- import * as __rspack_external__code_templates_mjs_5e908598 from "./code/templates.mjs";
6
+ import * as __rspack_external__code_templates_mjs_f6c22489 from "./code/templates.mjs";
7
7
  const DEFAULT_ENTRYPOINTS_KEY = '__default_router_entries__';
8
8
  const originEntrypointsByKey = new Map();
9
9
  async function handleModifyEntrypoints(entrypoints, routesDir, options = {}) {
@@ -25,7 +25,7 @@ async function handleGeneratorEntryCode(api, entrypoints, options = {}) {
25
25
  if (entrypoint.nestedRoutesEntry || entrypoint.pageRoutesEntry) {
26
26
  const route = appContext.serverRoutes.find((r)=>r.entryName === entrypoint.entryName);
27
27
  const basename = route?.urlPath || '/';
28
- generatorRegisterCode(internalDirectory, entrypoint.entryName, await __rspack_external__code_templates_mjs_5e908598.runtimeGlobalContext({
28
+ generatorRegisterCode(internalDirectory, entrypoint.entryName, await __rspack_external__code_templates_mjs_f6c22489.runtimeGlobalContext({
29
29
  entryName: entrypoint.entryName,
30
30
  metaName: appContext.metaName,
31
31
  srcDirectory: appContext.srcDirectory,
@@ -35,7 +35,7 @@ async function handleGeneratorEntryCode(api, entrypoints, options = {}) {
35
35
  rscType: enableRsc ? 'client' : void 0,
36
36
  basename
37
37
  }));
38
- if (enableRsc) generatorServerRegisterCode(internalDirectory, entrypoint.entryName, await __rspack_external__code_templates_mjs_5e908598.runtimeGlobalContext({
38
+ if (enableRsc) generatorServerRegisterCode(internalDirectory, entrypoint.entryName, await __rspack_external__code_templates_mjs_f6c22489.runtimeGlobalContext({
39
39
  entryName: entrypoint.entryName,
40
40
  metaName: appContext.metaName,
41
41
  srcDirectory: appContext.srcDirectory,
@@ -3,8 +3,8 @@ import { formatImportPath, fs } from "@modern-js/utils";
3
3
  import path from "path";
4
4
  import { ENTRY_BOOTSTRAP_FILE_NAME, ENTRY_POINT_FILE_NAME, ENTRY_POINT_REGISTER_FILE_NAME, ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME, ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME, ENTRY_SERVER_BOOTSTRAP_FILE_NAME, INDEX_FILE_NAME, SERVER_ENTRY_POINT_FILE_NAME } from "./constants.mjs";
5
5
  import { resolveSSRMode } from "./ssr/mode.mjs";
6
- import * as __rspack_external__template_mjs_d6ab8956 from "./template.mjs";
7
- import * as __rspack_external__template_server_mjs_38d6edb1 from "./template.server.mjs";
6
+ import * as __rspack_external__template_mjs_d1604447 from "./template.mjs";
7
+ import * as __rspack_external__template_server_mjs_f98cfe58 from "./template.server.mjs";
8
8
  const normalizePreEntry = (preEntry)=>{
9
9
  if (!preEntry) return [];
10
10
  if (Array.isArray(preEntry)) return preEntry.filter((v)=>'string' == typeof v && v.length > 0);
@@ -36,7 +36,7 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
36
36
  nestedRoutesEntry
37
37
  });
38
38
  let indexCode = '';
39
- indexCode = ssrMode || !config.server.rsc || customEntry ? __rspack_external__template_mjs_d6ab8956.index({
39
+ indexCode = ssrMode || !config.server.rsc || customEntry ? __rspack_external__template_mjs_d1604447.index({
40
40
  srcDirectory,
41
41
  internalSrcAlias,
42
42
  metaName,
@@ -46,7 +46,7 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
46
46
  mountId,
47
47
  enableRsc: config.server.rsc,
48
48
  isNestedRouter: !!entrypoint.nestedRoutesEntry
49
- }) : __rspack_external__template_mjs_d6ab8956.entryForCSRWithRSC({
49
+ }) : __rspack_external__template_mjs_d1604447.entryForCSRWithRSC({
50
50
  metaName,
51
51
  entryName,
52
52
  mountId,
@@ -77,7 +77,7 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
77
77
  if (ssrMode) await fs.outputFile(bootstrapServerFile, `export const requestHandler = import('./${SERVER_ENTRY_POINT_FILE_NAME}').then((m) => m.requestHandler)`, 'utf8');
78
78
  }
79
79
  if (ssrMode) {
80
- const indexServerCode = __rspack_external__template_server_mjs_38d6edb1.serverIndex({
80
+ const indexServerCode = __rspack_external__template_server_mjs_f98cfe58.serverIndex({
81
81
  entry,
82
82
  entryName,
83
83
  internalSrcAlias,
@@ -91,16 +91,16 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
91
91
  await fs.outputFile(indexServerFile, indexServerCode, 'utf8');
92
92
  } else if (config.server.rsc) {
93
93
  const indexServerFile = path.resolve(internalDirectory, `./${entryName}/${SERVER_ENTRY_POINT_FILE_NAME}`);
94
- const indexServerCode = __rspack_external__template_server_mjs_38d6edb1.entryForCSRWithRSC({
94
+ const indexServerCode = __rspack_external__template_server_mjs_f98cfe58.entryForCSRWithRSC({
95
95
  entryName,
96
96
  metaName
97
97
  });
98
98
  await fs.outputFile(indexServerFile, indexServerCode, 'utf8');
99
99
  }
100
- const registerCode = __rspack_external__template_mjs_d6ab8956.register();
100
+ const registerCode = __rspack_external__template_mjs_d1604447.register();
101
101
  const registerFile = path.resolve(internalDirectory, `./${entryName}/${ENTRY_POINT_REGISTER_FILE_NAME}`);
102
102
  await fs.outputFile(registerFile, registerCode, 'utf8');
103
- const registerRuntimeCode = __rspack_external__template_mjs_d6ab8956.runtimeRegister({
103
+ const registerRuntimeCode = __rspack_external__template_mjs_d1604447.runtimeRegister({
104
104
  entryName,
105
105
  srcDirectory,
106
106
  internalSrcAlias,
@@ -114,7 +114,7 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
114
114
  if (!config.server.rsc || entrypoint.nestedRoutesEntry) {
115
115
  const route = serverRoutes.find((r)=>r.entryName === entryName);
116
116
  const basename = route?.urlPath || '/';
117
- contextCode = __rspack_external__template_mjs_d6ab8956.runtimeGlobalContext({
117
+ contextCode = __rspack_external__template_mjs_d1604447.runtimeGlobalContext({
118
118
  entryName,
119
119
  srcDirectory,
120
120
  internalSrcAlias,
@@ -125,18 +125,18 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
125
125
  });
126
126
  } else {
127
127
  const AppProxyPath = path.join(internalDirectory, entryName, './AppProxy.jsx');
128
- const appProxyCode = __rspack_external__template_mjs_d6ab8956.AppProxyForRSC({
128
+ const appProxyCode = __rspack_external__template_mjs_d1604447.AppProxyForRSC({
129
129
  srcDirectory,
130
130
  internalSrcAlias,
131
131
  entry,
132
132
  customEntry
133
133
  });
134
134
  await fs.outputFile(AppProxyPath, appProxyCode);
135
- contextCode = __rspack_external__template_mjs_d6ab8956.runtimeGlobalContextForRSCClient({
135
+ contextCode = __rspack_external__template_mjs_d1604447.runtimeGlobalContextForRSCClient({
136
136
  metaName,
137
137
  customEntry
138
138
  });
139
- const contextServerCode = __rspack_external__template_mjs_d6ab8956.runtimeGlobalContextForRSCServer({
139
+ const contextServerCode = __rspack_external__template_mjs_d1604447.runtimeGlobalContextForRSCServer({
140
140
  metaName
141
141
  });
142
142
  const contextFile = path.resolve(internalDirectory, `./${entryName}/${ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}.server.js`);
@@ -1,14 +1,6 @@
1
1
  import "node:module";
2
2
  import { getRouterRuntimeState } from "../../router/runtime/lifecycle.mjs";
3
3
  const ROUTER_CLEANUP_ERROR = 'An error occurs during router runtime cleanup';
4
- async function withRouterCleanup(runtimeContext, onError, callback) {
5
- const routerCleanup = createRouterCleanup(runtimeContext, onError);
6
- try {
7
- return await callback(routerCleanup);
8
- } finally{
9
- if (!routerCleanup.deferred) await routerCleanup.run();
10
- }
11
- }
12
4
  async function runWithRouterCleanupOnError(routerCleanup, callback) {
13
5
  try {
14
6
  return await callback();
@@ -79,4 +71,4 @@ function createRouterCleanup(runtimeContext, onError) {
79
71
  deferUntilBodyDone
80
72
  };
81
73
  }
82
- export { ROUTER_CLEANUP_ERROR, createRouterCleanup, finishWithRouterCleanup, runWithRouterCleanupOnError, withRouterCleanup };
74
+ export { ROUTER_CLEANUP_ERROR, createRouterCleanup, finishWithRouterCleanup, runWithRouterCleanupOnError };
@@ -85,4 +85,4 @@ function createRouteHydrationScriptTags(runtimeContext, entryName, options = {})
85
85
  const nonceAttr = void 0 === nonce || '' === nonce ? '' : ` nonce="${nonce}"`;
86
86
  return jsAssets.filter((asset)=>!existingScriptSrcs.has(asset)).map((asset)=>`<script src=${asset}${nonceAttr}></script>`).join(' ');
87
87
  }
88
- export { createRouteHydrationScriptTags, getMatchedRouteAssets, getMatchedRouteChunks, injectBeforeHydrationEntryScript, orderHydrationScriptChunks, replaceChunkJsPlaceholder };
88
+ export { createRouteHydrationScriptTags, getMatchedRouteChunks, injectBeforeHydrationEntryScript, orderHydrationScriptChunks, replaceChunkJsPlaceholder };
@@ -1,5 +1,5 @@
1
1
  import "node:module";
2
- import * as __rspack_external__loadable_component_0aaae075 from "@loadable/component";
2
+ import * as __rspack_external__loadable_component_ee3b4254 from "@loadable/component";
3
3
  export * from "@loadable/component";
4
4
  function asLoadableNamespace(value) {
5
5
  return 'object' == typeof value && null !== value ? value : {};
@@ -16,8 +16,8 @@ function resolveLoadable(module) {
16
16
  if ('function' != typeof loadable) throw new TypeError('Modern.js runtime loadable export must resolve to a function');
17
17
  return loadable;
18
18
  }
19
- const loadable_loadable = resolveLoadable(__rspack_external__loadable_component_0aaae075);
20
- const loadableNamespace = asLoadableNamespace(__rspack_external__loadable_component_0aaae075);
19
+ const loadable_loadable = resolveLoadable(__rspack_external__loadable_component_ee3b4254);
20
+ const loadableNamespace = asLoadableNamespace(__rspack_external__loadable_component_ee3b4254);
21
21
  const loadableDefaultNamespace = asLoadableNamespace(loadableNamespace.default);
22
22
  const callableLoadableNamespace = asLoadableNamespace(loadable_loadable);
23
23
  const lazy = loadableNamespace.lazy ?? loadableDefaultNamespace.lazy ?? callableLoadableNamespace.lazy;
@@ -7,7 +7,7 @@ import { resolveSSRMode } from "../../../cli/ssr/mode.mjs";
7
7
  import { FILE_SYSTEM_ROUTES_FILE_NAME } from "../constants.mjs";
8
8
  import { walk } from "./nestedRoutes.mjs";
9
9
  import { getServerCombinedModuleFile, getServerLoadersFile } from "./utils.mjs";
10
- import * as __rspack_external__templates_mjs_4da4c6c8 from "./templates.mjs";
10
+ import * as __rspack_external__templates_mjs_ab577925 from "./templates.mjs";
11
11
  async function generateRoutesForEntry(entrypoint, appContext) {
12
12
  const routes = [];
13
13
  if (entrypoint.nestedRoutesEntry) {
@@ -90,7 +90,7 @@ const generateCode = async (appContext, config, entrypoints, api)=>{
90
90
  }
91
91
  const { code } = await hooks.onBeforeGenerateRoutes.call({
92
92
  entrypoint,
93
- code: await __rspack_external__templates_mjs_4da4c6c8.fileSystemRoutes({
93
+ code: await __rspack_external__templates_mjs_ab577925.fileSystemRoutes({
94
94
  metaName,
95
95
  routes: routes,
96
96
  ssrMode: isUseRsc(config) ? 'stream' : ssrMode,
@@ -107,12 +107,12 @@ const generateCode = async (appContext, config, entrypoints, api)=>{
107
107
  const routesServerFile = getServerLoadersFile(internalDirectory, entryName);
108
108
  const filtedRoutesForServer = filterRoutesForServer(routes);
109
109
  const routesForServerLoaderMatches = filterRoutesLoader(routes);
110
- const code = __rspack_external__templates_mjs_4da4c6c8.routesForServer({
110
+ const code = __rspack_external__templates_mjs_ab577925.routesForServer({
111
111
  routesForServerLoaderMatches
112
112
  });
113
113
  await fs.ensureFile(routesServerFile);
114
114
  await fs.writeFile(routesServerFile, code);
115
- const serverRoutesCode = await __rspack_external__templates_mjs_4da4c6c8.fileSystemRoutes({
115
+ const serverRoutesCode = await __rspack_external__templates_mjs_ab577925.fileSystemRoutes({
116
116
  metaName,
117
117
  routes: filtedRoutesForServer,
118
118
  ssrMode,
@@ -126,7 +126,7 @@ const generateCode = async (appContext, config, entrypoints, api)=>{
126
126
  });
127
127
  await fs.outputFile(path.resolve(internalDirectory, `./${entryName}/routes.server.js`), serverRoutesCode, 'utf8');
128
128
  }
129
- const serverLoaderCombined = __rspack_external__templates_mjs_4da4c6c8.ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext);
129
+ const serverLoaderCombined = __rspack_external__templates_mjs_ab577925.ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext);
130
130
  if (serverLoaderCombined) {
131
131
  const serverLoaderFile = getServerCombinedModuleFile(internalDirectory, entryName);
132
132
  await fs.outputFile(serverLoaderFile, serverLoaderCombined);
@@ -4,7 +4,7 @@ import { cloneDeep } from "@modern-js/utils/lodash";
4
4
  import path from "path";
5
5
  import { isPageComponentFile } from "./code/utils.mjs";
6
6
  import { modifyEntrypoints } from "./entry.mjs";
7
- import * as __rspack_external__code_templates_mjs_5e908598 from "./code/templates.mjs";
7
+ import * as __rspack_external__code_templates_mjs_f6c22489 from "./code/templates.mjs";
8
8
  const DEFAULT_ENTRYPOINTS_KEY = '__default_router_entries__';
9
9
  const originEntrypointsByKey = new Map();
10
10
  async function handleModifyEntrypoints(entrypoints, routesDir, options = {}) {
@@ -26,7 +26,7 @@ async function handleGeneratorEntryCode(api, entrypoints, options = {}) {
26
26
  if (entrypoint.nestedRoutesEntry || entrypoint.pageRoutesEntry) {
27
27
  const route = appContext.serverRoutes.find((r)=>r.entryName === entrypoint.entryName);
28
28
  const basename = route?.urlPath || '/';
29
- generatorRegisterCode(internalDirectory, entrypoint.entryName, await __rspack_external__code_templates_mjs_5e908598.runtimeGlobalContext({
29
+ generatorRegisterCode(internalDirectory, entrypoint.entryName, await __rspack_external__code_templates_mjs_f6c22489.runtimeGlobalContext({
30
30
  entryName: entrypoint.entryName,
31
31
  metaName: appContext.metaName,
32
32
  srcDirectory: appContext.srcDirectory,
@@ -36,7 +36,7 @@ async function handleGeneratorEntryCode(api, entrypoints, options = {}) {
36
36
  rscType: enableRsc ? 'client' : void 0,
37
37
  basename
38
38
  }));
39
- if (enableRsc) generatorServerRegisterCode(internalDirectory, entrypoint.entryName, await __rspack_external__code_templates_mjs_5e908598.runtimeGlobalContext({
39
+ if (enableRsc) generatorServerRegisterCode(internalDirectory, entrypoint.entryName, await __rspack_external__code_templates_mjs_f6c22489.runtimeGlobalContext({
40
40
  entryName: entrypoint.entryName,
41
41
  metaName: appContext.metaName,
42
42
  srcDirectory: appContext.srcDirectory,
@@ -1,5 +1,5 @@
1
- export type RuntimeRequest = Record<string, unknown>;
2
- export type RuntimeResponse = Record<string, unknown>;
1
+ type RuntimeRequest = Record<string, unknown>;
2
+ type RuntimeResponse = Record<string, unknown>;
3
3
  export type RequestContext = {
4
4
  request: RuntimeRequest;
5
5
  response: RuntimeResponse;
@@ -24,3 +24,4 @@ export declare const ReactRuntimeContext: import("react").Context<TRuntimeContex
24
24
  * @deprecated use use(RuntimeContext) instead
25
25
  */
26
26
  export declare const useRuntimeContext: () => TRuntimeContext;
27
+ export {};
@@ -24,7 +24,6 @@ export type RouterCleanup = {
24
24
  */
25
25
  deferUntilBodyDone: (response: Response) => Response;
26
26
  };
27
- export declare function withRouterCleanup<T>(runtimeContext: TInternalRuntimeContext, onError: OnError, callback: (routerCleanup: RouterCleanup) => Promise<T>): Promise<T>;
28
27
  export declare function runWithRouterCleanupOnError<T>(routerCleanup: RouterCleanup, callback: () => Promise<T> | T): Promise<T>;
29
28
  export declare function finishWithRouterCleanup<T>(routerCleanup: RouterCleanup, callback: () => Promise<T> | T): Promise<T>;
30
29
  export declare function createRouterCleanup(runtimeContext: TInternalRuntimeContext, onError: OnError): RouterCleanup;
@@ -9,7 +9,6 @@ type ScriptChunkLike = {
9
9
  filename?: string;
10
10
  url?: string;
11
11
  };
12
- export declare function getMatchedRouteAssets(runtimeContext: TInternalRuntimeContext, routeManifest?: RouteManifestLike): string[];
13
12
  export declare function getMatchedRouteChunks<T>(runtimeContext: TInternalRuntimeContext, routeManifest: RouteManifestLike | undefined, routeAssetToChunk: (asset: string) => T): T[];
14
13
  export declare const orderHydrationScriptChunks: <T extends ScriptChunkLike>({ asyncEntryChunks, collectedChunks, matchedRouteChunks, entryName, }: {
15
14
  asyncEntryChunks: T[];
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { Helmet as AsyncHelmet, HelmetData as AsyncHelmetData, type HelmetDatum, type HelmetHTMLBodyDatum, type HelmetHTMLElementDatum, type HelmetProps, HelmetProvider, type HelmetServerState, type HelmetTags } from 'react-helmet-async';
3
3
  export declare const Helmet: (props: React.PropsWithChildren<HelmetProps>) => React.CElement<React.PropsWithChildren<HelmetProps>, AsyncHelmet> | null;
4
4
  declare const head: {
5
- Helmet: (props: React.PropsWithChildren<HelmetProps>) => React.CElement<React.PropsWithChildren<HelmetProps>, AsyncHelmet> | null;
5
+ Helmet: typeof Helmet;
6
6
  HelmetData: typeof AsyncHelmetData;
7
7
  HelmetProvider: typeof HelmetProvider;
8
8
  };
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "modern",
18
18
  "modern.js"
19
19
  ],
20
- "version": "3.5.0-ultramodern.36",
20
+ "version": "3.5.0-ultramodern.37",
21
21
  "engines": {
22
22
  "node": ">=20"
23
23
  },
@@ -99,10 +99,6 @@
99
99
  },
100
100
  "default": "./dist/esm/router/index.mjs"
101
101
  },
102
- "./tanstack-router": {
103
- "types": "./dist/types/exports/tanstack-router.d.ts",
104
- "default": "./dist/esm/exports/tanstack-router.mjs"
105
- },
106
102
  "./router/server": {
107
103
  "types": "./dist/types/router/runtime/server.d.ts",
108
104
  "default": "./dist/esm/router/runtime/server.mjs"
@@ -194,9 +190,6 @@
194
190
  "router": [
195
191
  "./dist/types/router/index.d.ts"
196
192
  ],
197
- "tanstack-router": [
198
- "./dist/types/exports/tanstack-router.d.ts"
199
- ],
200
193
  "router/server": [
201
194
  "./dist/types/router/runtime/server.d.ts"
202
195
  ],
@@ -228,24 +221,24 @@
228
221
  "@loadable/server": "5.16.7",
229
222
  "@swc/core": "1.15.43",
230
223
  "@swc/helpers": "^0.5.23",
231
- "@swc/plugin-loadable-components": "^11.14.0",
224
+ "@swc/plugin-loadable-components": "^11.15.0",
232
225
  "@types/loadable__component": "^5.13.10",
233
226
  "@types/react-helmet": "^6.1.11",
234
- "cookie": "2.0.0",
227
+ "cookie": "2.0.1",
235
228
  "entities": "^8.0.0",
236
- "es-module-lexer": "^2.1.0",
229
+ "es-module-lexer": "^2.3.0",
237
230
  "esbuild": "^0.28.1",
238
231
  "invariant": "^2.2.4",
239
- "isbot": "5.1.44",
232
+ "isbot": "5.2.0",
240
233
  "react-helmet": "^6.1.0",
241
234
  "react-helmet-async": "3.0.0",
242
235
  "react-is": "^19.2.7",
243
- "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.36",
244
- "@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.36",
245
- "@modern-js/render": "npm:@bleedingdev/modern-js-render@3.5.0-ultramodern.36",
246
- "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.5.0-ultramodern.36",
247
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.36",
248
- "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.36"
236
+ "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.37",
237
+ "@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.37",
238
+ "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.5.0-ultramodern.37",
239
+ "@modern-js/render": "npm:@bleedingdev/modern-js-render@3.5.0-ultramodern.37",
240
+ "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.37",
241
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.37"
249
242
  },
250
243
  "peerDependencies": {
251
244
  "react": "^19.2.7",
@@ -253,19 +246,19 @@
253
246
  },
254
247
  "devDependencies": {
255
248
  "@remix-run/web-fetch": "^4.4.2",
256
- "@rsbuild/core": "2.1.1",
257
- "@rslib/core": "0.23.1",
249
+ "@rsbuild/core": "2.1.5",
250
+ "@rslib/core": "0.23.2",
258
251
  "@testing-library/dom": "^10.4.1",
259
252
  "@testing-library/react": "^16.3.2",
260
253
  "@types/invariant": "^2.2.37",
261
254
  "@types/loadable__server": "5.12.11",
262
- "@types/node": "^26.0.1",
263
- "@typescript/native-preview": "7.0.0-dev.20260628.1",
255
+ "@types/node": "^26.1.1",
256
+ "@typescript/native-preview": "7.0.0-dev.20260707.2",
264
257
  "react": "^19.2.7",
265
258
  "react-dom": "^19.2.7",
266
259
  "ts-node": "^10.9.2",
267
- "typescript": "^6.0.3",
268
- "@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.5.0-ultramodern.36",
260
+ "typescript": "^7.0.2",
261
+ "@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.5.0-ultramodern.37",
269
262
  "@scripts/rstest-config": "2.66.0"
270
263
  },
271
264
  "sideEffects": false,
@@ -1,83 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.d = (exports1, getters, values)=>{
5
- var define = (defs, kind)=>{
6
- for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
- enumerable: true,
8
- [kind]: defs[key]
9
- });
10
- };
11
- define(getters, "get");
12
- define(values, "value");
13
- };
14
- })();
15
- (()=>{
16
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
- })();
18
- (()=>{
19
- __webpack_require__.r = (exports1)=>{
20
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
- value: 'Module'
22
- });
23
- Object.defineProperty(exports1, '__esModule', {
24
- value: true
25
- });
26
- };
27
- })();
28
- var __webpack_exports__ = {};
29
- __webpack_require__.r(__webpack_exports__);
30
- __webpack_require__.d(__webpack_exports__, {
31
- Form: ()=>Form,
32
- Link: ()=>Link,
33
- NavLink: ()=>NavLink,
34
- Outlet: ()=>Outlet,
35
- RouteActionResponseError: ()=>RouteActionResponseError,
36
- useFetcher: ()=>useFetcher
37
- });
38
- const external_react_namespaceObject = require("react");
39
- const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
40
- function readCompatBindings() {
41
- return globalThis[COMPAT_BINDINGS_SLOT];
42
- }
43
- function resolveCompatBindings(exportName) {
44
- const bindings = readCompatBindings();
45
- if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
46
- return bindings;
47
- }
48
- const Link = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Link').Link, props);
49
- const NavLink = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('NavLink').NavLink, props);
50
- const Outlet = ()=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Outlet').Outlet);
51
- const Form = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Form').Form, props);
52
- function useFetcher() {
53
- return resolveCompatBindings('useFetcher').useFetcher();
54
- }
55
- function RouteActionResponseErrorPlaceholder() {}
56
- const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
57
- construct (_target, args) {
58
- const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
59
- return new RealError(...args);
60
- },
61
- get (target, property, receiver) {
62
- const RealError = readCompatBindings()?.RouteActionResponseError;
63
- if (void 0 !== RealError) return Reflect.get(RealError, property);
64
- return Reflect.get(target, property, receiver);
65
- }
66
- });
67
- exports.Form = __webpack_exports__.Form;
68
- exports.Link = __webpack_exports__.Link;
69
- exports.NavLink = __webpack_exports__.NavLink;
70
- exports.Outlet = __webpack_exports__.Outlet;
71
- exports.RouteActionResponseError = __webpack_exports__.RouteActionResponseError;
72
- exports.useFetcher = __webpack_exports__.useFetcher;
73
- for(var __rspack_i in __webpack_exports__)if (-1 === [
74
- "Form",
75
- "Link",
76
- "NavLink",
77
- "Outlet",
78
- "RouteActionResponseError",
79
- "useFetcher"
80
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
81
- Object.defineProperty(exports, '__esModule', {
82
- value: true
83
- });
@@ -1,30 +0,0 @@
1
- import { createElement } from "react";
2
- const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
3
- function readCompatBindings() {
4
- return globalThis[COMPAT_BINDINGS_SLOT];
5
- }
6
- function resolveCompatBindings(exportName) {
7
- const bindings = readCompatBindings();
8
- if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
9
- return bindings;
10
- }
11
- const Link = (props)=>createElement(resolveCompatBindings('Link').Link, props);
12
- const NavLink = (props)=>createElement(resolveCompatBindings('NavLink').NavLink, props);
13
- const Outlet = ()=>createElement(resolveCompatBindings('Outlet').Outlet);
14
- const Form = (props)=>createElement(resolveCompatBindings('Form').Form, props);
15
- function useFetcher() {
16
- return resolveCompatBindings('useFetcher').useFetcher();
17
- }
18
- function RouteActionResponseErrorPlaceholder() {}
19
- const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
20
- construct (_target, args) {
21
- const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
22
- return new RealError(...args);
23
- },
24
- get (target, property, receiver) {
25
- const RealError = readCompatBindings()?.RouteActionResponseError;
26
- if (void 0 !== RealError) return Reflect.get(RealError, property);
27
- return Reflect.get(target, property, receiver);
28
- }
29
- });
30
- export { Form, Link, NavLink, Outlet, RouteActionResponseError, useFetcher };
@@ -1,31 +0,0 @@
1
- import "node:module";
2
- import { createElement } from "react";
3
- const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
4
- function readCompatBindings() {
5
- return globalThis[COMPAT_BINDINGS_SLOT];
6
- }
7
- function resolveCompatBindings(exportName) {
8
- const bindings = readCompatBindings();
9
- if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
10
- return bindings;
11
- }
12
- const Link = (props)=>createElement(resolveCompatBindings('Link').Link, props);
13
- const NavLink = (props)=>createElement(resolveCompatBindings('NavLink').NavLink, props);
14
- const Outlet = ()=>createElement(resolveCompatBindings('Outlet').Outlet);
15
- const Form = (props)=>createElement(resolveCompatBindings('Form').Form, props);
16
- function useFetcher() {
17
- return resolveCompatBindings('useFetcher').useFetcher();
18
- }
19
- function RouteActionResponseErrorPlaceholder() {}
20
- const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
21
- construct (_target, args) {
22
- const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
23
- return new RealError(...args);
24
- },
25
- get (target, property, receiver) {
26
- const RealError = readCompatBindings()?.RouteActionResponseError;
27
- if (void 0 !== RealError) return Reflect.get(RealError, property);
28
- return Reflect.get(target, property, receiver);
29
- }
30
- });
31
- export { Form, Link, NavLink, Outlet, RouteActionResponseError, useFetcher };
@@ -1,88 +0,0 @@
1
- /**
2
- * @deprecated Legacy alias kept so the published `@modern-js/runtime/tanstack-router`
3
- * subpath keeps resolving. Use `@modern-js/plugin-tanstack/runtime` instead.
4
- *
5
- * Only the Modern.js specific `Link`, `NavLink`, `Outlet`, `Form`,
6
- * `useFetcher` and `RouteActionResponseError` bindings are still exported from
7
- * here for compatibility. They are thin delegates: the real implementations
8
- * live in `@modern-js/plugin-tanstack` and are looked up at use time through a
9
- * `Symbol.for` slot that '@modern-js/plugin-tanstack/runtime' populates on
10
- * import. (`@modern-js/runtime` cannot import `@modern-js/plugin-tanstack`
11
- * directly — the package dependency points the other way.)
12
- */
13
- import type React from 'react';
14
- export type PrefetchBehavior = 'intent' | 'render' | 'viewport' | 'none';
15
- export type LinkProps<_TRouter = unknown, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
16
- prefetch?: PrefetchBehavior;
17
- from?: TFrom;
18
- mask?: {
19
- from?: TMaskFrom;
20
- to?: TMaskTo;
21
- };
22
- params?: unknown;
23
- search?: unknown;
24
- to?: TTo;
25
- };
26
- export type NavLinkProps<TRouter = unknown, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>;
27
- type LinkComponent = <TRouter = unknown, const TFrom extends string = string, const TTo extends string | undefined = undefined, const TMaskFrom extends string = TFrom, const TMaskTo extends string = ''>(props: LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>) => React.ReactElement;
28
- export type SubmitOptions = {
29
- action?: string;
30
- method?: string;
31
- encType?: string;
32
- };
33
- export type FetcherState = 'idle' | 'submitting' | 'loading';
34
- export type FetcherSubmitOptions = SubmitOptions;
35
- export type FormProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'action'> & {
36
- action?: string;
37
- onSubmit?: React.FormEventHandler<HTMLFormElement>;
38
- reloadDocument?: boolean;
39
- };
40
- type SubmitTarget = HTMLFormElement | FormData | URLSearchParams | Record<string, string | number | boolean | null | undefined>;
41
- export type Fetcher = {
42
- state: FetcherState;
43
- data: unknown;
44
- error: unknown;
45
- Form: React.ComponentType<FormProps>;
46
- submit: (target: SubmitTarget, options?: FetcherSubmitOptions) => Promise<void>;
47
- };
48
- export interface RouteActionResponseError<TData = unknown> extends Error {
49
- readonly response: Response;
50
- readonly data: TData;
51
- }
52
- interface RouteActionResponseErrorConstructor {
53
- new <TData = unknown>(response: Response, data: TData): RouteActionResponseError<TData>;
54
- readonly prototype: RouteActionResponseError<unknown>;
55
- }
56
- /**
57
- * @deprecated Import `Link` from `@modern-js/plugin-tanstack/runtime` instead.
58
- */
59
- export declare const Link: LinkComponent;
60
- /**
61
- * @deprecated Import `NavLink` from `@modern-js/plugin-tanstack/runtime` instead.
62
- */
63
- export declare const NavLink: LinkComponent;
64
- /**
65
- * @deprecated Import `Outlet` from `@modern-js/plugin-tanstack/runtime` instead.
66
- */
67
- export declare const Outlet: React.ComponentType;
68
- /**
69
- * @deprecated Import `Form` from `@modern-js/plugin-tanstack/runtime` instead.
70
- */
71
- export declare const Form: React.ComponentType<FormProps>;
72
- /**
73
- * @deprecated Import `useFetcher` from `@modern-js/plugin-tanstack/runtime`
74
- * instead.
75
- */
76
- export declare function useFetcher(): Fetcher;
77
- /**
78
- * @deprecated Import `RouteActionResponseError` from
79
- * `@modern-js/plugin-tanstack/runtime` instead.
80
- *
81
- * Delegates to the real class registered by '@modern-js/plugin-tanstack/runtime'
82
- * so that `instanceof` checks observe the same class identity. Before the
83
- * registration happens no instance can exist, so `instanceof` is gracefully
84
- * `false`; constructing without @modern-js/plugin-tanstack installed throws an
85
- * actionable error.
86
- */
87
- export declare const RouteActionResponseError: RouteActionResponseErrorConstructor;
88
- export {};