@modern-js/app-tools 2.0.0-beta.3 → 2.0.0-beta.6

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 (261) hide show
  1. package/CHANGELOG.md +619 -0
  2. package/bin/modern.js +3 -0
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +48 -18
  5. package/dist/js/modern/analyze/generateCode.js +264 -225
  6. package/dist/js/modern/analyze/getBundleEntry.js +34 -32
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +99 -52
  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 +52 -23
  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 +204 -161
  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 +118 -65
  18. package/dist/js/modern/analyze/templates.js +170 -81
  19. package/dist/js/modern/analyze/utils.js +104 -67
  20. package/dist/js/modern/builder/builderPlugins/compatModern.js +128 -109
  21. package/dist/js/modern/builder/index.js +120 -89
  22. package/dist/js/modern/builder/loaders/routerLoader.js +9 -12
  23. package/dist/js/modern/builder/loaders/serverModuleLoader.js +4 -1
  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 +81 -34
  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/serve.js +54 -0
  34. package/dist/js/modern/config/default.js +112 -145
  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 +10 -13
  38. package/dist/js/modern/config/initial/createSourceConfig.js +10 -3
  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 +11 -4
  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 +16 -4
  46. package/dist/js/modern/index.js +178 -90
  47. package/dist/js/modern/initialize/index.js +100 -52
  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 +53 -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 +10 -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/getServerInternalPlugins.js +58 -0
  62. package/dist/js/modern/utils/getSpecifiedEntries.js +46 -19
  63. package/dist/js/modern/utils/language.js +6 -3
  64. package/dist/js/modern/utils/printInstructions.js +27 -8
  65. package/dist/js/modern/utils/restart.js +43 -16
  66. package/dist/js/modern/utils/routes.js +29 -12
  67. package/dist/js/node/analyze/Builder.js +64 -0
  68. package/dist/js/node/analyze/constants.js +86 -39
  69. package/dist/js/node/analyze/generateCode.js +285 -239
  70. package/dist/js/node/analyze/getBundleEntry.js +62 -44
  71. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +138 -77
  72. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +130 -74
  73. package/dist/js/node/analyze/getClientRoutes/index.js +27 -16
  74. package/dist/js/node/analyze/getClientRoutes/utils.js +51 -21
  75. package/dist/js/node/analyze/getFileSystemEntry.js +82 -39
  76. package/dist/js/node/analyze/getHtmlTemplate.js +120 -61
  77. package/dist/js/node/analyze/getServerRoutes.js +145 -137
  78. package/dist/js/node/analyze/index.js +233 -174
  79. package/dist/js/node/analyze/isDefaultExportFunction.js +59 -26
  80. package/dist/js/node/analyze/makeLegalIdentifier.js +31 -15
  81. package/dist/js/node/analyze/nestedRoutes.js +150 -79
  82. package/dist/js/node/analyze/templates.js +198 -90
  83. package/dist/js/node/analyze/utils.js +136 -81
  84. package/dist/js/node/builder/builderPlugins/compatModern.js +158 -122
  85. package/dist/js/node/builder/index.js +142 -98
  86. package/dist/js/node/builder/loaders/routerLoader.js +29 -18
  87. package/dist/js/node/builder/loaders/serverModuleLoader.js +24 -7
  88. package/dist/js/node/builder/share.js +50 -26
  89. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +43 -26
  90. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +51 -31
  91. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +120 -90
  92. package/dist/js/node/commands/build.js +91 -52
  93. package/dist/js/node/commands/deploy.js +49 -10
  94. package/dist/js/node/commands/dev.js +105 -48
  95. package/dist/js/node/commands/index.js +19 -38
  96. package/dist/js/node/commands/inspect.js +52 -11
  97. package/dist/js/node/commands/serve.js +83 -0
  98. package/dist/js/node/config/default.js +131 -149
  99. package/dist/js/node/config/index.js +31 -28
  100. package/dist/js/node/config/initial/createHtmlConfig.js +26 -6
  101. package/dist/js/node/config/initial/createOutputConfig.js +31 -17
  102. package/dist/js/node/config/initial/createSourceConfig.js +31 -7
  103. package/dist/js/node/config/initial/createToolsConfig.js +28 -10
  104. package/dist/js/node/config/initial/index.js +34 -17
  105. package/dist/js/node/config/initial/inits.js +130 -81
  106. package/dist/js/node/config/initial/transformNormalizedConfig.js +40 -16
  107. package/dist/js/node/defineConfig.js +46 -17
  108. package/dist/js/node/exports/server.js +25 -10
  109. package/dist/js/node/hooks.js +53 -29
  110. package/dist/js/node/index.js +213 -129
  111. package/dist/js/node/initialize/index.js +117 -61
  112. package/dist/js/node/locale/en.js +40 -25
  113. package/dist/js/node/locale/index.js +31 -14
  114. package/dist/js/node/locale/zh.js +41 -26
  115. package/dist/js/node/schema/Schema.js +27 -10
  116. package/dist/js/node/schema/index.js +84 -114
  117. package/dist/js/node/schema/legacy.js +119 -240
  118. package/dist/js/node/types/config/deploy.js +15 -0
  119. package/dist/js/node/types/config/dev.js +15 -0
  120. package/dist/js/node/types/config/experiments.js +15 -0
  121. package/dist/js/node/types/config/html.js +15 -0
  122. package/dist/js/node/types/config/index.js +17 -16
  123. package/dist/js/node/types/config/output.js +15 -0
  124. package/dist/js/node/types/config/performance.js +15 -0
  125. package/dist/js/node/types/config/security.js +15 -0
  126. package/dist/js/node/types/config/source.js +15 -0
  127. package/dist/js/node/types/config/tools.js +15 -0
  128. package/dist/js/node/types/hooks.js +15 -0
  129. package/dist/js/node/types/index.js +19 -38
  130. package/dist/js/node/types/legacyConfig/deploy.js +15 -0
  131. package/dist/js/node/types/legacyConfig/dev.js +15 -0
  132. package/dist/js/node/types/legacyConfig/index.js +15 -0
  133. package/dist/js/node/types/legacyConfig/output.js +15 -5
  134. package/dist/js/node/types/legacyConfig/source.js +15 -0
  135. package/dist/js/node/types/legacyConfig/tools.js +15 -0
  136. package/dist/js/node/utils/commands.js +31 -6
  137. package/dist/js/node/utils/config.js +125 -51
  138. package/dist/js/node/utils/createFileWatcher.js +109 -61
  139. package/dist/js/node/utils/createServer.js +92 -25
  140. package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
  141. package/dist/js/node/utils/getSpecifiedEntries.js +68 -25
  142. package/dist/js/node/utils/language.js +28 -8
  143. package/dist/js/node/utils/printInstructions.js +51 -16
  144. package/dist/js/node/utils/restart.js +65 -21
  145. package/dist/js/node/utils/routes.js +58 -19
  146. package/dist/js/node/utils/types.js +15 -0
  147. package/dist/js/treeshaking/analyze/Builder.js +199 -0
  148. package/dist/js/treeshaking/analyze/constants.js +37 -18
  149. package/dist/js/treeshaking/analyze/generateCode.js +597 -407
  150. package/dist/js/treeshaking/analyze/getBundleEntry.js +55 -63
  151. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +217 -168
  152. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +215 -169
  153. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -2
  154. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +19 -20
  155. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +97 -86
  156. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +298 -125
  157. package/dist/js/treeshaking/analyze/getServerRoutes.js +210 -147
  158. package/dist/js/treeshaking/analyze/index.js +575 -305
  159. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +45 -26
  160. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -16
  161. package/dist/js/treeshaking/analyze/nestedRoutes.js +419 -201
  162. package/dist/js/treeshaking/analyze/templates.js +438 -236
  163. package/dist/js/treeshaking/analyze/utils.js +367 -153
  164. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +285 -199
  165. package/dist/js/treeshaking/builder/index.js +365 -165
  166. package/dist/js/treeshaking/builder/loaders/routerLoader.js +11 -12
  167. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +3 -2
  168. package/dist/js/treeshaking/builder/share.js +38 -44
  169. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +108 -44
  170. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +70 -39
  171. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +334 -112
  172. package/dist/js/treeshaking/commands/build.js +286 -88
  173. package/dist/js/treeshaking/commands/deploy.js +153 -25
  174. package/dist/js/treeshaking/commands/dev.js +313 -131
  175. package/dist/js/treeshaking/commands/index.js +1 -1
  176. package/dist/js/treeshaking/commands/inspect.js +147 -32
  177. package/dist/js/treeshaking/commands/serve.js +199 -0
  178. package/dist/js/treeshaking/config/default.js +207 -198
  179. package/dist/js/treeshaking/config/index.js +3 -2
  180. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -31
  181. package/dist/js/treeshaking/config/initial/createOutputConfig.js +41 -70
  182. package/dist/js/treeshaking/config/initial/createSourceConfig.js +41 -40
  183. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -38
  184. package/dist/js/treeshaking/config/initial/index.js +10 -9
  185. package/dist/js/treeshaking/config/initial/inits.js +205 -106
  186. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +31 -34
  187. package/dist/js/treeshaking/defineConfig.js +60 -13
  188. package/dist/js/treeshaking/exports/server.js +2 -1
  189. package/dist/js/treeshaking/hooks.js +31 -25
  190. package/dist/js/treeshaking/index.js +681 -256
  191. package/dist/js/treeshaking/initialize/index.js +292 -113
  192. package/dist/js/treeshaking/locale/en.js +34 -33
  193. package/dist/js/treeshaking/locale/index.js +5 -5
  194. package/dist/js/treeshaking/locale/zh.js +34 -33
  195. package/dist/js/treeshaking/schema/Schema.js +267 -69
  196. package/dist/js/treeshaking/schema/index.js +171 -121
  197. package/dist/js/treeshaking/schema/legacy.js +323 -256
  198. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  199. package/dist/js/treeshaking/types/config/dev.js +1 -0
  200. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  201. package/dist/js/treeshaking/types/config/html.js +1 -0
  202. package/dist/js/treeshaking/types/config/index.js +0 -1
  203. package/dist/js/treeshaking/types/config/output.js +1 -0
  204. package/dist/js/treeshaking/types/config/performance.js +1 -0
  205. package/dist/js/treeshaking/types/config/security.js +1 -0
  206. package/dist/js/treeshaking/types/config/source.js +1 -0
  207. package/dist/js/treeshaking/types/config/tools.js +1 -0
  208. package/dist/js/treeshaking/types/hooks.js +1 -0
  209. package/dist/js/treeshaking/types/index.js +0 -1
  210. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  211. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  212. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  213. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -1
  214. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  215. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  216. package/dist/js/treeshaking/utils/commands.js +10 -5
  217. package/dist/js/treeshaking/utils/config.js +295 -117
  218. package/dist/js/treeshaking/utils/createFileWatcher.js +278 -118
  219. package/dist/js/treeshaking/utils/createServer.js +252 -67
  220. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
  221. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +182 -55
  222. package/dist/js/treeshaking/utils/language.js +6 -5
  223. package/dist/js/treeshaking/utils/printInstructions.js +151 -29
  224. package/dist/js/treeshaking/utils/restart.js +184 -42
  225. package/dist/js/treeshaking/utils/routes.js +151 -27
  226. package/dist/js/treeshaking/utils/types.js +1 -0
  227. package/dist/types/analyze/Builder.d.ts +8 -0
  228. package/dist/types/analyze/constants.d.ts +10 -1
  229. package/dist/types/analyze/index.d.ts +2 -0
  230. package/dist/types/analyze/templates.d.ts +3 -1
  231. package/dist/types/analyze/utils.d.ts +2 -1
  232. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
  233. package/dist/types/builder/index.d.ts +3 -3
  234. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
  235. package/dist/types/commands/index.d.ts +1 -1
  236. package/dist/types/commands/{start.d.ts → serve.d.ts} +0 -0
  237. package/dist/types/defineConfig.d.ts +1 -0
  238. package/dist/types/index.d.ts +7 -1
  239. package/dist/types/initialize/index.d.ts +2 -0
  240. package/dist/types/locale/en.d.ts +1 -1
  241. package/dist/types/locale/index.d.ts +2 -2
  242. package/dist/types/locale/zh.d.ts +1 -1
  243. package/dist/types/types/config/dev.d.ts +2 -2
  244. package/dist/types/types/config/index.d.ts +4 -0
  245. package/dist/types/types/config/output.d.ts +0 -1
  246. package/dist/types/types/config/source.d.ts +2 -0
  247. package/dist/types/types/config/tools.d.ts +2 -0
  248. package/dist/types/types/hooks.d.ts +8 -0
  249. package/dist/types/types/legacyConfig/dev.d.ts +1 -0
  250. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  251. package/dist/types/types/legacyConfig/source.d.ts +1 -0
  252. package/dist/types/types/legacyConfig/tools.d.ts +1 -0
  253. package/dist/types/utils/commands.d.ts +2 -1
  254. package/dist/types/utils/config.d.ts +1 -0
  255. package/dist/types/utils/createServer.d.ts +1 -0
  256. package/dist/types/utils/getServerInternalPlugins.d.ts +2 -0
  257. package/dist/types/utils/restart.d.ts +1 -1
  258. package/package.json +26 -22
  259. package/dist/js/modern/commands/start.js +0 -30
  260. package/dist/js/node/commands/start.js +0 -38
  261. package/dist/js/treeshaking/commands/start.js +0 -69
@@ -1,29 +1,153 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
- import path from 'path';
4
- import { fs, ROUTE_SPEC_FILE } from '@modern-js/utils';
5
- var generateRoutes = /*#__PURE__*/function () {
6
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(appContext) {
7
- var serverRoutes, distDirectory, output;
8
- return _regeneratorRuntime().wrap(function _callee$(_context) {
9
- while (1) {
10
- switch (_context.prev = _context.next) {
11
- case 0:
12
- serverRoutes = appContext.serverRoutes, distDirectory = appContext.distDirectory;
13
- output = JSON.stringify({
14
- routes: serverRoutes
15
- }, null, 2);
16
- _context.next = 4;
17
- return fs.outputFile(path.join(distDirectory, ROUTE_SPEC_FILE), output);
18
- case 4:
19
- case "end":
20
- return _context.stop();
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _asyncToGenerator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ var __generator = this && this.__generator || function(thisArg, body) {
31
+ var f, y, t, g, _ = {
32
+ label: 0,
33
+ sent: function() {
34
+ if (t[0] & 1) throw t[1];
35
+ return t[1];
36
+ },
37
+ trys: [],
38
+ ops: []
39
+ };
40
+ return(g = {
41
+ next: verb(0),
42
+ "throw": verb(1),
43
+ "return": verb(2)
44
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
+ return this;
46
+ }), g);
47
+ function verb(n) {
48
+ return function(v) {
49
+ return step([
50
+ n,
51
+ v
52
+ ]);
53
+ };
54
+ }
55
+ function step(op) {
56
+ if (f) throw new TypeError("Generator is already executing.");
57
+ while(_)try {
58
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
59
+ if (y = 0, t) op = [
60
+ op[0] & 2,
61
+ t.value
62
+ ];
63
+ switch(op[0]){
64
+ case 0:
65
+ case 1:
66
+ t = op;
67
+ break;
68
+ case 4:
69
+ _.label++;
70
+ return {
71
+ value: op[1],
72
+ done: false
73
+ };
74
+ case 5:
75
+ _.label++;
76
+ y = op[1];
77
+ op = [
78
+ 0
79
+ ];
80
+ continue;
81
+ case 7:
82
+ op = _.ops.pop();
83
+ _.trys.pop();
84
+ continue;
85
+ default:
86
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
+ _ = 0;
88
+ continue;
89
+ }
90
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
+ _.label = op[1];
92
+ break;
93
+ }
94
+ if (op[0] === 6 && _.label < t[1]) {
95
+ _.label = t[1];
96
+ t = op;
97
+ break;
98
+ }
99
+ if (t && _.label < t[2]) {
100
+ _.label = t[2];
101
+ _.ops.push(op);
102
+ break;
103
+ }
104
+ if (t[2]) _.ops.pop();
105
+ _.trys.pop();
106
+ continue;
107
+ }
108
+ op = body.call(thisArg, _);
109
+ } catch (e) {
110
+ op = [
111
+ 6,
112
+ e
113
+ ];
114
+ y = 0;
115
+ } finally{
116
+ f = t = 0;
21
117
  }
22
- }
23
- }, _callee);
24
- }));
25
- return function generateRoutes(_x) {
26
- return _ref.apply(this, arguments);
27
- };
118
+ if (op[0] & 5) throw op[1];
119
+ return {
120
+ value: op[0] ? op[1] : void 0,
121
+ done: true
122
+ };
123
+ }
124
+ };
125
+ import path from "path";
126
+ import { fs, ROUTE_SPEC_FILE } from "@modern-js/utils";
127
+ var generateRoutes = function() {
128
+ var _ref = _asyncToGenerator(function(appContext) {
129
+ var serverRoutes, distDirectory, output;
130
+ return __generator(this, function(_state) {
131
+ switch(_state.label){
132
+ case 0:
133
+ serverRoutes = appContext.serverRoutes, distDirectory = appContext.distDirectory;
134
+ output = JSON.stringify({
135
+ routes: serverRoutes
136
+ }, null, 2);
137
+ return [
138
+ 4,
139
+ fs.outputFile(path.join(distDirectory, ROUTE_SPEC_FILE), output)
140
+ ];
141
+ case 1:
142
+ _state.sent();
143
+ return [
144
+ 2
145
+ ];
146
+ }
147
+ });
148
+ });
149
+ return function generateRoutes(appContext) {
150
+ return _ref.apply(this, arguments);
151
+ };
28
152
  }();
29
- export { generateRoutes };
153
+ export { generateRoutes };
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,8 @@
1
+ import type { BuildOptions } from 'esbuild';
2
+ export declare class Builder {
3
+ private buildRes;
4
+ build(options: BuildOptions): Promise<void>;
5
+ stop(): void;
6
+ }
7
+ export declare const loaderBuilder: Builder;
8
+ export declare const serverLoaderBuilder: Builder;
@@ -15,4 +15,13 @@ export declare const FILE_SYSTEM_ROUTES_INDEX = "index";
15
15
  export declare const FILE_SYSTEM_ROUTES_IGNORED_REGEX: RegExp;
16
16
  export declare const HTML_PARTIALS_FOLDER = "html";
17
17
  export declare const HTML_PARTIALS_EXTENSIONS: string[];
18
- export declare const FILE_SYSTEM_ROUTES_COMPONENTS_DIR = "internal_components";
18
+ export declare const FILE_SYSTEM_ROUTES_COMPONENTS_DIR = "internal_components";
19
+ export declare const NESTED_ROUTE: {
20
+ LAYOUT_FILE: string;
21
+ LAYOUT_LOADER_FILE: string;
22
+ PAGE_FILE: string;
23
+ PAGE_LOADER_FILE: string;
24
+ LOADING_FILE: string;
25
+ ERROR_FILE: string;
26
+ LOADER_FILE: string;
27
+ };
@@ -1,4 +1,6 @@
1
1
  import type { CliPlugin } from '@modern-js/core';
2
2
  import { AppTools } from '../types';
3
+
3
4
  declare const _default: () => CliPlugin<AppTools>;
5
+
4
6
  export default _default;
@@ -39,11 +39,13 @@ export declare const fileSystemRoutes: ({
39
39
  ssrMode,
40
40
  nestedRoutesEntry,
41
41
  entryName,
42
- internalDirectory
42
+ internalDirectory,
43
+ internalDirAlias
43
44
  }: {
44
45
  routes: RouteLegacy[] | (NestedRoute | PageRoute)[];
45
46
  ssrMode: 'string' | 'stream' | false;
46
47
  nestedRoutesEntry?: string | undefined;
47
48
  entryName: string;
48
49
  internalDirectory: string;
50
+ internalDirAlias: string;
49
51
  }) => Promise<string>;
@@ -14,7 +14,8 @@ export declare const getDefaultImports: ({
14
14
  internalDirAlias: string;
15
15
  internalDirectory: string;
16
16
  }) => ImportStatement[];
17
- export declare const isRouteComponentFile: (filePath: string) => boolean;
17
+ export declare const isPageComponentFile: (filePath: string) => boolean;
18
+ export declare const isNestedRouteComponent: (nestedRouteEntries: string[], absoluteFilePath: string) => boolean;
18
19
  export declare const replaceWithAlias: (base: string, filePath: string, alias: string) => string;
19
20
  export declare const parseModule: ({
20
21
  source,
@@ -7,7 +7,8 @@ declare type FnParameter<T extends {
7
7
  }> = { [P in keyof T]: Parameter<T[P]> };
8
8
  export declare type PluginCompatModernOptions = FnParameter<Partial<Pick<BuilderPluginAPI, 'onAfterBuild' | 'onAfterCreateCompiler' | 'onAfterStartDevServer' | 'onBeforeBuild' | 'onBeforeCreateCompiler' | 'onBeforeStartDevServer' | 'onDevCompileDone' | 'onExit'>>>;
9
9
  /**
10
- * Provides default configuration consistent with `@modern-js/webpack`
10
+ * Provides default configuration consistent with modern.js v1
11
11
  */
12
+
12
13
  export declare const PluginCompatModern: (appContext: IAppContext, modernConfig: AppNormalizedConfig, options?: PluginCompatModernOptions) => BuilderPlugin<BuilderPluginAPI>;
13
14
  export {};
@@ -1,5 +1,5 @@
1
1
  import { BuilderInstance, BuilderTarget, CreateBuilderOptions } from '@modern-js/builder';
2
- import { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
+ import { BuilderConfig, BuilderWebpackProvider } from '@modern-js/builder-webpack-provider';
3
3
  import type { IAppContext } from '@modern-js/core';
4
4
  import type { AppNormalizedConfig } from '../types';
5
5
  import { PluginCompatModernOptions } from './builderPlugins/compatModern';
@@ -9,10 +9,10 @@ export declare type BuilderOptions = {
9
9
  appContext: IAppContext;
10
10
  compatPluginConfig?: PluginCompatModernOptions;
11
11
  };
12
- export declare function createBuilderForEdenX({
12
+ export declare function createBuilderForModern({
13
13
  normalizedConfig,
14
14
  appContext,
15
15
  compatPluginConfig
16
- }: BuilderOptions): Promise<BuilderInstance>;
16
+ }: BuilderOptions): Promise<BuilderInstance<BuilderWebpackProvider>>;
17
17
  export declare function createBuilderProviderConfig(normalizedConfig: AppNormalizedConfig, appContext: IAppContext): BuilderConfig;
18
18
  export declare function createBuilderOptions(target: BuilderTarget | BuilderTarget[], appContext: IAppContext): CreateBuilderOptions;
@@ -1,10 +1,4 @@
1
1
  import type { Compiler } from 'webpack';
2
- interface Options {
3
- existNestedRoutes: boolean;
4
- }
5
2
  export default class RouterPlugin {
6
- private existNestedRoutes;
7
- constructor(options: Options);
8
3
  apply(compiler: Compiler): void;
9
- }
10
- export {};
4
+ }
@@ -1,3 +1,3 @@
1
1
  export * from './dev';
2
2
  export * from './build';
3
- export * from './start';
3
+ export * from './serve';
File without changes
@@ -4,4 +4,5 @@ export declare const defineConfig: (config: AppUserConfig) => AppUserConfig;
4
4
  * @deprecated
5
5
  * Using defineConfig first.
6
6
  */
7
+
7
8
  export declare const defineLegacyConfig: (config: AppLegacyUserConfig) => AppLegacyUserConfig;
@@ -1,6 +1,12 @@
1
- import { CliPlugin } from '@modern-js/core';
1
+ import { Command } from '@modern-js/utils';
2
+ import { CliPlugin, PluginAPI } from '@modern-js/core';
2
3
  import { AppTools } from './types';
3
4
  export * from './defineConfig';
4
5
  export * from './types';
6
+ export type { RuntimeUserConfig } from './types/config';
7
+ export declare const devCommand: (program: Command, api: PluginAPI<AppTools>) => Promise<void>;
8
+ export declare const buildCommand: (program: Command, api: PluginAPI<AppTools>) => Promise<void>;
9
+
5
10
  declare const _default: () => CliPlugin<AppTools>;
11
+
6
12
  export default _default;
@@ -1,3 +1,5 @@
1
1
  import { CliPlugin, AppTools } from '../types';
2
+
2
3
  declare const _default: () => CliPlugin<AppTools>;
4
+
3
5
  export default _default;
@@ -12,7 +12,7 @@ export declare const EN_LOCALE: {
12
12
  build: {
13
13
  describe: string;
14
14
  };
15
- start: {
15
+ serve: {
16
16
  describe: string;
17
17
  };
18
18
  deploy: {
@@ -14,7 +14,7 @@ declare const localeKeys: {
14
14
  build: {
15
15
  describe: string;
16
16
  };
17
- start: {
17
+ serve: {
18
18
  describe: string;
19
19
  };
20
20
  deploy: {
@@ -47,7 +47,7 @@ declare const localeKeys: {
47
47
  build: {
48
48
  describe: string;
49
49
  };
50
- start: {
50
+ serve: {
51
51
  describe: string;
52
52
  };
53
53
  deploy: {
@@ -12,7 +12,7 @@ export declare const ZH_LOCALE: {
12
12
  build: {
13
13
  describe: string;
14
14
  };
15
- start: {
15
+ serve: {
16
16
  describe: string;
17
17
  };
18
18
  deploy: {
@@ -1,7 +1,7 @@
1
1
  import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
- declare type BuilderEnvConfig = Required<BuilderConfig>['dev'];
2
+ declare type BuilderDevConfig = Required<BuilderConfig>['dev'];
3
3
  export declare type DevProxyOptions = string | Record<string, string>;
4
- export interface DevUserConfig extends Pick<BuilderEnvConfig, 'assetPrefix' | 'https'> {
4
+ export interface DevUserConfig extends Omit<BuilderDevConfig, 'port'> {
5
5
  /**
6
6
  * The configuration of `dev.proxy` is provided by `proxy` plugin.
7
7
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
@@ -1,5 +1,6 @@
1
1
  import type { UserConfig } from '@modern-js/core';
2
2
  import type { ServerUserConfig, ServerNormalizedConfig, BffUserConfig, BffNormalizedConfig } from '@modern-js/server-core';
3
+ import type { BuilderPlugin } from '@modern-js/builder-webpack-provider';
3
4
  import type { AppToolsHooks } from '../hooks';
4
5
  import type { OutputNormalizedConfig, OutputUserConfig } from './output';
5
6
  import type { SourceNormalizedConfig, SourceUserConfig } from './source';
@@ -32,11 +33,13 @@ export interface AppToolsUserConfig {
32
33
  runtimeByEntries?: RuntimeByEntriesUserConfig;
33
34
  performance?: PerformanceUserConfig;
34
35
  experiments?: ExperimentsUserConfig;
36
+ builderPlugins?: BuilderPlugin[];
35
37
  /**
36
38
  * The configuration of `bff` is provided by `bff` plugin.
37
39
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
38
40
  * @requires `bff` plugin
39
41
  */
42
+
40
43
  bff?: BffUserConfig;
41
44
  }
42
45
  export declare type AppToolsNormalizedConfig = {
@@ -53,6 +56,7 @@ export declare type AppToolsNormalizedConfig = {
53
56
  tools: ToolsNormalizedConfig;
54
57
  performance: PerformanceNormalizedConfig;
55
58
  experiments: ExperimentsNormalizedConfig;
59
+ builderPlugins: BuilderPlugin[];
56
60
  cliOptions?: Record<string, any>;
57
61
  _raw: UserConfig<{
58
62
  hooks: AppToolsHooks;
@@ -2,7 +2,6 @@ import type { BuilderConfig } from '@modern-js/builder-webpack-provider';
2
2
  export declare type BuilderOutputConfig = Required<BuilderConfig>['output'];
3
3
  export interface OutputUserConfig extends BuilderOutputConfig {
4
4
  ssg?: SSGConfig;
5
- enableModernMode?: boolean;
6
5
  disableNodePolyfill?: boolean;
7
6
  }
8
7
  export declare type OutputNormalizedConfig = OutputUserConfig;
@@ -11,12 +11,14 @@ export interface SourceUserConfig extends BuilderSourceConfig {
11
11
  enableAsyncEntry?: boolean;
12
12
  disableDefaultEntries?: boolean;
13
13
  entriesDir?: string;
14
+ disableEntryDirs?: string[];
14
15
  configDir?: string;
15
16
  /**
16
17
  * The configuration of `source.designSystem` is provided by `tailwindcss` plugin.
17
18
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
18
19
  * @requires `tailwindcss` plugin
19
20
  */
21
+
20
22
  designSystem?: Record<string, any>;
21
23
  }
22
24
  export declare type SourceNormalizedConfig = SourceUserConfig;
@@ -8,6 +8,7 @@ export declare type BuilderToolsConfig = Required<BuilderConfig>['tools'];
8
8
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
9
9
  * @requires `tailwindcss` plugin
10
10
  */
11
+
11
12
  export declare type Tailwindcss = Record<string, any> | ((options: Record<string, any>) => Record<string, any> | void);
12
13
  export interface ToolsUserConfig extends BuilderToolsConfig {
13
14
  tailwindcss?: Tailwindcss;
@@ -17,6 +18,7 @@ export interface ToolsUserConfig extends BuilderToolsConfig {
17
18
  * The configuration of `swc` is provided by `swc` plugin.
18
19
  * @requires `swc` plugin
19
20
  */
21
+
20
22
  swc?: PluginSwcOptions;
21
23
  }
22
24
  export declare type ToolsNormalizedConfig = ToolsUserConfig;
@@ -1,6 +1,7 @@
1
1
  import type { webpack } from '@modern-js/builder-webpack-provider';
2
2
  import type { AsyncWaterfall, AsyncWorkflow, ParallelWorkflow } from '@modern-js/plugin';
3
3
  import type { Entrypoint, HtmlPartials, NestedRoute, PageRoute, RouteLegacy, ServerRoute } from '@modern-js/types';
4
+ import type { RegisterBuildPlatformResult, DevToolData } from '@modern-js/core';
4
5
  import type { Stats, MultiStats } from '@modern-js/builder-shared';
5
6
  export interface ImportSpecifier {
6
7
  local?: string;
@@ -53,6 +54,9 @@ export declare type AppToolsHooks = {
53
54
  code: string;
54
55
  }>;
55
56
  addDefineTypes: AsyncWaterfall<void>;
57
+ collectServerPlugins: AsyncWaterfall<{
58
+ plugins: Array<Record<string, string>>;
59
+ }>;
56
60
  beforeDev: AsyncWorkflow<void, unknown>;
57
61
  afterDev: AsyncWorkflow<void, unknown>;
58
62
  beforeCreateCompiler: AsyncWorkflow<{
@@ -78,4 +82,8 @@ export declare type AppToolsHooks = {
78
82
  eventType: 'add' | 'change' | 'unlink';
79
83
  }, void>;
80
84
  beforeRestart: AsyncWorkflow<void, void>;
85
+ registerDev: ParallelWorkflow<void, DevToolData>;
86
+ beforeDevTask: ParallelWorkflow<DevToolData, void>;
87
+ registerBuildPlatform: ParallelWorkflow<void, RegisterBuildPlatformResult>;
88
+ beforeBuildPlatform: ParallelWorkflow<RegisterBuildPlatformResult[], void>;
81
89
  };
@@ -8,5 +8,6 @@ export declare type DevUserLegacyConfig = {
8
8
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
9
9
  * @requires `proxy` plugin
10
10
  */
11
+
11
12
  proxy?: DevProxyOptions;
12
13
  };
@@ -38,7 +38,6 @@ export declare type OutputLegacyUserConfig = {
38
38
  templateParametersByEntries?: Record<string, Record<string, unknown>>;
39
39
  crossorigin?: boolean | CrossOrigin;
40
40
  cssModuleLocalIdentName?: string;
41
- enableModernMode?: boolean;
42
41
  disableNodePolyfill?: boolean;
43
42
  enableTsLoader?: boolean;
44
43
  /**
@@ -46,6 +45,7 @@ export declare type OutputLegacyUserConfig = {
46
45
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
47
46
  * @requires `ssg` plugin
48
47
  */
48
+
49
49
  ssg?: SSGConfig;
50
50
  };
51
51
  export {};
@@ -21,5 +21,6 @@ export declare type SourceLegacyUserConfig = {
21
21
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
22
22
  * @requires `tailwindcss` plugin
23
23
  */
24
+
24
25
  designSystem?: Record<string, any>;
25
26
  };
@@ -10,6 +10,7 @@ export declare type ToolsLegacyUserConfig = BuilderToolsConfig & {
10
10
  * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
11
11
  * @requires `tailwindcss` plugin
12
12
  */
13
+
13
14
  tailwindcss?: Record<string, any> | ((options: Record<string, any>) => Record<string, any> | void);
14
15
  jest?: JestConfig | ((jestConfig: JestConfig) => JestConfig);
15
16
  };
@@ -1 +1,2 @@
1
- export declare const getCommand: () => string;
1
+ export declare const getCommand: () => string;
2
+ export declare const isDevCommand: () => boolean;
@@ -17,5 +17,6 @@ export declare const buildServerConfig: ({
17
17
  *
18
18
  * 处理循环引用的 replacer
19
19
  */
20
+
20
21
  export declare const safeReplacer: () => (key: string, value: unknown) => unknown;
21
22
  export declare const emitResolvedConfig: (appDirectory: string, resolvedConfig: AppNormalizedConfig) => Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Server, ModernDevServerOptions } from '@modern-js/server';
2
2
  import type { InternalPlugins } from '@modern-js/types';
3
3
  export declare const getServer: () => Server | null;
4
+ export declare const setServer: (newServer: Server) => void;
4
5
  export declare const closeServer: () => Promise<void>;
5
6
  export declare const createServer: (options: ModernDevServerOptions) => Promise<Server>;
6
7
  export declare const injectDataLoaderPlugin: (internalPlugins: InternalPlugins) => {
@@ -0,0 +1,2 @@
1
+ import { AppTools, PluginAPI } from '../types';
2
+ export declare function getServerInternalPlugins(api: PluginAPI<AppTools>): Promise<Record<string, string>>;
@@ -1,3 +1,3 @@
1
1
  import { ToRunners } from '@modern-js/core';
2
2
  import { AppToolsHooks } from '../types/hooks';
3
- export declare function restart(hooksRunner: ToRunners<AppToolsHooks>): Promise<void>;
3
+ export declare function restart(hooksRunner: ToRunners<AppToolsHooks>, filename: string): Promise<void>;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.0.0-beta.3",
14
+ "version": "2.0.0-beta.6",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/js/node/index.js",
@@ -38,6 +38,9 @@
38
38
  "default": "./dist/js/node/exports/server.js"
39
39
  }
40
40
  },
41
+ "engines": {
42
+ "node": ">=14.17.6"
43
+ },
41
44
  "typesVersions": {
42
45
  "*": {
43
46
  ".": [
@@ -61,23 +64,24 @@
61
64
  "@babel/traverse": "^7.18.0",
62
65
  "@babel/types": "^7.18.0",
63
66
  "es-module-lexer": "^1.1.0",
64
- "@modern-js/builder": "2.0.0-beta.3",
65
- "@modern-js/builder-plugin-esbuild": "2.0.0-beta.3",
66
- "@modern-js/builder-plugin-node-polyfill": "2.0.0-beta.3",
67
- "@modern-js/builder-shared": "2.0.0-beta.3",
68
- "@modern-js/builder-webpack-provider": "2.0.0-beta.3",
69
- "@modern-js/core": "2.0.0-beta.3",
70
- "@modern-js/new-action": "2.0.0-beta.3",
71
- "@modern-js/node-bundle-require": "2.0.0-beta.3",
72
- "@modern-js/plugin": "2.0.0-beta.3",
73
- "@modern-js/plugin-data-loader": "2.0.0-beta.3",
74
- "@modern-js/plugin-i18n": "2.0.0-beta.3",
75
- "@modern-js/plugin-lint": "2.0.0-beta.3",
76
- "@modern-js/prod-server": "2.0.0-beta.3",
77
- "@modern-js/server": "2.0.0-beta.3",
78
- "@modern-js/types": "2.0.0-beta.3",
79
- "@modern-js/upgrade": "2.0.0-beta.3",
80
- "@modern-js/utils": "2.0.0-beta.3"
67
+ "esbuild": "0.15.7",
68
+ "@modern-js/builder": "2.0.0-beta.6",
69
+ "@modern-js/builder-plugin-esbuild": "2.0.0-beta.6",
70
+ "@modern-js/builder-plugin-node-polyfill": "2.0.0-beta.6",
71
+ "@modern-js/builder-shared": "2.0.0-beta.6",
72
+ "@modern-js/builder-webpack-provider": "2.0.0-beta.6",
73
+ "@modern-js/core": "2.0.0-beta.6",
74
+ "@modern-js/new-action": "2.0.0-beta.6",
75
+ "@modern-js/node-bundle-require": "2.0.0-beta.6",
76
+ "@modern-js/plugin": "2.0.0-beta.6",
77
+ "@modern-js/plugin-data-loader": "2.0.0-beta.6",
78
+ "@modern-js/plugin-i18n": "2.0.0-beta.6",
79
+ "@modern-js/plugin-lint": "2.0.0-beta.6",
80
+ "@modern-js/prod-server": "2.0.0-beta.6",
81
+ "@modern-js/server": "2.0.0-beta.6",
82
+ "@modern-js/types": "2.0.0-beta.6",
83
+ "@modern-js/upgrade": "2.0.0-beta.6",
84
+ "@modern-js/utils": "2.0.0-beta.6"
81
85
  },
82
86
  "devDependencies": {
83
87
  "@types/babel__traverse": "^7.14.2",
@@ -86,10 +90,10 @@
86
90
  "jest": "^27",
87
91
  "typescript": "^4",
88
92
  "webpack": "^5.75.0",
89
- "@modern-js/builder-plugin-swc": "2.0.0-beta.3",
90
- "@modern-js/server-core": "2.0.0-beta.3",
91
- "@scripts/build": "2.0.0-beta.3",
92
- "@scripts/jest-config": "2.0.0-beta.3"
93
+ "@modern-js/builder-plugin-swc": "2.0.0-beta.6",
94
+ "@modern-js/server-core": "2.0.0-beta.6",
95
+ "@scripts/jest-config": "2.0.0-beta.6",
96
+ "@scripts/build": "2.0.0-beta.6"
93
97
  },
94
98
  "sideEffects": false,
95
99
  "publishConfig": {