@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,16 @@
1
+ /// <reference types="node" />
2
+ import { Configuration } from '@umijs/bundler-webpack/compiled/webpack';
3
+ import http from 'http';
4
+ import { IConfig } from '../types';
5
+ interface IOpts {
6
+ cwd: string;
7
+ port?: number;
8
+ host?: string;
9
+ webpackConfig: Configuration;
10
+ userConfig: IConfig;
11
+ beforeMiddlewares?: any[];
12
+ afterMiddlewares?: any[];
13
+ onDevCompileDone?: Function;
14
+ }
15
+ export declare function createServer(opts: IOpts): Promise<http.Server>;
16
+ export {};
@@ -0,0 +1,158 @@
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.createServer = void 0;
16
+ const express_1 = __importDefault(require("@umijs/bundler-webpack/compiled/express"));
17
+ const http_proxy_middleware_1 = require("@umijs/bundler-webpack/compiled/http-proxy-middleware");
18
+ const webpack_1 = __importDefault(require("@umijs/bundler-webpack/compiled/webpack"));
19
+ const utils_1 = require("@umijs/utils");
20
+ const fs_1 = require("fs");
21
+ const http_1 = __importDefault(require("http"));
22
+ const path_1 = require("path");
23
+ const constants_1 = require("../constants");
24
+ const ws_1 = require("./ws");
25
+ function createServer(opts) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ const { webpackConfig, userConfig } = opts;
28
+ const { proxy } = userConfig;
29
+ const app = (0, express_1.default)();
30
+ // compression
31
+ app.use(require('@umijs/bundler-webpack/compiled/compression')());
32
+ // TODO: headers
33
+ // before middlewares
34
+ (opts.beforeMiddlewares || []).forEach((m) => app.use(m));
35
+ // TODO: add to before middleware
36
+ app.use((req, res, next) => {
37
+ if (req.path === '/umi.js' && (0, fs_1.existsSync)((0, path_1.join)(opts.cwd, 'umi.js'))) {
38
+ res.setHeader('Content-Type', 'application/javascript');
39
+ res.send((0, fs_1.readFileSync)((0, path_1.join)(opts.cwd, 'umi.js'), 'utf-8'));
40
+ }
41
+ else {
42
+ next();
43
+ }
44
+ });
45
+ // webpack dev middleware
46
+ const compiler = (0, webpack_1.default)(Array.isArray(webpackConfig) ? webpackConfig : [webpackConfig]);
47
+ const webpackDevMiddleware = require('@umijs/bundler-webpack/compiled/webpack-dev-middleware');
48
+ const compilerMiddleware = webpackDevMiddleware(compiler, {
49
+ publicPath: '/',
50
+ writeToDisk: userConfig.writeToDisk,
51
+ stats: 'none',
52
+ // watchOptions: { ignored }
53
+ });
54
+ app.use(compilerMiddleware);
55
+ // hmr hooks
56
+ let stats;
57
+ let isFirstCompile = true;
58
+ compiler.compilers.forEach(addHooks);
59
+ function addHooks(compiler) {
60
+ compiler.hooks.invalid.tap('server', () => {
61
+ sendMessage(constants_1.MESSAGE_TYPE.invalid);
62
+ });
63
+ compiler.hooks.done.tap('server', (_stats) => {
64
+ var _a;
65
+ stats = _stats;
66
+ sendStats(getStats(stats));
67
+ (_a = opts.onDevCompileDone) === null || _a === void 0 ? void 0 : _a.call(opts, {
68
+ stats,
69
+ isFirstCompile,
70
+ time: stats.endTime - stats.startTime,
71
+ });
72
+ isFirstCompile = false;
73
+ });
74
+ }
75
+ function sendStats(stats, force, sender) {
76
+ const shouldEmit = !force &&
77
+ stats &&
78
+ (!stats.errors || stats.errors.length === 0) &&
79
+ (!stats.warnings || stats.warnings.length === 0) &&
80
+ stats.assets &&
81
+ stats.assets.every((asset) => !asset.emitted);
82
+ if (shouldEmit) {
83
+ sendMessage(constants_1.MESSAGE_TYPE.stillOk, null, sender);
84
+ return;
85
+ }
86
+ sendMessage(constants_1.MESSAGE_TYPE.hash, stats.hash, sender);
87
+ if ((stats.errors && stats.errors.length > 0) ||
88
+ (stats.warnings && stats.warnings.length > 0)) {
89
+ if (stats.warnings && stats.warnings.length > 0) {
90
+ sendMessage(constants_1.MESSAGE_TYPE.warnings, stats.warnings, sender);
91
+ }
92
+ if (stats.errors && stats.errors.length > 0) {
93
+ sendMessage(constants_1.MESSAGE_TYPE.errors, stats.errors, sender);
94
+ }
95
+ }
96
+ else {
97
+ sendMessage(constants_1.MESSAGE_TYPE.ok, null, sender);
98
+ }
99
+ }
100
+ function getStats(stats) {
101
+ return stats.toJson({
102
+ all: false,
103
+ hash: true,
104
+ assets: true,
105
+ warnings: true,
106
+ errors: true,
107
+ errorDetails: false,
108
+ });
109
+ }
110
+ function sendMessage(type, data, sender) {
111
+ (sender || ws).send(JSON.stringify({ type, data }));
112
+ }
113
+ // mock
114
+ // proxy
115
+ if (proxy) {
116
+ Object.keys(proxy).forEach((key) => {
117
+ app.use(key, (0, http_proxy_middleware_1.createProxyMiddleware)(proxy[key]));
118
+ });
119
+ }
120
+ // after middlewares
121
+ (opts.afterMiddlewares || []).forEach((m) => app.use(m));
122
+ // history fallback
123
+ app.use(require('@umijs/bundler-webpack/compiled/connect-history-api-fallback')({
124
+ index: '/',
125
+ }));
126
+ // hmr reconnect ping
127
+ app.use('/__umi_ping', (_, res) => {
128
+ res.end('pong');
129
+ });
130
+ // index.html
131
+ // TODO: remove me
132
+ app.get('/', (_req, res, next) => {
133
+ res.set('Content-Type', 'text/html');
134
+ const htmlPath = (0, path_1.join)(opts.cwd, 'index.html');
135
+ if ((0, fs_1.existsSync)(htmlPath)) {
136
+ const html = (0, fs_1.readFileSync)(htmlPath, 'utf-8');
137
+ res.send(html);
138
+ }
139
+ else {
140
+ next();
141
+ }
142
+ });
143
+ const server = http_1.default.createServer(app);
144
+ const ws = (0, ws_1.createWebSocketServer)(server);
145
+ ws.wss.on('connection', (socket) => {
146
+ if (stats) {
147
+ sendStats(getStats(stats), false, socket);
148
+ }
149
+ });
150
+ const port = opts.port || 8000;
151
+ server.listen(port, () => {
152
+ const host = opts.host && opts.host !== '0.0.0.0' ? opts.host : '127.0.0.1';
153
+ utils_1.logger.ready(`App listening at ${utils_1.chalk.green.bold(`http://${host}:${port}`)}`);
154
+ });
155
+ return server;
156
+ });
157
+ }
158
+ exports.createServer = createServer;
@@ -0,0 +1,8 @@
1
+ /// <reference types="node" />
2
+ import { Server } from 'http';
3
+ import WebSocket from '../../compiled/ws';
4
+ export declare function createWebSocketServer(server: Server): {
5
+ send(message: string): void;
6
+ wss: WebSocket.Server;
7
+ close(): void;
8
+ };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createWebSocketServer = void 0;
7
+ const utils_1 = require("@umijs/utils");
8
+ const ws_1 = __importDefault(require("../../compiled/ws"));
9
+ function createWebSocketServer(server) {
10
+ const wss = new ws_1.default.Server({
11
+ noServer: true,
12
+ });
13
+ server.on('upgrade', (req, socket, head) => {
14
+ if (req.headers['sec-websocket-protocol'] === 'webpack-hmr') {
15
+ wss.handleUpgrade(req, socket, head, (ws) => {
16
+ wss.emit('connection', ws, req);
17
+ });
18
+ }
19
+ });
20
+ wss.on('connection', (socket) => {
21
+ socket.send(JSON.stringify({ type: 'connected' }));
22
+ });
23
+ wss.on('error', (e) => {
24
+ if (e.code !== 'EADDRINUSE') {
25
+ console.error(utils_1.chalk.red(`WebSocket server error:\n${e.stack || e.message}`));
26
+ }
27
+ });
28
+ return {
29
+ send(message) {
30
+ wss.clients.forEach((client) => {
31
+ if (client.readyState === ws_1.default.OPEN) {
32
+ client.send(message);
33
+ }
34
+ });
35
+ },
36
+ wss,
37
+ close() {
38
+ wss.close();
39
+ },
40
+ };
41
+ }
42
+ exports.createWebSocketServer = createWebSocketServer;
@@ -0,0 +1,8 @@
1
+ import { ImportDeclaration, TsType, VariableDeclaration } from '@swc/core';
2
+ import Visitor from '@swc/core/Visitor';
3
+ declare class AutoCSSModule extends Visitor {
4
+ visitTsType(expression: TsType): TsType;
5
+ visitImportDeclaration(expression: ImportDeclaration): ImportDeclaration;
6
+ visitVariableDeclaration(expression: VariableDeclaration): VariableDeclaration;
7
+ }
8
+ export default AutoCSSModule;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Visitor_1 = __importDefault(require("@swc/core/Visitor"));
7
+ const path_1 = require("path");
8
+ const CSS_EXT_NAMES = ['.css', '.less', '.sass', '.scss', '.stylus', '.styl'];
9
+ class AutoCSSModule extends Visitor_1.default {
10
+ visitTsType(expression) {
11
+ return expression;
12
+ }
13
+ visitImportDeclaration(expression) {
14
+ const { specifiers, source } = expression;
15
+ const { value } = source;
16
+ if (specifiers.length && CSS_EXT_NAMES.includes((0, path_1.extname)(value))) {
17
+ return Object.assign(Object.assign({}, expression), { source: Object.assign(Object.assign({}, source), { value: `${value}?modules` }) });
18
+ }
19
+ return expression;
20
+ }
21
+ visitVariableDeclaration(expression) {
22
+ const { declarations } = expression;
23
+ if (declarations.length &&
24
+ declarations[0].init &&
25
+ declarations[0].init.type === 'AwaitExpression' &&
26
+ declarations[0].init.argument.type === 'CallExpression' &&
27
+ declarations[0].init.argument.arguments[0].expression.type ===
28
+ 'StringLiteral' &&
29
+ CSS_EXT_NAMES.includes((0, path_1.extname)(declarations[0].init.argument.arguments[0].expression.value))) {
30
+ declarations[0].init.argument.arguments[0].expression.value = `${declarations[0].init.argument.arguments[0].expression.value}?modules`;
31
+ }
32
+ return expression;
33
+ }
34
+ }
35
+ exports.default = AutoCSSModule;
@@ -0,0 +1,6 @@
1
+ import { ImportDeclaration } from '@swc/core';
2
+ import Visitor from '@swc/core/Visitor';
3
+ declare class LockCoreJS extends Visitor {
4
+ visitImportDeclaration(expression: ImportDeclaration): ImportDeclaration;
5
+ }
6
+ export default LockCoreJS;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Visitor_1 = __importDefault(require("@swc/core/Visitor"));
7
+ const utils_1 = require("@umijs/utils");
8
+ const path_1 = require("path");
9
+ function addLastSlash(path) {
10
+ return path.endsWith('/') ? path : `${path}/`;
11
+ }
12
+ class LockCoreJS extends Visitor_1.default {
13
+ visitImportDeclaration(expression) {
14
+ const { source } = expression;
15
+ let { value, type } = source;
16
+ if (type === 'StringLiteral' && value.startsWith('core-js/')) {
17
+ value = value.replace(/^core-js\//, addLastSlash((0, utils_1.winPath)((0, path_1.dirname)(require.resolve('core-js/package.json')))));
18
+ return Object.assign(Object.assign({}, expression), { source: Object.assign(Object.assign({}, source), { value }) });
19
+ }
20
+ return expression;
21
+ }
22
+ }
23
+ exports.default = LockCoreJS;
@@ -0,0 +1,100 @@
1
+ import type { Options as ProxyOptions } from '../compiled/http-proxy-middleware';
2
+ import { Configuration } from '../compiled/webpack';
3
+ import Config from '../compiled/webpack-5-chain';
4
+ export declare enum Env {
5
+ development = "development",
6
+ production = "production"
7
+ }
8
+ export declare enum Transpiler {
9
+ babel = "babel",
10
+ swc = "swc",
11
+ esbuild = "esbuild",
12
+ none = "none"
13
+ }
14
+ export declare enum JSMinifier {
15
+ terser = "terser",
16
+ swc = "swc",
17
+ esbuild = "esbuild",
18
+ uglifyJs = "uglifyJs",
19
+ none = "none"
20
+ }
21
+ export declare enum CSSMinifier {
22
+ esbuild = "esbuild",
23
+ cssnano = "cssnano",
24
+ none = "none"
25
+ }
26
+ export interface ICopy {
27
+ from: string;
28
+ to: string;
29
+ }
30
+ declare type WebpackConfig = Required<Configuration>;
31
+ declare type IBabelPlugin = Function | string | [string, {
32
+ [key: string]: any;
33
+ }];
34
+ export interface IConfig {
35
+ alias?: Record<string, string>;
36
+ autoCSSModules?: boolean;
37
+ chainWebpack?: Function;
38
+ copy?: ICopy[] | string[];
39
+ cssLoader?: {
40
+ [key: string]: any;
41
+ };
42
+ cssLoaderModules?: {
43
+ [key: string]: any;
44
+ };
45
+ cssMinifier?: CSSMinifier;
46
+ cssMinifierOptions?: {
47
+ [key: string]: any;
48
+ };
49
+ define?: {
50
+ [key: string]: any;
51
+ };
52
+ depTranspiler?: Transpiler;
53
+ devtool?: Config.DevTool;
54
+ externals?: WebpackConfig['externals'];
55
+ esm?: {
56
+ [key: string]: any;
57
+ };
58
+ extraBabelPlugins?: IBabelPlugin[];
59
+ extraBabelPresets?: IBabelPlugin[];
60
+ extraPostCSSPlugins?: any[];
61
+ hash?: boolean;
62
+ ignoreMomentLocale?: boolean;
63
+ jsMinifier?: JSMinifier;
64
+ jsMinifierOptions?: {
65
+ [key: string]: any;
66
+ };
67
+ lessLoader?: {
68
+ [key: string]: any;
69
+ };
70
+ outputPath?: string;
71
+ postcssLoader?: {
72
+ [key: string]: any;
73
+ };
74
+ proxy?: {
75
+ [key: string]: ProxyOptions;
76
+ };
77
+ publicPath?: string;
78
+ purgeCSS?: {
79
+ [key: string]: any;
80
+ };
81
+ sassLoader?: {
82
+ [key: string]: any;
83
+ };
84
+ srcTranspiler?: Transpiler;
85
+ styleLoader?: {
86
+ [key: string]: any;
87
+ };
88
+ svgr?: {
89
+ [key: string]: any;
90
+ };
91
+ svgo?: {
92
+ [key: string]: any;
93
+ } | false;
94
+ targets?: {
95
+ [key: string]: any;
96
+ };
97
+ writeToDisk?: boolean;
98
+ [key: string]: any;
99
+ }
100
+ export {};
package/dist/types.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CSSMinifier = exports.JSMinifier = exports.Transpiler = exports.Env = void 0;
4
+ var Env;
5
+ (function (Env) {
6
+ Env["development"] = "development";
7
+ Env["production"] = "production";
8
+ })(Env = exports.Env || (exports.Env = {}));
9
+ var Transpiler;
10
+ (function (Transpiler) {
11
+ Transpiler["babel"] = "babel";
12
+ Transpiler["swc"] = "swc";
13
+ Transpiler["esbuild"] = "esbuild";
14
+ Transpiler["none"] = "none";
15
+ })(Transpiler = exports.Transpiler || (exports.Transpiler = {}));
16
+ var JSMinifier;
17
+ (function (JSMinifier) {
18
+ JSMinifier["terser"] = "terser";
19
+ JSMinifier["swc"] = "swc";
20
+ JSMinifier["esbuild"] = "esbuild";
21
+ JSMinifier["uglifyJs"] = "uglifyJs";
22
+ JSMinifier["none"] = "none";
23
+ })(JSMinifier = exports.JSMinifier || (exports.JSMinifier = {}));
24
+ var CSSMinifier;
25
+ (function (CSSMinifier) {
26
+ CSSMinifier["esbuild"] = "esbuild";
27
+ CSSMinifier["cssnano"] = "cssnano";
28
+ CSSMinifier["none"] = "none";
29
+ })(CSSMinifier = exports.CSSMinifier || (exports.CSSMinifier = {}));
@@ -0,0 +1,5 @@
1
+ interface IOpts {
2
+ targets: Record<string, any>;
3
+ }
4
+ export declare function getBrowsersList({ targets }: IOpts): any;
5
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBrowsersList = void 0;
4
+ function getBrowsersList({ targets }) {
5
+ return (targets.browsers ||
6
+ Object.keys(targets).map((key) => {
7
+ return `${key} >= ${targets[key] === true ? '0' : targets[key]}`;
8
+ }));
9
+ }
10
+ exports.getBrowsersList = getBrowsersList;
@@ -0,0 +1,6 @@
1
+ export declare function cleanCache(): void;
2
+ export declare function isMatch(opts: {
3
+ path: string;
4
+ pkgs: Record</*name*/ string, /*version*/ string[]>;
5
+ }): boolean;
6
+ export declare function es5ImcompatibleVersionsToPkg(): Record<string, string[]>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.es5ImcompatibleVersionsToPkg = exports.isMatch = exports.cleanCache = void 0;
4
+ const utils_1 = require("@umijs/utils");
5
+ const path_1 = require("path");
6
+ const cache = new Map();
7
+ function cleanCache() {
8
+ cache.clear();
9
+ }
10
+ exports.cleanCache = cleanCache;
11
+ function isMatch(opts) {
12
+ // cache by dir, 命中率会更高
13
+ const dir = (0, utils_1.winPath)((0, path_1.dirname)(opts.path));
14
+ if (cache.has(dir)) {
15
+ return !!cache.get(dir);
16
+ }
17
+ else {
18
+ const pkgPath = utils_1.pkgUp.sync({ cwd: opts.path });
19
+ let ret;
20
+ if (!pkgPath) {
21
+ ret = false;
22
+ }
23
+ else {
24
+ const { name, version } = require(pkgPath);
25
+ if (opts.pkgs[name]) {
26
+ ret = opts.pkgs[name].some((v) => {
27
+ return utils_1.semver.satisfies(version, v);
28
+ });
29
+ }
30
+ else {
31
+ ret = false;
32
+ }
33
+ }
34
+ cache.set(dir, ret);
35
+ return ret;
36
+ }
37
+ }
38
+ exports.isMatch = isMatch;
39
+ function es5ImcompatibleVersionsToPkg() {
40
+ const { config: { 'es5-imcompatible-versions': config }, } = require('es5-imcompatible-versions/package.json');
41
+ return Object.keys(config).reduce((memo, key) => {
42
+ memo[key] = /* versions */ Object.keys(config[key]);
43
+ return memo;
44
+ }, {});
45
+ }
46
+ exports.es5ImcompatibleVersionsToPkg = es5ImcompatibleVersionsToPkg;
@@ -0,0 +1,12 @@
1
+ export declare function formatMessage(message: string | {
2
+ message: string;
3
+ } | {
4
+ message: string;
5
+ }[]): string;
6
+ export declare function formatWebpackMessages(json: {
7
+ errors: string[];
8
+ warnings: string[];
9
+ }): {
10
+ errors: string[];
11
+ warnings: string[];
12
+ };
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatWebpackMessages = exports.formatMessage = void 0;
7
+ const strip_ansi_1 = __importDefault(require("@umijs/utils/compiled/strip-ansi"));
8
+ const friendlySyntaxErrorLabel = 'Syntax error:';
9
+ function isLikelyASyntaxError(message) {
10
+ return (0, strip_ansi_1.default)(message).indexOf(friendlySyntaxErrorLabel) !== -1;
11
+ }
12
+ function formatMessage(message) {
13
+ let lines = [];
14
+ if (typeof message === 'string') {
15
+ lines = message.split('\n');
16
+ }
17
+ else if ('message' in message) {
18
+ lines = message['message'].split('\n');
19
+ }
20
+ else if (Array.isArray(message)) {
21
+ message.forEach((message) => {
22
+ if ('message' in message) {
23
+ lines = message['message'].split('\n');
24
+ }
25
+ });
26
+ }
27
+ // Strip webpack-added headers off errors/warnings
28
+ // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js
29
+ lines = lines.filter((line) => !/Module [A-z ]+\(from/.test(line));
30
+ // Transform parsing error into syntax error
31
+ // TODO: move this to our ESLint formatter?
32
+ lines = lines.map((line) => {
33
+ const parsingError = /Line (\d+):(?:(\d+):)?\s*Parsing error: (.+)$/.exec(line);
34
+ if (!parsingError) {
35
+ return line;
36
+ }
37
+ const [, errorLine, errorColumn, errorMessage] = parsingError;
38
+ return `${friendlySyntaxErrorLabel} ${errorMessage} (${errorLine}:${errorColumn})`;
39
+ });
40
+ message = lines.join('\n');
41
+ // Smoosh syntax errors (commonly found in CSS)
42
+ message = message.replace(/SyntaxError\s+\((\d+):(\d+)\)\s*(.+?)\n/g, `${friendlySyntaxErrorLabel} $3 ($1:$2)\n`);
43
+ // Clean up export errors
44
+ message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, `Attempted import error: '$1' is not exported from '$2'.`);
45
+ message = message.replace(/^.*export 'default' \(imported as '(.+?)'\) was not found in '(.+?)'.*$/gm, `Attempted import error: '$2' does not contain a default export (imported as '$1').`);
46
+ message = message.replace(/^.*export '(.+?)' \(imported as '(.+?)'\) was not found in '(.+?)'.*$/gm, `Attempted import error: '$1' is not exported from '$3' (imported as '$2').`);
47
+ lines = message.split('\n');
48
+ // Remove leading newline
49
+ if (lines.length > 2 && lines[1].trim() === '') {
50
+ lines.splice(1, 1);
51
+ }
52
+ // Clean up file name
53
+ lines[0] = lines[0].replace(/^(.*) \d+:\d+-\d+$/, '$1');
54
+ // Cleans up verbose "module not found" messages for files and packages.
55
+ if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {
56
+ lines = [
57
+ lines[0],
58
+ lines[1]
59
+ .replace('Error: ', '')
60
+ .replace('Module not found: Cannot find file:', 'Cannot find file:'),
61
+ ];
62
+ }
63
+ // Add helpful message for users trying to use Sass for the first time
64
+ if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {
65
+ lines[1] = 'To import Sass files, you first need to install sass.\n';
66
+ lines[1] +=
67
+ 'Run `npm install sass` or `yarn add sass` inside your workspace.';
68
+ }
69
+ message = lines.join('\n');
70
+ // Internal stacks are generally useless so we strip them... with the
71
+ // exception of stacks containing `webpack:` because they're normally
72
+ // from user code generated by webpack. For more information see
73
+ // https://github.com/facebook/create-react-app/pull/1050
74
+ message = message.replace(/^\s*at\s((?!webpack:).)*:\d+:\d+[\s)]*(\n|$)/gm, ''); // at ... ...:x:y
75
+ message = message.replace(/^\s*at\s<anonymous>(\n|$)/gm, ''); // at <anonymous>
76
+ lines = message.split('\n');
77
+ // Remove duplicated newlines
78
+ lines = lines.filter((line, index, arr) => index === 0 ||
79
+ line.trim() !== '' ||
80
+ line.trim() !== arr[index - 1].trim());
81
+ // Reassemble the message
82
+ message = lines.join('\n');
83
+ return message.trim();
84
+ }
85
+ exports.formatMessage = formatMessage;
86
+ function formatWebpackMessages(json) {
87
+ const formattedErrors = json.errors.map(function (message) {
88
+ return formatMessage(message);
89
+ });
90
+ const formattedWarnings = json.warnings.map(function (message) {
91
+ return formatMessage(message);
92
+ });
93
+ const result = { errors: formattedErrors, warnings: formattedWarnings };
94
+ if (result.errors.some(isLikelyASyntaxError)) {
95
+ // If there are any syntax errors, show just them.
96
+ result.errors = result.errors.filter(isLikelyASyntaxError);
97
+ }
98
+ return result;
99
+ }
100
+ exports.formatWebpackMessages = formatWebpackMessages;