@modern-js/app-tools 2.3.1-alpha.2 → 3.0.0-beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/README.md +14 -18
  3. package/dist/js/modern/analyze/getServerRoutes.js +5 -2
  4. package/dist/js/modern/analyze/index.js +47 -46
  5. package/dist/js/modern/builder/builder-rspack/index.js +8 -0
  6. package/dist/js/modern/builder/builder-webpack/builderPlugins/compatModern.js +41 -0
  7. package/dist/js/modern/builder/builder-webpack/index.js +93 -0
  8. package/dist/js/modern/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +4 -1
  9. package/dist/js/modern/builder/builder-webpack/webpackPlugins/index.js +1 -0
  10. package/dist/js/modern/builder/generator/createBuilderOptions.js +24 -0
  11. package/dist/js/modern/builder/generator/createBuilderProviderConfig.js +39 -0
  12. package/dist/js/modern/builder/generator/getBuilderTargets.js +21 -0
  13. package/dist/js/modern/builder/generator/index.js +53 -0
  14. package/dist/js/modern/builder/index.js +13 -133
  15. package/dist/js/modern/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +102 -116
  16. package/dist/js/modern/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +27 -0
  17. package/dist/js/modern/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +34 -0
  18. package/dist/js/modern/builder/{share.js → shared/createCopyPattern.js} +0 -0
  19. package/dist/js/modern/builder/shared/index.js +3 -0
  20. package/dist/js/modern/builder/{loaders → shared/loaders}/serverModuleLoader.js +0 -0
  21. package/dist/js/modern/builder/shared/types.js +0 -0
  22. package/dist/js/modern/config/default.js +2 -2
  23. package/dist/js/modern/config/index.js +3 -8
  24. package/dist/js/modern/config/initialize/index.js +12 -0
  25. package/dist/js/modern/config/{initial → initialize}/inits.js +4 -2
  26. package/dist/js/modern/config/{initial → legacy}/createHtmlConfig.js +0 -0
  27. package/dist/js/modern/config/{initial → legacy}/createOutputConfig.js +0 -0
  28. package/dist/js/modern/config/{initial → legacy}/createSourceConfig.js +0 -0
  29. package/dist/js/modern/config/{initial → legacy}/createToolsConfig.js +0 -0
  30. package/dist/js/modern/config/{initial/transformNormalizedConfig.js → legacy/index.js} +4 -0
  31. package/dist/js/modern/index.js +18 -8
  32. package/dist/js/modern/initialize/index.js +36 -28
  33. package/dist/js/modern/locale/zh.js +1 -1
  34. package/dist/js/modern/types/utils.js +0 -0
  35. package/dist/js/node/analyze/getServerRoutes.js +3 -1
  36. package/dist/js/node/analyze/index.js +48 -47
  37. package/dist/js/node/builder/builder-rspack/index.js +31 -0
  38. package/dist/js/node/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  39. package/dist/js/node/builder/builder-webpack/index.js +118 -0
  40. package/dist/js/node/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +10 -5
  41. package/dist/js/node/builder/builder-webpack/webpackPlugins/index.js +17 -0
  42. package/dist/js/node/builder/generator/createBuilderOptions.js +47 -0
  43. package/dist/js/node/builder/generator/createBuilderProviderConfig.js +60 -0
  44. package/dist/js/node/builder/generator/getBuilderTargets.js +39 -0
  45. package/dist/js/node/builder/generator/index.js +82 -0
  46. package/dist/js/node/builder/index.js +14 -123
  47. package/dist/js/node/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +107 -120
  48. package/dist/js/node/builder/{webpackPlugins/htmlAsyncChunkPlugin.js → shared/bundlerPlugins/HtmlAsyncChunkPlugin.js} +17 -20
  49. package/dist/js/node/builder/{webpackPlugins/htmlBottomTemplate.js → shared/bundlerPlugins/HtmlBottomTemplate.js} +21 -24
  50. package/dist/js/node/builder/{share.js → shared/createCopyPattern.js} +3 -3
  51. package/dist/js/node/builder/shared/index.js +19 -0
  52. package/dist/js/node/builder/{loaders → shared/loaders}/serverModuleLoader.js +0 -0
  53. package/dist/js/node/builder/shared/types.js +15 -0
  54. package/dist/js/node/config/default.js +2 -2
  55. package/dist/js/node/config/index.js +4 -19
  56. package/dist/js/node/config/{initial → initialize}/index.js +10 -16
  57. package/dist/js/node/config/{initial → initialize}/inits.js +4 -2
  58. package/dist/js/node/config/{initial → legacy}/createHtmlConfig.js +0 -0
  59. package/dist/js/node/config/{initial → legacy}/createOutputConfig.js +0 -0
  60. package/dist/js/node/config/{initial → legacy}/createSourceConfig.js +0 -0
  61. package/dist/js/node/config/{initial → legacy}/createToolsConfig.js +0 -0
  62. package/dist/js/node/config/{initial/transformNormalizedConfig.js → legacy/index.js} +8 -3
  63. package/dist/js/node/index.js +18 -8
  64. package/dist/js/node/initialize/index.js +35 -28
  65. package/dist/js/node/locale/zh.js +1 -1
  66. package/dist/js/node/types/utils.js +15 -0
  67. package/dist/js/treeshaking/analyze/generateCode.js +14 -14
  68. package/dist/js/treeshaking/analyze/getBundleEntry.js +2 -2
  69. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +1 -1
  70. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +1 -1
  71. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +1 -1
  72. package/dist/js/treeshaking/analyze/getServerRoutes.js +8 -6
  73. package/dist/js/treeshaking/analyze/index.js +142 -137
  74. package/dist/js/treeshaking/analyze/nestedRoutes.js +5 -5
  75. package/dist/js/treeshaking/analyze/templates.js +6 -6
  76. package/dist/js/treeshaking/analyze/utils.js +3 -3
  77. package/dist/js/treeshaking/builder/builder-rspack/index.js +6 -0
  78. package/dist/js/treeshaking/builder/builder-webpack/builderPlugins/compatModern.js +64 -0
  79. package/dist/js/treeshaking/builder/builder-webpack/index.js +301 -0
  80. package/dist/js/treeshaking/builder/{webpackPlugins/routerPlugin.js → builder-webpack/webpackPlugins/RouterPlugin.js} +6 -3
  81. package/dist/js/treeshaking/builder/builder-webpack/webpackPlugins/index.js +1 -0
  82. package/dist/js/treeshaking/builder/generator/createBuilderOptions.js +41 -0
  83. package/dist/js/treeshaking/builder/generator/createBuilderProviderConfig.js +70 -0
  84. package/dist/js/treeshaking/builder/generator/getBuilderTargets.js +16 -0
  85. package/dist/js/treeshaking/builder/generator/index.js +199 -0
  86. package/dist/js/treeshaking/builder/index.js +29 -228
  87. package/dist/js/treeshaking/builder/{builderPlugins/compatModern.js → shared/builderPlugins/adapterModern.js} +138 -142
  88. package/dist/js/treeshaking/builder/{webpackPlugins/htmlAsyncChunkPlugin.js → shared/bundlerPlugins/HtmlAsyncChunkPlugin.js} +0 -0
  89. package/dist/js/treeshaking/builder/{webpackPlugins/htmlBottomTemplate.js → shared/bundlerPlugins/HtmlBottomTemplate.js} +2 -2
  90. package/dist/js/treeshaking/builder/{share.js → shared/createCopyPattern.js} +0 -0
  91. package/dist/js/treeshaking/builder/shared/index.js +3 -0
  92. package/dist/js/treeshaking/builder/{loaders → shared/loaders}/serverModuleLoader.js +0 -0
  93. package/dist/js/treeshaking/builder/shared/types.js +1 -0
  94. package/dist/js/treeshaking/commands/dev.js +2 -2
  95. package/dist/js/treeshaking/commands/serve.js +2 -2
  96. package/dist/js/treeshaking/config/default.js +2 -2
  97. package/dist/js/treeshaking/config/index.js +3 -3
  98. package/dist/js/treeshaking/config/initialize/index.js +10 -0
  99. package/dist/js/treeshaking/config/{initial → initialize}/inits.js +6 -4
  100. package/dist/js/treeshaking/config/legacy/createHtmlConfig.js +19 -0
  101. package/dist/js/treeshaking/config/{initial → legacy}/createOutputConfig.js +1 -1
  102. package/dist/js/treeshaking/config/{initial → legacy}/createSourceConfig.js +1 -1
  103. package/dist/js/treeshaking/config/{initial → legacy}/createToolsConfig.js +1 -1
  104. package/dist/js/treeshaking/config/{initial/transformNormalizedConfig.js → legacy/index.js} +4 -1
  105. package/dist/js/treeshaking/index.js +19 -12
  106. package/dist/js/treeshaking/initialize/index.js +36 -28
  107. package/dist/js/treeshaking/locale/zh.js +1 -1
  108. package/dist/js/treeshaking/types/utils.js +1 -0
  109. package/dist/js/treeshaking/utils/config.js +2 -2
  110. package/dist/js/treeshaking/utils/getServerInternalPlugins.js +2 -2
  111. package/dist/types/analyze/generateCode.d.ts +1 -1
  112. package/dist/types/analyze/getBundleEntry.d.ts +1 -1
  113. package/dist/types/analyze/getFileSystemEntry.d.ts +1 -1
  114. package/dist/types/analyze/getHtmlTemplate.d.ts +2 -2
  115. package/dist/types/analyze/getServerRoutes.d.ts +1 -1
  116. package/dist/types/analyze/index.d.ts +5 -1
  117. package/dist/types/builder/builder-rspack/index.d.ts +2 -0
  118. package/dist/types/builder/{builderPlugins → builder-webpack/builderPlugins}/compatModern.d.ts +2 -2
  119. package/dist/types/builder/builder-webpack/index.d.ts +4 -0
  120. package/dist/types/builder/{webpackPlugins/routerPlugin.d.ts → builder-webpack/webpackPlugins/RouterPlugin.d.ts} +1 -1
  121. package/dist/types/builder/builder-webpack/webpackPlugins/index.d.ts +1 -0
  122. package/dist/types/builder/generator/createBuilderOptions.d.ts +3 -0
  123. package/dist/types/builder/generator/createBuilderProviderConfig.d.ts +2 -0
  124. package/dist/types/builder/generator/getBuilderTargets.d.ts +3 -0
  125. package/dist/types/builder/generator/index.d.ts +17 -0
  126. package/dist/types/builder/index.d.ts +1 -18
  127. package/dist/types/builder/shared/builderPlugins/adapterModern.d.ts +13 -0
  128. package/dist/types/builder/{webpackPlugins/htmlAsyncChunkPlugin.d.ts → shared/bundlerPlugins/HtmlAsyncChunkPlugin.d.ts} +2 -1
  129. package/dist/types/builder/{webpackPlugins/htmlBottomTemplate.d.ts → shared/bundlerPlugins/HtmlBottomTemplate.d.ts} +2 -1
  130. package/dist/types/builder/{share.d.ts → shared/createCopyPattern.d.ts} +1 -1
  131. package/dist/types/builder/shared/index.d.ts +3 -0
  132. package/dist/types/builder/shared/loaders/serverModuleLoader.d.ts +4 -0
  133. package/dist/types/builder/shared/types.d.ts +16 -0
  134. package/dist/types/commands/build.d.ts +1 -1
  135. package/dist/types/commands/deploy.d.ts +1 -1
  136. package/dist/types/commands/dev.d.ts +1 -1
  137. package/dist/types/commands/inspect.d.ts +1 -1
  138. package/dist/types/commands/serve.d.ts +1 -1
  139. package/dist/types/config/default.d.ts +1 -1
  140. package/dist/types/config/index.d.ts +3 -2
  141. package/dist/types/config/initialize/index.d.ts +2 -0
  142. package/dist/types/config/{initial → initialize}/inits.d.ts +3 -3
  143. package/dist/types/config/{initial → legacy}/createHtmlConfig.d.ts +1 -1
  144. package/dist/types/config/{initial → legacy}/createOutputConfig.d.ts +1 -1
  145. package/dist/types/config/{initial → legacy}/createSourceConfig.d.ts +1 -1
  146. package/dist/types/config/{initial → legacy}/createToolsConfig.d.ts +1 -1
  147. package/dist/types/config/legacy/index.d.ts +3 -0
  148. package/dist/types/defineConfig.d.ts +2 -2
  149. package/dist/types/index.d.ts +7 -3
  150. package/dist/types/initialize/index.d.ts +6 -2
  151. package/dist/types/types/config/deploy.d.ts +1 -2
  152. package/dist/types/types/config/dev.d.ts +2 -3
  153. package/dist/types/types/config/experiments.d.ts +1 -2
  154. package/dist/types/types/config/html.d.ts +5 -3
  155. package/dist/types/types/config/index.d.ts +41 -48
  156. package/dist/types/types/config/output.d.ts +8 -3
  157. package/dist/types/types/config/performance.d.ts +6 -3
  158. package/dist/types/types/config/security.d.ts +3 -3
  159. package/dist/types/types/config/source.d.ts +7 -3
  160. package/dist/types/types/config/tools.d.ts +10 -4
  161. package/dist/types/types/hooks.d.ts +6 -4
  162. package/dist/types/types/index.d.ts +19 -7
  163. package/dist/types/types/utils.d.ts +7 -0
  164. package/dist/types/utils/config.d.ts +1 -1
  165. package/dist/types/utils/getServerInternalPlugins.d.ts +1 -1
  166. package/dist/types/utils/printInstructions.d.ts +1 -1
  167. package/package.json +34 -25
  168. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +0 -30
  169. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +0 -37
  170. package/dist/js/modern/config/initial/index.js +0 -16
  171. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +0 -19
  172. package/dist/js/treeshaking/config/initial/index.js +0 -12
  173. package/dist/types/builder/loaders/serverModuleLoader.d.ts +0 -3
  174. package/dist/types/config/initial/index.d.ts +0 -4
  175. package/dist/types/config/initial/transformNormalizedConfig.d.ts +0 -2
@@ -44,19 +44,21 @@ import {
44
44
  isDevCommand
45
45
  } from "@modern-js/utils";
46
46
  import { legacySchema, schema } from "../schema";
47
- import { transformNormalizedConfig } from "../config/initial/transformNormalizedConfig";
48
47
  import {
49
48
  checkIsLegacyConfig,
50
49
  createDefaultConfig,
51
- createLegacyDefaultConfig
50
+ createLegacyDefaultConfig,
51
+ transformNormalizedConfig
52
52
  } from "../config";
53
- var initialize_default = () => ({
53
+ var initialize_default = ({
54
+ bundler
55
+ }) => ({
54
56
  name: "@modern-js/plugin-initialize",
55
57
  setup(api) {
56
58
  const config = () => {
57
59
  const appContext = api.useAppContext();
58
60
  const userConfig = api.useConfigContext();
59
- return checkIsLegacyConfig(userConfig) ? createLegacyDefaultConfig(appContext) : createDefaultConfig(appContext);
61
+ return checkIsLegacyConfig(userConfig) ? createLegacyDefaultConfig(appContext) : createDefaultConfig(appContext, bundler);
60
62
  };
61
63
  const validateSchema = () => {
62
64
  const userConfig = api.useConfigContext();
@@ -81,35 +83,41 @@ var initialize_default = () => ({
81
83
  });
82
84
  api.setAppContext(appContext);
83
85
  const normalizedConfig = checkIsLegacyConfig(resolved) ? transformNormalizedConfig(resolved) : resolved;
84
- return {
85
- resolved: {
86
- _raw: userConfig,
87
- source: normalizedConfig.source || {},
88
- server: __spreadProps(__spreadValues({}, normalizedConfig.server || {}), {
89
- port
90
- }),
91
- bff: normalizedConfig.bff || {},
92
- dev: normalizedConfig.dev || {},
93
- html: normalizedConfig.html || {},
94
- output: normalizedConfig.output || {},
95
- security: normalizedConfig.security || {},
96
- tools: normalizedConfig.tools || {},
97
- testing: normalizedConfig.testing || {},
98
- plugins: normalizedConfig.plugins || [],
99
- builderPlugins: normalizedConfig.builderPlugins || [],
100
- runtime: normalizedConfig.runtime || {},
101
- runtimeByEntries: normalizedConfig.runtimeByEntries || {},
102
- deploy: normalizedConfig.deploy || {},
103
- performance: normalizedConfig.performance || {},
104
- experiments: normalizedConfig.experiments || {},
105
- autoLoadPlugins: normalizedConfig.autoLoadPlugins || false
106
- }
107
- };
86
+ resolved._raw = userConfig;
87
+ resolved.server = __spreadProps(__spreadValues({}, normalizedConfig.server || {}), {
88
+ port
89
+ });
90
+ resolved.autoLoadPlugins = normalizedConfig.autoLoadPlugins || false;
91
+ stabilizeConfig(resolved, normalizedConfig, [
92
+ "source",
93
+ "bff",
94
+ "dev",
95
+ "html",
96
+ "output",
97
+ "tools",
98
+ "testing",
99
+ "plugins",
100
+ "builderPlugins",
101
+ "runtime",
102
+ "runtimeByEntries",
103
+ "deploy",
104
+ "performance"
105
+ ]);
106
+ if (bundler === "webpack") {
107
+ resolved.security = normalizedConfig.security || {};
108
+ resolved.experiments = normalizedConfig.experiments;
109
+ }
110
+ return { resolved };
108
111
  });
109
112
  }
110
113
  };
111
114
  }
112
115
  });
116
+ function stabilizeConfig(resolve, config, keys) {
117
+ keys.forEach((key) => {
118
+ resolve[key] = config[key] || {};
119
+ });
120
+ }
113
121
  function getServerPort(config) {
114
122
  return __async(this, null, function* () {
115
123
  const prodPort = config.server.port || 8080;
@@ -17,7 +17,7 @@ const ZH_LOCALE = {
17
17
  serve: { describe: "应用启动命令" },
18
18
  deploy: { describe: "部署应用命令" },
19
19
  new: {
20
- describe: "MWA 项目中执行生成器",
20
+ describe: "Web App 项目中执行生成器",
21
21
  debug: "开启 Debug 模式,打印调试日志信息",
22
22
  config: "生成器运行默认配置(JSON 字符串)",
23
23
  distTag: "生成器使用特殊的 npm Tag 版本",
File without changes
@@ -119,7 +119,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
119
119
  const {
120
120
  html: { disableHtmlFolder },
121
121
  output: { distPath: { html: htmlPath } = {} },
122
- server: { baseUrl, routes, ssr, ssrByEntries }
122
+ server: { baseUrl, routes, ssr, ssrByEntries, worker }
123
123
  } = config;
124
124
  const { packageName } = appContext;
125
125
  let htmlRoutes = entrypoints.reduce(
@@ -131,6 +131,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
131
131
  packageName
132
132
  );
133
133
  const isSSR = Boolean(entryOptions);
134
+ const isWorker = Boolean(worker);
134
135
  const { resHeaders } = (routes == null ? void 0 : routes[entryName]) || {};
135
136
  let route = {
136
137
  urlPath: `/${entryName === import_utils.MAIN_ENTRY_NAME ? "" : entryName}`,
@@ -143,6 +144,7 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
143
144
  isSPA: true,
144
145
  isSSR,
145
146
  responseHeaders: resHeaders,
147
+ worker: isWorker ? `${import_utils.SERVER_WORKER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0,
146
148
  bundle: isSSR ? `${import_utils.SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
147
149
  };
148
150
  if (routes == null ? void 0 : routes.hasOwnProperty(entryName)) {
@@ -66,16 +66,18 @@ module.exports = __toCommonJS(analyze_exports);
66
66
  var path = __toESM(require("path"));
67
67
  var import_utils = require("@modern-js/utils");
68
68
  var import_lodash = require("@modern-js/utils/lodash");
69
- var import_builder = require("../builder");
70
69
  var import_printInstructions = require("../utils/printInstructions");
71
70
  var import_routes = require("../utils/routes");
72
71
  var import_config = require("../utils/config");
73
72
  var import_getSelectedEntries = require("../utils/getSelectedEntries");
74
73
  var import_config2 = require("../config");
74
+ var import_builder = require("../builder");
75
75
  var import_utils2 = require("./utils");
76
76
  var import_constants = require("./constants");
77
77
  const debug = (0, import_utils.createDebugger)("plugin-analyze");
78
- var analyze_default = () => ({
78
+ var analyze_default = ({
79
+ bundler
80
+ }) => ({
79
81
  name: "@modern-js/plugin-analyze",
80
82
  setup: (api) => {
81
83
  let pagesDir = [];
@@ -167,56 +169,55 @@ var analyze_default = () => ({
167
169
  if (buildCommands.includes(command)) {
168
170
  let _b;
169
171
  const normalizedConfig = api.useResolvedConfigContext();
170
- const builder = yield (0, import_builder.createBuilderForModern)({
172
+ const createBuilderForModern = yield (0, import_builder.createBuilderGenerator)(bundler);
173
+ const builder = yield createBuilderForModern({
171
174
  normalizedConfig,
172
175
  appContext,
173
- compatPluginConfig: {
174
- onBeforeBuild(_0) {
175
- return __async(this, arguments, function* ({ bundlerConfigs }) {
176
- const hookRunners2 = api.useHookRunners();
177
- yield (0, import_routes.generateRoutes)(appContext);
178
- yield hookRunners2.beforeBuild({ bundlerConfigs });
179
- });
180
- },
181
- onAfterBuild(_0) {
182
- return __async(this, arguments, function* ({ stats }) {
183
- const hookRunners2 = api.useHookRunners();
184
- yield hookRunners2.afterBuild({ stats });
185
- yield (0, import_config.emitResolvedConfig)(
186
- appContext.appDirectory,
187
- normalizedConfig
188
- );
176
+ onBeforeBuild(_0) {
177
+ return __async(this, arguments, function* ({ bundlerConfigs }) {
178
+ const hookRunners2 = api.useHookRunners();
179
+ yield (0, import_routes.generateRoutes)(appContext);
180
+ yield hookRunners2.beforeBuild({
181
+ bundlerConfigs
189
182
  });
190
- },
191
- onDevCompileDone(_0) {
192
- return __async(this, arguments, function* ({ isFirstCompile }) {
193
- const hookRunners2 = api.useHookRunners();
194
- if (process.stdout.isTTY || isFirstCompile) {
195
- hookRunners2.afterDev();
196
- if (isFirstCompile) {
197
- (0, import_printInstructions.printInstructions)(
198
- hookRunners2,
199
- appContext,
200
- normalizedConfig
201
- );
202
- }
183
+ });
184
+ },
185
+ onAfterBuild(_0) {
186
+ return __async(this, arguments, function* ({ stats }) {
187
+ const hookRunners2 = api.useHookRunners();
188
+ yield hookRunners2.afterBuild({ stats });
189
+ yield (0, import_config.emitResolvedConfig)(
190
+ appContext.appDirectory,
191
+ normalizedConfig
192
+ );
193
+ });
194
+ },
195
+ onDevCompileDone(_0) {
196
+ return __async(this, arguments, function* ({ isFirstCompile }) {
197
+ const hookRunners2 = api.useHookRunners();
198
+ if (process.stdout.isTTY || isFirstCompile) {
199
+ hookRunners2.afterDev();
200
+ if (isFirstCompile) {
201
+ (0, import_printInstructions.printInstructions)(hookRunners2, appContext, normalizedConfig);
203
202
  }
203
+ }
204
+ });
205
+ },
206
+ onBeforeCreateCompiler(_0) {
207
+ return __async(this, arguments, function* ({ bundlerConfigs }) {
208
+ const hookRunners2 = api.useHookRunners();
209
+ yield hookRunners2.beforeCreateCompiler({
210
+ bundlerConfigs
204
211
  });
205
- },
206
- onBeforeCreateCompiler(_0) {
207
- return __async(this, arguments, function* ({ bundlerConfigs }) {
208
- const hookRunners2 = api.useHookRunners();
209
- yield hookRunners2.beforeCreateCompiler({
210
- bundlerConfigs
211
- });
212
- });
213
- },
214
- onAfterCreateCompiler(_0) {
215
- return __async(this, arguments, function* ({ compiler }) {
216
- const hookRunners2 = api.useHookRunners();
217
- yield hookRunners2.afterCreateCompiler({ compiler });
212
+ });
213
+ },
214
+ onAfterCreateCompiler(_0) {
215
+ return __async(this, arguments, function* ({ compiler }) {
216
+ const hookRunners2 = api.useHookRunners();
217
+ yield hookRunners2.afterCreateCompiler({
218
+ compiler
218
219
  });
219
- }
220
+ });
220
221
  }
221
222
  });
222
223
  builder.addPlugins(resolvedConfig.builderPlugins);
@@ -259,7 +260,7 @@ var analyze_default = () => ({
259
260
  },
260
261
  resolvedConfig({ resolved }) {
261
262
  const appContext = api.useAppContext();
262
- const config = (0, import_config2.initialNormalizedConfig)(resolved, appContext);
263
+ const config = (0, import_config2.initialNormalizedConfig)(resolved, appContext, bundler);
263
264
  return {
264
265
  resolved: config
265
266
  };
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var builder_rspack_exports = {};
19
+ __export(builder_rspack_exports, {
20
+ createRspackBuilderForModern: () => createRspackBuilderForModern
21
+ });
22
+ module.exports = __toCommonJS(builder_rspack_exports);
23
+ var import_builder_rspack_provider = require("@modern-js/builder-rspack-provider");
24
+ var import_generator = require("../generator");
25
+ function createRspackBuilderForModern(options) {
26
+ return (0, import_generator.generateBuilder)(options, import_builder_rspack_provider.builderRspackProvider);
27
+ }
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ createRspackBuilderForModern
31
+ });
@@ -0,0 +1,64 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var compatModern_exports = {};
19
+ __export(compatModern_exports, {
20
+ PluginCompatModern: () => PluginCompatModern
21
+ });
22
+ module.exports = __toCommonJS(compatModern_exports);
23
+ var import_path = require("path");
24
+ var import_shared = require("../../shared");
25
+ var import_webpackPlugins = require("../webpackPlugins");
26
+ const PluginCompatModern = (options) => ({
27
+ name: "builder-plugin-compat-modern",
28
+ setup(api) {
29
+ const { normalizedConfig: modernConfig, appContext } = options;
30
+ api.modifyWebpackChain((chain, { CHAIN_ID }) => {
31
+ var _a;
32
+ chain.resolve.modules.add("node_modules").add((0, import_path.join)(api.context.rootPath, "node_modules"));
33
+ if (chain.plugins.has(CHAIN_ID.PLUGIN.COPY)) {
34
+ const defaultCopyPattern = (0, import_shared.createCopyPattern)(
35
+ appContext,
36
+ modernConfig,
37
+ "public",
38
+ chain
39
+ );
40
+ chain.plugin(CHAIN_ID.PLUGIN.COPY).tap((args) => {
41
+ var _a2;
42
+ return [
43
+ {
44
+ patterns: [...((_a2 = args[0]) == null ? void 0 : _a2.patterns) || [], defaultCopyPattern]
45
+ }
46
+ ];
47
+ });
48
+ }
49
+ const { entrypoints } = appContext;
50
+ const existNestedRoutes = entrypoints.some(
51
+ (entrypoint) => entrypoint.nestedRoutesEntry
52
+ );
53
+ const routerConfig = (_a = modernConfig == null ? void 0 : modernConfig.runtime) == null ? void 0 : _a.router;
54
+ const routerManifest = Boolean(routerConfig == null ? void 0 : routerConfig.manifest);
55
+ if (existNestedRoutes || routerManifest) {
56
+ chain.plugin("route-plugin").use(import_webpackPlugins.RouterPlugin);
57
+ }
58
+ });
59
+ }
60
+ });
61
+ // Annotate the CommonJS export names for ESM import in node:
62
+ 0 && (module.exports = {
63
+ PluginCompatModern
64
+ });
@@ -0,0 +1,118 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
37
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
38
+ mod
39
+ ));
40
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
41
+ var __async = (__this, __arguments, generator) => {
42
+ return new Promise((resolve, reject) => {
43
+ var fulfilled = (value) => {
44
+ try {
45
+ step(generator.next(value));
46
+ } catch (e) {
47
+ reject(e);
48
+ }
49
+ };
50
+ var rejected = (value) => {
51
+ try {
52
+ step(generator.throw(value));
53
+ } catch (e) {
54
+ reject(e);
55
+ }
56
+ };
57
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
58
+ step((generator = generator.apply(__this, __arguments)).next());
59
+ });
60
+ };
61
+ var builder_webpack_exports = {};
62
+ __export(builder_webpack_exports, {
63
+ createWebpackBuilderForModern: () => createWebpackBuilderForModern
64
+ });
65
+ module.exports = __toCommonJS(builder_webpack_exports);
66
+ var import_builder_webpack_provider = require("@modern-js/builder-webpack-provider");
67
+ var import_utils = require("@modern-js/utils");
68
+ var import_shared = require("../shared");
69
+ var import_generator = require("../generator");
70
+ var import_compatModern = require("./builderPlugins/compatModern");
71
+ function createWebpackBuilderForModern(options) {
72
+ return (0, import_generator.generateBuilder)(options, import_builder_webpack_provider.builderWebpackProvider, {
73
+ modifyBuilderConfig(config) {
74
+ modifyOutputConfig(config, options.appContext);
75
+ },
76
+ modifyBuilderInstance(builder) {
77
+ return __async(this, null, function* () {
78
+ yield applyBuilderPlugins(builder, options);
79
+ });
80
+ }
81
+ });
82
+ }
83
+ function modifyOutputConfig(config, appContext) {
84
+ config.output = createOutputConfig(config, appContext);
85
+ function createOutputConfig(config2, appContext2) {
86
+ const defaultCopyPattern = (0, import_shared.createCopyPattern)(appContext2, config2, "upload");
87
+ const { copy } = config2.output;
88
+ const copyOptions = Array.isArray(copy) ? copy : copy == null ? void 0 : copy.patterns;
89
+ const builderCopy = [...copyOptions || [], defaultCopyPattern];
90
+ return __spreadProps(__spreadValues({}, config2.output), {
91
+ copy: builderCopy
92
+ });
93
+ }
94
+ }
95
+ function applyBuilderPlugins(builder, options) {
96
+ return __async(this, null, function* () {
97
+ const { normalizedConfig } = options;
98
+ if (!normalizedConfig.output.disableNodePolyfill) {
99
+ const { PluginNodePolyfill } = yield Promise.resolve().then(() => __toESM(require("@modern-js/builder-plugin-node-polyfill")));
100
+ builder.addPlugins([PluginNodePolyfill()]);
101
+ }
102
+ if (normalizedConfig.tools.esbuild) {
103
+ const { esbuild: esbuildOptions } = normalizedConfig.tools;
104
+ const { PluginEsbuild } = yield Promise.resolve().then(() => __toESM(require("@modern-js/builder-plugin-esbuild")));
105
+ builder.addPlugins([
106
+ PluginEsbuild({
107
+ loader: false,
108
+ minimize: (0, import_utils.applyOptionsChain)({}, esbuildOptions)
109
+ })
110
+ ]);
111
+ }
112
+ builder.addPlugins([(0, import_compatModern.PluginCompatModern)(options)]);
113
+ });
114
+ }
115
+ // Annotate the CommonJS export names for ESM import in node:
116
+ 0 && (module.exports = {
117
+ createWebpackBuilderForModern
118
+ });
@@ -41,11 +41,11 @@ var __async = (__this, __arguments, generator) => {
41
41
  step((generator = generator.apply(__this, __arguments)).next());
42
42
  });
43
43
  };
44
- var routerPlugin_exports = {};
45
- __export(routerPlugin_exports, {
46
- default: () => RouterPlugin
44
+ var RouterPlugin_exports = {};
45
+ __export(RouterPlugin_exports, {
46
+ RouterPlugin: () => RouterPlugin
47
47
  });
48
- module.exports = __toCommonJS(routerPlugin_exports);
48
+ module.exports = __toCommonJS(RouterPlugin_exports);
49
49
  var import_path = __toESM(require("path"));
50
50
  var import_utils = require("@modern-js/utils");
51
51
  const PLUGIN_NAME = "ModernjsRoutePlugin";
@@ -55,6 +55,9 @@ class RouterPlugin {
55
55
  if (target === "node" || Array.isArray(target) && target.includes("node")) {
56
56
  return;
57
57
  }
58
+ if (target === "webworker" || Array.isArray(target) && target.includes("webworker")) {
59
+ return;
60
+ }
58
61
  const { webpack } = compiler;
59
62
  const { Compilation, sources } = webpack;
60
63
  const { RawSource } = sources;
@@ -132,4 +135,6 @@ class RouterPlugin {
132
135
  }
133
136
  }
134
137
  // Annotate the CommonJS export names for ESM import in node:
135
- 0 && (module.exports = {});
138
+ 0 && (module.exports = {
139
+ RouterPlugin
140
+ });
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var webpackPlugins_exports = {};
16
+ module.exports = __toCommonJS(webpackPlugins_exports);
17
+ __reExport(webpackPlugins_exports, require("./RouterPlugin"), module.exports);
@@ -0,0 +1,47 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var createBuilderOptions_exports = {};
19
+ __export(createBuilderOptions_exports, {
20
+ createBuilderOptions: () => createBuilderOptions
21
+ });
22
+ module.exports = __toCommonJS(createBuilderOptions_exports);
23
+ function createBuilderOptions(target, appContext) {
24
+ const entries = {};
25
+ const { entrypoints = [], checkedEntries } = appContext;
26
+ for (const { entryName, entry } of entrypoints) {
27
+ if (checkedEntries && !checkedEntries.includes(entryName)) {
28
+ continue;
29
+ }
30
+ if (entryName in entries) {
31
+ entries[entryName].push(entry);
32
+ } else {
33
+ entries[entryName] = [entry];
34
+ }
35
+ }
36
+ return {
37
+ cwd: appContext.appDirectory,
38
+ target,
39
+ configPath: appContext.configFile || void 0,
40
+ entry: entries,
41
+ framework: appContext.metaName
42
+ };
43
+ }
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ createBuilderOptions
47
+ });
@@ -0,0 +1,60 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
31
+ }
32
+ return to;
33
+ };
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var createBuilderProviderConfig_exports = {};
36
+ __export(createBuilderProviderConfig_exports, {
37
+ createBuilderProviderConfig: () => createBuilderProviderConfig
38
+ });
39
+ module.exports = __toCommonJS(createBuilderProviderConfig_exports);
40
+ function createBuilderProviderConfig(resolveConfig, appContext, modifyBuilderConfig) {
41
+ const htmlConfig = __spreadValues({}, resolveConfig.html);
42
+ if (!htmlConfig.template) {
43
+ htmlConfig.templateByEntries = __spreadValues(__spreadValues({}, htmlConfig.templateByEntries), appContext.htmlTemplates);
44
+ }
45
+ const config = __spreadProps(__spreadValues({}, resolveConfig), {
46
+ dev: __spreadProps(__spreadValues({}, resolveConfig.dev), {
47
+ port: appContext.port
48
+ }),
49
+ html: htmlConfig,
50
+ output: __spreadProps(__spreadValues({}, resolveConfig.output), {
51
+ cleanDistPath: false
52
+ })
53
+ });
54
+ modifyBuilderConfig == null ? void 0 : modifyBuilderConfig(config);
55
+ return config;
56
+ }
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ createBuilderProviderConfig
60
+ });