@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
@@ -1,191 +1,232 @@
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 * as path from 'path';
5
- import { createDebugger, fs, isApiOnly } from '@modern-js/utils';
6
- import { cloneDeep } from '@modern-js/utils/lodash';
7
- import { createBuilderForEdenX } from "../builder";
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 * as path from "path";
41
+ import { createDebugger, fs, isApiOnly } from "@modern-js/utils";
42
+ import { cloneDeep } from "@modern-js/utils/lodash";
43
+ import { createBuilderForModern } from "../builder";
8
44
  import { printInstructions } from "../utils/printInstructions";
9
45
  import { generateRoutes } from "../utils/routes";
10
46
  import { emitResolvedConfig } from "../utils/config";
11
47
  import { getCommand } from "../utils/commands";
12
48
  import { initialNormalizedConfig } from "../config";
13
49
  import { isRouteComponentFile } from "./utils";
14
- const debug = createDebugger('plugin-analyze');
15
- export default (() => ({
16
- name: '@modern-js/plugin-analyze',
17
- setup: api => {
50
+ import { loaderBuilder, serverLoaderBuilder } from "./Builder";
51
+ const debug = createDebugger("plugin-analyze");
52
+ var analyze_default = () => ({
53
+ name: "@modern-js/plugin-analyze",
54
+ setup: (api) => {
18
55
  let pagesDir = [];
19
56
  let originEntrypoints = [];
20
57
  return {
21
- async prepare() {
22
- var _resolvedConfig$sourc;
23
- let appContext = api.useAppContext();
24
- const resolvedConfig = api.useResolvedConfigContext();
25
- const hookRunners = api.useHookRunners();
26
- try {
27
- fs.emptydirSync(appContext.internalDirectory);
28
- } catch (_unused) {
29
- // FIXME:
30
- }
31
- const apiOnly = await isApiOnly(appContext.appDirectory, (_resolvedConfig$sourc = resolvedConfig.source) === null || _resolvedConfig$sourc === void 0 ? void 0 : _resolvedConfig$sourc.entriesDir);
32
- await hookRunners.addRuntimeExports();
33
- if (apiOnly) {
34
- const {
35
- routes
36
- } = await hookRunners.modifyServerRoutes({
37
- routes: []
58
+ prepare() {
59
+ return __async(this, null, function* () {
60
+ var _a2;
61
+ let appContext = api.useAppContext();
62
+ const resolvedConfig = api.useResolvedConfigContext();
63
+ const hookRunners = api.useHookRunners();
64
+ try {
65
+ fs.emptydirSync(appContext.internalDirectory);
66
+ } catch (e) {
67
+ }
68
+ const apiOnly = yield isApiOnly(
69
+ appContext.appDirectory,
70
+ (_a2 = resolvedConfig.source) == null ? void 0 : _a2.entriesDir
71
+ );
72
+ yield hookRunners.addRuntimeExports();
73
+ if (apiOnly) {
74
+ const { routes: routes2 } = yield hookRunners.modifyServerRoutes({
75
+ routes: []
76
+ });
77
+ debug(`server routes: %o`, routes2);
78
+ appContext = __spreadProps(__spreadValues({}, appContext), {
79
+ apiOnly,
80
+ serverRoutes: routes2
81
+ });
82
+ api.setAppContext(appContext);
83
+ return;
84
+ }
85
+ const [
86
+ { getBundleEntry },
87
+ { getServerRoutes },
88
+ { generateCode },
89
+ { getHtmlTemplate }
90
+ ] = yield Promise.all([
91
+ import("./getBundleEntry"),
92
+ import("./getServerRoutes"),
93
+ import("./generateCode"),
94
+ import("./getHtmlTemplate")
95
+ ]);
96
+ const entrypoints = getBundleEntry(appContext, resolvedConfig);
97
+ const defaultChecked = entrypoints.map((point) => point.entryName);
98
+ debug(`entrypoints: %o`, entrypoints);
99
+ const initialRoutes = getServerRoutes(entrypoints, {
100
+ appContext,
101
+ config: resolvedConfig
102
+ });
103
+ const { routes } = yield hookRunners.modifyServerRoutes({
104
+ routes: initialRoutes
38
105
  });
39
106
  debug(`server routes: %o`, routes);
40
- appContext = _objectSpread(_objectSpread({}, appContext), {}, {
41
- apiOnly,
107
+ appContext = __spreadProps(__spreadValues({}, appContext), {
108
+ entrypoints,
42
109
  serverRoutes: routes
43
110
  });
44
111
  api.setAppContext(appContext);
45
- return;
46
- }
47
- const [{
48
- getBundleEntry
49
- }, {
50
- getServerRoutes
51
- }, {
52
- generateCode
53
- }, {
54
- getHtmlTemplate
55
- }] = await Promise.all([import("./getBundleEntry"), import("./getServerRoutes"), import("./generateCode"), import("./getHtmlTemplate")]);
56
- const entrypoints = getBundleEntry(appContext, resolvedConfig);
57
- const defaultChecked = entrypoints.map(point => point.entryName);
58
- debug(`entrypoints: %o`, entrypoints);
59
- const initialRoutes = getServerRoutes(entrypoints, {
60
- appContext,
61
- config: resolvedConfig
62
- });
63
- const {
64
- routes
65
- } = await hookRunners.modifyServerRoutes({
66
- routes: initialRoutes
67
- });
68
- debug(`server routes: %o`, routes);
69
- appContext = _objectSpread(_objectSpread({}, appContext), {}, {
70
- entrypoints,
71
- serverRoutes: routes
72
- });
73
- api.setAppContext(appContext);
74
- const nestedRouteEntries = entrypoints.map(point => point.nestedRoutesEntry).filter(Boolean);
75
- pagesDir = entrypoints.map(point => point.entry).filter(Boolean).concat(nestedRouteEntries);
76
- originEntrypoints = cloneDeep(entrypoints);
77
- await generateCode(appContext, resolvedConfig, entrypoints, api);
78
- const htmlTemplates = await getHtmlTemplate(entrypoints, api, {
79
- appContext,
80
- config: resolvedConfig
81
- });
82
- debug(`html templates: %o`, htmlTemplates);
83
- await hookRunners.addDefineTypes();
84
- debug(`add Define Types`);
85
- appContext = _objectSpread(_objectSpread({}, appContext), {}, {
86
- entrypoints,
87
- checkedEntries: defaultChecked,
88
- apiOnly,
89
- serverRoutes: routes,
90
- htmlTemplates
91
- });
92
- api.setAppContext(appContext);
93
- const command = getCommand();
94
- const buildCommands = ['dev', 'build', 'inspect', 'deploy'];
95
- if (buildCommands.includes(command)) {
96
- const normalizedConfig = api.useResolvedConfigContext();
97
- const builder = await createBuilderForEdenX({
98
- normalizedConfig: normalizedConfig,
112
+ const nestedRouteEntries = entrypoints.map((point) => point.nestedRoutesEntry).filter(Boolean);
113
+ pagesDir = entrypoints.map((point) => point.entry).filter(Boolean).concat(nestedRouteEntries);
114
+ originEntrypoints = cloneDeep(entrypoints);
115
+ yield generateCode(appContext, resolvedConfig, entrypoints, api);
116
+ const htmlTemplates = yield getHtmlTemplate(entrypoints, api, {
99
117
  appContext,
100
- compatPluginConfig: {
101
- async onBeforeBuild({
102
- bundlerConfigs
103
- }) {
104
- const hookRunners = api.useHookRunners();
105
- await generateRoutes(appContext);
106
- await hookRunners.beforeBuild({
107
- bundlerConfigs
108
- });
109
- },
110
- async onAfterBuild({
111
- stats
112
- }) {
113
- const hookRunners = api.useHookRunners();
114
- await hookRunners.afterBuild({
115
- stats
116
- });
117
- await emitResolvedConfig(appContext.appDirectory, normalizedConfig);
118
- },
119
- async onDevCompileDone({
120
- isFirstCompile
121
- }) {
122
- const hookRunners = api.useHookRunners();
123
- if (process.stdout.isTTY || isFirstCompile) {
124
- hookRunners.afterDev();
125
- if (isFirstCompile) {
126
- printInstructions(hookRunners, appContext, normalizedConfig);
127
- }
128
- }
129
- },
130
- async onBeforeCreateCompiler({
131
- bundlerConfigs
132
- }) {
133
- const hookRunners = api.useHookRunners();
134
- // run modernjs framework `beforeCreateCompiler` hook
135
- await hookRunners.beforeCreateCompiler({
136
- bundlerConfigs
137
- });
138
- },
139
- async onAfterCreateCompiler({
140
- compiler
141
- }) {
142
- const hookRunners = api.useHookRunners();
143
- // run modernjs framework afterCreateCompiler hooks
144
- await hookRunners.afterCreateCompiler({
145
- compiler
146
- });
147
- }
148
- }
118
+ config: resolvedConfig
149
119
  });
150
- appContext = _objectSpread(_objectSpread({}, appContext), {}, {
151
- builder
120
+ debug(`html templates: %o`, htmlTemplates);
121
+ yield hookRunners.addDefineTypes();
122
+ debug(`add Define Types`);
123
+ appContext = __spreadProps(__spreadValues({}, appContext), {
124
+ entrypoints,
125
+ checkedEntries: defaultChecked,
126
+ apiOnly,
127
+ serverRoutes: routes,
128
+ htmlTemplates
152
129
  });
153
130
  api.setAppContext(appContext);
154
- }
131
+ const command = getCommand();
132
+ const buildCommands = ["dev", "build", "inspect", "deploy"];
133
+ if (buildCommands.includes(command)) {
134
+ let _b;
135
+ const normalizedConfig = api.useResolvedConfigContext();
136
+ const builder = yield createBuilderForModern({
137
+ normalizedConfig,
138
+ appContext,
139
+ compatPluginConfig: {
140
+ onBeforeBuild(_0) {
141
+ return __async(this, arguments, function* ({ bundlerConfigs }) {
142
+ const hookRunners2 = api.useHookRunners();
143
+ yield generateRoutes(appContext);
144
+ yield hookRunners2.beforeBuild({ bundlerConfigs });
145
+ });
146
+ },
147
+ onAfterBuild(_0) {
148
+ return __async(this, arguments, function* ({ stats }) {
149
+ const hookRunners2 = api.useHookRunners();
150
+ yield hookRunners2.afterBuild({ stats });
151
+ yield emitResolvedConfig(
152
+ appContext.appDirectory,
153
+ normalizedConfig
154
+ );
155
+ });
156
+ },
157
+ onDevCompileDone(_0) {
158
+ return __async(this, arguments, function* ({ isFirstCompile }) {
159
+ const hookRunners2 = api.useHookRunners();
160
+ if (process.stdout.isTTY || isFirstCompile) {
161
+ hookRunners2.afterDev();
162
+ if (isFirstCompile) {
163
+ printInstructions(
164
+ hookRunners2,
165
+ appContext,
166
+ normalizedConfig
167
+ );
168
+ }
169
+ }
170
+ });
171
+ },
172
+ onBeforeCreateCompiler(_0) {
173
+ return __async(this, arguments, function* ({ bundlerConfigs }) {
174
+ const hookRunners2 = api.useHookRunners();
175
+ yield hookRunners2.beforeCreateCompiler({
176
+ bundlerConfigs
177
+ });
178
+ });
179
+ },
180
+ onAfterCreateCompiler(_0) {
181
+ return __async(this, arguments, function* ({ compiler }) {
182
+ const hookRunners2 = api.useHookRunners();
183
+ yield hookRunners2.afterCreateCompiler({ compiler });
184
+ });
185
+ }
186
+ }
187
+ });
188
+ appContext = __spreadProps(__spreadValues({}, appContext), {
189
+ builder
190
+ });
191
+ api.setAppContext(appContext);
192
+ }
193
+ });
155
194
  },
156
195
  watchFiles() {
157
196
  return pagesDir;
158
197
  },
159
- resolvedConfig({
160
- resolved
161
- }) {
198
+ resolvedConfig({ resolved }) {
162
199
  const appContext = api.useAppContext();
163
200
  const config = initialNormalizedConfig(resolved, appContext);
164
201
  return {
165
202
  resolved: config
166
203
  };
167
204
  },
168
- async fileChange(e) {
169
- const appContext = api.useAppContext();
170
- const {
171
- appDirectory
172
- } = appContext;
173
- const {
174
- filename,
175
- eventType
176
- } = e;
177
- const isPageFile = name => pagesDir.some(pageDir => name.includes(pageDir));
178
- const absoluteFilePath = path.resolve(appDirectory, filename);
179
- const isRouteComponent = isPageFile(absoluteFilePath) && isRouteComponentFile(absoluteFilePath);
180
- if (isRouteComponent && (eventType === 'add' || eventType === 'unlink')) {
181
- const resolvedConfig = api.useResolvedConfigContext();
182
- const {
183
- generateCode
184
- } = await import("./generateCode");
185
- const entrypoints = cloneDeep(originEntrypoints);
186
- generateCode(appContext, resolvedConfig, entrypoints, api);
187
- }
205
+ beforeRestart() {
206
+ return __async(this, null, function* () {
207
+ serverLoaderBuilder.stop();
208
+ loaderBuilder.stop();
209
+ });
210
+ },
211
+ fileChange(e) {
212
+ return __async(this, null, function* () {
213
+ const appContext = api.useAppContext();
214
+ const { appDirectory } = appContext;
215
+ const { filename, eventType } = e;
216
+ const isPageFile = (name) => pagesDir.some((pageDir) => name.includes(pageDir));
217
+ const absoluteFilePath = path.resolve(appDirectory, filename);
218
+ const isRouteComponent = isPageFile(absoluteFilePath) && isRouteComponentFile(absoluteFilePath);
219
+ if (isRouteComponent && (eventType === "add" || eventType === "unlink")) {
220
+ const resolvedConfig = api.useResolvedConfigContext();
221
+ const { generateCode } = yield import("./generateCode");
222
+ const entrypoints = cloneDeep(originEntrypoints);
223
+ generateCode(appContext, resolvedConfig, entrypoints, api);
224
+ }
225
+ });
188
226
  }
189
227
  };
190
228
  }
191
- }));
229
+ });
230
+ export {
231
+ analyze_default as default
232
+ };
@@ -1,28 +1,42 @@
1
- import fs from 'fs';
2
- import { parse } from '@babel/parser';
3
- import traverse from '@babel/traverse';
4
- import * as t from '@babel/types';
5
- const isFunction = node => t.isFunctionDeclaration(node) || t.isFunctionExpression(node) || t.isArrowFunctionExpression(node);
6
- export const isDefaultExportFunction = file => {
1
+ import fs from "fs";
2
+ import { parse } from "@babel/parser";
3
+ import traverse from "@babel/traverse";
4
+ import * as t from "@babel/types";
5
+ const isFunction = (node) => t.isFunctionDeclaration(node) || t.isFunctionExpression(node) || t.isArrowFunctionExpression(node);
6
+ const isDefaultExportFunction = (file) => {
7
7
  if (!file || !fs.existsSync(file)) {
8
8
  return false;
9
9
  }
10
- const ast = parse(fs.readFileSync(file, 'utf8'), {
11
- sourceType: 'unambiguous',
12
- plugins: ['jsx', 'typescript', 'classProperties', 'dynamicImport', 'exportDefaultFrom', 'exportNamespaceFrom', 'decorators-legacy', 'functionBind', 'classPrivateMethods', ['pipelineOperator', {
13
- proposal: 'minimal'
14
- }], 'optionalChaining', 'optionalCatchBinding', 'objectRestSpread', 'numericSeparator']
10
+ const ast = parse(fs.readFileSync(file, "utf8"), {
11
+ sourceType: "unambiguous",
12
+ plugins: [
13
+ "jsx",
14
+ "typescript",
15
+ "classProperties",
16
+ "dynamicImport",
17
+ "exportDefaultFrom",
18
+ "exportNamespaceFrom",
19
+ "decorators-legacy",
20
+ "functionBind",
21
+ "classPrivateMethods",
22
+ ["pipelineOperator", { proposal: "minimal" }],
23
+ "optionalChaining",
24
+ "optionalCatchBinding",
25
+ "objectRestSpread",
26
+ "numericSeparator"
27
+ ]
15
28
  });
16
29
  let isExportFunction = false;
17
30
  traverse(ast, {
18
- ExportDefaultDeclaration: path => {
19
- const {
20
- declaration
21
- } = path.node;
31
+ ExportDefaultDeclaration: (path) => {
32
+ const { declaration } = path.node;
22
33
  if (isFunction(declaration)) {
23
34
  isExportFunction = true;
24
35
  }
25
36
  }
26
37
  });
27
38
  return isExportFunction;
28
- };
39
+ };
40
+ export {
41
+ isDefaultExportFunction
42
+ };
@@ -1,14 +1,13 @@
1
- /**
2
- * modified from https://github.com/rollup/plugins/blob/master/packages/pluginutils
3
- * license at https://github.com/rollup/plugins/blob/master/LICENSE
4
- */
5
- const reservedWords = 'break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public';
6
- const builtins = 'arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl';
7
- const forbidList = new Set(`${reservedWords} ${builtins}`.split(' '));
8
- export function makeLegalIdentifier(str) {
9
- const identifier = str.replace(/-(\w)/g, (_, letter) => letter.toUpperCase()).replace(/[^$_a-zA-Z0-9]/g, '_');
1
+ const reservedWords = "break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public";
2
+ const builtins = "arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl";
3
+ const forbidList = new Set(`${reservedWords} ${builtins}`.split(" "));
4
+ function makeLegalIdentifier(str) {
5
+ const identifier = str.replace(/-(\w)/g, (_, letter) => letter.toUpperCase()).replace(/[^$_a-zA-Z0-9]/g, "_");
10
6
  if (/\d/.test(identifier[0]) || forbidList.has(identifier)) {
11
7
  return `_${identifier}`;
12
8
  }
13
- return identifier || '_';
14
- }
9
+ return identifier || "_";
10
+ }
11
+ export {
12
+ makeLegalIdentifier
13
+ };