@modern-js/server 2.6.0 → 2.7.0

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 (27) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/dev-tools/dev-middleware/index.js +2 -2
  3. package/dist/cjs/dev-tools/dev-middleware/{socket-server.js → socketServer.js} +3 -3
  4. package/dist/cjs/dev-tools/watcher/{dependency-tree.js → dependencyTree.js} +3 -3
  5. package/dist/cjs/dev-tools/watcher/index.js +4 -4
  6. package/dist/cjs/dev-tools/watcher/{stats-cache.js → statsCache.js} +3 -3
  7. package/dist/cjs/server/{dev-server.js → devServer.js} +14 -6
  8. package/dist/cjs/server/index.js +2 -2
  9. package/dist/esm/dev-tools/dev-middleware/index.js +1 -1
  10. package/dist/esm/dev-tools/watcher/index.js +2 -2
  11. package/dist/esm/server/{dev-server.js → devServer.js} +27 -5
  12. package/dist/esm/server/index.js +1 -1
  13. package/dist/esm-node/dev-tools/dev-middleware/index.js +1 -1
  14. package/dist/esm-node/dev-tools/watcher/index.js +2 -2
  15. package/dist/esm-node/server/{dev-server.js → devServer.js} +11 -3
  16. package/dist/esm-node/server/index.js +1 -1
  17. package/dist/types/server/{dev-server.d.ts → devServer.d.ts} +4 -1
  18. package/package.json +8 -8
  19. /package/dist/esm/dev-tools/dev-middleware/{socket-server.js → socketServer.js} +0 -0
  20. /package/dist/esm/dev-tools/watcher/{dependency-tree.js → dependencyTree.js} +0 -0
  21. /package/dist/esm/dev-tools/watcher/{stats-cache.js → statsCache.js} +0 -0
  22. /package/dist/esm-node/dev-tools/dev-middleware/{socket-server.js → socketServer.js} +0 -0
  23. /package/dist/esm-node/dev-tools/watcher/{dependency-tree.js → dependencyTree.js} +0 -0
  24. /package/dist/esm-node/dev-tools/watcher/{stats-cache.js → statsCache.js} +0 -0
  25. /package/dist/types/dev-tools/dev-middleware/{socket-server.d.ts → socketServer.d.ts} +0 -0
  26. /package/dist/types/dev-tools/watcher/{dependency-tree.d.ts → dependencyTree.d.ts} +0 -0
  27. /package/dist/types/dev-tools/watcher/{stats-cache.d.ts → statsCache.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @modern-js/server
2
2
 
3
+ ## 2.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 84bfb439b8: feat: support custom apiDir, lambdaDir and style of writing for bff
8
+ feat: 支持定制 api 目录,lambda 目录,bff 的写法
9
+
10
+ ### Patch Changes
11
+
12
+ - 6378e26bf9: fix: modern server not serve static file in developmenet env, dev-server-middleware serve it
13
+ fix: modern server 在开发环境不再托管静态文件,dev-server-middleware 托管他们
14
+ - 7fff9020e1: chore: make file naming consistent
15
+
16
+ chore: 统一文件命名为小驼峰格式
17
+
18
+ - 1eea234fdd: chore: make test files naming consistent
19
+
20
+ chore: 统一测试文件命名为小驼峰格式
21
+
22
+ - Updated dependencies [0f15fc597c]
23
+ - Updated dependencies [dcad887024]
24
+ - Updated dependencies [a4672f7c16]
25
+ - Updated dependencies [7fff9020e1]
26
+ - Updated dependencies [1eea234fdd]
27
+ - Updated dependencies [84bfb439b8]
28
+ - @modern-js/utils@2.7.0
29
+ - @modern-js/types@2.7.0
30
+ - @modern-js/prod-server@2.7.0
31
+ - @modern-js/server-utils@2.7.0
32
+
3
33
  ## 2.6.0
4
34
 
5
35
  ### Patch Changes
@@ -31,7 +31,7 @@ __export(dev_middleware_exports, {
31
31
  });
32
32
  module.exports = __toCommonJS(dev_middleware_exports);
33
33
  var import_events = require("events");
34
- var import_socket_server = __toESM(require("./socket-server"));
34
+ var import_socketServer = __toESM(require("./socketServer"));
35
35
  const noop = () => {
36
36
  };
37
37
  function getHMRClientPath(client) {
@@ -46,7 +46,7 @@ class DevMiddleware extends import_events.EventEmitter {
46
46
  constructor({ dev, devMiddleware }) {
47
47
  super();
48
48
  this.devOptions = dev;
49
- this.socketServer = new import_socket_server.default(dev);
49
+ this.socketServer = new import_socketServer.default(dev);
50
50
  if (devMiddleware) {
51
51
  this.middleware = this.setupDevMiddleware(devMiddleware);
52
52
  }
@@ -25,11 +25,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var socket_server_exports = {};
29
- __export(socket_server_exports, {
28
+ var socketServer_exports = {};
29
+ __export(socketServer_exports, {
30
30
  default: () => SocketServer
31
31
  });
32
- module.exports = __toCommonJS(socket_server_exports);
32
+ module.exports = __toCommonJS(socketServer_exports);
33
33
  var import_ws = __toESM(require("ws"));
34
34
  var import_utils = require("@modern-js/utils");
35
35
  class SocketServer {
@@ -25,12 +25,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var dependency_tree_exports = {};
29
- __export(dependency_tree_exports, {
28
+ var dependencyTree_exports = {};
29
+ __export(dependencyTree_exports, {
30
30
  DependencyTree: () => DependencyTree,
31
31
  defaultIgnores: () => defaultIgnores
32
32
  });
33
- module.exports = __toCommonJS(dependency_tree_exports);
33
+ module.exports = __toCommonJS(dependencyTree_exports);
34
34
  var import_minimatch = __toESM(require("minimatch"));
35
35
  const defaultIgnores = [
36
36
  "**/bower_components/**",
@@ -35,8 +35,8 @@ __export(watcher_exports, {
35
35
  module.exports = __toCommonJS(watcher_exports);
36
36
  var import_path = __toESM(require("path"));
37
37
  var import_utils = require("@modern-js/utils");
38
- var import_dependency_tree = require("./dependency-tree");
39
- var import_stats_cache = require("./stats-cache");
38
+ var import_dependencyTree = require("./dependencyTree");
39
+ var import_statsCache = require("./statsCache");
40
40
  const defaultWatchOptions = {
41
41
  // 初始化的时候不触发 add、addDir 事件
42
42
  ignoreInitial: true,
@@ -79,7 +79,7 @@ class Watcher {
79
79
  listen(files, options, callback) {
80
80
  const watched = files.filter(Boolean);
81
81
  const filenames = watched.map((filename) => filename.replace(/\\/g, "/"));
82
- const cache = new import_stats_cache.StatsCache();
82
+ const cache = new import_statsCache.StatsCache();
83
83
  const watcher = import_utils.chokidar.watch(filenames, options);
84
84
  watcher.on("ready", () => {
85
85
  cache.add(getWatchedFiles(watcher));
@@ -103,7 +103,7 @@ class Watcher {
103
103
  this.watcher = watcher;
104
104
  }
105
105
  createDepTree() {
106
- this.dependencyTree = new import_dependency_tree.DependencyTree();
106
+ this.dependencyTree = new import_dependencyTree.DependencyTree();
107
107
  }
108
108
  updateDepTree() {
109
109
  var _a;
@@ -25,11 +25,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var stats_cache_exports = {};
29
- __export(stats_cache_exports, {
28
+ var statsCache_exports = {};
29
+ __export(statsCache_exports, {
30
30
  StatsCache: () => StatsCache
31
31
  });
32
- module.exports = __toCommonJS(stats_cache_exports);
32
+ module.exports = __toCommonJS(statsCache_exports);
33
33
  var import_fs = __toESM(require("fs"));
34
34
  var import_crypto = __toESM(require("crypto"));
35
35
  class StatsCache {
@@ -25,11 +25,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var dev_server_exports = {};
29
- __export(dev_server_exports, {
28
+ var devServer_exports = {};
29
+ __export(devServer_exports, {
30
30
  ModernDevServer: () => ModernDevServer
31
31
  });
32
- module.exports = __toCommonJS(dev_server_exports);
32
+ module.exports = __toCommonJS(devServer_exports);
33
33
  var import_http = require("http");
34
34
  var import_path = __toESM(require("path"));
35
35
  var import_https = require("https");
@@ -45,6 +45,7 @@ class ModernDevServer extends import_prod_server.ModernServer {
45
45
  constructor(options) {
46
46
  super(options);
47
47
  this.mockHandler = null;
48
+ this.appContext = options.appContext;
48
49
  this.workDir = this.pwd;
49
50
  this.dev = this.getDevOptions(options);
50
51
  this.devMiddleware = new import_dev_middleware.default({
@@ -211,6 +212,11 @@ class ModernDevServer extends import_prod_server.ModernServer {
211
212
  createContext(req, res) {
212
213
  return super.createContext(req, res, { etag: true });
213
214
  }
215
+ setupStaticMiddleware(_) {
216
+ return async (context, next) => {
217
+ return next();
218
+ };
219
+ }
214
220
  async setupBeforeDevMiddleware() {
215
221
  const { runner, conf, dev } = this;
216
222
  const setupMids = dev.before || [];
@@ -239,13 +245,15 @@ class ModernDevServer extends import_prod_server.ModernServer {
239
245
  }
240
246
  startWatcher() {
241
247
  var _a;
242
- const { pwd, distDir } = this;
248
+ const { pwd, distDir, appContext } = this;
243
249
  const { mock } = import_prod_server.AGGRED_DIR;
250
+ const apiDir = (appContext == null ? void 0 : appContext.apiDirectory) || import_utils.API_DIR;
251
+ const sharedDir = (appContext == null ? void 0 : appContext.sharedDirectory) || import_utils.SHARED_DIR;
244
252
  const defaultWatched = [
245
253
  `${mock}/**/*`,
246
254
  `${import_utils.SERVER_DIR}/**/*`,
247
- `${import_utils.API_DIR}/**`,
248
- `${import_utils.SHARED_DIR}/**/*`,
255
+ `${apiDir}/**`,
256
+ `${sharedDir}/**/*`,
249
257
  `${distDir}/${import_utils.SERVER_BUNDLE_DIRECTORY}/*-server-loaders.js`
250
258
  ];
251
259
  const watchOptions = (0, import_watcher.mergeWatchOptions)((_a = this.conf.server) == null ? void 0 : _a.watchOptions);
@@ -21,9 +21,9 @@ __export(server_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(server_exports);
23
23
  var import_prod_server = require("@modern-js/prod-server");
24
- var import_dev_server = require("./dev-server");
24
+ var import_devServer = require("./devServer");
25
25
  const createDevServer = (options) => {
26
- return new import_dev_server.ModernDevServer(options);
26
+ return new import_devServer.ModernDevServer(options);
27
27
  };
28
28
  class DevServer extends import_prod_server.Server {
29
29
  constructor(options) {
@@ -236,7 +236,7 @@ var __generator = this && this.__generator || function(thisArg, body) {
236
236
  }
237
237
  };
238
238
  import { EventEmitter } from "events";
239
- import SocketServer from "./socket-server";
239
+ import SocketServer from "./socketServer";
240
240
  var noop = function() {};
241
241
  function getHMRClientPath(client) {
242
242
  var protocol = (client === null || client === void 0 ? void 0 : client.protocol) ? "&protocol=".concat(client.protocol) : "";
@@ -72,8 +72,8 @@ function _unsupportedIterableToArray(o, minLen) {
72
72
  }
73
73
  import path from "path";
74
74
  import { fs, chokidar } from "@modern-js/utils";
75
- import { DependencyTree } from "./dependency-tree";
76
- import { StatsCache } from "./stats-cache";
75
+ import { DependencyTree } from "./dependencyTree";
76
+ import { StatsCache } from "./statsCache";
77
77
  var defaultWatchOptions = {
78
78
  // 初始化的时候不触发 add、addDir 事件
79
79
  ignoreInitial: true,
@@ -255,13 +255,13 @@ var __generator = this && this.__generator || function(thisArg, body) {
255
255
  trys: [],
256
256
  ops: []
257
257
  };
258
- return g = {
258
+ return(g = {
259
259
  next: verb(0),
260
260
  "throw": verb(1),
261
261
  "return": verb(2)
262
262
  }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
263
263
  return this;
264
- }), g;
264
+ }), g);
265
265
  function verb(n) {
266
266
  return function(v) {
267
267
  return step([
@@ -361,8 +361,10 @@ var ModernDevServer = /*#__PURE__*/ function(ModernServer) {
361
361
  _this = _super.call(this, options);
362
362
  _defineProperty(_assertThisInitialized(_this), "mockHandler", null);
363
363
  _defineProperty(_assertThisInitialized(_this), "dev", void 0);
364
+ _defineProperty(_assertThisInitialized(_this), "appContext", void 0);
364
365
  _defineProperty(_assertThisInitialized(_this), "devMiddleware", void 0);
365
366
  _defineProperty(_assertThisInitialized(_this), "watcher", void 0);
367
+ _this.appContext = options.appContext;
366
368
  _this.workDir = _this.pwd;
367
369
  _this.dev = _this.getDevOptions(options);
368
370
  _this.devMiddleware = new DevMiddleware({
@@ -694,6 +696,24 @@ var ModernDevServer = /*#__PURE__*/ function(ModernServer) {
694
696
  });
695
697
  }
696
698
  },
699
+ {
700
+ key: "setupStaticMiddleware",
701
+ value: function setupStaticMiddleware(_) {
702
+ return function() {
703
+ var _ref = _asyncToGenerator(function(context, next) {
704
+ return __generator(this, function(_state) {
705
+ return [
706
+ 2,
707
+ next()
708
+ ];
709
+ });
710
+ });
711
+ return function(context, next) {
712
+ return _ref.apply(this, arguments);
713
+ };
714
+ }();
715
+ }
716
+ },
697
717
  {
698
718
  key: "setupBeforeDevMiddleware",
699
719
  value: function setupBeforeDevMiddleware() {
@@ -768,13 +788,15 @@ var ModernDevServer = /*#__PURE__*/ function(ModernServer) {
768
788
  value: function startWatcher() {
769
789
  var _this = this;
770
790
  var _this_conf_server;
771
- var _this1 = this, pwd = _this1.pwd, distDir = _this1.distDir;
791
+ var _this1 = this, pwd = _this1.pwd, distDir = _this1.distDir, appContext = _this1.appContext;
772
792
  var mock = AGGRED_DIR.mock;
793
+ var apiDir = (appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory) || API_DIR;
794
+ var sharedDir = (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || SHARED_DIR;
773
795
  var defaultWatched = [
774
796
  "".concat(mock, "/**/*"),
775
797
  "".concat(SERVER_DIR, "/**/*"),
776
- "".concat(API_DIR, "/**"),
777
- "".concat(SHARED_DIR, "/**/*"),
798
+ "".concat(apiDir, "/**"),
799
+ "".concat(sharedDir, "/**/*"),
778
800
  "".concat(distDir, "/").concat(SERVER_BUNDLE_DIRECTORY, "/*-server-loaders.js")
779
801
  ];
780
802
  var watchOptions = mergeWatchOptions((_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.watchOptions);
@@ -70,7 +70,7 @@ function _createSuper(Derived) {
70
70
  };
71
71
  }
72
72
  import { Server } from "@modern-js/prod-server";
73
- import { ModernDevServer } from "./dev-server";
73
+ import { ModernDevServer } from "./devServer";
74
74
  var createDevServer = function(options) {
75
75
  return new ModernDevServer(options);
76
76
  };
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "events";
2
- import SocketServer from "./socket-server";
2
+ import SocketServer from "./socketServer";
3
3
  const noop = () => {
4
4
  };
5
5
  function getHMRClientPath(client) {
@@ -1,7 +1,7 @@
1
1
  import path from "path";
2
2
  import { fs, chokidar } from "@modern-js/utils";
3
- import { DependencyTree } from "./dependency-tree";
4
- import { StatsCache } from "./stats-cache";
3
+ import { DependencyTree } from "./dependencyTree";
4
+ import { StatsCache } from "./statsCache";
5
5
  const defaultWatchOptions = {
6
6
  // 初始化的时候不触发 add、addDir 事件
7
7
  ignoreInitial: true,
@@ -22,6 +22,7 @@ class ModernDevServer extends ModernServer {
22
22
  constructor(options) {
23
23
  super(options);
24
24
  this.mockHandler = null;
25
+ this.appContext = options.appContext;
25
26
  this.workDir = this.pwd;
26
27
  this.dev = this.getDevOptions(options);
27
28
  this.devMiddleware = new DevMiddleware({
@@ -188,6 +189,11 @@ class ModernDevServer extends ModernServer {
188
189
  createContext(req, res) {
189
190
  return super.createContext(req, res, { etag: true });
190
191
  }
192
+ setupStaticMiddleware(_) {
193
+ return async (context, next) => {
194
+ return next();
195
+ };
196
+ }
191
197
  async setupBeforeDevMiddleware() {
192
198
  const { runner, conf, dev } = this;
193
199
  const setupMids = dev.before || [];
@@ -216,13 +222,15 @@ class ModernDevServer extends ModernServer {
216
222
  }
217
223
  startWatcher() {
218
224
  var _a;
219
- const { pwd, distDir } = this;
225
+ const { pwd, distDir, appContext } = this;
220
226
  const { mock } = AGGRED_DIR;
227
+ const apiDir = (appContext == null ? void 0 : appContext.apiDirectory) || API_DIR;
228
+ const sharedDir = (appContext == null ? void 0 : appContext.sharedDirectory) || SHARED_DIR;
221
229
  const defaultWatched = [
222
230
  `${mock}/**/*`,
223
231
  `${SERVER_DIR}/**/*`,
224
- `${API_DIR}/**`,
225
- `${SHARED_DIR}/**/*`,
232
+ `${apiDir}/**`,
233
+ `${sharedDir}/**/*`,
226
234
  `${distDir}/${SERVER_BUNDLE_DIRECTORY}/*-server-loaders.js`
227
235
  ];
228
236
  const watchOptions = mergeWatchOptions((_a = this.conf.server) == null ? void 0 : _a.watchOptions);
@@ -1,5 +1,5 @@
1
1
  import { Server } from "@modern-js/prod-server";
2
- import { ModernDevServer } from "./dev-server";
2
+ import { ModernDevServer } from "./devServer";
3
3
  const createDevServer = (options) => {
4
4
  return new ModernDevServer(options);
5
5
  };
@@ -1,12 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { IncomingMessage, Server, ServerResponse } from 'http';
4
- import { ServerHookRunner, ModernServer, BuildOptions } from '@modern-js/prod-server';
4
+ import { NextFunction, ServerHookRunner, ModernServer, BuildOptions } from '@modern-js/prod-server';
5
+ import type { ModernServerContext } from '@modern-js/types';
5
6
  import { WatchEvent } from '../dev-tools/watcher';
6
7
  import type { ModernDevServerOptions } from '../types';
7
8
  export declare class ModernDevServer extends ModernServer {
8
9
  private mockHandler;
9
10
  private readonly dev;
11
+ private readonly appContext;
10
12
  private readonly devMiddleware;
11
13
  private watcher?;
12
14
  constructor(options: ModernDevServerOptions);
@@ -26,6 +28,7 @@ export declare class ModernDevServer extends ModernServer {
26
28
  event: WatchEvent;
27
29
  }): void;
28
30
  protected createContext(req: IncomingMessage, res: ServerResponse): import("@modern-js/prod-server/src/libs/context").ModernServerContext;
31
+ protected setupStaticMiddleware(_: string): (context: ModernServerContext, next: NextFunction) => Promise<void>;
29
32
  private setupBeforeDevMiddleware;
30
33
  private setupAfterDevMiddleware;
31
34
  private cleanSSRCache;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.6.0",
14
+ "version": "2.7.0",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/cjs/index.js",
@@ -33,10 +33,10 @@
33
33
  "minimatch": "^3.0.4",
34
34
  "path-to-regexp": "^6.2.0",
35
35
  "ws": "^8.2.0",
36
- "@modern-js/prod-server": "2.6.0",
37
- "@modern-js/types": "2.6.0",
38
- "@modern-js/server-utils": "2.6.0",
39
- "@modern-js/utils": "2.6.0"
36
+ "@modern-js/prod-server": "2.7.0",
37
+ "@modern-js/server-utils": "2.7.0",
38
+ "@modern-js/types": "2.7.0",
39
+ "@modern-js/utils": "2.7.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/connect-history-api-fallback": "^1.3.5",
@@ -51,9 +51,9 @@
51
51
  "typescript": "^4",
52
52
  "webpack": "^5.75.0",
53
53
  "websocket": "^1",
54
- "@modern-js/server-core": "2.6.0",
55
- "@scripts/jest-config": "2.6.0",
56
- "@scripts/build": "2.6.0"
54
+ "@modern-js/server-core": "2.7.0",
55
+ "@scripts/jest-config": "2.7.0",
56
+ "@scripts/build": "2.7.0"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "devcert": "^1.0.0",