@modern-js/prod-server 1.1.5 → 1.1.7
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
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @modern-js/prod-server
|
|
2
2
|
|
|
3
|
+
## 1.1.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- d4afeba71: fix: remove cors for prod-server
|
|
8
|
+
|
|
9
|
+
## 1.1.6
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 430d417e: optimize server side hot reload
|
|
14
|
+
- Updated dependencies [6451a098]
|
|
15
|
+
- Updated dependencies [d5a2cfd8]
|
|
16
|
+
- Updated dependencies [437367c6]
|
|
17
|
+
- @modern-js/utils@1.7.6
|
|
18
|
+
- @modern-js/server-core@1.3.5
|
|
19
|
+
|
|
3
20
|
## 1.1.5
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -111,13 +111,7 @@ export class ModernServer {
|
|
|
111
111
|
distDir,
|
|
112
112
|
staticGenerate,
|
|
113
113
|
conf
|
|
114
|
-
} = this;
|
|
115
|
-
|
|
116
|
-
this.addHandler((ctx, next) => {
|
|
117
|
-
ctx.res.setHeader('Access-Control-Allow-Origin', '*');
|
|
118
|
-
ctx.res.setHeader('Access-Control-Allow-Credentials', 'false');
|
|
119
|
-
next();
|
|
120
|
-
});
|
|
114
|
+
} = this;
|
|
121
115
|
debug('final server conf', this.conf); // proxy handler, each proxy has own handler
|
|
122
116
|
|
|
123
117
|
this.proxyHandler = createProxyHandler((_conf$bff = conf.bff) === null || _conf$bff === void 0 ? void 0 : _conf$bff.proxy);
|
|
@@ -167,8 +161,24 @@ export class ModernServer {
|
|
|
167
161
|
onListening(_) {// empty
|
|
168
162
|
}
|
|
169
163
|
|
|
170
|
-
onServerChange(
|
|
171
|
-
|
|
164
|
+
onServerChange({
|
|
165
|
+
filepath
|
|
166
|
+
}) {
|
|
167
|
+
const {
|
|
168
|
+
pwd
|
|
169
|
+
} = this;
|
|
170
|
+
const {
|
|
171
|
+
api,
|
|
172
|
+
server
|
|
173
|
+
} = AGGRED_DIR;
|
|
174
|
+
const apiPath = path.normalize(path.join(pwd, api));
|
|
175
|
+
const serverPath = path.normalize(path.join(pwd, server));
|
|
176
|
+
const onlyApi = filepath.startsWith(apiPath);
|
|
177
|
+
const onlyWeb = filepath.startsWith(serverPath);
|
|
178
|
+
this.prepareFrameHandler({
|
|
179
|
+
onlyWeb,
|
|
180
|
+
onlyApi
|
|
181
|
+
});
|
|
172
182
|
} // exposed requestHandler
|
|
173
183
|
|
|
174
184
|
|
|
@@ -217,11 +227,15 @@ export class ModernServer {
|
|
|
217
227
|
} // gather frame extension and get framework handler
|
|
218
228
|
|
|
219
229
|
|
|
220
|
-
async prepareFrameHandler() {
|
|
230
|
+
async prepareFrameHandler(options) {
|
|
221
231
|
const {
|
|
222
232
|
workDir,
|
|
223
233
|
runner
|
|
224
|
-
} = this;
|
|
234
|
+
} = this;
|
|
235
|
+
const {
|
|
236
|
+
onlyApi,
|
|
237
|
+
onlyWeb
|
|
238
|
+
} = options || {}; // server hook, gather plugin inject
|
|
225
239
|
|
|
226
240
|
const _createMiddlewareColl = createMiddlewareCollecter(),
|
|
227
241
|
{
|
|
@@ -237,12 +251,12 @@ export class ModernServer {
|
|
|
237
251
|
const apiDir = path.join(workDir, API_DIR);
|
|
238
252
|
const serverDir = path.join(workDir, SERVER_DIR); // get api or web server handler from server-framework plugin
|
|
239
253
|
|
|
240
|
-
if (await fs.pathExists(path.join(serverDir))) {
|
|
254
|
+
if ((await fs.pathExists(path.join(serverDir))) && !onlyApi) {
|
|
241
255
|
const webExtension = mergeExtension(pluginWebExt);
|
|
242
256
|
this.frameWebHandler = await this.prepareWebHandler(webExtension);
|
|
243
257
|
}
|
|
244
258
|
|
|
245
|
-
if (fs.existsSync(apiDir)) {
|
|
259
|
+
if (fs.existsSync(apiDir) && !onlyWeb) {
|
|
246
260
|
const mode = fs.existsSync(path.join(apiDir, AGGRED_DIR.lambda)) ? ApiServerMode.frame : ApiServerMode.func;
|
|
247
261
|
debug('exists api dir', mode); // if use lambda/, mean framework style of writing, then discard user extension
|
|
248
262
|
|
|
@@ -140,13 +140,7 @@ class ModernServer {
|
|
|
140
140
|
distDir,
|
|
141
141
|
staticGenerate,
|
|
142
142
|
conf
|
|
143
|
-
} = this;
|
|
144
|
-
|
|
145
|
-
this.addHandler((ctx, next) => {
|
|
146
|
-
ctx.res.setHeader('Access-Control-Allow-Origin', '*');
|
|
147
|
-
ctx.res.setHeader('Access-Control-Allow-Credentials', 'false');
|
|
148
|
-
next();
|
|
149
|
-
});
|
|
143
|
+
} = this;
|
|
150
144
|
(0, _utils2.debug)('final server conf', this.conf); // proxy handler, each proxy has own handler
|
|
151
145
|
|
|
152
146
|
this.proxyHandler = (0, _proxy.createProxyHandler)((_conf$bff = conf.bff) === null || _conf$bff === void 0 ? void 0 : _conf$bff.proxy);
|
|
@@ -196,8 +190,27 @@ class ModernServer {
|
|
|
196
190
|
onListening(_) {// empty
|
|
197
191
|
}
|
|
198
192
|
|
|
199
|
-
onServerChange(
|
|
200
|
-
|
|
193
|
+
onServerChange({
|
|
194
|
+
filepath
|
|
195
|
+
}) {
|
|
196
|
+
const {
|
|
197
|
+
pwd
|
|
198
|
+
} = this;
|
|
199
|
+
const {
|
|
200
|
+
api,
|
|
201
|
+
server
|
|
202
|
+
} = _constants.AGGRED_DIR;
|
|
203
|
+
|
|
204
|
+
const apiPath = _path.default.normalize(_path.default.join(pwd, api));
|
|
205
|
+
|
|
206
|
+
const serverPath = _path.default.normalize(_path.default.join(pwd, server));
|
|
207
|
+
|
|
208
|
+
const onlyApi = filepath.startsWith(apiPath);
|
|
209
|
+
const onlyWeb = filepath.startsWith(serverPath);
|
|
210
|
+
this.prepareFrameHandler({
|
|
211
|
+
onlyWeb,
|
|
212
|
+
onlyApi
|
|
213
|
+
});
|
|
201
214
|
} // exposed requestHandler
|
|
202
215
|
|
|
203
216
|
|
|
@@ -247,11 +260,15 @@ class ModernServer {
|
|
|
247
260
|
} // gather frame extension and get framework handler
|
|
248
261
|
|
|
249
262
|
|
|
250
|
-
async prepareFrameHandler() {
|
|
263
|
+
async prepareFrameHandler(options) {
|
|
251
264
|
const {
|
|
252
265
|
workDir,
|
|
253
266
|
runner
|
|
254
|
-
} = this;
|
|
267
|
+
} = this;
|
|
268
|
+
const {
|
|
269
|
+
onlyApi,
|
|
270
|
+
onlyWeb
|
|
271
|
+
} = options || {}; // server hook, gather plugin inject
|
|
255
272
|
|
|
256
273
|
const _createMiddlewareColl = (0, _utils2.createMiddlewareCollecter)(),
|
|
257
274
|
{
|
|
@@ -270,12 +287,12 @@ class ModernServer {
|
|
|
270
287
|
const serverDir = _path.default.join(workDir, SERVER_DIR); // get api or web server handler from server-framework plugin
|
|
271
288
|
|
|
272
289
|
|
|
273
|
-
if (await _utils.fs.pathExists(_path.default.join(serverDir))) {
|
|
290
|
+
if ((await _utils.fs.pathExists(_path.default.join(serverDir))) && !onlyApi) {
|
|
274
291
|
const webExtension = (0, _utils2.mergeExtension)(pluginWebExt);
|
|
275
292
|
this.frameWebHandler = await this.prepareWebHandler(webExtension);
|
|
276
293
|
}
|
|
277
294
|
|
|
278
|
-
if (_utils.fs.existsSync(apiDir)) {
|
|
295
|
+
if (_utils.fs.existsSync(apiDir) && !onlyWeb) {
|
|
279
296
|
const mode = _utils.fs.existsSync(_path.default.join(apiDir, _constants.AGGRED_DIR.lambda)) ? _constants.ApiServerMode.frame : _constants.ApiServerMode.func;
|
|
280
297
|
(0, _utils2.debug)('exists api dir', mode); // if use lambda/, mean framework style of writing, then discard user extension
|
|
281
298
|
|
|
@@ -45,13 +45,20 @@ export declare class ModernServer implements ModernServerInterface {
|
|
|
45
45
|
onClose(): Promise<void>;
|
|
46
46
|
onRepack(_: BuildOptions): void;
|
|
47
47
|
onListening(_: Server): void;
|
|
48
|
-
protected onServerChange(
|
|
48
|
+
protected onServerChange({
|
|
49
|
+
filepath
|
|
50
|
+
}: {
|
|
51
|
+
filepath: string;
|
|
52
|
+
}): void;
|
|
49
53
|
getRequestHandler(): (req: IncomingMessage, res: ServerResponse, next?: () => void) => void | ServerResponse;
|
|
50
54
|
createHTTPServer(handler: (req: IncomingMessage, res: ServerResponse, next?: () => void) => void): Promise<Server>;
|
|
51
55
|
protected getRoutes(): ModernRouteInterface[];
|
|
52
56
|
protected addHandler(handler: ModernServerHandler): void;
|
|
53
57
|
protected render404(context: ModernServerContext): void;
|
|
54
|
-
protected prepareFrameHandler(
|
|
58
|
+
protected prepareFrameHandler(options?: {
|
|
59
|
+
onlyApi: boolean;
|
|
60
|
+
onlyWeb: boolean;
|
|
61
|
+
}): Promise<void>;
|
|
55
62
|
protected prepareWebHandler(extension: ReturnType<typeof mergeExtension>): Promise<Adapter>;
|
|
56
63
|
protected prepareAPIHandler(mode: ApiServerMode, extension: APIServerStartInput['config']): Promise<Adapter>;
|
|
57
64
|
protected filterRoutes(routes: ModernRouteInterface[]): ModernRouteInterface[];
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "1.1.
|
|
14
|
+
"version": "1.1.7",
|
|
15
15
|
"jsnext:source": "./src/index.ts",
|
|
16
16
|
"types": "./dist/types/index.d.ts",
|
|
17
17
|
"main": "./dist/js/node/index.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@modern-js/utils": "^1.7.
|
|
31
|
+
"@modern-js/utils": "^1.7.6",
|
|
32
32
|
"@babel/compat-data": "^7.17.0",
|
|
33
33
|
"@modern-js/server-core": "^1.3.5",
|
|
34
34
|
"axios": "^0.24.0",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"ua-parser-js": "^0.7.28"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@modern-js/types": "1.5.
|
|
47
|
-
"@modern-js/core": "1.
|
|
46
|
+
"@modern-js/types": "1.5.4",
|
|
47
|
+
"@modern-js/core": "1.11.1",
|
|
48
48
|
"@scripts/jest-config": "0.0.0",
|
|
49
49
|
"@scripts/build": "0.0.0",
|
|
50
50
|
"@types/cookie": "^0.4.1",
|
|
@@ -86,7 +86,8 @@
|
|
|
86
86
|
"files": [
|
|
87
87
|
"src/**/*",
|
|
88
88
|
"tsconfig.json",
|
|
89
|
-
"package.json"
|
|
89
|
+
"package.json",
|
|
90
|
+
"tests/**/*"
|
|
90
91
|
],
|
|
91
92
|
"output": []
|
|
92
93
|
}
|