@bleedingdev/modern-js-server-core 3.4.0-ultramodern.1 → 3.4.0-ultramodern.11

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,22 +31,27 @@ __webpack_require__.d(__webpack_exports__, {
31
31
  dataHandler: ()=>dataHandler
32
32
  });
33
33
  const constants_namespaceObject = require("@modern-js/utils/universal/constants");
34
- const dataHandler = async (request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext })=>{
34
+ const external_context_js_namespaceObject = require("../../context.js");
35
+ const dataHandler = async (request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext, serverContext, reporter })=>{
35
36
  const serverLoaderModule = serverManifest?.loaderBundles?.[routeInfo.entryName || constants_namespaceObject.MAIN_ENTRY_NAME];
36
37
  if (!serverLoaderModule) return;
37
38
  const { routes, handleRequest } = serverLoaderModule;
38
- const response = await handleRequest({
39
- request,
40
- serverRoutes,
41
- context: {
42
- monitors,
43
- loaderContext
44
- },
45
- onTiming,
46
- onError,
47
- routes
48
- });
39
+ const response = await (serverContext ? (0, external_context_js_namespaceObject.run)(serverContext, execute) : execute());
49
40
  return response;
41
+ function execute() {
42
+ return handleRequest({
43
+ request,
44
+ serverRoutes,
45
+ context: {
46
+ monitors,
47
+ loaderContext,
48
+ reporter
49
+ },
50
+ onTiming,
51
+ onError,
52
+ routes
53
+ });
54
+ }
50
55
  };
51
56
  exports.dataHandler = __webpack_exports__.dataHandler;
52
57
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -135,6 +135,7 @@ var __webpack_exports__ = {};
135
135
  rscClientManifest,
136
136
  rscSSRManifest,
137
137
  loaderContext,
138
+ serverContext: c,
138
139
  locals,
139
140
  matchPathname,
140
141
  matchEntryName,
@@ -109,7 +109,7 @@ var __webpack_exports__ = {};
109
109
  }
110
110
  async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, onFallback }) {
111
111
  const router = getRouter(routes);
112
- return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, contextForceCSR, reporter })=>{
112
+ return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, serverContext, contextForceCSR, reporter })=>{
113
113
  const forMatchpathname = matchPathname ?? (0, index_js_namespaceObject.getPathname)(req);
114
114
  const [routeInfo, params] = matchRoute(router, forMatchpathname, matchEntryName);
115
115
  const framework = (0, universal_namespaceObject.cutNameByHyphen)(metaName || 'modern-js');
@@ -162,6 +162,7 @@ var __webpack_exports__ = {};
162
162
  rscServerManifest,
163
163
  serverManifest,
164
164
  loaderContext: loaderContext || new Map(),
165
+ serverContext,
165
166
  onError,
166
167
  onTiming,
167
168
  reporter
@@ -1,19 +1,24 @@
1
1
  import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
2
- const dataHandler = async (request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext })=>{
2
+ import { run } from "../../context.mjs";
3
+ const dataHandler = async (request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext, serverContext, reporter })=>{
3
4
  const serverLoaderModule = serverManifest?.loaderBundles?.[routeInfo.entryName || MAIN_ENTRY_NAME];
4
5
  if (!serverLoaderModule) return;
5
6
  const { routes, handleRequest } = serverLoaderModule;
6
- const response = await handleRequest({
7
- request,
8
- serverRoutes,
9
- context: {
10
- monitors,
11
- loaderContext
12
- },
13
- onTiming,
14
- onError,
15
- routes
16
- });
7
+ const response = await (serverContext ? run(serverContext, execute) : execute());
17
8
  return response;
9
+ function execute() {
10
+ return handleRequest({
11
+ request,
12
+ serverRoutes,
13
+ context: {
14
+ monitors,
15
+ loaderContext,
16
+ reporter
17
+ },
18
+ onTiming,
19
+ onError,
20
+ routes
21
+ });
22
+ }
18
23
  };
19
24
  export { dataHandler };
@@ -67,6 +67,7 @@ function createRenderHandler(render) {
67
67
  rscClientManifest,
68
68
  rscSSRManifest,
69
69
  loaderContext,
70
+ serverContext: c,
70
71
  locals,
71
72
  matchPathname,
72
73
  matchEntryName,
@@ -69,7 +69,7 @@ function getHeadersWithoutCookie(headers) {
69
69
  }
70
70
  async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, onFallback }) {
71
71
  const router = getRouter(routes);
72
- return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, contextForceCSR, reporter })=>{
72
+ return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, serverContext, contextForceCSR, reporter })=>{
73
73
  const forMatchpathname = matchPathname ?? getPathname(req);
74
74
  const [routeInfo, params] = matchRoute(router, forMatchpathname, matchEntryName);
75
75
  const framework = cutNameByHyphen(metaName || 'modern-js');
@@ -122,6 +122,7 @@ async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig
122
122
  rscServerManifest,
123
123
  serverManifest,
124
124
  loaderContext: loaderContext || new Map(),
125
+ serverContext,
125
126
  onError,
126
127
  onTiming,
127
128
  reporter
@@ -1,20 +1,25 @@
1
1
  import "node:module";
2
2
  import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
3
- const dataHandler = async (request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext })=>{
3
+ import { run } from "../../context.mjs";
4
+ const dataHandler = async (request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext, serverContext, reporter })=>{
4
5
  const serverLoaderModule = serverManifest?.loaderBundles?.[routeInfo.entryName || MAIN_ENTRY_NAME];
5
6
  if (!serverLoaderModule) return;
6
7
  const { routes, handleRequest } = serverLoaderModule;
7
- const response = await handleRequest({
8
- request,
9
- serverRoutes,
10
- context: {
11
- monitors,
12
- loaderContext
13
- },
14
- onTiming,
15
- onError,
16
- routes
17
- });
8
+ const response = await (serverContext ? run(serverContext, execute) : execute());
18
9
  return response;
10
+ function execute() {
11
+ return handleRequest({
12
+ request,
13
+ serverRoutes,
14
+ context: {
15
+ monitors,
16
+ loaderContext,
17
+ reporter
18
+ },
19
+ onTiming,
20
+ onError,
21
+ routes
22
+ });
23
+ }
19
24
  };
20
25
  export { dataHandler };
@@ -68,6 +68,7 @@ function createRenderHandler(render) {
68
68
  rscClientManifest,
69
69
  rscSSRManifest,
70
70
  loaderContext,
71
+ serverContext: c,
71
72
  locals,
72
73
  matchPathname,
73
74
  matchEntryName,
@@ -70,7 +70,7 @@ function getHeadersWithoutCookie(headers) {
70
70
  }
71
71
  async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, onFallback }) {
72
72
  const router = getRouter(routes);
73
- return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, contextForceCSR, reporter })=>{
73
+ return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, serverContext, contextForceCSR, reporter })=>{
74
74
  const forMatchpathname = matchPathname ?? getPathname(req);
75
75
  const [routeInfo, params] = matchRoute(router, forMatchpathname, matchEntryName);
76
76
  const framework = cutNameByHyphen(metaName || 'modern-js');
@@ -123,6 +123,7 @@ async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig
123
123
  rscServerManifest,
124
124
  serverManifest,
125
125
  loaderContext: loaderContext || new Map(),
126
+ serverContext,
126
127
  onError,
127
128
  onTiming,
128
129
  reporter
@@ -1,5 +1,5 @@
1
1
  import type { ServerRoute } from '@modern-js/types';
2
2
  import type { SSRRenderOptions } from './ssrRender';
3
- export declare const dataHandler: (request: Request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext, }: SSRRenderOptions & {
3
+ export declare const dataHandler: (request: Request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext, serverContext, reporter, }: SSRRenderOptions & {
4
4
  serverRoutes: ServerRoute[];
5
5
  }) => Promise<Response | void>;
@@ -1,6 +1,6 @@
1
1
  import type { Reporter, ServerRoute } from '@modern-js/types';
2
2
  import type { Monitors, NodeRequest, ClientManifest as RscClientManifest, ServerManifest as RscServerManifest, SSRManifest as RscSSRManifest } from '@modern-js/types/server';
3
- import type { CacheConfig, ServerManifest, UserConfig } from '../../types';
3
+ import type { CacheConfig, Context, ServerManifest, UserConfig } from '../../types';
4
4
  import type { OnError, OnTiming, Params } from '../../types/requestHandler';
5
5
  export interface SSRRenderOptions {
6
6
  pwd: string;
@@ -13,6 +13,7 @@ export interface SSRRenderOptions {
13
13
  rscClientManifest?: RscClientManifest;
14
14
  rscSSRManifest?: RscSSRManifest;
15
15
  loaderContext: Map<string, unknown>;
16
+ serverContext?: Context;
16
17
  params: Params;
17
18
  /** Produce by custom server hook */
18
19
  locals?: Record<string, any>;
@@ -1,9 +1,10 @@
1
1
  import type { Monitors, Reporter, ClientManifest as RscClientManifest, ServerManifest as RscServerManifest, SSRManifest as RscSSRManifest } from '@modern-js/types';
2
2
  import type { NodeRequest } from '@modern-js/types/server';
3
- import type { ServerManifest } from './server';
3
+ import type { Context, ServerManifest } from './server';
4
4
  export interface RenderOptions {
5
5
  monitors: Monitors;
6
6
  loaderContext?: Map<string, unknown>;
7
+ serverContext?: Context;
7
8
  /** ssr render html templates */
8
9
  templates: Record<string, string>;
9
10
  /** Communicating with custom server hook & modern ssr runtime. */
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "modern",
18
18
  "modern.js"
19
19
  ],
20
- "version": "3.4.0-ultramodern.1",
20
+ "version": "3.4.0-ultramodern.11",
21
21
  "types": "./dist/types/index.d.ts",
22
22
  "main": "./dist/cjs/index.js",
23
23
  "exports": {
@@ -76,18 +76,18 @@
76
76
  "flatted": "^3.4.2",
77
77
  "hono": "^4.12.27",
78
78
  "ts-deepmerge": "8.0.0",
79
- "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.4.0-ultramodern.1",
80
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.1",
81
- "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.4.0-ultramodern.1"
79
+ "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.4.0-ultramodern.11",
80
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.11",
81
+ "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.4.0-ultramodern.11"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@rslib/core": "0.23.0",
85
85
  "@types/cloneable-readable": "^2.0.3",
86
86
  "@types/merge-deep": "^3.0.3",
87
- "@types/node": "^26.0.0",
87
+ "@types/node": "^26.0.1",
88
88
  "@typescript/native-preview": "7.0.0-dev.20260624.1",
89
89
  "http-proxy-middleware": "^4.1.1",
90
- "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.4.0-ultramodern.1",
90
+ "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.4.0-ultramodern.11",
91
91
  "@scripts/rstest-config": "2.66.0"
92
92
  },
93
93
  "sideEffects": false,