@modern-js/prod-server 2.0.0-beta.2 → 2.0.0-beta.4
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 +132 -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 +42 -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 +144 -145
- package/dist/js/modern/server/modern-server-split.js +46 -12
- package/dist/js/modern/server/modern-server.js +377 -419
- 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 +45 -30
- package/dist/js/node/index.js +31 -57
- package/dist/js/node/libs/context/context.js +79 -94
- package/dist/js/node/libs/context/index.js +23 -13
- package/dist/js/node/libs/hook-api/index.js +69 -48
- package/dist/js/node/libs/hook-api/route.js +22 -11
- package/dist/js/node/libs/hook-api/template.js +36 -39
- package/dist/js/node/libs/loadConfig.js +69 -35
- package/dist/js/node/libs/metrics.js +21 -9
- package/dist/js/node/libs/proxy.js +86 -44
- package/dist/js/node/libs/render/cache/__tests__/cache.fun.test.js +132 -70
- package/dist/js/node/libs/render/cache/__tests__/cache.test.js +268 -218
- package/dist/js/node/libs/render/cache/__tests__/cacheable.js +61 -55
- package/dist/js/node/libs/render/cache/__tests__/error-configuration.js +54 -40
- package/dist/js/node/libs/render/cache/__tests__/matched-cache.js +101 -119
- package/dist/js/node/libs/render/cache/index.js +110 -64
- package/dist/js/node/libs/render/cache/page-caches/index.js +50 -14
- package/dist/js/node/libs/render/cache/page-caches/lru.js +29 -12
- package/dist/js/node/libs/render/cache/spr.js +156 -129
- package/dist/js/node/libs/render/cache/type.js +0 -5
- package/dist/js/node/libs/render/cache/util.js +88 -45
- package/dist/js/node/libs/render/index.js +102 -67
- package/dist/js/node/libs/render/measure.js +55 -31
- package/dist/js/node/libs/render/reader.js +87 -70
- package/dist/js/node/libs/render/ssr.js +76 -47
- package/dist/js/node/libs/render/static.js +75 -40
- package/dist/js/node/libs/render/type.js +27 -12
- package/dist/js/node/libs/route/index.js +26 -26
- package/dist/js/node/libs/route/matcher.js +36 -41
- package/dist/js/node/libs/route/route.js +25 -22
- package/dist/js/node/libs/serve-file.js +61 -32
- package/dist/js/node/server/index.js +160 -160
- package/dist/js/node/server/modern-server-split.js +68 -22
- package/dist/js/node/server/modern-server.js +395 -443
- package/dist/js/node/type.js +0 -3
- package/dist/js/node/utils.js +74 -52
- package/dist/js/node/worker-server.js +53 -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 +265 -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 +468 -327
- package/dist/js/treeshaking/server/modern-server-split.js +352 -144
- package/dist/js/treeshaking/server/modern-server.js +1046 -911
- 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,150 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
var stdin_exports = {};
|
|
25
|
+
__export(stdin_exports, {
|
|
26
|
+
Server: () => Server
|
|
5
27
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
28
|
+
module.exports = __toCommonJS(stdin_exports);
|
|
29
|
+
var import_path = __toESM(require("path"));
|
|
30
|
+
var import_fs = __toESM(require("fs"));
|
|
31
|
+
var import_utils = require("@modern-js/utils");
|
|
32
|
+
var import_server_core = require("@modern-js/server-core");
|
|
33
|
+
var import_metrics = require("../libs/metrics");
|
|
34
|
+
var import_loadConfig = require("../libs/loadConfig");
|
|
35
|
+
var import_utils2 = require("../utils");
|
|
36
|
+
var import_modern_server_split = require("./modern-server-split");
|
|
37
|
+
var __defProp2 = Object.defineProperty;
|
|
38
|
+
var __defProps = Object.defineProperties;
|
|
39
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
40
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
41
|
+
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
|
|
42
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
43
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
44
|
+
var __spreadValues = (a, b) => {
|
|
45
|
+
for (var prop in b || (b = {}))
|
|
46
|
+
if (__hasOwnProp2.call(b, prop))
|
|
47
|
+
__defNormalProp(a, prop, b[prop]);
|
|
48
|
+
if (__getOwnPropSymbols)
|
|
49
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
50
|
+
if (__propIsEnum.call(b, prop))
|
|
51
|
+
__defNormalProp(a, prop, b[prop]);
|
|
52
|
+
}
|
|
53
|
+
return a;
|
|
54
|
+
};
|
|
55
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
56
|
+
var __async = (__this, __arguments, generator) => {
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
var fulfilled = (value) => {
|
|
59
|
+
try {
|
|
60
|
+
step(generator.next(value));
|
|
61
|
+
} catch (e) {
|
|
62
|
+
reject(e);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
var rejected = (value) => {
|
|
66
|
+
try {
|
|
67
|
+
step(generator.throw(value));
|
|
68
|
+
} catch (e) {
|
|
69
|
+
reject(e);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
73
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
74
|
+
});
|
|
75
|
+
};
|
|
19
76
|
class Server {
|
|
20
77
|
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'
|
|
78
|
+
this.serverImpl = import_modern_server_split.createProdServer;
|
|
79
|
+
options.logger = options.logger || new import_utils.Logger({
|
|
80
|
+
level: "warn"
|
|
29
81
|
});
|
|
30
|
-
options.metrics = options.metrics ||
|
|
82
|
+
options.metrics = options.metrics || import_metrics.metrics;
|
|
31
83
|
this.options = options;
|
|
32
84
|
this.serverConfig = {};
|
|
33
85
|
}
|
|
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;
|
|
86
|
+
init() {
|
|
87
|
+
return __async(this, null, function* () {
|
|
88
|
+
const { options } = this;
|
|
89
|
+
this.loadServerEnv(options);
|
|
90
|
+
this.initServerConfig(options);
|
|
91
|
+
yield this.injectContext(this.runner, options);
|
|
92
|
+
this.runner = yield this.createHookRunner();
|
|
93
|
+
yield this.initConfig(this.runner, options);
|
|
94
|
+
yield this.injectContext(this.runner, options);
|
|
95
|
+
this.server = this.serverImpl(options);
|
|
96
|
+
yield this.runPrepareHook(this.runner);
|
|
97
|
+
this.app = yield this.server.createHTTPServer(this.getRequestHandler());
|
|
98
|
+
yield this.server.onInit(this.runner, this.app);
|
|
99
|
+
return this;
|
|
100
|
+
});
|
|
74
101
|
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Execute config hooks
|
|
78
|
-
* @param runner
|
|
79
|
-
* @param options
|
|
80
|
-
*/
|
|
81
102
|
runConfigHook(runner, serverConfig) {
|
|
82
103
|
const newServerConfig = runner.config(serverConfig || {});
|
|
83
104
|
return newServerConfig;
|
|
84
105
|
}
|
|
85
|
-
|
|
86
|
-
|
|
106
|
+
runPrepareHook(runner) {
|
|
107
|
+
return __async(this, null, function* () {
|
|
108
|
+
runner.prepare();
|
|
109
|
+
});
|
|
87
110
|
}
|
|
88
111
|
initServerConfig(options) {
|
|
89
|
-
const {
|
|
90
|
-
|
|
112
|
+
const { pwd, serverConfigFile } = options;
|
|
113
|
+
const distDirectory = import_path.default.join(pwd, options.config.output.path || "dist");
|
|
114
|
+
const serverConfigPath = (0, import_loadConfig.getServerConfigPath)(
|
|
115
|
+
distDirectory,
|
|
91
116
|
serverConfigFile
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
const serverConfigPath = (0, _loadConfig.getServerConfigPath)(distDirectory, serverConfigFile);
|
|
95
|
-
const serverConfig = (0, _loadConfig.requireConfig)(serverConfigPath);
|
|
117
|
+
);
|
|
118
|
+
const serverConfig = (0, import_loadConfig.requireConfig)(serverConfigPath);
|
|
96
119
|
this.serverConfig = serverConfig;
|
|
97
120
|
}
|
|
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
|
|
121
|
+
initConfig(runner, options) {
|
|
122
|
+
return __async(this, null, function* () {
|
|
123
|
+
const { pwd, config } = options;
|
|
124
|
+
const { serverConfig } = this;
|
|
125
|
+
const finalServerConfig = this.runConfigHook(runner, serverConfig);
|
|
126
|
+
const resolvedConfigPath = import_path.default.join(
|
|
127
|
+
pwd,
|
|
128
|
+
config.output.path || "dist",
|
|
129
|
+
import_utils.OUTPUT_CONFIG_FILE
|
|
130
|
+
);
|
|
131
|
+
options.config = (0, import_loadConfig.loadConfig)({
|
|
132
|
+
cliConfig: config,
|
|
133
|
+
serverConfig: finalServerConfig,
|
|
134
|
+
resolvedConfigPath
|
|
135
|
+
});
|
|
117
136
|
});
|
|
118
137
|
}
|
|
119
|
-
|
|
120
|
-
this
|
|
138
|
+
close() {
|
|
139
|
+
return __async(this, null, function* () {
|
|
140
|
+
this.app.close();
|
|
141
|
+
});
|
|
121
142
|
}
|
|
122
143
|
listen(options, listener) {
|
|
123
144
|
const callback = () => {
|
|
124
|
-
listener
|
|
145
|
+
listener == null ? void 0 : listener();
|
|
125
146
|
};
|
|
126
|
-
if (typeof options ===
|
|
147
|
+
if (typeof options === "object") {
|
|
127
148
|
this.app.listen(options, callback);
|
|
128
149
|
} else {
|
|
129
150
|
this.app.listen(process.env.PORT || options || 8080, callback);
|
|
@@ -135,77 +156,56 @@ class Server {
|
|
|
135
156
|
return requestHandler(req, res, next);
|
|
136
157
|
};
|
|
137
158
|
}
|
|
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
|
|
159
|
+
render(req, res, url) {
|
|
160
|
+
return __async(this, null, function* () {
|
|
161
|
+
return this.server.render(req, res, url);
|
|
157
162
|
});
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
163
|
+
}
|
|
164
|
+
createHookRunner() {
|
|
165
|
+
return __async(this, null, function* () {
|
|
166
|
+
import_server_core.serverManager.clear();
|
|
167
|
+
const { options } = this;
|
|
168
|
+
const { internalPlugins = import_utils.INTERNAL_SERVER_PLUGINS, pwd } = options;
|
|
169
|
+
const serverPlugins = this.serverConfig.plugins || [];
|
|
170
|
+
const loadedPlugins = (0, import_server_core.loadPlugins)(pwd, serverPlugins, { internalPlugins });
|
|
171
|
+
(0, import_utils2.debug)("plugins", loadedPlugins);
|
|
172
|
+
loadedPlugins.forEach((p) => {
|
|
173
|
+
import_server_core.serverManager.usePlugin(p);
|
|
174
|
+
});
|
|
175
|
+
const hooksRunner = yield import_server_core.serverManager.init();
|
|
176
|
+
return hooksRunner;
|
|
161
177
|
});
|
|
162
|
-
|
|
163
|
-
// create runner
|
|
164
|
-
const hooksRunner = await _serverCore.serverManager.init();
|
|
165
|
-
return hooksRunner;
|
|
166
178
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
config,
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}));
|
|
179
|
+
injectContext(runner, options) {
|
|
180
|
+
return __async(this, null, function* () {
|
|
181
|
+
const appContext = this.initAppContext();
|
|
182
|
+
const { config, pwd } = options;
|
|
183
|
+
import_server_core.ConfigContext.set(config);
|
|
184
|
+
import_server_core.AppContext.set(__spreadProps(__spreadValues({}, appContext), {
|
|
185
|
+
distDirectory: import_path.default.join(pwd, config.output.path || "dist")
|
|
186
|
+
}));
|
|
187
|
+
});
|
|
177
188
|
}
|
|
178
189
|
initAppContext() {
|
|
179
|
-
const {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const {
|
|
183
|
-
pwd: appDirectory,
|
|
184
|
-
plugins = [],
|
|
185
|
-
config
|
|
186
|
-
} = options;
|
|
187
|
-
const serverPlugins = plugins.map(p => ({
|
|
190
|
+
const { options } = this;
|
|
191
|
+
const { pwd: appDirectory, plugins = [], config } = options;
|
|
192
|
+
const serverPlugins = plugins.map((p) => ({
|
|
188
193
|
server: p
|
|
189
194
|
}));
|
|
190
195
|
return {
|
|
191
196
|
appDirectory,
|
|
192
|
-
distDirectory:
|
|
193
|
-
sharedDirectory:
|
|
197
|
+
distDirectory: import_path.default.join(appDirectory, config.output.path || "dist"),
|
|
198
|
+
sharedDirectory: import_path.default.resolve(appDirectory, import_utils.SHARED_DIR),
|
|
194
199
|
plugins: serverPlugins
|
|
195
200
|
};
|
|
196
201
|
}
|
|
197
202
|
loadServerEnv(options) {
|
|
198
|
-
const {
|
|
199
|
-
pwd: appDirectory
|
|
200
|
-
} = options;
|
|
203
|
+
const { pwd: appDirectory } = options;
|
|
201
204
|
const serverEnv = process.env.MODERN_ENV;
|
|
202
|
-
const serverEnvPath =
|
|
203
|
-
if (serverEnv &&
|
|
204
|
-
const envConfig =
|
|
205
|
-
|
|
206
|
-
});
|
|
207
|
-
(0, _utils.dotenvExpand)(envConfig);
|
|
205
|
+
const serverEnvPath = import_path.default.resolve(appDirectory, `.env.${serverEnv}`);
|
|
206
|
+
if (serverEnv && import_fs.default.existsSync(serverEnvPath) && !import_fs.default.statSync(serverEnvPath).isDirectory()) {
|
|
207
|
+
const envConfig = import_utils.dotenv.config({ path: serverEnvPath });
|
|
208
|
+
(0, import_utils.dotenvExpand)(envConfig);
|
|
208
209
|
}
|
|
209
210
|
}
|
|
210
211
|
}
|
|
211
|
-
exports.Server = Server;
|
|
@@ -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 __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var stdin_exports = {};
|
|
19
|
+
__export(stdin_exports, {
|
|
20
|
+
createProdServer: () => createProdServer
|
|
5
21
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
|
|
22
|
+
module.exports = __toCommonJS(stdin_exports);
|
|
23
|
+
var import_modern_server = require("./modern-server");
|
|
24
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
25
|
+
var __reflectGet = Reflect.get;
|
|
26
|
+
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
27
|
+
var __async = (__this, __arguments, generator) => {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
var fulfilled = (value) => {
|
|
30
|
+
try {
|
|
31
|
+
step(generator.next(value));
|
|
32
|
+
} catch (e) {
|
|
33
|
+
reject(e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var rejected = (value) => {
|
|
37
|
+
try {
|
|
38
|
+
step(generator.throw(value));
|
|
39
|
+
} catch (e) {
|
|
40
|
+
reject(e);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
44
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
45
|
+
});
|
|
46
|
+
};
|
|
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,6 @@ 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
|
-
exports.createProdServer = createProdServer;
|