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

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 (220) hide show
  1. package/CHANGELOG.md +194 -0
  2. package/dist/js/modern/analyze/generateCode.js +1 -1
  3. package/dist/js/modern/analyze/getBundleEntry.js +1 -1
  4. package/dist/js/modern/analyze/getFileSystemEntry.js +1 -1
  5. package/dist/js/modern/analyze/getHtmlTemplate.js +1 -1
  6. package/dist/js/modern/analyze/getServerRoutes.js +10 -6
  7. package/dist/js/modern/analyze/index.js +12 -27
  8. package/dist/js/modern/builder/builderPlugins/compatModern.js +12 -11
  9. package/dist/js/modern/builder/index.js +33 -16
  10. package/dist/js/modern/builder/share.js +1 -1
  11. package/dist/js/modern/commands/build.js +8 -2
  12. package/dist/js/modern/commands/dev.js +18 -9
  13. package/dist/js/modern/commands/inspect.js +4 -2
  14. package/dist/js/modern/commands/start.js +1 -0
  15. package/dist/js/modern/config/default.js +207 -0
  16. package/dist/js/modern/config/index.js +2 -0
  17. package/dist/js/modern/config/initial/createHtmlConfig.js +32 -0
  18. package/dist/js/modern/{builder → config/initial}/createOutputConfig.js +14 -16
  19. package/dist/js/modern/config/initial/createSourceConfig.js +32 -0
  20. package/dist/js/modern/config/initial/createToolsConfig.js +41 -0
  21. package/dist/js/modern/config/initial/index.js +11 -0
  22. package/dist/js/modern/config/initial/inits.js +117 -0
  23. package/dist/js/modern/config/initial/transformNormalizedConfig.js +40 -0
  24. package/dist/js/modern/defineConfig.js +12 -0
  25. package/dist/js/modern/hooks.js +23 -19
  26. package/dist/js/modern/index.js +7 -5
  27. package/dist/js/modern/initialize/index.js +72 -0
  28. package/dist/js/modern/schema/Schema.js +39 -0
  29. package/dist/js/modern/schema/index.js +139 -0
  30. package/dist/js/modern/schema/legacy.js +284 -0
  31. package/dist/js/modern/types/config/deploy.js +0 -0
  32. package/dist/js/modern/types/config/dev.js +0 -0
  33. package/dist/js/modern/types/config/experiments.js +0 -0
  34. package/dist/js/modern/types/config/html.js +0 -0
  35. package/dist/js/modern/types/config/index.js +2 -0
  36. package/dist/js/modern/types/config/output.js +0 -0
  37. package/dist/js/modern/types/config/performance.js +0 -0
  38. package/dist/js/modern/types/config/security.js +0 -0
  39. package/dist/js/modern/types/config/source.js +0 -0
  40. package/dist/js/modern/types/config/tools.js +0 -0
  41. package/dist/js/modern/types/hooks.js +0 -0
  42. package/dist/js/modern/types/index.js +4 -0
  43. package/dist/js/modern/types/legacyConfig/deploy.js +0 -0
  44. package/dist/js/modern/types/legacyConfig/dev.js +0 -0
  45. package/dist/js/modern/types/legacyConfig/index.js +0 -0
  46. package/dist/js/modern/types/legacyConfig/output.js +1 -0
  47. package/dist/js/modern/types/legacyConfig/source.js +0 -0
  48. package/dist/js/modern/types/legacyConfig/tools.js +0 -0
  49. package/dist/js/modern/utils/config.js +1 -1
  50. package/dist/js/modern/utils/createFileWatcher.js +82 -0
  51. package/dist/js/modern/utils/restart.js +17 -0
  52. package/dist/js/node/analyze/generateCode.js +1 -1
  53. package/dist/js/node/analyze/getBundleEntry.js +1 -1
  54. package/dist/js/node/analyze/getFileSystemEntry.js +1 -1
  55. package/dist/js/node/analyze/getHtmlTemplate.js +1 -1
  56. package/dist/js/node/analyze/getServerRoutes.js +10 -6
  57. package/dist/js/node/analyze/index.js +13 -39
  58. package/dist/js/node/builder/builderPlugins/compatModern.js +12 -11
  59. package/dist/js/node/builder/index.js +34 -16
  60. package/dist/js/node/builder/share.js +1 -1
  61. package/dist/js/node/commands/build.js +8 -2
  62. package/dist/js/node/commands/dev.js +18 -9
  63. package/dist/js/node/commands/inspect.js +4 -2
  64. package/dist/js/node/commands/start.js +1 -0
  65. package/dist/js/node/config/default.js +214 -0
  66. package/dist/js/node/config/index.js +31 -0
  67. package/dist/js/node/config/initial/createHtmlConfig.js +38 -0
  68. package/dist/js/node/{builder → config/initial}/createOutputConfig.js +14 -16
  69. package/dist/js/node/config/initial/createSourceConfig.js +38 -0
  70. package/dist/js/node/config/initial/createToolsConfig.js +47 -0
  71. package/dist/js/node/config/initial/index.js +24 -0
  72. package/dist/js/node/config/initial/inits.js +127 -0
  73. package/dist/js/node/config/initial/transformNormalizedConfig.js +46 -0
  74. package/dist/js/node/defineConfig.js +20 -0
  75. package/dist/js/node/hooks.js +23 -28
  76. package/dist/js/node/index.js +30 -16
  77. package/dist/js/node/initialize/index.js +79 -0
  78. package/dist/js/node/schema/Schema.js +46 -0
  79. package/dist/js/node/schema/index.js +152 -0
  80. package/dist/js/node/schema/legacy.js +291 -0
  81. package/dist/js/node/types/config/deploy.js +0 -0
  82. package/dist/js/node/types/config/dev.js +0 -0
  83. package/dist/js/node/types/config/experiments.js +0 -0
  84. package/dist/js/node/types/config/html.js +0 -0
  85. package/dist/js/node/types/config/index.js +16 -0
  86. package/dist/js/node/types/config/output.js +0 -0
  87. package/dist/js/node/types/config/performance.js +0 -0
  88. package/dist/js/node/types/config/security.js +0 -0
  89. package/dist/js/node/types/config/source.js +0 -0
  90. package/dist/js/node/types/config/tools.js +0 -0
  91. package/dist/js/node/types/hooks.js +0 -0
  92. package/dist/js/node/types/index.js +38 -0
  93. package/dist/js/node/types/legacyConfig/deploy.js +0 -0
  94. package/dist/js/node/types/legacyConfig/dev.js +0 -0
  95. package/dist/js/node/types/legacyConfig/index.js +0 -0
  96. package/dist/js/node/types/legacyConfig/output.js +5 -0
  97. package/dist/js/node/types/legacyConfig/source.js +0 -0
  98. package/dist/js/node/types/legacyConfig/tools.js +0 -0
  99. package/dist/js/node/utils/config.js +1 -1
  100. package/dist/js/node/utils/createFileWatcher.js +90 -0
  101. package/dist/js/node/utils/restart.js +23 -0
  102. package/dist/js/treeshaking/analyze/generateCode.js +1 -1
  103. package/dist/js/treeshaking/analyze/getBundleEntry.js +1 -1
  104. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +1 -1
  105. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +1 -1
  106. package/dist/js/treeshaking/analyze/getServerRoutes.js +8 -7
  107. package/dist/js/treeshaking/analyze/index.js +10 -26
  108. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +12 -11
  109. package/dist/js/treeshaking/builder/index.js +31 -16
  110. package/dist/js/treeshaking/builder/share.js +1 -1
  111. package/dist/js/treeshaking/commands/build.js +33 -23
  112. package/dist/js/treeshaking/commands/dev.js +36 -22
  113. package/dist/js/treeshaking/commands/inspect.js +8 -3
  114. package/dist/js/treeshaking/commands/start.js +1 -0
  115. package/dist/js/treeshaking/config/default.js +200 -0
  116. package/dist/js/treeshaking/config/index.js +2 -0
  117. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +31 -0
  118. package/dist/js/treeshaking/config/initial/createOutputConfig.js +67 -0
  119. package/dist/js/treeshaking/config/initial/createSourceConfig.js +41 -0
  120. package/dist/js/treeshaking/config/initial/createToolsConfig.js +38 -0
  121. package/dist/js/treeshaking/config/initial/index.js +11 -0
  122. package/dist/js/treeshaking/config/initial/inits.js +114 -0
  123. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +38 -0
  124. package/dist/js/treeshaking/defineConfig.js +14 -0
  125. package/dist/js/treeshaking/hooks.js +23 -19
  126. package/dist/js/treeshaking/index.js +7 -5
  127. package/dist/js/treeshaking/initialize/index.js +121 -0
  128. package/dist/js/treeshaking/schema/Schema.js +75 -0
  129. package/dist/js/treeshaking/schema/index.js +138 -0
  130. package/dist/js/treeshaking/schema/legacy.js +273 -0
  131. package/dist/js/treeshaking/types/config/deploy.js +0 -0
  132. package/dist/js/treeshaking/types/config/dev.js +0 -0
  133. package/dist/js/treeshaking/types/config/experiments.js +0 -0
  134. package/dist/js/treeshaking/types/config/html.js +0 -0
  135. package/dist/js/treeshaking/types/config/index.js +2 -0
  136. package/dist/js/treeshaking/types/config/output.js +0 -0
  137. package/dist/js/treeshaking/types/config/performance.js +0 -0
  138. package/dist/js/treeshaking/types/config/security.js +0 -0
  139. package/dist/js/treeshaking/types/config/source.js +0 -0
  140. package/dist/js/treeshaking/types/config/tools.js +0 -0
  141. package/dist/js/treeshaking/types/hooks.js +0 -0
  142. package/dist/js/treeshaking/types/index.js +4 -0
  143. package/dist/js/treeshaking/types/legacyConfig/deploy.js +0 -0
  144. package/dist/js/treeshaking/types/legacyConfig/dev.js +0 -0
  145. package/dist/js/treeshaking/types/legacyConfig/index.js +0 -0
  146. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -0
  147. package/dist/js/treeshaking/types/legacyConfig/source.js +0 -0
  148. package/dist/js/treeshaking/types/legacyConfig/tools.js +0 -0
  149. package/dist/js/treeshaking/utils/config.js +1 -1
  150. package/dist/js/treeshaking/utils/createFileWatcher.js +123 -0
  151. package/dist/js/treeshaking/utils/restart.js +45 -0
  152. package/dist/types/analyze/generateCode.d.ts +3 -2
  153. package/dist/types/analyze/getBundleEntry.d.ts +2 -2
  154. package/dist/types/analyze/getFileSystemEntry.d.ts +2 -2
  155. package/dist/types/analyze/getHtmlTemplate.d.ts +3 -3
  156. package/dist/types/analyze/getServerRoutes.d.ts +3 -2
  157. package/dist/types/analyze/index.d.ts +3 -41
  158. package/dist/types/analyze/templates.d.ts +1 -1
  159. package/dist/types/analyze/utils.d.ts +1 -1
  160. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -2
  161. package/dist/types/builder/index.d.ts +5 -2
  162. package/dist/types/builder/share.d.ts +2 -2
  163. package/dist/types/commands/build.d.ts +2 -2
  164. package/dist/types/commands/deploy.d.ts +2 -2
  165. package/dist/types/commands/dev.d.ts +2 -2
  166. package/dist/types/commands/inspect.d.ts +9 -1
  167. package/dist/types/commands/start.d.ts +2 -2
  168. package/dist/types/config/default.d.ts +3 -0
  169. package/dist/types/config/index.d.ts +2 -0
  170. package/dist/types/config/initial/createHtmlConfig.d.ts +2 -0
  171. package/dist/types/config/initial/createOutputConfig.d.ts +2 -0
  172. package/dist/types/config/initial/createSourceConfig.d.ts +2 -0
  173. package/dist/types/config/initial/createToolsConfig.d.ts +2 -0
  174. package/dist/types/config/initial/index.d.ts +4 -0
  175. package/dist/types/config/initial/inits.d.ts +4 -0
  176. package/dist/types/config/initial/transformNormalizedConfig.d.ts +2 -0
  177. package/dist/types/defineConfig.d.ts +7 -0
  178. package/dist/types/hooks.d.ts +2 -42
  179. package/dist/types/index.d.ts +5 -5
  180. package/dist/types/initialize/index.d.ts +3 -0
  181. package/dist/types/schema/Schema.d.ts +14 -0
  182. package/dist/types/schema/index.d.ts +4 -0
  183. package/dist/types/schema/legacy.d.ts +3 -0
  184. package/dist/types/types/config/deploy.d.ts +9 -0
  185. package/dist/types/types/config/dev.d.ts +13 -0
  186. package/dist/types/types/config/experiments.d.ts +4 -0
  187. package/dist/types/types/config/html.d.ts +4 -0
  188. package/dist/types/types/config/index.d.ts +62 -0
  189. package/dist/types/types/config/output.d.ts +23 -0
  190. package/dist/types/types/config/performance.d.ts +4 -0
  191. package/dist/types/types/config/security.d.ts +4 -0
  192. package/dist/types/types/config/source.d.ts +22 -0
  193. package/dist/types/types/config/tools.d.ts +15 -0
  194. package/dist/types/types/hooks.d.ts +80 -0
  195. package/dist/types/types/index.d.ts +23 -0
  196. package/dist/types/types/legacyConfig/deploy.d.ts +8 -0
  197. package/dist/types/types/legacyConfig/dev.d.ts +12 -0
  198. package/dist/types/types/legacyConfig/index.d.ts +33 -0
  199. package/dist/types/types/legacyConfig/output.d.ts +51 -0
  200. package/dist/types/types/legacyConfig/source.d.ts +25 -0
  201. package/dist/types/types/legacyConfig/tools.d.ts +16 -0
  202. package/dist/types/utils/config.d.ts +2 -2
  203. package/dist/types/utils/createFileWatcher.d.ts +3 -0
  204. package/dist/types/utils/printInstructions.d.ts +3 -3
  205. package/dist/types/utils/restart.d.ts +3 -0
  206. package/package.json +24 -24
  207. package/dist/js/modern/builder/createHtmlConfig.js +0 -58
  208. package/dist/js/modern/builder/createSourceConfig.js +0 -74
  209. package/dist/js/modern/builder/createToolsConfig.js +0 -87
  210. package/dist/js/node/builder/createHtmlConfig.js +0 -68
  211. package/dist/js/node/builder/createSourceConfig.js +0 -82
  212. package/dist/js/node/builder/createToolsConfig.js +0 -94
  213. package/dist/js/treeshaking/builder/createHtmlConfig.js +0 -59
  214. package/dist/js/treeshaking/builder/createOutputConfig.js +0 -70
  215. package/dist/js/treeshaking/builder/createSourceConfig.js +0 -88
  216. package/dist/js/treeshaking/builder/createToolsConfig.js +0 -85
  217. package/dist/types/builder/createHtmlConfig.d.ts +0 -6
  218. package/dist/types/builder/createOutputConfig.d.ts +0 -3
  219. package/dist/types/builder/createSourceConfig.d.ts +0 -5
  220. package/dist/types/builder/createToolsConfig.d.ts +0 -13
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "checkIsLegacyConfig", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _initial.checkIsLegacyConfig;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "createDefaultConfig", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _default.createDefaultConfig;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "createLegacyDefaultConfig", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _default.createLegacyDefaultConfig;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "initialNormalizedConfig", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _initial.initialNormalizedConfig;
28
+ }
29
+ });
30
+ var _default = require("./default");
31
+ var _initial = require("./initial");
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createHtmlConfig = createHtmlConfig;
7
+ function createHtmlConfig(config) {
8
+ const {
9
+ disableHtmlFolder,
10
+ favicon,
11
+ faviconByEntries,
12
+ inject,
13
+ injectByEntries,
14
+ meta,
15
+ metaByEntries,
16
+ mountId,
17
+ title,
18
+ titleByEntries,
19
+ templateParameters,
20
+ templateParametersByEntries,
21
+ crossorigin
22
+ } = config.output;
23
+ return {
24
+ disableHtmlFolder,
25
+ favicon,
26
+ faviconByEntries,
27
+ inject,
28
+ injectByEntries,
29
+ meta,
30
+ metaByEntries,
31
+ mountId,
32
+ title,
33
+ titleByEntries,
34
+ crossorigin,
35
+ templateParameters,
36
+ templateParametersByEntries
37
+ };
38
+ }
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createOutputConfig = createOutputConfig;
7
- var _share = require("./share");
8
- function createOutputConfig(normalizedConfig, appContext) {
9
- // TODO: add `externals` options in Modern.
10
-
7
+ function createOutputConfig(config) {
11
8
  const {
12
9
  assetPrefix,
13
10
  copy,
@@ -16,8 +13,10 @@ function createOutputConfig(normalizedConfig, appContext) {
16
13
  jsPath,
17
14
  htmlPath,
18
15
  mediaPath,
16
+ enableTsLoader,
19
17
  path,
20
18
  disableInlineRuntimeChunk,
19
+ disableCssExtract,
21
20
  disableMinimize,
22
21
  disableSourceMap,
23
22
  disableTsChecker,
@@ -28,13 +27,14 @@ function createOutputConfig(normalizedConfig, appContext) {
28
27
  dataUriLimit,
29
28
  disableAssetsCache,
30
29
  enableLatestDecorators,
31
- disableCssModuleExtension
32
- } = normalizedConfig.output;
33
- const defaultCopyPattern = (0, _share.createCopyPattern)(appContext, normalizedConfig, 'upload');
34
- const builderCopy = copy ? [...copy, defaultCopyPattern] : [defaultCopyPattern];
30
+ disableCssModuleExtension,
31
+ ssg,
32
+ enableModernMode,
33
+ disableNodePolyfill
34
+ } = config.output;
35
35
  return {
36
36
  assetPrefix,
37
- copy: builderCopy,
37
+ copy,
38
38
  distPath: {
39
39
  root: path,
40
40
  css: cssPath,
@@ -52,25 +52,23 @@ function createOutputConfig(normalizedConfig, appContext) {
52
52
  font: dataUriLimit,
53
53
  media: dataUriLimit
54
54
  },
55
+ disableCssExtract,
55
56
  disableCssModuleExtension,
56
57
  disableInlineRuntimeChunk,
57
58
  disableMinimize,
58
59
  disableSourceMap,
59
- disableTsChecker,
60
+ disableTsChecker: disableTsChecker || enableTsLoader,
60
61
  enableCssModuleTSDeclaration,
61
62
  enableInlineScripts,
62
63
  enableInlineStyles,
63
64
  polyfill,
64
- // We need to do this in the app-tools prepare hook because some files will be generated into the dist directory in the analyze process
65
- cleanDistPath: false,
66
65
  disableFilenameHash: disableAssetsCache,
67
66
  enableLatestDecorators,
68
67
  filename: {
69
68
  css: cssModuleLocalIdentName
70
69
  },
71
- // `@modern-js/webpack` used to generate asset manifest by default
72
- enableAssetManifest: true,
73
- // compatible the modern-js with fallback behavior
74
- enableAssetFallback: true
70
+ ssg,
71
+ enableModernMode,
72
+ disableNodePolyfill
75
73
  };
76
74
  }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSourceConfig = createSourceConfig;
7
+ function createSourceConfig(config) {
8
+ const {
9
+ alias,
10
+ envVars,
11
+ globalVars,
12
+ include,
13
+ moduleScopes,
14
+ preEntry,
15
+ entries,
16
+ enableAsyncEntry,
17
+ disableDefaultEntries,
18
+ entriesDir,
19
+ configDir
20
+ } = config.source;
21
+ const builderGlobalVars = globalVars || {};
22
+ for (const envVar of envVars || []) {
23
+ const envVarValue = process.env[envVar];
24
+ envVarValue && (builderGlobalVars[`process.env.${envVar}`] = envVarValue);
25
+ }
26
+ return {
27
+ alias,
28
+ moduleScopes,
29
+ globalVars: builderGlobalVars,
30
+ include,
31
+ preEntry,
32
+ entries,
33
+ enableAsyncEntry,
34
+ disableDefaultEntries,
35
+ entriesDir,
36
+ configDir
37
+ };
38
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createToolsConfig = createToolsConfig;
7
+ function createToolsConfig(config) {
8
+ const {
9
+ autoprefixer,
10
+ babel,
11
+ minifyCss,
12
+ terser,
13
+ webpack,
14
+ webpackChain,
15
+ tsLoader,
16
+ styledComponents,
17
+ sass,
18
+ postcss,
19
+ less,
20
+ htmlPlugin,
21
+ devServer,
22
+ tailwindcss,
23
+ jest,
24
+ esbuild
25
+ } = config.tools;
26
+ const {
27
+ enableTsLoader
28
+ } = config.output;
29
+ return {
30
+ tsLoader: enableTsLoader ? tsLoader : undefined,
31
+ autoprefixer,
32
+ babel,
33
+ minifyCss,
34
+ terser,
35
+ webpack,
36
+ webpackChain,
37
+ styledComponents,
38
+ sass,
39
+ postcss,
40
+ less,
41
+ htmlPlugin,
42
+ devServer,
43
+ tailwindcss,
44
+ jest,
45
+ esbuild
46
+ };
47
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.checkIsLegacyConfig = checkIsLegacyConfig;
7
+ exports.initialNormalizedConfig = initialNormalizedConfig;
8
+ Object.defineProperty(exports, "transformNormalizedConfig", {
9
+ enumerable: true,
10
+ get: function () {
11
+ return _transformNormalizedConfig.transformNormalizedConfig;
12
+ }
13
+ });
14
+ var _inits = require("./inits");
15
+ var _transformNormalizedConfig = require("./transformNormalizedConfig");
16
+ function checkIsLegacyConfig(config) {
17
+ return Boolean(config.legacy);
18
+ }
19
+ function initialNormalizedConfig(config, appContext) {
20
+ (0, _inits.initHtmlConfig)(config, appContext);
21
+ (0, _inits.initSourceConfig)(config, appContext);
22
+ (0, _inits.initToolsConfig)(config);
23
+ return config;
24
+ }
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.initHtmlConfig = initHtmlConfig;
7
+ exports.initSourceConfig = initSourceConfig;
8
+ exports.initToolsConfig = initToolsConfig;
9
+ var _path = _interopRequireWildcard(require("path"));
10
+ var _utils = require("@modern-js/utils");
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ 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; }
14
+ 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; }
15
+ 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; }
16
+ function initHtmlConfig(config, appContext) {
17
+ const ICON_EXTENSIONS = ['png', 'jpg', 'jpeg', 'svg', 'ico'];
18
+ config.html.appIcon = createBuilderAppIcon(config, appContext);
19
+ config.html.favicon = createBuilderFavicon(config, appContext);
20
+ return config.html;
21
+ function createBuilderAppIcon(config, appContext) {
22
+ const {
23
+ configDir
24
+ } = config.source;
25
+ const appIcon = (0, _utils.findExists)(ICON_EXTENSIONS.map(ext => _path.default.resolve(appContext.appDirectory, configDir || './config', `icon.${ext}`)));
26
+ return typeof appIcon === 'string' ? appIcon : undefined;
27
+ }
28
+ function createBuilderFavicon(config, appContext) {
29
+ const {
30
+ configDir
31
+ } = config.source;
32
+ const {
33
+ favicon
34
+ } = config.html;
35
+ const defaultFavicon = (0, _utils.findExists)(ICON_EXTENSIONS.map(ext => _path.default.resolve(appContext.appDirectory, configDir || './config', `favicon.${ext}`)));
36
+ return favicon || defaultFavicon || undefined;
37
+ }
38
+ }
39
+ function initSourceConfig(config, appContext) {
40
+ config.source.include = createBuilderInclude(config, appContext);
41
+ config.source.moduleScopes = createBuilderModuleScope(config);
42
+ function createBuilderInclude(config, appContext) {
43
+ const {
44
+ include
45
+ } = config.source;
46
+ const defaultInclude = [appContext.internalDirectory];
47
+ const transformInclude = (include || []).map(include => {
48
+ if (typeof include === 'string') {
49
+ if ((0, _path.isAbsolute)(include)) {
50
+ return include;
51
+ }
52
+ return new RegExp(include);
53
+ }
54
+ return include;
55
+ }).concat(defaultInclude); // concat default Include
56
+
57
+ const root = (0, _utils.findMonorepoRoot)(appContext.appDirectory);
58
+ if (!root) {
59
+ return transformInclude;
60
+ }
61
+ const modernjsMonorepo = (0, _utils.isModernjsMonorepo)(root);
62
+ if (modernjsMonorepo) {
63
+ const paths = _utils.globby.sync(_path.posix.join(root, 'features', '**', 'package.json'), {
64
+ ignore: ['**/node_modules/**/*']
65
+ }).map(pathname => (0, _path.dirname)(pathname) + _path.sep);
66
+ return [...paths, ...transformInclude];
67
+ }
68
+ return transformInclude;
69
+ }
70
+ function createBuilderModuleScope(config) {
71
+ const {
72
+ moduleScopes
73
+ } = config.source;
74
+ if (moduleScopes) {
75
+ let builderModuleScope = [];
76
+ const DEFAULT_SCOPES = ['./src', './shared', /node_modules/];
77
+ if (Array.isArray(moduleScopes)) {
78
+ if (isPrimitiveScope(moduleScopes)) {
79
+ builderModuleScope = DEFAULT_SCOPES.concat(moduleScopes);
80
+ } else {
81
+ builderModuleScope = [DEFAULT_SCOPES, ...moduleScopes];
82
+ }
83
+ } else {
84
+ builderModuleScope = [DEFAULT_SCOPES, moduleScopes];
85
+ }
86
+ return builderModuleScope;
87
+ } else {
88
+ return undefined;
89
+ }
90
+ function isPrimitiveScope(items) {
91
+ return items.every(item => typeof item === 'string' || Object.prototype.toString.call(item) === '[object RegExp]');
92
+ }
93
+ }
94
+ }
95
+ function initToolsConfig(config) {
96
+ const defaultTsChecker = {
97
+ issue: {
98
+ include: [{
99
+ file: '**/src/**/*'
100
+ }],
101
+ exclude: [{
102
+ file: '**/*.(spec|test).ts'
103
+ }, {
104
+ file: '**/node_modules/**/*'
105
+ }]
106
+ }
107
+ };
108
+ const {
109
+ tsChecker,
110
+ tsLoader,
111
+ htmlPlugin
112
+ } = config.tools;
113
+ config.tools.tsChecker = (0, _utils.applyOptionsChain)(defaultTsChecker, tsChecker);
114
+ tsLoader && (config.tools.tsLoader = (tsLoaderConfig, utils) => {
115
+ (0, _utils.applyOptionsChain)(_objectSpread(_objectSpread({}, tsLoaderConfig), {}, {
116
+ transpileOnly: false,
117
+ allowTsInNodeModules: true
118
+ }), tsLoader || {}, utils);
119
+ });
120
+ config.tools.htmlPlugin = [config => _objectSpread(_objectSpread({}, config), {}, {
121
+ minify: typeof config.minify === 'object' ? _objectSpread(_objectSpread({}, config.minify), {}, {
122
+ removeComments: false
123
+ }) : config.minify
124
+ }),
125
+ // eslint-disable-next-line no-nested-ternary
126
+ ...(Array.isArray(htmlPlugin) ? htmlPlugin : htmlPlugin ? [htmlPlugin] : [])];
127
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.transformNormalizedConfig = transformNormalizedConfig;
7
+ var _createToolsConfig = require("./createToolsConfig");
8
+ var _createSourceConfig = require("./createSourceConfig");
9
+ var _createOutputConfig = require("./createOutputConfig");
10
+ var _createHtmlConfig = require("./createHtmlConfig");
11
+ function transformNormalizedConfig(config) {
12
+ const html = (0, _createHtmlConfig.createHtmlConfig)(config);
13
+ const output = (0, _createOutputConfig.createOutputConfig)(config);
14
+ const source = (0, _createSourceConfig.createSourceConfig)(config);
15
+ const tools = (0, _createToolsConfig.createToolsConfig)(config);
16
+ const {
17
+ bff,
18
+ dev,
19
+ deploy,
20
+ runtime,
21
+ runtimeByEntries,
22
+ server,
23
+ cliOptions,
24
+ plugins,
25
+ testing
26
+ } = config;
27
+ return {
28
+ source,
29
+ html,
30
+ output,
31
+ tools,
32
+ bff,
33
+ dev,
34
+ deploy,
35
+ runtime,
36
+ runtimeByEntries,
37
+ server,
38
+ cliOptions,
39
+ testing,
40
+ plugins: plugins,
41
+ security: {},
42
+ _raw: {},
43
+ experiments: {},
44
+ performance: {}
45
+ };
46
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defineLegacyConfig = exports.defineConfig = void 0;
7
+ 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; }
8
+ 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; }
9
+ 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; }
10
+ const defineConfig = config => config;
11
+
12
+ /**
13
+ * @deprecated
14
+ * Using defineConfig first.
15
+ */
16
+ exports.defineConfig = defineConfig;
17
+ const defineLegacyConfig = config => _objectSpread(_objectSpread({}, config), {}, {
18
+ legacy: true
19
+ });
20
+ exports.defineLegacyConfig = defineLegacyConfig;
@@ -3,35 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.hooks = exports.beforePrintInstructions = exports.beforeDev = exports.beforeDeploy = exports.beforeCreateCompiler = exports.beforeBuild = exports.afterDev = exports.afterDeploy = exports.afterCreateCompiler = exports.afterBuild = void 0;
6
+ exports.hooks = void 0;
7
7
  var _plugin = require("@modern-js/plugin");
8
- const beforeDev = (0, _plugin.createAsyncWorkflow)();
9
- exports.beforeDev = beforeDev;
10
- const afterDev = (0, _plugin.createAsyncWorkflow)();
11
- exports.afterDev = afterDev;
12
- const beforeCreateCompiler = (0, _plugin.createAsyncWorkflow)();
13
- exports.beforeCreateCompiler = beforeCreateCompiler;
14
- const afterCreateCompiler = (0, _plugin.createAsyncWorkflow)();
15
- exports.afterCreateCompiler = afterCreateCompiler;
16
- const beforePrintInstructions = (0, _plugin.createAsyncWaterfall)();
17
- exports.beforePrintInstructions = beforePrintInstructions;
18
- const beforeBuild = (0, _plugin.createAsyncWorkflow)();
19
- exports.beforeBuild = beforeBuild;
20
- const afterBuild = (0, _plugin.createAsyncWorkflow)();
21
- exports.afterBuild = afterBuild;
22
- const beforeDeploy = (0, _plugin.createAsyncWorkflow)();
23
- exports.beforeDeploy = beforeDeploy;
24
- const afterDeploy = (0, _plugin.createAsyncWorkflow)();
25
- exports.afterDeploy = afterDeploy;
26
8
  const hooks = {
27
- beforeDev,
28
- afterDev,
29
- beforeCreateCompiler,
30
- afterCreateCompiler,
31
- beforePrintInstructions,
32
- beforeBuild,
33
- afterBuild,
34
- beforeDeploy,
35
- afterDeploy
9
+ modifyEntryExport: (0, _plugin.createAsyncWaterfall)(),
10
+ modifyEntryImports: (0, _plugin.createAsyncWaterfall)(),
11
+ modifyEntryRuntimePlugins: (0, _plugin.createAsyncWaterfall)(),
12
+ modifyEntryRenderFunction: (0, _plugin.createAsyncWaterfall)(),
13
+ modifyAsyncEntry: (0, _plugin.createAsyncWaterfall)(),
14
+ modifyFileSystemRoutes: (0, _plugin.createAsyncWaterfall)(),
15
+ modifyServerRoutes: (0, _plugin.createAsyncWaterfall)(),
16
+ htmlPartials: (0, _plugin.createAsyncWaterfall)(),
17
+ beforeGenerateRoutes: (0, _plugin.createAsyncWaterfall)(),
18
+ addDefineTypes: (0, _plugin.createAsyncWaterfall)(),
19
+ beforeDev: (0, _plugin.createAsyncWorkflow)(),
20
+ afterDev: (0, _plugin.createAsyncWorkflow)(),
21
+ beforeCreateCompiler: (0, _plugin.createAsyncWorkflow)(),
22
+ afterCreateCompiler: (0, _plugin.createAsyncWorkflow)(),
23
+ beforePrintInstructions: (0, _plugin.createAsyncWaterfall)(),
24
+ beforeBuild: (0, _plugin.createAsyncWorkflow)(),
25
+ afterBuild: (0, _plugin.createAsyncWorkflow)(),
26
+ beforeDeploy: (0, _plugin.createAsyncWorkflow)(),
27
+ afterDeploy: (0, _plugin.createAsyncWorkflow)(),
28
+ watchFiles: (0, _plugin.createParallelWorkflow)(),
29
+ fileChange: (0, _plugin.createAsyncWorkflow)(),
30
+ beforeRestart: (0, _plugin.createAsyncWorkflow)()
36
31
  };
37
32
  exports.hooks = hooks;
@@ -3,28 +3,42 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {};
6
7
  exports.default = void 0;
7
- Object.defineProperty(exports, "defineConfig", {
8
- enumerable: true,
9
- get: function () {
10
- return _core.defineConfig;
11
- }
12
- });
13
- Object.defineProperty(exports, "hooks", {
14
- enumerable: true,
15
- get: function () {
16
- return _hooks.hooks;
17
- }
18
- });
19
8
  var _path = _interopRequireDefault(require("path"));
20
- var _core = require("@modern-js/core");
21
9
  var _pluginLint = _interopRequireDefault(require("@modern-js/plugin-lint"));
22
10
  var _utils = require("@modern-js/utils");
23
11
  var _analyze = _interopRequireDefault(require("./analyze"));
12
+ var _initialize = _interopRequireDefault(require("./initialize"));
24
13
  var _hooks = require("./hooks");
25
14
  var _locale = require("./locale");
26
15
  var _language = require("./utils/language");
27
16
  var _commands = require("./utils/commands");
17
+ var _restart = require("./utils/restart");
18
+ var _defineConfig = require("./defineConfig");
19
+ Object.keys(_defineConfig).forEach(function (key) {
20
+ if (key === "default" || key === "__esModule") return;
21
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
22
+ if (key in exports && exports[key] === _defineConfig[key]) return;
23
+ Object.defineProperty(exports, key, {
24
+ enumerable: true,
25
+ get: function () {
26
+ return _defineConfig[key];
27
+ }
28
+ });
29
+ });
30
+ var _types = require("./types");
31
+ Object.keys(_types).forEach(function (key) {
32
+ if (key === "default" || key === "__esModule") return;
33
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
34
+ if (key in exports && exports[key] === _types[key]) return;
35
+ Object.defineProperty(exports, key, {
36
+ enumerable: true,
37
+ get: function () {
38
+ return _types[key];
39
+ }
40
+ });
41
+ });
28
42
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
43
  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; }
30
44
  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; }
@@ -34,9 +48,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
34
48
  const upgradeModel = _utils.Import.lazy('@modern-js/upgrade', require);
35
49
  var _default = () => ({
36
50
  name: '@modern-js/app-tools',
37
- post: ['@modern-js/plugin-analyze', '@modern-js/plugin-ssr', '@modern-js/plugin-document', '@modern-js/plugin-state', '@modern-js/plugin-router', '@modern-js/plugin-router-legacy', '@modern-js/plugin-polyfill'],
51
+ post: ['@modern-js/plugin-initialize', '@modern-js/plugin-analyze', '@modern-js/plugin-ssr', '@modern-js/plugin-document', '@modern-js/plugin-state', '@modern-js/plugin-router', '@modern-js/plugin-router-legacy', '@modern-js/plugin-polyfill'],
38
52
  registerHook: _hooks.hooks,
39
- usePlugins: [(0, _analyze.default)(), (0, _pluginLint.default)()],
53
+ usePlugins: [(0, _initialize.default)(), (0, _analyze.default)(), (0, _pluginLint.default)()],
40
54
  setup: api => {
41
55
  const locale = (0, _language.getLocaleLanguage)();
42
56
  _locale.i18n.changeLanguage({
@@ -119,7 +133,7 @@ var _default = () => ({
119
133
  closeServer
120
134
  } = await Promise.resolve().then(() => _interopRequireWildcard(require("./utils/createServer")));
121
135
  await closeServer();
122
- await _core.cli.restart();
136
+ await (0, _restart.restart)(api.useHookRunners());
123
137
  }
124
138
  },
125
139
  async beforeRestart() {
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("@modern-js/utils");
8
+ var _schema = require("../schema");
9
+ var _commands = require("../utils/commands");
10
+ var _transformNormalizedConfig = require("../config/initial/transformNormalizedConfig");
11
+ var _config = require("../config");
12
+ 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; }
13
+ 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; }
14
+ 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; }
15
+ var _default = () => ({
16
+ name: '@modern-js/plugin-initialize',
17
+ setup(api) {
18
+ const config = () => {
19
+ const appContext = api.useAppContext();
20
+ const userConfig = api.useConfigContext();
21
+ return (0, _config.checkIsLegacyConfig)(userConfig) ? (0, _config.createLegacyDefaultConfig)(appContext) : (0, _config.createDefaultConfig)(appContext);
22
+ };
23
+ const validateSchema = () => {
24
+ const userConfig = api.useConfigContext();
25
+ const schemas = (0, _config.checkIsLegacyConfig)(userConfig) ? _schema.legacySchema : _schema.schema;
26
+ return schemas.generate();
27
+ };
28
+ return {
29
+ config,
30
+ validateSchema,
31
+ async resolvedConfig({
32
+ resolved
33
+ }) {
34
+ var _resolved$output$dist, _normalizedConfig$ser;
35
+ let appContext = api.useAppContext();
36
+ const userConfig = api.useConfigContext();
37
+ const port = await getDevServerPort(appContext, resolved);
38
+ appContext = _objectSpread(_objectSpread({}, appContext), {}, {
39
+ port,
40
+ distDirectory: (0, _utils.ensureAbsolutePath)(appContext.distDirectory, ((_resolved$output$dist = resolved.output.distPath) === null || _resolved$output$dist === void 0 ? void 0 : _resolved$output$dist.root) || 'dist')
41
+ });
42
+ api.setAppContext(appContext);
43
+ const normalizedConfig = (0, _config.checkIsLegacyConfig)(resolved) ? (0, _transformNormalizedConfig.transformNormalizedConfig)(resolved) : resolved;
44
+ return {
45
+ resolved: {
46
+ // FIXME: the userConfig mayby legacy userConfig
47
+ _raw: userConfig,
48
+ source: normalizedConfig.source || {},
49
+ server: _objectSpread(_objectSpread({}, normalizedConfig.server || {}), {}, {
50
+ port: port || ((_normalizedConfig$ser = normalizedConfig.server) === null || _normalizedConfig$ser === void 0 ? void 0 : _normalizedConfig$ser.port)
51
+ }),
52
+ bff: normalizedConfig.bff || {},
53
+ dev: normalizedConfig.dev || {},
54
+ html: normalizedConfig.html || {},
55
+ output: normalizedConfig.output || {},
56
+ security: normalizedConfig.security || {},
57
+ tools: normalizedConfig.tools || {},
58
+ testing: normalizedConfig.testing || {},
59
+ plugins: normalizedConfig.plugins || [],
60
+ runtime: normalizedConfig.runtime || {},
61
+ runtimeByEntries: normalizedConfig.runtimeByEntries || {},
62
+ deploy: normalizedConfig.deploy || {},
63
+ performance: normalizedConfig.performance || {},
64
+ experiments: normalizedConfig.experiments || {}
65
+ }
66
+ };
67
+ }
68
+ };
69
+ }
70
+ });
71
+ exports.default = _default;
72
+ async function getDevServerPort(appContext, resolved) {
73
+ const command = (0, _commands.getCommand)();
74
+ if ((0, _utils.isDev)() && command === 'dev') {
75
+ var _appContext$port;
76
+ return ((_appContext$port = appContext.port) !== null && _appContext$port !== void 0 ? _appContext$port : 0) > 0 ? appContext.port : await (0, _utils.getPort)(resolved.server.port || 8080);
77
+ }
78
+ return resolved.server.port;
79
+ }