@modern-js/server-core 2.47.0 → 2.47.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 (142) hide show
  1. package/dist/cjs/base/adapters/node/bff.js +69 -0
  2. package/dist/cjs/base/adapters/node/hono.js +62 -0
  3. package/dist/cjs/base/adapters/node/index.js +32 -0
  4. package/dist/cjs/base/adapters/node/loadServer.js +56 -0
  5. package/dist/cjs/base/adapters/node/middlewares/index.js +26 -0
  6. package/dist/cjs/base/adapters/node/middlewares/mock.js +113 -0
  7. package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +105 -0
  8. package/dist/cjs/base/adapters/node/middlewares/templates.js +65 -0
  9. package/dist/cjs/base/adapters/node/node.js +121 -0
  10. package/dist/cjs/base/adapters/node/polyfills/index.js +24 -0
  11. package/dist/cjs/base/adapters/node/polyfills/install.js +57 -0
  12. package/dist/cjs/base/adapters/node/polyfills/stream.js +159 -0
  13. package/dist/cjs/base/constants.js +55 -0
  14. package/dist/cjs/base/index.js +73 -0
  15. package/dist/cjs/base/middlewares/customServer/base.js +115 -0
  16. package/dist/cjs/base/middlewares/customServer/context.js +78 -0
  17. package/dist/cjs/base/middlewares/customServer/index.js +138 -0
  18. package/dist/cjs/base/middlewares/customServer/routerApi.js +48 -0
  19. package/dist/cjs/base/middlewares/customServer/template.js +60 -0
  20. package/dist/cjs/base/middlewares/dataHandler.js +69 -0
  21. package/dist/cjs/base/middlewares/faviconFallback.js +34 -0
  22. package/dist/cjs/base/middlewares/index.js +28 -0
  23. package/dist/cjs/base/middlewares/monitor.js +75 -0
  24. package/dist/cjs/base/middlewares/renderHandler/index.js +92 -0
  25. package/dist/cjs/base/middlewares/renderHandler/render.js +90 -0
  26. package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +43 -0
  27. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +173 -0
  28. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +183 -0
  29. package/dist/cjs/base/serverBase.js +167 -0
  30. package/dist/cjs/base/utils/debug.js +29 -0
  31. package/dist/cjs/base/utils/entry.js +30 -0
  32. package/dist/cjs/base/utils/env.js +45 -0
  33. package/dist/cjs/base/utils/error.js +65 -0
  34. package/dist/cjs/base/utils/index.js +40 -0
  35. package/dist/cjs/base/utils/middlewareCollector.js +54 -0
  36. package/dist/cjs/base/utils/path.js +46 -0
  37. package/dist/cjs/base/utils/request.js +65 -0
  38. package/dist/cjs/base/utils/serverConfig.js +71 -0
  39. package/dist/cjs/base/utils/transformStream.js +38 -0
  40. package/dist/cjs/base/utils/warmup.js +43 -0
  41. package/dist/cjs/core/hono.js +16 -0
  42. package/dist/cjs/core/index.js +24 -0
  43. package/dist/cjs/{loadPlugins.js → core/loadPlugins.js} +1 -1
  44. package/dist/cjs/{plugin.js → core/plugin.js} +1 -3
  45. package/dist/cjs/core/render.js +16 -0
  46. package/dist/cjs/core/server.js +22 -0
  47. package/dist/cjs/index.js +6 -4
  48. package/dist/esm/base/adapters/node/bff.js +45 -0
  49. package/dist/esm/base/adapters/node/hono.js +37 -0
  50. package/dist/esm/base/adapters/node/index.js +6 -0
  51. package/dist/esm/base/adapters/node/loadServer.js +22 -0
  52. package/dist/esm/base/adapters/node/middlewares/index.js +3 -0
  53. package/dist/esm/base/adapters/node/middlewares/mock.js +79 -0
  54. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +71 -0
  55. package/dist/esm/base/adapters/node/middlewares/templates.js +31 -0
  56. package/dist/esm/base/adapters/node/node.js +95 -0
  57. package/dist/esm/base/adapters/node/polyfills/index.js +2 -0
  58. package/dist/esm/base/adapters/node/polyfills/install.js +33 -0
  59. package/dist/esm/base/adapters/node/polyfills/stream.js +132 -0
  60. package/dist/esm/base/constants.js +29 -0
  61. package/dist/esm/base/index.js +32 -0
  62. package/dist/esm/base/middlewares/customServer/base.js +91 -0
  63. package/dist/esm/base/middlewares/customServer/context.js +51 -0
  64. package/dist/esm/base/middlewares/customServer/index.js +114 -0
  65. package/dist/esm/base/middlewares/customServer/routerApi.js +24 -0
  66. package/dist/esm/base/middlewares/customServer/template.js +36 -0
  67. package/dist/esm/base/middlewares/dataHandler.js +35 -0
  68. package/dist/esm/base/middlewares/faviconFallback.js +10 -0
  69. package/dist/esm/base/middlewares/index.js +4 -0
  70. package/dist/esm/base/middlewares/monitor.js +49 -0
  71. package/dist/esm/base/middlewares/renderHandler/index.js +67 -0
  72. package/dist/esm/base/middlewares/renderHandler/render.js +66 -0
  73. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +19 -0
  74. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +149 -0
  75. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +149 -0
  76. package/dist/esm/base/serverBase.js +143 -0
  77. package/dist/esm/base/utils/debug.js +5 -0
  78. package/dist/esm/base/utils/entry.js +6 -0
  79. package/dist/esm/base/utils/env.js +20 -0
  80. package/dist/esm/base/utils/error.js +41 -0
  81. package/dist/esm/base/utils/index.js +10 -0
  82. package/dist/esm/base/utils/middlewareCollector.js +29 -0
  83. package/dist/esm/base/utils/path.js +12 -0
  84. package/dist/esm/base/utils/request.js +38 -0
  85. package/dist/esm/base/utils/serverConfig.js +35 -0
  86. package/dist/esm/base/utils/transformStream.js +14 -0
  87. package/dist/esm/base/utils/warmup.js +9 -0
  88. package/dist/esm/core/hono.js +0 -0
  89. package/dist/esm/core/index.js +2 -0
  90. package/dist/esm/{loadPlugins.js → core/loadPlugins.js} +1 -1
  91. package/dist/esm/{plugin.js → core/plugin.js} +1 -3
  92. package/dist/esm/core/render.js +0 -0
  93. package/dist/esm/core/server.js +1 -0
  94. package/dist/esm/index.js +3 -2
  95. package/dist/types/base/adapters/node/bff.d.ts +4 -0
  96. package/dist/types/base/adapters/node/hono.d.ts +30 -0
  97. package/dist/types/base/adapters/node/index.d.ts +6 -0
  98. package/dist/types/base/adapters/node/loadServer.d.ts +3 -0
  99. package/dist/types/base/adapters/node/middlewares/index.d.ts +3 -0
  100. package/dist/types/base/adapters/node/middlewares/mock.d.ts +5 -0
  101. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +9 -0
  102. package/dist/types/base/adapters/node/middlewares/templates.d.ts +3 -0
  103. package/dist/types/base/adapters/node/node.d.ts +12 -0
  104. package/dist/types/base/adapters/node/polyfills/index.d.ts +2 -0
  105. package/dist/types/base/adapters/node/polyfills/install.d.ts +1 -0
  106. package/dist/types/base/adapters/node/polyfills/stream.d.ts +18 -0
  107. package/dist/types/base/constants.d.ts +23 -0
  108. package/dist/types/base/index.d.ts +9 -0
  109. package/dist/types/base/middlewares/customServer/base.d.ts +3 -0
  110. package/dist/types/base/middlewares/customServer/context.d.ts +7 -0
  111. package/dist/types/base/middlewares/customServer/index.d.ts +13 -0
  112. package/dist/types/base/middlewares/customServer/routerApi.d.ts +9 -0
  113. package/dist/types/base/middlewares/customServer/template.d.ts +11 -0
  114. package/dist/types/base/middlewares/dataHandler.d.ts +3 -0
  115. package/dist/types/base/middlewares/faviconFallback.d.ts +2 -0
  116. package/dist/types/base/middlewares/index.d.ts +4 -0
  117. package/dist/types/base/middlewares/monitor.d.ts +7 -0
  118. package/dist/types/base/middlewares/renderHandler/index.d.ts +9 -0
  119. package/dist/types/base/middlewares/renderHandler/render.d.ts +12 -0
  120. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +7 -0
  121. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +17 -0
  122. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +18 -0
  123. package/dist/types/base/serverBase.d.ts +49 -0
  124. package/dist/types/base/utils/debug.d.ts +1 -0
  125. package/dist/types/base/utils/entry.d.ts +2 -0
  126. package/dist/types/base/utils/env.d.ts +2 -0
  127. package/dist/types/base/utils/error.d.ts +1 -0
  128. package/dist/types/base/utils/index.d.ts +10 -0
  129. package/dist/types/base/utils/middlewareCollector.d.ts +12 -0
  130. package/dist/types/base/utils/path.d.ts +3 -0
  131. package/dist/types/base/utils/request.d.ts +12 -0
  132. package/dist/types/base/utils/serverConfig.d.ts +14 -0
  133. package/dist/types/base/utils/transformStream.d.ts +2 -0
  134. package/dist/types/base/utils/warmup.d.ts +1 -0
  135. package/dist/types/core/hono.d.ts +1 -0
  136. package/dist/types/core/index.d.ts +2 -0
  137. package/dist/types/{loadPlugins.d.ts → core/loadPlugins.d.ts} +1 -1
  138. package/dist/types/{plugin.d.ts → core/plugin.d.ts} +32 -35
  139. package/dist/types/core/render.d.ts +11 -0
  140. package/dist/types/core/server.d.ts +71 -0
  141. package/dist/types/index.d.ts +3 -2
  142. package/package.json +25 -2
@@ -0,0 +1,40 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var utils_exports = {};
17
+ module.exports = __toCommonJS(utils_exports);
18
+ __reExport(utils_exports, require("./env"), module.exports);
19
+ __reExport(utils_exports, require("./request"), module.exports);
20
+ __reExport(utils_exports, require("./serverConfig"), module.exports);
21
+ __reExport(utils_exports, require("./debug"), module.exports);
22
+ __reExport(utils_exports, require("./transformStream"), module.exports);
23
+ __reExport(utils_exports, require("./middlewareCollector"), module.exports);
24
+ __reExport(utils_exports, require("./error"), module.exports);
25
+ __reExport(utils_exports, require("./warmup"), module.exports);
26
+ __reExport(utils_exports, require("./entry"), module.exports);
27
+ __reExport(utils_exports, require("./path"), module.exports);
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ ...require("./env"),
31
+ ...require("./request"),
32
+ ...require("./serverConfig"),
33
+ ...require("./debug"),
34
+ ...require("./transformStream"),
35
+ ...require("./middlewareCollector"),
36
+ ...require("./error"),
37
+ ...require("./warmup"),
38
+ ...require("./entry"),
39
+ ...require("./path")
40
+ });
@@ -0,0 +1,54 @@
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 middlewareCollector_exports = {};
20
+ __export(middlewareCollector_exports, {
21
+ createMiddlewareCollecter: () => createMiddlewareCollecter,
22
+ mergeExtension: () => mergeExtension
23
+ });
24
+ module.exports = __toCommonJS(middlewareCollector_exports);
25
+ const mergeExtension = (users) => {
26
+ const output = [];
27
+ return {
28
+ middleware: output.concat(users)
29
+ };
30
+ };
31
+ const createMiddlewareCollecter = () => {
32
+ const webMiddlewares = [];
33
+ const apiMiddlewares = [];
34
+ const addWebMiddleware = (input) => {
35
+ webMiddlewares.push(input);
36
+ };
37
+ const addAPIMiddleware = (input) => {
38
+ apiMiddlewares.push(input);
39
+ };
40
+ const getMiddlewares = () => ({
41
+ web: webMiddlewares,
42
+ api: apiMiddlewares
43
+ });
44
+ return {
45
+ getMiddlewares,
46
+ addWebMiddleware,
47
+ addAPIMiddleware
48
+ };
49
+ };
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ createMiddlewareCollecter,
53
+ mergeExtension
54
+ });
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var path_exports = {};
30
+ __export(path_exports, {
31
+ getPathModule: () => getPathModule
32
+ });
33
+ module.exports = __toCommonJS(path_exports);
34
+ async function getPathModule() {
35
+ let path;
36
+ try {
37
+ path = await Promise.resolve().then(() => __toESM(require("path")));
38
+ } catch (_) {
39
+ path = await Promise.resolve().then(() => __toESM(require("path-browserify")));
40
+ }
41
+ return path;
42
+ }
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ getPathModule
46
+ });
@@ -0,0 +1,65 @@
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 request_exports = {};
20
+ __export(request_exports, {
21
+ getHost: () => getHost,
22
+ getPathname: () => getPathname,
23
+ parseHeaders: () => parseHeaders,
24
+ parseQuery: () => parseQuery
25
+ });
26
+ module.exports = __toCommonJS(request_exports);
27
+ function parseQuery(request) {
28
+ const { url } = request;
29
+ const q = url.split("?")[1];
30
+ const query = {};
31
+ if (q) {
32
+ q.split("&").forEach((item) => {
33
+ const [key, value] = item.split("=");
34
+ query[key] = value;
35
+ });
36
+ }
37
+ return query;
38
+ }
39
+ function parseHeaders(request) {
40
+ const headersData = {};
41
+ request.headers.forEach((value, key) => {
42
+ headersData[key] = value;
43
+ });
44
+ return headersData;
45
+ }
46
+ function getPathname(request) {
47
+ const match = request.url.match(/^https?:\/\/[^/]+(\/[^?]*)/);
48
+ return match ? match[1] : "/";
49
+ }
50
+ function getHost(request) {
51
+ const { headers } = request;
52
+ let host = headers.get("X-Forwarded-Host");
53
+ if (!host) {
54
+ host = headers.get("Host");
55
+ }
56
+ host = (host === null || host === void 0 ? void 0 : host.split(/\s*,\s*/, 1)[0]) || "undefined";
57
+ return host;
58
+ }
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ getHost,
62
+ getPathname,
63
+ parseHeaders,
64
+ parseQuery
65
+ });
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var serverConfig_exports = {};
30
+ __export(serverConfig_exports, {
31
+ getServerConfigPath: () => getServerConfigPath,
32
+ loadConfig: () => loadConfig,
33
+ requireConfig: () => requireConfig
34
+ });
35
+ module.exports = __toCommonJS(serverConfig_exports);
36
+ var import_utils = require("@modern-js/utils");
37
+ var import_merge_deep = __toESM(require("merge-deep"));
38
+ var import_path = require("./path");
39
+ const getServerConfigPath = async (distDirectory, serverConfigFile = import_utils.DEFAULT_SERVER_CONFIG) => {
40
+ const path = await (0, import_path.getPathModule)();
41
+ const serverConfigPath = path.join(distDirectory, serverConfigFile);
42
+ return `${serverConfigPath}.js`;
43
+ };
44
+ const requireConfig = (serverConfigPath) => {
45
+ if (import_utils.fs.pathExistsSync(serverConfigPath)) {
46
+ return (0, import_utils.compatRequire)(serverConfigPath);
47
+ }
48
+ return {};
49
+ };
50
+ const loadConfig = ({ cliConfig, serverConfig, resolvedConfigPath }) => {
51
+ let config = null;
52
+ if (process.env.NODE_ENV === "production") {
53
+ const resolvedConfig = requireConfig(resolvedConfigPath);
54
+ config = (0, import_merge_deep.default)({
55
+ ...resolvedConfig,
56
+ plugins: []
57
+ }, serverConfig, cliConfig);
58
+ } else {
59
+ config = (0, import_merge_deep.default)({
60
+ ...cliConfig,
61
+ plugins: []
62
+ }, serverConfig);
63
+ }
64
+ return config;
65
+ };
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ getServerConfigPath,
69
+ loadConfig,
70
+ requireConfig
71
+ });
@@ -0,0 +1,38 @@
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 transformStream_exports = {};
20
+ __export(transformStream_exports, {
21
+ createTransformStream: () => createTransformStream
22
+ });
23
+ module.exports = __toCommonJS(transformStream_exports);
24
+ function createTransformStream(fn) {
25
+ const decoder = new TextDecoder();
26
+ const encoder = new TextEncoder();
27
+ return new TransformStream({
28
+ async transform(chunk, controller) {
29
+ const content = decoder.decode(chunk);
30
+ const newContent = await fn(content);
31
+ controller.enqueue(encoder.encode(newContent));
32
+ }
33
+ });
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ createTransformStream
38
+ });
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var warmup_exports = {};
30
+ __export(warmup_exports, {
31
+ warmup: () => warmup
32
+ });
33
+ module.exports = __toCommonJS(warmup_exports);
34
+ function warmup(bundles) {
35
+ bundles.forEach((bundle) => {
36
+ bundle && Promise.resolve().then(() => __toESM(require(bundle))).catch((_) => {
37
+ });
38
+ });
39
+ }
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ warmup
43
+ });
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var hono_exports = {};
16
+ module.exports = __toCommonJS(hono_exports);
@@ -0,0 +1,24 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var core_exports = {};
17
+ module.exports = __toCommonJS(core_exports);
18
+ __reExport(core_exports, require("./plugin"), module.exports);
19
+ __reExport(core_exports, require("./loadPlugins"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./plugin"),
23
+ ...require("./loadPlugins")
24
+ });
@@ -22,7 +22,7 @@ __export(loadPlugins_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(loadPlugins_exports);
24
24
  var import_utils = require("@modern-js/utils");
25
- var import_plugin = require("./plugin");
25
+ var import_plugin = require("../core/plugin");
26
26
  const resolvePlugin = (p, appDirectory) => {
27
27
  const isPluginInstance = typeof p !== "string";
28
28
  if (isPluginInstance) {
@@ -35,10 +35,9 @@ const prepare = (0, import_plugin.createWaterfall)();
35
35
  const prepareLoaderHandler = (0, import_plugin.createAsyncPipeline)();
36
36
  const prepareWebServer = (0, import_plugin.createAsyncPipeline)();
37
37
  const prepareApiServer = (0, import_plugin.createAsyncPipeline)();
38
- const onApiChange = (0, import_plugin.createWaterfall)();
38
+ const onApiChange = (0, import_plugin.createAsyncWaterfall)();
39
39
  const repack = (0, import_plugin.createWaterfall)();
40
40
  const beforeServerInit = (0, import_plugin.createAsyncWaterfall)();
41
- const afterServerInit = (0, import_plugin.createAsyncWaterfall)();
42
41
  const setupCompiler = (0, import_plugin.createParallelWorkflow)();
43
42
  const beforeRouteSet = (0, import_plugin.createAsyncPipeline)();
44
43
  const afterRouteSet = (0, import_plugin.createAsyncPipeline)();
@@ -82,7 +81,6 @@ const serverHooks = {
82
81
  repack,
83
82
  onApiChange,
84
83
  beforeServerInit,
85
- afterServerInit,
86
84
  setupCompiler,
87
85
  beforeRouteSet,
88
86
  afterRouteSet,
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var render_exports = {};
16
+ module.exports = __toCommonJS(render_exports);
@@ -0,0 +1,22 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var server_exports = {};
17
+ module.exports = __toCommonJS(server_exports);
18
+ __reExport(server_exports, require("./hono"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./hono")
22
+ });
package/dist/cjs/index.js CHANGED
@@ -15,14 +15,16 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
16
  var src_exports = {};
17
17
  module.exports = __toCommonJS(src_exports);
18
- __reExport(src_exports, require("./plugin"), module.exports);
18
+ __reExport(src_exports, require("./core/plugin"), module.exports);
19
+ __reExport(src_exports, require("./core/render"), module.exports);
19
20
  __reExport(src_exports, require("@modern-js/plugin"), module.exports);
20
- __reExport(src_exports, require("./loadPlugins"), module.exports);
21
+ __reExport(src_exports, require("./core/loadPlugins"), module.exports);
21
22
  __reExport(src_exports, require("./types/config"), module.exports);
22
23
  // Annotate the CommonJS export names for ESM import in node:
23
24
  0 && (module.exports = {
24
- ...require("./plugin"),
25
+ ...require("./core/plugin"),
26
+ ...require("./core/render"),
25
27
  ...require("@modern-js/plugin"),
26
- ...require("./loadPlugins"),
28
+ ...require("./core/loadPlugins"),
27
29
  ...require("./types/config")
28
30
  });
@@ -0,0 +1,45 @@
1
+ import { isWebOnly } from "@modern-js/utils";
2
+ import { getRenderHandler } from "../../../base/middlewares";
3
+ import { createMiddlewareCollecter, getRuntimeEnv } from "../../utils";
4
+ const bindBFFHandler = async (server, options) => {
5
+ const prefix = options.config.bff.prefix || "/api";
6
+ const { enableHandleWeb } = options.config.bff;
7
+ const { httpMethodDecider } = options.config.bff;
8
+ const runtimeEnv = getRuntimeEnv();
9
+ if (runtimeEnv !== "node") {
10
+ return;
11
+ }
12
+ const { getMiddlewares, ...collector } = createMiddlewareCollecter();
13
+ const { runner } = server;
14
+ await runner.gather(collector);
15
+ const webOnly = await isWebOnly();
16
+ let handler;
17
+ const renderHandler = getRenderHandler(options);
18
+ if (webOnly) {
19
+ handler = async (c, next) => {
20
+ c.body("");
21
+ await next();
22
+ };
23
+ } else {
24
+ handler = await server.runner.prepareApiServer({
25
+ pwd: options.pwd,
26
+ prefix,
27
+ render: renderHandler,
28
+ httpMethodDecider
29
+ }, {
30
+ onLast: () => null
31
+ });
32
+ }
33
+ if (handler) {
34
+ server.all(`*`, (c, next) => {
35
+ if (!c.req.path.startsWith(prefix) && !enableHandleWeb) {
36
+ return next();
37
+ } else {
38
+ return handler(c, next);
39
+ }
40
+ });
41
+ }
42
+ };
43
+ export {
44
+ bindBFFHandler
45
+ };
@@ -0,0 +1,37 @@
1
+ const httpCallBack2HonoMid = (handler) => {
2
+ return async (context, next) => {
3
+ const { req, res } = context.env.node;
4
+ req.__honoRequest = context.req;
5
+ req.__templates = context.get("templates") || {};
6
+ await handler(req, res);
7
+ if (res.headersSent) {
8
+ context.finalized = true;
9
+ } else {
10
+ await next();
11
+ }
12
+ };
13
+ };
14
+ const noop = () => {
15
+ };
16
+ const connectMid2HonoMid = (handler) => {
17
+ return async (context, next) => {
18
+ return new Promise((resolve, reject) => {
19
+ const { req, res } = context.env.node;
20
+ if (handler.length < 3) {
21
+ resolve(handler(req, res, noop));
22
+ } else {
23
+ handler(req, res, (err) => {
24
+ if (err) {
25
+ reject(err);
26
+ } else {
27
+ resolve(next());
28
+ }
29
+ });
30
+ }
31
+ });
32
+ };
33
+ };
34
+ export {
35
+ connectMid2HonoMid,
36
+ httpCallBack2HonoMid
37
+ };
@@ -0,0 +1,6 @@
1
+ export * from "./loadServer";
2
+ export * from "./hono";
3
+ export * from "./node";
4
+ export * from "./bff";
5
+ export * from "./middlewares";
6
+ export * from "./polyfills";
@@ -0,0 +1,22 @@
1
+ import path from "path";
2
+ import { fs, dotenv, dotenvExpand } from "@modern-js/utils";
3
+ async function loadServerEnv(options) {
4
+ const { pwd } = options;
5
+ const serverEnv = process.env.MODERN_ENV;
6
+ const defaultEnvPath = path.resolve(pwd, `.env`);
7
+ const serverEnvPath = path.resolve(pwd, `.env.${serverEnv}`);
8
+ for (const envPath of [
9
+ serverEnvPath,
10
+ defaultEnvPath
11
+ ]) {
12
+ if (await fs.pathExists(envPath) && !(await fs.stat(envPath)).isDirectory()) {
13
+ const envConfig = dotenv.config({
14
+ path: envPath
15
+ });
16
+ dotenvExpand(envConfig);
17
+ }
18
+ }
19
+ }
20
+ export {
21
+ loadServerEnv
22
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./mock";
2
+ export * from "./serverStatic";
3
+ export * from "./templates";