@modern-js/server 1.4.7-canary.0 → 1.4.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,21 @@
1
1
  # @modern-js/server
2
2
 
3
+ ## 1.4.7
4
+
5
+ ### Patch Changes
6
+
7
+ - d95f28c3: remove server hook when api only
8
+ - d5bf095a: fix: disable load webpack when apiOnly mode
9
+ - 9229dfd1: support custom headers, fix hmr url concat
10
+ - Updated dependencies [5bf5868d]
11
+ - Updated dependencies [d95f28c3]
12
+ - Updated dependencies [d95f28c3]
13
+ - Updated dependencies [0923c182]
14
+ - Updated dependencies [2008fdbd]
15
+ - Updated dependencies [ca0bcf13]
16
+ - @modern-js/utils@1.3.5
17
+ - @modern-js/prod-server@1.0.4
18
+
3
19
  ## 1.4.6
4
20
 
5
21
  ### Patch Changes
@@ -27,6 +27,7 @@ export const enableRegister = (projectRoot, config) => {
27
27
  }],
28
28
  extensions: ['.js', '.ts'],
29
29
  babelrc: false,
30
+ configFile: false,
30
31
  root: projectRoot
31
32
  }));
32
33
  };
@@ -1,4 +1,11 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+
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
+
1
7
  import Webpack from 'webpack';
8
+ import { DEFAULT_DEV_OPTIONS } from "../constants";
2
9
  const {
3
10
  EntryPlugin
4
11
  } = Webpack;
@@ -12,9 +19,12 @@ export default class DevServerPlugin {
12
19
  const {
13
20
  options
14
21
  } = this;
15
- const host = `&host=${options.client.host || 'localhost'}`;
16
- const path = `&path=${options.client.path}`;
17
- const port = `&port=${options.client.port}`;
22
+
23
+ const client = _objectSpread(_objectSpread({}, DEFAULT_DEV_OPTIONS.client), options.client);
24
+
25
+ const host = `&host=${client.host}`;
26
+ const path = `&path=${client.path}`;
27
+ const port = `&port=${client.port}`;
18
28
  const clientEntry = `${require.resolve('@modern-js/hmr-client')}?${host}${path}${port}`;
19
29
 
20
30
  const hotEntry = require.resolve('webpack/hot/dev-server');
@@ -232,7 +232,13 @@ export class ModernDevServer extends ModernServer {
232
232
  }
233
233
 
234
234
  setupDevMiddleware(compiler) {
235
+ var _conf$tools2, _conf$tools2$devServe;
236
+
237
+ const {
238
+ conf
239
+ } = this;
235
240
  this.devMiddleware = webpackDevMiddleware(compiler, {
241
+ headers: (_conf$tools2 = conf.tools) === null || _conf$tools2 === void 0 ? void 0 : (_conf$tools2$devServe = _conf$tools2.devServer) === null || _conf$tools2$devServe === void 0 ? void 0 : _conf$tools2$devServe.headers,
236
242
  publicPath: '/',
237
243
  writeToDisk: this.dev.dev.writeToDisk,
238
244
  stats: false
@@ -41,6 +41,7 @@ const enableRegister = (projectRoot, config) => {
41
41
  }],
42
42
  extensions: ['.js', '.ts'],
43
43
  babelrc: false,
44
+ configFile: false,
44
45
  root: projectRoot
45
46
  }));
46
47
  };
@@ -7,8 +7,16 @@ exports.default = void 0;
7
7
 
8
8
  var _webpack = _interopRequireDefault(require("webpack"));
9
9
 
10
+ var _constants = require("../constants");
11
+
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
13
 
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+
18
+ 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; }
19
+
12
20
  const {
13
21
  EntryPlugin
14
22
  } = _webpack.default;
@@ -23,9 +31,12 @@ class DevServerPlugin {
23
31
  const {
24
32
  options
25
33
  } = this;
26
- const host = `&host=${options.client.host || 'localhost'}`;
27
- const path = `&path=${options.client.path}`;
28
- const port = `&port=${options.client.port}`;
34
+
35
+ const client = _objectSpread(_objectSpread({}, _constants.DEFAULT_DEV_OPTIONS.client), options.client);
36
+
37
+ const host = `&host=${client.host}`;
38
+ const path = `&path=${client.path}`;
39
+ const port = `&port=${client.port}`;
29
40
  const clientEntry = `${require.resolve('@modern-js/hmr-client')}?${host}${path}${port}`;
30
41
 
31
42
  const hotEntry = require.resolve('webpack/hot/dev-server');
@@ -256,7 +256,13 @@ class ModernDevServer extends _prodServer.ModernServer {
256
256
  }
257
257
 
258
258
  setupDevMiddleware(compiler) {
259
+ var _conf$tools2, _conf$tools2$devServe;
260
+
261
+ const {
262
+ conf
263
+ } = this;
259
264
  this.devMiddleware = (0, _webpackDevMiddleware.default)(compiler, {
265
+ headers: (_conf$tools2 = conf.tools) === null || _conf$tools2 === void 0 ? void 0 : (_conf$tools2$devServe = _conf$tools2.devServer) === null || _conf$tools2$devServe === void 0 ? void 0 : _conf$tools2$devServe.headers,
260
266
  publicPath: '/',
261
267
  writeToDisk: this.dev.dev.writeToDisk,
262
268
  stats: false
package/package.json CHANGED
@@ -11,9 +11,9 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "1.4.7-canary.0",
14
+ "version": "1.4.7",
15
15
  "jsnext:source": "./src/index.ts",
16
- "types": "./src/index.ts",
16
+ "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/js/node/index.js",
18
18
  "module": "./dist/js/treeshaking/index.js",
19
19
  "jsnext:modern": "./dist/js/modern/index.js",
@@ -27,21 +27,13 @@
27
27
  "default": "./dist/js/treeshaking/index.js"
28
28
  }
29
29
  },
30
- "scripts": {
31
- "prepare": "pnpm build",
32
- "prepublishOnly": "pnpm build --platform",
33
- "new": "modern new",
34
- "build": "modern build",
35
- "dev": "modern build --watch",
36
- "test": "jest"
37
- },
38
30
  "dependencies": {
39
- "@modern-js/prod-server": "workspace:^1.0.2",
31
+ "@modern-js/prod-server": "^1.0.4",
40
32
  "@babel/register": "^7.15.3",
41
- "@modern-js/bff-utils": "workspace:^1.2.2",
42
- "@modern-js/hmr-client": "workspace:^1.2.2",
43
- "@modern-js/server-utils": "workspace:^1.2.1",
44
- "@modern-js/utils": "workspace:^1.3.4",
33
+ "@modern-js/bff-utils": "^1.2.2",
34
+ "@modern-js/hmr-client": "^1.2.2",
35
+ "@modern-js/server-utils": "^1.2.1",
36
+ "@modern-js/utils": "^1.3.5",
45
37
  "chokidar": "^3.5.2",
46
38
  "devcert": "^1.1.3",
47
39
  "launch-editor": "^2.2.1",
@@ -52,10 +44,10 @@
52
44
  "ws": "^8.2.0"
53
45
  },
54
46
  "devDependencies": {
55
- "@modern-js/server-core": "workspace:^1.2.2",
56
- "@modern-js/core": "workspace:^1.4.6",
57
- "@scripts/build": "workspace:*",
58
- "@modern-js/types": "workspace:^1.3.4",
47
+ "@modern-js/server-core": "^1.2.3",
48
+ "@modern-js/core": "^1.5.0",
49
+ "@scripts/build": "0.0.0",
50
+ "@modern-js/types": "^1.3.5",
59
51
  "@types/jest": "^26",
60
52
  "@types/minimatch": "^3.0.5",
61
53
  "@types/node": "^14",
@@ -64,7 +56,7 @@
64
56
  "jest": "^27",
65
57
  "typescript": "^4",
66
58
  "webpack": "^5.54.0",
67
- "@scripts/jest-config": "workspace:*",
59
+ "@scripts/jest-config": "0.0.0",
68
60
  "websocket": "^1"
69
61
  },
70
62
  "peerDependencies": {
@@ -78,7 +70,13 @@
78
70
  },
79
71
  "publishConfig": {
80
72
  "registry": "https://registry.npmjs.org/",
81
- "access": "public",
82
- "types": "./dist/types/index.d.ts"
83
- }
84
- }
73
+ "access": "public"
74
+ },
75
+ "scripts": {
76
+ "new": "modern new",
77
+ "build": "modern build",
78
+ "dev": "modern build --watch",
79
+ "test": "jest"
80
+ },
81
+ "readme": "\n<p align=\"center\">\n <a href=\"https://modernjs.dev\" target=\"blank\"><img src=\"https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png\" width=\"300\" alt=\"Modern.js Logo\" /></a>\n</p>\n<p align=\"center\">\n现代 Web 工程体系\n <br/>\n <a href=\"https://modernjs.dev\" target=\"blank\">\n modernjs.dev\n </a>\n</p>\n<p align=\"center\">\n The meta-framework suite designed from scratch for frontend-focused modern web development\n</p>\n\n# Introduction\n\n> The doc site ([modernjs.dev](https://modernjs.dev)) and articles are only available in Chinese for now, we are planning to add English versions soon.\n\n- [Modern.js: Hello, World!](https://zhuanlan.zhihu.com/p/426707646)\n\n## Getting Started\n\n- [Quick Start](https://modernjs.dev/docs/start)\n- [Guides](https://modernjs.dev/docs/guides)\n- [API References](https://modernjs.dev/docs/apis)\n\n## Contributing\n\n- [Contributing Guide](https://github.com/modern-js-dev/modern.js/blob/main/CONTRIBUTING.md)\n"
82
+ }
@@ -25,33 +25,34 @@ describe('watcher', () => {
25
25
  fs.writeFileSync(path.normalize(filepath), content, 'utf8');
26
26
  };
27
27
 
28
- test('should emit add', done => {
29
- const watcher = new Watcher();
30
- const callback = jest.fn();
31
-
32
- const watchDir = path.join(serverDir, 'add');
33
- fs.mkdirSync(watchDir);
34
-
35
- watcher.listen(
36
- [`${watchDir}/**/*`],
37
- {
38
- ignoreInitial: true,
39
- ignored: /api\/typings\/.*/,
40
- },
41
- async () => {
42
- try {
43
- callback();
44
- expect(callback).toHaveBeenCalledTimes(1);
45
- await watcher.close();
46
- } catch (e) {
47
- console.error(e);
48
- }
49
- done();
50
- },
51
- );
52
-
53
- setTimeout(() => writeFiles('test', path.join(watchDir, 'index.js')), 100);
54
- });
28
+ // TODO 容易导致 timeout,暂时注释掉
29
+ // test('should emit add', done => {
30
+ // const watcher = new Watcher();
31
+ // const callback = jest.fn();
32
+
33
+ // const watchDir = path.join(serverDir, 'add');
34
+ // fs.mkdirSync(watchDir);
35
+
36
+ // watcher.listen(
37
+ // [`${watchDir}/**/*`],
38
+ // {
39
+ // ignoreInitial: true,
40
+ // ignored: /api\/typings\/.*/,
41
+ // },
42
+ // async () => {
43
+ // try {
44
+ // callback();
45
+ // expect(callback).toHaveBeenCalledTimes(1);
46
+ // await watcher.close();
47
+ // } catch (e) {
48
+ // console.error(e);
49
+ // }
50
+ // done();
51
+ // },
52
+ // );
53
+
54
+ // setTimeout(() => writeFiles('test', path.join(watchDir, 'index.js')), 100);
55
+ // });
55
56
 
56
57
  test('should emit unlink', done => {
57
58
  const watcher = new Watcher();