@modern-js/server 0.0.0-windows-2021101123127 → 0.0.0-windows-20211056953
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 +8 -8
- package/dist/js/modern/dev-tools/babel/register.js +2 -2
- package/dist/js/modern/dev-tools/mock/index.js +2 -1
- package/dist/js/modern/libs/render/cache/spr.js +2 -1
- package/dist/js/modern/libs/render/cache/type.js +1 -0
- package/dist/js/modern/libs/render/index.js +2 -1
- package/dist/js/modern/libs/render/ssr.js +2 -1
- package/dist/js/modern/libs/render/static.js +1 -1
- package/dist/js/modern/server/api-server.js +1 -3
- package/dist/js/modern/server/dev-server.js +2 -1
- package/dist/js/modern/server/index.js +2 -2
- package/dist/js/modern/server/modern-server.js +5 -4
- package/dist/js/modern/server/web-server.js +1 -3
- package/dist/js/modern/type.js +1 -0
- package/dist/js/node/dev-tools/babel/register.js +6 -4
- package/dist/js/node/dev-tools/mock/index.js +3 -1
- package/dist/js/node/libs/render/cache/spr.js +2 -1
- package/dist/js/node/libs/render/index.js +4 -2
- package/dist/js/node/libs/render/ssr.js +3 -1
- package/dist/js/node/libs/render/static.js +3 -3
- package/dist/js/node/server/api-server.js +0 -3
- package/dist/js/node/server/dev-server.js +3 -1
- package/dist/js/node/server/index.js +2 -2
- package/dist/js/node/server/modern-server.js +14 -12
- package/dist/js/node/server/web-server.js +0 -3
- package/dist/types/server/index.d.ts +1 -1
- package/dist/types/server/modern-server.d.ts +1 -1
- package/package.json +11 -11
- package/src/dev-tools/babel/register.ts +2 -2
- package/src/dev-tools/mock/index.ts +2 -1
- package/src/libs/render/cache/spr.ts +1 -0
- package/src/libs/render/index.ts +2 -1
- package/src/libs/render/ssr.ts +2 -1
- package/src/libs/render/static.ts +1 -1
- package/src/server/api-server.ts +0 -3
- package/src/server/dev-server.ts +2 -1
- package/src/server/index.ts +2 -2
- package/src/server/modern-server.ts +10 -5
- package/src/server/web-server.ts +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# @modern-js/server
|
|
2
2
|
|
|
3
|
-
## 0.0.0-windows-
|
|
3
|
+
## 0.0.0-windows-20211056953
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
7
|
- test windows
|
|
8
8
|
- Updated dependencies [undefined]
|
|
9
|
-
- @modern-js/core@0.0.0-windows-
|
|
10
|
-
- @modern-js/utils@0.0.0-windows-
|
|
11
|
-
- @modern-js/
|
|
12
|
-
- @modern-js/
|
|
13
|
-
- @modern-js/
|
|
14
|
-
- @modern-js/
|
|
15
|
-
- @modern-js/
|
|
9
|
+
- @modern-js/core@0.0.0-windows-20211056953
|
|
10
|
+
- @modern-js/bff-utils@0.0.0-windows-20211056953
|
|
11
|
+
- @modern-js/hmr-client@0.0.0-windows-20211056953
|
|
12
|
+
- @modern-js/server-plugin@0.0.0-windows-20211056953
|
|
13
|
+
- @modern-js/plugin-polyfill@0.0.0-windows-20211056953
|
|
14
|
+
- @modern-js/server-utils@0.0.0-windows-20211056953
|
|
15
|
+
- @modern-js/utils@0.0.0-windows-20211056953
|
|
16
16
|
|
|
17
17
|
## 1.0.0
|
|
18
18
|
|
|
@@ -4,7 +4,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
4
4
|
|
|
5
5
|
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; }
|
|
6
6
|
|
|
7
|
-
import
|
|
7
|
+
import path from 'path';
|
|
8
8
|
import { resolveBabelConfig } from '@modern-js/server-utils';
|
|
9
9
|
const registerDirs = ['./api', './server', './config/mock', './shared'];
|
|
10
10
|
export const enableRegister = (projectRoot, config) => {
|
|
@@ -18,7 +18,7 @@ export const enableRegister = (projectRoot, config) => {
|
|
|
18
18
|
return require('@babel/register')(_objectSpread(_objectSpread({}, babelConfig), {}, {
|
|
19
19
|
only: [function (filePath) {
|
|
20
20
|
// TODO: wait params
|
|
21
|
-
if (filePath.includes(
|
|
21
|
+
if (filePath.includes(`node_modules${path.sep}.modern-js`)) {
|
|
22
22
|
return true;
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -221,7 +221,8 @@ class CacheManager {
|
|
|
221
221
|
let data = this.cache.get(cacheKey);
|
|
222
222
|
|
|
223
223
|
if (!data) {
|
|
224
|
-
const caches = await createPageCaches(MAX_CACHE_EACH_REQ);
|
|
224
|
+
const caches = await createPageCaches(MAX_CACHE_EACH_REQ); // eslint-disable-next-line require-atomic-updates
|
|
225
|
+
|
|
225
226
|
data = this.createCacheContent(cacheConfig, caches);
|
|
226
227
|
}
|
|
227
228
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { SERVER_RENDER_FUNCTION_NAME } from '@modern-js/utils';
|
|
2
3
|
import mime from 'mime-types';
|
|
3
4
|
import cache from "./cache";
|
|
4
5
|
export const render = async (ctx, renderOptions) => {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
1
|
import { ModernDevServer } from "./dev-server";
|
|
3
2
|
import { ModernServer } from "./modern-server";
|
|
4
3
|
export class APIModernServer extends ModernServer {
|
|
@@ -34,5 +33,4 @@ export class APIModernDevServer extends ModernDevServer {
|
|
|
34
33
|
async preServerInit() {// noop
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
}
|
|
38
|
-
/* eslint-enable max-classes-per-file */
|
|
36
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { HMR_SOCK_PATH } from '@modern-js/utils';
|
|
2
3
|
import webpackDevMiddleware from 'webpack-dev-middleware';
|
|
3
4
|
import { createMockHandler } from "../dev-tools/mock";
|
|
4
5
|
import { createProxyHandler } from "../libs/proxy";
|
|
@@ -27,9 +27,9 @@ export class Server {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
getRequestHandler() {
|
|
30
|
-
return (req, res) => {
|
|
30
|
+
return (req, res, next) => {
|
|
31
31
|
const requestHandler = this.server.getRequestHandler();
|
|
32
|
-
return requestHandler(req, res);
|
|
32
|
+
return requestHandler(req, res, next);
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -12,7 +12,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
12
12
|
|
|
13
13
|
/* eslint-disable max-lines */
|
|
14
14
|
import util from 'util';
|
|
15
|
-
import
|
|
15
|
+
import path from 'path';
|
|
16
|
+
import { fs, ROUTE_SPEC_FILE } from '@modern-js/utils';
|
|
16
17
|
import { gather, createMiddlewareCollecter } from '@modern-js/server-utils';
|
|
17
18
|
import mime from 'mime-types';
|
|
18
19
|
import axios from 'axios';
|
|
@@ -453,7 +454,8 @@ export class ModernServer {
|
|
|
453
454
|
};
|
|
454
455
|
}
|
|
455
456
|
|
|
456
|
-
requestHandler(req, res) {
|
|
457
|
+
requestHandler(req, res, next = () => {// empty
|
|
458
|
+
}) {
|
|
457
459
|
res.statusCode = 200;
|
|
458
460
|
const context = createContext(req, res, {
|
|
459
461
|
logger: this.logger,
|
|
@@ -461,8 +463,7 @@ export class ModernServer {
|
|
|
461
463
|
});
|
|
462
464
|
|
|
463
465
|
try {
|
|
464
|
-
this._handler(context,
|
|
465
|
-
});
|
|
466
|
+
this._handler(context, next);
|
|
466
467
|
} catch (err) {
|
|
467
468
|
this.onError(context, err);
|
|
468
469
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
1
|
import { ModernDevServer } from "./dev-server";
|
|
3
2
|
import { ModernServer } from "./modern-server";
|
|
4
3
|
export class WebModernServer extends ModernServer {
|
|
@@ -28,5 +27,4 @@ export class WebModernDevServer extends ModernDevServer {
|
|
|
28
27
|
return routes.filter(route => route.entryName);
|
|
29
28
|
}
|
|
30
29
|
|
|
31
|
-
}
|
|
32
|
-
/* eslint-enable max-classes-per-file */
|
|
30
|
+
}
|
package/dist/js/modern/type.js
CHANGED
|
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.enableRegister = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
9
|
|
|
10
10
|
var _serverUtils = require("@modern-js/server-utils");
|
|
11
11
|
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
12
14
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
15
|
|
|
14
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -20,7 +22,7 @@ const registerDirs = ['./api', './server', './config/mock', './shared'];
|
|
|
20
22
|
const enableRegister = (projectRoot, config) => {
|
|
21
23
|
const TS_CONFIG_FILENAME = `tsconfig.json`;
|
|
22
24
|
|
|
23
|
-
const tsconfigPath =
|
|
25
|
+
const tsconfigPath = _path.default.resolve(projectRoot, TS_CONFIG_FILENAME);
|
|
24
26
|
|
|
25
27
|
const babelConfig = (0, _serverUtils.resolveBabelConfig)(projectRoot, config, {
|
|
26
28
|
tsconfigPath,
|
|
@@ -30,11 +32,11 @@ const enableRegister = (projectRoot, config) => {
|
|
|
30
32
|
return require('@babel/register')(_objectSpread(_objectSpread({}, babelConfig), {}, {
|
|
31
33
|
only: [function (filePath) {
|
|
32
34
|
// TODO: wait params
|
|
33
|
-
if (filePath.includes(
|
|
35
|
+
if (filePath.includes(`node_modules${_path.default.sep}.modern-js`)) {
|
|
34
36
|
return true;
|
|
35
37
|
}
|
|
36
38
|
|
|
37
|
-
return registerDirs.some(registerDir => filePath.startsWith(
|
|
39
|
+
return registerDirs.some(registerDir => filePath.startsWith(_path.default.join(projectRoot, registerDir)));
|
|
38
40
|
}],
|
|
39
41
|
extensions: ['.js', '.ts'],
|
|
40
42
|
babelrc: false,
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createMockHandler = void 0;
|
|
7
7
|
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
8
10
|
var _utils = require("@modern-js/utils");
|
|
9
11
|
|
|
10
12
|
var _pathToRegexp = require("path-to-regexp");
|
|
@@ -45,7 +47,7 @@ const createMockHandler = ({
|
|
|
45
47
|
let filepath = '';
|
|
46
48
|
|
|
47
49
|
for (const ext of exts) {
|
|
48
|
-
const maybeMatch =
|
|
50
|
+
const maybeMatch = _path.default.join(pwd, `${_constants.AGGRED_DIR.mock}/index${ext}`);
|
|
49
51
|
|
|
50
52
|
if (_utils.fs.existsSync(maybeMatch)) {
|
|
51
53
|
filepath = maybeMatch;
|
|
@@ -237,7 +237,8 @@ class CacheManager {
|
|
|
237
237
|
let data = this.cache.get(cacheKey);
|
|
238
238
|
|
|
239
239
|
if (!data) {
|
|
240
|
-
const caches = await (0, _pageCaches.createPageCaches)(MAX_CACHE_EACH_REQ);
|
|
240
|
+
const caches = await (0, _pageCaches.createPageCaches)(MAX_CACHE_EACH_REQ); // eslint-disable-next-line require-atomic-updates
|
|
241
|
+
|
|
241
242
|
data = this.createCacheContent(cacheConfig, caches);
|
|
242
243
|
}
|
|
243
244
|
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createRenderHandler = void 0;
|
|
7
7
|
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
8
10
|
var _utils = require("@modern-js/utils");
|
|
9
11
|
|
|
10
12
|
var _mimeTypes = _interopRequireDefault(require("mime-types"));
|
|
@@ -38,7 +40,7 @@ const createRenderHandler = ({
|
|
|
38
40
|
urlPath
|
|
39
41
|
} = route;
|
|
40
42
|
|
|
41
|
-
const entry =
|
|
43
|
+
const entry = _path.default.join(distDir, entryPath);
|
|
42
44
|
|
|
43
45
|
if (!route.isSPA) {
|
|
44
46
|
const result = await (0, _static.handleDirectory)(ctx, entry, urlPath);
|
|
@@ -77,7 +79,7 @@ const createRenderHandler = ({
|
|
|
77
79
|
|
|
78
80
|
return {
|
|
79
81
|
content,
|
|
80
|
-
contentType: _mimeTypes.default.contentType(
|
|
82
|
+
contentType: _mimeTypes.default.contentType(_path.default.extname(templateHTML))
|
|
81
83
|
};
|
|
82
84
|
};
|
|
83
85
|
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.render = void 0;
|
|
7
7
|
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
8
10
|
var _utils = require("@modern-js/utils");
|
|
9
11
|
|
|
10
12
|
var _mimeTypes = _interopRequireDefault(require("mime-types"));
|
|
@@ -22,7 +24,7 @@ const render = async (ctx, renderOptions) => {
|
|
|
22
24
|
staticGenerate
|
|
23
25
|
} = renderOptions;
|
|
24
26
|
|
|
25
|
-
const bundleJS =
|
|
27
|
+
const bundleJS = _path.default.join(distDir, bundle);
|
|
26
28
|
|
|
27
29
|
const context = {
|
|
28
30
|
request: {
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.handleDirectory = handleDirectory;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
9
|
|
|
10
10
|
var _mimeTypes = _interopRequireDefault(require("mime-types"));
|
|
11
11
|
|
|
@@ -18,12 +18,12 @@ async function handleDirectory(ctx, entryPath, urlPath) {
|
|
|
18
18
|
path: pathname
|
|
19
19
|
} = ctx;
|
|
20
20
|
|
|
21
|
-
const filepath =
|
|
21
|
+
const filepath = _path.default.join(entryPath, trimLeft(pathname, urlPath)); // If can match accurately, always return the one that matches accurately
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
let content = await (0, _reader.readFile)(filepath);
|
|
25
25
|
|
|
26
|
-
let contentType = _mimeTypes.default.contentType(
|
|
26
|
+
let contentType = _mimeTypes.default.contentType(_path.default.extname(filepath) || ''); // automatic addressing
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
if (!content) {
|
|
@@ -9,7 +9,6 @@ var _devServer = require("./dev-server");
|
|
|
9
9
|
|
|
10
10
|
var _modernServer = require("./modern-server");
|
|
11
11
|
|
|
12
|
-
/* eslint-disable max-classes-per-file */
|
|
13
12
|
class APIModernServer extends _modernServer.ModernServer {
|
|
14
13
|
prepareWebHandler(_) {
|
|
15
14
|
return null;
|
|
@@ -47,7 +46,5 @@ class APIModernDevServer extends _devServer.ModernDevServer {
|
|
|
47
46
|
}
|
|
48
47
|
|
|
49
48
|
}
|
|
50
|
-
/* eslint-enable max-classes-per-file */
|
|
51
|
-
|
|
52
49
|
|
|
53
50
|
exports.APIModernDevServer = APIModernDevServer;
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.ModernDevServer = void 0;
|
|
7
7
|
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
|
|
8
10
|
var _utils = require("@modern-js/utils");
|
|
9
11
|
|
|
10
12
|
var _webpackDevMiddleware = _interopRequireDefault(require("webpack-dev-middleware"));
|
|
@@ -219,7 +221,7 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
219
221
|
} = this;
|
|
220
222
|
const bundles = this.router.getBundles();
|
|
221
223
|
bundles.forEach(bundle => {
|
|
222
|
-
const filepath =
|
|
224
|
+
const filepath = _path.default.join(distDir, bundle);
|
|
223
225
|
|
|
224
226
|
if (require.cache[filepath]) {
|
|
225
227
|
delete require.cache[filepath];
|
|
@@ -44,9 +44,9 @@ class Server {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
getRequestHandler() {
|
|
47
|
-
return (req, res) => {
|
|
47
|
+
return (req, res, next) => {
|
|
48
48
|
const requestHandler = this.server.getRequestHandler();
|
|
49
|
-
return requestHandler(req, res);
|
|
49
|
+
return requestHandler(req, res, next);
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -7,6 +7,8 @@ exports.ModernServer = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _util = _interopRequireDefault(require("util"));
|
|
9
9
|
|
|
10
|
+
var _path = _interopRequireDefault(require("path"));
|
|
11
|
+
|
|
10
12
|
var _utils = require("@modern-js/utils");
|
|
11
13
|
|
|
12
14
|
var _serverUtils = require("@modern-js/server-utils");
|
|
@@ -90,7 +92,7 @@ class ModernServer {
|
|
|
90
92
|
|
|
91
93
|
this.isDev = Boolean(dev);
|
|
92
94
|
this.pwd = pwd;
|
|
93
|
-
this.distDir =
|
|
95
|
+
this.distDir = _path.default.join(pwd, config.output.path || '');
|
|
94
96
|
this.workDir = this.isDev ? pwd : this.distDir;
|
|
95
97
|
this.conf = config;
|
|
96
98
|
this.runner = runner;
|
|
@@ -148,10 +150,10 @@ class ModernServer {
|
|
|
148
150
|
await this.prepareFrameHandler();
|
|
149
151
|
this.staticFileHandler = (0, _serveFile.createStaticFileHandler)([{
|
|
150
152
|
path: '/static/',
|
|
151
|
-
target:
|
|
153
|
+
target: _path.default.join(distDir, 'static')
|
|
152
154
|
}, {
|
|
153
155
|
path: '/upload/',
|
|
154
|
-
target:
|
|
156
|
+
target: _path.default.join(distDir, 'upload')
|
|
155
157
|
}]);
|
|
156
158
|
this.routeRenderHandler = (0, _render.createRenderHandler)({
|
|
157
159
|
distDir,
|
|
@@ -183,7 +185,7 @@ class ModernServer {
|
|
|
183
185
|
} = this;
|
|
184
186
|
const bundles = this.router.getBundles();
|
|
185
187
|
bundles.forEach(bundle => {
|
|
186
|
-
const filepath =
|
|
188
|
+
const filepath = _path.default.join(distDir, bundle); // if error, just throw and let process die
|
|
187
189
|
|
|
188
190
|
|
|
189
191
|
require(filepath);
|
|
@@ -192,7 +194,7 @@ class ModernServer {
|
|
|
192
194
|
|
|
193
195
|
|
|
194
196
|
readRouteSpec() {
|
|
195
|
-
const file =
|
|
197
|
+
const file = _path.default.join(this.distDir, _utils.ROUTE_SPEC_FILE);
|
|
196
198
|
|
|
197
199
|
if (_utils.fs.existsSync(file)) {
|
|
198
200
|
const content = _utils.fs.readJSONSync(file);
|
|
@@ -242,18 +244,18 @@ class ModernServer {
|
|
|
242
244
|
web: pluginWebExt
|
|
243
245
|
} = getMiddlewares();
|
|
244
246
|
|
|
245
|
-
const apiDir =
|
|
247
|
+
const apiDir = _path.default.join(workDir, API_DIR);
|
|
246
248
|
|
|
247
|
-
const serverDir =
|
|
249
|
+
const serverDir = _path.default.join(workDir, SERVER_DIR); // get api or web server handler from server-framework plugin
|
|
248
250
|
|
|
249
251
|
|
|
250
|
-
if (await _utils.fs.pathExists(
|
|
252
|
+
if (await _utils.fs.pathExists(_path.default.join(serverDir))) {
|
|
251
253
|
const webExtension = (0, _utils2.mergeExtension)(pluginWebExt, userWebExt);
|
|
252
254
|
this.frameWebHandler = await this.prepareWebHandler(webExtension);
|
|
253
255
|
}
|
|
254
256
|
|
|
255
257
|
if (_utils.fs.existsSync(apiDir)) {
|
|
256
|
-
const mode = _utils.fs.existsSync(
|
|
258
|
+
const mode = _utils.fs.existsSync(_path.default.join(apiDir, _constants.AGGRED_DIR.lambda)) ? _constants.ApiServerMode.frame : _constants.ApiServerMode.func; // if use lambda/, mean framework style of writing, then discard user extension
|
|
257
259
|
|
|
258
260
|
const apiExtension = (0, _utils2.mergeExtension)(pluginAPIExt, mode === _constants.ApiServerMode.frame ? [] : userAPIExt);
|
|
259
261
|
this.frameAPIHandler = await this.prepareAPIHandler(mode, apiExtension);
|
|
@@ -485,7 +487,8 @@ class ModernServer {
|
|
|
485
487
|
};
|
|
486
488
|
}
|
|
487
489
|
|
|
488
|
-
requestHandler(req, res) {
|
|
490
|
+
requestHandler(req, res, next = () => {// empty
|
|
491
|
+
}) {
|
|
489
492
|
res.statusCode = 200;
|
|
490
493
|
const context = (0, _context.createContext)(req, res, {
|
|
491
494
|
logger: this.logger,
|
|
@@ -493,8 +496,7 @@ class ModernServer {
|
|
|
493
496
|
});
|
|
494
497
|
|
|
495
498
|
try {
|
|
496
|
-
this._handler(context,
|
|
497
|
-
});
|
|
499
|
+
this._handler(context, next);
|
|
498
500
|
} catch (err) {
|
|
499
501
|
this.onError(context, err);
|
|
500
502
|
}
|
|
@@ -9,7 +9,6 @@ var _devServer = require("./dev-server");
|
|
|
9
9
|
|
|
10
10
|
var _modernServer = require("./modern-server");
|
|
11
11
|
|
|
12
|
-
/* eslint-disable max-classes-per-file */
|
|
13
12
|
class WebModernServer extends _modernServer.ModernServer {
|
|
14
13
|
prepareAPIHandler(_m, _) {
|
|
15
14
|
return null;
|
|
@@ -41,7 +40,5 @@ class WebModernDevServer extends _devServer.ModernDevServer {
|
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
}
|
|
44
|
-
/* eslint-enable max-classes-per-file */
|
|
45
|
-
|
|
46
43
|
|
|
47
44
|
exports.WebModernDevServer = WebModernDevServer;
|
|
@@ -7,7 +7,7 @@ export declare class Server {
|
|
|
7
7
|
private app;
|
|
8
8
|
private runner;
|
|
9
9
|
constructor(options: ModernServerOptions);
|
|
10
|
-
getRequestHandler(): (req: IncomingMessage, res: ServerResponse) => void;
|
|
10
|
+
getRequestHandler(): (req: IncomingMessage, res: ServerResponse, next?: (() => void) | undefined) => void;
|
|
11
11
|
ready(readyOptions?: ReadyOptions): void;
|
|
12
12
|
init(): Promise<this>;
|
|
13
13
|
listen(port: number | undefined, listener: any): void;
|
|
@@ -37,7 +37,7 @@ export declare class ModernServer {
|
|
|
37
37
|
logger,
|
|
38
38
|
measure
|
|
39
39
|
}: ModernServerOptions, runner: ServerHookRunner);
|
|
40
|
-
getRequestHandler(): (req: IncomingMessage, res: ServerResponse) => void;
|
|
40
|
+
getRequestHandler(): (req: IncomingMessage, res: ServerResponse, next?: () => void) => void;
|
|
41
41
|
init(): Promise<void>;
|
|
42
42
|
ready(_: ReadyOptions): void;
|
|
43
43
|
onListening(_: Server): void;
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "0.0.0-windows-
|
|
14
|
+
"version": "0.0.0-windows-20211056953",
|
|
15
15
|
"jsnext:source": "./src/index.ts",
|
|
16
16
|
"types": "./dist/types/index.d.ts",
|
|
17
17
|
"main": "./dist/js/node/index.js",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"@babel/preset-typescript": "^7.15.0",
|
|
34
34
|
"@babel/register": "^7.15.3",
|
|
35
35
|
"@babel/runtime": "^7",
|
|
36
|
-
"@modern-js/core": "^0.0.0-windows-
|
|
37
|
-
"@modern-js/hmr-client": "^0.0.0-windows-
|
|
38
|
-
"@modern-js/plugin-polyfill": "^0.0.0-windows-
|
|
39
|
-
"@modern-js/server-plugin": "^0.0.0-windows-
|
|
40
|
-
"@modern-js/server-utils": "^0.0.0-windows-
|
|
41
|
-
"@modern-js/bff-utils": "^0.0.0-windows-
|
|
42
|
-
"@modern-js/utils": "^0.0.0-windows-
|
|
36
|
+
"@modern-js/core": "^0.0.0-windows-20211056953",
|
|
37
|
+
"@modern-js/hmr-client": "^0.0.0-windows-20211056953",
|
|
38
|
+
"@modern-js/plugin-polyfill": "^0.0.0-windows-20211056953",
|
|
39
|
+
"@modern-js/server-plugin": "^0.0.0-windows-20211056953",
|
|
40
|
+
"@modern-js/server-utils": "^0.0.0-windows-20211056953",
|
|
41
|
+
"@modern-js/bff-utils": "^0.0.0-windows-20211056953",
|
|
42
|
+
"@modern-js/utils": "^0.0.0-windows-20211056953",
|
|
43
43
|
"axios": "^0.21.4",
|
|
44
44
|
"babel-plugin-module-resolver": "^4.1.0",
|
|
45
45
|
"chokidar": "^3.5.2",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"ws": "^8.2.0"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@modern-js/module-tools": "^0.0.0-windows-
|
|
66
|
-
"@modern-js/plugin-testing": "^0.0.0-windows-
|
|
67
|
-
"@modern-js/types": "^0.0.0-windows-
|
|
65
|
+
"@modern-js/module-tools": "^0.0.0-windows-20211056953",
|
|
66
|
+
"@modern-js/plugin-testing": "^0.0.0-windows-20211056953",
|
|
67
|
+
"@modern-js/types": "^0.0.0-windows-20211056953",
|
|
68
68
|
"@types/jest": "^26",
|
|
69
69
|
"@types/lru-cache": "^5.1.1",
|
|
70
70
|
"@types/mime-types": "^2.1.0",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from 'path';
|
|
2
2
|
import { resolveBabelConfig } from '@modern-js/server-utils';
|
|
3
3
|
import { ModernServerOptions } from '../../type';
|
|
4
4
|
|
|
@@ -22,7 +22,7 @@ export const enableRegister = (
|
|
|
22
22
|
only: [
|
|
23
23
|
function (filePath: string) {
|
|
24
24
|
// TODO: wait params
|
|
25
|
-
if (filePath.includes(
|
|
25
|
+
if (filePath.includes(`node_modules${path.sep}.modern-js`)) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
28
|
return registerDirs.some(registerDir =>
|
|
@@ -236,6 +236,7 @@ class CacheManager {
|
|
|
236
236
|
let data = this.cache.get(cacheKey);
|
|
237
237
|
if (!data) {
|
|
238
238
|
const caches = await createPageCaches(MAX_CACHE_EACH_REQ);
|
|
239
|
+
// eslint-disable-next-line require-atomic-updates
|
|
239
240
|
data = this.createCacheContent(cacheConfig, caches);
|
|
240
241
|
}
|
|
241
242
|
|
package/src/libs/render/index.ts
CHANGED
package/src/libs/render/ssr.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { SERVER_RENDER_FUNCTION_NAME } from '@modern-js/utils';
|
|
2
3
|
import mime from 'mime-types';
|
|
3
4
|
import { ModernServerContext } from '../context';
|
|
4
5
|
import { RenderResult } from '../../type';
|
package/src/server/api-server.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
1
|
import { ModernDevServer } from './dev-server';
|
|
3
2
|
import { ModernServer } from './modern-server';
|
|
4
3
|
import { mergeExtension } from '@/utils';
|
|
@@ -46,5 +45,3 @@ export class APIModernDevServer extends ModernDevServer {
|
|
|
46
45
|
// noop
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
|
-
|
|
50
|
-
/* eslint-enable max-classes-per-file */
|
package/src/server/dev-server.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import http, { Server } from 'http';
|
|
2
|
-
import
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { HMR_SOCK_PATH } from '@modern-js/utils';
|
|
3
4
|
import type { MultiCompiler, Compiler } from 'webpack';
|
|
4
5
|
import webpackDevMiddleware, {
|
|
5
6
|
WebpackDevMiddleware,
|
package/src/server/index.ts
CHANGED
|
@@ -36,9 +36,9 @@ export class Server {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
public getRequestHandler() {
|
|
39
|
-
return (req: IncomingMessage, res: ServerResponse) => {
|
|
39
|
+
return (req: IncomingMessage, res: ServerResponse, next?: () => void) => {
|
|
40
40
|
const requestHandler = this.server.getRequestHandler();
|
|
41
|
-
return requestHandler(req, res);
|
|
41
|
+
return requestHandler(req, res, next);
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
2
|
import { IncomingMessage, ServerResponse, Server } from 'http';
|
|
3
3
|
import util from 'util';
|
|
4
|
-
import
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { fs, ROUTE_SPEC_FILE } from '@modern-js/utils';
|
|
5
6
|
import { Adapter } from '@modern-js/server-plugin';
|
|
6
7
|
import { gather, createMiddlewareCollecter } from '@modern-js/server-utils';
|
|
7
8
|
import type { NormalizedConfig } from '@modern-js/core';
|
|
@@ -477,7 +478,13 @@ export class ModernServer {
|
|
|
477
478
|
};
|
|
478
479
|
}
|
|
479
480
|
|
|
480
|
-
private requestHandler(
|
|
481
|
+
private requestHandler(
|
|
482
|
+
req: IncomingMessage,
|
|
483
|
+
res: ServerResponse,
|
|
484
|
+
next = () => {
|
|
485
|
+
// empty
|
|
486
|
+
},
|
|
487
|
+
) {
|
|
481
488
|
res.statusCode = 200;
|
|
482
489
|
const context: ModernServerContext = createContext(req, res, {
|
|
483
490
|
logger: this.logger,
|
|
@@ -485,9 +492,7 @@ export class ModernServer {
|
|
|
485
492
|
});
|
|
486
493
|
|
|
487
494
|
try {
|
|
488
|
-
this._handler(context,
|
|
489
|
-
// empty
|
|
490
|
-
});
|
|
495
|
+
this._handler(context, next);
|
|
491
496
|
} catch (err) {
|
|
492
497
|
this.onError(context, err as Error);
|
|
493
498
|
}
|
package/src/server/web-server.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
1
|
import { ModernDevServer } from './dev-server';
|
|
3
2
|
import { ModernServer } from './modern-server';
|
|
4
3
|
import { mergeExtension } from '@/utils';
|
|
@@ -42,4 +41,3 @@ export class WebModernDevServer extends ModernDevServer {
|
|
|
42
41
|
return routes.filter(route => route.entryName);
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
|
-
/* eslint-enable max-classes-per-file */
|