@umijs/bundler-webpack 3.5.20 → 4.0.0-beta.12

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 (354) hide show
  1. package/README.md +2 -0
  2. package/bin/bundler-webpack.js +1 -2
  3. package/client/client/client.js +202 -0
  4. package/client/constants.js +12 -0
  5. package/client/utils/formatWebpackMessages.js +92 -0
  6. package/compiled/autoprefixer/LICENSE +20 -0
  7. package/compiled/autoprefixer/browserslist/index.d.ts +172 -0
  8. package/compiled/autoprefixer/index.js +9 -0
  9. package/compiled/autoprefixer/lib/autoprefixer.d.ts +95 -0
  10. package/compiled/autoprefixer/package.json +1 -0
  11. package/compiled/autoprefixer/postcss/lib/at-rule.d.ts +106 -0
  12. package/compiled/autoprefixer/postcss/lib/comment.d.ts +56 -0
  13. package/compiled/autoprefixer/postcss/lib/container.d.ts +442 -0
  14. package/compiled/autoprefixer/postcss/lib/css-syntax-error.d.ts +239 -0
  15. package/compiled/autoprefixer/postcss/lib/declaration.d.ts +124 -0
  16. package/compiled/autoprefixer/postcss/lib/document.d.ts +57 -0
  17. package/compiled/autoprefixer/postcss/lib/input.d.ts +150 -0
  18. package/compiled/autoprefixer/postcss/lib/lazy-result.d.ts +176 -0
  19. package/compiled/autoprefixer/postcss/lib/list.d.ts +51 -0
  20. package/compiled/autoprefixer/postcss/lib/no-work-result.d.ts +37 -0
  21. package/compiled/autoprefixer/postcss/lib/node.d.ts +478 -0
  22. package/compiled/autoprefixer/postcss/lib/postcss.d.ts +473 -0
  23. package/compiled/autoprefixer/postcss/lib/previous-map.d.ts +72 -0
  24. package/compiled/autoprefixer/postcss/lib/processor.d.ts +102 -0
  25. package/compiled/autoprefixer/postcss/lib/result.d.ts +196 -0
  26. package/compiled/autoprefixer/postcss/lib/root.d.ts +73 -0
  27. package/compiled/autoprefixer/postcss/lib/rule.d.ts +104 -0
  28. package/compiled/autoprefixer/postcss/lib/warning.d.ts +138 -0
  29. package/compiled/autoprefixer/source-map-js/source-map.d.ts +98 -0
  30. package/compiled/babel-loader/LICENSE +22 -0
  31. package/compiled/babel-loader/index.js +3 -0
  32. package/compiled/babel-loader/package.json +1 -0
  33. package/compiled/compression/LICENSE +23 -0
  34. package/compiled/compression/index.js +57 -0
  35. package/compiled/compression/package.json +1 -0
  36. package/compiled/connect-history-api-fallback/LICENSE +21 -0
  37. package/compiled/connect-history-api-fallback/index.js +1 -0
  38. package/compiled/connect-history-api-fallback/package.json +1 -0
  39. package/{lib/webpack/plugins/mini-css-extract-plugin → compiled/copy-webpack-plugin}/LICENSE +0 -0
  40. package/compiled/copy-webpack-plugin/index.js +46 -0
  41. package/compiled/copy-webpack-plugin/package.json +1 -0
  42. package/{lib/webpack/plugins/terser-webpack-plugin → compiled/css-loader}/LICENSE +0 -0
  43. package/compiled/css-loader/api.js +102 -0
  44. package/compiled/css-loader/getUrl.js +29 -0
  45. package/compiled/css-loader/index.js +2 -0
  46. package/compiled/css-loader/noSourceMaps.js +5 -0
  47. package/compiled/css-loader/package.json +1 -0
  48. package/compiled/css-loader/sourceMaps.js +22 -0
  49. package/compiled/css-minimizer-webpack-plugin/LICENSE +20 -0
  50. package/compiled/css-minimizer-webpack-plugin/index.js +3 -0
  51. package/compiled/css-minimizer-webpack-plugin/minify.js +72 -0
  52. package/compiled/css-minimizer-webpack-plugin/package.json +1 -0
  53. package/compiled/css-minimizer-webpack-plugin/utils.js +166 -0
  54. package/compiled/cssnano/index.js +192 -0
  55. package/compiled/cssnano/package.json +1 -0
  56. package/compiled/express/LICENSE +24 -0
  57. package/compiled/express/body-parser/index.d.ts +104 -0
  58. package/compiled/express/connect/index.d.ts +93 -0
  59. package/compiled/express/express-serve-static-core/index.d.ts +1252 -0
  60. package/compiled/express/index.d.ts +133 -0
  61. package/compiled/express/index.js +338 -0
  62. package/compiled/express/mime/index.d.ts +35 -0
  63. package/compiled/express/package.json +1 -0
  64. package/compiled/express/qs/index.d.ts +62 -0
  65. package/compiled/express/range-parser/index.d.ts +35 -0
  66. package/compiled/express/serve-static/index.d.ts +108 -0
  67. package/compiled/http-proxy-middleware/LICENSE +22 -0
  68. package/compiled/http-proxy-middleware/dist/index.d.ts +4 -0
  69. package/compiled/http-proxy-middleware/dist/types.d.ts +54 -0
  70. package/compiled/http-proxy-middleware/http-proxy/index.d.ts +226 -0
  71. package/compiled/http-proxy-middleware/index.js +66 -0
  72. package/compiled/http-proxy-middleware/package.json +1 -0
  73. package/compiled/less/index.js +31 -0
  74. package/compiled/less/package.json +1 -0
  75. package/compiled/less-loader/LICENSE +20 -0
  76. package/compiled/less-loader/index.js +1 -0
  77. package/compiled/less-loader/package.json +1 -0
  78. package/compiled/mini-css-extract-plugin/LICENSE +20 -0
  79. package/{lib/webpack/plugins/mini-css-extract-plugin/src → compiled/mini-css-extract-plugin}/hmr/hotModuleReplacement.js +50 -52
  80. package/compiled/mini-css-extract-plugin/hmr/normalize-url.js +35 -0
  81. package/compiled/mini-css-extract-plugin/index.js +11644 -0
  82. package/compiled/mini-css-extract-plugin/loader-options.json +32 -0
  83. package/compiled/mini-css-extract-plugin/loader.js +315 -0
  84. package/compiled/mini-css-extract-plugin/package.json +1 -0
  85. package/compiled/mini-css-extract-plugin/utils.js +159 -0
  86. package/compiled/postcss-flexbugs-fixes/LICENSE +20 -0
  87. package/compiled/postcss-flexbugs-fixes/index.js +1 -0
  88. package/compiled/postcss-flexbugs-fixes/package.json +1 -0
  89. package/compiled/postcss-loader/LICENSE +20 -0
  90. package/compiled/postcss-loader/index.js +1 -0
  91. package/compiled/postcss-loader/package.json +1 -0
  92. package/compiled/purgecss-webpack-plugin/LICENSE +21 -0
  93. package/compiled/purgecss-webpack-plugin/index.js +7781 -0
  94. package/compiled/purgecss-webpack-plugin/package.json +1 -0
  95. package/compiled/react-refresh/index.js +19 -0
  96. package/compiled/sass-loader/LICENSE +20 -0
  97. package/compiled/sass-loader/index.js +1 -0
  98. package/compiled/sass-loader/package.json +1 -0
  99. package/compiled/schema-utils/LICENSE +20 -0
  100. package/compiled/schema-utils/ajv/dist/ajv.d.ts +16 -0
  101. package/compiled/schema-utils/ajv/dist/compile/codegen/code.d.ts +39 -0
  102. package/compiled/schema-utils/ajv/dist/compile/codegen/index.d.ts +79 -0
  103. package/compiled/schema-utils/ajv/dist/compile/codegen/scope.d.ts +79 -0
  104. package/compiled/schema-utils/ajv/dist/compile/errors.d.ts +13 -0
  105. package/compiled/schema-utils/ajv/dist/compile/index.d.ts +80 -0
  106. package/compiled/schema-utils/ajv/dist/compile/ref_error.d.ts +5 -0
  107. package/compiled/schema-utils/ajv/dist/compile/resolve.d.ts +12 -0
  108. package/compiled/schema-utils/ajv/dist/compile/rules.d.ts +28 -0
  109. package/compiled/schema-utils/ajv/dist/compile/util.d.ts +40 -0
  110. package/compiled/schema-utils/ajv/dist/compile/validate/index.d.ts +42 -0
  111. package/compiled/schema-utils/ajv/dist/compile/validate/subschema.d.ts +47 -0
  112. package/compiled/schema-utils/ajv/dist/core.d.ts +171 -0
  113. package/compiled/schema-utils/ajv/dist/runtime/validation_error.d.ts +7 -0
  114. package/compiled/schema-utils/ajv/dist/types/index.d.ts +177 -0
  115. package/compiled/schema-utils/ajv/dist/types/json-schema.d.ts +124 -0
  116. package/compiled/schema-utils/ajv/dist/types/jtd-schema.d.ts +168 -0
  117. package/compiled/schema-utils/ajv/lib/ajv.d.ts +397 -0
  118. package/compiled/schema-utils/declarations/ValidationError.d.ts +74 -0
  119. package/compiled/schema-utils/declarations/index.d.ts +3 -0
  120. package/compiled/schema-utils/declarations/validate.d.ts +37 -0
  121. package/compiled/schema-utils/index.js +9 -0
  122. package/compiled/schema-utils/json-schema/index.d.ts +751 -0
  123. package/compiled/schema-utils/package.json +1 -0
  124. package/compiled/schema-utils/uri-js/dist/es5/uri.all.d.ts +59 -0
  125. package/compiled/speed-measure-webpack-plugin/LICENSE +21 -0
  126. package/compiled/speed-measure-webpack-plugin/index.js +1 -0
  127. package/compiled/speed-measure-webpack-plugin/package.json +1 -0
  128. package/compiled/style-loader/LICENSE +20 -0
  129. package/compiled/style-loader/index.js +1 -0
  130. package/compiled/style-loader/package.json +1 -0
  131. package/compiled/style-loader/runtime/injectStylesIntoLinkTag.js +29 -0
  132. package/compiled/style-loader/runtime/injectStylesIntoStyleTag.js +104 -0
  133. package/compiled/style-loader/runtime/insertBySelector.js +39 -0
  134. package/compiled/style-loader/runtime/insertStyleElement.js +11 -0
  135. package/compiled/style-loader/runtime/isEqualLocals.js +35 -0
  136. package/compiled/style-loader/runtime/isOldIE.js +19 -0
  137. package/compiled/style-loader/runtime/setAttributesWithAttributes.js +16 -0
  138. package/compiled/style-loader/runtime/setAttributesWithAttributesAndNonce.js +10 -0
  139. package/compiled/style-loader/runtime/setAttributesWithoutAttributes.js +12 -0
  140. package/compiled/style-loader/runtime/singletonStyleDomAPI.js +93 -0
  141. package/compiled/style-loader/runtime/styleDomAPI.js +70 -0
  142. package/compiled/style-loader/runtime/styleTagTransform.js +16 -0
  143. package/compiled/svgo-loader/LICENSE +22 -0
  144. package/compiled/svgo-loader/index.js +4 -0
  145. package/compiled/svgo-loader/package.json +1 -0
  146. package/compiled/swc-loader/LICENSE +25 -0
  147. package/compiled/swc-loader/index.js +1 -0
  148. package/compiled/swc-loader/package.json +1 -0
  149. package/compiled/tapable/LICENSE +21 -0
  150. package/compiled/tapable/index.js +1 -0
  151. package/compiled/tapable/package.json +1 -0
  152. package/compiled/tapable/tapable.d.ts +116 -0
  153. package/compiled/terser/LICENSE +29 -0
  154. package/compiled/terser/index.js +1 -0
  155. package/compiled/terser/mappings.wasm +0 -0
  156. package/compiled/terser/package.json +1 -0
  157. package/compiled/terser/source-map/source-map.d.ts +369 -0
  158. package/compiled/terser/tools/terser.d.ts +207 -0
  159. package/compiled/terser-webpack-plugin/LICENSE +20 -0
  160. package/compiled/terser-webpack-plugin/ajv/lib/ajv.d.ts +397 -0
  161. package/compiled/terser-webpack-plugin/index.js +15019 -0
  162. package/compiled/terser-webpack-plugin/jest-worker/build/index.d.ts +49 -0
  163. package/compiled/terser-webpack-plugin/jest-worker/build/types.d.ts +143 -0
  164. package/compiled/terser-webpack-plugin/json-schema/index.d.ts +751 -0
  165. package/compiled/terser-webpack-plugin/minify.js +48 -0
  166. package/compiled/terser-webpack-plugin/package.json +1 -0
  167. package/compiled/terser-webpack-plugin/schema-utils/declarations/ValidationError.d.ts +74 -0
  168. package/compiled/terser-webpack-plugin/schema-utils/declarations/index.d.ts +3 -0
  169. package/compiled/terser-webpack-plugin/schema-utils/declarations/validate.d.ts +37 -0
  170. package/compiled/terser-webpack-plugin/source-map/source-map.d.ts +98 -0
  171. package/compiled/terser-webpack-plugin/types/cjs.d.ts +3 -0
  172. package/compiled/terser-webpack-plugin/types/index.d.ts +295 -0
  173. package/compiled/terser-webpack-plugin/types/utils.d.ts +102 -0
  174. package/compiled/terser-webpack-plugin/utils.js +690 -0
  175. package/compiled/url-loader/LICENSE +20 -0
  176. package/compiled/url-loader/index.js +15 -0
  177. package/compiled/url-loader/package.json +1 -0
  178. package/compiled/webpack/Chunk.js +1 -0
  179. package/compiled/webpack/Compilation.js +1 -0
  180. package/compiled/webpack/HotModuleReplacement.runtime.js +394 -0
  181. package/compiled/webpack/JavascriptHotModuleReplacement.runtime.js +462 -0
  182. package/compiled/webpack/LICENSE +20 -0
  183. package/compiled/webpack/LibraryTemplatePlugin.js +1 -0
  184. package/compiled/webpack/LoaderTargetPlugin.js +1 -0
  185. package/compiled/webpack/ModuleFilenameHelpers.js +1 -0
  186. package/compiled/webpack/NormalModule.js +1 -0
  187. package/compiled/webpack/RuntimeGlobals.js +1 -0
  188. package/compiled/webpack/RuntimeModule.js +1 -0
  189. package/compiled/webpack/SingleEntryPlugin.js +1 -0
  190. package/compiled/webpack/Template.js +1 -0
  191. package/compiled/webpack/ajv/lib/ajv.d.ts +397 -0
  192. package/compiled/webpack/deepImports.json +12 -0
  193. package/compiled/webpack/index.js +163291 -0
  194. package/compiled/webpack/json-schema/index.d.ts +751 -0
  195. package/compiled/webpack/lazy-compilation-node.js +40 -0
  196. package/compiled/webpack/lazy-compilation-web.js +74 -0
  197. package/compiled/webpack/package.json +5 -0
  198. package/compiled/webpack/schema-utils/declarations/ValidationError.d.ts +74 -0
  199. package/compiled/webpack/schema-utils/declarations/index.d.ts +3 -0
  200. package/compiled/webpack/schema-utils/declarations/validate.d.ts +37 -0
  201. package/compiled/webpack/types.d.ts +12664 -0
  202. package/compiled/webpack-5-chain/LICENSE +373 -0
  203. package/compiled/webpack-5-chain/index.js +1 -0
  204. package/compiled/webpack-5-chain/package.json +1 -0
  205. package/compiled/webpack-5-chain/types/index.d.ts +543 -0
  206. package/compiled/webpack-bundle-analyzer/LICENSE +20 -0
  207. package/compiled/webpack-bundle-analyzer/index.js +30 -0
  208. package/compiled/webpack-bundle-analyzer/package.json +1 -0
  209. package/compiled/webpack-bundle-analyzer/public/viewer.js +16 -0
  210. package/compiled/webpack-bundle-analyzer/public/viewer.js.LICENSE.txt +10 -0
  211. package/compiled/webpack-bundle-analyzer/public/viewer.js.map +1 -0
  212. package/compiled/webpack-dev-middleware/LICENSE +20 -0
  213. package/compiled/webpack-dev-middleware/index.js +27 -0
  214. package/compiled/webpack-dev-middleware/package.json +1 -0
  215. package/compiled/webpack-sources/LICENSE +21 -0
  216. package/compiled/webpack-sources/index.d.ts +20 -0
  217. package/compiled/webpack-sources/index.js +1 -0
  218. package/compiled/webpack-sources/lib/CachedSource.d.ts +18 -0
  219. package/compiled/webpack-sources/lib/CompatSource.d.ts +9 -0
  220. package/compiled/webpack-sources/lib/ConcatSource.d.ts +22 -0
  221. package/compiled/webpack-sources/lib/OriginalSource.d.ts +18 -0
  222. package/compiled/webpack-sources/lib/PrefixSource.d.ts +12 -0
  223. package/compiled/webpack-sources/lib/RawSource.d.ts +13 -0
  224. package/compiled/webpack-sources/lib/ReplaceSource.d.ts +35 -0
  225. package/compiled/webpack-sources/lib/SizeOnlySource.d.ts +7 -0
  226. package/compiled/webpack-sources/lib/Source.d.ts +45 -0
  227. package/compiled/webpack-sources/lib/SourceMapSource.d.ts +22 -0
  228. package/compiled/webpack-sources/lib/index.d.ts +60 -0
  229. package/compiled/webpack-sources/package.json +1 -0
  230. package/compiled/webpack-sources/source-list-map/index.d.ts +91 -0
  231. package/compiled/webpack-sources/source-map/source-map.d.ts +369 -0
  232. package/compiled/ws/LICENSE +19 -0
  233. package/compiled/ws/index.d.ts +359 -0
  234. package/compiled/ws/index.js +1 -0
  235. package/compiled/ws/package.json +1 -0
  236. package/dist/build.d.ts +17 -0
  237. package/dist/build.js +72 -0
  238. package/{lib → dist}/cli.d.ts +0 -0
  239. package/dist/cli.js +93 -0
  240. package/{lib/webpackHotDevClient/webpackHotDevClient.d.ts → dist/client/client.d.ts} +0 -0
  241. package/dist/client/client.js +239 -0
  242. package/dist/config/_sampleFeature.d.ts +10 -0
  243. package/dist/config/_sampleFeature.js +22 -0
  244. package/dist/config/assetRules.d.ts +11 -0
  245. package/dist/config/assetRules.js +57 -0
  246. package/dist/config/bundleAnalyzerPlugin.d.ts +10 -0
  247. package/dist/config/bundleAnalyzerPlugin.js +30 -0
  248. package/dist/config/compressPlugin.d.ts +10 -0
  249. package/dist/config/compressPlugin.js +77 -0
  250. package/dist/config/config.d.ts +20 -0
  251. package/dist/config/config.js +178 -0
  252. package/dist/config/copyPlugin.d.ts +10 -0
  253. package/dist/config/copyPlugin.js +49 -0
  254. package/dist/config/cssRules.d.ts +11 -0
  255. package/dist/config/cssRules.js +98 -0
  256. package/dist/config/definePlugin.d.ts +15 -0
  257. package/dist/config/definePlugin.js +45 -0
  258. package/dist/config/fastRefreshPlugin.d.ts +12 -0
  259. package/dist/config/fastRefreshPlugin.js +34 -0
  260. package/dist/config/ignorePlugin.d.ts +10 -0
  261. package/dist/config/ignorePlugin.js +27 -0
  262. package/dist/config/javaScriptRules.d.ts +14 -0
  263. package/dist/config/javaScriptRules.js +155 -0
  264. package/dist/config/miniCSSExtractPlugin.d.ts +10 -0
  265. package/dist/config/miniCSSExtractPlugin.js +34 -0
  266. package/dist/config/nodePolyfill.d.ts +10 -0
  267. package/dist/config/nodePolyfill.js +34 -0
  268. package/dist/config/progressPlugin.d.ts +11 -0
  269. package/dist/config/progressPlugin.js +27 -0
  270. package/dist/config/purgecssWebpackPlugin.d.ts +10 -0
  271. package/dist/config/purgecssWebpackPlugin.js +32 -0
  272. package/dist/config/speedMeasureWebpackPlugin.d.ts +6 -0
  273. package/dist/config/speedMeasureWebpackPlugin.js +34 -0
  274. package/dist/config/svgRules.d.ts +12 -0
  275. package/dist/config/svgRules.js +57 -0
  276. package/dist/constants.d.ts +11 -0
  277. package/dist/constants.js +15 -0
  278. package/dist/dev.d.ts +19 -0
  279. package/dist/dev.js +87 -0
  280. package/dist/index.d.ts +5 -0
  281. package/dist/index.js +16 -0
  282. package/dist/loader/svgr.d.ts +4 -0
  283. package/dist/loader/svgr.js +67 -0
  284. package/dist/plugins/ESBuildCSSMinifyPlugin.d.ts +11 -0
  285. package/dist/plugins/ESBuildCSSMinifyPlugin.js +65 -0
  286. package/dist/plugins/ProgressPlugin.d.ts +15 -0
  287. package/dist/plugins/ProgressPlugin.js +44 -0
  288. package/dist/plugins/_SamplePlugin.d.ts +9 -0
  289. package/dist/plugins/_SamplePlugin.js +14 -0
  290. package/dist/requireHook.d.ts +1 -0
  291. package/dist/requireHook.js +31 -0
  292. package/dist/schema.d.ts +3 -0
  293. package/dist/schema.js +72 -0
  294. package/dist/server/server.d.ts +16 -0
  295. package/dist/server/server.js +158 -0
  296. package/dist/server/ws.d.ts +8 -0
  297. package/dist/server/ws.js +42 -0
  298. package/dist/swcPlugins/autoCSSModules.d.ts +8 -0
  299. package/dist/swcPlugins/autoCSSModules.js +35 -0
  300. package/dist/swcPlugins/lockCoreJS.d.ts +6 -0
  301. package/dist/swcPlugins/lockCoreJS.js +23 -0
  302. package/dist/types.d.ts +100 -0
  303. package/dist/types.js +29 -0
  304. package/dist/utils/browsersList.d.ts +5 -0
  305. package/dist/utils/browsersList.js +10 -0
  306. package/dist/utils/depMatch.d.ts +6 -0
  307. package/dist/utils/depMatch.js +46 -0
  308. package/dist/utils/formatWebpackMessages.d.ts +12 -0
  309. package/dist/utils/formatWebpackMessages.js +100 -0
  310. package/package.json +171 -43
  311. package/bundled/css/hotModuleReplacement.js +0 -1203
  312. package/bundled/js/webpackHotDevClient.js +0 -13386
  313. package/lib/DevCompileDonePlugin.d.ts +0 -10
  314. package/lib/DevCompileDonePlugin.js +0 -53
  315. package/lib/cli.js +0 -184
  316. package/lib/getConfig/css.d.ts +0 -22
  317. package/lib/getConfig/css.js +0 -186
  318. package/lib/getConfig/getConfig.d.ts +0 -26
  319. package/lib/getConfig/getConfig.js +0 -578
  320. package/lib/getConfig/nodeModulesTransform.d.ts +0 -13
  321. package/lib/getConfig/nodeModulesTransform.js +0 -141
  322. package/lib/getConfig/pkgMatch.d.ts +0 -2
  323. package/lib/getConfig/pkgMatch.js +0 -58
  324. package/lib/getConfig/resolveDefine.d.ts +0 -5
  325. package/lib/getConfig/resolveDefine.js +0 -53
  326. package/lib/getConfig/runtimePublicPathEntry.d.ts +0 -1
  327. package/lib/getConfig/runtimePublicPathEntry.js +0 -3
  328. package/lib/getConfig/terserOptions.d.ts +0 -41
  329. package/lib/getConfig/terserOptions.js +0 -64
  330. package/lib/index.d.ts +0 -34
  331. package/lib/index.js +0 -314
  332. package/lib/requireHook.d.ts +0 -3
  333. package/lib/requireHook.js +0 -51
  334. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssDependency.js +0 -94
  335. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssDependencyTemplate.js +0 -26
  336. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssLoadingRuntimeModule.js +0 -93
  337. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssModule.js +0 -164
  338. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssModuleFactory.js +0 -32
  339. package/lib/webpack/plugins/mini-css-extract-plugin/src/cjs.js +0 -15
  340. package/lib/webpack/plugins/mini-css-extract-plugin/src/index.js +0 -542
  341. package/lib/webpack/plugins/mini-css-extract-plugin/src/loader.js +0 -319
  342. package/lib/webpack/plugins/mini-css-extract-plugin/src/utils.js +0 -97
  343. package/lib/webpack/plugins/mini-css-extract-plugin.d.ts +0 -1
  344. package/lib/webpack/plugins/mini-css-extract-plugin.js +0 -15
  345. package/lib/webpack/plugins/terser-webpack-plugin/package.json +0 -3
  346. package/lib/webpack/plugins/terser-webpack-plugin/src/Webpack4Cache.js +0 -187
  347. package/lib/webpack/plugins/terser-webpack-plugin/src/Webpack5Cache.js +0 -61
  348. package/lib/webpack/plugins/terser-webpack-plugin/src/index.js +0 -683
  349. package/lib/webpack/plugins/terser-webpack-plugin/src/minify.js +0 -197
  350. package/lib/webpack/plugins/terser-webpack-plugin.d.ts +0 -1
  351. package/lib/webpack/plugins/terser-webpack-plugin.js +0 -15
  352. package/lib/webpackHotDevClient/formatWebpackMessages.d.ts +0 -11
  353. package/lib/webpackHotDevClient/formatWebpackMessages.js +0 -127
  354. package/lib/webpackHotDevClient/webpackHotDevClient.js +0 -311
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __importDefault = (this && this.__importDefault) || function (mod) {
31
+ return (mod && mod.__esModule) ? mod : { "default": mod };
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ const strip_ansi_1 = __importDefault(require("@umijs/utils/compiled/strip-ansi"));
35
+ // @ts-ignore
36
+ const ErrorOverlay = __importStar(require("react-error-overlay"));
37
+ const constants_1 = require("../constants");
38
+ const formatWebpackMessages_1 = require("../utils/formatWebpackMessages");
39
+ console.log('[webpack] connecting...');
40
+ let pingTimer = null;
41
+ const host = location.host;
42
+ const wsUrl = `ws://${host}`;
43
+ let isFirstCompilation = true;
44
+ let mostRecentCompilationHash = null;
45
+ let hasCompileErrors = false;
46
+ let hadRuntimeError = false;
47
+ const socket = new WebSocket(wsUrl, 'webpack-hmr');
48
+ socket.addEventListener('message', ({ data }) => __awaiter(void 0, void 0, void 0, function* () {
49
+ data = JSON.parse(data);
50
+ if (data.type === 'connected') {
51
+ console.log(`[webpack] connected.`);
52
+ // proxy(nginx, docker) hmr ws maybe caused timeout,
53
+ // so send ping package let ws keep alive.
54
+ pingTimer = setInterval(() => socket.send('ping'), 30000);
55
+ }
56
+ else {
57
+ handleMessage(data).catch(console.error);
58
+ }
59
+ }));
60
+ function waitForSuccessfulPing(ms = 1000) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ // eslint-disable-next-line no-constant-condition
63
+ while (true) {
64
+ try {
65
+ yield fetch(`/__umi_ping`);
66
+ break;
67
+ }
68
+ catch (e) {
69
+ yield new Promise((resolve) => setTimeout(resolve, ms));
70
+ }
71
+ }
72
+ });
73
+ }
74
+ socket.addEventListener('close', () => __awaiter(void 0, void 0, void 0, function* () {
75
+ if (pingTimer)
76
+ clearInterval(pingTimer);
77
+ console.info('[webpack] Dev server disconnected. Polling for restart...');
78
+ yield waitForSuccessfulPing();
79
+ location.reload();
80
+ }));
81
+ ErrorOverlay.startReportingRuntimeErrors({
82
+ onError: function () {
83
+ hadRuntimeError = true;
84
+ },
85
+ filename: '/static/js/bundle.js',
86
+ });
87
+ // @ts-ignore
88
+ if (module.hot && typeof module.hot.dispose === 'function') {
89
+ // @ts-ignore
90
+ module.hot.dispose(function () {
91
+ // TODO: why do we need this?
92
+ ErrorOverlay.stopReportingRuntimeErrors();
93
+ });
94
+ }
95
+ // There is a newer version of the code available.
96
+ function handleAvailableHash(hash) {
97
+ // Update last known compilation hash.
98
+ mostRecentCompilationHash = hash;
99
+ }
100
+ function handleSuccess() {
101
+ const isHotUpdate = !isFirstCompilation;
102
+ isFirstCompilation = false;
103
+ hasCompileErrors = false;
104
+ // Attempt to apply hot updates or reload.
105
+ if (isHotUpdate) {
106
+ tryApplyUpdates(function onHotUpdateSuccess() {
107
+ // Only dismiss it when we're sure it's a hot update.
108
+ // Otherwise it would flicker right before the reload.
109
+ tryDismissErrorOverlay();
110
+ });
111
+ }
112
+ }
113
+ function handleWarnings(warnings) {
114
+ const isHotUpdate = !isFirstCompilation;
115
+ isFirstCompilation = false;
116
+ hasCompileErrors = false;
117
+ const formatted = (0, formatWebpackMessages_1.formatWebpackMessages)({
118
+ warnings,
119
+ errors: [],
120
+ });
121
+ // print warnings
122
+ if (typeof console !== 'undefined' && typeof console.warn === 'function') {
123
+ for (let i = 0; i < formatted.warnings.length; i++) {
124
+ if (i === 5) {
125
+ console.warn('There were more warnings in other files.\n' +
126
+ 'You can find a complete log in the terminal.');
127
+ break;
128
+ }
129
+ console.warn((0, strip_ansi_1.default)(formatted.warnings[i]));
130
+ }
131
+ }
132
+ // Attempt to apply hot updates or reload.
133
+ if (isHotUpdate) {
134
+ tryApplyUpdates(function onSuccessfulHotUpdate() {
135
+ // Only dismiss it when we're sure it's a hot update.
136
+ // Otherwise it would flicker right before the reload.
137
+ tryDismissErrorOverlay();
138
+ });
139
+ }
140
+ }
141
+ function handleErrors(errors) {
142
+ isFirstCompilation = false;
143
+ hasCompileErrors = true;
144
+ const formatted = (0, formatWebpackMessages_1.formatWebpackMessages)({
145
+ warnings: [],
146
+ errors,
147
+ });
148
+ // Only show the first error.
149
+ ErrorOverlay.reportBuildError(formatted.errors[0]);
150
+ // Also log them to the console.
151
+ if (typeof console !== 'undefined' && typeof console.error === 'function') {
152
+ for (let i = 0; i < formatted.errors.length; i++) {
153
+ console.error((0, strip_ansi_1.default)(formatted.errors[i]));
154
+ }
155
+ }
156
+ }
157
+ function tryDismissErrorOverlay() {
158
+ if (!hasCompileErrors) {
159
+ ErrorOverlay.dismissBuildError();
160
+ }
161
+ }
162
+ // Is there a newer version of this code available?
163
+ function isUpdateAvailable() {
164
+ // @ts-ignore
165
+ return mostRecentCompilationHash !== __webpack_hash__;
166
+ }
167
+ function canApplyUpdates() {
168
+ // @ts-ignore
169
+ return module.hot.status() === 'idle';
170
+ }
171
+ function canAcceptErrors() {
172
+ // NOTE: This var is injected by Webpack's DefinePlugin, and is a boolean instead of string.
173
+ const hasReactRefresh = process.env.FAST_REFRESH;
174
+ // @ts-ignore
175
+ const status = module.hot.status();
176
+ // React refresh can handle hot-reloading over errors.
177
+ // However, when hot-reload status is abort or fail,
178
+ // it indicates the current update cannot be applied safely,
179
+ // and thus we should bail out to a forced reload for consistency.
180
+ return hasReactRefresh && ['abort', 'fail'].indexOf(status) === -1;
181
+ }
182
+ function tryApplyUpdates(onHotUpdateSuccess) {
183
+ // @ts-ignore
184
+ if (!module.hot) {
185
+ window.location.reload();
186
+ return;
187
+ }
188
+ if (!isUpdateAvailable() || !canApplyUpdates()) {
189
+ return;
190
+ }
191
+ function handleApplyUpdates(err, updatedModules) {
192
+ const haveErrors = err || hadRuntimeError;
193
+ // When there is no error but updatedModules is unavailable,
194
+ // it indicates a critical failure in hot-reloading,
195
+ // e.g. server is not ready to serve new bundle,
196
+ // and hence we need to do a forced reload.
197
+ const needsForcedReload = !err && !updatedModules;
198
+ if ((haveErrors && !canAcceptErrors()) || needsForcedReload) {
199
+ window.location.reload();
200
+ }
201
+ if (onHotUpdateSuccess)
202
+ onHotUpdateSuccess();
203
+ // While we were updating, there was a new update! Do it again.
204
+ if (isUpdateAvailable()) {
205
+ tryApplyUpdates();
206
+ }
207
+ }
208
+ // @ts-ignore
209
+ module.hot
210
+ .check(/* autoApply */ true)
211
+ .then((updatedModules) => {
212
+ handleApplyUpdates(null, updatedModules);
213
+ })
214
+ .catch((err) => {
215
+ handleApplyUpdates(err, null);
216
+ });
217
+ }
218
+ function handleMessage(payload) {
219
+ return __awaiter(this, void 0, void 0, function* () {
220
+ // console.log('[payload]', payload);
221
+ switch (payload.type) {
222
+ case constants_1.MESSAGE_TYPE.hash:
223
+ handleAvailableHash(payload.data);
224
+ break;
225
+ case constants_1.MESSAGE_TYPE.stillOk:
226
+ case constants_1.MESSAGE_TYPE.ok:
227
+ handleSuccess();
228
+ break;
229
+ case constants_1.MESSAGE_TYPE.errors:
230
+ handleErrors(payload.data);
231
+ break;
232
+ case constants_1.MESSAGE_TYPE.warnings:
233
+ handleWarnings(payload.data);
234
+ break;
235
+ default:
236
+ // Do nothing
237
+ }
238
+ });
239
+ }
@@ -0,0 +1,10 @@
1
+ import Config from '@umijs/bundler-webpack/compiled/webpack-5-chain';
2
+ import { Env, IConfig } from '../types';
3
+ interface IOpts {
4
+ config: Config;
5
+ userConfig: IConfig;
6
+ cwd: string;
7
+ env: Env;
8
+ }
9
+ export declare function addSampleFeature(opts: IOpts): Promise<void>;
10
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.addSampleFeature = void 0;
13
+ function addSampleFeature(opts) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ const { config, userConfig, cwd, env } = opts;
16
+ config;
17
+ userConfig;
18
+ cwd;
19
+ env;
20
+ });
21
+ }
22
+ exports.addSampleFeature = addSampleFeature;
@@ -0,0 +1,11 @@
1
+ import Config from '@umijs/bundler-webpack/compiled/webpack-5-chain';
2
+ import { Env, IConfig } from '../types';
3
+ interface IOpts {
4
+ config: Config;
5
+ userConfig: IConfig;
6
+ cwd: string;
7
+ env: Env;
8
+ staticPathPrefix: string;
9
+ }
10
+ export declare function addAssetRules(opts: IOpts): Promise<void>;
11
+ export {};
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.addAssetRules = void 0;
13
+ function addAssetRules(opts) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ const { config, userConfig } = opts;
16
+ const inlineLimit = parseInt(userConfig.inlineLimit || '10000', 10);
17
+ const rule = config.module.rule('asset');
18
+ rule
19
+ .oneOf('avif')
20
+ .test(/\.avif$/)
21
+ .type('asset')
22
+ .mimetype('image/avif')
23
+ .parser({
24
+ dataUrlCondition: {
25
+ maxSize: inlineLimit,
26
+ },
27
+ })
28
+ .generator({
29
+ filename: `${opts.staticPathPrefix}[name].[hash:8].[ext]`,
30
+ });
31
+ rule
32
+ .oneOf('image')
33
+ .test(/\.(bmp|gif|jpg|jpeg|png)$/)
34
+ .type('asset')
35
+ .parser({
36
+ dataUrlCondition: {
37
+ maxSize: inlineLimit,
38
+ },
39
+ })
40
+ .generator({
41
+ filename: `${opts.staticPathPrefix}[name].[hash:8].[ext]`,
42
+ });
43
+ rule
44
+ .oneOf('fallback')
45
+ .exclude.add(/^$/) /* handle data: resources */
46
+ .add(/\.(js|mjs|jsx|ts|tsx)$/)
47
+ .add(/\.(css|less|sass|scss|stylus)$/)
48
+ .add(/\.html$/)
49
+ .add(/\.json$/)
50
+ .end()
51
+ .type('asset/resource')
52
+ .generator({
53
+ filename: `${opts.staticPathPrefix}[name].[hash:8].[ext]`,
54
+ });
55
+ });
56
+ }
57
+ exports.addAssetRules = addAssetRules;
@@ -0,0 +1,10 @@
1
+ import Config from '@umijs/bundler-webpack/compiled/webpack-5-chain';
2
+ import { Env, IConfig } from '../types';
3
+ interface IOpts {
4
+ config: Config;
5
+ userConfig: IConfig;
6
+ cwd: string;
7
+ env: Env;
8
+ }
9
+ export declare function addBundleAnalyzerPlugin(opts: IOpts): Promise<void>;
10
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.addBundleAnalyzerPlugin = void 0;
13
+ // @ts-ignore
14
+ const webpack_bundle_analyzer_1 = require("@umijs/bundler-webpack/compiled/webpack-bundle-analyzer");
15
+ function addBundleAnalyzerPlugin(opts) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ const { config } = opts;
18
+ config.plugin('webpack-bundle-analyzer').use(webpack_bundle_analyzer_1.BundleAnalyzerPlugin, [
19
+ // https://github.com/webpack-contrib/webpack-bundle-analyzer
20
+ {
21
+ analyzerMode: 'server',
22
+ analyzerPort: process.env.ANALYZE_PORT || 8888,
23
+ openAnalyzer: false,
24
+ logLevel: 'info',
25
+ defaultSizes: 'parsed',
26
+ },
27
+ ]);
28
+ });
29
+ }
30
+ exports.addBundleAnalyzerPlugin = addBundleAnalyzerPlugin;
@@ -0,0 +1,10 @@
1
+ import Config from '../../compiled/webpack-5-chain';
2
+ import { Env, IConfig } from '../types';
3
+ interface IOpts {
4
+ config: Config;
5
+ userConfig: IConfig;
6
+ cwd: string;
7
+ env: Env;
8
+ }
9
+ export declare function addCompressPlugin(opts: IOpts): Promise<void>;
10
+ export {};
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.addCompressPlugin = void 0;
16
+ // @ts-ignore
17
+ const css_minimizer_webpack_plugin_1 = __importDefault(require("@umijs/bundler-webpack/compiled/css-minimizer-webpack-plugin"));
18
+ const terser_webpack_plugin_1 = __importDefault(require("../../compiled/terser-webpack-plugin"));
19
+ const ESBuildCSSMinifyPlugin_1 = __importDefault(require("../plugins/ESBuildCSSMinifyPlugin"));
20
+ const types_1 = require("../types");
21
+ function addCompressPlugin(opts) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const { config, userConfig, env } = opts;
24
+ const jsMinifier = userConfig.jsMinifier || types_1.JSMinifier.esbuild;
25
+ const cssMinifier = userConfig.cssMinifier || types_1.CSSMinifier.esbuild;
26
+ if (env === types_1.Env.development ||
27
+ process.env.COMPRESS === 'none' ||
28
+ (jsMinifier === types_1.JSMinifier.none && cssMinifier === types_1.CSSMinifier.none)) {
29
+ config.optimization.minimize(false);
30
+ return;
31
+ }
32
+ config.optimization.minimize(true);
33
+ let minify;
34
+ if (jsMinifier === types_1.JSMinifier.esbuild) {
35
+ minify = terser_webpack_plugin_1.default.esbuildMinify;
36
+ }
37
+ else if (jsMinifier === types_1.JSMinifier.terser) {
38
+ minify = terser_webpack_plugin_1.default.terserMinify;
39
+ }
40
+ else if (jsMinifier === types_1.JSMinifier.swc) {
41
+ minify = terser_webpack_plugin_1.default.swcMinify;
42
+ }
43
+ else if (jsMinifier === types_1.JSMinifier.uglifyJs) {
44
+ minify = terser_webpack_plugin_1.default.uglifyJsMinify;
45
+ }
46
+ else if (jsMinifier !== types_1.JSMinifier.none) {
47
+ throw new Error(`Unsupported jsMinifier ${userConfig.jsMinifier}.`);
48
+ }
49
+ if (jsMinifier !== types_1.JSMinifier.none) {
50
+ config.optimization.minimizer(`js-${jsMinifier}`).use(terser_webpack_plugin_1.default, [
51
+ {
52
+ minify,
53
+ terserOptions: userConfig.jsMinifierOptions,
54
+ },
55
+ ]);
56
+ }
57
+ if (cssMinifier === types_1.CSSMinifier.esbuild) {
58
+ config.optimization
59
+ .minimizer(`css-${cssMinifier}`)
60
+ .use(ESBuildCSSMinifyPlugin_1.default, [userConfig.cssMinifierOptions]);
61
+ }
62
+ else if (cssMinifier === types_1.CSSMinifier.cssnano) {
63
+ config.optimization
64
+ .minimizer(`css-${cssMinifier}`)
65
+ .use(css_minimizer_webpack_plugin_1.default, [
66
+ {
67
+ minimizerOptions: userConfig.cssMinifierOptions,
68
+ parallel: true,
69
+ },
70
+ ]);
71
+ }
72
+ else if (cssMinifier !== types_1.CSSMinifier.none) {
73
+ throw new Error(`Unsupported cssMinifier ${userConfig.cssMinifier}.`);
74
+ }
75
+ });
76
+ }
77
+ exports.addCompressPlugin = addCompressPlugin;
@@ -0,0 +1,20 @@
1
+ import { Configuration } from '../../compiled/webpack';
2
+ import { Env, IConfig } from '../types';
3
+ interface IOpts {
4
+ cwd: string;
5
+ env: Env;
6
+ entry: Record<string, string>;
7
+ extraBabelPresets?: any[];
8
+ extraBabelPlugins?: any[];
9
+ babelPreset?: any;
10
+ chainWebpack?: Function;
11
+ modifyWebpackConfig?: Function;
12
+ hash?: boolean;
13
+ hmr?: boolean;
14
+ staticPathPrefix?: string;
15
+ userConfig: IConfig;
16
+ analyze?: any;
17
+ name?: string;
18
+ }
19
+ export declare function getConfig(opts: IOpts): Promise<Configuration>;
20
+ export {};
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.getConfig = void 0;
16
+ const path_1 = require("path");
17
+ const webpack_1 = __importDefault(require("../../compiled/webpack"));
18
+ const webpack_5_chain_1 = __importDefault(require("../../compiled/webpack-5-chain"));
19
+ const constants_1 = require("../constants");
20
+ const types_1 = require("../types");
21
+ const browsersList_1 = require("../utils/browsersList");
22
+ const assetRules_1 = require("./assetRules");
23
+ const bundleAnalyzerPlugin_1 = require("./bundleAnalyzerPlugin");
24
+ const compressPlugin_1 = require("./compressPlugin");
25
+ const copyPlugin_1 = require("./copyPlugin");
26
+ const cssRules_1 = require("./cssRules");
27
+ const definePlugin_1 = require("./definePlugin");
28
+ const fastRefreshPlugin_1 = require("./fastRefreshPlugin");
29
+ const ignorePlugin_1 = require("./ignorePlugin");
30
+ const javaScriptRules_1 = require("./javaScriptRules");
31
+ const miniCSSExtractPlugin_1 = require("./miniCSSExtractPlugin");
32
+ const nodePolyfill_1 = require("./nodePolyfill");
33
+ const progressPlugin_1 = require("./progressPlugin");
34
+ const speedMeasureWebpackPlugin_1 = require("./speedMeasureWebpackPlugin");
35
+ const svgRules_1 = require("./svgRules");
36
+ function getConfig(opts) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ const { userConfig } = opts;
39
+ const isDev = opts.env === types_1.Env.development;
40
+ const config = new webpack_5_chain_1.default();
41
+ userConfig.targets = userConfig.targets || {
42
+ chrome: 80,
43
+ };
44
+ const applyOpts = {
45
+ name: opts.name,
46
+ config,
47
+ userConfig,
48
+ cwd: opts.cwd,
49
+ env: opts.env,
50
+ babelPreset: opts.babelPreset,
51
+ extraBabelPlugins: opts.extraBabelPlugins || [],
52
+ extraBabelPresets: opts.extraBabelPresets || [],
53
+ browsers: (0, browsersList_1.getBrowsersList)({
54
+ targets: userConfig.targets,
55
+ }),
56
+ staticPathPrefix: opts.staticPathPrefix !== undefined ? opts.staticPathPrefix : 'static/',
57
+ };
58
+ // mode
59
+ config.mode(opts.env);
60
+ config.stats('none');
61
+ // entry
62
+ Object.keys(opts.entry).forEach((key) => {
63
+ const entry = config.entry(key);
64
+ // TODO: runtimePublicPath
65
+ if (isDev && opts.hmr) {
66
+ entry.add(require.resolve('../../client/client/client'));
67
+ }
68
+ entry.add(opts.entry[key]);
69
+ });
70
+ // devtool
71
+ config.devtool(isDev
72
+ ? userConfig.devtool === false
73
+ ? false
74
+ : userConfig.devtool || constants_1.DEFAULT_DEVTOOL
75
+ : userConfig.devtool);
76
+ // output
77
+ const absOutputPath = (0, path_1.join)(opts.cwd, userConfig.outputPath || constants_1.DEFAULT_OUTPUT_PATH);
78
+ const useHash = opts.hash || (userConfig.hash && !isDev);
79
+ const disableCompress = process.env.COMPRESS === 'none';
80
+ config.output
81
+ .path(absOutputPath)
82
+ .filename(useHash ? `[name].[contenthash:8].js` : `[name].js`)
83
+ .chunkFilename(useHash ? `[name].[contenthash:8].async.js` : `[name].js`)
84
+ .publicPath(userConfig.publicPath || 'auto')
85
+ .pathinfo(isDev || disableCompress);
86
+ // resolve
87
+ // prettier-ignore
88
+ config.resolve
89
+ .set('symlinks', true)
90
+ .modules
91
+ .add('node_modules')
92
+ .end()
93
+ .alias
94
+ .merge(userConfig.alias || {})
95
+ .end()
96
+ .extensions
97
+ .merge([
98
+ '.wasm',
99
+ '.mjs',
100
+ '.js',
101
+ '.jsx',
102
+ '.ts',
103
+ '.tsx',
104
+ '.json'
105
+ ])
106
+ .end();
107
+ // externals
108
+ config.externals(userConfig.externals || []);
109
+ // target
110
+ config.target(['web', 'es5']);
111
+ // experiments
112
+ config.experiments({
113
+ topLevelAwait: true,
114
+ outputModule: !!userConfig.esm,
115
+ });
116
+ // node polyfill
117
+ yield (0, nodePolyfill_1.addNodePolyfill)(applyOpts);
118
+ // rules
119
+ yield (0, javaScriptRules_1.addJavaScriptRules)(applyOpts);
120
+ yield (0, cssRules_1.addCSSRules)(applyOpts);
121
+ yield (0, assetRules_1.addAssetRules)(applyOpts);
122
+ yield (0, svgRules_1.addSVGRules)(applyOpts);
123
+ // plugins
124
+ // mini-css-extract-plugin
125
+ yield (0, miniCSSExtractPlugin_1.addMiniCSSExtractPlugin)(applyOpts);
126
+ // ignoreMomentLocale
127
+ yield (0, ignorePlugin_1.addIgnorePlugin)(applyOpts);
128
+ // define
129
+ yield (0, definePlugin_1.addDefinePlugin)(applyOpts);
130
+ // fast refresh
131
+ yield (0, fastRefreshPlugin_1.addFastRefreshPlugin)(applyOpts);
132
+ // progress
133
+ yield (0, progressPlugin_1.addProgressPlugin)(applyOpts);
134
+ // copy
135
+ yield (0, copyPlugin_1.addCopyPlugin)(applyOpts);
136
+ // TODO: friendly-error
137
+ // TODO: manifest
138
+ // hmr
139
+ if (isDev && opts.hmr) {
140
+ config.plugin('hmr').use(webpack_1.default.HotModuleReplacementPlugin);
141
+ }
142
+ // compress
143
+ yield (0, compressPlugin_1.addCompressPlugin)(applyOpts);
144
+ // purgecss
145
+ // await applyPurgeCSSWebpackPlugin(applyOpts);
146
+ // analyzer
147
+ if (opts.analyze) {
148
+ yield (0, bundleAnalyzerPlugin_1.addBundleAnalyzerPlugin)(applyOpts);
149
+ }
150
+ // chain webpack
151
+ if (opts.chainWebpack) {
152
+ yield opts.chainWebpack(config, {
153
+ env: opts.env,
154
+ webpack: webpack_1.default,
155
+ });
156
+ }
157
+ if (userConfig.chainWebpack) {
158
+ yield userConfig.chainWebpack(config, {
159
+ env: opts.env,
160
+ webpack: webpack_1.default,
161
+ });
162
+ }
163
+ let webpackConfig = config.toConfig();
164
+ // speed measure
165
+ // TODO: mini-css-extract-plugin 报错
166
+ webpackConfig = yield (0, speedMeasureWebpackPlugin_1.addSpeedMeasureWebpackPlugin)({
167
+ webpackConfig,
168
+ });
169
+ if (opts.modifyWebpackConfig) {
170
+ webpackConfig = yield opts.modifyWebpackConfig(webpackConfig, {
171
+ env: opts.env,
172
+ webpack: webpack_1.default,
173
+ });
174
+ }
175
+ return webpackConfig;
176
+ });
177
+ }
178
+ exports.getConfig = getConfig;