@modern-js/prod-server 2.6.0 → 2.6.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/cjs/index.js +2 -2
  2. package/dist/cjs/libs/{serve-file.js → serveFile.js} +3 -3
  3. package/dist/cjs/server/index.js +6 -4
  4. package/dist/cjs/server/{modern-server.js → modernServer.js} +8 -9
  5. package/dist/cjs/server/{modern-server-split.js → modernServerSplit.js} +8 -8
  6. package/dist/cjs/{worker-server.js → workerServer.js} +3 -3
  7. package/dist/esm/index.js +1 -1
  8. package/dist/esm/server/index.js +5 -3
  9. package/dist/esm/server/{modern-server.js → modernServer.js} +4 -5
  10. package/dist/esm/server/modernServerSplit.js +360 -0
  11. package/dist/esm-node/index.js +1 -1
  12. package/dist/esm-node/server/index.js +5 -3
  13. package/dist/esm-node/server/{modern-server.js → modernServer.js} +3 -4
  14. package/dist/esm-node/server/{modern-server-split.js → modernServerSplit.js} +1 -1
  15. package/dist/js/modern/constants.js +35 -0
  16. package/dist/js/modern/index.js +18 -0
  17. package/dist/js/modern/libs/context/context.js +160 -0
  18. package/dist/js/modern/libs/context/index.js +6 -0
  19. package/dist/js/modern/libs/hook-api/index.js +134 -0
  20. package/dist/js/modern/libs/hook-api/route.js +20 -0
  21. package/dist/js/modern/libs/hook-api/template.js +73 -0
  22. package/dist/js/modern/libs/loadConfig.js +62 -0
  23. package/dist/js/modern/libs/logger.js +111 -0
  24. package/dist/js/modern/libs/metrics.js +11 -0
  25. package/dist/js/modern/libs/proxy.js +92 -0
  26. package/dist/js/modern/libs/render/cache/__tests__/cache.fun.test.js +114 -0
  27. package/dist/js/modern/libs/render/cache/__tests__/cache.test.js +254 -0
  28. package/dist/js/modern/libs/render/cache/__tests__/cacheable.js +47 -0
  29. package/dist/js/modern/libs/render/cache/__tests__/error-configuration.js +37 -0
  30. package/dist/js/modern/libs/render/cache/__tests__/matched-cache.js +91 -0
  31. package/dist/js/modern/libs/render/cache/index.js +115 -0
  32. package/dist/js/modern/libs/render/cache/page-caches/index.js +32 -0
  33. package/dist/js/modern/libs/render/cache/page-caches/lru.js +29 -0
  34. package/dist/js/modern/libs/render/cache/spr.js +248 -0
  35. package/dist/js/modern/libs/render/cache/type.js +0 -0
  36. package/dist/js/modern/libs/render/cache/util.js +102 -0
  37. package/dist/js/modern/libs/render/index.js +86 -0
  38. package/dist/js/modern/libs/render/measure.js +68 -0
  39. package/dist/js/modern/libs/render/reader.js +107 -0
  40. package/dist/js/modern/libs/render/ssr.js +100 -0
  41. package/dist/js/modern/libs/render/static.js +60 -0
  42. package/dist/js/modern/libs/render/type.js +9 -0
  43. package/dist/js/modern/libs/route/index.js +54 -0
  44. package/dist/js/modern/libs/route/matcher.js +87 -0
  45. package/dist/js/modern/libs/route/route.js +16 -0
  46. package/dist/js/modern/libs/serve-file.js +67 -0
  47. package/dist/js/modern/server/index.js +208 -0
  48. package/dist/js/modern/server/modern-server-split.js +74 -0
  49. package/dist/js/modern/server/modern-server.js +554 -0
  50. package/dist/js/modern/type.js +0 -0
  51. package/dist/js/modern/utils.js +136 -0
  52. package/dist/js/modern/worker-server.js +89 -0
  53. package/dist/js/node/constants.js +62 -0
  54. package/dist/js/node/index.js +44 -0
  55. package/dist/js/node/libs/context/context.js +189 -0
  56. package/dist/js/node/libs/context/index.js +30 -0
  57. package/dist/js/node/libs/hook-api/index.js +164 -0
  58. package/dist/js/node/libs/hook-api/route.js +43 -0
  59. package/dist/js/node/libs/hook-api/template.js +97 -0
  60. package/dist/js/node/libs/loadConfig.js +91 -0
  61. package/dist/js/node/libs/logger.js +133 -0
  62. package/dist/js/node/libs/metrics.js +34 -0
  63. package/dist/js/node/libs/proxy.js +114 -0
  64. package/dist/js/node/libs/render/cache/__tests__/cache.fun.test.js +115 -0
  65. package/dist/js/node/libs/render/cache/__tests__/cache.test.js +245 -0
  66. package/dist/js/node/libs/render/cache/__tests__/cacheable.js +70 -0
  67. package/dist/js/node/libs/render/cache/__tests__/error-configuration.js +60 -0
  68. package/dist/js/node/libs/render/cache/__tests__/matched-cache.js +114 -0
  69. package/dist/js/node/libs/render/cache/index.js +134 -0
  70. package/dist/js/node/libs/render/cache/page-caches/index.js +55 -0
  71. package/dist/js/node/libs/render/cache/page-caches/lru.js +58 -0
  72. package/dist/js/node/libs/render/cache/spr.js +270 -0
  73. package/dist/js/node/libs/render/cache/type.js +15 -0
  74. package/dist/js/node/libs/render/cache/util.js +138 -0
  75. package/dist/js/node/libs/render/index.js +115 -0
  76. package/dist/js/node/libs/render/measure.js +90 -0
  77. package/dist/js/node/libs/render/reader.js +140 -0
  78. package/dist/js/node/libs/render/ssr.js +123 -0
  79. package/dist/js/node/libs/render/static.js +89 -0
  80. package/dist/js/node/libs/render/type.js +32 -0
  81. package/dist/js/node/libs/route/index.js +78 -0
  82. package/dist/js/node/libs/route/matcher.js +106 -0
  83. package/dist/js/node/libs/route/route.js +39 -0
  84. package/dist/js/node/libs/serve-file.js +97 -0
  85. package/dist/js/node/server/index.js +219 -0
  86. package/dist/js/node/server/modern-server-split.js +97 -0
  87. package/dist/js/node/server/modern-server.js +559 -0
  88. package/dist/js/node/type.js +15 -0
  89. package/dist/js/node/utils.js +166 -0
  90. package/dist/js/node/worker-server.js +113 -0
  91. package/dist/js/treeshaking/constants.js +29 -0
  92. package/dist/js/treeshaking/index.js +13 -0
  93. package/dist/js/treeshaking/libs/context/context.js +274 -0
  94. package/dist/js/treeshaking/libs/context/index.js +5 -0
  95. package/dist/js/treeshaking/libs/hook-api/index.js +281 -0
  96. package/dist/js/treeshaking/libs/hook-api/route.js +68 -0
  97. package/dist/js/treeshaking/libs/hook-api/template.js +127 -0
  98. package/dist/js/treeshaking/libs/loadConfig.js +82 -0
  99. package/dist/js/treeshaking/libs/logger.js +205 -0
  100. package/dist/js/treeshaking/libs/metrics.js +6 -0
  101. package/dist/js/treeshaking/libs/proxy.js +244 -0
  102. package/dist/js/treeshaking/libs/render/cache/__tests__/cache.fun.test.js +291 -0
  103. package/dist/js/treeshaking/libs/render/cache/__tests__/cache.test.js +781 -0
  104. package/dist/js/treeshaking/libs/render/cache/__tests__/cacheable.js +67 -0
  105. package/dist/js/treeshaking/libs/render/cache/__tests__/error-configuration.js +45 -0
  106. package/dist/js/treeshaking/libs/render/cache/__tests__/matched-cache.js +147 -0
  107. package/dist/js/treeshaking/libs/render/cache/index.js +346 -0
  108. package/dist/js/treeshaking/libs/render/cache/page-caches/index.js +154 -0
  109. package/dist/js/treeshaking/libs/render/cache/page-caches/lru.js +84 -0
  110. package/dist/js/treeshaking/libs/render/cache/spr.js +492 -0
  111. package/dist/js/treeshaking/libs/render/cache/type.js +1 -0
  112. package/dist/js/treeshaking/libs/render/cache/util.js +280 -0
  113. package/dist/js/treeshaking/libs/render/index.js +234 -0
  114. package/dist/js/treeshaking/libs/render/measure.js +146 -0
  115. package/dist/js/treeshaking/libs/render/reader.js +339 -0
  116. package/dist/js/treeshaking/libs/render/ssr.js +223 -0
  117. package/dist/js/treeshaking/libs/render/static.js +216 -0
  118. package/dist/js/treeshaking/libs/render/type.js +7 -0
  119. package/dist/js/treeshaking/libs/route/index.js +130 -0
  120. package/dist/js/treeshaking/libs/route/matcher.js +143 -0
  121. package/dist/js/treeshaking/libs/route/route.js +40 -0
  122. package/dist/js/treeshaking/libs/serve-file.js +184 -0
  123. package/dist/js/treeshaking/server/index.js +505 -0
  124. package/dist/js/treeshaking/server/modern-server.js +1089 -0
  125. package/dist/js/treeshaking/type.js +1 -0
  126. package/dist/js/treeshaking/utils.js +147 -0
  127. package/dist/js/treeshaking/worker-server.js +233 -0
  128. package/dist/types/index.d.ts +1 -1
  129. package/dist/types/libs/context/context.d.ts +1 -1
  130. package/dist/types/type.d.ts +8 -1
  131. package/dist/types/utils.d.ts +1 -1
  132. package/package.json +14 -14
  133. /package/dist/esm/libs/{serve-file.js → serveFile.js} +0 -0
  134. /package/dist/esm/{worker-server.js → workerServer.js} +0 -0
  135. /package/dist/esm-node/libs/{serve-file.js → serveFile.js} +0 -0
  136. /package/dist/esm-node/{worker-server.js → workerServer.js} +0 -0
  137. /package/dist/{esm → js/treeshaking}/server/modern-server-split.js +0 -0
  138. /package/dist/types/libs/{serve-file.d.ts → serveFile.d.ts} +0 -0
  139. /package/dist/types/server/{modern-server.d.ts → modernServer.d.ts} +0 -0
  140. /package/dist/types/server/{modern-server-split.d.ts → modernServerSplit.d.ts} +0 -0
  141. /package/dist/types/{worker-server.d.ts → workerServer.d.ts} +0 -0
package/dist/cjs/index.js CHANGED
@@ -18,14 +18,14 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var src_exports = {};
20
20
  __export(src_exports, {
21
- ModernServer: () => import_modern_server.ModernServer,
21
+ ModernServer: () => import_modernServer.ModernServer,
22
22
  Server: () => import_server.Server,
23
23
  createProxyHandler: () => import_proxy.createProxyHandler,
24
24
  default: () => src_default
25
25
  });
26
26
  module.exports = __toCommonJS(src_exports);
27
27
  var import_server = require("./server");
28
- var import_modern_server = require("./server/modern-server");
28
+ var import_modernServer = require("./server/modernServer");
29
29
  var import_proxy = require("./libs/proxy");
30
30
  __reExport(src_exports, require("./type"), module.exports);
31
31
  __reExport(src_exports, require("./constants"), module.exports);
@@ -25,12 +25,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var serve_file_exports = {};
29
- __export(serve_file_exports, {
28
+ var serveFile_exports = {};
29
+ __export(serveFile_exports, {
30
30
  createStaticFileHandler: () => createStaticFileHandler,
31
31
  faviconFallbackHandler: () => faviconFallbackHandler
32
32
  });
33
- module.exports = __toCommonJS(serve_file_exports);
33
+ module.exports = __toCommonJS(serveFile_exports);
34
34
  var import_serve_static = __toESM(require("serve-static"));
35
35
  var import_utils = require("@modern-js/utils");
36
36
  var import_utils2 = require("../utils");
@@ -37,10 +37,10 @@ var import_server_core = require("@modern-js/server-core");
37
37
  var import_metrics = require("../libs/metrics");
38
38
  var import_loadConfig = require("../libs/loadConfig");
39
39
  var import_utils2 = require("../utils");
40
- var import_modern_server_split = require("./modern-server-split");
40
+ var import_modernServerSplit = require("./modernServerSplit");
41
41
  class Server {
42
42
  constructor(options) {
43
- this.serverImpl = import_modern_server_split.createProdServer;
43
+ this.serverImpl = import_modernServerSplit.createProdServer;
44
44
  options.logger = options.logger || new import_utils.Logger({
45
45
  level: "warn"
46
46
  });
@@ -172,14 +172,16 @@ class Server {
172
172
  }
173
173
  initAppContext() {
174
174
  const { options } = this;
175
- const { pwd: appDirectory, plugins = [], config } = options;
175
+ const { pwd: appDirectory, plugins = [], config, appContext } = options;
176
176
  const serverPlugins = plugins.map((p) => ({
177
177
  server: p
178
178
  }));
179
179
  return {
180
180
  appDirectory,
181
+ apiDirectory: appContext == null ? void 0 : appContext.apiDirectory,
182
+ lambdaDirectory: appContext == null ? void 0 : appContext.lambdaDirectory,
183
+ sharedDirectory: (appContext == null ? void 0 : appContext.sharedDirectory) || import_path.default.resolve(appDirectory, import_utils.SHARED_DIR),
181
184
  distDirectory: import_path.default.join(appDirectory, config.output.path || "dist"),
182
- sharedDirectory: import_path.default.resolve(appDirectory, import_utils.SHARED_DIR),
183
185
  plugins: serverPlugins
184
186
  };
185
187
  }
@@ -25,17 +25,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var modern_server_exports = {};
29
- __export(modern_server_exports, {
28
+ var modernServer_exports = {};
29
+ __export(modernServer_exports, {
30
30
  ModernServer: () => ModernServer
31
31
  });
32
- module.exports = __toCommonJS(modern_server_exports);
32
+ module.exports = __toCommonJS(modernServer_exports);
33
33
  var import_http = require("http");
34
34
  var import_path = __toESM(require("path"));
35
35
  var import_utils = require("@modern-js/utils");
36
36
  var import_route = require("../libs/route");
37
37
  var import_render = require("../libs/render");
38
- var import_serve_file = require("../libs/serve-file");
38
+ var import_serveFile = require("../libs/serveFile");
39
39
  var import_utils2 = require("../utils");
40
40
  var reader = __toESM(require("../libs/render/reader"));
41
41
  var import_proxy = require("../libs/proxy");
@@ -43,7 +43,6 @@ var import_context = require("../libs/context");
43
43
  var import_template = require("../libs/hook-api/template");
44
44
  var import_constants = require("../constants");
45
45
  var import_hook_api = require("../libs/hook-api");
46
- const API_DIR = "./api";
47
46
  const SERVER_DIR = "./server";
48
47
  class ModernServer {
49
48
  constructor({
@@ -101,7 +100,7 @@ class ModernServer {
101
100
  this.conf.output || {},
102
101
  this.conf.html
103
102
  );
104
- this.staticFileHandler = (0, import_serve_file.createStaticFileHandler)(
103
+ this.staticFileHandler = (0, import_serveFile.createStaticFileHandler)(
105
104
  [
106
105
  {
107
106
  path: staticPathRegExp,
@@ -119,7 +118,7 @@ class ModernServer {
119
118
  });
120
119
  await this.setupBeforeProdMiddleware();
121
120
  this.addHandler(this.staticFileHandler);
122
- this.addHandler(import_serve_file.faviconFallbackHandler);
121
+ this.addHandler(import_serveFile.faviconFallbackHandler);
123
122
  this.addBeforeRouteHandler();
124
123
  this.addHandler(this.routeHandler.bind(this));
125
124
  this.compose();
@@ -212,13 +211,12 @@ class ModernServer {
212
211
  const { getMiddlewares, ...collector } = (0, import_utils2.createMiddlewareCollecter)();
213
212
  await runner.gather(collector);
214
213
  const { api: pluginAPIExt, web: pluginWebExt } = getMiddlewares();
215
- const apiDir = import_path.default.join(workDir, API_DIR);
216
214
  const serverDir = import_path.default.join(workDir, SERVER_DIR);
217
215
  if (await import_utils.fs.pathExists(import_path.default.join(serverDir)) && !onlyApi) {
218
216
  const webExtension = (0, import_utils2.mergeExtension)(pluginWebExt);
219
217
  this.frameWebHandler = await this.prepareWebHandler(webExtension);
220
218
  }
221
- if (import_utils.fs.existsSync(apiDir) && !onlyWeb) {
219
+ if (!onlyWeb) {
222
220
  const apiExtension = (0, import_utils2.mergeExtension)(pluginAPIExt);
223
221
  this.frameAPIHandler = await this.prepareAPIHandler(apiExtension);
224
222
  }
@@ -243,6 +241,7 @@ class ModernServer {
243
241
  pwd: workDir,
244
242
  config: extension,
245
243
  prefix: Array.isArray(prefix) ? prefix[0] : prefix,
244
+ httpMethodDecider: bff == null ? void 0 : bff.httpMethodDecider,
246
245
  render: this.render.bind(this)
247
246
  },
248
247
  { onLast: () => null }
@@ -15,13 +15,13 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var modern_server_split_exports = {};
19
- __export(modern_server_split_exports, {
18
+ var modernServerSplit_exports = {};
19
+ __export(modernServerSplit_exports, {
20
20
  createProdServer: () => createProdServer
21
21
  });
22
- module.exports = __toCommonJS(modern_server_split_exports);
23
- var import_modern_server = require("./modern-server");
24
- class ModernSSRServer extends import_modern_server.ModernServer {
22
+ module.exports = __toCommonJS(modernServerSplit_exports);
23
+ var import_modernServer = require("./modernServer");
24
+ class ModernSSRServer extends import_modernServer.ModernServer {
25
25
  prepareAPIHandler(_) {
26
26
  return null;
27
27
  }
@@ -29,7 +29,7 @@ class ModernSSRServer extends import_modern_server.ModernServer {
29
29
  return this.render404(context);
30
30
  }
31
31
  }
32
- class ModernAPIServer extends import_modern_server.ModernServer {
32
+ class ModernAPIServer extends import_modernServer.ModernServer {
33
33
  prepareWebHandler(_) {
34
34
  return null;
35
35
  }
@@ -37,7 +37,7 @@ class ModernAPIServer extends import_modern_server.ModernServer {
37
37
  return routes.filter((route) => route.isApi);
38
38
  }
39
39
  }
40
- class ModernWebServer extends import_modern_server.ModernServer {
40
+ class ModernWebServer extends import_modernServer.ModernServer {
41
41
  async warmupSSRBundle() {
42
42
  return null;
43
43
  }
@@ -57,7 +57,7 @@ const createProdServer = (options) => {
57
57
  } else if (options.webOnly) {
58
58
  return new ModernWebServer(options);
59
59
  } else {
60
- return new import_modern_server.ModernServer(options);
60
+ return new import_modernServer.ModernServer(options);
61
61
  }
62
62
  };
63
63
  // Annotate the CommonJS export names for ESM import in node:
@@ -15,12 +15,12 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var worker_server_exports = {};
19
- __export(worker_server_exports, {
18
+ var workerServer_exports = {};
19
+ __export(workerServer_exports, {
20
20
  createHandler: () => createHandler,
21
21
  handleUrl: () => handleUrl
22
22
  });
23
- module.exports = __toCommonJS(worker_server_exports);
23
+ module.exports = __toCommonJS(workerServer_exports);
24
24
  var import_logger = require("./libs/logger");
25
25
  var import_route = require("./libs/route");
26
26
  var import_metrics = require("./libs/metrics");
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Server } from "./server";
2
- import { ModernServer } from "./server/modern-server";
2
+ import { ModernServer } from "./server/modernServer";
3
3
  import { createProxyHandler } from "./libs/proxy";
4
4
  export * from "./type";
5
5
  export * from "./constants";
@@ -225,7 +225,7 @@ import { serverManager, AppContext, ConfigContext, loadPlugins } from "@modern-j
225
225
  import { metrics as defaultMetrics } from "../libs/metrics";
226
226
  import { loadConfig, getServerConfigPath, requireConfig } from "../libs/loadConfig";
227
227
  import { debug } from "../utils";
228
- import { createProdServer } from "./modern-server-split";
228
+ import { createProdServer } from "./modernServerSplit";
229
229
  var Server = /*#__PURE__*/ function() {
230
230
  "use strict";
231
231
  function Server(options) {
@@ -496,7 +496,7 @@ var Server = /*#__PURE__*/ function() {
496
496
  key: "initAppContext",
497
497
  value: function initAppContext() {
498
498
  var options = this.options;
499
- var appDirectory = options.pwd, _options_plugins = options.plugins, plugins = _options_plugins === void 0 ? [] : _options_plugins, config = options.config;
499
+ var appDirectory = options.pwd, _options_plugins = options.plugins, plugins = _options_plugins === void 0 ? [] : _options_plugins, config = options.config, appContext = options.appContext;
500
500
  var serverPlugins = plugins.map(function(p) {
501
501
  return {
502
502
  server: p
@@ -504,8 +504,10 @@ var Server = /*#__PURE__*/ function() {
504
504
  });
505
505
  return {
506
506
  appDirectory: appDirectory,
507
+ apiDirectory: appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory,
508
+ lambdaDirectory: appContext === null || appContext === void 0 ? void 0 : appContext.lambdaDirectory,
509
+ sharedDirectory: (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || path.resolve(appDirectory, SHARED_DIR),
507
510
  distDirectory: path.join(appDirectory, config.output.path || "dist"),
508
- sharedDirectory: path.resolve(appDirectory, SHARED_DIR),
509
511
  plugins: serverPlugins
510
512
  };
511
513
  }
@@ -201,7 +201,7 @@ import path from "path";
201
201
  import { fs, isPromise, mime, ROUTE_SPEC_FILE } from "@modern-js/utils";
202
202
  import { RouteMatchManager } from "../libs/route";
203
203
  import { createRenderHandler } from "../libs/render";
204
- import { createStaticFileHandler, faviconFallbackHandler } from "../libs/serve-file";
204
+ import { createStaticFileHandler, faviconFallbackHandler } from "../libs/serveFile";
205
205
  import { createErrorDocument, createMiddlewareCollecter, getStaticReg, mergeExtension, noop, debug, isRedirect } from "../utils";
206
206
  import * as reader from "../libs/render/reader";
207
207
  import { createProxyHandler } from "../libs/proxy";
@@ -209,7 +209,6 @@ import { createContext } from "../libs/context";
209
209
  import { templateInjectableStream } from "../libs/hook-api/template";
210
210
  import { AGGRED_DIR, ERROR_DIGEST, ERROR_PAGE_TEXT, RUN_MODE } from "../constants";
211
211
  import { createAfterMatchContext, createAfterRenderContext, createMiddlewareContext } from "../libs/hook-api";
212
- var API_DIR = "./api";
213
212
  var SERVER_DIR = "./server";
214
213
  var ModernServer = /*#__PURE__*/ function() {
215
214
  "use strict";
@@ -516,7 +515,7 @@ var ModernServer = /*#__PURE__*/ function() {
516
515
  function prepareFrameHandler(options) {
517
516
  var _this = this;
518
517
  return _asyncToGenerator(function() {
519
- var workDir, runner, _ref, onlyApi, onlyWeb, _createMiddlewareCollecter, getMiddlewares, collector, _getMiddlewares, pluginAPIExt, pluginWebExt, apiDir, serverDir, webExtension, apiExtension;
518
+ var workDir, runner, _ref, onlyApi, onlyWeb, _createMiddlewareCollecter, getMiddlewares, collector, _getMiddlewares, pluginAPIExt, pluginWebExt, serverDir, webExtension, apiExtension;
520
519
  return __generator(this, function(_state) {
521
520
  switch(_state.label){
522
521
  case 0:
@@ -532,7 +531,6 @@ var ModernServer = /*#__PURE__*/ function() {
532
531
  case 1:
533
532
  _state.sent();
534
533
  _getMiddlewares = getMiddlewares(), pluginAPIExt = _getMiddlewares.api, pluginWebExt = _getMiddlewares.web;
535
- apiDir = path.join(workDir, API_DIR);
536
534
  serverDir = path.join(workDir, SERVER_DIR);
537
535
  return [
538
536
  4,
@@ -552,7 +550,7 @@ var ModernServer = /*#__PURE__*/ function() {
552
550
  _this.frameWebHandler = _state.sent();
553
551
  _state.label = 4;
554
552
  case 4:
555
- if (!(fs.existsSync(apiDir) && !onlyWeb)) return [
553
+ if (!!onlyWeb) return [
556
554
  3,
557
555
  6
558
556
  ];
@@ -621,6 +619,7 @@ var ModernServer = /*#__PURE__*/ function() {
621
619
  pwd: workDir,
622
620
  config: extension,
623
621
  prefix: Array.isArray(prefix) ? prefix[0] : prefix,
622
+ httpMethodDecider: bff === null || bff === void 0 ? void 0 : bff.httpMethodDecider,
624
623
  render: _this.render.bind(_this)
625
624
  }, {
626
625
  onLast: function() {
@@ -0,0 +1,360 @@
1
+ function _assertThisInitialized(self) {
2
+ if (self === void 0) {
3
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
4
+ }
5
+ return self;
6
+ }
7
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
8
+ try {
9
+ var info = gen[key](arg);
10
+ var value = info.value;
11
+ } catch (error) {
12
+ reject(error);
13
+ return;
14
+ }
15
+ if (info.done) {
16
+ resolve(value);
17
+ } else {
18
+ Promise.resolve(value).then(_next, _throw);
19
+ }
20
+ }
21
+ function _asyncToGenerator(fn) {
22
+ return function() {
23
+ var self = this, args = arguments;
24
+ return new Promise(function(resolve, reject) {
25
+ var gen = fn.apply(self, args);
26
+ function _next(value) {
27
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
28
+ }
29
+ function _throw(err) {
30
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
31
+ }
32
+ _next(undefined);
33
+ });
34
+ };
35
+ }
36
+ function _classCallCheck(instance, Constructor) {
37
+ if (!(instance instanceof Constructor)) {
38
+ throw new TypeError("Cannot call a class as a function");
39
+ }
40
+ }
41
+ function _defineProperties(target, props) {
42
+ for(var i = 0; i < props.length; i++){
43
+ var descriptor = props[i];
44
+ descriptor.enumerable = descriptor.enumerable || false;
45
+ descriptor.configurable = true;
46
+ if ("value" in descriptor) descriptor.writable = true;
47
+ Object.defineProperty(target, descriptor.key, descriptor);
48
+ }
49
+ }
50
+ function _createClass(Constructor, protoProps, staticProps) {
51
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
52
+ if (staticProps) _defineProperties(Constructor, staticProps);
53
+ return Constructor;
54
+ }
55
+ function _get(target, property, receiver) {
56
+ if (typeof Reflect !== "undefined" && Reflect.get) {
57
+ _get = Reflect.get;
58
+ } else {
59
+ _get = function _get(target, property, receiver) {
60
+ var base = _superPropBase(target, property);
61
+ if (!base) return;
62
+ var desc = Object.getOwnPropertyDescriptor(base, property);
63
+ if (desc.get) {
64
+ return desc.get.call(receiver);
65
+ }
66
+ return desc.value;
67
+ };
68
+ }
69
+ return _get(target, property, receiver || target);
70
+ }
71
+ function _getPrototypeOf(o) {
72
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
73
+ return o.__proto__ || Object.getPrototypeOf(o);
74
+ };
75
+ return _getPrototypeOf(o);
76
+ }
77
+ function _inherits(subClass, superClass) {
78
+ if (typeof superClass !== "function" && superClass !== null) {
79
+ throw new TypeError("Super expression must either be null or a function");
80
+ }
81
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
82
+ constructor: {
83
+ value: subClass,
84
+ writable: true,
85
+ configurable: true
86
+ }
87
+ });
88
+ if (superClass) _setPrototypeOf(subClass, superClass);
89
+ }
90
+ function _possibleConstructorReturn(self, call) {
91
+ if (call && (_typeof(call) === "object" || typeof call === "function")) {
92
+ return call;
93
+ }
94
+ return _assertThisInitialized(self);
95
+ }
96
+ function _setPrototypeOf(o, p) {
97
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
98
+ o.__proto__ = p;
99
+ return o;
100
+ };
101
+ return _setPrototypeOf(o, p);
102
+ }
103
+ function _superPropBase(object, property) {
104
+ while(!Object.prototype.hasOwnProperty.call(object, property)){
105
+ object = _getPrototypeOf(object);
106
+ if (object === null) break;
107
+ }
108
+ return object;
109
+ }
110
+ var _typeof = function(obj) {
111
+ "@swc/helpers - typeof";
112
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
113
+ };
114
+ function _isNativeReflectConstruct() {
115
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
116
+ if (Reflect.construct.sham) return false;
117
+ if (typeof Proxy === "function") return true;
118
+ try {
119
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
120
+ return true;
121
+ } catch (e) {
122
+ return false;
123
+ }
124
+ }
125
+ function _createSuper(Derived) {
126
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
127
+ return function _createSuperInternal() {
128
+ var Super = _getPrototypeOf(Derived), result;
129
+ if (hasNativeReflectConstruct) {
130
+ var NewTarget = _getPrototypeOf(this).constructor;
131
+ result = Reflect.construct(Super, arguments, NewTarget);
132
+ } else {
133
+ result = Super.apply(this, arguments);
134
+ }
135
+ return _possibleConstructorReturn(this, result);
136
+ };
137
+ }
138
+ var __generator = this && this.__generator || function(thisArg, body) {
139
+ var f, y, t, g, _ = {
140
+ label: 0,
141
+ sent: function() {
142
+ if (t[0] & 1) throw t[1];
143
+ return t[1];
144
+ },
145
+ trys: [],
146
+ ops: []
147
+ };
148
+ return g = {
149
+ next: verb(0),
150
+ "throw": verb(1),
151
+ "return": verb(2)
152
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
153
+ return this;
154
+ }), g;
155
+ function verb(n) {
156
+ return function(v) {
157
+ return step([
158
+ n,
159
+ v
160
+ ]);
161
+ };
162
+ }
163
+ function step(op) {
164
+ if (f) throw new TypeError("Generator is already executing.");
165
+ while(_)try {
166
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
167
+ if (y = 0, t) op = [
168
+ op[0] & 2,
169
+ t.value
170
+ ];
171
+ switch(op[0]){
172
+ case 0:
173
+ case 1:
174
+ t = op;
175
+ break;
176
+ case 4:
177
+ _.label++;
178
+ return {
179
+ value: op[1],
180
+ done: false
181
+ };
182
+ case 5:
183
+ _.label++;
184
+ y = op[1];
185
+ op = [
186
+ 0
187
+ ];
188
+ continue;
189
+ case 7:
190
+ op = _.ops.pop();
191
+ _.trys.pop();
192
+ continue;
193
+ default:
194
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
195
+ _ = 0;
196
+ continue;
197
+ }
198
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
199
+ _.label = op[1];
200
+ break;
201
+ }
202
+ if (op[0] === 6 && _.label < t[1]) {
203
+ _.label = t[1];
204
+ t = op;
205
+ break;
206
+ }
207
+ if (t && _.label < t[2]) {
208
+ _.label = t[2];
209
+ _.ops.push(op);
210
+ break;
211
+ }
212
+ if (t[2]) _.ops.pop();
213
+ _.trys.pop();
214
+ continue;
215
+ }
216
+ op = body.call(thisArg, _);
217
+ } catch (e) {
218
+ op = [
219
+ 6,
220
+ e
221
+ ];
222
+ y = 0;
223
+ } finally{
224
+ f = t = 0;
225
+ }
226
+ if (op[0] & 5) throw op[1];
227
+ return {
228
+ value: op[0] ? op[1] : void 0,
229
+ done: true
230
+ };
231
+ }
232
+ };
233
+ import { ModernServer } from "./modernServer";
234
+ var ModernSSRServer = /*#__PURE__*/ function(ModernServer) {
235
+ "use strict";
236
+ _inherits(ModernSSRServer, ModernServer);
237
+ var _super = _createSuper(ModernSSRServer);
238
+ function ModernSSRServer() {
239
+ _classCallCheck(this, ModernSSRServer);
240
+ return _super.apply(this, arguments);
241
+ }
242
+ _createClass(ModernSSRServer, [
243
+ {
244
+ key: "prepareAPIHandler",
245
+ value: function prepareAPIHandler(_) {
246
+ return null;
247
+ }
248
+ },
249
+ {
250
+ key: "handleAPI",
251
+ value: function handleAPI(context) {
252
+ var _this = this;
253
+ return _asyncToGenerator(function() {
254
+ return __generator(this, function(_state) {
255
+ return [
256
+ 2,
257
+ _this.render404(context)
258
+ ];
259
+ });
260
+ })();
261
+ }
262
+ }
263
+ ]);
264
+ return ModernSSRServer;
265
+ }(ModernServer);
266
+ var ModernAPIServer = /*#__PURE__*/ function(ModernServer) {
267
+ "use strict";
268
+ _inherits(ModernAPIServer, ModernServer);
269
+ var _super = _createSuper(ModernAPIServer);
270
+ function ModernAPIServer() {
271
+ _classCallCheck(this, ModernAPIServer);
272
+ return _super.apply(this, arguments);
273
+ }
274
+ _createClass(ModernAPIServer, [
275
+ {
276
+ key: "prepareWebHandler",
277
+ value: function prepareWebHandler(_) {
278
+ return null;
279
+ }
280
+ },
281
+ {
282
+ key: "filterRoutes",
283
+ value: function filterRoutes(routes) {
284
+ return routes.filter(function(route) {
285
+ return route.isApi;
286
+ });
287
+ }
288
+ }
289
+ ]);
290
+ return ModernAPIServer;
291
+ }(ModernServer);
292
+ var ModernWebServer = /*#__PURE__*/ function(ModernServer) {
293
+ "use strict";
294
+ _inherits(ModernWebServer, ModernServer);
295
+ var _super = _createSuper(ModernWebServer);
296
+ function ModernWebServer() {
297
+ _classCallCheck(this, ModernWebServer);
298
+ return _super.apply(this, arguments);
299
+ }
300
+ _createClass(ModernWebServer, [
301
+ {
302
+ key: "warmupSSRBundle",
303
+ value: function warmupSSRBundle() {
304
+ return _asyncToGenerator(function() {
305
+ return __generator(this, function(_state) {
306
+ return [
307
+ 2,
308
+ null
309
+ ];
310
+ });
311
+ })();
312
+ }
313
+ },
314
+ {
315
+ key: "handleAPI",
316
+ value: function handleAPI(context) {
317
+ var _this = this;
318
+ return _asyncToGenerator(function() {
319
+ return __generator(this, function(_state) {
320
+ return [
321
+ 2,
322
+ _this.render404(context)
323
+ ];
324
+ });
325
+ })();
326
+ }
327
+ },
328
+ {
329
+ key: "handleWeb",
330
+ value: function handleWeb(context, route) {
331
+ var _this = this;
332
+ var _this1 = this, _superprop_get_handleWeb = function() {
333
+ return _get(_getPrototypeOf(ModernWebServer.prototype), "handleWeb", _this);
334
+ };
335
+ return _asyncToGenerator(function() {
336
+ return __generator(this, function(_state) {
337
+ route.isSSR = false;
338
+ return [
339
+ 2,
340
+ _superprop_get_handleWeb().call(_this1, context, route)
341
+ ];
342
+ });
343
+ })();
344
+ }
345
+ }
346
+ ]);
347
+ return ModernWebServer;
348
+ }(ModernServer);
349
+ var createProdServer = function(options) {
350
+ if (options.apiOnly) {
351
+ return new ModernAPIServer(options);
352
+ } else if (options.ssrOnly) {
353
+ return new ModernSSRServer(options);
354
+ } else if (options.webOnly) {
355
+ return new ModernWebServer(options);
356
+ } else {
357
+ return new ModernServer(options);
358
+ }
359
+ };
360
+ export { createProdServer };
@@ -1,5 +1,5 @@
1
1
  import { Server } from "./server";
2
- import { ModernServer } from "./server/modern-server";
2
+ import { ModernServer } from "./server/modernServer";
3
3
  import { createProxyHandler } from "./libs/proxy";
4
4
  export * from "./type";
5
5
  export * from "./constants";