@modern-js/runtime 2.35.0 → 2.35.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 (91) hide show
  1. package/dist/cjs/core/compatible.js +9 -10
  2. package/dist/cjs/core/loader/useLoader.js +8 -8
  3. package/dist/cjs/core/plugin.js +2 -3
  4. package/dist/cjs/document/Html.js +3 -4
  5. package/dist/cjs/document/cli/index.js +4 -6
  6. package/dist/cjs/router/cli/index.js +1 -2
  7. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +9 -11
  8. package/dist/cjs/router/runtime/PrefetchLink.js +5 -9
  9. package/dist/cjs/router/runtime/index.js +1 -1
  10. package/dist/cjs/router/runtime/plugin.js +5 -7
  11. package/dist/cjs/router/runtime/plugin.node.js +8 -9
  12. package/dist/cjs/router/runtime/server.js +1 -1
  13. package/dist/cjs/router/runtime/utils.js +7 -7
  14. package/dist/cjs/router/runtime/withRouter.js +1 -1
  15. package/dist/cjs/ssr/cli/index.js +9 -11
  16. package/dist/cjs/ssr/index.js +3 -3
  17. package/dist/cjs/ssr/index.node.js +1 -2
  18. package/dist/cjs/ssr/prefetch.js +4 -4
  19. package/dist/cjs/ssr/react/prerender/util.js +2 -4
  20. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +2 -2
  21. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +3 -7
  22. package/dist/cjs/ssr/serverRender/renderToStream/index.js +3 -3
  23. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +5 -6
  24. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +4 -6
  25. package/dist/cjs/ssr/serverRender/renderToString/entry.js +4 -4
  26. package/dist/cjs/ssr/serverRender/renderToString/index.js +3 -3
  27. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +29 -18
  28. package/dist/esm/core/compatible.js +9 -10
  29. package/dist/esm/core/loader/useLoader.js +8 -8
  30. package/dist/esm/core/plugin.js +2 -3
  31. package/dist/esm/document/Html.js +3 -4
  32. package/dist/esm/document/cli/index.js +4 -5
  33. package/dist/esm/router/cli/index.js +1 -2
  34. package/dist/esm/router/runtime/DeferredDataScripts.node.js +4 -6
  35. package/dist/esm/router/runtime/PrefetchLink.js +5 -9
  36. package/dist/esm/router/runtime/index.js +2 -2
  37. package/dist/esm/router/runtime/plugin.js +4 -6
  38. package/dist/esm/router/runtime/plugin.node.js +6 -7
  39. package/dist/esm/router/runtime/server.js +1 -1
  40. package/dist/esm/router/runtime/utils.js +6 -6
  41. package/dist/esm/router/runtime/withRouter.js +1 -1
  42. package/dist/esm/ssr/cli/index.js +9 -11
  43. package/dist/esm/ssr/index.js +1 -1
  44. package/dist/esm/ssr/index.node.js +1 -2
  45. package/dist/esm/ssr/prefetch.js +3 -3
  46. package/dist/esm/ssr/react/prerender/util.js +2 -4
  47. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +1 -1
  48. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +3 -5
  49. package/dist/esm/ssr/serverRender/renderToStream/index.js +2 -2
  50. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +5 -6
  51. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +5 -5
  52. package/dist/esm/ssr/serverRender/renderToString/entry.js +2 -2
  53. package/dist/esm/ssr/serverRender/renderToString/index.js +2 -2
  54. package/dist/esm/ssr/serverRender/renderToString/loadable.js +32 -18
  55. package/dist/esm-node/core/compatible.js +9 -10
  56. package/dist/esm-node/core/loader/useLoader.js +8 -8
  57. package/dist/esm-node/core/plugin.js +2 -3
  58. package/dist/esm-node/document/Html.js +3 -4
  59. package/dist/esm-node/document/cli/index.js +4 -6
  60. package/dist/esm-node/router/cli/index.js +1 -2
  61. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +4 -6
  62. package/dist/esm-node/router/runtime/PrefetchLink.js +5 -9
  63. package/dist/esm-node/router/runtime/index.js +2 -2
  64. package/dist/esm-node/router/runtime/plugin.js +4 -6
  65. package/dist/esm-node/router/runtime/plugin.node.js +6 -7
  66. package/dist/esm-node/router/runtime/server.js +1 -1
  67. package/dist/esm-node/router/runtime/utils.js +6 -6
  68. package/dist/esm-node/router/runtime/withRouter.js +1 -1
  69. package/dist/esm-node/ssr/cli/index.js +9 -11
  70. package/dist/esm-node/ssr/index.js +1 -1
  71. package/dist/esm-node/ssr/index.node.js +1 -2
  72. package/dist/esm-node/ssr/prefetch.js +3 -3
  73. package/dist/esm-node/ssr/react/prerender/util.js +2 -4
  74. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +1 -1
  75. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +3 -7
  76. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +2 -2
  77. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +5 -6
  78. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +4 -6
  79. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +2 -2
  80. package/dist/esm-node/ssr/serverRender/renderToString/index.js +2 -2
  81. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +29 -18
  82. package/dist/types/router/runtime/PrefetchLink.d.ts +1 -1
  83. package/dist/types/router/runtime/hooks.d.ts +1 -1
  84. package/dist/types/router/runtime/index.d.ts +3 -3
  85. package/dist/types/router/runtime/server.d.ts +1 -1
  86. package/dist/types/router/runtime/types.d.ts +2 -2
  87. package/dist/types/router/runtime/utils.d.ts +1 -1
  88. package/dist/types/router/runtime/withRouter.d.ts +1 -1
  89. package/dist/types/runtimeContext.d.ts +1 -1
  90. package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +1 -0
  91. package/package.json +10 -9
@@ -6,12 +6,12 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
6
6
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  import { useContext } from "react";
9
- import { createStaticHandler } from "@modern-js/utils/runtime/remix-router";
10
- import { createStaticRouter, StaticRouterProvider } from "@modern-js/utils/runtime-node/router";
9
+ import { createStaticHandler } from "@modern-js/runtime-utils/remix-router";
10
+ import { createStaticRouter, StaticRouterProvider } from "@modern-js/runtime-utils/node/router";
11
11
  import hoistNonReactStatics from "hoist-non-react-statics";
12
- import { createRoutesFromElements } from "@modern-js/utils/runtime/router";
13
- import { createRequestContext, reporterCtx } from "@modern-js/utils/runtime-node";
14
- import { time } from "@modern-js/utils/universal/time";
12
+ import { createRoutesFromElements } from "@modern-js/runtime-utils/router";
13
+ import { createRequestContext, reporterCtx } from "@modern-js/runtime-utils/node";
14
+ import { time } from "@modern-js/runtime-utils/time";
15
15
  import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
16
16
  import { RuntimeReactContext } from "../../core";
17
17
  import { renderRoutes, urlJoin } from "./utils";
@@ -157,7 +157,6 @@ export var routerPlugin = function(param) {
157
157
  },
158
158
  hoc: function(param2, next) {
159
159
  var App = param2.App;
160
- var _routesConfig;
161
160
  if (!routesConfig) {
162
161
  return next({
163
162
  App: App
@@ -176,7 +175,7 @@ export var routerPlugin = function(param) {
176
175
  };
177
176
  };
178
177
  var RouteApp = getRouteApp();
179
- if ((_routesConfig = routesConfig) === null || _routesConfig === void 0 ? void 0 : _routesConfig.globalApp) {
178
+ if (routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp) {
180
179
  return next({
181
180
  App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
182
181
  });
@@ -1 +1 @@
1
- export * from "@modern-js/utils/runtime-node/router";
1
+ export * from "@modern-js/runtime-utils/node/router";
@@ -4,9 +4,9 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
5
5
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- import { Route, isRouteErrorResponse } from "@modern-js/utils/runtime/router";
8
- import { ErrorResponse } from "@modern-js/utils/runtime/remix-router";
9
- import { renderNestedRoute } from "@modern-js/utils/runtime/nested-routes";
7
+ import { Route, isRouteErrorResponse } from "@modern-js/runtime-utils/router";
8
+ import { ErrorResponse } from "@modern-js/runtime-utils/remix-router";
9
+ import { renderNestedRoute } from "@modern-js/runtime-utils/browser";
10
10
  import { DefaultNotFound } from "./DefaultNotFound";
11
11
  import DeferredDataScripts from "./DeferredDataScripts";
12
12
  export function getRouteComponents(routes, param) {
@@ -83,9 +83,9 @@ export function renderRoutes(param) {
83
83
  return routeElements;
84
84
  }
85
85
  export function getLocation(serverContext) {
86
- var _serverContext, _url_replace, _url;
87
- var _ref = ((_serverContext = serverContext) === null || _serverContext === void 0 ? void 0 : _serverContext.request) || {}, pathname = _ref.pathname, url = _ref.url;
88
- var cleanUrl = (_url = url) === null || _url === void 0 ? void 0 : (_url_replace = _url.replace("http://", "")) === null || _url_replace === void 0 ? void 0 : _url_replace.replace("https://", "");
86
+ var _url_replace;
87
+ var _ref = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {}, pathname = _ref.pathname, url = _ref.url;
88
+ var cleanUrl = url === null || url === void 0 ? void 0 : (_url_replace = url.replace("http://", "")) === null || _url_replace === void 0 ? void 0 : _url_replace.replace("https://", "");
89
89
  var index = (cleanUrl || "").indexOf(pathname);
90
90
  if (index === -1) {
91
91
  return pathname;
@@ -1,7 +1,7 @@
1
1
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
2
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
- import { useLocation, useNavigate, useParams } from "@modern-js/utils/runtime/router";
4
+ import { useLocation, useNavigate, useParams } from "@modern-js/runtime-utils/router";
5
5
  export var withRouter = function(Component) {
6
6
  return function(props) {
7
7
  var location = useLocation();
@@ -4,15 +4,14 @@ import path from "path";
4
4
  import { getEntryOptions, SERVER_RENDER_FUNCTION_NAME, LOADABLE_STATS_FILE, isUseSSRBundle, createRuntimeExportsUtils, isSSGEntry } from "@modern-js/utils";
5
5
  var PLUGIN_IDENTIFIER = "ssr";
6
6
  var hasStringSSREntry = function(userConfig) {
7
- var _server, _server1;
8
7
  var isStreaming = function(ssr) {
9
8
  return ssr && typeof ssr === "object" && ssr.mode === "stream";
10
9
  };
11
10
  var server = userConfig.server, output = userConfig.output;
12
- if ((((_server = server) === null || _server === void 0 ? void 0 : _server.ssr) || output.ssg) && !isStreaming(server.ssr)) {
11
+ if (((server === null || server === void 0 ? void 0 : server.ssr) || output.ssg) && !isStreaming(server.ssr)) {
13
12
  return true;
14
13
  }
15
- if (((_server1 = server) === null || _server1 === void 0 ? void 0 : _server1.ssrByEntries) && typeof server.ssrByEntries === "object") {
14
+ if ((server === null || server === void 0 ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
16
15
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
17
16
  try {
18
17
  for (var _iterator = Object.keys(server.ssrByEntries)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
@@ -39,9 +38,8 @@ var hasStringSSREntry = function(userConfig) {
39
38
  return false;
40
39
  };
41
40
  var checkUseStringSSR = function(config) {
42
- var _output;
43
41
  var output = config.output;
44
- return Boolean((_output = output) === null || _output === void 0 ? void 0 : _output.ssg) || hasStringSSREntry(config);
42
+ return Boolean(output === null || output === void 0 ? void 0 : output.ssg) || hasStringSSREntry(config);
45
43
  };
46
44
  export var ssrPlugin = function() {
47
45
  return {
@@ -85,8 +83,8 @@ export var ssrPlugin = function() {
85
83
  return {
86
84
  source: {
87
85
  alias: {
88
- // ensure that all packages use the same storage in @modern-js/utils/runtime-node
89
- "@modern-js/utils/runtime-node$": require.resolve("@modern-js/utils/runtime-node"),
86
+ // ensure that all packages use the same storage in @modern-js/runtime-utils/node
87
+ "@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node"),
90
88
  "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
91
89
  },
92
90
  globalVars: function(values, param) {
@@ -119,9 +117,9 @@ export var ssrPlugin = function() {
119
117
  pluginsExportsUtils.addExport("export { default as ssr } from '@modern-js/runtime/ssr'");
120
118
  var ssrConfig = getEntryOptions(entryName, isMainEntry, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
121
119
  if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
122
- var _this, _runtimeConfig;
120
+ var _this;
123
121
  var runtimeConfig = getEntryOptions(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName);
124
- if (((_this = (_runtimeConfig = runtimeConfig) === null || _runtimeConfig === void 0 ? void 0 : _runtimeConfig.router) === null || _this === void 0 ? void 0 : _this.mode) === "react-router-5") {
122
+ if (((_this = runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) === null || _this === void 0 ? void 0 : _this.mode) === "react-router-5") {
125
123
  throw new Error("router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'");
126
124
  }
127
125
  if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
@@ -148,8 +146,8 @@ export var ssrPlugin = function() {
148
146
  modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(param) {
149
147
  var entrypoint = param.entrypoint, plugins = param.plugins, bundlerConfigs = param.bundlerConfigs;
150
148
  if (ssrConfigMap.get(entrypoint.entryName)) {
151
- var _bundlerConfigs_find_output, _bundlerConfigs_find, _bundlerConfigs, _config_server;
152
- var chunkLoadingGlobal = (_bundlerConfigs = bundlerConfigs) === null || _bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = _bundlerConfigs.find(function(config2) {
149
+ var _bundlerConfigs_find_output, _bundlerConfigs_find, _config_server;
150
+ var chunkLoadingGlobal = bundlerConfigs === null || bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = bundlerConfigs.find(function(config2) {
153
151
  return config2.name === "client";
154
152
  })) === null || _bundlerConfigs_find === void 0 ? void 0 : (_bundlerConfigs_find_output = _bundlerConfigs_find.output) === null || _bundlerConfigs_find_output === void 0 ? void 0 : _bundlerConfigs_find_output.chunkLoadingGlobal;
155
153
  var config = api.useResolvedConfigContext();
@@ -5,7 +5,7 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import { loadableReady } from "@loadable/component";
7
7
  import hoistNonReactStatics from "hoist-non-react-statics";
8
- import { parsedJSONFromElement } from "@modern-js/utils/runtime-browser";
8
+ import { parsedJSONFromElement } from "@modern-js/runtime-utils/browser";
9
9
  import { RenderLevel } from "./serverRender/types";
10
10
  import { WithCallback } from "./react/withCallback";
11
11
  import { formatClient, mockResponse, isReact18 } from "./utils";
@@ -54,8 +54,7 @@ export var ssr = function() {
54
54
  },
55
55
  pickContext: function(param, next) {
56
56
  var context = param.context, pickedContext = param.pickedContext;
57
- var _context;
58
- var _ref = (_context = context) === null || _context === void 0 ? void 0 : _context.ssrContext, request = _ref.request, response = _ref.response;
57
+ var _ref = context === null || context === void 0 ? void 0 : context.ssrContext, request = _ref.request, response = _ref.response;
59
58
  var initialData = context.initialData;
60
59
  return next({
61
60
  context: context,
@@ -2,7 +2,7 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { renderToStaticMarkup } from "react-dom/server";
5
- import { run } from "@modern-js/utils/runtime-node";
5
+ import { run } from "@modern-js/runtime-utils/node";
6
6
  import { ChunkExtractor } from "@loadable/server";
7
7
  var prefetch = function() {
8
8
  var _ref = _async_to_generator(function(App, context, config) {
@@ -10,7 +10,7 @@ var prefetch = function() {
10
10
  return [
11
11
  2,
12
12
  run(context.ssrContext.request.headers, /* @__PURE__ */ _async_to_generator(function() {
13
- var _context_store, _context, ssrContext, loadableStats, extractor, loadersData;
13
+ var _context_store, ssrContext, loadableStats, extractor, loadersData;
14
14
  return _ts_generator(this, function(_state2) {
15
15
  switch (_state2.label) {
16
16
  case 0:
@@ -63,7 +63,7 @@ var prefetch = function() {
63
63
  initialData: context.initialData,
64
64
  i18nData: context.__i18nData__,
65
65
  // todo: move to plugin state
66
- storeState: (_context = context) === null || _context === void 0 ? void 0 : (_context_store = _context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
66
+ storeState: context === null || context === void 0 ? void 0 : (_context_store = context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
67
67
  }
68
68
  ];
69
69
  }
@@ -46,9 +46,8 @@ export var aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, prop
46
46
  return usefulObject(props[propName]);
47
47
  }).reduce(function(result, next) {
48
48
  REQUEST_META.forEach(function(key) {
49
- var _prop;
50
49
  var prop = next[propName];
51
- if (((_prop = prop) === null || _prop === void 0 ? void 0 : _prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
50
+ if ((prop === null || prop === void 0 ? void 0 : prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
52
51
  result[key] = unique(result[key].concat(prop[key]));
53
52
  }
54
53
  });
@@ -73,9 +72,8 @@ export var aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsList
73
72
  return usefulObject(props[propName]);
74
73
  }).reduce(function(result, next) {
75
74
  REQUEST_META.forEach(function(key) {
76
- var _prop;
77
75
  var prop = next[propName];
78
- if (((_prop = prop) === null || _prop === void 0 ? void 0 : _prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
76
+ if ((prop === null || prop === void 0 ? void 0 : prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
79
77
  result[key] = Object.assign(result[key], prop[key]);
80
78
  }
81
79
  });
@@ -1,5 +1,5 @@
1
1
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { serializeJson } from "@modern-js/utils/runtime-node";
2
+ import { serializeJson } from "@modern-js/runtime-utils/node";
3
3
  import { attributesToString } from "../utils";
4
4
  import { buildTemplate } from "./buildTemplate.share";
5
5
  export function buildShellAfterTemplate(afterAppTemplate, options) {
@@ -1,7 +1,7 @@
1
1
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
2
2
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
3
  import ReactHelmet from "react-helmet";
4
- import { matchRoutes } from "@modern-js/utils/runtime/router";
4
+ import { matchRoutes } from "@modern-js/runtime-utils/router";
5
5
  import helmetReplace from "../helmet";
6
6
  import { CSS_CHUNKS_PLACEHOLDER } from "../utils";
7
7
  import { HEAD_REG_EXP, buildTemplate } from "./buildTemplate.share";
@@ -9,7 +9,6 @@ function getHeadTemplate(beforeEntryTemplate, context) {
9
9
  var injectCss = function injectCss2(headTemplate2) {
10
10
  return headTemplate2.replace(CSS_CHUNKS_PLACEHOLDER, getCssChunks());
11
11
  function getCssChunks() {
12
- var _matches;
13
12
  var routeManifest = context.routeManifest, routerContext = context.routerContext, routes = context.routes;
14
13
  if (!routeManifest || !routerContext || !routes) {
15
14
  return "";
@@ -17,7 +16,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
17
16
  var routeAssets = routeManifest.routeAssets;
18
17
  var cssChunks = [];
19
18
  var matches = matchRoutes(routes, routerContext.location, routerContext.basename);
20
- (_matches = matches) === null || _matches === void 0 ? void 0 : _matches.forEach(function(match, index) {
19
+ matches === null || matches === void 0 ? void 0 : matches.forEach(function(match, index) {
21
20
  if (!index) {
22
21
  return;
23
22
  }
@@ -28,8 +27,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
28
27
  var _cssChunks;
29
28
  var _routeManifest_referenceCssAssets = routeManifest2.referenceCssAssets, referenceCssAssets = _routeManifest_referenceCssAssets === void 0 ? [] : _routeManifest_referenceCssAssets;
30
29
  var _cssChunks1 = referenceCssAssets.filter(function(asset) {
31
- var _asset;
32
- return ((_asset = asset) === null || _asset === void 0 ? void 0 : _asset.endsWith(".css")) && !headTemplate2.includes(asset);
30
+ return (asset === null || asset === void 0 ? void 0 : asset.endsWith(".css")) && !headTemplate2.includes(asset);
33
31
  });
34
32
  (_cssChunks = cssChunks).push.apply(_cssChunks, _to_consumable_array(_cssChunks1));
35
33
  }
@@ -1,8 +1,8 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import { createElement } from "react";
4
- import { run } from "@modern-js/utils/runtime-node";
5
- import { time } from "@modern-js/utils/universal/time";
4
+ import { run } from "@modern-js/runtime-utils/node";
5
+ import { time } from "@modern-js/runtime-utils/time";
6
6
  import { PreRender } from "../../react/prerender";
7
7
  import { SSRErrors, SSRTimings } from "../tracker";
8
8
  import renderToPipe from "./renderToPipe";
@@ -16,18 +16,17 @@ function renderToPipe(rootElement, context, options) {
16
16
  var chunkVec = [];
17
17
  var forUserPipe = function(stream) {
18
18
  return new Promise(function(resolve) {
19
- var _ssrContext;
20
19
  var renderToPipeableStream;
21
20
  try {
22
21
  renderToPipeableStream = require("react-dom/server").renderToPipeableStream;
23
22
  } catch (e) {
24
23
  }
25
24
  var pipe = renderToPipeableStream(rootElement, _object_spread_props(_object_spread({}, options), {
26
- nonce: (_ssrContext = ssrContext) === null || _ssrContext === void 0 ? void 0 : _ssrContext.nonce,
25
+ nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
27
26
  onShellReady: function onShellReady() {
28
- var _options_onShellReady, _options;
27
+ var _options_onShellReady;
29
28
  var _getTemplates = getTemplates(context, RenderLevel.SERVER_RENDER), shellAfter = _getTemplates.shellAfter, shellBefore = _getTemplates.shellBefore;
30
- (_options = options) === null || _options === void 0 ? void 0 : (_options_onShellReady = _options.onShellReady) === null || _options_onShellReady === void 0 ? void 0 : _options_onShellReady.call(_options);
29
+ options === null || options === void 0 ? void 0 : (_options_onShellReady = options.onShellReady) === null || _options_onShellReady === void 0 ? void 0 : _options_onShellReady.call(options);
31
30
  var injectableTransform = new Transform({
32
31
  transform: function transform(chunk, _encoding, callback) {
33
32
  try {
@@ -55,11 +54,11 @@ function renderToPipe(rootElement, context, options) {
55
54
  resolve(pipe(injectableTransform).pipe(stream));
56
55
  },
57
56
  onShellError: function onShellError(error) {
58
- var _options_onShellError, _options;
57
+ var _options_onShellError;
59
58
  var _getTemplates = getTemplates(context, RenderLevel.CLIENT_RENDER), shellAfter = _getTemplates.shellAfter, shellBefore = _getTemplates.shellBefore;
60
59
  var fallbackHtml = "".concat(shellBefore).concat(shellAfter);
61
60
  resolve(fallbackHtml);
62
- (_options = options) === null || _options === void 0 ? void 0 : (_options_onShellError = _options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(_options, error);
61
+ options === null || options === void 0 ? void 0 : (_options_onShellError = options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(options, error);
63
62
  }
64
63
  })).pipe;
65
64
  });
@@ -17,7 +17,7 @@ function renderToPipe(rootElement, context, options) {
17
17
  var ssrContext = context.ssrContext;
18
18
  var forUserPipe = function() {
19
19
  var _ref = _async_to_generator(function() {
20
- var renderToReadableStream, _getTemplates, shellAfter, shellBefore, _ssrContext, readableOriginal, reader, injectableStream, err, _ssrContext1, _getTemplates1, shellAfter1, shellBefore1, fallbackHtml;
20
+ var renderToReadableStream, _getTemplates, shellAfter, shellBefore, readableOriginal, reader, injectableStream, err, _getTemplates1, shellAfter1, shellBefore1, fallbackHtml;
21
21
  return _ts_generator(this, function(_state) {
22
22
  switch (_state.label) {
23
23
  case 0:
@@ -37,10 +37,10 @@ function renderToPipe(rootElement, context, options) {
37
37
  return [
38
38
  4,
39
39
  renderToReadableStream(rootElement, _object_spread_props(_object_spread({}, options), {
40
- nonce: (_ssrContext = ssrContext) === null || _ssrContext === void 0 ? void 0 : _ssrContext.nonce,
40
+ nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
41
41
  onError: function onError(error) {
42
- var _options_onError, _options;
43
- (_options = options) === null || _options === void 0 ? void 0 : (_options_onError = _options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(_options, error);
42
+ var _options_onError;
43
+ options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, error);
44
44
  }
45
45
  }))
46
46
  ];
@@ -100,7 +100,7 @@ function renderToPipe(rootElement, context, options) {
100
100
  ];
101
101
  case 3:
102
102
  err = _state.sent();
103
- (_ssrContext1 = ssrContext) === null || _ssrContext1 === void 0 ? void 0 : _ssrContext1.tracker.trackError(SSRErrors.RENDER_SHELL, err);
103
+ ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.tracker.trackError(SSRErrors.RENDER_SHELL, err);
104
104
  _getTemplates1 = getTemplates(context, RenderLevel.CLIENT_RENDER), shellAfter1 = _getTemplates1.shellAfter, shellBefore1 = _getTemplates1.shellBefore;
105
105
  fallbackHtml = "".concat(shellBefore1).concat(shellAfter1);
106
106
  return [
@@ -6,9 +6,9 @@ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
6
6
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
7
7
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
8
8
  import React from "react";
9
- import { serializeJson } from "@modern-js/utils/runtime-node";
9
+ import { serializeJson } from "@modern-js/runtime-utils/node";
10
10
  import ReactHelmet from "react-helmet";
11
- import { time } from "@modern-js/utils/universal/time";
11
+ import { time } from "@modern-js/runtime-utils/time";
12
12
  import { serializeErrors } from "../../../router/runtime/utils";
13
13
  import helmetReplace from "../helmet";
14
14
  import { RenderLevel } from "../types";
@@ -1,7 +1,7 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- import { run } from "@modern-js/utils/runtime-node";
4
- import { time } from "@modern-js/utils/universal/time";
3
+ import { run } from "@modern-js/runtime-utils/node";
4
+ import { time } from "@modern-js/runtime-utils/time";
5
5
  import { PreRender } from "../../react/prerender";
6
6
  import { SSRTimings } from "../tracker";
7
7
  import SSREntry from "./entry";
@@ -4,11 +4,10 @@ import { _ as _define_property } from "@swc/helpers/_/_define_property";
4
4
  import { ChunkExtractor } from "@loadable/server";
5
5
  import { attributesToString, getLoadableScripts } from "../utils";
6
6
  var extname = function(uri) {
7
- var _uri;
8
7
  if (typeof uri !== "string" || !uri.includes(".")) {
9
8
  return "";
10
9
  }
11
- return ".".concat((_uri = uri) === null || _uri === void 0 ? void 0 : _uri.split(".").pop()) || "";
10
+ return ".".concat(uri === null || uri === void 0 ? void 0 : uri.split(".").pop()) || "";
12
11
  };
13
12
  var LoadableCollector = /* @__PURE__ */ function() {
14
13
  "use strict";
@@ -45,35 +44,38 @@ var LoadableCollector = /* @__PURE__ */ function() {
45
44
  var extractor = this.extractor;
46
45
  var chunks = extractor.getChunkAssets(extractor.chunks);
47
46
  chunksMap.js = (chunksMap.js || "") + getLoadableScripts(extractor);
47
+ var attributes = this.generateAttributes();
48
48
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
49
49
  try {
50
50
  for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
51
51
  var v = _step.value;
52
- var fileType = extname(v.url).slice(1);
53
- var attributes = {};
54
- var crossorigin = config.crossorigin, _config_scriptLoading = config.scriptLoading, scriptLoading = _config_scriptLoading === void 0 ? "defer" : _config_scriptLoading;
55
- if (crossorigin) {
56
- attributes.crossorigin = crossorigin === true ? "anonymous" : crossorigin;
57
- }
58
- switch (scriptLoading) {
59
- case "defer":
60
- attributes.defer = true;
61
- break;
62
- case "module":
63
- attributes.type = "module";
64
- break;
65
- default:
52
+ if (!v.url) {
53
+ continue;
66
54
  }
55
+ var fileType = extname(v.url).slice(1);
67
56
  if (fileType === "js") {
68
57
  var jsChunkReg = new RegExp('<script .*src="'.concat(v.url, '".*>'));
69
58
  if (!jsChunkReg.test(template)) {
59
+ var _config_scriptLoading = config.scriptLoading, scriptLoading = _config_scriptLoading === void 0 ? "defer" : _config_scriptLoading;
60
+ switch (scriptLoading) {
61
+ case "defer":
62
+ attributes.defer = true;
63
+ break;
64
+ case "module":
65
+ attributes.type = "module";
66
+ break;
67
+ default:
68
+ }
70
69
  attributes.nonce = nonce;
71
70
  var attrsStr = attributesToString(attributes);
72
71
  chunksMap[fileType] += "<script".concat(attrsStr, ' src="').concat(v.url, '"></script>');
73
72
  }
74
73
  } else if (fileType === "css") {
75
- var attrsStr1 = attributesToString(attributes);
76
- chunksMap[fileType] += "<link".concat(attrsStr1, ' href="').concat(v.url, '" rel="stylesheet" />');
74
+ var cssChunkReg = new RegExp('<link .*href="'.concat(v.url, '".*>'));
75
+ if (!cssChunkReg.test(template)) {
76
+ var attrsStr1 = attributesToString(attributes);
77
+ chunksMap[fileType] += "<link".concat(attrsStr1, ' href="').concat(v.url, '" rel="stylesheet" />');
78
+ }
77
79
  }
78
80
  }
79
81
  } catch (err) {
@@ -91,6 +93,18 @@ var LoadableCollector = /* @__PURE__ */ function() {
91
93
  }
92
94
  }
93
95
  }
96
+ },
97
+ {
98
+ key: "generateAttributes",
99
+ value: function generateAttributes() {
100
+ var config = this.options.config;
101
+ var crossorigin = config.crossorigin;
102
+ var attributes = {};
103
+ if (crossorigin) {
104
+ attributes.crossorigin = crossorigin === true ? "anonymous" : crossorigin;
105
+ }
106
+ return attributes;
107
+ }
94
108
  }
95
109
  ]);
96
110
  return LoadableCollector2;
@@ -48,16 +48,15 @@ export const createApp = ({ plugins, props: globalProps }) => {
48
48
  }, {
49
49
  onLast: ({ App: App2 }) => {
50
50
  const WrapComponent = ({ context, ...props }) => {
51
- var _contextValue;
52
51
  let contextValue = context;
53
- if (!((_contextValue = contextValue) === null || _contextValue === void 0 ? void 0 : _contextValue.runner)) {
52
+ if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
54
53
  contextValue = getInitialContext(runner);
55
54
  runner.init({
56
55
  context: contextValue
57
56
  }, {
58
57
  onLast: ({ context: context1 }) => {
59
- var _App_init, _App;
60
- return (_App = App2) === null || _App === void 0 ? void 0 : (_App_init = _App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(_App, context1);
58
+ var _App_init;
59
+ return App2 === null || App2 === void 0 ? void 0 : (_App_init = App2.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App2, context1);
61
60
  }
62
61
  });
63
62
  }
@@ -93,8 +92,8 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
93
92
  context: _context
94
93
  }, {
95
94
  onLast: ({ context: context1 }) => {
96
- var _App_init, _App;
97
- return (_App = App) === null || _App === void 0 ? void 0 : (_App_init = _App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(_App, context1);
95
+ var _App_init;
96
+ return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
98
97
  }
99
98
  });
100
99
  if (!id) {
@@ -105,9 +104,9 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
105
104
  const isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
106
105
  if (isBrowser) {
107
106
  if (isClientArgs(id)) {
108
- var _ssrData_data, _ssrData, _ssrData1, _ssrData_data1, _ssrData2;
107
+ var _ssrData_data, _ssrData_data1;
109
108
  const ssrData = window._SSR_DATA;
110
- const loadersData = ((_ssrData = ssrData) === null || _ssrData === void 0 ? void 0 : (_ssrData_data = _ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
109
+ const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
111
110
  const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
112
111
  const loaderData = loadersData[key];
113
112
  if (loaderData.loading !== false) {
@@ -121,10 +120,10 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
121
120
  skipStatic: true
122
121
  }),
123
122
  ...ssrData ? {
124
- ssrContext: (_ssrData1 = ssrData) === null || _ssrData1 === void 0 ? void 0 : _ssrData1.context
123
+ ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
125
124
  } : {}
126
125
  });
127
- context.initialData = (_ssrData2 = ssrData) === null || _ssrData2 === void 0 ? void 0 : (_ssrData_data1 = _ssrData2.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
126
+ context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
128
127
  const initialData = await runInit(context);
129
128
  if (initialData) {
130
129
  context.initialData = initialData;
@@ -14,7 +14,7 @@ const useLoader = (loaderFn, options = {
14
14
  delete options._cache;
15
15
  }
16
16
  const load = useCallback((params) => {
17
- var _unlistenLoaderChangeRef_current, _unlistenLoaderChangeRef, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
17
+ var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
18
18
  if (typeof params === "undefined") {
19
19
  var _loaderRef_current1;
20
20
  return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
@@ -34,7 +34,7 @@ const useLoader = (loaderFn, options = {
34
34
  params
35
35
  });
36
36
  loaderRef.current = loaderManager.get(id);
37
- (_unlistenLoaderChangeRef_current = (_unlistenLoaderChangeRef = unlistenLoaderChangeRef).current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(_unlistenLoaderChangeRef);
37
+ (_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
38
38
  if (isSSRRender) {
39
39
  return void 0;
40
40
  }
@@ -48,12 +48,12 @@ const useLoader = (loaderFn, options = {
48
48
  unlistenLoaderChangeRef.current = (_loaderRef_current = loaderRef.current) === null || _loaderRef_current === void 0 ? void 0 : _loaderRef_current.onChange((_status, _result) => {
49
49
  setResult(_result);
50
50
  if (_status === LoaderStatus.fulfilled) {
51
- var _options_onSuccess, _options;
52
- (_options = options) === null || _options === void 0 ? void 0 : (_options_onSuccess = _options.onSuccess) === null || _options_onSuccess === void 0 ? void 0 : _options_onSuccess.call(_options, _result.data);
51
+ var _options_onSuccess;
52
+ options === null || options === void 0 ? void 0 : (_options_onSuccess = options.onSuccess) === null || _options_onSuccess === void 0 ? void 0 : _options_onSuccess.call(options, _result.data);
53
53
  }
54
54
  if (_status === LoaderStatus.rejected) {
55
- var _options_onError, _options1;
56
- (_options1 = options) === null || _options1 === void 0 ? void 0 : (_options_onError = _options1.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(_options1, _result.error);
55
+ var _options_onError;
56
+ options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, _result.error);
57
57
  }
58
58
  });
59
59
  return res;
@@ -61,8 +61,8 @@ const useLoader = (loaderFn, options = {
61
61
  options.skip
62
62
  ]);
63
63
  useEffect(() => () => {
64
- var _unlistenLoaderChangeRef_current, _unlistenLoaderChangeRef;
65
- (_unlistenLoaderChangeRef_current = (_unlistenLoaderChangeRef = unlistenLoaderChangeRef).current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(_unlistenLoaderChangeRef);
64
+ var _unlistenLoaderChangeRef_current;
65
+ (_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
66
66
  }, []);
67
67
  useMemo(() => {
68
68
  var _options_params;
@@ -18,13 +18,12 @@ export const createRuntime = () => createManager(runtimeHooks);
18
18
  const registerInit = (App, _init) => {
19
19
  const originalInit = App.init;
20
20
  App.init = async (context) => {
21
- var _originalInit, _init1;
22
21
  if (!context.loaderManager) {
23
22
  context.loaderManager = createLoaderManager({});
24
23
  }
25
24
  await Promise.all([
26
- (_originalInit = originalInit) === null || _originalInit === void 0 ? void 0 : _originalInit(context),
27
- (_init1 = _init) === null || _init1 === void 0 ? void 0 : _init1(context)
25
+ originalInit === null || originalInit === void 0 ? void 0 : originalInit(context),
26
+ _init === null || _init === void 0 ? void 0 : _init(context)
28
27
  ]);
29
28
  };
30
29
  };
@@ -6,8 +6,7 @@ function findTargetChild(tag, children) {
6
6
  return children.find((item) => getEleType(item) === tag);
7
7
  }
8
8
  function getEleType(ele) {
9
- var _ele, _ele1;
10
- return typeof ((_ele = ele) === null || _ele === void 0 ? void 0 : _ele.type) === "function" ? ele.type.name : (_ele1 = ele) === null || _ele1 === void 0 ? void 0 : _ele1.type;
9
+ return typeof (ele === null || ele === void 0 ? void 0 : ele.type) === "function" ? ele.type.name : ele === null || ele === void 0 ? void 0 : ele.type;
11
10
  }
12
11
  function findTargetElement(tag, children) {
13
12
  if (children.length === 0) {
@@ -15,11 +14,11 @@ function findTargetElement(tag, children) {
15
14
  }
16
15
  let nextChildren = [];
17
16
  for (const item of children) {
18
- var _item_props, _item;
17
+ var _item_props;
19
18
  if (tag === getEleType(item)) {
20
19
  return item;
21
20
  }
22
- if ((_item = item) === null || _item === void 0 ? void 0 : (_item_props = _item.props) === null || _item_props === void 0 ? void 0 : _item_props.children) {
21
+ if (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.children) {
23
22
  nextChildren = nextChildren.concat(item.props.children);
24
23
  }
25
24
  }