@modern-js/app-tools 2.0.0-beta.2 → 2.0.0-beta.4

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 (236) hide show
  1. package/CHANGELOG.md +556 -0
  2. package/bin/modern.js +11 -1
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +38 -16
  5. package/dist/js/modern/analyze/generateCode.js +272 -211
  6. package/dist/js/modern/analyze/getBundleEntry.js +34 -32
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +93 -49
  8. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +89 -47
  9. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -2
  10. package/dist/js/modern/analyze/getClientRoutes/utils.js +23 -10
  11. package/dist/js/modern/analyze/getFileSystemEntry.js +43 -22
  12. package/dist/js/modern/analyze/getHtmlTemplate.js +89 -49
  13. package/dist/js/modern/analyze/getServerRoutes.js +122 -126
  14. package/dist/js/modern/analyze/index.js +201 -160
  15. package/dist/js/modern/analyze/isDefaultExportFunction.js +30 -16
  16. package/dist/js/modern/analyze/makeLegalIdentifier.js +10 -11
  17. package/dist/js/modern/analyze/nestedRoutes.js +110 -53
  18. package/dist/js/modern/analyze/templates.js +191 -77
  19. package/dist/js/modern/analyze/utils.js +98 -51
  20. package/dist/js/modern/builder/builderPlugins/compatModern.js +125 -107
  21. package/dist/js/modern/builder/index.js +124 -89
  22. package/dist/js/modern/builder/loaders/routerLoader.js +17 -0
  23. package/dist/js/modern/builder/loaders/serverModuleLoader.js +7 -0
  24. package/dist/js/modern/builder/share.js +23 -21
  25. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +23 -22
  26. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +31 -27
  27. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +100 -84
  28. package/dist/js/modern/commands/build.js +67 -42
  29. package/dist/js/modern/commands/deploy.js +27 -4
  30. package/dist/js/modern/commands/dev.js +93 -47
  31. package/dist/js/modern/commands/index.js +1 -1
  32. package/dist/js/modern/commands/inspect.js +30 -5
  33. package/dist/js/modern/commands/start.js +37 -16
  34. package/dist/js/modern/config/default.js +103 -114
  35. package/dist/js/modern/config/index.js +8 -2
  36. package/dist/js/modern/config/initial/createHtmlConfig.js +5 -2
  37. package/dist/js/modern/config/initial/createOutputConfig.js +11 -9
  38. package/dist/js/modern/config/initial/createSourceConfig.js +5 -2
  39. package/dist/js/modern/config/initial/createToolsConfig.js +7 -6
  40. package/dist/js/modern/config/initial/index.js +9 -4
  41. package/dist/js/modern/config/initial/inits.js +109 -73
  42. package/dist/js/modern/config/initial/transformNormalizedConfig.js +6 -3
  43. package/dist/js/modern/defineConfig.js +26 -11
  44. package/dist/js/modern/exports/server.js +4 -1
  45. package/dist/js/modern/hooks.js +15 -4
  46. package/dist/js/modern/index.js +178 -90
  47. package/dist/js/modern/initialize/index.js +98 -51
  48. package/dist/js/modern/locale/en.js +20 -21
  49. package/dist/js/modern/locale/index.js +6 -6
  50. package/dist/js/modern/locale/zh.js +21 -22
  51. package/dist/js/modern/schema/Schema.js +6 -5
  52. package/dist/js/modern/schema/index.js +51 -100
  53. package/dist/js/modern/schema/legacy.js +96 -231
  54. package/dist/js/modern/types/config/index.js +0 -1
  55. package/dist/js/modern/types/index.js +0 -1
  56. package/dist/js/modern/types/legacyConfig/output.js +0 -1
  57. package/dist/js/modern/utils/commands.js +5 -2
  58. package/dist/js/modern/utils/config.js +102 -41
  59. package/dist/js/modern/utils/createFileWatcher.js +84 -51
  60. package/dist/js/modern/utils/createServer.js +63 -17
  61. package/dist/js/modern/utils/getSpecifiedEntries.js +46 -19
  62. package/dist/js/modern/utils/language.js +6 -3
  63. package/dist/js/modern/utils/printInstructions.js +27 -8
  64. package/dist/js/modern/utils/restart.js +43 -16
  65. package/dist/js/modern/utils/routes.js +29 -12
  66. package/dist/js/node/analyze/Builder.js +58 -0
  67. package/dist/js/node/analyze/constants.js +54 -35
  68. package/dist/js/node/analyze/generateCode.js +291 -228
  69. package/dist/js/node/analyze/getBundleEntry.js +58 -44
  70. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +132 -76
  71. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +128 -74
  72. package/dist/js/node/analyze/getClientRoutes/index.js +23 -17
  73. package/dist/js/node/analyze/getClientRoutes/utils.js +44 -21
  74. package/dist/js/node/analyze/getFileSystemEntry.js +70 -39
  75. package/dist/js/node/analyze/getHtmlTemplate.js +116 -61
  76. package/dist/js/node/analyze/getServerRoutes.js +143 -137
  77. package/dist/js/node/analyze/index.js +247 -174
  78. package/dist/js/node/analyze/isDefaultExportFunction.js +55 -26
  79. package/dist/js/node/analyze/makeLegalIdentifier.js +27 -15
  80. package/dist/js/node/analyze/nestedRoutes.js +140 -67
  81. package/dist/js/node/analyze/templates.js +212 -84
  82. package/dist/js/node/analyze/utils.js +123 -62
  83. package/dist/js/node/builder/builderPlugins/compatModern.js +153 -120
  84. package/dist/js/node/builder/index.js +152 -98
  85. package/dist/js/node/builder/loaders/routerLoader.js +36 -0
  86. package/dist/js/node/builder/loaders/serverModuleLoader.js +26 -0
  87. package/dist/js/node/builder/share.js +46 -26
  88. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +39 -26
  89. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +47 -31
  90. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +118 -90
  91. package/dist/js/node/commands/build.js +89 -52
  92. package/dist/js/node/commands/deploy.js +45 -10
  93. package/dist/js/node/commands/dev.js +115 -61
  94. package/dist/js/node/commands/index.js +19 -38
  95. package/dist/js/node/commands/inspect.js +48 -11
  96. package/dist/js/node/commands/start.js +65 -27
  97. package/dist/js/node/config/default.js +119 -118
  98. package/dist/js/node/config/index.js +25 -29
  99. package/dist/js/node/config/initial/createHtmlConfig.js +22 -6
  100. package/dist/js/node/config/initial/createOutputConfig.js +28 -13
  101. package/dist/js/node/config/initial/createSourceConfig.js +22 -6
  102. package/dist/js/node/config/initial/createToolsConfig.js +24 -10
  103. package/dist/js/node/config/initial/index.js +28 -17
  104. package/dist/js/node/config/initial/inits.js +126 -81
  105. package/dist/js/node/config/initial/transformNormalizedConfig.js +31 -15
  106. package/dist/js/node/defineConfig.js +43 -17
  107. package/dist/js/node/exports/server.js +21 -10
  108. package/dist/js/node/hooks.js +48 -29
  109. package/dist/js/node/index.js +225 -128
  110. package/dist/js/node/initialize/index.js +116 -61
  111. package/dist/js/node/locale/en.js +36 -25
  112. package/dist/js/node/locale/index.js +27 -15
  113. package/dist/js/node/locale/zh.js +37 -26
  114. package/dist/js/node/schema/Schema.js +23 -10
  115. package/dist/js/node/schema/index.js +77 -114
  116. package/dist/js/node/schema/legacy.js +117 -240
  117. package/dist/js/node/types/config/index.js +17 -16
  118. package/dist/js/node/types/index.js +19 -38
  119. package/dist/js/node/types/legacyConfig/output.js +0 -5
  120. package/dist/js/node/utils/commands.js +21 -6
  121. package/dist/js/node/utils/config.js +120 -51
  122. package/dist/js/node/utils/createFileWatcher.js +104 -60
  123. package/dist/js/node/utils/createServer.js +86 -25
  124. package/dist/js/node/utils/getSpecifiedEntries.js +64 -25
  125. package/dist/js/node/utils/language.js +24 -8
  126. package/dist/js/node/utils/printInstructions.js +47 -16
  127. package/dist/js/node/utils/restart.js +61 -21
  128. package/dist/js/node/utils/routes.js +53 -18
  129. package/dist/js/treeshaking/analyze/Builder.js +199 -0
  130. package/dist/js/treeshaking/analyze/constants.js +28 -16
  131. package/dist/js/treeshaking/analyze/generateCode.js +605 -355
  132. package/dist/js/treeshaking/analyze/getBundleEntry.js +55 -63
  133. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +214 -168
  134. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +215 -169
  135. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -2
  136. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +19 -20
  137. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +89 -86
  138. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +298 -125
  139. package/dist/js/treeshaking/analyze/getServerRoutes.js +210 -146
  140. package/dist/js/treeshaking/analyze/index.js +571 -304
  141. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +45 -26
  142. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -16
  143. package/dist/js/treeshaking/analyze/nestedRoutes.js +414 -160
  144. package/dist/js/treeshaking/analyze/templates.js +432 -161
  145. package/dist/js/treeshaking/analyze/utils.js +361 -80
  146. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +282 -195
  147. package/dist/js/treeshaking/builder/index.js +371 -167
  148. package/dist/js/treeshaking/builder/loaders/routerLoader.js +13 -0
  149. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +5 -0
  150. package/dist/js/treeshaking/builder/share.js +38 -44
  151. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +108 -44
  152. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +70 -39
  153. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +334 -112
  154. package/dist/js/treeshaking/commands/build.js +286 -88
  155. package/dist/js/treeshaking/commands/deploy.js +153 -25
  156. package/dist/js/treeshaking/commands/dev.js +318 -132
  157. package/dist/js/treeshaking/commands/index.js +1 -1
  158. package/dist/js/treeshaking/commands/inspect.js +147 -32
  159. package/dist/js/treeshaking/commands/start.js +190 -68
  160. package/dist/js/treeshaking/config/default.js +210 -199
  161. package/dist/js/treeshaking/config/index.js +3 -2
  162. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -31
  163. package/dist/js/treeshaking/config/initial/createOutputConfig.js +43 -67
  164. package/dist/js/treeshaking/config/initial/createSourceConfig.js +37 -40
  165. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -38
  166. package/dist/js/treeshaking/config/initial/index.js +10 -9
  167. package/dist/js/treeshaking/config/initial/inits.js +205 -106
  168. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +27 -34
  169. package/dist/js/treeshaking/defineConfig.js +60 -13
  170. package/dist/js/treeshaking/exports/server.js +2 -1
  171. package/dist/js/treeshaking/hooks.js +30 -25
  172. package/dist/js/treeshaking/index.js +681 -256
  173. package/dist/js/treeshaking/initialize/index.js +290 -112
  174. package/dist/js/treeshaking/locale/en.js +34 -33
  175. package/dist/js/treeshaking/locale/index.js +5 -5
  176. package/dist/js/treeshaking/locale/zh.js +34 -33
  177. package/dist/js/treeshaking/schema/Schema.js +267 -69
  178. package/dist/js/treeshaking/schema/index.js +165 -121
  179. package/dist/js/treeshaking/schema/legacy.js +323 -256
  180. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  181. package/dist/js/treeshaking/types/config/dev.js +1 -0
  182. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  183. package/dist/js/treeshaking/types/config/html.js +1 -0
  184. package/dist/js/treeshaking/types/config/index.js +0 -1
  185. package/dist/js/treeshaking/types/config/output.js +1 -0
  186. package/dist/js/treeshaking/types/config/performance.js +1 -0
  187. package/dist/js/treeshaking/types/config/security.js +1 -0
  188. package/dist/js/treeshaking/types/config/source.js +1 -0
  189. package/dist/js/treeshaking/types/config/tools.js +1 -0
  190. package/dist/js/treeshaking/types/hooks.js +1 -0
  191. package/dist/js/treeshaking/types/index.js +0 -1
  192. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  193. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  194. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  195. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -1
  196. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  197. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  198. package/dist/js/treeshaking/utils/commands.js +6 -5
  199. package/dist/js/treeshaking/utils/config.js +295 -117
  200. package/dist/js/treeshaking/utils/createFileWatcher.js +278 -118
  201. package/dist/js/treeshaking/utils/createServer.js +252 -67
  202. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +182 -55
  203. package/dist/js/treeshaking/utils/language.js +6 -5
  204. package/dist/js/treeshaking/utils/printInstructions.js +151 -29
  205. package/dist/js/treeshaking/utils/restart.js +184 -42
  206. package/dist/js/treeshaking/utils/routes.js +151 -27
  207. package/dist/js/treeshaking/utils/types.js +1 -0
  208. package/dist/types/analyze/Builder.d.ts +8 -0
  209. package/dist/types/analyze/constants.d.ts +2 -0
  210. package/dist/types/analyze/index.d.ts +2 -0
  211. package/dist/types/analyze/templates.d.ts +10 -7
  212. package/dist/types/analyze/utils.d.ts +9 -1
  213. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
  214. package/dist/types/builder/index.d.ts +3 -3
  215. package/dist/types/builder/loaders/routerLoader.d.ts +3 -0
  216. package/dist/types/builder/loaders/serverModuleLoader.d.ts +3 -0
  217. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
  218. package/dist/types/defineConfig.d.ts +1 -0
  219. package/dist/types/index.d.ts +6 -1
  220. package/dist/types/initialize/index.d.ts +2 -0
  221. package/dist/types/types/config/dev.d.ts +2 -2
  222. package/dist/types/types/config/index.d.ts +1 -0
  223. package/dist/types/types/config/output.d.ts +0 -1
  224. package/dist/types/types/config/source.d.ts +1 -0
  225. package/dist/types/types/config/tools.d.ts +10 -1
  226. package/dist/types/types/hooks.d.ts +7 -1
  227. package/dist/types/types/legacyConfig/dev.d.ts +1 -0
  228. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  229. package/dist/types/types/legacyConfig/source.d.ts +1 -0
  230. package/dist/types/types/legacyConfig/tools.d.ts +1 -0
  231. package/dist/types/utils/config.d.ts +1 -0
  232. package/dist/types/utils/createFileWatcher.d.ts +2 -1
  233. package/dist/types/utils/createServer.d.ts +1 -0
  234. package/dist/types/utils/restart.d.ts +1 -1
  235. package/lib/types.d.ts +1 -1
  236. package/package.json +26 -22
@@ -2,7 +2,7 @@ import { createToolsConfig } from "./createToolsConfig";
2
2
  import { createSourceConfig } from "./createSourceConfig";
3
3
  import { createOutputConfig } from "./createOutputConfig";
4
4
  import { createHtmlConfig } from "./createHtmlConfig";
5
- export function transformNormalizedConfig(config) {
5
+ function transformNormalizedConfig(config) {
6
6
  const html = createHtmlConfig(config);
7
7
  const output = createOutputConfig(config);
8
8
  const source = createSourceConfig(config);
@@ -31,10 +31,13 @@ export function transformNormalizedConfig(config) {
31
31
  server,
32
32
  cliOptions,
33
33
  testing,
34
- plugins: plugins,
34
+ plugins,
35
35
  security: {},
36
36
  _raw: {},
37
37
  experiments: {},
38
38
  performance: {}
39
39
  };
40
- }
40
+ }
41
+ export {
42
+ transformNormalizedConfig
43
+ };
@@ -1,12 +1,27 @@
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
- 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; }
3
- 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; }
4
- export const defineConfig = config => config;
5
-
6
- /**
7
- * @deprecated
8
- * Using defineConfig first.
9
- */
10
- export const defineLegacyConfig = config => _objectSpread(_objectSpread({}, config), {}, {
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ const defineConfig = (config) => config;
21
+ const defineLegacyConfig = (config) => __spreadProps(__spreadValues({}, config), {
11
22
  legacy: true
12
- });
23
+ });
24
+ export {
25
+ defineConfig,
26
+ defineLegacyConfig
27
+ };
@@ -1 +1,4 @@
1
- export { defineServerConfig as defineConfig } from "../utils/config";
1
+ import { defineServerConfig } from "../utils/config";
2
+ export {
3
+ defineServerConfig as defineConfig
4
+ };
@@ -1,5 +1,9 @@
1
- import { createAsyncWaterfall, createAsyncWorkflow, createParallelWorkflow } from '@modern-js/plugin';
2
- export const hooks = {
1
+ import {
2
+ createAsyncWaterfall,
3
+ createAsyncWorkflow,
4
+ createParallelWorkflow
5
+ } from "@modern-js/plugin";
6
+ const hooks = {
3
7
  modifyEntryExport: createAsyncWaterfall(),
4
8
  modifyEntryImports: createAsyncWaterfall(),
5
9
  modifyEntryRuntimePlugins: createAsyncWaterfall(),
@@ -21,5 +25,12 @@ export const hooks = {
21
25
  afterDeploy: createAsyncWorkflow(),
22
26
  watchFiles: createParallelWorkflow(),
23
27
  fileChange: createAsyncWorkflow(),
24
- beforeRestart: createAsyncWorkflow()
25
- };
28
+ beforeRestart: createAsyncWorkflow(),
29
+ registerDev: createParallelWorkflow(),
30
+ beforeDevTask: createParallelWorkflow(),
31
+ registerBuildPlatform: createParallelWorkflow(),
32
+ beforeBuildPlatform: createParallelWorkflow()
33
+ };
34
+ export {
35
+ hooks
36
+ };
@@ -1,9 +1,46 @@
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
- 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; }
3
- 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; }
4
- import path from 'path';
5
- import LintPlugin from '@modern-js/plugin-lint';
6
- import { cleanRequireCache, emptyDir, Import } from '@modern-js/utils';
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+ import path from "path";
41
+ import LintPlugin from "@modern-js/plugin-lint";
42
+ import { cleanRequireCache, emptyDir, Import } from "@modern-js/utils";
43
+ import { castArray } from "@modern-js/utils/lodash";
7
44
  import AnalyzePlugin from "./analyze";
8
45
  import InitializePlugin from "./initialize";
9
46
  import { hooks } from "./hooks";
@@ -13,100 +50,151 @@ import { getCommand } from "./utils/commands";
13
50
  import { restart } from "./utils/restart";
14
51
  export * from "./defineConfig";
15
52
  export * from "./types";
16
- const upgradeModel = Import.lazy('@modern-js/upgrade', require);
17
- export default (() => ({
18
- name: '@modern-js/app-tools',
19
- post: ['@modern-js/plugin-initialize', '@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'],
53
+ const upgradeModel = Import.lazy(
54
+ "@modern-js/upgrade",
55
+ require
56
+ );
57
+ const devCommand = (program, api) => __async(void 0, null, function* () {
58
+ const runner = api.useHookRunners();
59
+ const devToolMetas = yield runner.registerDev();
60
+ const devProgram = program.command("dev").usage("[options]").description(i18n.t(localeKeys.command.dev.describe)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).option("-e --entry [entry...]", i18n.t(localeKeys.command.dev.entry)).option("--analyze", i18n.t(localeKeys.command.shared.analyze)).option("--api-only", i18n.t(localeKeys.command.dev.apiOnly)).action((options) => __async(void 0, null, function* () {
61
+ const { dev } = yield import("./commands/dev");
62
+ yield dev(api, options);
63
+ }));
64
+ for (const meta of devToolMetas) {
65
+ if (!meta.subCommands) {
66
+ continue;
67
+ }
68
+ for (const subCmd of meta.subCommands) {
69
+ devProgram.command(subCmd).action((..._0) => __async(void 0, [..._0], function* (options = {}) {
70
+ const { appDirectory } = api.useAppContext();
71
+ const { isTypescript } = yield import("@modern-js/utils");
72
+ yield runner.beforeDevTask(meta);
73
+ yield meta.action(options, {
74
+ isTsProject: isTypescript(appDirectory)
75
+ });
76
+ }));
77
+ }
78
+ }
79
+ });
80
+ const buildCommand = (program, api) => __async(void 0, null, function* () {
81
+ const runner = api.useHookRunners();
82
+ const platformBuilders = yield runner.registerBuildPlatform();
83
+ const buildProgram = program.command("build").usage("[options]").description(i18n.t(localeKeys.command.build.describe)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).option("--analyze", i18n.t(localeKeys.command.shared.analyze)).action((options) => __async(void 0, null, function* () {
84
+ const { build } = yield import("./commands/build");
85
+ yield build(api, options);
86
+ process.exit(0);
87
+ }));
88
+ for (const platformBuilder of platformBuilders) {
89
+ const platforms = castArray(platformBuilder.platform);
90
+ for (const platform of platforms) {
91
+ buildProgram.command(platform).action(() => __async(void 0, null, function* () {
92
+ const { appDirectory } = api.useAppContext();
93
+ const { isTypescript } = yield import("@modern-js/utils");
94
+ yield runner.beforeBuildPlatform(platformBuilders);
95
+ yield platformBuilder.build(platform, {
96
+ isTsProject: isTypescript(appDirectory)
97
+ });
98
+ }));
99
+ }
100
+ }
101
+ });
102
+ var src_default = () => ({
103
+ name: "@modern-js/app-tools",
104
+ post: [
105
+ "@modern-js/plugin-initialize",
106
+ "@modern-js/plugin-analyze",
107
+ "@modern-js/plugin-ssr",
108
+ "@modern-js/plugin-document",
109
+ "@modern-js/plugin-state",
110
+ "@modern-js/plugin-router",
111
+ "@modern-js/plugin-router-legacy",
112
+ "@modern-js/plugin-polyfill"
113
+ ],
20
114
  registerHook: hooks,
21
115
  usePlugins: [InitializePlugin(), AnalyzePlugin(), LintPlugin()],
22
- setup: api => {
116
+ setup: (api) => {
23
117
  const locale = getLocaleLanguage();
24
- i18n.changeLanguage({
25
- locale
26
- });
118
+ i18n.changeLanguage({ locale });
27
119
  return {
28
- commands({
29
- program
30
- }) {
31
- program.command('dev').usage('[options]').description(i18n.t(localeKeys.command.dev.describe)).option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).option('-e --entry [entry...]', i18n.t(localeKeys.command.dev.entry)).option('--analyze', i18n.t(localeKeys.command.shared.analyze)).option('--api-only', i18n.t(localeKeys.command.dev.apiOnly)).action(async options => {
32
- const {
33
- dev
34
- } = await import("./commands/dev");
35
- await dev(api, options);
36
- });
37
- program.command('build').usage('[options]').description(i18n.t(localeKeys.command.build.describe)).option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).option('--analyze', i18n.t(localeKeys.command.shared.analyze)).action(async options => {
38
- const {
39
- build
40
- } = await import("./commands/build");
41
- await build(api, options);
42
- // force exit after build.
43
- // eslint-disable-next-line no-process-exit
44
- process.exit(0);
45
- });
46
- program.command('start').usage('[options]').description(i18n.t(localeKeys.command.start.describe)).option('--api-only', i18n.t(localeKeys.command.dev.apiOnly)).option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).action(async () => {
47
- const {
48
- start
49
- } = await import("./commands/start");
50
- await start(api);
51
- });
52
- program.command('deploy').usage('[options]').option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).description(i18n.t(localeKeys.command.deploy.describe)).action(async options => {
53
- const {
54
- build
55
- } = await import("./commands/build");
56
- await build(api);
57
- const {
58
- deploy
59
- } = await import("./commands/deploy");
60
- await deploy(api, options);
61
- // eslint-disable-next-line no-process-exit
62
- process.exit(0);
63
- });
64
- program.command('new').usage('[options]').description(i18n.t(localeKeys.command.new.describe)).option('-d, --debug', i18n.t(localeKeys.command.new.debug), false).option('-c, --config <config>', i18n.t(localeKeys.command.new.config)).option('--dist-tag <tag>', i18n.t(localeKeys.command.new.distTag)).option('--registry', i18n.t(localeKeys.command.new.registry)).action(async options => {
65
- const {
66
- MWANewAction
67
- } = await import('@modern-js/new-action');
68
- await MWANewAction(_objectSpread(_objectSpread({}, options), {}, {
69
- locale
120
+ commands(_0) {
121
+ return __async(this, arguments, function* ({ program }) {
122
+ yield devCommand(program, api);
123
+ yield buildCommand(program, api);
124
+ program.command("start").usage("[options]").description(i18n.t(localeKeys.command.start.describe)).option("--api-only", i18n.t(localeKeys.command.dev.apiOnly)).option(
125
+ "-c --config <config>",
126
+ i18n.t(localeKeys.command.shared.config)
127
+ ).action(() => __async(this, null, function* () {
128
+ const { start } = yield import("./commands/start");
129
+ yield start(api);
130
+ }));
131
+ program.command("deploy").usage("[options]").option(
132
+ "-c --config <config>",
133
+ i18n.t(localeKeys.command.shared.config)
134
+ ).description(i18n.t(localeKeys.command.deploy.describe)).action((options) => __async(this, null, function* () {
135
+ const { build } = yield import("./commands/build");
136
+ yield build(api);
137
+ const { deploy } = yield import("./commands/deploy");
138
+ yield deploy(api, options);
139
+ process.exit(0);
140
+ }));
141
+ program.command("new").usage("[options]").description(i18n.t(localeKeys.command.new.describe)).option("-d, --debug", i18n.t(localeKeys.command.new.debug), false).option(
142
+ "-c, --config <config>",
143
+ i18n.t(localeKeys.command.new.config)
144
+ ).option("--dist-tag <tag>", i18n.t(localeKeys.command.new.distTag)).option("--registry", i18n.t(localeKeys.command.new.registry)).action((options) => __async(this, null, function* () {
145
+ const { MWANewAction } = yield import("@modern-js/new-action");
146
+ yield MWANewAction(__spreadProps(__spreadValues({}, options), { locale }));
147
+ }));
148
+ program.command("inspect").description("inspect internal webpack config").option(
149
+ `--env <env>`,
150
+ i18n.t(localeKeys.command.inspect.env),
151
+ "development"
152
+ ).option(
153
+ "--output <output>",
154
+ i18n.t(localeKeys.command.inspect.output),
155
+ "/"
156
+ ).option("--verbose", i18n.t(localeKeys.command.inspect.verbose)).option(
157
+ "-c --config <config>",
158
+ i18n.t(localeKeys.command.shared.config)
159
+ ).action((options) => __async(this, null, function* () {
160
+ const { inspect } = yield import("./commands/inspect");
161
+ inspect(api, options);
70
162
  }));
163
+ upgradeModel.defineCommand(program.command("upgrade"));
71
164
  });
72
- program.command('inspect').description('inspect internal webpack config').option(`--env <env>`, i18n.t(localeKeys.command.inspect.env), 'development').option('--output <output>', i18n.t(localeKeys.command.inspect.output), '/').option('--verbose', i18n.t(localeKeys.command.inspect.verbose)).option('-c --config <config>', i18n.t(localeKeys.command.shared.config)).action(async options => {
73
- const {
74
- inspect
75
- } = await import("./commands/inspect");
76
- inspect(api, options);
165
+ },
166
+ prepare() {
167
+ return __async(this, null, function* () {
168
+ const command = getCommand();
169
+ if (command === "dev" || command === "build") {
170
+ const appContext = api.useAppContext();
171
+ yield emptyDir(appContext.distDirectory);
172
+ }
77
173
  });
78
- upgradeModel.defineCommand(program.command('upgrade'));
79
174
  },
80
- async prepare() {
81
- const command = getCommand();
82
- if (command === 'dev' || command === 'build') {
175
+ fileChange(e) {
176
+ return __async(this, null, function* () {
177
+ const { filename, eventType } = e;
83
178
  const appContext = api.useAppContext();
84
- await emptyDir(appContext.distDirectory);
85
- }
86
- },
87
- // 这里会被 core/initWatcher 监听的文件变动触发,如果是 src 目录下的文件变动,则不做 restart
88
- async fileChange(e) {
89
- const {
90
- filename,
91
- eventType
92
- } = e;
93
- const appContext = api.useAppContext();
94
- const {
95
- appDirectory,
96
- srcDirectory
97
- } = appContext;
98
- const absolutePath = path.resolve(appDirectory, filename);
99
- if (!absolutePath.includes(srcDirectory) && (eventType === 'change' || eventType === 'unlink')) {
100
- const {
101
- closeServer
102
- } = await import("./utils/createServer");
103
- await closeServer();
104
- await restart(api.useHookRunners());
105
- }
179
+ const { appDirectory, srcDirectory } = appContext;
180
+ const absolutePath = path.resolve(appDirectory, filename);
181
+ if (!absolutePath.includes(srcDirectory) && (eventType === "change" || eventType === "unlink")) {
182
+ const { closeServer } = yield import("./utils/createServer");
183
+ yield closeServer();
184
+ yield restart(api.useHookRunners(), filename);
185
+ }
186
+ });
106
187
  },
107
- async beforeRestart() {
108
- cleanRequireCache([require.resolve("./analyze")]);
188
+ beforeRestart() {
189
+ return __async(this, null, function* () {
190
+ cleanRequireCache([require.resolve("./analyze")]);
191
+ });
109
192
  }
110
193
  };
111
194
  }
112
- }));
195
+ });
196
+ export {
197
+ buildCommand,
198
+ src_default as default,
199
+ devCommand
200
+ };
@@ -1,13 +1,53 @@
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
- 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; }
3
- 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; }
4
- import { ensureAbsolutePath, getPort, isDev } from '@modern-js/utils';
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+ import { ensureAbsolutePath, getPort, isDev } from "@modern-js/utils";
5
41
  import { legacySchema, schema } from "../schema";
6
42
  import { getCommand } from "../utils/commands";
7
43
  import { transformNormalizedConfig } from "../config/initial/transformNormalizedConfig";
8
- import { checkIsLegacyConfig, createDefaultConfig, createLegacyDefaultConfig } from "../config";
9
- export default (() => ({
10
- name: '@modern-js/plugin-initialize',
44
+ import {
45
+ checkIsLegacyConfig,
46
+ createDefaultConfig,
47
+ createLegacyDefaultConfig
48
+ } from "../config";
49
+ var initialize_default = () => ({
50
+ name: "@modern-js/plugin-initialize",
11
51
  setup(api) {
12
52
  const config = () => {
13
53
  const appContext = api.useAppContext();
@@ -22,51 +62,58 @@ export default (() => ({
22
62
  return {
23
63
  config,
24
64
  validateSchema,
25
- async resolvedConfig({
26
- resolved
27
- }) {
28
- var _resolved$output$dist, _normalizedConfig$ser;
29
- let appContext = api.useAppContext();
30
- const userConfig = api.useConfigContext();
31
- const port = await getDevServerPort(appContext, resolved);
32
- appContext = _objectSpread(_objectSpread({}, appContext), {}, {
33
- port,
34
- distDirectory: ensureAbsolutePath(appContext.distDirectory, ((_resolved$output$dist = resolved.output.distPath) === null || _resolved$output$dist === void 0 ? void 0 : _resolved$output$dist.root) || 'dist')
65
+ resolvedConfig(_0) {
66
+ return __async(this, arguments, function* ({ resolved }) {
67
+ var _a2, _b;
68
+ let appContext = api.useAppContext();
69
+ const userConfig = api.useConfigContext();
70
+ const port = yield getDevServerPort(appContext, resolved);
71
+ appContext = __spreadProps(__spreadValues({}, appContext), {
72
+ port,
73
+ distDirectory: ensureAbsolutePath(
74
+ appContext.distDirectory,
75
+ ((_a2 = resolved.output.distPath) == null ? void 0 : _a2.root) || "dist"
76
+ )
77
+ });
78
+ api.setAppContext(appContext);
79
+ const normalizedConfig = checkIsLegacyConfig(resolved) ? transformNormalizedConfig(resolved) : resolved;
80
+ return {
81
+ resolved: {
82
+ _raw: userConfig,
83
+ source: normalizedConfig.source || {},
84
+ server: __spreadProps(__spreadValues({}, normalizedConfig.server || {}), {
85
+ port: port || ((_b = normalizedConfig.server) == null ? void 0 : _b.port)
86
+ }),
87
+ bff: normalizedConfig.bff || {},
88
+ dev: normalizedConfig.dev || {},
89
+ html: normalizedConfig.html || {},
90
+ output: normalizedConfig.output || {},
91
+ security: normalizedConfig.security || {},
92
+ tools: normalizedConfig.tools || {},
93
+ testing: normalizedConfig.testing || {},
94
+ plugins: normalizedConfig.plugins || [],
95
+ runtime: normalizedConfig.runtime || {},
96
+ runtimeByEntries: normalizedConfig.runtimeByEntries || {},
97
+ deploy: normalizedConfig.deploy || {},
98
+ performance: normalizedConfig.performance || {},
99
+ experiments: normalizedConfig.experiments || {}
100
+ }
101
+ };
35
102
  });
36
- api.setAppContext(appContext);
37
- const normalizedConfig = checkIsLegacyConfig(resolved) ? transformNormalizedConfig(resolved) : resolved;
38
- return {
39
- resolved: {
40
- // FIXME: the userConfig mayby legacy userConfig
41
- _raw: userConfig,
42
- source: normalizedConfig.source || {},
43
- server: _objectSpread(_objectSpread({}, normalizedConfig.server || {}), {}, {
44
- port: port || ((_normalizedConfig$ser = normalizedConfig.server) === null || _normalizedConfig$ser === void 0 ? void 0 : _normalizedConfig$ser.port)
45
- }),
46
- bff: normalizedConfig.bff || {},
47
- dev: normalizedConfig.dev || {},
48
- html: normalizedConfig.html || {},
49
- output: normalizedConfig.output || {},
50
- security: normalizedConfig.security || {},
51
- tools: normalizedConfig.tools || {},
52
- testing: normalizedConfig.testing || {},
53
- plugins: normalizedConfig.plugins || [],
54
- runtime: normalizedConfig.runtime || {},
55
- runtimeByEntries: normalizedConfig.runtimeByEntries || {},
56
- deploy: normalizedConfig.deploy || {},
57
- performance: normalizedConfig.performance || {},
58
- experiments: normalizedConfig.experiments || {}
59
- }
60
- };
61
103
  }
62
104
  };
63
105
  }
64
- }));
65
- async function getDevServerPort(appContext, resolved) {
66
- const command = getCommand();
67
- if (isDev() && command === 'dev') {
68
- var _appContext$port;
69
- return ((_appContext$port = appContext.port) !== null && _appContext$port !== void 0 ? _appContext$port : 0) > 0 ? appContext.port : await getPort(resolved.server.port || 8080);
70
- }
71
- return resolved.server.port;
72
- }
106
+ });
107
+ function getDevServerPort(appContext, resolved) {
108
+ return __async(this, null, function* () {
109
+ var _a;
110
+ const command = getCommand();
111
+ if (isDev() && command === "dev") {
112
+ return ((_a = appContext.port) != null ? _a : 0) > 0 ? appContext.port : yield getPort(resolved.server.port || 8080);
113
+ }
114
+ return resolved.server.port;
115
+ });
116
+ }
117
+ export {
118
+ initialize_default as default
119
+ };
@@ -1,34 +1,33 @@
1
- export const EN_LOCALE = {
1
+ const EN_LOCALE = {
2
2
  command: {
3
3
  shared: {
4
- analyze: 'analyze bundle size',
5
- config: 'specify config file'
4
+ analyze: "analyze bundle size",
5
+ config: "specify config file"
6
6
  },
7
7
  dev: {
8
- describe: 'start dev server',
9
- entry: 'compiler by entry',
10
- apiOnly: 'start api server only'
8
+ describe: "start dev server",
9
+ entry: "compiler by entry",
10
+ apiOnly: "start api server only"
11
11
  },
12
12
  build: {
13
- describe: 'build application'
14
- },
15
- start: {
16
- describe: 'start server'
17
- },
18
- deploy: {
19
- describe: 'deploy application'
13
+ describe: "build application"
20
14
  },
15
+ start: { describe: "start server" },
16
+ deploy: { describe: "deploy application" },
21
17
  new: {
22
- describe: 'generator runner for MWA project',
23
- debug: 'using debug mode to log something',
24
- config: 'set default generator config(json string)',
18
+ describe: "generator runner for MWA project",
19
+ debug: "using debug mode to log something",
20
+ config: "set default generator config(json string)",
25
21
  distTag: `use specified tag version for it's generator`,
26
- registry: 'set npm registry url to run npm command'
22
+ registry: "set npm registry url to run npm command"
27
23
  },
28
24
  inspect: {
29
- env: 'specify env mode',
30
- output: 'specify inspect content output path',
31
- verbose: 'show full function definitions in output'
25
+ env: "specify env mode",
26
+ output: "specify inspect content output path",
27
+ verbose: "show full function definitions in output"
32
28
  }
33
29
  }
34
- };
30
+ };
31
+ export {
32
+ EN_LOCALE
33
+ };
@@ -1,9 +1,9 @@
1
- import { I18n } from '@modern-js/plugin-i18n';
1
+ import { I18n } from "@modern-js/plugin-i18n";
2
2
  import { ZH_LOCALE } from "./zh";
3
3
  import { EN_LOCALE } from "./en";
4
4
  const i18n = new I18n();
5
- const localeKeys = i18n.init('zh', {
6
- zh: ZH_LOCALE,
7
- en: EN_LOCALE
8
- });
9
- export { i18n, localeKeys };
5
+ const localeKeys = i18n.init("zh", { zh: ZH_LOCALE, en: EN_LOCALE });
6
+ export {
7
+ i18n,
8
+ localeKeys
9
+ };