@modern-js/server 1.6.1-beta.0 → 1.15.1-beta.1

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,23 @@
1
1
  # @modern-js/server
2
2
 
3
+ ## 1.15.0
4
+
5
+ ### Patch Changes
6
+
7
+ - b1f7000: fix: Adjust createServer logic in bff test plugin
8
+ fix: 调整 BFF 测试中 create server 的逻辑
9
+ - Updated dependencies [8658a78]
10
+ - Updated dependencies [0df4970]
11
+ - Updated dependencies [05d4a4f]
12
+ - Updated dependencies [ad05af9]
13
+ - Updated dependencies [5d53d1c]
14
+ - Updated dependencies [c087148]
15
+ - Updated dependencies [37cd159]
16
+ - @modern-js/utils@1.15.0
17
+ - @modern-js/webpack@1.15.0
18
+ - @modern-js/prod-server@1.15.0
19
+ - @modern-js/server-utils@1.15.0
20
+
3
21
  ## 1.6.0
4
22
 
5
23
  ### Minor Changes
@@ -0,0 +1,77 @@
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
+
7
+ import path from 'path';
8
+ import { resolveBabelConfig } from '@modern-js/server-utils';
9
+ import { fs, getAlias } from '@modern-js/utils';
10
+ import * as tsNode from 'ts-node';
11
+ import * as tsConfigPaths from 'tsconfig-paths';
12
+ const registerDirs = ['./api', './server', './config/mock', './shared'];
13
+ export const enableRegister = (projectRoot, config // eslint-disable-next-line consistent-return
14
+ ) => {
15
+ const TS_CONFIG_FILENAME = `tsconfig.json`;
16
+ const tsconfigPath = path.resolve(projectRoot, TS_CONFIG_FILENAME);
17
+ const isTsProject = fs.existsSync(tsconfigPath);
18
+
19
+ if (isTsProject) {
20
+ const {
21
+ alias
22
+ } = config.source;
23
+ const aliasOption = getAlias(alias || {}, {
24
+ appDirectory: projectRoot,
25
+ tsconfigPath
26
+ });
27
+ const {
28
+ paths = {},
29
+ absoluteBaseUrl = './'
30
+ } = aliasOption;
31
+ const tsPaths = Object.keys(paths).reduce((o, key) => {
32
+ let tsPath = paths[key];
33
+
34
+ if (typeof tsPath === 'string' && path.isAbsolute(tsPath)) {
35
+ tsPath = path.relative(absoluteBaseUrl, tsPath);
36
+ }
37
+
38
+ if (typeof tsPath === 'string') {
39
+ tsPath = [tsPath];
40
+ }
41
+
42
+ return _objectSpread(_objectSpread({}, o), {}, {
43
+ [`${key}`]: tsPath
44
+ });
45
+ }, {});
46
+ tsConfigPaths.register({
47
+ baseUrl: absoluteBaseUrl || './',
48
+ paths: tsPaths
49
+ });
50
+ tsNode.register({
51
+ project: tsconfigPath,
52
+ // for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
53
+ files: true
54
+ });
55
+ } else {
56
+ const babelConfig = resolveBabelConfig(projectRoot, config, {
57
+ tsconfigPath,
58
+ syntax: 'es6+',
59
+ type: 'commonjs'
60
+ });
61
+ return require('@babel/register')(_objectSpread(_objectSpread({}, babelConfig), {}, {
62
+ only: [function (filePath) {
63
+ // TODO: wait params
64
+ // FIXME: 删除hardcode,根据 AppContext 中的 metaName 设置路径
65
+ if (filePath.includes(`node_modules${path.sep}.modern-js`)) {
66
+ return true;
67
+ }
68
+
69
+ return registerDirs.some(registerDir => filePath.startsWith(path.join(projectRoot, registerDir)));
70
+ }],
71
+ extensions: ['.js', '.ts'],
72
+ babelrc: false,
73
+ configFile: false,
74
+ root: projectRoot
75
+ }));
76
+ }
77
+ };
@@ -14,7 +14,7 @@ import { getDefaultDevOptions } from "../constants";
14
14
  import { createMockHandler } from "../dev-tools/mock";
15
15
  import SocketServer from "../dev-tools/socket-server";
16
16
  import DevServerPlugin from "../dev-tools/dev-server-plugin";
17
- import { enableRegister } from "../dev-tools/babel/register";
17
+ import { enableRegister } from "../dev-tools/register";
18
18
  import Watcher, { mergeWatchOptions } from "../dev-tools/watcher";
19
19
  export class ModernDevServer extends ModernServer {
20
20
  constructor(options) {
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.enableRegister = void 0;
7
+
8
+ var _path = _interopRequireDefault(require("path"));
9
+
10
+ var _serverUtils = require("@modern-js/server-utils");
11
+
12
+ var _utils = require("@modern-js/utils");
13
+
14
+ var tsNode = _interopRequireWildcard(require("ts-node"));
15
+
16
+ var tsConfigPaths = _interopRequireWildcard(require("tsconfig-paths"));
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ const registerDirs = ['./api', './server', './config/mock', './shared'];
31
+
32
+ const enableRegister = (projectRoot, config // eslint-disable-next-line consistent-return
33
+ ) => {
34
+ const TS_CONFIG_FILENAME = `tsconfig.json`;
35
+
36
+ const tsconfigPath = _path.default.resolve(projectRoot, TS_CONFIG_FILENAME);
37
+
38
+ const isTsProject = _utils.fs.existsSync(tsconfigPath);
39
+
40
+ if (isTsProject) {
41
+ const {
42
+ alias
43
+ } = config.source;
44
+ const aliasOption = (0, _utils.getAlias)(alias || {}, {
45
+ appDirectory: projectRoot,
46
+ tsconfigPath
47
+ });
48
+ const {
49
+ paths = {},
50
+ absoluteBaseUrl = './'
51
+ } = aliasOption;
52
+ const tsPaths = Object.keys(paths).reduce((o, key) => {
53
+ let tsPath = paths[key];
54
+
55
+ if (typeof tsPath === 'string' && _path.default.isAbsolute(tsPath)) {
56
+ tsPath = _path.default.relative(absoluteBaseUrl, tsPath);
57
+ }
58
+
59
+ if (typeof tsPath === 'string') {
60
+ tsPath = [tsPath];
61
+ }
62
+
63
+ return _objectSpread(_objectSpread({}, o), {}, {
64
+ [`${key}`]: tsPath
65
+ });
66
+ }, {});
67
+ tsConfigPaths.register({
68
+ baseUrl: absoluteBaseUrl || './',
69
+ paths: tsPaths
70
+ });
71
+ tsNode.register({
72
+ project: tsconfigPath,
73
+ // for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
74
+ files: true
75
+ });
76
+ } else {
77
+ const babelConfig = (0, _serverUtils.resolveBabelConfig)(projectRoot, config, {
78
+ tsconfigPath,
79
+ syntax: 'es6+',
80
+ type: 'commonjs'
81
+ });
82
+ return require('@babel/register')(_objectSpread(_objectSpread({}, babelConfig), {}, {
83
+ only: [function (filePath) {
84
+ // TODO: wait params
85
+ // FIXME: 删除hardcode,根据 AppContext 中的 metaName 设置路径
86
+ if (filePath.includes(`node_modules${_path.default.sep}.modern-js`)) {
87
+ return true;
88
+ }
89
+
90
+ return registerDirs.some(registerDir => filePath.startsWith(_path.default.join(projectRoot, registerDir)));
91
+ }],
92
+ extensions: ['.js', '.ts'],
93
+ babelrc: false,
94
+ configFile: false,
95
+ root: projectRoot
96
+ }));
97
+ }
98
+ };
99
+
100
+ exports.enableRegister = enableRegister;
@@ -25,7 +25,7 @@ var _socketServer = _interopRequireDefault(require("../dev-tools/socket-server")
25
25
 
26
26
  var _devServerPlugin = _interopRequireDefault(require("../dev-tools/dev-server-plugin"));
27
27
 
28
- var _register = require("../dev-tools/babel/register");
28
+ var _register = require("../dev-tools/register");
29
29
 
30
30
  var _watcher = _interopRequireWildcard(require("../dev-tools/watcher"));
31
31
 
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "1.6.1-beta.0",
14
+ "version": "1.15.1-beta.1",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/js/node/index.js",
@@ -30,29 +30,35 @@
30
30
  "dependencies": {
31
31
  "@babel/core": "^7.18.0",
32
32
  "@babel/register": "^7.17.7",
33
- "@modern-js/prod-server": "^1.2.2",
34
- "@modern-js/server-utils": "^1.2.11",
35
- "@modern-js/webpack": "^1.12.3",
36
- "@modern-js/utils": "^1.8.1",
33
+ "@modern-js/prod-server": "1.15.0",
34
+ "@modern-js/server-utils": "1.15.1-beta.1",
35
+ "@modern-js/utils": "1.15.0",
36
+ "@modern-js/webpack": "1.15.0",
37
37
  "devcert": "^1.2.2",
38
38
  "minimatch": "^3.0.4",
39
39
  "path-to-regexp": "^6.2.0",
40
40
  "ws": "^8.2.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@modern-js/core": "1.13.3",
44
- "@modern-js/server-core": "1.4.1",
45
- "@modern-js/types": "1.6.2",
46
- "@scripts/build": "0.0.0",
47
- "@scripts/jest-config": "0.0.0",
43
+ "@modern-js/core": "1.15.0",
44
+ "@modern-js/server-core": "1.15.0",
45
+ "@modern-js/types": "1.15.0",
46
+ "@scripts/build": "1.15.0",
47
+ "@scripts/jest-config": "1.15.0",
48
48
  "@types/jest": "^27",
49
49
  "@types/minimatch": "^3.0.5",
50
50
  "@types/node": "^14",
51
51
  "@types/ws": "^7.4.7",
52
52
  "jest": "^27",
53
+ "ts-node": "^10.1.0",
54
+ "tsconfig-paths": "3.14.1",
53
55
  "typescript": "^4",
54
- "websocket": "^1",
55
- "webpack": "^5.71.0"
56
+ "webpack": "^5.71.0",
57
+ "websocket": "^1"
58
+ },
59
+ "peerDependencies": {
60
+ "ts-node": "^10.1.0",
61
+ "tsconfig-paths": "3.14.1"
56
62
  },
57
63
  "sideEffects": false,
58
64
  "modernConfig": {
@@ -1,33 +0,0 @@
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
-
7
- import path from 'path';
8
- import { resolveBabelConfig } from '@modern-js/server-utils';
9
- const registerDirs = ['./api', './server', './config/mock', './shared'];
10
- export const enableRegister = (projectRoot, config) => {
11
- const TS_CONFIG_FILENAME = `tsconfig.json`;
12
- const tsconfigPath = path.resolve(projectRoot, TS_CONFIG_FILENAME);
13
- const babelConfig = resolveBabelConfig(projectRoot, config, {
14
- tsconfigPath,
15
- syntax: 'es6+',
16
- type: 'commonjs'
17
- });
18
- return require('@babel/register')(_objectSpread(_objectSpread({}, babelConfig), {}, {
19
- only: [function (filePath) {
20
- // TODO: wait params
21
- // FIXME: 删除hardcode,根据 AppContext 中的 metaName 设置路径
22
- if (filePath.includes(`node_modules${path.sep}.modern-js`)) {
23
- return true;
24
- }
25
-
26
- return registerDirs.some(registerDir => filePath.startsWith(path.join(projectRoot, registerDir)));
27
- }],
28
- extensions: ['.js', '.ts'],
29
- babelrc: false,
30
- configFile: false,
31
- root: projectRoot
32
- }));
33
- };
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.enableRegister = void 0;
7
-
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
- var _serverUtils = require("@modern-js/server-utils");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
-
20
- const registerDirs = ['./api', './server', './config/mock', './shared'];
21
-
22
- const enableRegister = (projectRoot, config) => {
23
- const TS_CONFIG_FILENAME = `tsconfig.json`;
24
-
25
- const tsconfigPath = _path.default.resolve(projectRoot, TS_CONFIG_FILENAME);
26
-
27
- const babelConfig = (0, _serverUtils.resolveBabelConfig)(projectRoot, config, {
28
- tsconfigPath,
29
- syntax: 'es6+',
30
- type: 'commonjs'
31
- });
32
- return require('@babel/register')(_objectSpread(_objectSpread({}, babelConfig), {}, {
33
- only: [function (filePath) {
34
- // TODO: wait params
35
- // FIXME: 删除hardcode,根据 AppContext 中的 metaName 设置路径
36
- if (filePath.includes(`node_modules${_path.default.sep}.modern-js`)) {
37
- return true;
38
- }
39
-
40
- return registerDirs.some(registerDir => filePath.startsWith(_path.default.join(projectRoot, registerDir)));
41
- }],
42
- extensions: ['.js', '.ts'],
43
- babelrc: false,
44
- configFile: false,
45
- root: projectRoot
46
- }));
47
- };
48
-
49
- exports.enableRegister = enableRegister;