@modern-js/app-tools 2.0.0-beta.0 → 2.0.0-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.
Files changed (126) hide show
  1. package/CHANGELOG.md +181 -0
  2. package/dist/js/modern/analyze/generateCode.js +29 -37
  3. package/dist/js/modern/analyze/getBundleEntry.js +4 -12
  4. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +5 -30
  5. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +5 -30
  6. package/dist/js/modern/analyze/getClientRoutes/utils.js +0 -3
  7. package/dist/js/modern/analyze/getFileSystemEntry.js +4 -17
  8. package/dist/js/modern/analyze/getHtmlTemplate.js +2 -9
  9. package/dist/js/modern/analyze/getServerRoutes.js +15 -32
  10. package/dist/js/modern/analyze/index.js +79 -22
  11. package/dist/js/modern/analyze/isDefaultExportFunction.js +0 -4
  12. package/dist/js/modern/analyze/makeLegalIdentifier.js +0 -2
  13. package/dist/js/modern/analyze/nestedRoutes.js +8 -33
  14. package/dist/js/modern/analyze/templates.js +22 -37
  15. package/dist/js/modern/analyze/utils.js +0 -7
  16. package/dist/js/modern/builder/builderPlugins/compatModern.js +30 -48
  17. package/dist/js/modern/builder/createHtmlConfig.js +2 -2
  18. package/dist/js/modern/builder/createOutputConfig.js +7 -4
  19. package/dist/js/modern/builder/createSourceConfig.js +0 -11
  20. package/dist/js/modern/builder/createToolsConfig.js +3 -10
  21. package/dist/js/modern/builder/index.js +24 -22
  22. package/dist/js/modern/builder/share.js +0 -4
  23. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +0 -8
  24. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +2 -13
  25. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +97 -0
  26. package/dist/js/modern/commands/build.js +6 -46
  27. package/dist/js/modern/commands/dev.js +4 -16
  28. package/dist/js/modern/commands/inspect.js +3 -20
  29. package/dist/js/modern/commands/start.js +0 -2
  30. package/dist/js/modern/index.js +6 -15
  31. package/dist/js/modern/utils/config.js +1 -12
  32. package/dist/js/modern/utils/createServer.js +0 -5
  33. package/dist/js/modern/utils/getSpecifiedEntries.js +0 -6
  34. package/dist/js/modern/utils/printInstructions.js +2 -1
  35. package/dist/js/modern/utils/routes.js +0 -2
  36. package/dist/js/node/analyze/generateCode.js +29 -60
  37. package/dist/js/node/analyze/getBundleEntry.js +4 -18
  38. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +5 -45
  39. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +5 -45
  40. package/dist/js/node/analyze/getClientRoutes/index.js +0 -2
  41. package/dist/js/node/analyze/getClientRoutes/utils.js +0 -14
  42. package/dist/js/node/analyze/getFileSystemEntry.js +4 -25
  43. package/dist/js/node/analyze/getHtmlTemplate.js +2 -23
  44. package/dist/js/node/analyze/getServerRoutes.js +14 -40
  45. package/dist/js/node/analyze/index.js +79 -32
  46. package/dist/js/node/analyze/isDefaultExportFunction.js +0 -12
  47. package/dist/js/node/analyze/makeLegalIdentifier.js +0 -4
  48. package/dist/js/node/analyze/nestedRoutes.js +8 -41
  49. package/dist/js/node/analyze/templates.js +22 -47
  50. package/dist/js/node/analyze/utils.js +0 -20
  51. package/dist/js/node/builder/builderPlugins/compatModern.js +30 -59
  52. package/dist/js/node/builder/createHtmlConfig.js +2 -10
  53. package/dist/js/node/builder/createOutputConfig.js +7 -6
  54. package/dist/js/node/builder/createSourceConfig.js +0 -17
  55. package/dist/js/node/builder/createToolsConfig.js +3 -12
  56. package/dist/js/node/builder/index.js +24 -36
  57. package/dist/js/node/builder/share.js +0 -12
  58. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +0 -10
  59. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +2 -15
  60. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +105 -0
  61. package/dist/js/node/commands/build.js +4 -57
  62. package/dist/js/node/commands/deploy.js +0 -2
  63. package/dist/js/node/commands/dev.js +3 -27
  64. package/dist/js/node/commands/index.js +0 -6
  65. package/dist/js/node/commands/inspect.js +3 -27
  66. package/dist/js/node/commands/start.js +0 -11
  67. package/dist/js/node/exports/server.js +0 -1
  68. package/dist/js/node/hooks.js +0 -2
  69. package/dist/js/node/index.js +7 -34
  70. package/dist/js/node/locale/index.js +0 -4
  71. package/dist/js/node/utils/commands.js +0 -2
  72. package/dist/js/node/utils/config.js +1 -25
  73. package/dist/js/node/utils/createServer.js +0 -15
  74. package/dist/js/node/utils/getSpecifiedEntries.js +0 -9
  75. package/dist/js/node/utils/language.js +0 -2
  76. package/dist/js/node/utils/printInstructions.js +2 -5
  77. package/dist/js/node/utils/routes.js +0 -5
  78. package/dist/js/treeshaking/analyze/generateCode.js +57 -100
  79. package/dist/js/treeshaking/analyze/getBundleEntry.js +11 -19
  80. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +16 -42
  81. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +16 -42
  82. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +0 -3
  83. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +4 -17
  84. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +2 -26
  85. package/dist/js/treeshaking/analyze/getServerRoutes.js +24 -37
  86. package/dist/js/treeshaking/analyze/index.js +185 -65
  87. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +0 -4
  88. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +0 -2
  89. package/dist/js/treeshaking/analyze/nestedRoutes.js +9 -51
  90. package/dist/js/treeshaking/analyze/templates.js +31 -50
  91. package/dist/js/treeshaking/analyze/utils.js +7 -14
  92. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +40 -59
  93. package/dist/js/treeshaking/builder/createHtmlConfig.js +15 -15
  94. package/dist/js/treeshaking/builder/createOutputConfig.js +26 -23
  95. package/dist/js/treeshaking/builder/createSourceConfig.js +7 -19
  96. package/dist/js/treeshaking/builder/createToolsConfig.js +16 -21
  97. package/dist/js/treeshaking/builder/index.js +38 -49
  98. package/dist/js/treeshaking/builder/share.js +0 -4
  99. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +1 -13
  100. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +2 -14
  101. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +121 -0
  102. package/dist/js/treeshaking/commands/build.js +26 -111
  103. package/dist/js/treeshaking/commands/deploy.js +0 -3
  104. package/dist/js/treeshaking/commands/dev.js +13 -35
  105. package/dist/js/treeshaking/commands/inspect.js +5 -28
  106. package/dist/js/treeshaking/commands/start.js +0 -9
  107. package/dist/js/treeshaking/index.js +2 -39
  108. package/dist/js/treeshaking/utils/config.js +1 -17
  109. package/dist/js/treeshaking/utils/createServer.js +0 -10
  110. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +0 -10
  111. package/dist/js/treeshaking/utils/printInstructions.js +0 -5
  112. package/dist/js/treeshaking/utils/routes.js +0 -4
  113. package/dist/types/analyze/index.d.ts +2 -3
  114. package/dist/types/analyze/nestedRoutes.d.ts +1 -1
  115. package/dist/types/analyze/templates.d.ts +3 -1
  116. package/dist/types/builder/builderPlugins/compatModern.d.ts +0 -1
  117. package/dist/types/builder/index.d.ts +2 -6
  118. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +10 -0
  119. package/dist/types/commands/inspect.d.ts +1 -4
  120. package/dist/types/index.d.ts +0 -2
  121. package/dist/types/utils/config.d.ts +0 -1
  122. package/package.json +23 -22
  123. package/dist/js/modern/utils/createCompiler.js +0 -58
  124. package/dist/js/node/utils/createCompiler.js +0 -75
  125. package/dist/js/treeshaking/utils/createCompiler.js +0 -117
  126. package/dist/types/utils/createCompiler.d.ts +0 -12
@@ -4,29 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.dev = void 0;
7
-
8
7
  var _utils = require("@modern-js/utils");
9
-
10
8
  var _core = require("@modern-js/core");
11
-
12
9
  var _printInstructions = require("../utils/printInstructions");
13
-
14
- var _createCompiler = require("../utils/createCompiler");
15
-
16
10
  var _createServer = require("../utils/createServer");
17
-
18
11
  var _routes = require("../utils/routes");
19
-
20
12
  var _getSpecifiedEntries = require("../utils/getSpecifiedEntries");
21
-
22
13
  var _config = require("../utils/config");
23
-
24
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; }
25
-
26
15
  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
16
  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
17
  const dev = async (api, options) => {
31
18
  let userConfig = api.useResolvedConfigContext();
32
19
  const appContext = api.useAppContext();
@@ -34,9 +21,7 @@ const dev = async (api, options) => {
34
21
  userConfig = _objectSpread(_objectSpread({}, userConfig), {}, {
35
22
  cliOptions: options
36
23
  });
37
-
38
24
  _core.ResolvedConfigContext.set(userConfig);
39
-
40
25
  const {
41
26
  appDirectory,
42
27
  distDirectory,
@@ -63,17 +48,10 @@ const dev = async (api, options) => {
63
48
  });
64
49
  await hookRunners.beforeDev();
65
50
  let compiler = null;
66
-
67
51
  if (!apiOnly) {
68
- const target = (0, _utils.isSSR)(userConfig) ? ['web', 'node'] : ['web'];
69
- compiler = await (0, _createCompiler.createDevCompiler)({
70
- target,
71
- api,
72
- normalizedConfig: userConfig,
73
- appContext
74
- });
52
+ var _appContext$builder;
53
+ compiler = await ((_appContext$builder = appContext.builder) === null || _appContext$builder === void 0 ? void 0 : _appContext$builder.createCompiler());
75
54
  }
76
-
77
55
  await (0, _routes.generateRoutes)(appContext);
78
56
  const app = await (0, _createServer.createServer)({
79
57
  dev: _objectSpread(_objectSpread({}, {
@@ -98,13 +76,11 @@ const dev = async (api, options) => {
98
76
  if (err) {
99
77
  throw err;
100
78
  }
101
-
102
79
  if (!apiOnly) {
103
- _utils.logger.info(`Starting dev server...`);
80
+ _utils.logger.info(`Starting dev server...\n`);
104
81
  } else {
105
82
  (0, _printInstructions.printInstructions)(hookRunners, appContext, userConfig);
106
83
  }
107
84
  });
108
85
  };
109
-
110
86
  exports.dev = dev;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _dev = require("./dev");
8
-
9
7
  Object.keys(_dev).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _dev[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_dev).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
17
  var _build = require("./build");
21
-
22
18
  Object.keys(_build).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _build[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_build).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
28
  var _start = require("./start");
34
-
35
29
  Object.keys(_start).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _start[key]) return;
@@ -4,39 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.inspect = void 0;
7
-
8
7
  var _path = require("path");
9
-
10
- var _utils = require("@modern-js/utils");
11
-
12
- var _builder = _interopRequireDefault(require("../builder"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
8
  const inspect = async (api, options) => {
17
- const resolvedConfig = api.useResolvedConfigContext();
9
+ var _appContext$builder;
18
10
  const appContext = api.useAppContext();
19
- const targets = ['web'];
20
-
21
- if (resolvedConfig.output.enableModernMode) {
22
- targets.push('modern-web');
23
- }
24
-
25
- if ((0, _utils.isUseSSRBundle)(resolvedConfig)) {
26
- targets.push('node');
27
- }
28
-
29
- const builder = await (0, _builder.default)({
30
- target: targets,
31
- appContext,
32
- normalizedConfig: resolvedConfig
33
- });
34
- return builder.inspectConfig({
11
+ return (_appContext$builder = appContext.builder) === null || _appContext$builder === void 0 ? void 0 : _appContext$builder.inspectConfig({
35
12
  env: options.env,
36
13
  verbose: options.verbose,
37
- outputPath: (0, _path.join)(builder.context.distPath, options.output),
14
+ outputPath: (0, _path.join)(appContext === null || appContext === void 0 ? void 0 : appContext.builder.context.distPath, options.output),
38
15
  writeToDisk: true
39
16
  });
40
17
  };
41
-
42
18
  exports.inspect = inspect;
@@ -4,20 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.start = void 0;
7
-
8
7
  var _utils = require("@modern-js/utils");
9
-
10
8
  var _prodServer = _interopRequireDefault(require("@modern-js/prod-server"));
11
-
12
9
  var _printInstructions = require("../utils/printInstructions");
13
-
14
10
  var _createServer = require("../utils/createServer");
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  const start = async api => {
19
13
  var _userConfig$source;
20
-
21
14
  const appContext = api.useAppContext();
22
15
  const userConfig = api.useResolvedConfigContext();
23
16
  const hookRunners = api.useHookRunners();
@@ -26,9 +19,7 @@ const start = async api => {
26
19
  port,
27
20
  serverConfigFile
28
21
  } = appContext;
29
-
30
22
  _utils.logger.log(_utils.chalk.cyan(`Starting the modern server...`));
31
-
32
23
  const apiOnly = await (0, _utils.isApiOnly)(appContext.appDirectory, userConfig === null || userConfig === void 0 ? void 0 : (_userConfig$source = userConfig.source) === null || _userConfig$source === void 0 ? void 0 : _userConfig$source.entriesDir);
33
24
  const app = await (0, _prodServer.default)({
34
25
  pwd: appDirectory,
@@ -41,9 +32,7 @@ const start = async api => {
41
32
  if (err) {
42
33
  throw err;
43
34
  }
44
-
45
35
  await (0, _printInstructions.printInstructions)(hookRunners, appContext, userConfig);
46
36
  });
47
37
  };
48
-
49
38
  exports.start = start;
@@ -9,5 +9,4 @@ Object.defineProperty(exports, "defineConfig", {
9
9
  return _config.defineServerConfig;
10
10
  }
11
11
  });
12
-
13
12
  var _config = require("../utils/config");
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.hooks = exports.beforePrintInstructions = exports.beforeDev = exports.beforeDeploy = exports.beforeCreateCompiler = exports.beforeBuild = exports.afterDev = exports.afterDeploy = exports.afterCreateCompiler = exports.afterBuild = void 0;
7
-
8
7
  var _plugin = require("@modern-js/plugin");
9
-
10
8
  const beforeDev = (0, _plugin.createAsyncWorkflow)();
11
9
  exports.beforeDev = beforeDev;
12
10
  const afterDev = (0, _plugin.createAsyncWorkflow)();
@@ -16,51 +16,32 @@ Object.defineProperty(exports, "hooks", {
16
16
  return _hooks.hooks;
17
17
  }
18
18
  });
19
-
20
19
  var _path = _interopRequireDefault(require("path"));
21
-
22
20
  var _core = require("@modern-js/core");
23
-
24
- var _pluginJarvis = _interopRequireDefault(require("@modern-js/plugin-jarvis"));
25
-
21
+ var _pluginLint = _interopRequireDefault(require("@modern-js/plugin-lint"));
26
22
  var _utils = require("@modern-js/utils");
27
-
28
23
  var _analyze = _interopRequireDefault(require("./analyze"));
29
-
30
24
  var _hooks = require("./hooks");
31
-
32
25
  var _locale = require("./locale");
33
-
34
26
  var _language = require("./utils/language");
35
-
36
27
  var _commands = require("./utils/commands");
37
-
38
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
-
40
29
  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; }
41
-
42
30
  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; }
43
-
44
31
  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; }
45
-
46
32
  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); }
47
-
48
33
  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; }
49
-
50
34
  const upgradeModel = _utils.Import.lazy('@modern-js/upgrade', require);
51
-
52
35
  var _default = () => ({
53
36
  name: '@modern-js/app-tools',
54
- post: ['@modern-js/plugin-analyze', '@modern-js/plugin-ssr', '@modern-js/plugin-state', '@modern-js/plugin-router', '@modern-js/plugin-router-legacy', '@modern-js/plugin-polyfill'],
37
+ post: ['@modern-js/plugin-analyze', '@modern-js/plugin-ssr', '@modern-js/plugin-document', '@modern-js/plugin-state', '@modern-js/plugin-router', '@modern-js/plugin-router-legacy', '@modern-js/plugin-polyfill'],
55
38
  registerHook: _hooks.hooks,
56
- usePlugins: [(0, _analyze.default)(), (0, _pluginJarvis.default)()],
39
+ usePlugins: [(0, _analyze.default)(), (0, _pluginLint.default)()],
57
40
  setup: api => {
58
41
  const locale = (0, _language.getLocaleLanguage)();
59
-
60
42
  _locale.i18n.changeLanguage({
61
43
  locale
62
44
  });
63
-
64
45
  return {
65
46
  commands({
66
47
  program
@@ -75,9 +56,9 @@ var _default = () => ({
75
56
  const {
76
57
  build
77
58
  } = await Promise.resolve().then(() => _interopRequireWildcard(require("./commands/build")));
78
- await build(api, options); // force exit after build.
59
+ await build(api, options);
60
+ // force exit after build.
79
61
  // eslint-disable-next-line no-process-exit
80
-
81
62
  process.exit(0);
82
63
  });
83
64
  program.command('start').usage('[options]').description(_locale.i18n.t(_locale.localeKeys.command.start.describe)).option('--api-only', _locale.i18n.t(_locale.localeKeys.command.dev.apiOnly)).option('-c --config <config>', _locale.i18n.t(_locale.localeKeys.command.shared.config)).action(async () => {
@@ -94,8 +75,8 @@ var _default = () => ({
94
75
  const {
95
76
  deploy
96
77
  } = await Promise.resolve().then(() => _interopRequireWildcard(require("./commands/deploy")));
97
- await deploy(api, options); // eslint-disable-next-line no-process-exit
98
-
78
+ await deploy(api, options);
79
+ // eslint-disable-next-line no-process-exit
99
80
  process.exit(0);
100
81
  });
101
82
  program.command('new').usage('[options]').description(_locale.i18n.t(_locale.localeKeys.command.new.describe)).option('-d, --debug', _locale.i18n.t(_locale.localeKeys.command.new.debug), false).option('-c, --config <config>', _locale.i18n.t(_locale.localeKeys.command.new.config)).option('--dist-tag <tag>', _locale.i18n.t(_locale.localeKeys.command.new.distTag)).option('--registry', _locale.i18n.t(_locale.localeKeys.command.new.registry)).action(async options => {
@@ -114,16 +95,13 @@ var _default = () => ({
114
95
  });
115
96
  upgradeModel.defineCommand(program.command('upgrade'));
116
97
  },
117
-
118
98
  async prepare() {
119
99
  const command = (0, _commands.getCommand)();
120
-
121
100
  if (command === 'dev' || command === 'build') {
122
101
  const appContext = api.useAppContext();
123
102
  await (0, _utils.emptyDir)(appContext.distDirectory);
124
103
  }
125
104
  },
126
-
127
105
  // 这里会被 core/initWatcher 监听的文件变动触发,如果是 src 目录下的文件变动,则不做 restart
128
106
  async fileChange(e) {
129
107
  const {
@@ -135,9 +113,7 @@ var _default = () => ({
135
113
  appDirectory,
136
114
  srcDirectory
137
115
  } = appContext;
138
-
139
116
  const absolutePath = _path.default.resolve(appDirectory, filename);
140
-
141
117
  if (!absolutePath.includes(srcDirectory) && (eventType === 'change' || eventType === 'unlink')) {
142
118
  const {
143
119
  closeServer
@@ -146,13 +122,10 @@ var _default = () => ({
146
122
  await _core.cli.restart();
147
123
  }
148
124
  },
149
-
150
125
  async beforeRestart() {
151
126
  (0, _utils.cleanRequireCache)([require.resolve("./analyze")]);
152
127
  }
153
-
154
128
  };
155
129
  }
156
130
  });
157
-
158
131
  exports.default = _default;
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.localeKeys = exports.i18n = void 0;
7
-
8
7
  var _pluginI18n = require("@modern-js/plugin-i18n");
9
-
10
8
  var _zh = require("./zh");
11
-
12
9
  var _en = require("./en");
13
-
14
10
  const i18n = new _pluginI18n.I18n();
15
11
  exports.i18n = i18n;
16
12
  const localeKeys = i18n.init('zh', {
@@ -4,11 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getCommand = void 0;
7
-
8
7
  const getCommand = () => {
9
8
  const args = process.argv.slice(2);
10
9
  const command = args[0];
11
10
  return command;
12
11
  };
13
-
14
12
  exports.getCommand = getCommand;
@@ -4,27 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.safeReplacer = exports.emitResolvedConfig = exports.defineServerConfig = exports.buildServerConfig = void 0;
7
-
8
7
  var path = _interopRequireWildcard(require("path"));
9
-
10
8
  var _nodeBundleRequire = require("@modern-js/node-bundle-require");
11
-
12
9
  var _utils = require("@modern-js/utils");
13
-
14
10
  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); }
15
-
16
11
  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; }
17
-
18
12
  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; }
19
-
20
13
  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; }
21
-
22
14
  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; }
23
-
24
15
  const defineServerConfig = config => config;
25
-
26
16
  exports.defineServerConfig = defineServerConfig;
27
-
28
17
  const buildServerConfig = async ({
29
18
  appDirectory,
30
19
  distDirectory,
@@ -32,9 +21,7 @@ const buildServerConfig = async ({
32
21
  options
33
22
  }) => {
34
23
  const configFilePath = await (0, _utils.getServerConfig)(appDirectory, configFile);
35
-
36
24
  const getOutputFile = async filepath => path.resolve(distDirectory, `${filepath.replace(new RegExp(_utils.CONFIG_FILE_EXTENSIONS.join('|')), '')}.js`);
37
-
38
25
  if (configFilePath) {
39
26
  const configHelperFilePath = path.normalize(path.join(distDirectory, './config-helper.js'));
40
27
  const helperCode = `
@@ -46,7 +33,6 @@ const buildServerConfig = async ({
46
33
  getOutputFile,
47
34
  esbuildPlugins: [{
48
35
  name: 'native-build-config',
49
-
50
36
  setup(ctx) {
51
37
  ctx.onResolve({
52
38
  filter: /app-tools\/server/
@@ -56,48 +42,38 @@ const buildServerConfig = async ({
56
42
  };
57
43
  });
58
44
  }
59
-
60
45
  }]
61
46
  }));
62
47
  }
63
48
  };
49
+
64
50
  /**
65
51
  *
66
52
  * 处理循环引用的 replacer
67
53
  */
68
-
69
-
70
54
  exports.buildServerConfig = buildServerConfig;
71
-
72
55
  const safeReplacer = () => {
73
56
  const cache = [];
74
57
  const keyCache = [];
75
58
  return function (key, value) {
76
59
  if (typeof value === 'object' && value !== null) {
77
60
  const index = cache.indexOf(value);
78
-
79
61
  if (index !== -1) {
80
62
  return `[Circular ${keyCache[index]}]`;
81
63
  }
82
-
83
64
  cache.push(value);
84
65
  keyCache.push(key || 'root');
85
66
  }
86
-
87
67
  return value;
88
68
  };
89
69
  };
90
-
91
70
  exports.safeReplacer = safeReplacer;
92
-
93
71
  const emitResolvedConfig = async (appDirectory, resolvedConfig) => {
94
72
  var _resolvedConfig$outpu;
95
-
96
73
  const outputPath = path.join(appDirectory, (resolvedConfig === null || resolvedConfig === void 0 ? void 0 : (_resolvedConfig$outpu = resolvedConfig.output) === null || _resolvedConfig$outpu === void 0 ? void 0 : _resolvedConfig$outpu.path) || './dist', _utils.OUTPUT_CONFIG_FILE);
97
74
  await _utils.fs.writeJSON(outputPath, resolvedConfig, {
98
75
  spaces: 2,
99
76
  replacer: safeReplacer()
100
77
  });
101
78
  };
102
-
103
79
  exports.emitResolvedConfig = emitResolvedConfig;
@@ -4,45 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.injectDataLoaderPlugin = exports.getServer = exports.createServer = exports.closeServer = void 0;
7
-
8
7
  var _server = require("@modern-js/server");
9
-
10
8
  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; }
11
-
12
9
  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; }
13
-
14
10
  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; }
15
-
16
11
  let server = null;
17
-
18
12
  const getServer = () => server;
19
-
20
13
  exports.getServer = getServer;
21
-
22
14
  const closeServer = async () => {
23
15
  if (server) {
24
16
  await server.close();
25
17
  server = null;
26
18
  }
27
19
  };
28
-
29
20
  exports.closeServer = closeServer;
30
-
31
21
  const createServer = async options => {
32
22
  if (server) {
33
23
  await server.close();
34
24
  }
35
-
36
25
  server = new _server.Server(options);
37
26
  const app = await server.init();
38
27
  return app;
39
28
  };
40
-
41
29
  exports.createServer = createServer;
42
-
43
30
  const injectDataLoaderPlugin = internalPlugins => {
44
31
  const DataLoaderPlugin = require.resolve('@modern-js/plugin-data-loader/server');
45
-
46
32
  return _objectSpread(_objectSpread({}, internalPlugins), {}, {
47
33
  '@modern-js/plugin-data-loader': {
48
34
  path: DataLoaderPlugin,
@@ -50,5 +36,4 @@ const injectDataLoaderPlugin = internalPlugins => {
50
36
  }
51
37
  });
52
38
  };
53
-
54
39
  exports.injectDataLoaderPlugin = injectDataLoaderPlugin;
@@ -4,16 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getSpecifiedEntries = void 0;
7
-
8
7
  var _utils = require("@modern-js/utils");
9
-
10
8
  const getSpecifiedEntries = async (entry, entrypoints) => {
11
9
  const entryNames = entrypoints.map(e => e.entryName);
12
-
13
10
  if (!entry) {
14
11
  return entryNames;
15
12
  }
16
-
17
13
  if (typeof entry === 'boolean') {
18
14
  const {
19
15
  selected
@@ -22,19 +18,15 @@ const getSpecifiedEntries = async (entry, entrypoints) => {
22
18
  name: 'selected',
23
19
  choices: entryNames,
24
20
  message: '请选择需要构建的入口',
25
-
26
21
  validate(answer) {
27
22
  if (answer.length < 1) {
28
23
  return 'You must choose at least one topping.';
29
24
  }
30
-
31
25
  return true;
32
26
  }
33
-
34
27
  }]);
35
28
  return selected;
36
29
  }
37
-
38
30
  entry.forEach(name => {
39
31
  if (!entryNames.includes(name)) {
40
32
  throw new Error(`can not found entry ${name}, compiler entry should in ${entryNames.join(', ')}`);
@@ -42,5 +34,4 @@ const getSpecifiedEntries = async (entry, entrypoints) => {
42
34
  });
43
35
  return entry;
44
36
  };
45
-
46
37
  exports.getSpecifiedEntries = getSpecifiedEntries;
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getLocaleLanguage = getLocaleLanguage;
7
-
8
7
  var _languageDetector = require("@modern-js/plugin-i18n/language-detector");
9
-
10
8
  function getLocaleLanguage() {
11
9
  const detector = new _languageDetector.I18CLILanguageDetector();
12
10
  return detector.detect();
@@ -4,19 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.printInstructions = void 0;
7
-
8
7
  var _utils = require("@modern-js/utils");
9
-
10
8
  const printInstructions = async (hookRunners, appContext, config) => {
11
- const message = (0, _utils.prettyInstructions)(appContext, config); // call beforePrintInstructions hook.
9
+ const message = (0, _utils.prettyInstructions)(appContext, config);
12
10
 
11
+ // call beforePrintInstructions hook.
13
12
  const {
14
13
  instructions
15
14
  } = await hookRunners.beforePrintInstructions({
16
15
  instructions: message
17
16
  });
18
-
19
17
  _utils.logger.info(instructions);
20
18
  };
21
-
22
19
  exports.printInstructions = printInstructions;
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.generateRoutes = void 0;
7
-
8
7
  var _path = _interopRequireDefault(require("path"));
9
-
10
8
  var _utils = require("@modern-js/utils");
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  const generateRoutes = async appContext => {
15
11
  const {
16
12
  serverRoutes,
@@ -21,5 +17,4 @@ const generateRoutes = async appContext => {
21
17
  }, null, 2);
22
18
  await _utils.fs.outputFile(_path.default.join(distDirectory, _utils.ROUTE_SPEC_FILE), output);
23
19
  };
24
-
25
20
  exports.generateRoutes = generateRoutes;