@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.
Files changed (39) hide show
  1. package/CHANGELOG.md +8 -8
  2. package/dist/js/modern/dev-tools/babel/register.js +2 -2
  3. package/dist/js/modern/dev-tools/mock/index.js +2 -1
  4. package/dist/js/modern/libs/render/cache/spr.js +2 -1
  5. package/dist/js/modern/libs/render/cache/type.js +1 -0
  6. package/dist/js/modern/libs/render/index.js +2 -1
  7. package/dist/js/modern/libs/render/ssr.js +2 -1
  8. package/dist/js/modern/libs/render/static.js +1 -1
  9. package/dist/js/modern/server/api-server.js +1 -3
  10. package/dist/js/modern/server/dev-server.js +2 -1
  11. package/dist/js/modern/server/index.js +2 -2
  12. package/dist/js/modern/server/modern-server.js +5 -4
  13. package/dist/js/modern/server/web-server.js +1 -3
  14. package/dist/js/modern/type.js +1 -0
  15. package/dist/js/node/dev-tools/babel/register.js +6 -4
  16. package/dist/js/node/dev-tools/mock/index.js +3 -1
  17. package/dist/js/node/libs/render/cache/spr.js +2 -1
  18. package/dist/js/node/libs/render/index.js +4 -2
  19. package/dist/js/node/libs/render/ssr.js +3 -1
  20. package/dist/js/node/libs/render/static.js +3 -3
  21. package/dist/js/node/server/api-server.js +0 -3
  22. package/dist/js/node/server/dev-server.js +3 -1
  23. package/dist/js/node/server/index.js +2 -2
  24. package/dist/js/node/server/modern-server.js +14 -12
  25. package/dist/js/node/server/web-server.js +0 -3
  26. package/dist/types/server/index.d.ts +1 -1
  27. package/dist/types/server/modern-server.d.ts +1 -1
  28. package/package.json +11 -11
  29. package/src/dev-tools/babel/register.ts +2 -2
  30. package/src/dev-tools/mock/index.ts +2 -1
  31. package/src/libs/render/cache/spr.ts +1 -0
  32. package/src/libs/render/index.ts +2 -1
  33. package/src/libs/render/ssr.ts +2 -1
  34. package/src/libs/render/static.ts +1 -1
  35. package/src/server/api-server.ts +0 -3
  36. package/src/server/dev-server.ts +2 -1
  37. package/src/server/index.ts +2 -2
  38. package/src/server/modern-server.ts +10 -5
  39. 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-2021101123127
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-2021101123127
10
- - @modern-js/utils@0.0.0-windows-2021101123127
11
- - @modern-js/bff-utils@0.0.0-windows-2021101123127
12
- - @modern-js/hmr-client@0.0.0-windows-2021101123127
13
- - @modern-js/server-plugin@0.0.0-windows-2021101123127
14
- - @modern-js/plugin-polyfill@0.0.0-windows-2021101123127
15
- - @modern-js/server-utils@0.0.0-windows-2021101123127
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 { path } from '@modern-js/utils';
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('node_modules/.modern-js')) {
21
+ if (filePath.includes(`node_modules${path.sep}.modern-js`)) {
22
22
  return true;
23
23
  }
24
24
 
@@ -1,4 +1,5 @@
1
- import { fs, path } from '@modern-js/utils';
1
+ import path from 'path';
2
+ import { fs } from '@modern-js/utils';
2
3
  import { match } from 'path-to-regexp';
3
4
  import getMockData from "./getMockData";
4
5
  import { AGGRED_DIR } from "../../constants";
@@ -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 +1,2 @@
1
+ export {};
1
2
  export {};
@@ -1,4 +1,5 @@
1
- import { fs, path } from '@modern-js/utils';
1
+ import path from 'path';
2
+ import { fs } from '@modern-js/utils';
2
3
  import mime from 'mime-types';
3
4
  import { handleDirectory } from "./static";
4
5
  import { readFile } from "./reader";
@@ -1,4 +1,5 @@
1
- import { path, SERVER_RENDER_FUNCTION_NAME } from '@modern-js/utils';
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,4 @@
1
- import { path } from '@modern-js/utils';
1
+ import path from 'path';
2
2
  import mime from 'mime-types';
3
3
  import { readFile } from "./reader";
4
4
  export async function handleDirectory(ctx, entryPath, urlPath) {
@@ -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 { path, HMR_SOCK_PATH } from '@modern-js/utils';
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 { path, fs, ROUTE_SPEC_FILE } from '@modern-js/utils';
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, () => {// empty
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
+ }
@@ -1 +1,2 @@
1
+ export {};
1
2
  export {};
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.enableRegister = void 0;
7
7
 
8
- var _utils = require("@modern-js/utils");
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 = _utils.path.resolve(projectRoot, TS_CONFIG_FILENAME);
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('node_modules/.modern-js')) {
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(_utils.path.join(projectRoot, registerDir)));
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 = _utils.path.join(pwd, `${_constants.AGGRED_DIR.mock}/index${ext}`);
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 = _utils.path.join(distDir, entryPath);
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(_utils.path.extname(templateHTML))
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 = _utils.path.join(distDir, bundle);
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 _utils = require("@modern-js/utils");
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 = _utils.path.join(entryPath, trimLeft(pathname, urlPath)); // If can match accurately, always return the one that matches accurately
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(_utils.path.extname(filepath) || ''); // automatic addressing
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 = _utils.path.join(distDir, bundle);
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 = _utils.path.join(pwd, config.output.path || '');
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: _utils.path.join(distDir, 'static')
153
+ target: _path.default.join(distDir, 'static')
152
154
  }, {
153
155
  path: '/upload/',
154
- target: _utils.path.join(distDir, 'upload')
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 = _utils.path.join(distDir, bundle); // if error, just throw and let process die
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 = _utils.path.join(this.distDir, _utils.ROUTE_SPEC_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 = _utils.path.join(workDir, API_DIR);
247
+ const apiDir = _path.default.join(workDir, API_DIR);
246
248
 
247
- const serverDir = _utils.path.join(workDir, SERVER_DIR); // get api or web server handler from server-framework plugin
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(_utils.path.join(serverDir))) {
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(_utils.path.join(apiDir, _constants.AGGRED_DIR.lambda)) ? _constants.ApiServerMode.frame : _constants.ApiServerMode.func; // if use lambda/, mean framework style of writing, then discard user extension
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, () => {// empty
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-2021101123127",
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-2021101123127",
37
- "@modern-js/hmr-client": "^0.0.0-windows-2021101123127",
38
- "@modern-js/plugin-polyfill": "^0.0.0-windows-2021101123127",
39
- "@modern-js/server-plugin": "^0.0.0-windows-2021101123127",
40
- "@modern-js/server-utils": "^0.0.0-windows-2021101123127",
41
- "@modern-js/bff-utils": "^0.0.0-windows-2021101123127",
42
- "@modern-js/utils": "^0.0.0-windows-2021101123127",
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-2021101123127",
66
- "@modern-js/plugin-testing": "^0.0.0-windows-2021101123127",
67
- "@modern-js/types": "^0.0.0-windows-2021101123127",
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 { path } from '@modern-js/utils';
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('node_modules/.modern-js')) {
25
+ if (filePath.includes(`node_modules${path.sep}.modern-js`)) {
26
26
  return true;
27
27
  }
28
28
  return registerDirs.some(registerDir =>
@@ -1,4 +1,5 @@
1
- import { fs, path } from '@modern-js/utils';
1
+ import path from 'path';
2
+ import { fs } from '@modern-js/utils';
2
3
  import { match } from 'path-to-regexp';
3
4
  import { NextFunction } from '../../type';
4
5
  import { ModernServerContext } from '../../libs/context';
@@ -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
 
@@ -1,4 +1,5 @@
1
- import { fs, path } from '@modern-js/utils';
1
+ import path from 'path';
2
+ import { fs } from '@modern-js/utils';
2
3
  import mime from 'mime-types';
3
4
  import { RenderResult } from '../../type';
4
5
  import { ModernRoute } from '../route';
@@ -1,4 +1,5 @@
1
- import { path, SERVER_RENDER_FUNCTION_NAME } from '@modern-js/utils';
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';
@@ -1,4 +1,4 @@
1
- import { path } from '@modern-js/utils';
1
+ import path from 'path';
2
2
  import mime from 'mime-types';
3
3
  import { RenderResult } from '../../type';
4
4
  import { ModernServerContext } from '../context';
@@ -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 */
@@ -1,5 +1,6 @@
1
1
  import http, { Server } from 'http';
2
- import { path, HMR_SOCK_PATH } from '@modern-js/utils';
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,
@@ -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 { path, fs, ROUTE_SPEC_FILE } from '@modern-js/utils';
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(req: IncomingMessage, res: ServerResponse) {
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
  }
@@ -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 */