@modern-js/server-core 2.48.5-alpha.0 → 2.48.5-alpha.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 (31) hide show
  1. package/dist/cjs/base/adapters/node/bff.js +2 -1
  2. package/dist/cjs/base/index.js +4 -2
  3. package/dist/cjs/base/middlewares/frameworkHeader.js +31 -0
  4. package/dist/cjs/base/middlewares/index.js +3 -1
  5. package/dist/cjs/base/middlewares/renderHandler/render.js +2 -1
  6. package/dist/cjs/base/serverBase.js +11 -11
  7. package/dist/cjs/base/utils/index.js +0 -11
  8. package/dist/cjs/core/plugin.js +0 -39
  9. package/dist/esm/base/adapters/node/bff.js +2 -2
  10. package/dist/esm/base/index.js +3 -2
  11. package/dist/esm/base/middlewares/frameworkHeader.js +27 -0
  12. package/dist/esm/base/middlewares/index.js +1 -0
  13. package/dist/esm/base/middlewares/renderHandler/render.js +2 -1
  14. package/dist/esm/base/serverBase.js +11 -11
  15. package/dist/esm/base/utils/index.js +0 -6
  16. package/dist/esm/core/plugin.js +0 -39
  17. package/dist/esm-node/base/adapters/node/bff.js +2 -1
  18. package/dist/esm-node/base/index.js +3 -2
  19. package/dist/esm-node/base/middlewares/frameworkHeader.js +7 -0
  20. package/dist/esm-node/base/middlewares/index.js +1 -0
  21. package/dist/esm-node/base/middlewares/renderHandler/render.js +2 -1
  22. package/dist/esm-node/base/serverBase.js +11 -11
  23. package/dist/esm-node/base/utils/index.js +0 -6
  24. package/dist/esm-node/core/plugin.js +0 -39
  25. package/dist/types/base/index.d.ts +1 -1
  26. package/dist/types/base/middlewares/frameworkHeader.d.ts +2 -0
  27. package/dist/types/base/middlewares/index.d.ts +1 -0
  28. package/dist/types/base/utils/index.d.ts +0 -1
  29. package/dist/types/core/plugin.d.ts +2 -290
  30. package/dist/types/core/server.d.ts +1 -13
  31. package/package.json +2 -2
@@ -25,7 +25,8 @@ var import_utils = require("@modern-js/utils");
25
25
  var import_middlewares = require("../../../base/middlewares");
26
26
  var import_utils2 = require("../../utils");
27
27
  const bindBFFHandler = async (server, options) => {
28
- const prefix = options.config.bff.prefix || "/api";
28
+ var _options_config_bff, _options_config;
29
+ const prefix = (options === null || options === void 0 ? void 0 : (_options_config = options.config) === null || _options_config === void 0 ? void 0 : (_options_config_bff = _options_config.bff) === null || _options_config_bff === void 0 ? void 0 : _options_config_bff.prefix) || "/api";
29
30
  const { enableHandleWeb } = options.config.bff;
30
31
  const { httpMethodDecider } = options.config.bff;
31
32
  const runtimeEnv = (0, import_utils2.getRuntimeEnv)();
@@ -26,7 +26,8 @@ __export(base_exports, {
26
26
  getRenderHandler: () => import_middlewares.getRenderHandler,
27
27
  injectLogger: () => import_middlewares.injectLogger,
28
28
  injectReporter: () => import_middlewares.injectReporter,
29
- logHandler: () => import_middlewares.logHandler
29
+ logHandler: () => import_middlewares.logHandler,
30
+ processedBy: () => import_middlewares.processedBy
30
31
  });
31
32
  module.exports = __toCommonJS(base_exports);
32
33
  var import_utils = require("./utils");
@@ -43,5 +44,6 @@ var import_serverBase = require("./serverBase");
43
44
  getRenderHandler,
44
45
  injectLogger,
45
46
  injectReporter,
46
- logHandler
47
+ logHandler,
48
+ processedBy
47
49
  });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var frameworkHeader_exports = {};
20
+ __export(frameworkHeader_exports, {
21
+ processedBy: () => processedBy
22
+ });
23
+ module.exports = __toCommonJS(frameworkHeader_exports);
24
+ const processedBy = async (ctx, next) => {
25
+ await next();
26
+ ctx.header("X-Processed-By", "Modern.js");
27
+ };
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ processedBy
31
+ });
@@ -19,10 +19,12 @@ __reExport(middlewares_exports, require("./faviconFallback"), module.exports);
19
19
  __reExport(middlewares_exports, require("./monitor"), module.exports);
20
20
  __reExport(middlewares_exports, require("./renderHandler"), module.exports);
21
21
  __reExport(middlewares_exports, require("./logger"), module.exports);
22
+ __reExport(middlewares_exports, require("./frameworkHeader"), module.exports);
22
23
  // Annotate the CommonJS export names for ESM import in node:
23
24
  0 && (module.exports = {
24
25
  ...require("./faviconFallback"),
25
26
  ...require("./monitor"),
26
27
  ...require("./renderHandler"),
27
- ...require("./logger")
28
+ ...require("./logger"),
29
+ ...require("./frameworkHeader")
28
30
  });
@@ -21,6 +21,7 @@ __export(render_exports, {
21
21
  createRender: () => createRender
22
22
  });
23
23
  module.exports = __toCommonJS(render_exports);
24
+ var import_universal = require("@modern-js/utils/universal");
24
25
  var import_constants = require("../../../base/constants");
25
26
  var import_utils = require("../../utils");
26
27
  var import_dataHandler = require("./dataHandler");
@@ -92,7 +93,7 @@ function matchRoute(req, routes) {
92
93
  }
93
94
  function getRenderMode(req, framework, isSSR, forceCSR, nodeReq) {
94
95
  const query = (0, import_utils.parseQuery)(req);
95
- const fallbackHeader = `x-${(0, import_utils.cutNameByHyphen)(framework)}-ssr-fallback`;
96
+ const fallbackHeader = `x-${(0, import_universal.cutNameByHyphen)(framework)}-ssr-fallback`;
96
97
  if (isSSR) {
97
98
  if (query.__loader) {
98
99
  return "data";
@@ -151,37 +151,37 @@ class ServerBase {
151
151
  });
152
152
  }
153
153
  get all() {
154
- return this.app.all;
154
+ return this.app.all.bind(this.app);
155
155
  }
156
156
  get use() {
157
- return this.app.use;
157
+ return this.app.use.bind(this.app);
158
158
  }
159
159
  get get() {
160
- return this.app.get;
160
+ return this.app.get.bind(this.app);
161
161
  }
162
162
  get post() {
163
- return this.app.post;
163
+ return this.app.post.bind(this.app);
164
164
  }
165
165
  get put() {
166
- return this.app.put;
166
+ return this.app.put.bind(this.app);
167
167
  }
168
168
  get delete() {
169
- return this.app.delete;
169
+ return this.app.delete.bind(this.app);
170
170
  }
171
171
  get patch() {
172
- return this.app.patch;
172
+ return this.app.patch.bind(this.app);
173
173
  }
174
174
  get handle() {
175
- return this.app.fetch;
175
+ return this.app.fetch.bind(this.app);
176
176
  }
177
177
  get request() {
178
- return this.app.request;
178
+ return this.app.request.bind(this.app);
179
179
  }
180
180
  get notFound() {
181
- return this.app.notFound;
181
+ return this.app.notFound.bind(this.app);
182
182
  }
183
183
  get onError() {
184
- return this.app.onError;
184
+ return this.app.onError.bind(this.app);
185
185
  }
186
186
  constructor(options) {
187
187
  this.serverConfig = {};
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
6
  var __copyProps = (to, from, except, desc) => {
11
7
  if (from && typeof from === "object" || typeof from === "function") {
12
8
  for (let key of __getOwnPropNames(from))
@@ -18,9 +14,6 @@ var __copyProps = (to, from, except, desc) => {
18
14
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
16
  var utils_exports = {};
21
- __export(utils_exports, {
22
- cutNameByHyphen: () => cutNameByHyphen
23
- });
24
17
  module.exports = __toCommonJS(utils_exports);
25
18
  __reExport(utils_exports, require("./env"), module.exports);
26
19
  __reExport(utils_exports, require("./request"), module.exports);
@@ -29,12 +22,8 @@ __reExport(utils_exports, require("./middlewareCollector"), module.exports);
29
22
  __reExport(utils_exports, require("./error"), module.exports);
30
23
  __reExport(utils_exports, require("./warmup"), module.exports);
31
24
  __reExport(utils_exports, require("./entry"), module.exports);
32
- const cutNameByHyphen = (s) => {
33
- return s.split(/[-_]/)[0];
34
- };
35
25
  // Annotate the CommonJS export names for ESM import in node:
36
26
  0 && (module.exports = {
37
- cutNameByHyphen,
38
27
  ...require("./env"),
39
28
  ...require("./request"),
40
29
  ...require("./transformStream"),
@@ -32,33 +32,14 @@ var import_plugin = require("@modern-js/plugin");
32
32
  const gather = (0, import_plugin.createParallelWorkflow)();
33
33
  const config = (0, import_plugin.createWaterfall)();
34
34
  const prepare = (0, import_plugin.createWaterfall)();
35
- const prepareLoaderHandler = (0, import_plugin.createAsyncPipeline)();
36
35
  const prepareWebServer = (0, import_plugin.createAsyncPipeline)();
37
36
  const prepareApiServer = (0, import_plugin.createAsyncPipeline)();
38
37
  const onApiChange = (0, import_plugin.createAsyncWaterfall)();
39
38
  const repack = (0, import_plugin.createWaterfall)();
40
39
  const beforeServerInit = (0, import_plugin.createAsyncWaterfall)();
41
- const setupCompiler = (0, import_plugin.createParallelWorkflow)();
42
- const beforeRouteSet = (0, import_plugin.createAsyncPipeline)();
43
- const afterRouteSet = (0, import_plugin.createAsyncPipeline)();
44
- const beforeProdServer = (0, import_plugin.createParallelWorkflow)();
45
- const afterProdServer = (0, import_plugin.createParallelWorkflow)();
46
- const listen = (0, import_plugin.createParallelWorkflow)();
47
- const beforeServerReset = (0, import_plugin.createParallelWorkflow)();
48
- const afterServerReset = (0, import_plugin.createParallelWorkflow)();
49
- const extendSSRContext = (0, import_plugin.createAsyncWaterfall)();
50
- const extendContext = (0, import_plugin.createAsyncPipeline)();
51
- const handleError = (0, import_plugin.createParallelWorkflow)();
52
- const handleSSRFallback = (0, import_plugin.createParallelWorkflow)();
53
- const beforeMatch = (0, import_plugin.createAsyncPipeline)();
54
40
  const afterMatch = (0, import_plugin.createAsyncPipeline)();
55
- const prefetch = (0, import_plugin.createParallelWorkflow)();
56
- const renderToString = (0, import_plugin.createAsyncPipeline)();
57
- const beforeRender = (0, import_plugin.createAsyncPipeline)();
58
41
  const afterRender = (0, import_plugin.createAsyncPipeline)();
59
42
  const afterStreamingRender = (0, import_plugin.createAsyncPipeline)();
60
- const beforeSend = (0, import_plugin.createAsyncPipeline)();
61
- const afterSend = (0, import_plugin.createParallelWorkflow)();
62
43
  const reset = (0, import_plugin.createParallelWorkflow)();
63
44
  const AppContext = (0, import_plugin.createContext)({});
64
45
  const setAppContext = (value) => AppContext.set(value);
@@ -75,34 +56,14 @@ const serverHooks = {
75
56
  gather,
76
57
  config,
77
58
  prepare,
78
- prepareLoaderHandler,
79
59
  prepareWebServer,
80
60
  prepareApiServer,
81
61
  repack,
82
62
  onApiChange,
83
63
  beforeServerInit,
84
- setupCompiler,
85
- beforeRouteSet,
86
- afterRouteSet,
87
- beforeProdServer,
88
- afterProdServer,
89
- listen,
90
- beforeServerReset,
91
- afterServerReset,
92
- // request hook
93
- extendSSRContext,
94
- extendContext,
95
- handleError,
96
- handleSSRFallback,
97
- beforeMatch,
98
64
  afterMatch,
99
- prefetch,
100
- renderToString,
101
- beforeRender,
102
65
  afterRender,
103
66
  afterStreamingRender,
104
- beforeSend,
105
- afterSend,
106
67
  reset
107
68
  };
108
69
  const createServerManager = () => (0, import_plugin.createAsyncManager)(serverHooks, pluginAPI);
@@ -6,11 +6,11 @@ import { getRenderHandler } from "../../../base/middlewares";
6
6
  import { createMiddlewareCollecter, getRuntimeEnv } from "../../utils";
7
7
  var bindBFFHandler = function() {
8
8
  var _ref = _async_to_generator(function(server, options) {
9
- var prefix, enableHandleWeb, httpMethodDecider, runtimeEnv, _createMiddlewareCollecter, getMiddlewares, collector, runner, webOnly, handler, renderHandler, _tmp;
9
+ var _options_config_bff, _options_config, prefix, enableHandleWeb, httpMethodDecider, runtimeEnv, _createMiddlewareCollecter, getMiddlewares, collector, runner, webOnly, handler, renderHandler, _tmp;
10
10
  return _ts_generator(this, function(_state) {
11
11
  switch (_state.label) {
12
12
  case 0:
13
- prefix = options.config.bff.prefix || "/api";
13
+ prefix = (options === null || options === void 0 ? void 0 : (_options_config = options.config) === null || _options_config === void 0 ? void 0 : (_options_config_bff = _options_config.bff) === null || _options_config_bff === void 0 ? void 0 : _options_config_bff.prefix) || "/api";
14
14
  enableHandleWeb = options.config.bff.enableHandleWeb;
15
15
  httpMethodDecider = options.config.bff.httpMethodDecider;
16
16
  runtimeEnv = getRuntimeEnv();
@@ -1,6 +1,6 @@
1
1
  import { createErrorHtml } from "./utils";
2
2
  import { AGGRED_DIR } from "./constants";
3
- import { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler } from "./middlewares";
3
+ import { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler, processedBy } from "./middlewares";
4
4
  import { createServerBase } from "./serverBase";
5
5
  export {
6
6
  AGGRED_DIR,
@@ -11,5 +11,6 @@ export {
11
11
  getRenderHandler,
12
12
  injectLogger,
13
13
  injectReporter,
14
- logHandler
14
+ logHandler,
15
+ processedBy
15
16
  };
@@ -0,0 +1,27 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ var processedBy = function() {
4
+ var _ref = _async_to_generator(function(ctx, next) {
5
+ return _ts_generator(this, function(_state) {
6
+ switch (_state.label) {
7
+ case 0:
8
+ return [
9
+ 4,
10
+ next()
11
+ ];
12
+ case 1:
13
+ _state.sent();
14
+ ctx.header("X-Processed-By", "Modern.js");
15
+ return [
16
+ 2
17
+ ];
18
+ }
19
+ });
20
+ });
21
+ return function processedBy2(ctx, next) {
22
+ return _ref.apply(this, arguments);
23
+ };
24
+ }();
25
+ export {
26
+ processedBy
27
+ };
@@ -2,3 +2,4 @@ export * from "./faviconFallback";
2
2
  export * from "./monitor";
3
3
  export * from "./renderHandler";
4
4
  export * from "./logger";
5
+ export * from "./frameworkHeader";
@@ -1,7 +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
+ import { cutNameByHyphen } from "@modern-js/utils/universal";
3
4
  import { REPLACE_REG } from "../../../base/constants";
4
- import { createErrorHtml, sortRoutes, cutNameByHyphen, parseQuery, transformResponse, getPathname } from "../../utils";
5
+ import { createErrorHtml, sortRoutes, parseQuery, transformResponse, getPathname } from "../../utils";
5
6
  import { dataHandler } from "./dataHandler";
6
7
  import { ssrRender } from "./ssrRender";
7
8
  function createRender(_) {
@@ -304,67 +304,67 @@ var ServerBase = /* @__PURE__ */ function() {
304
304
  {
305
305
  key: "all",
306
306
  get: function get() {
307
- return this.app.all;
307
+ return this.app.all.bind(this.app);
308
308
  }
309
309
  },
310
310
  {
311
311
  key: "use",
312
312
  get: function get() {
313
- return this.app.use;
313
+ return this.app.use.bind(this.app);
314
314
  }
315
315
  },
316
316
  {
317
317
  key: "get",
318
318
  get: function get() {
319
- return this.app.get;
319
+ return this.app.get.bind(this.app);
320
320
  }
321
321
  },
322
322
  {
323
323
  key: "post",
324
324
  get: function get() {
325
- return this.app.post;
325
+ return this.app.post.bind(this.app);
326
326
  }
327
327
  },
328
328
  {
329
329
  key: "put",
330
330
  get: function get() {
331
- return this.app.put;
331
+ return this.app.put.bind(this.app);
332
332
  }
333
333
  },
334
334
  {
335
335
  key: "delete",
336
336
  get: function get() {
337
- return this.app.delete;
337
+ return this.app.delete.bind(this.app);
338
338
  }
339
339
  },
340
340
  {
341
341
  key: "patch",
342
342
  get: function get() {
343
- return this.app.patch;
343
+ return this.app.patch.bind(this.app);
344
344
  }
345
345
  },
346
346
  {
347
347
  key: "handle",
348
348
  get: function get() {
349
- return this.app.fetch;
349
+ return this.app.fetch.bind(this.app);
350
350
  }
351
351
  },
352
352
  {
353
353
  key: "request",
354
354
  get: function get() {
355
- return this.app.request;
355
+ return this.app.request.bind(this.app);
356
356
  }
357
357
  },
358
358
  {
359
359
  key: "notFound",
360
360
  get: function get() {
361
- return this.app.notFound;
361
+ return this.app.notFound.bind(this.app);
362
362
  }
363
363
  },
364
364
  {
365
365
  key: "onError",
366
366
  get: function get() {
367
- return this.app.onError;
367
+ return this.app.onError.bind(this.app);
368
368
  }
369
369
  }
370
370
  ]);
@@ -5,9 +5,3 @@ export * from "./middlewareCollector";
5
5
  export * from "./error";
6
6
  export * from "./warmup";
7
7
  export * from "./entry";
8
- var cutNameByHyphen = function(s) {
9
- return s.split(/[-_]/)[0];
10
- };
11
- export {
12
- cutNameByHyphen
13
- };
@@ -2,33 +2,14 @@ import { createContext, createAsyncManager, createAsyncPipeline, createAsyncWate
2
2
  var gather = createParallelWorkflow();
3
3
  var config = createWaterfall();
4
4
  var prepare = createWaterfall();
5
- var prepareLoaderHandler = createAsyncPipeline();
6
5
  var prepareWebServer = createAsyncPipeline();
7
6
  var prepareApiServer = createAsyncPipeline();
8
7
  var onApiChange = createAsyncWaterfall();
9
8
  var repack = createWaterfall();
10
9
  var beforeServerInit = createAsyncWaterfall();
11
- var setupCompiler = createParallelWorkflow();
12
- var beforeRouteSet = createAsyncPipeline();
13
- var afterRouteSet = createAsyncPipeline();
14
- var beforeProdServer = createParallelWorkflow();
15
- var afterProdServer = createParallelWorkflow();
16
- var listen = createParallelWorkflow();
17
- var beforeServerReset = createParallelWorkflow();
18
- var afterServerReset = createParallelWorkflow();
19
- var extendSSRContext = createAsyncWaterfall();
20
- var extendContext = createAsyncPipeline();
21
- var handleError = createParallelWorkflow();
22
- var handleSSRFallback = createParallelWorkflow();
23
- var beforeMatch = createAsyncPipeline();
24
10
  var afterMatch = createAsyncPipeline();
25
- var prefetch = createParallelWorkflow();
26
- var renderToString = createAsyncPipeline();
27
- var beforeRender = createAsyncPipeline();
28
11
  var afterRender = createAsyncPipeline();
29
12
  var afterStreamingRender = createAsyncPipeline();
30
- var beforeSend = createAsyncPipeline();
31
- var afterSend = createParallelWorkflow();
32
13
  var reset = createParallelWorkflow();
33
14
  var AppContext = createContext({});
34
15
  var setAppContext = function(value) {
@@ -51,34 +32,14 @@ var serverHooks = {
51
32
  gather,
52
33
  config,
53
34
  prepare,
54
- prepareLoaderHandler,
55
35
  prepareWebServer,
56
36
  prepareApiServer,
57
37
  repack,
58
38
  onApiChange,
59
39
  beforeServerInit,
60
- setupCompiler,
61
- beforeRouteSet,
62
- afterRouteSet,
63
- beforeProdServer,
64
- afterProdServer,
65
- listen,
66
- beforeServerReset,
67
- afterServerReset,
68
- // request hook
69
- extendSSRContext,
70
- extendContext,
71
- handleError,
72
- handleSSRFallback,
73
- beforeMatch,
74
40
  afterMatch,
75
- prefetch,
76
- renderToString,
77
- beforeRender,
78
41
  afterRender,
79
42
  afterStreamingRender,
80
- beforeSend,
81
- afterSend,
82
43
  reset
83
44
  };
84
45
  var createServerManager = function() {
@@ -2,7 +2,8 @@ import { isWebOnly } from "@modern-js/utils";
2
2
  import { getRenderHandler } from "../../../base/middlewares";
3
3
  import { createMiddlewareCollecter, getRuntimeEnv } from "../../utils";
4
4
  const bindBFFHandler = async (server, options) => {
5
- const prefix = options.config.bff.prefix || "/api";
5
+ var _options_config_bff, _options_config;
6
+ const prefix = (options === null || options === void 0 ? void 0 : (_options_config = options.config) === null || _options_config === void 0 ? void 0 : (_options_config_bff = _options_config.bff) === null || _options_config_bff === void 0 ? void 0 : _options_config_bff.prefix) || "/api";
6
7
  const { enableHandleWeb } = options.config.bff;
7
8
  const { httpMethodDecider } = options.config.bff;
8
9
  const runtimeEnv = getRuntimeEnv();
@@ -1,6 +1,6 @@
1
1
  import { createErrorHtml } from "./utils";
2
2
  import { AGGRED_DIR } from "./constants";
3
- import { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler } from "./middlewares";
3
+ import { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler, processedBy } from "./middlewares";
4
4
  import { createServerBase } from "./serverBase";
5
5
  export {
6
6
  AGGRED_DIR,
@@ -11,5 +11,6 @@ export {
11
11
  getRenderHandler,
12
12
  injectLogger,
13
13
  injectReporter,
14
- logHandler
14
+ logHandler,
15
+ processedBy
15
16
  };
@@ -0,0 +1,7 @@
1
+ const processedBy = async (ctx, next) => {
2
+ await next();
3
+ ctx.header("X-Processed-By", "Modern.js");
4
+ };
5
+ export {
6
+ processedBy
7
+ };
@@ -2,3 +2,4 @@ export * from "./faviconFallback";
2
2
  export * from "./monitor";
3
3
  export * from "./renderHandler";
4
4
  export * from "./logger";
5
+ export * from "./frameworkHeader";
@@ -1,5 +1,6 @@
1
+ import { cutNameByHyphen } from "@modern-js/utils/universal";
1
2
  import { REPLACE_REG } from "../../../base/constants";
2
- import { createErrorHtml, sortRoutes, cutNameByHyphen, parseQuery, transformResponse, getPathname } from "../../utils";
3
+ import { createErrorHtml, sortRoutes, parseQuery, transformResponse, getPathname } from "../../utils";
3
4
  import { dataHandler } from "./dataHandler";
4
5
  import { ssrRender } from "./ssrRender";
5
6
  async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce }) {
@@ -117,37 +117,37 @@ class ServerBase {
117
117
  });
118
118
  }
119
119
  get all() {
120
- return this.app.all;
120
+ return this.app.all.bind(this.app);
121
121
  }
122
122
  get use() {
123
- return this.app.use;
123
+ return this.app.use.bind(this.app);
124
124
  }
125
125
  get get() {
126
- return this.app.get;
126
+ return this.app.get.bind(this.app);
127
127
  }
128
128
  get post() {
129
- return this.app.post;
129
+ return this.app.post.bind(this.app);
130
130
  }
131
131
  get put() {
132
- return this.app.put;
132
+ return this.app.put.bind(this.app);
133
133
  }
134
134
  get delete() {
135
- return this.app.delete;
135
+ return this.app.delete.bind(this.app);
136
136
  }
137
137
  get patch() {
138
- return this.app.patch;
138
+ return this.app.patch.bind(this.app);
139
139
  }
140
140
  get handle() {
141
- return this.app.fetch;
141
+ return this.app.fetch.bind(this.app);
142
142
  }
143
143
  get request() {
144
- return this.app.request;
144
+ return this.app.request.bind(this.app);
145
145
  }
146
146
  get notFound() {
147
- return this.app.notFound;
147
+ return this.app.notFound.bind(this.app);
148
148
  }
149
149
  get onError() {
150
- return this.app.onError;
150
+ return this.app.onError.bind(this.app);
151
151
  }
152
152
  constructor(options) {
153
153
  this.serverConfig = {};
@@ -5,9 +5,3 @@ export * from "./middlewareCollector";
5
5
  export * from "./error";
6
6
  export * from "./warmup";
7
7
  export * from "./entry";
8
- const cutNameByHyphen = (s) => {
9
- return s.split(/[-_]/)[0];
10
- };
11
- export {
12
- cutNameByHyphen
13
- };
@@ -2,33 +2,14 @@ import { createContext, createAsyncManager, createAsyncPipeline, createAsyncWate
2
2
  const gather = createParallelWorkflow();
3
3
  const config = createWaterfall();
4
4
  const prepare = createWaterfall();
5
- const prepareLoaderHandler = createAsyncPipeline();
6
5
  const prepareWebServer = createAsyncPipeline();
7
6
  const prepareApiServer = createAsyncPipeline();
8
7
  const onApiChange = createAsyncWaterfall();
9
8
  const repack = createWaterfall();
10
9
  const beforeServerInit = createAsyncWaterfall();
11
- const setupCompiler = createParallelWorkflow();
12
- const beforeRouteSet = createAsyncPipeline();
13
- const afterRouteSet = createAsyncPipeline();
14
- const beforeProdServer = createParallelWorkflow();
15
- const afterProdServer = createParallelWorkflow();
16
- const listen = createParallelWorkflow();
17
- const beforeServerReset = createParallelWorkflow();
18
- const afterServerReset = createParallelWorkflow();
19
- const extendSSRContext = createAsyncWaterfall();
20
- const extendContext = createAsyncPipeline();
21
- const handleError = createParallelWorkflow();
22
- const handleSSRFallback = createParallelWorkflow();
23
- const beforeMatch = createAsyncPipeline();
24
10
  const afterMatch = createAsyncPipeline();
25
- const prefetch = createParallelWorkflow();
26
- const renderToString = createAsyncPipeline();
27
- const beforeRender = createAsyncPipeline();
28
11
  const afterRender = createAsyncPipeline();
29
12
  const afterStreamingRender = createAsyncPipeline();
30
- const beforeSend = createAsyncPipeline();
31
- const afterSend = createParallelWorkflow();
32
13
  const reset = createParallelWorkflow();
33
14
  const AppContext = createContext({});
34
15
  const setAppContext = (value) => AppContext.set(value);
@@ -45,34 +26,14 @@ const serverHooks = {
45
26
  gather,
46
27
  config,
47
28
  prepare,
48
- prepareLoaderHandler,
49
29
  prepareWebServer,
50
30
  prepareApiServer,
51
31
  repack,
52
32
  onApiChange,
53
33
  beforeServerInit,
54
- setupCompiler,
55
- beforeRouteSet,
56
- afterRouteSet,
57
- beforeProdServer,
58
- afterProdServer,
59
- listen,
60
- beforeServerReset,
61
- afterServerReset,
62
- // request hook
63
- extendSSRContext,
64
- extendContext,
65
- handleError,
66
- handleSSRFallback,
67
- beforeMatch,
68
34
  afterMatch,
69
- prefetch,
70
- renderToString,
71
- beforeRender,
72
35
  afterRender,
73
36
  afterStreamingRender,
74
- beforeSend,
75
- afterSend,
76
37
  reset
77
38
  };
78
39
  const createServerManager = () => createAsyncManager(serverHooks, pluginAPI);
@@ -1,6 +1,6 @@
1
1
  export { createErrorHtml } from './utils';
2
2
  export { AGGRED_DIR } from './constants';
3
- export { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler, } from './middlewares';
3
+ export { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler, processedBy, } from './middlewares';
4
4
  export type { BindRenderHandleOptions } from './middlewares';
5
5
  export type { ServerBase } from './serverBase';
6
6
  export { createServerBase } from './serverBase';
@@ -0,0 +1,2 @@
1
+ import { Middleware } from '../../core/server';
2
+ export declare const processedBy: Middleware;
@@ -2,3 +2,4 @@ export * from './faviconFallback';
2
2
  export * from './monitor';
3
3
  export * from './renderHandler';
4
4
  export * from './logger';
5
+ export * from './frameworkHeader';
@@ -5,4 +5,3 @@ export * from './middlewareCollector';
5
5
  export * from './error';
6
6
  export * from './warmup';
7
7
  export * from './entry';
8
- export declare const cutNameByHyphen: (s: string) => string;
@@ -1,9 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  import type { IncomingMessage, ServerResponse } from 'node:http';
3
- import type { Component } from 'react';
4
3
  import { CommonAPI, ToThreads, AsyncSetup, PluginOptions, ToRunners } from '@modern-js/plugin';
5
- import type { ModernServerContext, BaseSSRServerContext, AfterMatchContext, AfterRenderContext, MiddlewareContext, ISAppContext, ServerRoute, HttpMethodDecider, ServerInitHookContext, AfterStreamingRenderContext } from '@modern-js/types';
6
- import type { BffUserConfig, ServerOptions, UserConfig } from '../types/config';
4
+ import type { ModernServerContext, AfterMatchContext, AfterRenderContext, MiddlewareContext, ISAppContext, HttpMethodDecider, ServerInitHookContext, AfterStreamingRenderContext } from '@modern-js/types';
5
+ import type { BffUserConfig, UserConfig } from '../types/config';
7
6
  import { HonoMiddleware } from './hono';
8
7
  import { Render } from './render';
9
8
  export type WebAdapter = (ctx: MiddlewareContext) => void | Promise<void>;
@@ -57,55 +56,14 @@ declare const serverHooks: {
57
56
  }, unknown>;
58
57
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
59
58
  prepare: import("@modern-js/plugin").Waterfall<void>;
60
- prepareLoaderHandler: import("@modern-js/plugin").AsyncPipeline<{
61
- serverRoutes: ServerRoute[];
62
- distDir: string;
63
- }, LoaderHandler>;
64
59
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
65
60
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, HonoMiddleware>;
66
61
  repack: import("@modern-js/plugin").Waterfall<void>;
67
62
  onApiChange: import("@modern-js/plugin").AsyncWaterfall<Change[]>;
68
63
  beforeServerInit: import("@modern-js/plugin").AsyncWaterfall<ServerInitHookContext>;
69
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
70
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
71
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
72
- beforeProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
73
- afterProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
74
- listen: import("@modern-js/plugin").ParallelWorkflow<{
75
- ip: string;
76
- port: number;
77
- }, any[]>;
78
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
79
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
80
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
81
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
82
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
83
- error: Error;
84
- }, unknown>;
85
- handleSSRFallback: import("@modern-js/plugin").ParallelWorkflow<{
86
- ctx: ModernServerContext;
87
- type: 'query' | 'error' | 'header';
88
- }, unknown>;
89
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
90
- context: ModernServerContext;
91
- }, any>;
92
64
  afterMatch: import("@modern-js/plugin").AsyncPipeline<AfterMatchContext, any>;
93
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
94
- context: SSRServerContext;
95
- }, unknown>;
96
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
97
- App: Component;
98
- context: RenderContext;
99
- }, string>;
100
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
101
- context: ModernServerContext;
102
- }, any>;
103
65
  afterRender: import("@modern-js/plugin").AsyncPipeline<AfterRenderContext, any>;
104
66
  afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<AfterStreamingRenderContext, string>;
105
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
106
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
107
- context: ModernServerContext;
108
- }, unknown>;
109
67
  reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
110
68
  };
111
69
  /** All hooks of server plugin. */
@@ -123,55 +81,14 @@ export declare const createServerManager: () => import("@modern-js/plugin").Asyn
123
81
  }, unknown>;
124
82
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
125
83
  prepare: import("@modern-js/plugin").Waterfall<void>;
126
- prepareLoaderHandler: import("@modern-js/plugin").AsyncPipeline<{
127
- serverRoutes: ServerRoute[];
128
- distDir: string;
129
- }, LoaderHandler>;
130
84
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
131
85
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, HonoMiddleware>;
132
86
  repack: import("@modern-js/plugin").Waterfall<void>;
133
87
  onApiChange: import("@modern-js/plugin").AsyncWaterfall<Change[]>;
134
88
  beforeServerInit: import("@modern-js/plugin").AsyncWaterfall<ServerInitHookContext>;
135
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
136
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
137
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
138
- beforeProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
139
- afterProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
140
- listen: import("@modern-js/plugin").ParallelWorkflow<{
141
- ip: string;
142
- port: number;
143
- }, any[]>;
144
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
145
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
146
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
147
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
148
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
149
- error: Error;
150
- }, unknown>;
151
- handleSSRFallback: import("@modern-js/plugin").ParallelWorkflow<{
152
- ctx: ModernServerContext;
153
- type: 'query' | 'error' | 'header';
154
- }, unknown>;
155
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
156
- context: ModernServerContext;
157
- }, any>;
158
89
  afterMatch: import("@modern-js/plugin").AsyncPipeline<AfterMatchContext, any>;
159
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
160
- context: SSRServerContext;
161
- }, unknown>;
162
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
163
- App: Component;
164
- context: RenderContext;
165
- }, string>;
166
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
167
- context: ModernServerContext;
168
- }, any>;
169
90
  afterRender: import("@modern-js/plugin").AsyncPipeline<AfterRenderContext, any>;
170
91
  afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<AfterStreamingRenderContext, string>;
171
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
172
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
173
- context: ModernServerContext;
174
- }, unknown>;
175
92
  reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
176
93
  }, {
177
94
  useAppContext: () => ISAppContext;
@@ -185,55 +102,14 @@ export declare const serverManager: import("@modern-js/plugin").AsyncManager<{
185
102
  }, unknown>;
186
103
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
187
104
  prepare: import("@modern-js/plugin").Waterfall<void>;
188
- prepareLoaderHandler: import("@modern-js/plugin").AsyncPipeline<{
189
- serverRoutes: ServerRoute[];
190
- distDir: string;
191
- }, LoaderHandler>;
192
105
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
193
106
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, HonoMiddleware>;
194
107
  repack: import("@modern-js/plugin").Waterfall<void>;
195
108
  onApiChange: import("@modern-js/plugin").AsyncWaterfall<Change[]>;
196
109
  beforeServerInit: import("@modern-js/plugin").AsyncWaterfall<ServerInitHookContext>;
197
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
198
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
199
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
200
- beforeProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
201
- afterProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
202
- listen: import("@modern-js/plugin").ParallelWorkflow<{
203
- ip: string;
204
- port: number;
205
- }, any[]>;
206
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
207
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
208
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
209
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
210
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
211
- error: Error;
212
- }, unknown>;
213
- handleSSRFallback: import("@modern-js/plugin").ParallelWorkflow<{
214
- ctx: ModernServerContext;
215
- type: 'query' | 'error' | 'header';
216
- }, unknown>;
217
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
218
- context: ModernServerContext;
219
- }, any>;
220
110
  afterMatch: import("@modern-js/plugin").AsyncPipeline<AfterMatchContext, any>;
221
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
222
- context: SSRServerContext;
223
- }, unknown>;
224
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
225
- App: Component;
226
- context: RenderContext;
227
- }, string>;
228
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
229
- context: ModernServerContext;
230
- }, any>;
231
111
  afterRender: import("@modern-js/plugin").AsyncPipeline<AfterRenderContext, any>;
232
112
  afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<AfterStreamingRenderContext, string>;
233
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
234
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
235
- context: ModernServerContext;
236
- }, unknown>;
237
113
  reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
238
114
  }, {
239
115
  useAppContext: () => ISAppContext;
@@ -253,55 +129,14 @@ export declare const createPlugin: (setup?: AsyncSetup<{
253
129
  }, unknown>;
254
130
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
255
131
  prepare: import("@modern-js/plugin").Waterfall<void>;
256
- prepareLoaderHandler: import("@modern-js/plugin").AsyncPipeline<{
257
- serverRoutes: ServerRoute[];
258
- distDir: string;
259
- }, LoaderHandler>;
260
132
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
261
133
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, HonoMiddleware>;
262
134
  repack: import("@modern-js/plugin").Waterfall<void>;
263
135
  onApiChange: import("@modern-js/plugin").AsyncWaterfall<Change[]>;
264
136
  beforeServerInit: import("@modern-js/plugin").AsyncWaterfall<ServerInitHookContext>;
265
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
266
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
267
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
268
- beforeProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
269
- afterProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
270
- listen: import("@modern-js/plugin").ParallelWorkflow<{
271
- ip: string;
272
- port: number;
273
- }, any[]>;
274
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
275
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
276
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
277
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
278
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
279
- error: Error;
280
- }, unknown>;
281
- handleSSRFallback: import("@modern-js/plugin").ParallelWorkflow<{
282
- ctx: ModernServerContext;
283
- type: 'query' | 'error' | 'header';
284
- }, unknown>;
285
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
286
- context: ModernServerContext;
287
- }, any>;
288
137
  afterMatch: import("@modern-js/plugin").AsyncPipeline<AfterMatchContext, any>;
289
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
290
- context: SSRServerContext;
291
- }, unknown>;
292
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
293
- App: Component;
294
- context: RenderContext;
295
- }, string>;
296
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
297
- context: ModernServerContext;
298
- }, any>;
299
138
  afterRender: import("@modern-js/plugin").AsyncPipeline<AfterRenderContext, any>;
300
139
  afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<AfterStreamingRenderContext, string>;
301
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
302
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
303
- context: ModernServerContext;
304
- }, unknown>;
305
140
  reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
306
141
  }, {
307
142
  useAppContext: () => ISAppContext;
@@ -314,55 +149,14 @@ export declare const createPlugin: (setup?: AsyncSetup<{
314
149
  }, unknown>;
315
150
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
316
151
  prepare: import("@modern-js/plugin").Waterfall<void>;
317
- prepareLoaderHandler: import("@modern-js/plugin").AsyncPipeline<{
318
- serverRoutes: ServerRoute[];
319
- distDir: string;
320
- }, LoaderHandler>;
321
152
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
322
153
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, HonoMiddleware>;
323
154
  repack: import("@modern-js/plugin").Waterfall<void>;
324
155
  onApiChange: import("@modern-js/plugin").AsyncWaterfall<Change[]>;
325
156
  beforeServerInit: import("@modern-js/plugin").AsyncWaterfall<ServerInitHookContext>;
326
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
327
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
328
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
329
- beforeProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
330
- afterProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
331
- listen: import("@modern-js/plugin").ParallelWorkflow<{
332
- ip: string;
333
- port: number;
334
- }, any[]>;
335
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
336
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
337
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
338
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
339
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
340
- error: Error;
341
- }, unknown>;
342
- handleSSRFallback: import("@modern-js/plugin").ParallelWorkflow<{
343
- ctx: ModernServerContext;
344
- type: 'query' | 'error' | 'header';
345
- }, unknown>;
346
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
347
- context: ModernServerContext;
348
- }, any>;
349
157
  afterMatch: import("@modern-js/plugin").AsyncPipeline<AfterMatchContext, any>;
350
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
351
- context: SSRServerContext;
352
- }, unknown>;
353
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
354
- App: Component;
355
- context: RenderContext;
356
- }, string>;
357
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
358
- context: ModernServerContext;
359
- }, any>;
360
158
  afterRender: import("@modern-js/plugin").AsyncPipeline<AfterRenderContext, any>;
361
159
  afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<AfterStreamingRenderContext, string>;
362
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
363
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
364
- context: ModernServerContext;
365
- }, unknown>;
366
160
  reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
367
161
  }, AsyncSetup<{
368
162
  gather: import("@modern-js/plugin").ParallelWorkflow<{
@@ -371,55 +165,14 @@ export declare const createPlugin: (setup?: AsyncSetup<{
371
165
  }, unknown>;
372
166
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
373
167
  prepare: import("@modern-js/plugin").Waterfall<void>;
374
- prepareLoaderHandler: import("@modern-js/plugin").AsyncPipeline<{
375
- serverRoutes: ServerRoute[];
376
- distDir: string;
377
- }, LoaderHandler>;
378
168
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
379
169
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, HonoMiddleware>;
380
170
  repack: import("@modern-js/plugin").Waterfall<void>;
381
171
  onApiChange: import("@modern-js/plugin").AsyncWaterfall<Change[]>;
382
172
  beforeServerInit: import("@modern-js/plugin").AsyncWaterfall<ServerInitHookContext>;
383
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
384
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
385
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
386
- beforeProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
387
- afterProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
388
- listen: import("@modern-js/plugin").ParallelWorkflow<{
389
- ip: string;
390
- port: number;
391
- }, any[]>;
392
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
393
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
394
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
395
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
396
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
397
- error: Error;
398
- }, unknown>;
399
- handleSSRFallback: import("@modern-js/plugin").ParallelWorkflow<{
400
- ctx: ModernServerContext;
401
- type: 'query' | 'error' | 'header';
402
- }, unknown>;
403
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
404
- context: ModernServerContext;
405
- }, any>;
406
173
  afterMatch: import("@modern-js/plugin").AsyncPipeline<AfterMatchContext, any>;
407
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
408
- context: SSRServerContext;
409
- }, unknown>;
410
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
411
- App: Component;
412
- context: RenderContext;
413
- }, string>;
414
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
415
- context: ModernServerContext;
416
- }, any>;
417
174
  afterRender: import("@modern-js/plugin").AsyncPipeline<AfterRenderContext, any>;
418
175
  afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<AfterStreamingRenderContext, string>;
419
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
420
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
421
- context: ModernServerContext;
422
- }, unknown>;
423
176
  reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
424
177
  }, {
425
178
  useAppContext: () => ISAppContext;
@@ -432,55 +185,14 @@ export declare const createPlugin: (setup?: AsyncSetup<{
432
185
  }, unknown>;
433
186
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
434
187
  prepare: import("@modern-js/plugin").Waterfall<void>;
435
- prepareLoaderHandler: import("@modern-js/plugin").AsyncPipeline<{
436
- serverRoutes: ServerRoute[];
437
- distDir: string;
438
- }, LoaderHandler>;
439
188
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
440
189
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, HonoMiddleware>;
441
190
  repack: import("@modern-js/plugin").Waterfall<void>;
442
191
  onApiChange: import("@modern-js/plugin").AsyncWaterfall<Change[]>;
443
192
  beforeServerInit: import("@modern-js/plugin").AsyncWaterfall<ServerInitHookContext>;
444
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
445
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
446
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
447
- beforeProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
448
- afterProdServer: import("@modern-js/plugin").ParallelWorkflow<ServerOptions, any>;
449
- listen: import("@modern-js/plugin").ParallelWorkflow<{
450
- ip: string;
451
- port: number;
452
- }, any[]>;
453
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
454
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
455
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
456
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
457
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
458
- error: Error;
459
- }, unknown>;
460
- handleSSRFallback: import("@modern-js/plugin").ParallelWorkflow<{
461
- ctx: ModernServerContext;
462
- type: 'query' | 'error' | 'header';
463
- }, unknown>;
464
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
465
- context: ModernServerContext;
466
- }, any>;
467
193
  afterMatch: import("@modern-js/plugin").AsyncPipeline<AfterMatchContext, any>;
468
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
469
- context: SSRServerContext;
470
- }, unknown>;
471
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
472
- App: Component;
473
- context: RenderContext;
474
- }, string>;
475
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
476
- context: ModernServerContext;
477
- }, any>;
478
194
  afterRender: import("@modern-js/plugin").AsyncPipeline<AfterRenderContext, any>;
479
195
  afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<AfterStreamingRenderContext, string>;
480
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
481
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
482
- context: ModernServerContext;
483
- }, unknown>;
484
196
  reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
485
197
  }, {
486
198
  useAppContext: () => ISAppContext;
@@ -1,12 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- /// <reference types="node" />
4
- import type { IncomingMessage, Server, ServerResponse } from 'node:http';
5
3
  import type { Readable } from 'node:stream';
6
4
  import type { Metrics, Logger, NextFunction, ModernServerContext, InternalPlugins, Reporter, BaseSSRServerContext, ServerRoute, NestedRoute } from '@modern-js/types';
7
5
  import { MiddlewareHandler } from 'hono';
8
6
  import { ServerOptions } from '../types/config/index';
9
- import { ServerHookRunner, ServerPlugin } from './plugin';
7
+ import { ServerPlugin } from './plugin';
10
8
  import { HonoEnv } from './hono';
11
9
  declare module 'http' {
12
10
  interface IncomingMessage {
@@ -55,16 +53,6 @@ export type ConfWithBFF = {
55
53
  export type Then<T> = T extends PromiseLike<infer U> ? U : T;
56
54
  export type { Metrics, Logger, NextFunction };
57
55
  export type HookNames = 'afterMatch' | 'afterRender';
58
- export interface ModernServerInterface {
59
- pwd: string;
60
- distDir: string;
61
- onInit: (runner: ServerHookRunner, app: Server) => Promise<void>;
62
- getRequestHandler: () => (req: IncomingMessage, res: ServerResponse, next?: () => void) => void;
63
- createHTTPServer: (handler: (req: IncomingMessage, res: ServerResponse, next?: () => void) => void) => Promise<Server>;
64
- render: (req: IncomingMessage, res: ServerResponse, url?: string) => Promise<string | Readable | null>;
65
- close?: () => Promise<void>;
66
- }
67
- export type ServerConstructor = (options: ServerBaseOptions) => ModernServerInterface;
68
56
  export type ModernServerHandler = (context: ModernServerContext, next: NextFunction) => Promise<void> | void;
69
57
  export type Middleware<Env extends HonoEnv = any> = MiddlewareHandler<Env>;
70
58
  export type RequestHandler = (request: Request, ...args: any[]) => Response | Promise<Response>;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.48.5-alpha.0",
18
+ "version": "2.48.5-alpha.1",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -81,8 +81,8 @@
81
81
  "jest": "^29",
82
82
  "ts-jest": "^29.1.0",
83
83
  "typescript": "^5",
84
- "@scripts/build": "2.48.4",
85
84
  "@modern-js/types": "2.48.4",
85
+ "@scripts/build": "2.48.4",
86
86
  "@scripts/jest-config": "2.48.4"
87
87
  },
88
88
  "sideEffects": false,