@modern-js/prod-server 2.0.0-beta.3 → 2.0.0-beta.6
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.
- package/CHANGELOG.md +139 -0
- package/dist/js/modern/constants.js +32 -25
- package/dist/js/modern/index.js +11 -6
- package/dist/js/modern/libs/context/context.js +52 -84
- package/dist/js/modern/libs/context/index.js +5 -2
- package/dist/js/modern/libs/hook-api/index.js +44 -35
- package/dist/js/modern/libs/hook-api/route.js +6 -7
- package/dist/js/modern/libs/hook-api/template.js +20 -34
- package/dist/js/modern/libs/loadConfig.js +45 -24
- package/dist/js/modern/libs/metrics.js +3 -4
- package/dist/js/modern/libs/proxy.js +68 -37
- package/dist/js/modern/libs/render/cache/__tests__/cache.fun.test.js +112 -67
- package/dist/js/modern/libs/render/cache/__tests__/cache.test.js +246 -216
- package/dist/js/modern/libs/render/cache/__tests__/cacheable.js +43 -49
- package/dist/js/modern/libs/render/cache/__tests__/error-configuration.js +36 -34
- package/dist/js/modern/libs/render/cache/__tests__/matched-cache.js +83 -113
- package/dist/js/modern/libs/render/cache/index.js +88 -54
- package/dist/js/modern/libs/render/cache/page-caches/index.js +31 -8
- package/dist/js/modern/libs/render/cache/page-caches/lru.js +6 -6
- package/dist/js/modern/libs/render/cache/spr.js +133 -117
- package/dist/js/modern/libs/render/cache/type.js +0 -1
- package/dist/js/modern/libs/render/cache/util.js +71 -39
- package/dist/js/modern/libs/render/index.js +76 -56
- package/dist/js/modern/libs/render/measure.js +38 -27
- package/dist/js/modern/libs/render/reader.js +65 -62
- package/dist/js/modern/libs/render/ssr.js +50 -32
- package/dist/js/modern/libs/render/static.js +50 -33
- package/dist/js/modern/libs/render/type.js +9 -6
- package/dist/js/modern/libs/route/index.js +8 -15
- package/dist/js/modern/libs/route/matcher.js +20 -34
- package/dist/js/modern/libs/route/route.js +9 -18
- package/dist/js/modern/libs/serve-file.js +33 -20
- package/dist/js/modern/server/index.js +150 -145
- package/dist/js/modern/server/modern-server-split.js +46 -12
- package/dist/js/modern/server/modern-server.js +384 -422
- package/dist/js/modern/type.js +0 -1
- package/dist/js/modern/utils.js +62 -43
- package/dist/js/modern/worker-server.js +34 -14
- package/dist/js/node/constants.js +53 -30
- package/dist/js/node/index.js +37 -57
- package/dist/js/node/libs/context/context.js +83 -94
- package/dist/js/node/libs/context/index.js +28 -13
- package/dist/js/node/libs/hook-api/index.js +76 -48
- package/dist/js/node/libs/hook-api/route.js +26 -11
- package/dist/js/node/libs/hook-api/template.js +41 -39
- package/dist/js/node/libs/loadConfig.js +73 -35
- package/dist/js/node/libs/metrics.js +25 -9
- package/dist/js/node/libs/proxy.js +89 -44
- package/dist/js/node/libs/render/cache/__tests__/cache.fun.test.js +99 -56
- package/dist/js/node/libs/render/cache/__tests__/cache.test.js +147 -128
- package/dist/js/node/libs/render/cache/__tests__/cacheable.js +65 -55
- package/dist/js/node/libs/render/cache/__tests__/error-configuration.js +58 -40
- package/dist/js/node/libs/render/cache/__tests__/matched-cache.js +105 -119
- package/dist/js/node/libs/render/cache/index.js +110 -64
- package/dist/js/node/libs/render/cache/page-caches/index.js +54 -14
- package/dist/js/node/libs/render/cache/page-caches/lru.js +33 -12
- package/dist/js/node/libs/render/cache/spr.js +161 -129
- package/dist/js/node/libs/render/cache/type.js +15 -5
- package/dist/js/node/libs/render/cache/util.js +99 -45
- package/dist/js/node/libs/render/index.js +106 -67
- package/dist/js/node/libs/render/measure.js +58 -31
- package/dist/js/node/libs/render/reader.js +95 -70
- package/dist/js/node/libs/render/ssr.js +80 -47
- package/dist/js/node/libs/render/static.js +79 -40
- package/dist/js/node/libs/render/type.js +31 -12
- package/dist/js/node/libs/route/index.js +31 -26
- package/dist/js/node/libs/route/matcher.js +40 -41
- package/dist/js/node/libs/route/route.js +29 -22
- package/dist/js/node/libs/serve-file.js +66 -32
- package/dist/js/node/server/index.js +168 -160
- package/dist/js/node/server/modern-server-split.js +72 -22
- package/dist/js/node/server/modern-server.js +403 -445
- package/dist/js/node/type.js +15 -3
- package/dist/js/node/utils.js +85 -52
- package/dist/js/node/worker-server.js +57 -21
- package/dist/js/treeshaking/constants.js +26 -25
- package/dist/js/treeshaking/index.js +10 -10
- package/dist/js/treeshaking/libs/context/context.js +268 -237
- package/dist/js/treeshaking/libs/context/index.js +3 -3
- package/dist/js/treeshaking/libs/hook-api/index.js +267 -143
- package/dist/js/treeshaking/libs/hook-api/route.js +65 -30
- package/dist/js/treeshaking/libs/hook-api/template.js +121 -85
- package/dist/js/treeshaking/libs/loadConfig.js +80 -37
- package/dist/js/treeshaking/libs/metrics.js +4 -10
- package/dist/js/treeshaking/libs/proxy.js +240 -76
- package/dist/js/treeshaking/libs/render/cache/__tests__/cache.fun.test.js +288 -121
- package/dist/js/treeshaking/libs/render/cache/__tests__/cache.test.js +772 -455
- package/dist/js/treeshaking/libs/render/cache/__tests__/cacheable.js +65 -51
- package/dist/js/treeshaking/libs/render/cache/__tests__/error-configuration.js +45 -35
- package/dist/js/treeshaking/libs/render/cache/__tests__/matched-cache.js +144 -118
- package/dist/js/treeshaking/libs/render/cache/index.js +337 -175
- package/dist/js/treeshaking/libs/render/cache/page-caches/index.js +151 -27
- package/dist/js/treeshaking/libs/render/cache/page-caches/lru.js +80 -42
- package/dist/js/treeshaking/libs/render/cache/spr.js +470 -340
- package/dist/js/treeshaking/libs/render/cache/type.js +1 -1
- package/dist/js/treeshaking/libs/render/cache/util.js +271 -92
- package/dist/js/treeshaking/libs/render/index.js +228 -95
- package/dist/js/treeshaking/libs/render/measure.js +142 -57
- package/dist/js/treeshaking/libs/render/reader.js +325 -177
- package/dist/js/treeshaking/libs/render/ssr.js +220 -95
- package/dist/js/treeshaking/libs/render/static.js +210 -78
- package/dist/js/treeshaking/libs/render/type.js +7 -6
- package/dist/js/treeshaking/libs/route/index.js +125 -89
- package/dist/js/treeshaking/libs/route/matcher.js +132 -107
- package/dist/js/treeshaking/libs/route/route.js +40 -26
- package/dist/js/treeshaking/libs/serve-file.js +177 -68
- package/dist/js/treeshaking/server/index.js +493 -327
- package/dist/js/treeshaking/server/modern-server-split.js +352 -144
- package/dist/js/treeshaking/server/modern-server.js +1048 -909
- package/dist/js/treeshaking/type.js +1 -1
- package/dist/js/treeshaking/utils.js +138 -81
- package/dist/js/treeshaking/worker-server.js +176 -55
- package/dist/types/index.d.ts +2 -0
- package/dist/types/libs/context/context.d.ts +4 -1
- package/dist/types/libs/loadConfig.d.ts +1 -0
- package/dist/types/libs/render/cache/index.d.ts +2 -0
- package/dist/types/libs/render/cache/spr.d.ts +2 -0
- package/dist/types/libs/route/route.d.ts +0 -1
- package/dist/types/server/index.d.ts +3 -0
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/worker-server.d.ts +1 -2
- package/package.json +7 -14
- package/dist/js/modern/libs/render/modern/browser-list.js +0 -7
- package/dist/js/modern/libs/render/modern/index.js +0 -37
- package/dist/js/node/libs/render/modern/browser-list.js +0 -14
- package/dist/js/node/libs/render/modern/index.js +0 -46
- package/dist/js/treeshaking/libs/render/modern/browser-list.js +0 -7
- package/dist/js/treeshaking/libs/render/modern/index.js +0 -39
- package/dist/types/libs/render/modern/browser-list.d.ts +0 -1
- package/dist/types/libs/render/modern/index.d.ts +0 -3
|
@@ -1,129 +1,148 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __export = (target, all) => {
|
|
25
|
+
for (var name in all)
|
|
26
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
27
|
+
};
|
|
28
|
+
var __copyProps = (to, from, except, desc) => {
|
|
29
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
30
|
+
for (let key of __getOwnPropNames(from))
|
|
31
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
32
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
33
|
+
}
|
|
34
|
+
return to;
|
|
35
|
+
};
|
|
36
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
37
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
38
|
+
mod
|
|
39
|
+
));
|
|
40
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
41
|
+
var __async = (__this, __arguments, generator) => {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
var fulfilled = (value) => {
|
|
44
|
+
try {
|
|
45
|
+
step(generator.next(value));
|
|
46
|
+
} catch (e) {
|
|
47
|
+
reject(e);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var rejected = (value) => {
|
|
51
|
+
try {
|
|
52
|
+
step(generator.throw(value));
|
|
53
|
+
} catch (e) {
|
|
54
|
+
reject(e);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
58
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
var server_exports = {};
|
|
62
|
+
__export(server_exports, {
|
|
63
|
+
Server: () => Server
|
|
5
64
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
65
|
+
module.exports = __toCommonJS(server_exports);
|
|
66
|
+
var import_path = __toESM(require("path"));
|
|
67
|
+
var import_fs = __toESM(require("fs"));
|
|
68
|
+
var import_utils = require("@modern-js/utils");
|
|
69
|
+
var import_server_core = require("@modern-js/server-core");
|
|
70
|
+
var import_metrics = require("../libs/metrics");
|
|
71
|
+
var import_loadConfig = require("../libs/loadConfig");
|
|
72
|
+
var import_utils2 = require("../utils");
|
|
73
|
+
var import_modern_server_split = require("./modern-server-split");
|
|
19
74
|
class Server {
|
|
20
75
|
constructor(options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
_defineProperty(this, "app", void 0);
|
|
25
|
-
_defineProperty(this, "runner", void 0);
|
|
26
|
-
_defineProperty(this, "serverConfig", void 0);
|
|
27
|
-
options.logger = options.logger || new _utils.Logger({
|
|
28
|
-
level: 'warn'
|
|
76
|
+
this.serverImpl = import_modern_server_split.createProdServer;
|
|
77
|
+
options.logger = options.logger || new import_utils.Logger({
|
|
78
|
+
level: "warn"
|
|
29
79
|
});
|
|
30
|
-
options.metrics = options.metrics ||
|
|
80
|
+
options.metrics = options.metrics || import_metrics.metrics;
|
|
31
81
|
this.options = options;
|
|
32
82
|
this.serverConfig = {};
|
|
33
83
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
async init() {
|
|
50
|
-
const {
|
|
51
|
-
options
|
|
52
|
-
} = this;
|
|
53
|
-
this.loadServerEnv(options);
|
|
54
|
-
this.initServerConfig(options);
|
|
55
|
-
await this.injectContext(this.runner, options);
|
|
56
|
-
|
|
57
|
-
// initialize server runner
|
|
58
|
-
this.runner = await this.createHookRunner();
|
|
59
|
-
|
|
60
|
-
// init config and execute config hook
|
|
61
|
-
await this.initConfig(this.runner, options);
|
|
62
|
-
await this.injectContext(this.runner, options);
|
|
63
|
-
|
|
64
|
-
// initialize server
|
|
65
|
-
this.server = this.serverImpl(options);
|
|
66
|
-
await this.runPrepareHook(this.runner);
|
|
67
|
-
|
|
68
|
-
// create http-server
|
|
69
|
-
this.app = await this.server.createHTTPServer(this.getRequestHandler());
|
|
70
|
-
|
|
71
|
-
// runner can only be used after server init
|
|
72
|
-
await this.server.onInit(this.runner, this.app);
|
|
73
|
-
return this;
|
|
84
|
+
init() {
|
|
85
|
+
return __async(this, null, function* () {
|
|
86
|
+
const { options } = this;
|
|
87
|
+
this.loadServerEnv(options);
|
|
88
|
+
this.initServerConfig(options);
|
|
89
|
+
yield this.injectContext(this.runner, options);
|
|
90
|
+
this.runner = yield this.createHookRunner();
|
|
91
|
+
yield this.initConfig(this.runner, options);
|
|
92
|
+
yield this.injectContext(this.runner, options);
|
|
93
|
+
this.server = this.serverImpl(options);
|
|
94
|
+
yield this.runPrepareHook(this.runner);
|
|
95
|
+
this.app = yield this.server.createHTTPServer(this.getRequestHandler());
|
|
96
|
+
yield this.server.onInit(this.runner, this.app);
|
|
97
|
+
return this;
|
|
98
|
+
});
|
|
74
99
|
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Execute config hooks
|
|
78
|
-
* @param runner
|
|
79
|
-
* @param options
|
|
80
|
-
*/
|
|
81
100
|
runConfigHook(runner, serverConfig) {
|
|
82
101
|
const newServerConfig = runner.config(serverConfig || {});
|
|
83
102
|
return newServerConfig;
|
|
84
103
|
}
|
|
85
|
-
|
|
86
|
-
|
|
104
|
+
runPrepareHook(runner) {
|
|
105
|
+
return __async(this, null, function* () {
|
|
106
|
+
runner.prepare();
|
|
107
|
+
});
|
|
87
108
|
}
|
|
88
109
|
initServerConfig(options) {
|
|
89
|
-
const {
|
|
90
|
-
|
|
110
|
+
const { pwd, serverConfigFile } = options;
|
|
111
|
+
const distDirectory = import_path.default.join(pwd, options.config.output.path || "dist");
|
|
112
|
+
const serverConfigPath = (0, import_loadConfig.getServerConfigPath)(
|
|
113
|
+
distDirectory,
|
|
91
114
|
serverConfigFile
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
const serverConfigPath = (0, _loadConfig.getServerConfigPath)(distDirectory, serverConfigFile);
|
|
95
|
-
const serverConfig = (0, _loadConfig.requireConfig)(serverConfigPath);
|
|
115
|
+
);
|
|
116
|
+
const serverConfig = (0, import_loadConfig.requireConfig)(serverConfigPath);
|
|
96
117
|
this.serverConfig = serverConfig;
|
|
97
118
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
options.config = (0, _loadConfig.loadConfig)({
|
|
114
|
-
cliConfig: config,
|
|
115
|
-
serverConfig: finalServerConfig,
|
|
116
|
-
resolvedConfigPath
|
|
119
|
+
initConfig(runner, options) {
|
|
120
|
+
return __async(this, null, function* () {
|
|
121
|
+
const { pwd, config } = options;
|
|
122
|
+
const { serverConfig } = this;
|
|
123
|
+
const finalServerConfig = this.runConfigHook(runner, serverConfig);
|
|
124
|
+
const resolvedConfigPath = import_path.default.join(
|
|
125
|
+
pwd,
|
|
126
|
+
config.output.path || "dist",
|
|
127
|
+
import_utils.OUTPUT_CONFIG_FILE
|
|
128
|
+
);
|
|
129
|
+
options.config = (0, import_loadConfig.loadConfig)({
|
|
130
|
+
cliConfig: config,
|
|
131
|
+
serverConfig: finalServerConfig,
|
|
132
|
+
resolvedConfigPath
|
|
133
|
+
});
|
|
117
134
|
});
|
|
118
135
|
}
|
|
119
|
-
|
|
120
|
-
this
|
|
136
|
+
close() {
|
|
137
|
+
return __async(this, null, function* () {
|
|
138
|
+
this.app.close();
|
|
139
|
+
});
|
|
121
140
|
}
|
|
122
141
|
listen(options, listener) {
|
|
123
142
|
const callback = () => {
|
|
124
|
-
listener
|
|
143
|
+
listener == null ? void 0 : listener();
|
|
125
144
|
};
|
|
126
|
-
if (typeof options ===
|
|
145
|
+
if (typeof options === "object") {
|
|
127
146
|
this.app.listen(options, callback);
|
|
128
147
|
} else {
|
|
129
148
|
this.app.listen(process.env.PORT || options || 8080, callback);
|
|
@@ -135,77 +154,66 @@ class Server {
|
|
|
135
154
|
return requestHandler(req, res, next);
|
|
136
155
|
};
|
|
137
156
|
}
|
|
138
|
-
|
|
139
|
-
return this
|
|
140
|
-
|
|
141
|
-
async createHookRunner() {
|
|
142
|
-
// clear server manager every create time
|
|
143
|
-
_serverCore.serverManager.clear();
|
|
144
|
-
const {
|
|
145
|
-
options
|
|
146
|
-
} = this;
|
|
147
|
-
// TODO: 确认下这里是不是可以不从 options 中取插件,而是从 config 中取和过滤
|
|
148
|
-
const {
|
|
149
|
-
internalPlugins = _utils.INTERNAL_SERVER_PLUGINS,
|
|
150
|
-
pwd
|
|
151
|
-
} = options;
|
|
152
|
-
const serverPlugins = this.serverConfig.plugins || [];
|
|
153
|
-
|
|
154
|
-
// server app context for serve plugin
|
|
155
|
-
const loadedPlugins = (0, _serverCore.loadPlugins)(pwd, serverPlugins, {
|
|
156
|
-
internalPlugins
|
|
157
|
+
render(req, res, url) {
|
|
158
|
+
return __async(this, null, function* () {
|
|
159
|
+
return this.server.render(req, res, url);
|
|
157
160
|
});
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
+
}
|
|
162
|
+
createHookRunner() {
|
|
163
|
+
return __async(this, null, function* () {
|
|
164
|
+
import_server_core.serverManager.clear();
|
|
165
|
+
const { options } = this;
|
|
166
|
+
const {
|
|
167
|
+
internalPlugins = import_utils.INTERNAL_SERVER_PLUGINS,
|
|
168
|
+
pwd,
|
|
169
|
+
plugins = []
|
|
170
|
+
} = options;
|
|
171
|
+
const serverPlugins = this.serverConfig.plugins || [];
|
|
172
|
+
const loadedPlugins = (0, import_server_core.loadPlugins)(pwd, [...serverPlugins, ...plugins], {
|
|
173
|
+
internalPlugins
|
|
174
|
+
});
|
|
175
|
+
(0, import_utils2.debug)("plugins", loadedPlugins);
|
|
176
|
+
loadedPlugins.forEach((p) => {
|
|
177
|
+
import_server_core.serverManager.usePlugin(p);
|
|
178
|
+
});
|
|
179
|
+
const hooksRunner = yield import_server_core.serverManager.init();
|
|
180
|
+
return hooksRunner;
|
|
161
181
|
});
|
|
162
|
-
|
|
163
|
-
// create runner
|
|
164
|
-
const hooksRunner = await _serverCore.serverManager.init();
|
|
165
|
-
return hooksRunner;
|
|
166
182
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
config,
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}));
|
|
183
|
+
injectContext(runner, options) {
|
|
184
|
+
return __async(this, null, function* () {
|
|
185
|
+
const appContext = this.initAppContext();
|
|
186
|
+
const { config, pwd } = options;
|
|
187
|
+
import_server_core.ConfigContext.set(config);
|
|
188
|
+
import_server_core.AppContext.set(__spreadProps(__spreadValues({}, appContext), {
|
|
189
|
+
distDirectory: import_path.default.join(pwd, config.output.path || "dist")
|
|
190
|
+
}));
|
|
191
|
+
});
|
|
177
192
|
}
|
|
178
193
|
initAppContext() {
|
|
179
|
-
const {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const {
|
|
183
|
-
pwd: appDirectory,
|
|
184
|
-
plugins = [],
|
|
185
|
-
config
|
|
186
|
-
} = options;
|
|
187
|
-
const serverPlugins = plugins.map(p => ({
|
|
194
|
+
const { options } = this;
|
|
195
|
+
const { pwd: appDirectory, plugins = [], config } = options;
|
|
196
|
+
const serverPlugins = plugins.map((p) => ({
|
|
188
197
|
server: p
|
|
189
198
|
}));
|
|
190
199
|
return {
|
|
191
200
|
appDirectory,
|
|
192
|
-
distDirectory:
|
|
193
|
-
sharedDirectory:
|
|
201
|
+
distDirectory: import_path.default.join(appDirectory, config.output.path || "dist"),
|
|
202
|
+
sharedDirectory: import_path.default.resolve(appDirectory, import_utils.SHARED_DIR),
|
|
194
203
|
plugins: serverPlugins
|
|
195
204
|
};
|
|
196
205
|
}
|
|
197
206
|
loadServerEnv(options) {
|
|
198
|
-
const {
|
|
199
|
-
pwd: appDirectory
|
|
200
|
-
} = options;
|
|
207
|
+
const { pwd: appDirectory } = options;
|
|
201
208
|
const serverEnv = process.env.MODERN_ENV;
|
|
202
|
-
const serverEnvPath =
|
|
203
|
-
if (serverEnv &&
|
|
204
|
-
const envConfig =
|
|
205
|
-
|
|
206
|
-
});
|
|
207
|
-
(0, _utils.dotenvExpand)(envConfig);
|
|
209
|
+
const serverEnvPath = import_path.default.resolve(appDirectory, `.env.${serverEnv}`);
|
|
210
|
+
if (serverEnv && import_fs.default.existsSync(serverEnvPath) && !import_fs.default.statSync(serverEnvPath).isDirectory()) {
|
|
211
|
+
const envConfig = import_utils.dotenv.config({ path: serverEnvPath });
|
|
212
|
+
(0, import_utils.dotenvExpand)(envConfig);
|
|
208
213
|
}
|
|
209
214
|
}
|
|
210
215
|
}
|
|
211
|
-
|
|
216
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
217
|
+
0 && (module.exports = {
|
|
218
|
+
Server
|
|
219
|
+
});
|
|
@@ -1,39 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __reflectGet = Reflect.get;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
21
|
+
var __async = (__this, __arguments, generator) => {
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
var fulfilled = (value) => {
|
|
24
|
+
try {
|
|
25
|
+
step(generator.next(value));
|
|
26
|
+
} catch (e) {
|
|
27
|
+
reject(e);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var rejected = (value) => {
|
|
31
|
+
try {
|
|
32
|
+
step(generator.throw(value));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
38
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var modern_server_split_exports = {};
|
|
42
|
+
__export(modern_server_split_exports, {
|
|
43
|
+
createProdServer: () => createProdServer
|
|
5
44
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
class ModernSSRServer extends
|
|
45
|
+
module.exports = __toCommonJS(modern_server_split_exports);
|
|
46
|
+
var import_modern_server = require("./modern-server");
|
|
47
|
+
class ModernSSRServer extends import_modern_server.ModernServer {
|
|
9
48
|
prepareAPIHandler(_) {
|
|
10
49
|
return null;
|
|
11
50
|
}
|
|
12
|
-
|
|
13
|
-
return this
|
|
51
|
+
handleAPI(context) {
|
|
52
|
+
return __async(this, null, function* () {
|
|
53
|
+
return this.render404(context);
|
|
54
|
+
});
|
|
14
55
|
}
|
|
15
56
|
}
|
|
16
|
-
class ModernAPIServer extends
|
|
57
|
+
class ModernAPIServer extends import_modern_server.ModernServer {
|
|
17
58
|
prepareWebHandler(_) {
|
|
18
59
|
return null;
|
|
19
60
|
}
|
|
20
61
|
filterRoutes(routes) {
|
|
21
|
-
return routes.filter(route => route.isApi);
|
|
62
|
+
return routes.filter((route) => route.isApi);
|
|
22
63
|
}
|
|
23
64
|
}
|
|
24
|
-
class ModernWebServer extends
|
|
25
|
-
|
|
26
|
-
return null
|
|
65
|
+
class ModernWebServer extends import_modern_server.ModernServer {
|
|
66
|
+
warmupSSRBundle() {
|
|
67
|
+
return __async(this, null, function* () {
|
|
68
|
+
return null;
|
|
69
|
+
});
|
|
27
70
|
}
|
|
28
|
-
|
|
29
|
-
return this
|
|
71
|
+
handleAPI(context) {
|
|
72
|
+
return __async(this, null, function* () {
|
|
73
|
+
return this.render404(context);
|
|
74
|
+
});
|
|
30
75
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
76
|
+
handleWeb(context, route) {
|
|
77
|
+
return __async(this, null, function* () {
|
|
78
|
+
route.isSSR = false;
|
|
79
|
+
return __superGet(ModernWebServer.prototype, this, "handleWeb").call(this, context, route);
|
|
80
|
+
});
|
|
34
81
|
}
|
|
35
82
|
}
|
|
36
|
-
const createProdServer = options => {
|
|
83
|
+
const createProdServer = (options) => {
|
|
37
84
|
if (options.apiOnly) {
|
|
38
85
|
return new ModernAPIServer(options);
|
|
39
86
|
} else if (options.ssrOnly) {
|
|
@@ -41,7 +88,10 @@ const createProdServer = options => {
|
|
|
41
88
|
} else if (options.webOnly) {
|
|
42
89
|
return new ModernWebServer(options);
|
|
43
90
|
} else {
|
|
44
|
-
return new
|
|
91
|
+
return new import_modern_server.ModernServer(options);
|
|
45
92
|
}
|
|
46
93
|
};
|
|
47
|
-
|
|
94
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
95
|
+
0 && (module.exports = {
|
|
96
|
+
createProdServer
|
|
97
|
+
});
|