@modern-js/runtime 3.0.0-alpha.1 → 3.0.0

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 (205) hide show
  1. package/dist/cjs/cli/ssr/index.js +109 -124
  2. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +21 -4
  3. package/dist/cjs/core/browser/index.js +2 -1
  4. package/dist/cjs/core/compat/requestContext.js +1 -0
  5. package/dist/cjs/core/context/runtime.js +10 -6
  6. package/dist/cjs/core/server/stream/createReadableStream.js +2 -15
  7. package/dist/cjs/core/server/stream/createReadableStream.worker.js +3 -14
  8. package/dist/cjs/core/server/stream/shared.js +47 -1
  9. package/dist/cjs/document/cli/index.js +61 -38
  10. package/dist/cjs/router/runtime/PrefetchLink.js +1 -4
  11. package/dist/esm/cli/alias.mjs +1 -1
  12. package/dist/esm/cli/code.mjs +3 -3
  13. package/dist/esm/cli/entry.mjs +1 -1
  14. package/dist/esm/cli/index.mjs +7 -7
  15. package/dist/esm/cli/ssr/index.mjs +3 -19
  16. package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +2 -1
  17. package/dist/esm/cli/template.mjs +1 -1
  18. package/dist/esm/core/browser/hydrate.mjs +3 -3
  19. package/dist/esm/core/browser/index.mjs +6 -5
  20. package/dist/esm/core/compat/index.mjs +1 -1
  21. package/dist/esm/core/compat/requestContext.mjs +1 -0
  22. package/dist/esm/core/context/index.mjs +2 -2
  23. package/dist/esm/core/context/monitors/index.mjs +1 -1
  24. package/dist/esm/core/context/monitors/index.server.mjs +1 -1
  25. package/dist/esm/core/context/runtime.mjs +10 -6
  26. package/dist/esm/core/index.mjs +2 -2
  27. package/dist/esm/core/plugin/index.mjs +4 -4
  28. package/dist/esm/core/react/index.mjs +3 -3
  29. package/dist/esm/core/react/wrapper.mjs +1 -1
  30. package/dist/esm/core/server/helmet.mjs +1 -1
  31. package/dist/esm/core/server/index.mjs +1 -1
  32. package/dist/esm/core/server/react/index.mjs +2 -2
  33. package/dist/esm/core/server/react/no-ssr-cache/index.mjs +1 -1
  34. package/dist/esm/core/server/requestHandler.mjs +7 -7
  35. package/dist/esm/core/server/server.mjs +3 -3
  36. package/dist/esm/core/server/stream/afterTemplate.mjs +4 -4
  37. package/dist/esm/core/server/stream/beforeTemplate.mjs +4 -4
  38. package/dist/esm/core/server/stream/createReadableStream.mjs +11 -14
  39. package/dist/esm/core/server/stream/createReadableStream.worker.mjs +8 -9
  40. package/dist/esm/core/server/stream/deferredScript.mjs +1 -1
  41. package/dist/esm/core/server/stream/index.mjs +2 -2
  42. package/dist/esm/core/server/stream/shared.mjs +38 -5
  43. package/dist/esm/core/server/stream/template.mjs +2 -2
  44. package/dist/esm/core/server/string/index.mjs +10 -10
  45. package/dist/esm/core/server/string/loadable.mjs +1 -1
  46. package/dist/esm/core/server/string/ssrData.mjs +2 -2
  47. package/dist/esm/document/Body.mjs +3 -3
  48. package/dist/esm/document/Comment.mjs +1 -1
  49. package/dist/esm/document/Head.mjs +5 -5
  50. package/dist/esm/document/Html.mjs +3 -3
  51. package/dist/esm/document/Links.mjs +1 -1
  52. package/dist/esm/document/Root.mjs +2 -2
  53. package/dist/esm/document/Script.mjs +1 -1
  54. package/dist/esm/document/Scripts.mjs +1 -1
  55. package/dist/esm/document/Style.mjs +1 -1
  56. package/dist/esm/document/Title.mjs +1 -1
  57. package/dist/esm/document/cli/index.mjs +63 -40
  58. package/dist/esm/document/index.mjs +12 -12
  59. package/dist/esm/index.mjs +5 -5
  60. package/dist/esm/internal.mjs +1 -1
  61. package/dist/esm/react-server.mjs +3 -3
  62. package/dist/esm/router/cli/code/getClientRoutes/getRoutes.mjs +4 -4
  63. package/dist/esm/router/cli/code/getClientRoutes/index.mjs +1 -1
  64. package/dist/esm/router/cli/code/getClientRoutes/utils.mjs +1 -1
  65. package/dist/esm/router/cli/code/index.mjs +9 -9
  66. package/dist/esm/router/cli/code/inspect.mjs +2 -2
  67. package/dist/esm/router/cli/code/nestedRoutes.mjs +2 -2
  68. package/dist/esm/router/cli/code/templates.mjs +2 -2
  69. package/dist/esm/router/cli/code/utils.mjs +1 -1
  70. package/dist/esm/router/cli/config-routes/converter.mjs +2 -2
  71. package/dist/esm/router/cli/entry.mjs +2 -2
  72. package/dist/esm/router/cli/handler.mjs +5 -5
  73. package/dist/esm/router/cli/index.mjs +3 -3
  74. package/dist/esm/router/index.mjs +1 -1
  75. package/dist/esm/router/internal.mjs +2 -2
  76. package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +3 -3
  77. package/dist/esm/router/runtime/PrefetchLink.mjs +2 -5
  78. package/dist/esm/router/runtime/constants.mjs +1 -1
  79. package/dist/esm/router/runtime/index.mjs +2 -2
  80. package/dist/esm/router/runtime/internal.mjs +2 -2
  81. package/dist/esm/router/runtime/plugin.mjs +4 -4
  82. package/dist/esm/router/runtime/plugin.node.mjs +4 -4
  83. package/dist/esm/router/runtime/utils.mjs +2 -2
  84. package/dist/esm-node/cache/index.mjs +1 -0
  85. package/dist/esm-node/cli/alias.mjs +1 -0
  86. package/dist/esm-node/cli/code.mjs +1 -0
  87. package/dist/esm-node/cli/constants.mjs +1 -0
  88. package/dist/esm-node/cli/entry.mjs +1 -0
  89. package/dist/esm-node/cli/index.mjs +2 -0
  90. package/dist/esm-node/cli/ssr/index.mjs +4 -18
  91. package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +3 -1
  92. package/dist/esm-node/cli/ssr/mode.mjs +1 -0
  93. package/dist/esm-node/cli/template.mjs +1 -0
  94. package/dist/esm-node/cli/template.server.mjs +1 -0
  95. package/dist/esm-node/common.mjs +1 -0
  96. package/dist/esm-node/core/browser/hydrate.mjs +1 -0
  97. package/dist/esm-node/core/browser/index.mjs +3 -1
  98. package/dist/esm-node/core/browser/withCallback.mjs +1 -0
  99. package/dist/esm-node/core/compat/hooks.mjs +1 -0
  100. package/dist/esm-node/core/compat/index.mjs +1 -0
  101. package/dist/esm-node/core/compat/requestContext.mjs +2 -0
  102. package/dist/esm-node/core/config.mjs +1 -0
  103. package/dist/esm-node/core/constants.mjs +1 -0
  104. package/dist/esm-node/core/context/index.mjs +1 -0
  105. package/dist/esm-node/core/context/monitors/default.mjs +1 -0
  106. package/dist/esm-node/core/context/monitors/index.mjs +1 -0
  107. package/dist/esm-node/core/context/monitors/index.server.mjs +1 -0
  108. package/dist/esm-node/core/context/request/index.mjs +1 -0
  109. package/dist/esm-node/core/context/request/index.server.mjs +1 -0
  110. package/dist/esm-node/core/context/response/index.mjs +1 -0
  111. package/dist/esm-node/core/context/response/index.server.mjs +1 -0
  112. package/dist/esm-node/core/context/runtime.mjs +11 -6
  113. package/dist/esm-node/core/context/serverPayload/index.mjs +1 -0
  114. package/dist/esm-node/core/context/serverPayload/index.server.mjs +1 -0
  115. package/dist/esm-node/core/index.mjs +1 -0
  116. package/dist/esm-node/core/plugin/index.mjs +1 -0
  117. package/dist/esm-node/core/plugin/types.mjs +1 -0
  118. package/dist/esm-node/core/react/index.mjs +1 -0
  119. package/dist/esm-node/core/react/wrapper.mjs +1 -0
  120. package/dist/esm-node/core/server/constants.mjs +1 -0
  121. package/dist/esm-node/core/server/helmet.mjs +1 -0
  122. package/dist/esm-node/core/server/index.mjs +1 -0
  123. package/dist/esm-node/core/server/react/index.mjs +1 -0
  124. package/dist/esm-node/core/server/react/no-ssr-cache/index.mjs +1 -0
  125. package/dist/esm-node/core/server/react/nossr/index.mjs +1 -0
  126. package/dist/esm-node/core/server/requestHandler.mjs +1 -0
  127. package/dist/esm-node/core/server/server.mjs +1 -0
  128. package/dist/esm-node/core/server/shared.mjs +1 -0
  129. package/dist/esm-node/core/server/stream/afterTemplate.mjs +1 -0
  130. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +5 -1
  131. package/dist/esm-node/core/server/stream/createReadableStream.mjs +6 -8
  132. package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +5 -5
  133. package/dist/esm-node/core/server/stream/deferredScript.mjs +1 -0
  134. package/dist/esm-node/core/server/stream/index.mjs +1 -0
  135. package/dist/esm-node/core/server/stream/shared.mjs +35 -1
  136. package/dist/esm-node/core/server/stream/template.mjs +1 -0
  137. package/dist/esm-node/core/server/string/index.mjs +1 -0
  138. package/dist/esm-node/core/server/string/loadable.mjs +5 -1
  139. package/dist/esm-node/core/server/string/ssrData.mjs +1 -0
  140. package/dist/esm-node/core/server/string/types.mjs +1 -0
  141. package/dist/esm-node/core/server/tracer.mjs +1 -0
  142. package/dist/esm-node/core/server/utils.mjs +1 -0
  143. package/dist/esm-node/core/types.mjs +1 -0
  144. package/dist/esm-node/document/Body.mjs +1 -0
  145. package/dist/esm-node/document/Comment.mjs +1 -0
  146. package/dist/esm-node/document/DocumentContext.mjs +1 -0
  147. package/dist/esm-node/document/DocumentStructureContext.mjs +1 -0
  148. package/dist/esm-node/document/Head.mjs +1 -0
  149. package/dist/esm-node/document/Html.mjs +1 -0
  150. package/dist/esm-node/document/Links.mjs +1 -0
  151. package/dist/esm-node/document/Root.mjs +1 -0
  152. package/dist/esm-node/document/Script.mjs +1 -0
  153. package/dist/esm-node/document/Scripts.mjs +1 -0
  154. package/dist/esm-node/document/Style.mjs +1 -0
  155. package/dist/esm-node/document/Title.mjs +1 -0
  156. package/dist/esm-node/document/cli/index.mjs +64 -39
  157. package/dist/esm-node/document/constants.mjs +1 -0
  158. package/dist/esm-node/document/index.mjs +1 -0
  159. package/dist/esm-node/exports/config-routes.mjs +1 -0
  160. package/dist/esm-node/exports/head.mjs +1 -0
  161. package/dist/esm-node/exports/loadable.mjs +1 -0
  162. package/dist/esm-node/index.mjs +1 -0
  163. package/dist/esm-node/internal.mjs +1 -0
  164. package/dist/esm-node/react-server.mjs +1 -0
  165. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutes.mjs +1 -0
  166. package/dist/esm-node/router/cli/code/getClientRoutes/index.mjs +1 -0
  167. package/dist/esm-node/router/cli/code/getClientRoutes/utils.mjs +1 -0
  168. package/dist/esm-node/router/cli/code/index.mjs +1 -0
  169. package/dist/esm-node/router/cli/code/inspect.mjs +1 -0
  170. package/dist/esm-node/router/cli/code/makeLegalIdentifier.mjs +1 -0
  171. package/dist/esm-node/router/cli/code/nestedRoutes.mjs +1 -0
  172. package/dist/esm-node/router/cli/code/templates.mjs +2 -0
  173. package/dist/esm-node/router/cli/code/utils.mjs +1 -0
  174. package/dist/esm-node/router/cli/config-routes/converter.mjs +1 -0
  175. package/dist/esm-node/router/cli/config-routes/parseRouteConfig.mjs +1 -0
  176. package/dist/esm-node/router/cli/constants.mjs +1 -0
  177. package/dist/esm-node/router/cli/entry.mjs +1 -0
  178. package/dist/esm-node/router/cli/handler.mjs +1 -0
  179. package/dist/esm-node/router/cli/index.mjs +5 -1
  180. package/dist/esm-node/router/index.mjs +1 -0
  181. package/dist/esm-node/router/internal.mjs +1 -0
  182. package/dist/esm-node/router/runtime/DefaultNotFound.mjs +1 -0
  183. package/dist/esm-node/router/runtime/DeferredDataScripts.mjs +1 -0
  184. package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +1 -0
  185. package/dist/esm-node/router/runtime/PrefetchLink.mjs +2 -4
  186. package/dist/esm-node/router/runtime/constants.mjs +1 -0
  187. package/dist/esm-node/router/runtime/hooks.mjs +1 -0
  188. package/dist/esm-node/router/runtime/index.mjs +1 -0
  189. package/dist/esm-node/router/runtime/internal.mjs +1 -0
  190. package/dist/esm-node/router/runtime/plugin.mjs +1 -0
  191. package/dist/esm-node/router/runtime/plugin.node.mjs +1 -0
  192. package/dist/esm-node/router/runtime/routerHelper.mjs +1 -0
  193. package/dist/esm-node/router/runtime/rsc-router.mjs +1 -0
  194. package/dist/esm-node/router/runtime/rsc.mjs +1 -0
  195. package/dist/esm-node/router/runtime/server.mjs +1 -0
  196. package/dist/esm-node/router/runtime/types.mjs +1 -0
  197. package/dist/esm-node/router/runtime/utils.mjs +1 -0
  198. package/dist/esm-node/router/runtime/withRouter.mjs +1 -0
  199. package/dist/esm-node/rsc/client.mjs +1 -0
  200. package/dist/esm-node/rsc/server.mjs +1 -0
  201. package/dist/types/cli/ssr/loadable-bundler-plugin.d.ts +22 -1
  202. package/dist/types/core/context/runtime.d.ts +4 -0
  203. package/dist/types/core/server/stream/shared.d.ts +4 -0
  204. package/package.json +31 -59
  205. package/rstest.config.ts +83 -0
@@ -1,19 +1,5 @@
1
1
  "use strict";
2
- var __webpack_modules__ = {
3
- "./loadable-bundler-plugin.js" (module) {
4
- module.exports = require("./loadable-bundler-plugin.js");
5
- }
6
- };
7
- var __webpack_module_cache__ = {};
8
- function __webpack_require__(moduleId) {
9
- var cachedModule = __webpack_module_cache__[moduleId];
10
- if (void 0 !== cachedModule) return cachedModule.exports;
11
- var module = __webpack_module_cache__[moduleId] = {
12
- exports: {}
13
- };
14
- __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
15
- return module.exports;
16
- }
2
+ var __webpack_require__ = {};
17
3
  (()=>{
18
4
  __webpack_require__.n = (module)=>{
19
5
  var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
@@ -45,122 +31,121 @@ function __webpack_require__(moduleId) {
45
31
  };
46
32
  })();
47
33
  var __webpack_exports__ = {};
48
- (()=>{
49
- __webpack_require__.r(__webpack_exports__);
50
- __webpack_require__.d(__webpack_exports__, {
51
- default: ()=>cli_ssr,
52
- ssrPlugin: ()=>ssrPlugin
53
- });
54
- const external_path_namespaceObject = require("path");
55
- var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
56
- const utils_namespaceObject = require("@modern-js/utils");
57
- const external_mode_js_namespaceObject = require("./mode.js");
58
- const checkUseStringSSR = (config, appDirectory, entrypoints)=>{
59
- if (entrypoints && entrypoints.length > 0) {
60
- for (const entrypoint of entrypoints){
61
- const ssrMode = (0, external_mode_js_namespaceObject.resolveSSRMode)({
62
- entry: entrypoint.entryName,
63
- config,
64
- appDirectory,
65
- nestedRoutesEntry: entrypoint.nestedRoutesEntry
66
- });
67
- if ('string' === ssrMode) return true;
68
- }
69
- return false;
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ default: ()=>cli_ssr,
37
+ ssrPlugin: ()=>ssrPlugin
38
+ });
39
+ const external_path_namespaceObject = require("path");
40
+ var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
41
+ const utils_namespaceObject = require("@modern-js/utils");
42
+ const external_loadable_bundler_plugin_js_namespaceObject = require("./loadable-bundler-plugin.js");
43
+ var external_loadable_bundler_plugin_js_default = /*#__PURE__*/ __webpack_require__.n(external_loadable_bundler_plugin_js_namespaceObject);
44
+ const external_mode_js_namespaceObject = require("./mode.js");
45
+ const checkUseStringSSR = (config, appDirectory, entrypoints)=>{
46
+ if (entrypoints && entrypoints.length > 0) {
47
+ for (const entrypoint of entrypoints){
48
+ const ssrMode = (0, external_mode_js_namespaceObject.resolveSSRMode)({
49
+ entry: entrypoint.entryName,
50
+ config,
51
+ appDirectory,
52
+ nestedRoutesEntry: entrypoint.nestedRoutesEntry
53
+ });
54
+ if ('string' === ssrMode) return true;
70
55
  }
71
- return true;
72
- };
73
- const ssrBuilderPlugin = (modernAPI, outputModule)=>({
74
- name: '@modern-js/builder-plugin-ssr',
75
- setup (api) {
76
- api.modifyEnvironmentConfig((config, { name, mergeEnvironmentConfig })=>{
77
- const isServerEnvironment = 'node' === config.output.target || 'workerSSR' === name;
78
- const userConfig = modernAPI.getNormalizedConfig();
79
- const ssrEnv = userConfig.deploy?.worker?.ssr || userConfig.server?.rsc ? 'edge' : 'node';
80
- const appContext = modernAPI.getAppContext();
81
- const { appDirectory, entrypoints } = appContext;
82
- const useLoadablePlugin = (0, utils_namespaceObject.isUseSSRBundle)(userConfig) && !isServerEnvironment && checkUseStringSSR(userConfig, appDirectory, entrypoints);
83
- return mergeEnvironmentConfig(config, {
84
- source: {
85
- define: {
86
- 'process.env.MODERN_TARGET': isServerEnvironment ? JSON.stringify('node') : JSON.stringify('browser'),
87
- 'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv)
88
- }
89
- },
90
- output: {
91
- module: isServerEnvironment && outputModule
92
- },
93
- tools: {
94
- bundlerChain: useLoadablePlugin ? (chain)=>{
95
- const LoadableBundlerPlugin = __webpack_require__("./loadable-bundler-plugin.js");
96
- chain.plugin('loadable').use(LoadableBundlerPlugin, [
97
- {
98
- filename: utils_namespaceObject.LOADABLE_STATS_FILE
99
- }
100
- ]);
101
- } : void 0
56
+ return false;
57
+ }
58
+ return true;
59
+ };
60
+ const ssrBuilderPlugin = (modernAPI, outputModule)=>({
61
+ name: '@modern-js/builder-plugin-ssr',
62
+ setup (api) {
63
+ api.modifyEnvironmentConfig((config, { name, mergeEnvironmentConfig })=>{
64
+ const isServerEnvironment = 'node' === config.output.target || 'workerSSR' === name;
65
+ const userConfig = modernAPI.getNormalizedConfig();
66
+ const ssrEnv = userConfig.deploy?.worker?.ssr || userConfig.server?.rsc ? 'edge' : 'node';
67
+ const appContext = modernAPI.getAppContext();
68
+ const { appDirectory, entrypoints } = appContext;
69
+ const useLoadablePlugin = (0, utils_namespaceObject.isUseSSRBundle)(userConfig) && !isServerEnvironment && checkUseStringSSR(userConfig, appDirectory, entrypoints);
70
+ return mergeEnvironmentConfig(config, {
71
+ source: {
72
+ define: {
73
+ 'process.env.MODERN_TARGET': isServerEnvironment ? JSON.stringify('node') : JSON.stringify('browser'),
74
+ 'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv)
102
75
  }
103
- });
76
+ },
77
+ output: {
78
+ module: isServerEnvironment && outputModule
79
+ },
80
+ tools: {
81
+ bundlerChain: useLoadablePlugin ? (chain)=>{
82
+ chain.plugin('loadable').use(external_loadable_bundler_plugin_js_default(), [
83
+ {
84
+ filename: utils_namespaceObject.LOADABLE_STATS_FILE
85
+ }
86
+ ]);
87
+ } : void 0
88
+ }
104
89
  });
105
- }
106
- });
107
- const ssrPlugin = ()=>({
108
- name: '@modern-js/plugin-ssr',
109
- required: [
110
- '@modern-js/runtime'
111
- ],
112
- setup: (api)=>{
113
- const appContext = api.getAppContext();
114
- const exportLoadablePath = `@${appContext.metaName}/runtime/loadable`;
115
- const runtimeUtilsPath = require.resolve('@modern-js/runtime-utils/node');
116
- const aliasPath = runtimeUtilsPath.replace(`${external_path_default().sep}cjs${external_path_default().sep}`, `${external_path_default().sep}esm${external_path_default().sep}`).replace(/\.js$/, '.mjs');
117
- api.config(()=>({
118
- builderPlugins: [
119
- ssrBuilderPlugin(api, 'module' === appContext.moduleType)
120
- ],
121
- resolve: {
122
- alias: {
123
- '@modern-js/runtime-utils/node$': aliasPath
124
- }
125
- },
126
- tools: {
127
- swc: {
128
- jsc: {
129
- experimental: {
130
- plugins: [
131
- [
132
- require.resolve('@swc/plugin-loadable-components'),
133
- {
134
- signatures: [
135
- {
136
- name: 'default',
137
- from: '@loadable/component'
138
- },
139
- {
140
- name: 'lazy',
141
- from: '@loadable/component'
142
- },
143
- {
144
- name: 'default',
145
- from: exportLoadablePath
146
- },
147
- {
148
- name: 'lazy',
149
- from: exportLoadablePath
150
- }
151
- ]
152
- }
153
- ]
90
+ });
91
+ }
92
+ });
93
+ const ssrPlugin = ()=>({
94
+ name: '@modern-js/plugin-ssr',
95
+ required: [
96
+ '@modern-js/runtime'
97
+ ],
98
+ setup: (api)=>{
99
+ const appContext = api.getAppContext();
100
+ const exportLoadablePath = `@${appContext.metaName}/runtime/loadable`;
101
+ const runtimeUtilsPath = require.resolve('@modern-js/runtime-utils/node');
102
+ const aliasPath = runtimeUtilsPath.replace(`${external_path_default().sep}cjs${external_path_default().sep}`, `${external_path_default().sep}esm${external_path_default().sep}`).replace(/\.js$/, '.mjs');
103
+ api.config(()=>({
104
+ builderPlugins: [
105
+ ssrBuilderPlugin(api, 'module' === appContext.moduleType)
106
+ ],
107
+ resolve: {
108
+ alias: {
109
+ '@modern-js/runtime-utils/node$': aliasPath
110
+ }
111
+ },
112
+ tools: {
113
+ swc: {
114
+ jsc: {
115
+ experimental: {
116
+ plugins: [
117
+ [
118
+ require.resolve('@swc/plugin-loadable-components'),
119
+ {
120
+ signatures: [
121
+ {
122
+ name: 'default',
123
+ from: '@loadable/component'
124
+ },
125
+ {
126
+ name: 'lazy',
127
+ from: '@loadable/component'
128
+ },
129
+ {
130
+ name: 'default',
131
+ from: exportLoadablePath
132
+ },
133
+ {
134
+ name: 'lazy',
135
+ from: exportLoadablePath
136
+ }
137
+ ]
138
+ }
154
139
  ]
155
- }
140
+ ]
156
141
  }
157
142
  }
158
143
  }
159
- }));
160
- }
161
- });
162
- const cli_ssr = ssrPlugin;
163
- })();
144
+ }
145
+ }));
146
+ }
147
+ });
148
+ const cli_ssr = ssrPlugin;
164
149
  exports["default"] = __webpack_exports__["default"];
165
150
  exports.ssrPlugin = __webpack_exports__.ssrPlugin;
166
151
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.n = (module1)=>{
5
- var getter = module1 && module1.__esModule ? ()=>module1['default'] : ()=>module1;
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
6
  __webpack_require__.d(getter, {
7
7
  a: getter
8
8
  });
@@ -20,7 +20,21 @@ var __webpack_require__ = {};
20
20
  (()=>{
21
21
  __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
22
  })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
23
33
  var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ default: ()=>loadable_bundler_plugin
37
+ });
24
38
  const external_path_namespaceObject = require("path");
25
39
  var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
26
40
  const utils_namespaceObject = require("@modern-js/utils");
@@ -96,8 +110,11 @@ class LoadablePlugin {
96
110
  this.compiler = null;
97
111
  }
98
112
  }
99
- module.exports = LoadablePlugin;
100
- for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
113
+ const loadable_bundler_plugin = LoadablePlugin;
114
+ exports["default"] = __webpack_exports__["default"];
115
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
116
+ "default"
117
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
101
118
  Object.defineProperty(exports, '__esModule', {
102
119
  value: true
103
120
  });
@@ -97,7 +97,8 @@ async function render(App, id) {
97
97
  const ssrData = getSSRData();
98
98
  Object.assign(context, {
99
99
  _internalRouterBaseName: App.props.basename,
100
- ssrContext: ssrData.context
100
+ ssrContext: ssrData.context,
101
+ initialData: ssrData.data?.initialData
101
102
  });
102
103
  await runBeforeRender(context);
103
104
  const rootElement = id && 'string' != typeof id ? id : document.getElementById(id || 'root');
@@ -43,6 +43,7 @@ const requestContextPlugin = ()=>({
43
43
  setup (api) {
44
44
  api.onBeforeRender((context)=>{
45
45
  const requestContext = makeRequestContext(context);
46
+ context.requestContext = requestContext;
46
47
  context.context = requestContext;
47
48
  });
48
49
  }
@@ -35,14 +35,18 @@ const external_react_namespaceObject = require("react");
35
35
  const InternalRuntimeContext = (0, external_react_namespaceObject.createContext)({});
36
36
  const RuntimeContext = (0, external_react_namespaceObject.createContext)({});
37
37
  const ReactRuntimeContext = RuntimeContext;
38
- const getInitialContext = (isBrowser = true, routeManifest)=>({
38
+ const getInitialContext = (isBrowser = true, routeManifest)=>{
39
+ const requestContext = {
40
+ request: {},
41
+ response: {}
42
+ };
43
+ return {
39
44
  isBrowser,
40
45
  routeManifest: routeManifest || "u" > typeof window && window[constants_namespaceObject.ROUTE_MANIFEST],
41
- context: {
42
- request: {},
43
- response: {}
44
- }
45
- });
46
+ requestContext,
47
+ context: requestContext
48
+ };
49
+ };
46
50
  const useRuntimeContext = ()=>(0, external_react_namespaceObject.useContext)(RuntimeContext);
47
51
  exports.InternalRuntimeContext = __webpack_exports__.InternalRuntimeContext;
48
52
  exports.ReactRuntimeContext = __webpack_exports__.ReactRuntimeContext;
@@ -1,14 +1,5 @@
1
1
  "use strict";
2
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
3
  (()=>{
13
4
  __webpack_require__.d = (exports1, definition)=>{
14
5
  for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
@@ -37,8 +28,6 @@ __webpack_require__.d(__webpack_exports__, {
37
28
  });
38
29
  const external_stream_namespaceObject = require("stream");
39
30
  const node_namespaceObject = require("@modern-js/runtime-utils/node");
40
- const external_isbot_namespaceObject = require("isbot");
41
- var external_isbot_default = /*#__PURE__*/ __webpack_require__.n(external_isbot_namespaceObject);
42
31
  const external_common_js_namespaceObject = require("../../../common.js");
43
32
  const external_constants_js_namespaceObject = require("../../constants.js");
44
33
  const index_js_namespaceObject = require("../../context/index.js");
@@ -57,9 +46,7 @@ const createReadableStreamFromElement = async (request, rootElement, options)=>{
57
46
  let shellChunkStatus = external_shared_js_namespaceObject.ShellChunkStatus.START;
58
47
  let renderLevel = external_constants_js_namespaceObject.RenderLevel.SERVER_RENDER;
59
48
  const forceStream2String = Boolean(process.env.MODERN_JS_STREAM_TO_STRING);
60
- const isbot = external_isbot_default()(request.headers.get('user-agent'));
61
- const isSsgRender = 'true' === request.headers.get('x-modern-ssg-render');
62
- const onReady = isbot || isSsgRender || forceStream2String ? 'onAllReady' : 'onShellReady';
49
+ const { onReady } = (0, external_shared_js_namespaceObject.resolveStreamingMode)(request, forceStream2String);
63
50
  const internalRuntimeContext = (0, index_js_namespaceObject.getGlobalInternalRuntimeContext)();
64
51
  const hooks = internalRuntimeContext.hooks;
65
52
  const extenders = hooks.extendStreamSSR.call() || [];
@@ -115,7 +102,7 @@ const createReadableStreamFromElement = async (request, rootElement, options)=>{
115
102
  }
116
103
  });
117
104
  const passThrough = new external_stream_namespaceObject.PassThrough();
118
- const stream = (0, node_namespaceObject.createReadableStreamFromReadable)(body);
105
+ const stream = external_stream_namespaceObject.Readable.toWeb(body);
119
106
  resolve(stream);
120
107
  let processedStream = passThrough;
121
108
  extenders.forEach((extender)=>{
@@ -1,14 +1,5 @@
1
1
  "use strict";
2
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
3
  (()=>{
13
4
  __webpack_require__.d = (exports1, definition)=>{
14
5
  for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
@@ -37,8 +28,6 @@ __webpack_require__.d(__webpack_exports__, {
37
28
  });
38
29
  const ssr_namespaceObject = require("@modern-js/render/ssr");
39
30
  const node_namespaceObject = require("@modern-js/runtime-utils/node");
40
- const external_isbot_namespaceObject = require("isbot");
41
- var external_isbot_default = /*#__PURE__*/ __webpack_require__.n(external_isbot_namespaceObject);
42
31
  const external_common_js_namespaceObject = require("../../../common.js");
43
32
  const external_constants_js_namespaceObject = require("../../constants.js");
44
33
  const external_deferredScript_js_namespaceObject = require("./deferredScript.js");
@@ -71,9 +60,9 @@ const createReadableStreamFromElement = async (request, rootElement, options)=>{
71
60
  readableOriginal.allReady.then(()=>{
72
61
  options?.onAllReady?.();
73
62
  });
74
- const isbot = external_isbot_default()(request.headers.get('user-agent'));
75
- const isSsgRender = 'true' === request.headers.get('x-modern-ssg-render');
76
- if (isbot || isSsgRender) await readableOriginal.allReady;
63
+ const forceStreamToString = Boolean("u" > typeof process && process.env?.MODERN_JS_STREAM_TO_STRING);
64
+ const { waitForAllReady } = (0, external_shared_js_namespaceObject.resolveStreamingMode)(request, forceStreamToString);
65
+ if (waitForAllReady) await readableOriginal.allReady;
77
66
  const reader = readableOriginal.getReader();
78
67
  const stream = new ReadableStream({
79
68
  start (controller) {
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
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
+ })();
3
12
  (()=>{
4
13
  __webpack_require__.d = (exports1, definition)=>{
5
14
  for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
@@ -27,10 +36,13 @@ __webpack_require__.d(__webpack_exports__, {
27
36
  ShellChunkStatus: ()=>shared_ShellChunkStatus,
28
37
  createRenderStreaming: ()=>createRenderStreaming,
29
38
  encodeForWebStream: ()=>encodeForWebStream,
39
+ resolveStreamingMode: ()=>resolveStreamingMode,
30
40
  getReadableStreamFromString: ()=>getReadableStreamFromString
31
41
  });
32
42
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
33
43
  const time_namespaceObject = require("@modern-js/runtime-utils/time");
44
+ const external_isbot_namespaceObject = require("isbot");
45
+ var external_isbot_default = /*#__PURE__*/ __webpack_require__.n(external_isbot_namespaceObject);
34
46
  const external_common_js_namespaceObject = require("../../../common.js");
35
47
  const wrapper_js_namespaceObject = require("../../react/wrapper.js");
36
48
  const external_tracer_js_namespaceObject = require("../tracer.js");
@@ -40,6 +52,38 @@ var shared_ShellChunkStatus = /*#__PURE__*/ function(ShellChunkStatus) {
40
52
  ShellChunkStatus[ShellChunkStatus["FINISH"] = 1] = "FINISH";
41
53
  return ShellChunkStatus;
42
54
  }({});
55
+ const SHOULD_STREAM_ALL_HEADER = 'x-should-stream-all';
56
+ function parseShouldStreamAllFlag(value) {
57
+ if (!value) return;
58
+ const normalized = value.trim().toLowerCase();
59
+ if ('false' === normalized) return false;
60
+ return true;
61
+ }
62
+ function resolveStreamingMode(request, forceStreamToString) {
63
+ const shouldStreamAll = parseShouldStreamAllFlag(request.headers.get(SHOULD_STREAM_ALL_HEADER));
64
+ const isSsgRender = 'true' === request.headers.get('x-modern-ssg-render');
65
+ const isBot = external_isbot_default()(request.headers.get('user-agent'));
66
+ if (shouldStreamAll) return {
67
+ onReady: 'onAllReady',
68
+ waitForAllReady: true
69
+ };
70
+ if (forceStreamToString) return {
71
+ onReady: 'onAllReady',
72
+ waitForAllReady: true
73
+ };
74
+ if (isBot) return {
75
+ onReady: 'onAllReady',
76
+ waitForAllReady: true
77
+ };
78
+ if (isSsgRender) return {
79
+ onReady: 'onAllReady',
80
+ waitForAllReady: true
81
+ };
82
+ return {
83
+ onReady: 'onShellReady',
84
+ waitForAllReady: false
85
+ };
86
+ }
43
87
  let encoder;
44
88
  function encodeForWebStream(thing) {
45
89
  if (!encoder) encoder = new TextEncoder();
@@ -107,11 +151,13 @@ exports.ShellChunkStatus = __webpack_exports__.ShellChunkStatus;
107
151
  exports.createRenderStreaming = __webpack_exports__.createRenderStreaming;
108
152
  exports.encodeForWebStream = __webpack_exports__.encodeForWebStream;
109
153
  exports.getReadableStreamFromString = __webpack_exports__.getReadableStreamFromString;
154
+ exports.resolveStreamingMode = __webpack_exports__.resolveStreamingMode;
110
155
  for(var __rspack_i in __webpack_exports__)if (-1 === [
111
156
  "ShellChunkStatus",
112
157
  "createRenderStreaming",
113
158
  "encodeForWebStream",
114
- "getReadableStreamFromString"
159
+ "getReadableStreamFromString",
160
+ "resolveStreamingMode"
115
161
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
116
162
  Object.defineProperty(exports, '__esModule', {
117
163
  value: true