@modern-js/server 1.17.0 → 1.18.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @modern-js/server
2
2
 
3
+ ## 1.18.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 3d5e3a5: chore: get api mode from bff core
8
+ chore: 从 bff core 中获取 api mode
9
+ - 8280920: chore(server): export DevServerOptions type
10
+
11
+ chore(server): 导出 DevServerOptions 类型
12
+
13
+ - 2b7406d: feat: use typescript instead of babel as typescript compiler in server
14
+ feat: 服务端,增加 typescript 作为 typescipt 编译器
15
+ - fc7214d: feat(server): export DevServerHttpsOptions type
16
+
17
+ feat(server): 导出 DevServerHttpsOptions 类型
18
+
19
+ - Updated dependencies [8280920]
20
+ - Updated dependencies [3d5e3a5]
21
+ - Updated dependencies [2b7406d]
22
+ - Updated dependencies [0a4d622]
23
+ - Updated dependencies [60a2e3a]
24
+ - Updated dependencies [5227370]
25
+ - Updated dependencies [7928bae]
26
+ - @modern-js/utils@1.18.0
27
+ - @modern-js/prod-server@1.18.0
28
+ - @modern-js/server-utils@1.18.0
29
+
3
30
  ## 1.17.0
4
31
 
5
32
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  import * as devcert from 'devcert';
2
2
  export const genHttpsOptions = async userOptions => {
3
- const httpsOptions = userOptions === true ? {} : userOptions;
3
+ const httpsOptions = typeof userOptions === 'boolean' ? {} : userOptions;
4
4
 
5
5
  if (!httpsOptions.key || !httpsOptions.cert) {
6
6
  const selfsign = await devcert.certificateFor(['localhost']);
@@ -0,0 +1,99 @@
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, createDebugger } from '@modern-js/utils';
10
+ const debug = createDebugger('server');
11
+
12
+ const checkDep = (depName, paths) => {
13
+ let packagePath = '';
14
+
15
+ try {
16
+ packagePath = require.resolve(depName, {
17
+ paths
18
+ });
19
+ } catch (error) {}
20
+
21
+ return Boolean(packagePath);
22
+ };
23
+
24
+ export const enableRegister = (projectRoot, config // eslint-disable-next-line consistent-return
25
+ ) => {
26
+ const registerDirs = ['./api', './server', './config/mock', './shared'];
27
+ const TS_CONFIG_FILENAME = `tsconfig.json`;
28
+ const tsconfigPath = path.resolve(projectRoot, TS_CONFIG_FILENAME);
29
+ const isTsProject = fs.existsSync(tsconfigPath);
30
+ const existTsNode = checkDep('ts-node', [projectRoot]);
31
+ const existTsConfigPaths = checkDep('tsconfig-paths', [projectRoot]);
32
+
33
+ if (isTsProject && existTsNode && existTsConfigPaths) {
34
+ debug('use ts-node');
35
+
36
+ const tsNode = require('ts-node');
37
+
38
+ const tsConfigPaths = require('tsconfig-paths');
39
+
40
+ const {
41
+ alias
42
+ } = config.source;
43
+ const aliasOption = getAlias(alias || {}, {
44
+ appDirectory: projectRoot,
45
+ tsconfigPath
46
+ });
47
+ const {
48
+ paths = {},
49
+ absoluteBaseUrl = './'
50
+ } = aliasOption;
51
+ const tsPaths = Object.keys(paths).reduce((o, key) => {
52
+ let tsPath = paths[key];
53
+
54
+ if (typeof tsPath === 'string' && path.isAbsolute(tsPath)) {
55
+ tsPath = path.relative(absoluteBaseUrl, tsPath);
56
+ }
57
+
58
+ if (typeof tsPath === 'string') {
59
+ tsPath = [tsPath];
60
+ }
61
+
62
+ return _objectSpread(_objectSpread({}, o), {}, {
63
+ [`${key}`]: tsPath
64
+ });
65
+ }, {});
66
+ tsConfigPaths.register({
67
+ baseUrl: absoluteBaseUrl || './',
68
+ paths: tsPaths
69
+ });
70
+ tsNode.register({
71
+ project: tsconfigPath,
72
+ // for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
73
+ files: true,
74
+ transpileOnly: true
75
+ });
76
+ } else {
77
+ debug('use @babel/register');
78
+ const babelConfig = resolveBabelConfig(projectRoot, config, {
79
+ tsconfigPath,
80
+ syntax: 'es6+',
81
+ type: 'commonjs'
82
+ });
83
+ return require('@babel/register')(_objectSpread(_objectSpread({}, babelConfig), {}, {
84
+ only: [function (filePath) {
85
+ // TODO: wait params
86
+ // FIXME: 删除hardcode,根据 AppContext 中的 metaName 设置路径
87
+ if (filePath.includes(`node_modules${path.sep}.modern-js`)) {
88
+ return true;
89
+ }
90
+
91
+ return registerDirs.some(registerDir => filePath.startsWith(path.join(projectRoot, registerDir)));
92
+ }],
93
+ extensions: ['.js', '.ts'],
94
+ babelrc: false,
95
+ configFile: false,
96
+ root: projectRoot
97
+ }));
98
+ }
99
+ };
@@ -1,7 +1,7 @@
1
1
  import { RUN_MODE } from '@modern-js/prod-server';
2
2
  import { ModernDevServer } from "./dev-server";
3
3
  export class ModernSSRDevServer extends ModernDevServer {
4
- prepareAPIHandler(_m, _) {
4
+ prepareAPIHandler(_) {
5
5
  return null;
6
6
  }
7
7
 
@@ -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) {
@@ -12,7 +12,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
12
12
  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; }
13
13
 
14
14
  const genHttpsOptions = async userOptions => {
15
- const httpsOptions = userOptions === true ? {} : userOptions;
15
+ const httpsOptions = typeof userOptions === 'boolean' ? {} : userOptions;
16
16
 
17
17
  if (!httpsOptions.key || !httpsOptions.cert) {
18
18
  const selfsign = await devcert.certificateFor(['localhost']);
@@ -0,0 +1,116 @@
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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ const debug = (0, _utils.createDebugger)('server');
23
+
24
+ const checkDep = (depName, paths) => {
25
+ let packagePath = '';
26
+
27
+ try {
28
+ packagePath = require.resolve(depName, {
29
+ paths
30
+ });
31
+ } catch (error) {}
32
+
33
+ return Boolean(packagePath);
34
+ };
35
+
36
+ const enableRegister = (projectRoot, config // eslint-disable-next-line consistent-return
37
+ ) => {
38
+ const registerDirs = ['./api', './server', './config/mock', './shared'];
39
+ const TS_CONFIG_FILENAME = `tsconfig.json`;
40
+
41
+ const tsconfigPath = _path.default.resolve(projectRoot, TS_CONFIG_FILENAME);
42
+
43
+ const isTsProject = _utils.fs.existsSync(tsconfigPath);
44
+
45
+ const existTsNode = checkDep('ts-node', [projectRoot]);
46
+ const existTsConfigPaths = checkDep('tsconfig-paths', [projectRoot]);
47
+
48
+ if (isTsProject && existTsNode && existTsConfigPaths) {
49
+ debug('use ts-node');
50
+
51
+ const tsNode = require('ts-node');
52
+
53
+ const tsConfigPaths = require('tsconfig-paths');
54
+
55
+ const {
56
+ alias
57
+ } = config.source;
58
+ const aliasOption = (0, _utils.getAlias)(alias || {}, {
59
+ appDirectory: projectRoot,
60
+ tsconfigPath
61
+ });
62
+ const {
63
+ paths = {},
64
+ absoluteBaseUrl = './'
65
+ } = aliasOption;
66
+ const tsPaths = Object.keys(paths).reduce((o, key) => {
67
+ let tsPath = paths[key];
68
+
69
+ if (typeof tsPath === 'string' && _path.default.isAbsolute(tsPath)) {
70
+ tsPath = _path.default.relative(absoluteBaseUrl, tsPath);
71
+ }
72
+
73
+ if (typeof tsPath === 'string') {
74
+ tsPath = [tsPath];
75
+ }
76
+
77
+ return _objectSpread(_objectSpread({}, o), {}, {
78
+ [`${key}`]: tsPath
79
+ });
80
+ }, {});
81
+ tsConfigPaths.register({
82
+ baseUrl: absoluteBaseUrl || './',
83
+ paths: tsPaths
84
+ });
85
+ tsNode.register({
86
+ project: tsconfigPath,
87
+ // for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
88
+ files: true,
89
+ transpileOnly: true
90
+ });
91
+ } else {
92
+ debug('use @babel/register');
93
+ const babelConfig = (0, _serverUtils.resolveBabelConfig)(projectRoot, config, {
94
+ tsconfigPath,
95
+ syntax: 'es6+',
96
+ type: 'commonjs'
97
+ });
98
+ return require('@babel/register')(_objectSpread(_objectSpread({}, babelConfig), {}, {
99
+ only: [function (filePath) {
100
+ // TODO: wait params
101
+ // FIXME: 删除hardcode,根据 AppContext 中的 metaName 设置路径
102
+ if (filePath.includes(`node_modules${_path.default.sep}.modern-js`)) {
103
+ return true;
104
+ }
105
+
106
+ return registerDirs.some(registerDir => filePath.startsWith(_path.default.join(projectRoot, registerDir)));
107
+ }],
108
+ extensions: ['.js', '.ts'],
109
+ babelrc: false,
110
+ configFile: false,
111
+ root: projectRoot
112
+ }));
113
+ }
114
+ };
115
+
116
+ exports.enableRegister = enableRegister;
@@ -10,7 +10,7 @@ var _prodServer = require("@modern-js/prod-server");
10
10
  var _devServer = require("./dev-server");
11
11
 
12
12
  class ModernSSRDevServer extends _devServer.ModernDevServer {
13
- prepareAPIHandler(_m, _) {
13
+ prepareAPIHandler(_) {
14
14
  return null;
15
15
  }
16
16
 
@@ -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
 
@@ -1 +1,6 @@
1
- export declare const genHttpsOptions: (userOptions: any) => Promise<any>;
1
+ import type Buffer from 'buffer';
2
+ import type { DevServerHttpsOptions } from '../../types';
3
+ export declare const genHttpsOptions: (userOptions: DevServerHttpsOptions) => Promise<{
4
+ key?: Buffer | string;
5
+ cert?: Buffer | string;
6
+ }>;
@@ -1,7 +1,7 @@
1
1
  import { DevServer as Server } from './server';
2
- import { ModernDevServerOptions } from './types';
2
+ import type { DevServerOptions, DevServerHttpsOptions, ModernDevServerOptions } from './types';
3
3
  export { Server };
4
- export type { ModernDevServerOptions };
4
+ export type { DevServerOptions, DevServerHttpsOptions, ModernDevServerOptions };
5
5
 
6
6
  declare const _default: (options: ModernDevServerOptions) => Promise<Server>;
7
7
 
@@ -1,9 +1,9 @@
1
1
  import type { APIServerStartInput } from '@modern-js/server-core';
2
2
  import { ServerRoute as ModernRouteInterface } from '@modern-js/types';
3
- import { ApiServerMode, HookNames } from '@modern-js/prod-server';
3
+ import { HookNames } from '@modern-js/prod-server';
4
4
  import { ModernDevServer } from './dev-server';
5
5
  export declare class ModernSSRDevServer extends ModernDevServer {
6
- protected prepareAPIHandler(_m: ApiServerMode, _: APIServerStartInput['config']): any;
6
+ protected prepareAPIHandler(_: APIServerStartInput['config']): any;
7
7
  protected filterRoutes(routes: ModernRouteInterface[]): ModernRouteInterface[];
8
8
  protected setupBeforeProdMiddleware(): Promise<void>;
9
9
  protected emitRouteHook(_: HookNames, _input: any): Promise<void>;
@@ -1,5 +1,9 @@
1
1
  import type webpack from 'webpack';
2
2
  import type { ModernServerOptions } from '@modern-js/prod-server';
3
+ export declare type DevServerHttpsOptions = boolean | {
4
+ key: string;
5
+ cert: string;
6
+ };
3
7
  export declare type DevServerOptions = {
4
8
  client: {
5
9
  path?: string;
@@ -15,10 +19,7 @@ export declare type DevServerOptions = {
15
19
  watch: boolean;
16
20
  hot: boolean | string;
17
21
  liveReload: boolean;
18
- https?: boolean | {
19
- key: string;
20
- cert: string;
21
- };
22
+ https?: DevServerHttpsOptions;
22
23
  [propName: string]: any;
23
24
  };
24
25
  export declare type ExtraOptions = {
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "1.17.0",
14
+ "version": "1.18.0",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/js/node/index.js",
@@ -30,28 +30,34 @@
30
30
  "dependencies": {
31
31
  "@babel/core": "^7.18.0",
32
32
  "@babel/register": "^7.17.7",
33
- "@modern-js/prod-server": "1.17.0",
34
- "@modern-js/server-utils": "1.17.0",
35
- "@modern-js/utils": "1.17.0",
33
+ "@modern-js/prod-server": "1.18.0",
34
+ "@modern-js/server-utils": "1.18.0",
35
+ "@modern-js/utils": "1.18.0",
36
36
  "devcert": "^1.2.2",
37
37
  "minimatch": "^3.0.4",
38
38
  "path-to-regexp": "^6.2.0",
39
39
  "ws": "^8.2.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@modern-js/core": "1.17.0",
43
- "@modern-js/server-core": "1.17.0",
44
- "@modern-js/types": "1.17.0",
45
- "@scripts/build": "1.17.0",
46
- "@scripts/jest-config": "1.17.0",
42
+ "@modern-js/core": "1.18.0",
43
+ "@modern-js/server-core": "1.18.0",
44
+ "@modern-js/types": "1.18.0",
45
+ "@scripts/build": "1.18.0",
46
+ "@scripts/jest-config": "1.18.0",
47
47
  "@types/jest": "^27",
48
48
  "@types/minimatch": "^3.0.5",
49
49
  "@types/node": "^14",
50
50
  "@types/ws": "^7.4.7",
51
51
  "jest": "^27",
52
+ "ts-node": "^10.1.0",
53
+ "tsconfig-paths": "3.14.1",
52
54
  "typescript": "^4",
53
- "websocket": "^1",
54
- "webpack": "^5.71.0"
55
+ "webpack": "^5.71.0",
56
+ "websocket": "^1"
57
+ },
58
+ "peerDependencies": {
59
+ "ts-node": "^10.1.0",
60
+ "tsconfig-paths": "3.14.1"
55
61
  },
56
62
  "sideEffects": false,
57
63
  "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;