@modern-js/app-tools 2.11.0 → 2.11.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +1 -1
  2. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +1 -1
  3. package/dist/esm-node/builder/shared/bundlerPlugins/RouterPlugin.js +1 -1
  4. package/dist/js/modern/analyze/constants.js +56 -0
  5. package/dist/js/modern/analyze/generateCode.js +247 -0
  6. package/dist/js/modern/analyze/getBundleEntry.js +71 -0
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +220 -0
  8. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +216 -0
  9. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -0
  10. package/dist/js/modern/analyze/getClientRoutes/utils.js +31 -0
  11. package/dist/js/modern/analyze/getFileSystemEntry.js +109 -0
  12. package/dist/js/modern/analyze/getHtmlTemplate.js +115 -0
  13. package/dist/js/modern/analyze/getServerRoutes.js +178 -0
  14. package/dist/js/modern/analyze/index.js +333 -0
  15. package/dist/js/modern/analyze/isDefaultExportFunction.js +42 -0
  16. package/dist/js/modern/analyze/makeLegalIdentifier.js +13 -0
  17. package/dist/js/modern/analyze/nestedRoutes.js +186 -0
  18. package/dist/js/modern/analyze/templates.js +328 -0
  19. package/dist/js/modern/analyze/utils.js +141 -0
  20. package/dist/js/modern/builder/builder-rspack/index.js +8 -0
  21. package/dist/js/modern/builder/builder-webpack/builderPlugins/compatModern.js +41 -0
  22. package/dist/js/modern/builder/builder-webpack/index.js +93 -0
  23. package/dist/js/modern/builder/builder-webpack/webpackPlugins/RouterPlugin.js +116 -0
  24. package/dist/js/modern/builder/builder-webpack/webpackPlugins/index.js +1 -0
  25. package/dist/js/modern/builder/generator/createBuilderOptions.js +24 -0
  26. package/dist/js/modern/builder/generator/createBuilderProviderConfig.js +39 -0
  27. package/dist/js/modern/builder/generator/getBuilderTargets.js +21 -0
  28. package/dist/js/modern/builder/generator/index.js +53 -0
  29. package/dist/js/modern/builder/index.js +39 -0
  30. package/dist/js/modern/builder/shared/builderPlugins/adapterModern.js +219 -0
  31. package/dist/js/modern/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -0
  32. package/dist/js/modern/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +34 -0
  33. package/dist/js/modern/builder/shared/createCopyPattern.js +46 -0
  34. package/dist/js/modern/builder/shared/index.js +3 -0
  35. package/dist/js/modern/builder/shared/loaders/serverModuleLoader.js +7 -0
  36. package/dist/js/modern/builder/shared/types.js +0 -0
  37. package/dist/js/modern/commands/build.js +91 -0
  38. package/dist/js/modern/commands/deploy.js +28 -0
  39. package/dist/js/modern/commands/dev.js +109 -0
  40. package/dist/js/modern/commands/index.js +3 -0
  41. package/dist/js/modern/commands/inspect.js +38 -0
  42. package/dist/js/modern/commands/serve.js +54 -0
  43. package/dist/js/modern/config/default.js +175 -0
  44. package/dist/js/modern/config/index.js +3 -0
  45. package/dist/js/modern/config/initialize/index.js +12 -0
  46. package/dist/js/modern/config/initialize/inits.js +154 -0
  47. package/dist/js/modern/config/legacy/createHtmlConfig.js +35 -0
  48. package/dist/js/modern/config/legacy/createOutputConfig.js +68 -0
  49. package/dist/js/modern/config/legacy/createSourceConfig.js +39 -0
  50. package/dist/js/modern/config/legacy/createToolsConfig.js +42 -0
  51. package/dist/js/modern/config/legacy/index.js +51 -0
  52. package/dist/js/modern/defineConfig.js +27 -0
  53. package/dist/js/modern/exports/server.js +4 -0
  54. package/dist/js/modern/hooks.js +35 -0
  55. package/dist/js/modern/index.js +221 -0
  56. package/dist/js/modern/initialize/index.js +132 -0
  57. package/dist/js/modern/locale/en.js +36 -0
  58. package/dist/js/modern/locale/index.js +9 -0
  59. package/dist/js/modern/locale/zh.js +36 -0
  60. package/dist/js/modern/schema/Schema.js +40 -0
  61. package/dist/js/modern/schema/index.js +88 -0
  62. package/dist/js/modern/schema/legacy.js +148 -0
  63. package/dist/js/modern/types/config/deploy.js +0 -0
  64. package/dist/js/modern/types/config/dev.js +0 -0
  65. package/dist/js/modern/types/config/experiments.js +0 -0
  66. package/dist/js/modern/types/config/html.js +0 -0
  67. package/dist/js/modern/types/config/index.js +1 -0
  68. package/dist/js/modern/types/config/output.js +0 -0
  69. package/dist/js/modern/types/config/performance.js +0 -0
  70. package/dist/js/modern/types/config/security.js +0 -0
  71. package/dist/js/modern/types/config/source.js +0 -0
  72. package/dist/js/modern/types/config/tools.js +0 -0
  73. package/dist/js/modern/types/hooks.js +0 -0
  74. package/dist/js/modern/types/index.js +3 -0
  75. package/dist/js/modern/types/legacyConfig/deploy.js +0 -0
  76. package/dist/js/modern/types/legacyConfig/dev.js +0 -0
  77. package/dist/js/modern/types/legacyConfig/index.js +0 -0
  78. package/dist/js/modern/types/legacyConfig/output.js +0 -0
  79. package/dist/js/modern/types/legacyConfig/source.js +0 -0
  80. package/dist/js/modern/types/legacyConfig/tools.js +0 -0
  81. package/dist/js/modern/types/utils.js +0 -0
  82. package/dist/js/modern/utils/config.js +128 -0
  83. package/dist/js/modern/utils/createServer.js +75 -0
  84. package/dist/js/modern/utils/env.js +15 -0
  85. package/dist/js/modern/utils/generateWatchFiles.js +55 -0
  86. package/dist/js/modern/utils/getSelectedEntries.js +58 -0
  87. package/dist/js/modern/utils/getServerInternalPlugins.js +58 -0
  88. package/dist/js/modern/utils/language.js +8 -0
  89. package/dist/js/modern/utils/printInstructions.js +31 -0
  90. package/dist/js/modern/utils/restart.js +44 -0
  91. package/dist/js/modern/utils/routes.js +30 -0
  92. package/dist/js/modern/utils/types.js +0 -0
  93. package/dist/js/node/analyze/constants.js +100 -0
  94. package/dist/js/node/analyze/generateCode.js +271 -0
  95. package/dist/js/node/analyze/getBundleEntry.js +95 -0
  96. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +242 -0
  97. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +238 -0
  98. package/dist/js/node/analyze/getClientRoutes/index.js +30 -0
  99. package/dist/js/node/analyze/getClientRoutes/utils.js +58 -0
  100. package/dist/js/node/analyze/getFileSystemEntry.js +131 -0
  101. package/dist/js/node/analyze/getHtmlTemplate.js +144 -0
  102. package/dist/js/node/analyze/getServerRoutes.js +196 -0
  103. package/dist/js/node/analyze/index.js +340 -0
  104. package/dist/js/node/analyze/isDefaultExportFunction.js +71 -0
  105. package/dist/js/node/analyze/makeLegalIdentifier.js +36 -0
  106. package/dist/js/node/analyze/nestedRoutes.js +213 -0
  107. package/dist/js/node/analyze/templates.js +359 -0
  108. package/dist/js/node/analyze/utils.js +172 -0
  109. package/dist/js/node/builder/builder-rspack/index.js +31 -0
  110. package/dist/js/node/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  111. package/dist/js/node/builder/builder-webpack/index.js +118 -0
  112. package/dist/js/node/builder/builder-webpack/webpackPlugins/RouterPlugin.js +140 -0
  113. package/dist/js/node/builder/builder-webpack/webpackPlugins/index.js +17 -0
  114. package/dist/js/node/builder/generator/createBuilderOptions.js +47 -0
  115. package/dist/js/node/builder/generator/createBuilderProviderConfig.js +60 -0
  116. package/dist/js/node/builder/generator/getBuilderTargets.js +39 -0
  117. package/dist/js/node/builder/generator/index.js +82 -0
  118. package/dist/js/node/builder/index.js +68 -0
  119. package/dist/js/node/builder/shared/builderPlugins/adapterModern.js +245 -0
  120. package/dist/js/node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +50 -0
  121. package/dist/js/node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +57 -0
  122. package/dist/js/node/builder/shared/createCopyPattern.js +75 -0
  123. package/dist/js/node/builder/shared/index.js +19 -0
  124. package/dist/js/node/builder/shared/loaders/serverModuleLoader.js +28 -0
  125. package/dist/js/node/builder/shared/types.js +15 -0
  126. package/dist/js/node/commands/build.js +112 -0
  127. package/dist/js/node/commands/deploy.js +51 -0
  128. package/dist/js/node/commands/dev.js +126 -0
  129. package/dist/js/node/commands/index.js +19 -0
  130. package/dist/js/node/commands/inspect.js +61 -0
  131. package/dist/js/node/commands/serve.js +83 -0
  132. package/dist/js/node/config/default.js +197 -0
  133. package/dist/js/node/config/index.js +19 -0
  134. package/dist/js/node/config/initialize/index.js +35 -0
  135. package/dist/js/node/config/initialize/inits.js +177 -0
  136. package/dist/js/node/config/legacy/createHtmlConfig.js +58 -0
  137. package/dist/js/node/config/legacy/createOutputConfig.js +91 -0
  138. package/dist/js/node/config/legacy/createSourceConfig.js +62 -0
  139. package/dist/js/node/config/legacy/createToolsConfig.js +65 -0
  140. package/dist/js/node/config/legacy/index.js +75 -0
  141. package/dist/js/node/defineConfig.js +49 -0
  142. package/dist/js/node/exports/server.js +27 -0
  143. package/dist/js/node/hooks.js +54 -0
  144. package/dist/js/node/index.js +245 -0
  145. package/dist/js/node/initialize/index.js +141 -0
  146. package/dist/js/node/locale/en.js +59 -0
  147. package/dist/js/node/locale/index.js +33 -0
  148. package/dist/js/node/locale/zh.js +59 -0
  149. package/dist/js/node/schema/Schema.js +63 -0
  150. package/dist/js/node/schema/index.js +118 -0
  151. package/dist/js/node/schema/legacy.js +169 -0
  152. package/dist/js/node/types/config/deploy.js +15 -0
  153. package/dist/js/node/types/config/dev.js +15 -0
  154. package/dist/js/node/types/config/experiments.js +15 -0
  155. package/dist/js/node/types/config/html.js +15 -0
  156. package/dist/js/node/types/config/index.js +17 -0
  157. package/dist/js/node/types/config/output.js +15 -0
  158. package/dist/js/node/types/config/performance.js +15 -0
  159. package/dist/js/node/types/config/security.js +15 -0
  160. package/dist/js/node/types/config/source.js +15 -0
  161. package/dist/js/node/types/config/tools.js +15 -0
  162. package/dist/js/node/types/hooks.js +15 -0
  163. package/dist/js/node/types/index.js +19 -0
  164. package/dist/js/node/types/legacyConfig/deploy.js +15 -0
  165. package/dist/js/node/types/legacyConfig/dev.js +15 -0
  166. package/dist/js/node/types/legacyConfig/index.js +15 -0
  167. package/dist/js/node/types/legacyConfig/output.js +15 -0
  168. package/dist/js/node/types/legacyConfig/source.js +15 -0
  169. package/dist/js/node/types/legacyConfig/tools.js +15 -0
  170. package/dist/js/node/types/utils.js +15 -0
  171. package/dist/js/node/utils/config.js +153 -0
  172. package/dist/js/node/utils/createServer.js +106 -0
  173. package/dist/js/node/utils/env.js +38 -0
  174. package/dist/js/node/utils/generateWatchFiles.js +85 -0
  175. package/dist/js/node/utils/getSelectedEntries.js +81 -0
  176. package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
  177. package/dist/js/node/utils/language.js +31 -0
  178. package/dist/js/node/utils/printInstructions.js +54 -0
  179. package/dist/js/node/utils/restart.js +67 -0
  180. package/dist/js/node/utils/routes.js +59 -0
  181. package/dist/js/node/utils/types.js +15 -0
  182. package/dist/js/treeshaking/analyze/constants.js +42 -0
  183. package/dist/js/treeshaking/analyze/generateCode.js +485 -0
  184. package/dist/js/treeshaking/analyze/getBundleEntry.js +62 -0
  185. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +233 -0
  186. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +231 -0
  187. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -0
  188. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +23 -0
  189. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +107 -0
  190. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +302 -0
  191. package/dist/js/treeshaking/analyze/getServerRoutes.js +224 -0
  192. package/dist/js/treeshaking/analyze/index.js +702 -0
  193. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +47 -0
  194. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -0
  195. package/dist/js/treeshaking/analyze/nestedRoutes.js +409 -0
  196. package/dist/js/treeshaking/analyze/templates.js +465 -0
  197. package/dist/js/treeshaking/analyze/utils.js +374 -0
  198. package/dist/js/treeshaking/builder/builder-rspack/index.js +6 -0
  199. package/dist/js/treeshaking/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  200. package/dist/js/treeshaking/builder/builder-webpack/index.js +301 -0
  201. package/dist/js/treeshaking/builder/builder-webpack/webpackPlugins/RouterPlugin.js +346 -0
  202. package/dist/js/treeshaking/builder/builder-webpack/webpackPlugins/index.js +1 -0
  203. package/dist/js/treeshaking/builder/generator/createBuilderOptions.js +41 -0
  204. package/dist/js/treeshaking/builder/generator/createBuilderProviderConfig.js +70 -0
  205. package/dist/js/treeshaking/builder/generator/getBuilderTargets.js +16 -0
  206. package/dist/js/treeshaking/builder/generator/index.js +199 -0
  207. package/dist/js/treeshaking/builder/index.js +175 -0
  208. package/dist/js/treeshaking/builder/shared/builderPlugins/adapterModern.js +300 -0
  209. package/dist/js/treeshaking/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +110 -0
  210. package/dist/js/treeshaking/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +72 -0
  211. package/dist/js/treeshaking/builder/shared/createCopyPattern.js +40 -0
  212. package/dist/js/treeshaking/builder/shared/index.js +3 -0
  213. package/dist/js/treeshaking/builder/shared/loaders/serverModuleLoader.js +5 -0
  214. package/dist/js/treeshaking/builder/shared/types.js +1 -0
  215. package/dist/js/treeshaking/commands/build.js +291 -0
  216. package/dist/js/treeshaking/commands/deploy.js +154 -0
  217. package/dist/js/treeshaking/commands/dev.js +301 -0
  218. package/dist/js/treeshaking/commands/index.js +3 -0
  219. package/dist/js/treeshaking/commands/inspect.js +149 -0
  220. package/dist/js/treeshaking/commands/serve.js +199 -0
  221. package/dist/js/treeshaking/config/default.js +210 -0
  222. package/dist/js/treeshaking/config/index.js +3 -0
  223. package/dist/js/treeshaking/config/initialize/index.js +10 -0
  224. package/dist/js/treeshaking/config/initialize/inits.js +211 -0
  225. package/dist/js/treeshaking/config/legacy/createHtmlConfig.js +19 -0
  226. package/dist/js/treeshaking/config/legacy/createOutputConfig.js +41 -0
  227. package/dist/js/treeshaking/config/legacy/createSourceConfig.js +42 -0
  228. package/dist/js/treeshaking/config/legacy/createToolsConfig.js +23 -0
  229. package/dist/js/treeshaking/config/legacy/index.js +38 -0
  230. package/dist/js/treeshaking/defineConfig.js +61 -0
  231. package/dist/js/treeshaking/exports/server.js +2 -0
  232. package/dist/js/treeshaking/hooks.js +29 -0
  233. package/dist/js/treeshaking/index.js +713 -0
  234. package/dist/js/treeshaking/initialize/index.js +284 -0
  235. package/dist/js/treeshaking/locale/en.js +38 -0
  236. package/dist/js/treeshaking/locale/index.js +9 -0
  237. package/dist/js/treeshaking/locale/zh.js +38 -0
  238. package/dist/js/treeshaking/schema/Schema.js +273 -0
  239. package/dist/js/treeshaking/schema/index.js +181 -0
  240. package/dist/js/treeshaking/schema/legacy.js +337 -0
  241. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  242. package/dist/js/treeshaking/types/config/dev.js +1 -0
  243. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  244. package/dist/js/treeshaking/types/config/html.js +1 -0
  245. package/dist/js/treeshaking/types/config/index.js +1 -0
  246. package/dist/js/treeshaking/types/config/output.js +1 -0
  247. package/dist/js/treeshaking/types/config/performance.js +1 -0
  248. package/dist/js/treeshaking/types/config/security.js +1 -0
  249. package/dist/js/treeshaking/types/config/source.js +1 -0
  250. package/dist/js/treeshaking/types/config/tools.js +1 -0
  251. package/dist/js/treeshaking/types/hooks.js +1 -0
  252. package/dist/js/treeshaking/types/index.js +3 -0
  253. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  254. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  255. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  256. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -0
  257. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  258. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  259. package/dist/js/treeshaking/types/utils.js +1 -0
  260. package/dist/js/treeshaking/utils/config.js +302 -0
  261. package/dist/js/treeshaking/utils/createServer.js +258 -0
  262. package/dist/js/treeshaking/utils/env.js +13 -0
  263. package/dist/js/treeshaking/utils/generateWatchFiles.js +214 -0
  264. package/dist/js/treeshaking/utils/getSelectedEntries.js +186 -0
  265. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
  266. package/dist/js/treeshaking/utils/language.js +6 -0
  267. package/dist/js/treeshaking/utils/printInstructions.js +152 -0
  268. package/dist/js/treeshaking/utils/restart.js +187 -0
  269. package/dist/js/treeshaking/utils/routes.js +153 -0
  270. package/dist/js/treeshaking/utils/types.js +1 -0
  271. package/package.json +7 -7
@@ -0,0 +1,91 @@
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 { ResolvedConfigContext } from "@modern-js/core";
41
+ import { logger, printBuildError } from "@modern-js/utils";
42
+ import { generateRoutes } from "../utils/routes";
43
+ import { buildServerConfig } from "../utils/config";
44
+ const build = (api, options) => __async(void 0, null, function* () {
45
+ if (options == null ? void 0 : options.analyze) {
46
+ process.env.BUNDLE_ANALYZE = "true";
47
+ }
48
+ let resolvedConfig = api.useResolvedConfigContext();
49
+ const appContext = api.useAppContext();
50
+ const hookRunners = api.useHookRunners();
51
+ const { apiOnly } = appContext;
52
+ if (apiOnly) {
53
+ const { appDirectory: appDirectory2, distDirectory: distDirectory2, serverConfigFile: serverConfigFile2 } = appContext;
54
+ yield hookRunners.beforeBuild({
55
+ bundlerConfigs: void 0
56
+ });
57
+ yield buildServerConfig({
58
+ appDirectory: appDirectory2,
59
+ distDirectory: distDirectory2,
60
+ configFile: serverConfigFile2
61
+ });
62
+ yield generateRoutes(appContext);
63
+ yield hookRunners.afterBuild({
64
+ stats: void 0
65
+ });
66
+ return;
67
+ }
68
+ resolvedConfig = __spreadProps(__spreadValues({}, resolvedConfig), { cliOptions: options });
69
+ ResolvedConfigContext.set(resolvedConfig);
70
+ const { distDirectory, appDirectory, serverConfigFile } = appContext;
71
+ yield buildServerConfig({
72
+ appDirectory,
73
+ distDirectory,
74
+ configFile: serverConfigFile
75
+ });
76
+ try {
77
+ logger.info("Create a production build...\n");
78
+ if (!appContext.builder) {
79
+ throw new Error(
80
+ "Expect the Builder to have been initialized, But the appContext.builder received `undefined`"
81
+ );
82
+ }
83
+ yield appContext.builder.build();
84
+ } catch (error) {
85
+ printBuildError(error);
86
+ process.exit(1);
87
+ }
88
+ });
89
+ export {
90
+ build
91
+ };
@@ -0,0 +1,28 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ const deploy = (api, options) => __async(void 0, null, function* () {
22
+ const hookRunners = api.useHookRunners();
23
+ yield hookRunners.beforeDeploy(options);
24
+ yield hookRunners.afterDeploy(options);
25
+ });
26
+ export {
27
+ deploy
28
+ };
@@ -0,0 +1,109 @@
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 { ResolvedConfigContext } from "@modern-js/core";
41
+ import { printInstructions } from "../utils/printInstructions";
42
+ import {
43
+ setServer,
44
+ createServer,
45
+ injectDataLoaderPlugin
46
+ } from "../utils/createServer";
47
+ import { generateRoutes } from "../utils/routes";
48
+ import { buildServerConfig } from "../utils/config";
49
+ import { getServerInternalPlugins } from "../utils/getServerInternalPlugins";
50
+ const dev = (api, options) => __async(void 0, null, function* () {
51
+ var _a;
52
+ if (options.analyze) {
53
+ process.env.BUNDLE_ANALYZE = "true";
54
+ }
55
+ let normalizedConfig = api.useResolvedConfigContext();
56
+ const appContext = api.useAppContext();
57
+ const hookRunners = api.useHookRunners();
58
+ normalizedConfig = __spreadProps(__spreadValues({}, normalizedConfig), { cliOptions: options });
59
+ ResolvedConfigContext.set(normalizedConfig);
60
+ const { appDirectory, distDirectory, port, apiOnly, serverConfigFile } = appContext;
61
+ yield buildServerConfig({
62
+ appDirectory,
63
+ distDirectory,
64
+ configFile: serverConfigFile,
65
+ options: {
66
+ esbuildOptions: {
67
+ watch: true
68
+ }
69
+ }
70
+ });
71
+ yield hookRunners.beforeDev();
72
+ if (!appContext.builder && !apiOnly) {
73
+ throw new Error(
74
+ "Expect the Builder to have been initialized, But the appContext.builder received `undefined`"
75
+ );
76
+ }
77
+ yield generateRoutes(appContext);
78
+ const serverInternalPlugins = yield getServerInternalPlugins(api);
79
+ const serverOptions = {
80
+ dev: __spreadValues({
81
+ port,
82
+ https: normalizedConfig.dev.https
83
+ }, (_a = normalizedConfig.tools) == null ? void 0 : _a.devServer),
84
+ pwd: appDirectory,
85
+ config: normalizedConfig,
86
+ serverConfigFile,
87
+ internalPlugins: injectDataLoaderPlugin(serverInternalPlugins)
88
+ };
89
+ if (apiOnly) {
90
+ const app = yield createServer(__spreadProps(__spreadValues({}, serverOptions), {
91
+ compiler: null
92
+ }));
93
+ app.listen(port, (err) => __async(void 0, null, function* () {
94
+ if (err) {
95
+ throw err;
96
+ }
97
+ printInstructions(hookRunners, appContext, normalizedConfig);
98
+ }));
99
+ } else {
100
+ const { server } = yield appContext.builder.startDevServer({
101
+ printURLs: false,
102
+ serverOptions
103
+ });
104
+ setServer(server);
105
+ }
106
+ });
107
+ export {
108
+ dev
109
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./dev";
2
+ export * from "./build";
3
+ export * from "./serve";
@@ -0,0 +1,38 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { join } from "path";
22
+ const inspect = (api, options) => __async(void 0, null, function* () {
23
+ const appContext = api.useAppContext();
24
+ if (!appContext.builder) {
25
+ throw new Error(
26
+ "Expect the Builder to have been initialized, But the appContext.builder received `undefined`"
27
+ );
28
+ }
29
+ return appContext.builder.inspectConfig({
30
+ env: options.env,
31
+ verbose: options.verbose,
32
+ outputPath: join(appContext == null ? void 0 : appContext.builder.context.distPath, options.output),
33
+ writeToDisk: true
34
+ });
35
+ });
36
+ export {
37
+ inspect
38
+ };
@@ -0,0 +1,54 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { logger, chalk, isApiOnly } from "@modern-js/utils";
22
+ import server from "@modern-js/prod-server";
23
+ import { printInstructions } from "../utils/printInstructions";
24
+ import { injectDataLoaderPlugin } from "../utils/createServer";
25
+ import { getServerInternalPlugins } from "../utils/getServerInternalPlugins";
26
+ const start = (api) => __async(void 0, null, function* () {
27
+ var _a;
28
+ const appContext = api.useAppContext();
29
+ const userConfig = api.useResolvedConfigContext();
30
+ const hookRunners = api.useHookRunners();
31
+ const { appDirectory, port, serverConfigFile } = appContext;
32
+ logger.log(chalk.cyan(`Starting the modern server...`));
33
+ const apiOnly = yield isApiOnly(
34
+ appContext.appDirectory,
35
+ (_a = userConfig == null ? void 0 : userConfig.source) == null ? void 0 : _a.entriesDir
36
+ );
37
+ const serverInternalPlugins = yield getServerInternalPlugins(api);
38
+ const app = yield server({
39
+ pwd: appDirectory,
40
+ config: userConfig,
41
+ serverConfigFile,
42
+ internalPlugins: injectDataLoaderPlugin(serverInternalPlugins),
43
+ apiOnly
44
+ });
45
+ app.listen(port, (err) => __async(void 0, null, function* () {
46
+ if (err) {
47
+ throw err;
48
+ }
49
+ yield printInstructions(hookRunners, appContext, userConfig);
50
+ }));
51
+ });
52
+ export {
53
+ start
54
+ };
@@ -0,0 +1,175 @@
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
+ import { createDefaultConfig as createDefaultBuilderConfig } from "@modern-js/builder-webpack-provider";
21
+ function createDefaultConfig(appContext, bundler) {
22
+ const defaultBuilderConfig = createDefaultBuilderConfig();
23
+ const dev = __spreadProps(__spreadValues({}, defaultBuilderConfig.dev), {
24
+ port: void 0
25
+ });
26
+ const output = __spreadProps(__spreadValues({}, defaultBuilderConfig.output), {
27
+ disableNodePolyfill: true
28
+ });
29
+ const source = __spreadProps(__spreadValues({}, defaultBuilderConfig.source), {
30
+ entries: void 0,
31
+ enableAsyncEntry: false,
32
+ disableDefaultEntries: false,
33
+ entriesDir: "./src",
34
+ configDir: "./config",
35
+ alias: {
36
+ [appContext.internalDirAlias]: appContext.internalDirectory,
37
+ [appContext.internalSrcAlias]: appContext.srcDirectory,
38
+ "@": appContext.srcDirectory,
39
+ "@shared": appContext.sharedDirectory
40
+ }
41
+ });
42
+ const html = __spreadProps(__spreadValues({}, defaultBuilderConfig.html), {
43
+ title: "",
44
+ meta: {
45
+ charset: { charset: "utf-8" },
46
+ viewport: "width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no",
47
+ "http-equiv": { "http-equiv": "x-ua-compatible", content: "ie=edge" },
48
+ renderer: "webkit",
49
+ layoutmode: "standard",
50
+ imagemode: "force",
51
+ "wap-font-scale": "no",
52
+ "format-detection": "telephone=no"
53
+ }
54
+ });
55
+ const server = {
56
+ routes: void 0,
57
+ publicRoutes: void 0,
58
+ ssr: void 0,
59
+ ssrByEntries: void 0,
60
+ baseUrl: "/",
61
+ port: 8080
62
+ };
63
+ const tools = bundler === "webpack" ? __spreadValues({}, defaultBuilderConfig.tools) : void 0;
64
+ return {
65
+ source,
66
+ output,
67
+ server,
68
+ dev,
69
+ html,
70
+ tools,
71
+ plugins: [],
72
+ builderPlugins: [],
73
+ runtime: {},
74
+ runtimeByEntries: {}
75
+ };
76
+ }
77
+ function createLegacyDefaultConfig(appContext) {
78
+ const defaultAlias = appContext ? {
79
+ [appContext.internalDirAlias]: appContext.internalDirectory,
80
+ [appContext.internalSrcAlias]: appContext.srcDirectory,
81
+ "@": appContext.srcDirectory,
82
+ "@shared": appContext.sharedDirectory
83
+ } : {};
84
+ const sourceDefaults = {
85
+ entries: void 0,
86
+ enableAsyncEntry: false,
87
+ disableDefaultEntries: false,
88
+ entriesDir: "./src",
89
+ configDir: "./config",
90
+ apiDir: "./api",
91
+ envVars: [],
92
+ globalVars: void 0,
93
+ alias: defaultAlias,
94
+ moduleScopes: void 0,
95
+ include: []
96
+ };
97
+ const outputDefaults = {
98
+ assetPrefix: "/",
99
+ htmlPath: "html",
100
+ jsPath: "static/js",
101
+ cssPath: "static/css",
102
+ mediaPath: "static/media",
103
+ path: "dist",
104
+ title: "",
105
+ titleByEntries: void 0,
106
+ meta: {
107
+ charset: { charset: "utf-8" },
108
+ viewport: "width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no",
109
+ "http-equiv": { "http-equiv": "x-ua-compatible", content: "ie=edge" },
110
+ renderer: "webkit",
111
+ layoutmode: "standard",
112
+ imagemode: "force",
113
+ "wap-font-scale": "no",
114
+ "format-detection": "telephone=no"
115
+ },
116
+ metaByEntries: void 0,
117
+ inject: "head",
118
+ injectByEntries: void 0,
119
+ mountId: "root",
120
+ favicon: "",
121
+ faviconByEntries: void 0,
122
+ copy: void 0,
123
+ disableHtmlFolder: false,
124
+ disableCssModuleExtension: false,
125
+ disableCssExtract: false,
126
+ enableCssModuleTSDeclaration: false,
127
+ disableMinimize: false,
128
+ enableInlineStyles: false,
129
+ enableInlineScripts: false,
130
+ disableSourceMap: false,
131
+ disableInlineRuntimeChunk: false,
132
+ disableAssetsCache: false,
133
+ enableLatestDecorators: false,
134
+ polyfill: "entry",
135
+ dataUriLimit: 1e4,
136
+ templateParameters: {},
137
+ templateParametersByEntries: void 0,
138
+ cssModuleLocalIdentName: void 0,
139
+ disableNodePolyfill: false,
140
+ enableTsLoader: false
141
+ };
142
+ const serverDefaults = {
143
+ routes: void 0,
144
+ publicRoutes: void 0,
145
+ ssr: void 0,
146
+ ssrByEntries: void 0,
147
+ baseUrl: "/",
148
+ port: 8080
149
+ };
150
+ const devDefaults = { assetPrefix: false, https: false };
151
+ const toolsDefaults = {
152
+ webpack: void 0,
153
+ babel: void 0,
154
+ postcss: void 0,
155
+ autoprefixer: void 0,
156
+ lodash: void 0,
157
+ devServer: void 0,
158
+ tsLoader: void 0,
159
+ terser: void 0,
160
+ minifyCss: void 0
161
+ };
162
+ return {
163
+ source: sourceDefaults,
164
+ output: outputDefaults,
165
+ server: serverDefaults,
166
+ dev: devDefaults,
167
+ tools: toolsDefaults,
168
+ runtime: {},
169
+ runtimeByEntries: {}
170
+ };
171
+ }
172
+ export {
173
+ createDefaultConfig,
174
+ createLegacyDefaultConfig
175
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./legacy";
2
+ export * from "./initialize";
3
+ export * from "./default";
@@ -0,0 +1,12 @@
1
+ import { initHtmlConfig, initSourceConfig, initToolsConfig } from "./inits";
2
+ function initialNormalizedConfig(config, appContext, bundler) {
3
+ initHtmlConfig(config, appContext);
4
+ initSourceConfig(config, appContext, bundler);
5
+ if (bundler === "webpack") {
6
+ initToolsConfig(config);
7
+ }
8
+ return config;
9
+ }
10
+ export {
11
+ initialNormalizedConfig
12
+ };
@@ -0,0 +1,154 @@
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
+ import path, { dirname, isAbsolute, posix, sep } from "path";
21
+ import {
22
+ applyOptionsChain,
23
+ findExists,
24
+ findMonorepoRoot,
25
+ globby,
26
+ isModernjsMonorepo
27
+ } from "@modern-js/utils";
28
+ import { getAutoInjectEnv } from "../../utils/env";
29
+ function initHtmlConfig(config, appContext) {
30
+ const ICON_EXTENSIONS = ["png", "jpg", "jpeg", "svg", "ico"];
31
+ config.html.appIcon = createBuilderAppIcon(config, appContext);
32
+ config.html.favicon = createBuilderFavicon(config, appContext);
33
+ return config.html;
34
+ function createBuilderAppIcon(config2, appContext2) {
35
+ const { configDir } = config2.source;
36
+ const appIcon = findExists(
37
+ ICON_EXTENSIONS.map(
38
+ (ext) => path.resolve(
39
+ appContext2.appDirectory,
40
+ configDir || "./config",
41
+ `icon.${ext}`
42
+ )
43
+ )
44
+ );
45
+ return typeof appIcon === "string" ? appIcon : void 0;
46
+ }
47
+ function createBuilderFavicon(config2, appContext2) {
48
+ const { configDir } = config2.source;
49
+ const { favicon } = config2.html;
50
+ const defaultFavicon = findExists(
51
+ ICON_EXTENSIONS.map(
52
+ (ext) => path.resolve(
53
+ appContext2.appDirectory,
54
+ configDir || "./config",
55
+ `favicon.${ext}`
56
+ )
57
+ )
58
+ );
59
+ return favicon || defaultFavicon || void 0;
60
+ }
61
+ }
62
+ function initSourceConfig(config, appContext, bundler) {
63
+ config.source.include = createBuilderInclude(config, appContext);
64
+ config.source.globalVars = createBuilderGlobalVars(config, appContext);
65
+ if (bundler === "webpack") {
66
+ config.source.moduleScopes = createBuilderModuleScope(config);
67
+ }
68
+ function createBuilderGlobalVars(config2, appContext2) {
69
+ const { globalVars = {} } = config2.source;
70
+ const publicEnv = getAutoInjectEnv(appContext2);
71
+ return __spreadValues(__spreadValues({}, globalVars), publicEnv);
72
+ }
73
+ function createBuilderInclude(config2, appContext2) {
74
+ const { include } = config2.source;
75
+ const defaultInclude = [appContext2.internalDirectory];
76
+ const transformInclude = (include || []).map((include2) => {
77
+ if (typeof include2 === "string") {
78
+ if (isAbsolute(include2)) {
79
+ return include2;
80
+ }
81
+ return new RegExp(include2);
82
+ }
83
+ return include2;
84
+ }).concat(defaultInclude);
85
+ const root = findMonorepoRoot(appContext2.appDirectory);
86
+ if (!root) {
87
+ return transformInclude;
88
+ }
89
+ const modernjsMonorepo = isModernjsMonorepo(root);
90
+ if (modernjsMonorepo) {
91
+ const paths = globby.sync(posix.join(root, "features", "**", "package.json"), {
92
+ ignore: ["**/node_modules/**/*"]
93
+ }).map((pathname) => dirname(pathname) + sep);
94
+ return [...paths, ...transformInclude];
95
+ }
96
+ return transformInclude;
97
+ }
98
+ function createBuilderModuleScope(config2) {
99
+ const { moduleScopes } = config2.source;
100
+ if (moduleScopes) {
101
+ let builderModuleScope = [];
102
+ const DEFAULT_SCOPES = [
103
+ "./src",
104
+ "./shared",
105
+ /node_modules/
106
+ ];
107
+ if (Array.isArray(moduleScopes)) {
108
+ if (isPrimitiveScope(moduleScopes)) {
109
+ builderModuleScope = DEFAULT_SCOPES.concat(moduleScopes);
110
+ } else {
111
+ builderModuleScope = [DEFAULT_SCOPES, ...moduleScopes];
112
+ }
113
+ } else {
114
+ builderModuleScope = [DEFAULT_SCOPES, moduleScopes];
115
+ }
116
+ return builderModuleScope;
117
+ } else {
118
+ return void 0;
119
+ }
120
+ function isPrimitiveScope(items) {
121
+ return items.every(
122
+ (item) => typeof item === "string" || Object.prototype.toString.call(item) === "[object RegExp]"
123
+ );
124
+ }
125
+ }
126
+ }
127
+ function initToolsConfig(config) {
128
+ const defaultTsChecker = {
129
+ issue: {
130
+ include: [{ file: "**/src/**/*" }],
131
+ exclude: [
132
+ { file: "**/*.(spec|test).ts" },
133
+ { file: "**/node_modules/**/*" }
134
+ ]
135
+ }
136
+ };
137
+ const { tsChecker, tsLoader } = config.tools;
138
+ config.tools.tsChecker = applyOptionsChain(defaultTsChecker, tsChecker);
139
+ tsLoader && (config.tools.tsLoader = (tsLoaderConfig, utils) => {
140
+ applyOptionsChain(
141
+ __spreadProps(__spreadValues({}, tsLoaderConfig), {
142
+ transpileOnly: false,
143
+ allowTsInNodeModules: true
144
+ }),
145
+ tsLoader || {},
146
+ utils
147
+ );
148
+ });
149
+ }
150
+ export {
151
+ initHtmlConfig,
152
+ initSourceConfig,
153
+ initToolsConfig
154
+ };