@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,690 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.esbuildMinify = esbuildMinify;
7
+ exports.swcMinify = swcMinify;
8
+ exports.terserMinify = terserMinify;
9
+ exports.throttleAll = throttleAll;
10
+ exports.uglifyJsMinify = uglifyJsMinify;
11
+
12
+ /** @typedef {import("source-map").RawSourceMap} RawSourceMap */
13
+
14
+ /** @typedef {import("terser").FormatOptions} TerserFormatOptions */
15
+
16
+ /** @typedef {import("terser").MinifyOptions} TerserOptions */
17
+
18
+ /** @typedef {import("terser").ECMA} TerserECMA */
19
+
20
+ /** @typedef {import("./index.js").ExtractCommentsOptions} ExtractCommentsOptions */
21
+
22
+ /** @typedef {import("./index.js").ExtractCommentsFunction} ExtractCommentsFunction */
23
+
24
+ /** @typedef {import("./index.js").ExtractCommentsCondition} ExtractCommentsCondition */
25
+
26
+ /** @typedef {import("./index.js").Input} Input */
27
+
28
+ /** @typedef {import("./index.js").MinimizedResult} MinimizedResult */
29
+
30
+ /** @typedef {import("./index.js").PredefinedOptions} PredefinedOptions */
31
+
32
+ /**
33
+ * @typedef {{ [key: string]: any }} CustomOptions
34
+ */
35
+
36
+ /**
37
+ * @typedef {Array<string>} ExtractedComments
38
+ */
39
+ const notSettled = Symbol(`not-settled`);
40
+ /**
41
+ * @template T
42
+ * @typedef {() => Promise<T>} Task
43
+ */
44
+
45
+ /**
46
+ * Run tasks with limited concurency.
47
+ * @template T
48
+ * @param {number} limit - Limit of tasks that run at once.
49
+ * @param {Task<T>[]} tasks - List of tasks to run.
50
+ * @returns {Promise<T[]>} A promise that fulfills to an array of the results
51
+ */
52
+
53
+ function throttleAll(limit, tasks) {
54
+ if (!Number.isInteger(limit) || limit < 1) {
55
+ throw new TypeError(`Expected \`limit\` to be a finite number > 0, got \`${limit}\` (${typeof limit})`);
56
+ }
57
+
58
+ if (!Array.isArray(tasks) || !tasks.every(task => typeof task === `function`)) {
59
+ throw new TypeError(`Expected \`tasks\` to be a list of functions returning a promise`);
60
+ }
61
+
62
+ return new Promise((resolve, reject) => {
63
+ const result = Array(tasks.length).fill(notSettled);
64
+ const entries = tasks.entries();
65
+
66
+ const next = () => {
67
+ const {
68
+ done,
69
+ value
70
+ } = entries.next();
71
+
72
+ if (done) {
73
+ const isLast = !result.includes(notSettled);
74
+ if (isLast) resolve(
75
+ /** @type{T[]} **/
76
+ result);
77
+ return;
78
+ }
79
+
80
+ const [index, task] = value;
81
+ /**
82
+ * @param {T} x
83
+ */
84
+
85
+ const onFulfilled = x => {
86
+ result[index] = x;
87
+ next();
88
+ };
89
+
90
+ task().then(onFulfilled, reject);
91
+ };
92
+
93
+ Array(limit).fill(0).forEach(next);
94
+ });
95
+ }
96
+ /* istanbul ignore next */
97
+
98
+ /**
99
+ * @param {Input} input
100
+ * @param {RawSourceMap | undefined} sourceMap
101
+ * @param {PredefinedOptions & CustomOptions} minimizerOptions
102
+ * @param {ExtractCommentsOptions | undefined} extractComments
103
+ * @return {Promise<MinimizedResult>}
104
+ */
105
+
106
+
107
+ async function terserMinify(input, sourceMap, minimizerOptions, extractComments) {
108
+ /**
109
+ * @param {any} value
110
+ * @returns {boolean}
111
+ */
112
+ const isObject = value => {
113
+ const type = typeof value;
114
+ return value != null && (type === "object" || type === "function");
115
+ };
116
+ /**
117
+ * @param {TerserOptions & { sourceMap: undefined } & ({ output: TerserFormatOptions & { beautify: boolean } } | { format: TerserFormatOptions & { beautify: boolean } })} terserOptions
118
+ * @param {ExtractedComments} extractedComments
119
+ * @returns {ExtractCommentsFunction}
120
+ */
121
+
122
+
123
+ const buildComments = (terserOptions, extractedComments) => {
124
+ /** @type {{ [index: string]: ExtractCommentsCondition }} */
125
+ const condition = {};
126
+ let comments;
127
+
128
+ if (terserOptions.format) {
129
+ ({
130
+ comments
131
+ } = terserOptions.format);
132
+ } else if (terserOptions.output) {
133
+ ({
134
+ comments
135
+ } = terserOptions.output);
136
+ }
137
+
138
+ condition.preserve = typeof comments !== "undefined" ? comments : false;
139
+
140
+ if (typeof extractComments === "boolean" && extractComments) {
141
+ condition.extract = "some";
142
+ } else if (typeof extractComments === "string" || extractComments instanceof RegExp) {
143
+ condition.extract = extractComments;
144
+ } else if (typeof extractComments === "function") {
145
+ condition.extract = extractComments;
146
+ } else if (extractComments && isObject(extractComments)) {
147
+ condition.extract = typeof extractComments.condition === "boolean" && extractComments.condition ? "some" : typeof extractComments.condition !== "undefined" ? extractComments.condition : "some";
148
+ } else {
149
+ // No extract
150
+ // Preserve using "commentsOpts" or "some"
151
+ condition.preserve = typeof comments !== "undefined" ? comments : "some";
152
+ condition.extract = false;
153
+ } // Ensure that both conditions are functions
154
+
155
+
156
+ ["preserve", "extract"].forEach(key => {
157
+ /** @type {undefined | string} */
158
+ let regexStr;
159
+ /** @type {undefined | RegExp} */
160
+
161
+ let regex;
162
+
163
+ switch (typeof condition[key]) {
164
+ case "boolean":
165
+ condition[key] = condition[key] ? () => true : () => false;
166
+ break;
167
+
168
+ case "function":
169
+ break;
170
+
171
+ case "string":
172
+ if (condition[key] === "all") {
173
+ condition[key] = () => true;
174
+
175
+ break;
176
+ }
177
+
178
+ if (condition[key] === "some") {
179
+ condition[key] =
180
+ /** @type {ExtractCommentsFunction} */
181
+ (astNode, comment) => (comment.type === "comment2" || comment.type === "comment1") && /@preserve|@lic|@cc_on|^\**!/i.test(comment.value);
182
+
183
+ break;
184
+ }
185
+
186
+ regexStr =
187
+ /** @type {string} */
188
+ condition[key];
189
+
190
+ condition[key] =
191
+ /** @type {ExtractCommentsFunction} */
192
+ (astNode, comment) => new RegExp(
193
+ /** @type {string} */
194
+ regexStr).test(comment.value);
195
+
196
+ break;
197
+
198
+ default:
199
+ regex =
200
+ /** @type {RegExp} */
201
+ condition[key];
202
+
203
+ condition[key] =
204
+ /** @type {ExtractCommentsFunction} */
205
+ (astNode, comment) =>
206
+ /** @type {RegExp} */
207
+ regex.test(comment.value);
208
+
209
+ }
210
+ }); // Redefine the comments function to extract and preserve
211
+ // comments according to the two conditions
212
+
213
+ return (astNode, comment) => {
214
+ if (
215
+ /** @type {{ extract: ExtractCommentsFunction }} */
216
+ condition.extract(astNode, comment)) {
217
+ const commentText = comment.type === "comment2" ? `/*${comment.value}*/` : `//${comment.value}`; // Don't include duplicate comments
218
+
219
+ if (!extractedComments.includes(commentText)) {
220
+ extractedComments.push(commentText);
221
+ }
222
+ }
223
+
224
+ return (
225
+ /** @type {{ preserve: ExtractCommentsFunction }} */
226
+ condition.preserve(astNode, comment)
227
+ );
228
+ };
229
+ };
230
+ /**
231
+ * @param {PredefinedOptions & TerserOptions} [terserOptions={}]
232
+ * @returns {TerserOptions & { sourceMap: undefined } & ({ output: TerserFormatOptions & { beautify: boolean } } | { format: TerserFormatOptions & { beautify: boolean } })}
233
+ */
234
+
235
+
236
+ const buildTerserOptions = (terserOptions = {}) => {
237
+ // Need deep copy objects to avoid https://github.com/terser/terser/issues/366
238
+ return { ...terserOptions,
239
+ compress: typeof terserOptions.compress === "boolean" ? terserOptions.compress : { ...terserOptions.compress
240
+ },
241
+ // ecma: terserOptions.ecma,
242
+ // ie8: terserOptions.ie8,
243
+ // keep_classnames: terserOptions.keep_classnames,
244
+ // keep_fnames: terserOptions.keep_fnames,
245
+ mangle: terserOptions.mangle == null ? true : typeof terserOptions.mangle === "boolean" ? terserOptions.mangle : { ...terserOptions.mangle
246
+ },
247
+ // module: terserOptions.module,
248
+ // nameCache: { ...terserOptions.toplevel },
249
+ // the `output` option is deprecated
250
+ ...(terserOptions.format ? {
251
+ format: {
252
+ beautify: false,
253
+ ...terserOptions.format
254
+ }
255
+ } : {
256
+ output: {
257
+ beautify: false,
258
+ ...terserOptions.output
259
+ }
260
+ }),
261
+ parse: { ...terserOptions.parse
262
+ },
263
+ // safari10: terserOptions.safari10,
264
+ // Ignoring sourceMap from options
265
+ // eslint-disable-next-line no-undefined
266
+ sourceMap: undefined // toplevel: terserOptions.toplevel
267
+
268
+ };
269
+ }; // eslint-disable-next-line global-require
270
+
271
+
272
+ const {
273
+ minify
274
+ } = require('@umijs/bundler-webpack/compiled/terser'); // Copy `terser` options
275
+
276
+
277
+ const terserOptions = buildTerserOptions(minimizerOptions); // Let terser generate a SourceMap
278
+
279
+ if (sourceMap) {
280
+ // @ts-ignore
281
+ terserOptions.sourceMap = {
282
+ asObject: true
283
+ };
284
+ }
285
+ /** @type {ExtractedComments} */
286
+
287
+
288
+ const extractedComments = [];
289
+
290
+ if (terserOptions.output) {
291
+ terserOptions.output.comments = buildComments(terserOptions, extractedComments);
292
+ } else if (terserOptions.format) {
293
+ terserOptions.format.comments = buildComments(terserOptions, extractedComments);
294
+ }
295
+
296
+ const [[filename, code]] = Object.entries(input);
297
+ const result = await minify({
298
+ [filename]: code
299
+ }, terserOptions);
300
+ return {
301
+ code:
302
+ /** @type {string} **/
303
+ result.code,
304
+ // @ts-ignore
305
+ // eslint-disable-next-line no-undefined
306
+ map: result.map ?
307
+ /** @type {RawSourceMap} **/
308
+ result.map : undefined,
309
+ extractedComments
310
+ };
311
+ }
312
+ /**
313
+ * @returns {string | undefined}
314
+ */
315
+
316
+
317
+ terserMinify.getMinimizerVersion = () => {
318
+ let packageJson;
319
+
320
+ try {
321
+ // eslint-disable-next-line global-require
322
+ packageJson = require('@umijs/bundler-webpack/compiled/terser/package.json');
323
+ } catch (error) {// Ignore
324
+ }
325
+
326
+ return packageJson && packageJson.version;
327
+ };
328
+ /* istanbul ignore next */
329
+
330
+ /**
331
+ * @param {Input} input
332
+ * @param {RawSourceMap | undefined} sourceMap
333
+ * @param {PredefinedOptions & CustomOptions} minimizerOptions
334
+ * @param {ExtractCommentsOptions | undefined} extractComments
335
+ * @return {Promise<MinimizedResult>}
336
+ */
337
+
338
+
339
+ async function uglifyJsMinify(input, sourceMap, minimizerOptions, extractComments) {
340
+ /**
341
+ * @param {any} value
342
+ * @returns {boolean}
343
+ */
344
+ const isObject = value => {
345
+ const type = typeof value;
346
+ return value != null && (type === "object" || type === "function");
347
+ };
348
+ /**
349
+ * @param {import("uglify-js").MinifyOptions & { sourceMap: undefined } & { output: import("uglify-js").OutputOptions & { beautify: boolean }}} uglifyJsOptions
350
+ * @param {ExtractedComments} extractedComments
351
+ * @returns {ExtractCommentsFunction}
352
+ */
353
+
354
+
355
+ const buildComments = (uglifyJsOptions, extractedComments) => {
356
+ /** @type {{ [index: string]: ExtractCommentsCondition }} */
357
+ const condition = {};
358
+ const {
359
+ comments
360
+ } = uglifyJsOptions.output;
361
+ condition.preserve = typeof comments !== "undefined" ? comments : false;
362
+
363
+ if (typeof extractComments === "boolean" && extractComments) {
364
+ condition.extract = "some";
365
+ } else if (typeof extractComments === "string" || extractComments instanceof RegExp) {
366
+ condition.extract = extractComments;
367
+ } else if (typeof extractComments === "function") {
368
+ condition.extract = extractComments;
369
+ } else if (extractComments && isObject(extractComments)) {
370
+ condition.extract = typeof extractComments.condition === "boolean" && extractComments.condition ? "some" : typeof extractComments.condition !== "undefined" ? extractComments.condition : "some";
371
+ } else {
372
+ // No extract
373
+ // Preserve using "commentsOpts" or "some"
374
+ condition.preserve = typeof comments !== "undefined" ? comments : "some";
375
+ condition.extract = false;
376
+ } // Ensure that both conditions are functions
377
+
378
+
379
+ ["preserve", "extract"].forEach(key => {
380
+ /** @type {undefined | string} */
381
+ let regexStr;
382
+ /** @type {undefined | RegExp} */
383
+
384
+ let regex;
385
+
386
+ switch (typeof condition[key]) {
387
+ case "boolean":
388
+ condition[key] = condition[key] ? () => true : () => false;
389
+ break;
390
+
391
+ case "function":
392
+ break;
393
+
394
+ case "string":
395
+ if (condition[key] === "all") {
396
+ condition[key] = () => true;
397
+
398
+ break;
399
+ }
400
+
401
+ if (condition[key] === "some") {
402
+ condition[key] =
403
+ /** @type {ExtractCommentsFunction} */
404
+ (astNode, comment) => (comment.type === "comment2" || comment.type === "comment1") && /@preserve|@lic|@cc_on|^\**!/i.test(comment.value);
405
+
406
+ break;
407
+ }
408
+
409
+ regexStr =
410
+ /** @type {string} */
411
+ condition[key];
412
+
413
+ condition[key] =
414
+ /** @type {ExtractCommentsFunction} */
415
+ (astNode, comment) => new RegExp(
416
+ /** @type {string} */
417
+ regexStr).test(comment.value);
418
+
419
+ break;
420
+
421
+ default:
422
+ regex =
423
+ /** @type {RegExp} */
424
+ condition[key];
425
+
426
+ condition[key] =
427
+ /** @type {ExtractCommentsFunction} */
428
+ (astNode, comment) =>
429
+ /** @type {RegExp} */
430
+ regex.test(comment.value);
431
+
432
+ }
433
+ }); // Redefine the comments function to extract and preserve
434
+ // comments according to the two conditions
435
+
436
+ return (astNode, comment) => {
437
+ if (
438
+ /** @type {{ extract: ExtractCommentsFunction }} */
439
+ condition.extract(astNode, comment)) {
440
+ const commentText = comment.type === "comment2" ? `/*${comment.value}*/` : `//${comment.value}`; // Don't include duplicate comments
441
+
442
+ if (!extractedComments.includes(commentText)) {
443
+ extractedComments.push(commentText);
444
+ }
445
+ }
446
+
447
+ return (
448
+ /** @type {{ preserve: ExtractCommentsFunction }} */
449
+ condition.preserve(astNode, comment)
450
+ );
451
+ };
452
+ };
453
+ /**
454
+ * @param {PredefinedOptions & import("uglify-js").MinifyOptions} [uglifyJsOptions={}]
455
+ * @returns {import("uglify-js").MinifyOptions & { sourceMap: undefined } & { output: import("uglify-js").OutputOptions & { beautify: boolean }}}
456
+ */
457
+
458
+
459
+ const buildUglifyJsOptions = (uglifyJsOptions = {}) => {
460
+ // eslint-disable-next-line no-param-reassign
461
+ delete minimizerOptions.ecma; // eslint-disable-next-line no-param-reassign
462
+
463
+ delete minimizerOptions.module; // Need deep copy objects to avoid https://github.com/terser/terser/issues/366
464
+
465
+ return { ...uglifyJsOptions,
466
+ // warnings: uglifyJsOptions.warnings,
467
+ parse: { ...uglifyJsOptions.parse
468
+ },
469
+ compress: typeof uglifyJsOptions.compress === "boolean" ? uglifyJsOptions.compress : { ...uglifyJsOptions.compress
470
+ },
471
+ mangle: uglifyJsOptions.mangle == null ? true : typeof uglifyJsOptions.mangle === "boolean" ? uglifyJsOptions.mangle : { ...uglifyJsOptions.mangle
472
+ },
473
+ output: {
474
+ beautify: false,
475
+ ...uglifyJsOptions.output
476
+ },
477
+ // Ignoring sourceMap from options
478
+ // eslint-disable-next-line no-undefined
479
+ sourceMap: undefined // toplevel: uglifyJsOptions.toplevel
480
+ // nameCache: { ...uglifyJsOptions.toplevel },
481
+ // ie8: uglifyJsOptions.ie8,
482
+ // keep_fnames: uglifyJsOptions.keep_fnames,
483
+
484
+ };
485
+ }; // eslint-disable-next-line global-require, import/no-extraneous-dependencies
486
+
487
+
488
+ const {
489
+ minify
490
+ } = require('uglify-js'); // Copy `uglify-js` options
491
+
492
+
493
+ const uglifyJsOptions = buildUglifyJsOptions(minimizerOptions); // Let terser generate a SourceMap
494
+
495
+ if (sourceMap) {
496
+ // @ts-ignore
497
+ uglifyJsOptions.sourceMap = true;
498
+ }
499
+ /** @type {ExtractedComments} */
500
+
501
+
502
+ const extractedComments = []; // @ts-ignore
503
+
504
+ uglifyJsOptions.output.comments = buildComments(uglifyJsOptions, extractedComments);
505
+ const [[filename, code]] = Object.entries(input);
506
+ const result = await minify({
507
+ [filename]: code
508
+ }, uglifyJsOptions);
509
+ return {
510
+ code: result.code,
511
+ // eslint-disable-next-line no-undefined
512
+ map: result.map ? JSON.parse(result.map) : undefined,
513
+ errors: result.error ? [result.error] : [],
514
+ warnings: result.warnings || [],
515
+ extractedComments
516
+ };
517
+ }
518
+ /**
519
+ * @returns {string | undefined}
520
+ */
521
+
522
+
523
+ uglifyJsMinify.getMinimizerVersion = () => {
524
+ let packageJson;
525
+
526
+ try {
527
+ // eslint-disable-next-line global-require, import/no-extraneous-dependencies
528
+ packageJson = require('uglify-js/package.json');
529
+ } catch (error) {// Ignore
530
+ }
531
+
532
+ return packageJson && packageJson.version;
533
+ };
534
+ /* istanbul ignore next */
535
+
536
+ /**
537
+ * @param {Input} input
538
+ * @param {RawSourceMap | undefined} sourceMap
539
+ * @param {PredefinedOptions & CustomOptions} minimizerOptions
540
+ * @return {Promise<MinimizedResult>}
541
+ */
542
+
543
+
544
+ async function swcMinify(input, sourceMap, minimizerOptions) {
545
+ /**
546
+ * @param {PredefinedOptions & import("@swc/core").JsMinifyOptions} [swcOptions={}]
547
+ * @returns {import("@swc/core").JsMinifyOptions & { sourceMap: undefined }}
548
+ */
549
+ const buildSwcOptions = (swcOptions = {}) => {
550
+ // Need deep copy objects to avoid https://github.com/terser/terser/issues/366
551
+ return { ...swcOptions,
552
+ compress: typeof swcOptions.compress === "boolean" ? swcOptions.compress : { ...swcOptions.compress
553
+ },
554
+ mangle: swcOptions.mangle == null ? true : typeof swcOptions.mangle === "boolean" ? swcOptions.mangle : { ...swcOptions.mangle
555
+ },
556
+ // ecma: swcOptions.ecma,
557
+ // keep_classnames: swcOptions.keep_classnames,
558
+ // keep_fnames: swcOptions.keep_fnames,
559
+ // module: swcOptions.module,
560
+ // safari10: swcOptions.safari10,
561
+ // toplevel: swcOptions.toplevel
562
+ // eslint-disable-next-line no-undefined
563
+ sourceMap: undefined
564
+ };
565
+ }; // eslint-disable-next-line import/no-extraneous-dependencies, global-require
566
+
567
+
568
+ const swc = require('@swc/core'); // Copy `swc` options
569
+
570
+
571
+ const swcOptions = buildSwcOptions(minimizerOptions); // Let `swc` generate a SourceMap
572
+
573
+ if (sourceMap) {
574
+ // @ts-ignore
575
+ swcOptions.sourceMap = true;
576
+ }
577
+
578
+ const [[filename, code]] = Object.entries(input);
579
+ const result = await swc.minify(code, swcOptions);
580
+ let map;
581
+
582
+ if (result.map) {
583
+ map = JSON.parse(result.map); // TODO workaround for swc because `filename` is not preset as in `swc` signature as for `terser`
584
+
585
+ map.sources = [filename];
586
+ delete map.sourcesContent;
587
+ }
588
+
589
+ return {
590
+ code: result.code,
591
+ map
592
+ };
593
+ }
594
+ /**
595
+ * @returns {string | undefined}
596
+ */
597
+
598
+
599
+ swcMinify.getMinimizerVersion = () => {
600
+ let packageJson;
601
+
602
+ try {
603
+ // eslint-disable-next-line global-require, import/no-extraneous-dependencies
604
+ packageJson = require('@swc/core/package.json');
605
+ } catch (error) {// Ignore
606
+ }
607
+
608
+ return packageJson && packageJson.version;
609
+ };
610
+ /* istanbul ignore next */
611
+
612
+ /**
613
+ * @param {Input} input
614
+ * @param {RawSourceMap | undefined} sourceMap
615
+ * @param {PredefinedOptions & CustomOptions} minimizerOptions
616
+ * @return {Promise<MinimizedResult>}
617
+ */
618
+
619
+
620
+ async function esbuildMinify(input, sourceMap, minimizerOptions) {
621
+ /**
622
+ * @param {PredefinedOptions & import("esbuild").TransformOptions} [esbuildOptions={}]
623
+ * @returns {import("esbuild").TransformOptions}
624
+ */
625
+ const buildEsbuildOptions = (esbuildOptions = {}) => {
626
+ // eslint-disable-next-line no-param-reassign
627
+ delete esbuildOptions.ecma;
628
+
629
+ if (esbuildOptions.module) {
630
+ // eslint-disable-next-line no-param-reassign
631
+ esbuildOptions.format = "esm";
632
+ } // eslint-disable-next-line no-param-reassign
633
+
634
+
635
+ delete esbuildOptions.module; // Need deep copy objects to avoid https://github.com/terser/terser/issues/366
636
+
637
+ return {
638
+ minify: true,
639
+ legalComments: "inline",
640
+ ...esbuildOptions,
641
+ sourcemap: false
642
+ };
643
+ }; // eslint-disable-next-line import/no-extraneous-dependencies, global-require
644
+
645
+
646
+ const esbuild = require('@umijs/bundler-utils/compiled/esbuild'); // Copy `esbuild` options
647
+
648
+
649
+ const esbuildOptions = buildEsbuildOptions(minimizerOptions); // Let `esbuild` generate a SourceMap
650
+
651
+ if (sourceMap) {
652
+ esbuildOptions.sourcemap = true;
653
+ esbuildOptions.sourcesContent = false;
654
+ }
655
+
656
+ const [[filename, code]] = Object.entries(input);
657
+ esbuildOptions.sourcefile = filename;
658
+ const result = await esbuild.transform(code, esbuildOptions);
659
+ return {
660
+ code: result.code,
661
+ // eslint-disable-next-line no-undefined
662
+ map: result.map ? JSON.parse(result.map) : undefined,
663
+ warnings: result.warnings.length > 0 ? result.warnings.map(item => {
664
+ return {
665
+ name: "Warning",
666
+ source: item.location && item.location.file,
667
+ line: item.location && item.location.line,
668
+ column: item.location && item.location.column,
669
+ plugin: item.pluginName,
670
+ message: `${item.text}${item.detail ? `\nDetails:\n${item.detail}` : ""}${item.notes.length > 0 ? `\n\nNotes:\n${item.notes.map(note => `${note.location ? `[${note.location.file}:${note.location.line}:${note.location.column}] ` : ""}${note.text}${note.location ? `\nSuggestion: ${note.location.suggestion}` : ""}${note.location ? `\nLine text:\n${note.location.lineText}\n` : ""}`).join("\n")}` : ""}`
671
+ };
672
+ }) : []
673
+ };
674
+ }
675
+ /**
676
+ * @returns {string | undefined}
677
+ */
678
+
679
+
680
+ esbuildMinify.getMinimizerVersion = () => {
681
+ let packageJson;
682
+
683
+ try {
684
+ // eslint-disable-next-line global-require, import/no-extraneous-dependencies
685
+ packageJson = require('@umijs/bundler-utils/compiled/esbuild/package.json');
686
+ } catch (error) {// Ignore
687
+ }
688
+
689
+ return packageJson && packageJson.version;
690
+ };
@@ -0,0 +1,20 @@
1
+ Copyright JS Foundation and other contributors
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ 'Software'), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.