@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,284 +1,149 @@
1
- import { ENTRY_NAME_PATTERN } from '@modern-js/utils/constants';
1
+ import { ENTRY_NAME_PATTERN } from "@modern-js/utils/constants";
2
2
  import { Schema } from "./Schema";
3
3
  const source = {
4
4
  entries: {
5
- type: 'object',
5
+ type: "object",
6
6
  patternProperties: {
7
7
  [ENTRY_NAME_PATTERN]: {
8
- if: {
9
- type: 'object'
10
- },
8
+ if: { type: "object" },
11
9
  then: {
12
- required: ['entry'],
10
+ required: ["entry"],
13
11
  properties: {
14
- entry: {
15
- type: ['string', 'array']
16
- },
17
- disableMount: {
18
- type: 'boolean'
19
- },
20
- enableFileSystemRoutes: {
21
- type: 'boolean'
22
- }
12
+ entry: { type: ["string", "array"] },
13
+ disableMount: { type: "boolean" },
14
+ enableFileSystemRoutes: { type: "boolean" }
23
15
  },
24
16
  additionalProperties: false
25
17
  },
26
- else: {
27
- type: ['string', 'array']
28
- }
18
+ else: { type: ["string", "array"] }
29
19
  }
30
20
  }
31
21
  },
32
- preEntry: {
33
- type: ['string', 'array']
34
- },
35
- alias: {
36
- typeof: ['object', 'function']
37
- },
38
- enableAsyncEntry: {
39
- type: 'boolean'
40
- },
41
- disableDefaultEntries: {
42
- type: 'boolean'
43
- },
44
- envVars: {
45
- type: 'array'
46
- },
47
- globalVars: {
48
- type: 'object'
49
- },
50
- moduleScopes: {
51
- instanceof: ['Array', 'Function']
52
- },
53
- entriesDir: {
54
- type: 'string'
55
- },
56
- configDir: {
57
- type: 'string'
58
- },
59
- include: {
60
- type: ['array']
61
- }
22
+ preEntry: { type: ["string", "array"] },
23
+ alias: { typeof: ["object", "function"] },
24
+ enableAsyncEntry: { type: "boolean" },
25
+ disableDefaultEntries: { type: "boolean" },
26
+ envVars: { type: "array" },
27
+ globalVars: { type: "object" },
28
+ moduleScopes: { instanceof: ["Array", "Function"] },
29
+ entriesDir: { type: "string" },
30
+ configDir: { type: "string" },
31
+ include: { type: ["array"] }
62
32
  };
63
33
  const output = {
64
- assetPrefix: {
65
- type: 'string'
66
- },
67
- path: {
68
- type: 'string'
69
- },
70
- jsPath: {
71
- type: 'string'
72
- },
73
- cssPath: {
74
- type: 'string'
75
- },
76
- htmlPath: {
77
- type: 'string'
78
- },
79
- mediaPath: {
80
- type: 'string'
81
- },
82
- mountId: {
83
- type: 'string'
84
- },
85
- favicon: {
86
- type: 'string'
87
- },
34
+ assetPrefix: { type: "string" },
35
+ path: { type: "string" },
36
+ jsPath: { type: "string" },
37
+ cssPath: { type: "string" },
38
+ htmlPath: { type: "string" },
39
+ mediaPath: { type: "string" },
40
+ mountId: { type: "string" },
41
+ favicon: { type: "string" },
88
42
  faviconByEntries: {
89
- type: 'object',
90
- patternProperties: {
91
- [ENTRY_NAME_PATTERN]: {
92
- type: 'string'
93
- }
94
- }
95
- },
96
- title: {
97
- type: 'string'
43
+ type: "object",
44
+ patternProperties: { [ENTRY_NAME_PATTERN]: { type: "string" } }
98
45
  },
46
+ title: { type: "string" },
99
47
  titleByEntries: {
100
- type: 'object',
101
- patternProperties: {
102
- [ENTRY_NAME_PATTERN]: {
103
- type: 'string'
104
- }
105
- }
106
- },
107
- meta: {
108
- type: 'object'
48
+ type: "object",
49
+ patternProperties: { [ENTRY_NAME_PATTERN]: { type: "string" } }
109
50
  },
51
+ meta: { type: "object" },
110
52
  metaByEntries: {
111
- type: 'object',
112
- patternProperties: {
113
- [ENTRY_NAME_PATTERN]: {
114
- type: 'object'
115
- }
116
- }
117
- },
118
- inject: {
119
- enum: [true, 'head', 'body', false]
53
+ type: "object",
54
+ patternProperties: { [ENTRY_NAME_PATTERN]: { type: "object" } }
120
55
  },
56
+ inject: { enum: [true, "head", "body", false] },
121
57
  injectByEntries: {
122
- type: 'object',
58
+ type: "object",
123
59
  patternProperties: {
124
- [ENTRY_NAME_PATTERN]: {
125
- enum: [true, 'head', 'body', false]
126
- }
60
+ [ENTRY_NAME_PATTERN]: { enum: [true, "head", "body", false] }
127
61
  }
128
62
  },
129
- copy: {
130
- type: 'array'
131
- },
132
- scriptExt: {
133
- type: 'object'
134
- },
135
- disableTsChecker: {
136
- type: 'boolean'
137
- },
138
- disableHtmlFolder: {
139
- type: 'boolean'
140
- },
141
- disableCssModuleExtension: {
142
- type: 'boolean'
143
- },
144
- disableCssExtract: {
145
- type: 'boolean'
146
- },
147
- enableCssModuleTSDeclaration: {
148
- type: 'boolean'
149
- },
150
- disableMinimize: {
151
- type: 'boolean'
152
- },
153
- enableInlineStyles: {
154
- type: 'boolean'
155
- },
156
- enableInlineScripts: {
157
- type: 'boolean'
158
- },
159
- disableSourceMap: {
160
- type: 'boolean'
161
- },
162
- disableInlineRuntimeChunk: {
163
- type: 'boolean'
164
- },
165
- disableAssetsCache: {
166
- type: 'boolean'
167
- },
168
- enableLatestDecorators: {
169
- type: 'boolean'
170
- },
171
- enableTsLoader: {
172
- type: 'boolean'
173
- },
174
- dataUriLimit: {
175
- type: 'number'
176
- },
177
- templateParameters: {
178
- type: 'object'
179
- },
63
+ copy: { type: "array" },
64
+ scriptExt: { type: "object" },
65
+ disableTsChecker: { type: "boolean" },
66
+ disableHtmlFolder: { type: "boolean" },
67
+ disableCssModuleExtension: { type: "boolean" },
68
+ disableCssExtract: { type: "boolean" },
69
+ enableCssModuleTSDeclaration: { type: "boolean" },
70
+ disableMinimize: { type: "boolean" },
71
+ enableInlineStyles: { type: "boolean" },
72
+ enableInlineScripts: { type: "boolean" },
73
+ disableSourceMap: { type: "boolean" },
74
+ disableInlineRuntimeChunk: { type: "boolean" },
75
+ disableAssetsCache: { type: "boolean" },
76
+ enableLatestDecorators: { type: "boolean" },
77
+ enableTsLoader: { type: "boolean" },
78
+ dataUriLimit: { type: "number" },
79
+ templateParameters: { type: "object" },
180
80
  templateParametersByEntries: {
181
- type: 'object',
182
- patternProperties: {
183
- [ENTRY_NAME_PATTERN]: {
184
- type: 'object'
185
- }
186
- }
81
+ type: "object",
82
+ patternProperties: { [ENTRY_NAME_PATTERN]: { type: "object" } }
187
83
  },
188
84
  polyfill: {
189
- type: 'string',
190
- enum: ['usage', 'entry', 'off', 'ua']
191
- },
192
- cssModuleLocalIdentName: {
193
- type: 'string'
194
- },
195
- federation: {
196
- type: 'object'
85
+ type: "string",
86
+ enum: ["usage", "entry", "off", "ua"]
197
87
  },
198
- disableNodePolyfill: {
199
- type: 'boolean'
200
- },
201
- enableModernMode: {
202
- type: 'boolean'
203
- }
88
+ cssModuleLocalIdentName: { type: "string" },
89
+ federation: { type: "object" },
90
+ disableNodePolyfill: { type: "boolean" }
204
91
  };
205
92
  const server = {
206
- routes: {
207
- type: 'object'
208
- },
209
- publicRoutes: {
210
- type: 'object'
211
- },
93
+ routes: { type: "object" },
94
+ publicRoutes: { type: "object" },
212
95
  ssr: {
213
- type: ['boolean', 'object']
214
- },
215
- ssrByEntries: {
216
- type: 'object'
96
+ type: ["boolean", "object"]
217
97
  },
98
+ ssrByEntries: { type: "object" },
218
99
  baseUrl: {
219
- anyOf: [{
220
- type: 'string'
221
- }, {
222
- type: 'array',
223
- items: {
224
- type: 'string'
100
+ anyOf: [
101
+ {
102
+ type: "string"
103
+ },
104
+ {
105
+ type: "array",
106
+ items: {
107
+ type: "string"
108
+ }
225
109
  }
226
- }]
227
- },
228
- port: {
229
- type: 'number'
230
- },
231
- logger: {
232
- type: ['boolean', 'object']
233
- },
234
- metrics: {
235
- type: ['boolean', 'object']
236
- },
237
- enableMicroFrontendDebug: {
238
- type: 'boolean'
239
- },
240
- watchOptions: {
241
- type: 'object'
242
- },
243
- compiler: {
244
- type: 'string'
245
- },
246
- disableFrameworkExt: {
247
- type: 'boolean'
248
- }
110
+ ]
111
+ },
112
+ port: { type: "number" },
113
+ logger: { type: ["boolean", "object"] },
114
+ metrics: { type: ["boolean", "object"] },
115
+ enableMicroFrontendDebug: { type: "boolean" },
116
+ watchOptions: { type: "object" },
117
+ compiler: { type: "string" },
118
+ disableFrameworkExt: { type: "boolean" }
249
119
  };
250
120
  const dev = {
251
121
  proxy: {
252
- type: ['boolean', 'object']
122
+ type: ["boolean", "object"]
253
123
  }
254
124
  };
255
125
  const deploy = {
256
- microFrontend: {
257
- type: ['boolean', 'object']
258
- }
126
+ microFrontend: { type: ["boolean", "object"] }
259
127
  };
260
128
  const tools = {
261
- tailwindcss: {
262
- type: 'object'
263
- },
264
- jest: {
265
- typeof: ['object', 'function']
266
- },
267
- esbuild: {
268
- typeof: ['object']
269
- }
129
+ tailwindcss: { type: "object" },
130
+ jest: { typeof: ["object", "function"] },
131
+ esbuild: { typeof: ["object"] }
270
132
  };
271
133
  const bff = {
272
134
  prefix: {
273
- type: 'string'
135
+ type: "string"
274
136
  },
275
137
  proxy: {
276
- type: 'object',
138
+ type: "object",
277
139
  additionalProperties: {
278
- type: 'string'
140
+ type: "string"
279
141
  }
280
142
  }
281
143
  };
282
144
  const schema = new Schema();
283
- schema.setSchema('bff', bff).setSchema('dev', dev).setSchema('server', server).setSchema('source', source).setSchema('output', output).setSchema('tools', tools).setSchema('deploy', deploy);
284
- export default schema;
145
+ schema.setSchema("bff", bff).setSchema("dev", dev).setSchema("server", server).setSchema("source", source).setSchema("output", output).setSchema("tools", tools).setSchema("deploy", deploy);
146
+ var legacy_default = schema;
147
+ export {
148
+ legacy_default as default
149
+ };
@@ -1,2 +1 @@
1
1
  export * from "./output";
2
- export {};
@@ -1,4 +1,3 @@
1
1
  export * from "./hooks";
2
2
  export * from "./config";
3
3
  export * from "./legacyConfig";
4
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +1,13 @@
1
- export const getCommand = () => {
1
+ const getCommand = () => {
2
2
  const args = process.argv.slice(2);
3
3
  const command = args[0];
4
4
  return command;
5
- };
5
+ };
6
+ const isDevCommand = () => {
7
+ const command = getCommand();
8
+ return command === "dev" || command === "start";
9
+ };
10
+ export {
11
+ getCommand,
12
+ isDevCommand
13
+ };
@@ -1,67 +1,128 @@
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 { bundle } from '@modern-js/node-bundle-require';
6
- import { CONFIG_FILE_EXTENSIONS, fs, getServerConfig, OUTPUT_CONFIG_FILE } from '@modern-js/utils';
7
- export const defineServerConfig = config => config;
8
- export const buildServerConfig = async ({
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 { bundle } from "@modern-js/node-bundle-require";
42
+ import {
43
+ CONFIG_FILE_EXTENSIONS,
44
+ fs,
45
+ getServerConfig,
46
+ OUTPUT_CONFIG_FILE
47
+ } from "@modern-js/utils";
48
+ const defineServerConfig = (config) => config;
49
+ const buildServerConfig = (_0) => __async(void 0, [_0], function* ({
9
50
  appDirectory,
10
51
  distDirectory,
11
52
  configFile,
12
53
  options
13
- }) => {
14
- const configFilePath = await getServerConfig(appDirectory, configFile);
15
- const getOutputFile = async filepath => path.resolve(distDirectory, `${filepath.replace(new RegExp(CONFIG_FILE_EXTENSIONS.join('|')), '')}.js`);
54
+ }) {
55
+ const configFilePath = yield getServerConfig(appDirectory, configFile);
56
+ const getOutputFile = (filepath) => __async(void 0, null, function* () {
57
+ return path.resolve(
58
+ distDirectory,
59
+ `${filepath.replace(
60
+ new RegExp(CONFIG_FILE_EXTENSIONS.join("|")),
61
+ ""
62
+ )}.js`
63
+ );
64
+ });
16
65
  if (configFilePath) {
17
- const configHelperFilePath = path.normalize(path.join(distDirectory, './config-helper.js'));
66
+ const configHelperFilePath = path.normalize(
67
+ path.join(distDirectory, "./config-helper.js")
68
+ );
18
69
  const helperCode = `
19
70
  export const defineConfig = (config) => config;
20
71
  `;
21
- await fs.ensureDir(distDirectory);
22
- await fs.writeFile(configHelperFilePath, helperCode);
23
- await bundle(configFilePath, _objectSpread(_objectSpread({}, options), {}, {
72
+ yield fs.ensureDir(distDirectory);
73
+ yield fs.writeFile(configHelperFilePath, helperCode);
74
+ yield bundle(configFilePath, __spreadProps(__spreadValues({}, options), {
24
75
  getOutputFile,
25
- esbuildPlugins: [{
26
- name: 'native-build-config',
27
- setup(ctx) {
28
- ctx.onResolve({
29
- filter: /app-tools\/server/
30
- }, () => {
31
- return {
32
- path: configHelperFilePath
33
- };
34
- });
76
+ esbuildPlugins: [
77
+ {
78
+ name: "native-build-config",
79
+ setup(ctx) {
80
+ ctx.onResolve(
81
+ {
82
+ filter: /app-tools\/server/
83
+ },
84
+ () => {
85
+ return {
86
+ path: configHelperFilePath
87
+ };
88
+ }
89
+ );
90
+ }
35
91
  }
36
- }]
92
+ ]
37
93
  }));
38
94
  }
39
- };
40
-
41
- /**
42
- *
43
- * 处理循环引用的 replacer
44
- */
45
- export const safeReplacer = () => {
95
+ });
96
+ const safeReplacer = () => {
46
97
  const cache = [];
47
98
  const keyCache = [];
48
- return function (key, value) {
49
- if (typeof value === 'object' && value !== null) {
99
+ return function(key, value) {
100
+ if (typeof value === "object" && value !== null) {
50
101
  const index = cache.indexOf(value);
51
102
  if (index !== -1) {
52
103
  return `[Circular ${keyCache[index]}]`;
53
104
  }
54
105
  cache.push(value);
55
- keyCache.push(key || 'root');
106
+ keyCache.push(key || "root");
56
107
  }
57
108
  return value;
58
109
  };
59
110
  };
60
- export const emitResolvedConfig = async (appDirectory, resolvedConfig) => {
61
- var _resolvedConfig$outpu;
62
- const outputPath = path.join(appDirectory, ((_resolvedConfig$outpu = resolvedConfig.output.distPath) === null || _resolvedConfig$outpu === void 0 ? void 0 : _resolvedConfig$outpu.root) || './dist', OUTPUT_CONFIG_FILE);
63
- await fs.writeJSON(outputPath, resolvedConfig, {
111
+ const emitResolvedConfig = (appDirectory, resolvedConfig) => __async(void 0, null, function* () {
112
+ var _a;
113
+ const outputPath = path.join(
114
+ appDirectory,
115
+ ((_a = resolvedConfig.output.distPath) == null ? void 0 : _a.root) || "./dist",
116
+ OUTPUT_CONFIG_FILE
117
+ );
118
+ yield fs.writeJSON(outputPath, resolvedConfig, {
64
119
  spaces: 2,
65
120
  replacer: safeReplacer()
66
121
  });
67
- };
122
+ });
123
+ export {
124
+ buildServerConfig,
125
+ defineServerConfig,
126
+ emitResolvedConfig,
127
+ safeReplacer
128
+ };