@modern-js/server-core 2.68.6 → 2.68.8

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.
@@ -62,9 +62,17 @@ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig }) => ({
62
62
  }
63
63
  });
64
64
  async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate, onFallback }) {
65
- var _config_server, _config_security;
65
+ var _config_server, _config_server1, _config_security;
66
66
  const ssrConfig = (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr;
67
+ const ssrByEntries = (_config_server1 = config.server) === null || _config_server1 === void 0 ? void 0 : _config_server1.ssrByEntries;
67
68
  const forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
69
+ const forceCSRMap = /* @__PURE__ */ new Map();
70
+ if (ssrByEntries) {
71
+ Object.entries(ssrByEntries).forEach(([entryName, ssrConfig2]) => {
72
+ var _ssrConfig_forceCSR;
73
+ forceCSRMap.set(entryName, typeof ssrConfig2 === "object" ? (_ssrConfig_forceCSR = ssrConfig2.forceCSR) !== null && _ssrConfig_forceCSR !== void 0 ? _ssrConfig_forceCSR : false : false);
74
+ });
75
+ }
68
76
  const render = (0, import_render.createRender)({
69
77
  routes,
70
78
  pwd,
@@ -72,6 +80,7 @@ async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, st
72
80
  staticGenerate,
73
81
  cacheConfig,
74
82
  forceCSR,
83
+ forceCSRMap,
75
84
  nonce: (_config_security = config.security) === null || _config_security === void 0 ? void 0 : _config_security.nonce,
76
85
  metaName: metaName || "modern-js",
77
86
  onFallback
@@ -83,7 +83,7 @@ function getHeadersWithoutCookie(headers) {
83
83
  delete _headers.cookie;
84
84
  return _headers;
85
85
  }
86
- async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, config, onFallback }) {
86
+ async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, onFallback }) {
87
87
  const router = getRouter(routes);
88
88
  return async (req, { logger, reporter, metrics, monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext }) => {
89
89
  const forMatchpathname = matchPathname !== null && matchPathname !== void 0 ? matchPathname : (0, import_utils2.getPathname)(req);
@@ -116,7 +116,9 @@ async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig
116
116
  }
117
117
  });
118
118
  }
119
- const renderMode = await getRenderMode(req, fallbackHeader, routeInfo.isSSR, forceCSR, nodeReq, fallbackWrapper);
119
+ var _forceCSRMap_get;
120
+ const finalForceCSR = routeInfo.entryName ? (_forceCSRMap_get = forceCSRMap === null || forceCSRMap === void 0 ? void 0 : forceCSRMap.get(routeInfo.entryName)) !== null && _forceCSRMap_get !== void 0 ? _forceCSRMap_get : forceCSR : forceCSR;
121
+ const renderMode = await getRenderMode(req, fallbackHeader, routeInfo.isSSR, finalForceCSR, nodeReq, fallbackWrapper);
120
122
  const headerData = (0, import_utils2.parseHeaders)(req);
121
123
  const onError = (e, key) => {
122
124
  monitors === null || monitors === void 0 ? void 0 : monitors.error(`SSR Error - ${key || (e instanceof Error ? e.name : e)}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, forMatchpathname, getHeadersWithoutCookie(headerData));
@@ -1,6 +1,7 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
5
  import { _ as _type_of } from "@swc/helpers/_/_type_of";
5
6
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
7
  import { createRender } from "./render";
@@ -85,11 +86,20 @@ function getRenderHandler(_) {
85
86
  }
86
87
  function _getRenderHandler() {
87
88
  _getRenderHandler = _async_to_generator(function(param) {
88
- var pwd, routes, config, cacheConfig, metaName, staticGenerate, onFallback, _config_server, _config_security, ssrConfig, forceCSR, render;
89
+ var pwd, routes, config, cacheConfig, metaName, staticGenerate, onFallback, _config_server, _config_server1, _config_security, ssrConfig, ssrByEntries, forceCSR, forceCSRMap, render;
89
90
  return _ts_generator(this, function(_state) {
90
91
  pwd = param.pwd, routes = param.routes, config = param.config, cacheConfig = param.cacheConfig, metaName = param.metaName, staticGenerate = param.staticGenerate, onFallback = param.onFallback;
91
92
  ssrConfig = (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr;
93
+ ssrByEntries = (_config_server1 = config.server) === null || _config_server1 === void 0 ? void 0 : _config_server1.ssrByEntries;
92
94
  forceCSR = (typeof ssrConfig === "undefined" ? "undefined" : _type_of(ssrConfig)) === "object" ? ssrConfig.forceCSR : false;
95
+ forceCSRMap = /* @__PURE__ */ new Map();
96
+ if (ssrByEntries) {
97
+ Object.entries(ssrByEntries).forEach(function(param2) {
98
+ var _param = _sliced_to_array(param2, 2), entryName = _param[0], ssrConfig2 = _param[1];
99
+ var _ssrConfig_forceCSR;
100
+ forceCSRMap.set(entryName, (typeof ssrConfig2 === "undefined" ? "undefined" : _type_of(ssrConfig2)) === "object" ? (_ssrConfig_forceCSR = ssrConfig2.forceCSR) !== null && _ssrConfig_forceCSR !== void 0 ? _ssrConfig_forceCSR : false : false);
101
+ });
102
+ }
93
103
  render = createRender({
94
104
  routes,
95
105
  pwd,
@@ -97,6 +107,7 @@ function _getRenderHandler() {
97
107
  staticGenerate,
98
108
  cacheConfig,
99
109
  forceCSR,
110
+ forceCSRMap,
100
111
  nonce: (_config_security = config.security) === null || _config_security === void 0 ? void 0 : _config_security.nonce,
101
112
  metaName: metaName || "modern-js",
102
113
  onFallback
@@ -79,15 +79,15 @@ function createRender(_) {
79
79
  }
80
80
  function _createRender() {
81
81
  _createRender = _async_to_generator(function(param) {
82
- var routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, config, onFallback, router;
82
+ var routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, onFallback, router;
83
83
  return _ts_generator(this, function(_state) {
84
- routes = param.routes, pwd = param.pwd, metaName = param.metaName, staticGenerate = param.staticGenerate, cacheConfig = param.cacheConfig, forceCSR = param.forceCSR, config = param.config, onFallback = param.onFallback;
84
+ routes = param.routes, pwd = param.pwd, metaName = param.metaName, staticGenerate = param.staticGenerate, cacheConfig = param.cacheConfig, forceCSR = param.forceCSR, forceCSRMap = param.forceCSRMap, config = param.config, onFallback = param.onFallback;
85
85
  router = getRouter(routes);
86
86
  return [
87
87
  2,
88
88
  function() {
89
89
  var _ref = _async_to_generator(function(req, param2) {
90
- var logger, reporter, metrics, monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, forMatchpathname, _matchRoute, routeInfo, params, framework, fallbackHeader, fallbackReason, fallbackWrapper, html, renderMode, headerData, onError, onTiming, renderOptions, response, _tmp;
90
+ var logger, reporter, metrics, monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, forMatchpathname, _matchRoute, routeInfo, params, framework, fallbackHeader, fallbackReason, fallbackWrapper, html, _forceCSRMap_get, finalForceCSR, renderMode, headerData, onError, onTiming, renderOptions, response, _tmp;
91
91
  return _ts_generator(this, function(_state2) {
92
92
  switch (_state2.label) {
93
93
  case 0:
@@ -138,9 +138,10 @@ function _createRender() {
138
138
  })
139
139
  ];
140
140
  }
141
+ finalForceCSR = routeInfo.entryName ? (_forceCSRMap_get = forceCSRMap === null || forceCSRMap === void 0 ? void 0 : forceCSRMap.get(routeInfo.entryName)) !== null && _forceCSRMap_get !== void 0 ? _forceCSRMap_get : forceCSR : forceCSR;
141
142
  return [
142
143
  4,
143
- getRenderMode(req, fallbackHeader, routeInfo.isSSR, forceCSR, nodeReq, fallbackWrapper)
144
+ getRenderMode(req, fallbackHeader, routeInfo.isSSR, finalForceCSR, nodeReq, fallbackWrapper)
144
145
  ];
145
146
  case 1:
146
147
  renderMode = _state2.sent();
@@ -38,9 +38,17 @@ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig }) => ({
38
38
  }
39
39
  });
40
40
  async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate, onFallback }) {
41
- var _config_server, _config_security;
41
+ var _config_server, _config_server1, _config_security;
42
42
  const ssrConfig = (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr;
43
+ const ssrByEntries = (_config_server1 = config.server) === null || _config_server1 === void 0 ? void 0 : _config_server1.ssrByEntries;
43
44
  const forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
45
+ const forceCSRMap = /* @__PURE__ */ new Map();
46
+ if (ssrByEntries) {
47
+ Object.entries(ssrByEntries).forEach(([entryName, ssrConfig2]) => {
48
+ var _ssrConfig_forceCSR;
49
+ forceCSRMap.set(entryName, typeof ssrConfig2 === "object" ? (_ssrConfig_forceCSR = ssrConfig2.forceCSR) !== null && _ssrConfig_forceCSR !== void 0 ? _ssrConfig_forceCSR : false : false);
50
+ });
51
+ }
44
52
  const render = createRender({
45
53
  routes,
46
54
  pwd,
@@ -48,6 +56,7 @@ async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, st
48
56
  staticGenerate,
49
57
  cacheConfig,
50
58
  forceCSR,
59
+ forceCSRMap,
51
60
  nonce: (_config_security = config.security) === null || _config_security === void 0 ? void 0 : _config_security.nonce,
52
61
  metaName: metaName || "modern-js",
53
62
  onFallback
@@ -50,7 +50,7 @@ function getHeadersWithoutCookie(headers) {
50
50
  delete _headers.cookie;
51
51
  return _headers;
52
52
  }
53
- async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, config, onFallback }) {
53
+ async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, onFallback }) {
54
54
  const router = getRouter(routes);
55
55
  return async (req, { logger, reporter, metrics, monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext }) => {
56
56
  const forMatchpathname = matchPathname !== null && matchPathname !== void 0 ? matchPathname : getPathname(req);
@@ -83,7 +83,9 @@ async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig
83
83
  }
84
84
  });
85
85
  }
86
- const renderMode = await getRenderMode(req, fallbackHeader, routeInfo.isSSR, forceCSR, nodeReq, fallbackWrapper);
86
+ var _forceCSRMap_get;
87
+ const finalForceCSR = routeInfo.entryName ? (_forceCSRMap_get = forceCSRMap === null || forceCSRMap === void 0 ? void 0 : forceCSRMap.get(routeInfo.entryName)) !== null && _forceCSRMap_get !== void 0 ? _forceCSRMap_get : forceCSR : forceCSR;
88
+ const renderMode = await getRenderMode(req, fallbackHeader, routeInfo.isSSR, finalForceCSR, nodeReq, fallbackWrapper);
87
89
  const headerData = parseHeaders(req);
88
90
  const onError = (e, key) => {
89
91
  monitors === null || monitors === void 0 ? void 0 : monitors.error(`SSR Error - ${key || (e instanceof Error ? e.name : e)}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, forMatchpathname, getHeadersWithoutCookie(headerData));
@@ -10,7 +10,8 @@ interface CreateRenderOptions {
10
10
  onFallback?: OnFallback;
11
11
  metaName?: string;
12
12
  forceCSR?: boolean;
13
+ forceCSRMap?: Map<string, boolean>;
13
14
  nonce?: string;
14
15
  }
15
- export declare function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, config, onFallback, }: CreateRenderOptions): Promise<Render>;
16
+ export declare function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, onFallback, }: CreateRenderOptions): Promise<Render>;
16
17
  export {};
@@ -12,7 +12,6 @@ export type SSR = boolean | {
12
12
  inlineScript?: boolean;
13
13
  disablePrerender?: boolean;
14
14
  unsafeHeaders?: string[];
15
- scriptLoading?: 'defer' | 'blocking' | 'module' | 'async';
16
15
  loaderFailureMode?: 'clientRender' | 'errorBoundary';
17
16
  };
18
17
  export type SSRByEntries = Record<string, SSR>;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.68.6",
18
+ "version": "2.68.8",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -54,10 +54,10 @@
54
54
  "flatted": "^3.3.3",
55
55
  "hono": "^3.12.2",
56
56
  "ts-deepmerge": "7.0.2",
57
- "@modern-js/plugin": "2.68.6",
58
- "@modern-js/plugin-v2": "2.68.6",
59
- "@modern-js/utils": "2.68.6",
60
- "@modern-js/runtime-utils": "2.68.6"
57
+ "@modern-js/plugin": "2.68.8",
58
+ "@modern-js/plugin-v2": "2.68.8",
59
+ "@modern-js/runtime-utils": "2.68.8",
60
+ "@modern-js/utils": "2.68.8"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/cloneable-readable": "^2.0.3",
@@ -68,7 +68,7 @@
68
68
  "jest": "^29",
69
69
  "ts-jest": "^29.1.0",
70
70
  "typescript": "^5",
71
- "@modern-js/types": "2.68.6",
71
+ "@modern-js/types": "2.68.8",
72
72
  "@scripts/build": "2.66.0",
73
73
  "@scripts/jest-config": "2.66.0"
74
74
  },