@umijs/bundler-webpack 3.5.18 → 4.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) 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/@svgr/webpack/.svgo.yml +75 -0
  7. package/compiled/@svgr/webpack/LICENSE +7 -0
  8. package/compiled/@svgr/webpack/index.js +343 -0
  9. package/compiled/@svgr/webpack/package.json +1 -0
  10. package/compiled/autoprefixer/LICENSE +20 -0
  11. package/compiled/autoprefixer/browserslist/index.d.ts +172 -0
  12. package/compiled/autoprefixer/index.js +9 -0
  13. package/compiled/autoprefixer/lib/autoprefixer.d.ts +95 -0
  14. package/compiled/autoprefixer/package.json +1 -0
  15. package/compiled/autoprefixer/postcss/lib/at-rule.d.ts +106 -0
  16. package/compiled/autoprefixer/postcss/lib/comment.d.ts +56 -0
  17. package/compiled/autoprefixer/postcss/lib/container.d.ts +442 -0
  18. package/compiled/autoprefixer/postcss/lib/css-syntax-error.d.ts +192 -0
  19. package/compiled/autoprefixer/postcss/lib/declaration.d.ts +124 -0
  20. package/compiled/autoprefixer/postcss/lib/document.d.ts +57 -0
  21. package/compiled/autoprefixer/postcss/lib/input.d.ts +130 -0
  22. package/compiled/autoprefixer/postcss/lib/lazy-result.d.ts +175 -0
  23. package/compiled/autoprefixer/postcss/lib/list.d.ts +51 -0
  24. package/compiled/autoprefixer/postcss/lib/node.d.ts +444 -0
  25. package/compiled/autoprefixer/postcss/lib/postcss.d.ts +472 -0
  26. package/compiled/autoprefixer/postcss/lib/previous-map.d.ts +72 -0
  27. package/compiled/autoprefixer/postcss/lib/processor.d.ts +101 -0
  28. package/compiled/autoprefixer/postcss/lib/result.d.ts +195 -0
  29. package/compiled/autoprefixer/postcss/lib/root.d.ts +73 -0
  30. package/compiled/autoprefixer/postcss/lib/rule.d.ts +104 -0
  31. package/compiled/autoprefixer/postcss/lib/warning.d.ts +104 -0
  32. package/compiled/autoprefixer/source-map-js/source-map.d.ts +98 -0
  33. package/compiled/babel-loader/LICENSE +22 -0
  34. package/compiled/babel-loader/index.js +3 -0
  35. package/compiled/babel-loader/package.json +1 -0
  36. package/compiled/compression/LICENSE +23 -0
  37. package/compiled/compression/index.js +57 -0
  38. package/compiled/compression/package.json +1 -0
  39. package/compiled/connect-history-api-fallback/LICENSE +21 -0
  40. package/compiled/connect-history-api-fallback/index.js +1 -0
  41. package/compiled/connect-history-api-fallback/package.json +1 -0
  42. package/{lib/webpack/plugins/mini-css-extract-plugin → compiled/copy-webpack-plugin}/LICENSE +0 -0
  43. package/compiled/copy-webpack-plugin/index.js +46 -0
  44. package/compiled/copy-webpack-plugin/package.json +1 -0
  45. package/{lib/webpack/plugins/terser-webpack-plugin → compiled/css-loader}/LICENSE +0 -0
  46. package/compiled/css-loader/api.js +102 -0
  47. package/compiled/css-loader/getUrl.js +29 -0
  48. package/compiled/css-loader/index.js +2 -0
  49. package/compiled/css-loader/noSourceMaps.js +5 -0
  50. package/compiled/css-loader/package.json +1 -0
  51. package/compiled/css-loader/sourceMaps.js +22 -0
  52. package/compiled/css-minimizer-webpack-plugin/LICENSE +20 -0
  53. package/compiled/css-minimizer-webpack-plugin/index.js +3 -0
  54. package/compiled/css-minimizer-webpack-plugin/minify.js +72 -0
  55. package/compiled/css-minimizer-webpack-plugin/package.json +1 -0
  56. package/compiled/css-minimizer-webpack-plugin/utils.js +166 -0
  57. package/compiled/cssnano/index.js +192 -0
  58. package/compiled/cssnano/package.json +1 -0
  59. package/compiled/express/LICENSE +24 -0
  60. package/compiled/express/body-parser/index.d.ts +104 -0
  61. package/compiled/express/connect/index.d.ts +93 -0
  62. package/compiled/express/express-serve-static-core/index.d.ts +1252 -0
  63. package/compiled/express/index.d.ts +133 -0
  64. package/compiled/express/index.js +338 -0
  65. package/compiled/express/mime/index.d.ts +35 -0
  66. package/compiled/express/package.json +1 -0
  67. package/compiled/express/qs/index.d.ts +62 -0
  68. package/compiled/express/range-parser/index.d.ts +35 -0
  69. package/compiled/express/serve-static/index.d.ts +108 -0
  70. package/compiled/http-proxy-middleware/LICENSE +22 -0
  71. package/compiled/http-proxy-middleware/dist/index.d.ts +4 -0
  72. package/compiled/http-proxy-middleware/dist/types.d.ts +54 -0
  73. package/compiled/http-proxy-middleware/http-proxy/index.d.ts +226 -0
  74. package/compiled/http-proxy-middleware/index.js +66 -0
  75. package/compiled/http-proxy-middleware/package.json +1 -0
  76. package/compiled/less/index.js +31 -0
  77. package/compiled/less/package.json +1 -0
  78. package/compiled/less-loader/LICENSE +20 -0
  79. package/compiled/less-loader/index.js +1 -0
  80. package/compiled/less-loader/package.json +1 -0
  81. package/compiled/mini-css-extract-plugin/LICENSE +20 -0
  82. package/{lib/webpack/plugins/mini-css-extract-plugin/src → compiled/mini-css-extract-plugin}/hmr/hotModuleReplacement.js +50 -52
  83. package/compiled/mini-css-extract-plugin/hmr/normalize-url.js +35 -0
  84. package/compiled/mini-css-extract-plugin/index.js +11606 -0
  85. package/compiled/mini-css-extract-plugin/loader-options.json +32 -0
  86. package/compiled/mini-css-extract-plugin/loader.js +315 -0
  87. package/compiled/mini-css-extract-plugin/package.json +1 -0
  88. package/compiled/mini-css-extract-plugin/utils.js +154 -0
  89. package/compiled/postcss-flexbugs-fixes/LICENSE +20 -0
  90. package/compiled/postcss-flexbugs-fixes/index.js +1 -0
  91. package/compiled/postcss-flexbugs-fixes/package.json +1 -0
  92. package/compiled/postcss-loader/LICENSE +20 -0
  93. package/compiled/postcss-loader/index.js +1 -0
  94. package/compiled/postcss-loader/package.json +1 -0
  95. package/compiled/purgecss-webpack-plugin/LICENSE +21 -0
  96. package/compiled/purgecss-webpack-plugin/index.js +7781 -0
  97. package/compiled/purgecss-webpack-plugin/package.json +1 -0
  98. package/compiled/react-refresh/index.js +19 -0
  99. package/compiled/sass-loader/LICENSE +20 -0
  100. package/compiled/sass-loader/index.js +1 -0
  101. package/compiled/sass-loader/package.json +1 -0
  102. package/compiled/schema-utils/LICENSE +20 -0
  103. package/compiled/schema-utils/ajv/lib/ajv.d.ts +397 -0
  104. package/compiled/schema-utils/declarations/ValidationError.d.ts +74 -0
  105. package/compiled/schema-utils/declarations/index.d.ts +3 -0
  106. package/compiled/schema-utils/declarations/validate.d.ts +37 -0
  107. package/compiled/schema-utils/index.js +3 -0
  108. package/compiled/schema-utils/json-schema/index.d.ts +751 -0
  109. package/compiled/schema-utils/package.json +1 -0
  110. package/compiled/speed-measure-webpack-plugin/LICENSE +21 -0
  111. package/compiled/speed-measure-webpack-plugin/index.js +1 -0
  112. package/compiled/speed-measure-webpack-plugin/package.json +1 -0
  113. package/compiled/style-loader/LICENSE +20 -0
  114. package/compiled/style-loader/index.js +1 -0
  115. package/compiled/style-loader/package.json +1 -0
  116. package/compiled/style-loader/runtime/injectStylesIntoLinkTag.js +29 -0
  117. package/compiled/style-loader/runtime/injectStylesIntoStyleTag.js +104 -0
  118. package/compiled/style-loader/runtime/insertBySelector.js +39 -0
  119. package/compiled/style-loader/runtime/insertStyleElement.js +11 -0
  120. package/compiled/style-loader/runtime/isEqualLocals.js +35 -0
  121. package/compiled/style-loader/runtime/isOldIE.js +19 -0
  122. package/compiled/style-loader/runtime/setAttributesWithAttributes.js +16 -0
  123. package/compiled/style-loader/runtime/setAttributesWithAttributesAndNonce.js +10 -0
  124. package/compiled/style-loader/runtime/setAttributesWithoutAttributes.js +12 -0
  125. package/compiled/style-loader/runtime/singletonStyleDomAPI.js +93 -0
  126. package/compiled/style-loader/runtime/styleDomAPI.js +70 -0
  127. package/compiled/style-loader/runtime/styleTagTransform.js +16 -0
  128. package/compiled/svgo-loader/LICENSE +22 -0
  129. package/compiled/svgo-loader/index.js +4 -0
  130. package/compiled/svgo-loader/package.json +1 -0
  131. package/compiled/swc-loader/LICENSE +25 -0
  132. package/compiled/swc-loader/index.js +1 -0
  133. package/compiled/swc-loader/package.json +1 -0
  134. package/compiled/tapable/LICENSE +21 -0
  135. package/compiled/tapable/index.js +1 -0
  136. package/compiled/tapable/package.json +1 -0
  137. package/compiled/tapable/tapable.d.ts +116 -0
  138. package/compiled/terser/LICENSE +29 -0
  139. package/compiled/terser/index.js +1 -0
  140. package/compiled/terser/mappings.wasm +0 -0
  141. package/compiled/terser/package.json +1 -0
  142. package/compiled/terser/source-map/source-map.d.ts +369 -0
  143. package/compiled/terser/tools/terser.d.ts +207 -0
  144. package/compiled/terser-webpack-plugin/LICENSE +20 -0
  145. package/compiled/terser-webpack-plugin/ajv/lib/ajv.d.ts +397 -0
  146. package/compiled/terser-webpack-plugin/index.js +15142 -0
  147. package/compiled/terser-webpack-plugin/jest-worker/build/index.d.ts +49 -0
  148. package/compiled/terser-webpack-plugin/jest-worker/build/types.d.ts +142 -0
  149. package/compiled/terser-webpack-plugin/json-schema/index.d.ts +751 -0
  150. package/compiled/terser-webpack-plugin/minify.js +43 -0
  151. package/compiled/terser-webpack-plugin/package.json +1 -0
  152. package/compiled/terser-webpack-plugin/schema-utils/declarations/ValidationError.d.ts +74 -0
  153. package/compiled/terser-webpack-plugin/schema-utils/declarations/index.d.ts +3 -0
  154. package/compiled/terser-webpack-plugin/schema-utils/declarations/validate.d.ts +37 -0
  155. package/compiled/terser-webpack-plugin/source-map/source-map.d.ts +98 -0
  156. package/compiled/terser-webpack-plugin/types/cjs.d.ts +3 -0
  157. package/compiled/terser-webpack-plugin/types/index.d.ts +295 -0
  158. package/compiled/terser-webpack-plugin/types/utils.d.ts +105 -0
  159. package/compiled/terser-webpack-plugin/utils.js +594 -0
  160. package/compiled/url-loader/LICENSE +20 -0
  161. package/compiled/url-loader/index.js +15 -0
  162. package/compiled/url-loader/package.json +1 -0
  163. package/compiled/webpack/Chunk.js +1 -0
  164. package/compiled/webpack/Compilation.js +1 -0
  165. package/compiled/webpack/HotModuleReplacement.runtime.js +394 -0
  166. package/compiled/webpack/JavascriptHotModuleReplacement.runtime.js +462 -0
  167. package/compiled/webpack/LICENSE +20 -0
  168. package/compiled/webpack/LibraryTemplatePlugin.js +1 -0
  169. package/compiled/webpack/LoaderTargetPlugin.js +1 -0
  170. package/compiled/webpack/ModuleFilenameHelpers.js +1 -0
  171. package/compiled/webpack/NormalModule.js +1 -0
  172. package/compiled/webpack/RuntimeGlobals.js +1 -0
  173. package/compiled/webpack/RuntimeModule.js +1 -0
  174. package/compiled/webpack/SingleEntryPlugin.js +1 -0
  175. package/compiled/webpack/Template.js +1 -0
  176. package/compiled/webpack/ajv/lib/ajv.d.ts +397 -0
  177. package/compiled/webpack/deepImports.json +12 -0
  178. package/compiled/webpack/index.js +162861 -0
  179. package/compiled/webpack/json-schema/index.d.ts +751 -0
  180. package/compiled/webpack/lazy-compilation-node.js +40 -0
  181. package/compiled/webpack/lazy-compilation-web.js +74 -0
  182. package/compiled/webpack/package.json +5 -0
  183. package/compiled/webpack/schema-utils/declarations/ValidationError.d.ts +74 -0
  184. package/compiled/webpack/schema-utils/declarations/index.d.ts +3 -0
  185. package/compiled/webpack/schema-utils/declarations/validate.d.ts +37 -0
  186. package/compiled/webpack/types.d.ts +12664 -0
  187. package/compiled/webpack-5-chain/LICENSE +373 -0
  188. package/compiled/webpack-5-chain/index.js +1 -0
  189. package/compiled/webpack-5-chain/package.json +1 -0
  190. package/compiled/webpack-5-chain/types/index.d.ts +543 -0
  191. package/compiled/webpack-bundle-analyzer/LICENSE +20 -0
  192. package/compiled/webpack-bundle-analyzer/index.js +30 -0
  193. package/compiled/webpack-bundle-analyzer/package.json +1 -0
  194. package/compiled/webpack-bundle-analyzer/public/viewer.js +16 -0
  195. package/compiled/webpack-bundle-analyzer/public/viewer.js.LICENSE.txt +10 -0
  196. package/compiled/webpack-bundle-analyzer/public/viewer.js.map +1 -0
  197. package/compiled/webpack-dev-middleware/LICENSE +20 -0
  198. package/compiled/webpack-dev-middleware/index.js +21 -0
  199. package/compiled/webpack-dev-middleware/package.json +1 -0
  200. package/compiled/webpack-sources/LICENSE +21 -0
  201. package/compiled/webpack-sources/index.d.ts +20 -0
  202. package/compiled/webpack-sources/index.js +1 -0
  203. package/compiled/webpack-sources/lib/CachedSource.d.ts +18 -0
  204. package/compiled/webpack-sources/lib/CompatSource.d.ts +9 -0
  205. package/compiled/webpack-sources/lib/ConcatSource.d.ts +22 -0
  206. package/compiled/webpack-sources/lib/OriginalSource.d.ts +18 -0
  207. package/compiled/webpack-sources/lib/PrefixSource.d.ts +12 -0
  208. package/compiled/webpack-sources/lib/RawSource.d.ts +13 -0
  209. package/compiled/webpack-sources/lib/ReplaceSource.d.ts +35 -0
  210. package/compiled/webpack-sources/lib/SizeOnlySource.d.ts +7 -0
  211. package/compiled/webpack-sources/lib/Source.d.ts +45 -0
  212. package/compiled/webpack-sources/lib/SourceMapSource.d.ts +22 -0
  213. package/compiled/webpack-sources/lib/index.d.ts +60 -0
  214. package/compiled/webpack-sources/package.json +1 -0
  215. package/compiled/webpack-sources/source-list-map/index.d.ts +91 -0
  216. package/compiled/webpack-sources/source-map/source-map.d.ts +369 -0
  217. package/compiled/ws/LICENSE +19 -0
  218. package/compiled/ws/index.d.ts +359 -0
  219. package/compiled/ws/index.js +1 -0
  220. package/compiled/ws/package.json +1 -0
  221. package/dist/build.d.ts +16 -0
  222. package/dist/build.js +71 -0
  223. package/{lib → dist}/cli.d.ts +0 -0
  224. package/dist/cli.js +113 -0
  225. package/{lib/webpackHotDevClient/webpackHotDevClient.d.ts → dist/client/client.d.ts} +0 -0
  226. package/dist/client/client.js +239 -0
  227. package/dist/config/_sampleFeature.d.ts +10 -0
  228. package/dist/config/_sampleFeature.js +22 -0
  229. package/dist/config/assetRules.d.ts +11 -0
  230. package/dist/config/assetRules.js +57 -0
  231. package/dist/config/bundleAnalyzerPlugin.d.ts +10 -0
  232. package/dist/config/bundleAnalyzerPlugin.js +30 -0
  233. package/dist/config/compressPlugin.d.ts +10 -0
  234. package/dist/config/compressPlugin.js +77 -0
  235. package/dist/config/config.d.ts +19 -0
  236. package/dist/config/config.js +171 -0
  237. package/dist/config/copyPlugin.d.ts +10 -0
  238. package/dist/config/copyPlugin.js +49 -0
  239. package/dist/config/cssRules.d.ts +11 -0
  240. package/dist/config/cssRules.js +98 -0
  241. package/dist/config/definePlugin.d.ts +15 -0
  242. package/dist/config/definePlugin.js +45 -0
  243. package/dist/config/fastRefreshPlugin.d.ts +12 -0
  244. package/dist/config/fastRefreshPlugin.js +34 -0
  245. package/dist/config/ignorePlugin.d.ts +10 -0
  246. package/dist/config/ignorePlugin.js +27 -0
  247. package/dist/config/javaScriptRules.d.ts +14 -0
  248. package/dist/config/javaScriptRules.js +150 -0
  249. package/dist/config/miniCSSExtractPlugin.d.ts +10 -0
  250. package/dist/config/miniCSSExtractPlugin.js +34 -0
  251. package/dist/config/nodePolyfill.d.ts +10 -0
  252. package/dist/config/nodePolyfill.js +34 -0
  253. package/dist/config/progressPlugin.d.ts +11 -0
  254. package/dist/config/progressPlugin.js +27 -0
  255. package/dist/config/purgecssWebpackPlugin.d.ts +10 -0
  256. package/dist/config/purgecssWebpackPlugin.js +32 -0
  257. package/dist/config/speedMeasureWebpackPlugin.d.ts +6 -0
  258. package/dist/config/speedMeasureWebpackPlugin.js +34 -0
  259. package/dist/config/svgRules.d.ts +11 -0
  260. package/dist/config/svgRules.js +56 -0
  261. package/dist/constants.d.ts +11 -0
  262. package/dist/constants.js +15 -0
  263. package/dist/dev.d.ts +18 -0
  264. package/dist/dev.js +80 -0
  265. package/dist/index.d.ts +5 -0
  266. package/dist/index.js +16 -0
  267. package/dist/plugins/ESBuildCSSMinifyPlugin.d.ts +11 -0
  268. package/dist/plugins/ESBuildCSSMinifyPlugin.js +65 -0
  269. package/dist/plugins/ProgressPlugin.d.ts +15 -0
  270. package/dist/plugins/ProgressPlugin.js +44 -0
  271. package/dist/plugins/_SamplePlugin.d.ts +9 -0
  272. package/dist/plugins/_SamplePlugin.js +14 -0
  273. package/dist/requireHook.d.ts +1 -0
  274. package/dist/requireHook.js +31 -0
  275. package/dist/schema.d.ts +3 -0
  276. package/dist/schema.js +68 -0
  277. package/dist/server/server.d.ts +16 -0
  278. package/dist/server/server.js +157 -0
  279. package/dist/server/ws.d.ts +8 -0
  280. package/dist/server/ws.js +42 -0
  281. package/dist/types.d.ts +97 -0
  282. package/dist/types.js +29 -0
  283. package/dist/utils/browsersList.d.ts +5 -0
  284. package/dist/utils/browsersList.js +10 -0
  285. package/dist/utils/depMatch.d.ts +6 -0
  286. package/dist/utils/depMatch.js +46 -0
  287. package/dist/utils/formatWebpackMessages.d.ts +12 -0
  288. package/dist/utils/formatWebpackMessages.js +100 -0
  289. package/package.json +163 -35
  290. package/bundled/css/hotModuleReplacement.js +0 -1203
  291. package/bundled/js/webpackHotDevClient.js +0 -13386
  292. package/lib/DevCompileDonePlugin.d.ts +0 -10
  293. package/lib/DevCompileDonePlugin.js +0 -53
  294. package/lib/cli.js +0 -184
  295. package/lib/getConfig/css.d.ts +0 -22
  296. package/lib/getConfig/css.js +0 -186
  297. package/lib/getConfig/getConfig.d.ts +0 -26
  298. package/lib/getConfig/getConfig.js +0 -578
  299. package/lib/getConfig/nodeModulesTransform.d.ts +0 -13
  300. package/lib/getConfig/nodeModulesTransform.js +0 -141
  301. package/lib/getConfig/pkgMatch.d.ts +0 -2
  302. package/lib/getConfig/pkgMatch.js +0 -58
  303. package/lib/getConfig/resolveDefine.d.ts +0 -5
  304. package/lib/getConfig/resolveDefine.js +0 -53
  305. package/lib/getConfig/runtimePublicPathEntry.d.ts +0 -1
  306. package/lib/getConfig/runtimePublicPathEntry.js +0 -3
  307. package/lib/getConfig/terserOptions.d.ts +0 -41
  308. package/lib/getConfig/terserOptions.js +0 -64
  309. package/lib/index.d.ts +0 -34
  310. package/lib/index.js +0 -314
  311. package/lib/requireHook.d.ts +0 -3
  312. package/lib/requireHook.js +0 -51
  313. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssDependency.js +0 -94
  314. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssDependencyTemplate.js +0 -26
  315. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssLoadingRuntimeModule.js +0 -93
  316. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssModule.js +0 -164
  317. package/lib/webpack/plugins/mini-css-extract-plugin/src/CssModuleFactory.js +0 -32
  318. package/lib/webpack/plugins/mini-css-extract-plugin/src/cjs.js +0 -15
  319. package/lib/webpack/plugins/mini-css-extract-plugin/src/index.js +0 -542
  320. package/lib/webpack/plugins/mini-css-extract-plugin/src/loader.js +0 -319
  321. package/lib/webpack/plugins/mini-css-extract-plugin/src/utils.js +0 -97
  322. package/lib/webpack/plugins/mini-css-extract-plugin.d.ts +0 -1
  323. package/lib/webpack/plugins/mini-css-extract-plugin.js +0 -15
  324. package/lib/webpack/plugins/terser-webpack-plugin/package.json +0 -3
  325. package/lib/webpack/plugins/terser-webpack-plugin/src/Webpack4Cache.js +0 -187
  326. package/lib/webpack/plugins/terser-webpack-plugin/src/Webpack5Cache.js +0 -61
  327. package/lib/webpack/plugins/terser-webpack-plugin/src/index.js +0 -683
  328. package/lib/webpack/plugins/terser-webpack-plugin/src/minify.js +0 -197
  329. package/lib/webpack/plugins/terser-webpack-plugin.d.ts +0 -1
  330. package/lib/webpack/plugins/terser-webpack-plugin.js +0 -15
  331. package/lib/webpackHotDevClient/formatWebpackMessages.d.ts +0 -11
  332. package/lib/webpackHotDevClient/formatWebpackMessages.js +0 -127
  333. package/lib/webpackHotDevClient/webpackHotDevClient.js +0 -311
@@ -0,0 +1,192 @@
1
+ import { FilePosition } from './input'
2
+
3
+ /**
4
+ * The CSS parser throws this error for broken CSS.
5
+ *
6
+ * Custom parsers can throw this error for broken custom syntax using
7
+ * the `Node#error` method.
8
+ *
9
+ * PostCSS will use the input source map to detect the original error location.
10
+ * If you wrote a Sass file, compiled it to CSS and then parsed it with PostCSS,
11
+ * PostCSS will show the original position in the Sass file.
12
+ *
13
+ * If you need the position in the PostCSS input
14
+ * (e.g., to debug the previous compiler), use `error.input.file`.
15
+ *
16
+ * ```js
17
+ * // Raising error from plugin
18
+ * throw node.error('Unknown variable', { plugin: 'postcss-vars' })
19
+ * ```
20
+ *
21
+ * ```js
22
+ * // Catching and checking syntax error
23
+ * try {
24
+ * postcss.parse('a{')
25
+ * } catch (error) {
26
+ * if (error.name === 'CssSyntaxError') {
27
+ * error //=> CssSyntaxError
28
+ * }
29
+ * }
30
+ * ```
31
+ */
32
+ export default class CssSyntaxError {
33
+ /**
34
+ * @param message Error message.
35
+ * @param line Source line of the error.
36
+ * @param column Source column of the error.
37
+ * @param source Source code of the broken file.
38
+ * @param file Absolute path to the broken file.
39
+ * @param plugin PostCSS plugin name, if error came from plugin.
40
+ */
41
+ constructor(
42
+ message: string,
43
+ line?: number,
44
+ column?: number,
45
+ source?: string,
46
+ file?: string,
47
+ plugin?: string
48
+ )
49
+
50
+ stack: string
51
+
52
+ /**
53
+ * Always equal to `'CssSyntaxError'`. You should always check error type
54
+ * by `error.name === 'CssSyntaxError'`
55
+ * instead of `error instanceof CssSyntaxError`,
56
+ * because npm could have several PostCSS versions.
57
+ *
58
+ * ```js
59
+ * if (error.name === 'CssSyntaxError') {
60
+ * error //=> CssSyntaxError
61
+ * }
62
+ * ```
63
+ */
64
+ name: 'CssSyntaxError'
65
+
66
+ /**
67
+ * Error message.
68
+ *
69
+ * ```js
70
+ * error.message //=> 'Unclosed block'
71
+ * ```
72
+ */
73
+ reason: string
74
+
75
+ /**
76
+ * Full error text in the GNU error format
77
+ * with plugin, file, line and column.
78
+ *
79
+ * ```js
80
+ * error.message //=> 'a.css:1:1: Unclosed block'
81
+ * ```
82
+ */
83
+ message: string
84
+
85
+ /**
86
+ * Absolute path to the broken file.
87
+ *
88
+ * ```js
89
+ * error.file //=> 'a.sass'
90
+ * error.input.file //=> 'a.css'
91
+ * ```
92
+ *
93
+ * PostCSS will use the input source map to detect the original location.
94
+ * If you need the position in the PostCSS input, use `error.input.file`.
95
+ */
96
+ file?: string
97
+
98
+ /**
99
+ * Source line of the error.
100
+ *
101
+ * ```js
102
+ * error.line //=> 2
103
+ * error.input.line //=> 4
104
+ * ```
105
+ *
106
+ * PostCSS will use the input source map to detect the original location.
107
+ * If you need the position in the PostCSS input, use `error.input.line`.
108
+ */
109
+ line?: number
110
+
111
+ /**
112
+ * Source column of the error.
113
+ *
114
+ * ```js
115
+ * error.column //=> 1
116
+ * error.input.column //=> 4
117
+ * ```
118
+ *
119
+ * PostCSS will use the input source map to detect the original location.
120
+ * If you need the position in the PostCSS input, use `error.input.column`.
121
+ */
122
+ column?: number
123
+
124
+ /**
125
+ * Source code of the broken file.
126
+ *
127
+ * ```js
128
+ * error.source //=> 'a { b {} }'
129
+ * error.input.source //=> 'a b { }'
130
+ * ```
131
+ */
132
+ source?: string
133
+
134
+ /**
135
+ * Plugin name, if error came from plugin.
136
+ *
137
+ * ```js
138
+ * error.plugin //=> 'postcss-vars'
139
+ * ```
140
+ */
141
+ plugin?: string
142
+
143
+ /**
144
+ * Input object with PostCSS internal information
145
+ * about input file. If input has source map
146
+ * from previous tool, PostCSS will use origin
147
+ * (for example, Sass) source. You can use this
148
+ * object to get PostCSS input source.
149
+ *
150
+ * ```js
151
+ * error.input.file //=> 'a.css'
152
+ * error.file //=> 'a.sass'
153
+ * ```
154
+ */
155
+ input?: FilePosition
156
+
157
+ /**
158
+ * Returns error position, message and source code of the broken part.
159
+ *
160
+ * ```js
161
+ * error.toString() //=> "CssSyntaxError: app.css:1:1: Unclosed block
162
+ * // > 1 | a {
163
+ * // | ^"
164
+ * ```
165
+ *
166
+ * @return Error position, message and source code.
167
+ */
168
+ toString(): string
169
+
170
+ /**
171
+ * Returns a few lines of CSS source that caused the error.
172
+ *
173
+ * If the CSS has an input source map without `sourceContent`,
174
+ * this method will return an empty string.
175
+ *
176
+ * ```js
177
+ * error.showSourceCode() //=> " 4 | }
178
+ * // 5 | a {
179
+ * // > 6 | bad
180
+ * // | ^
181
+ * // 7 | }
182
+ * // 8 | b {"
183
+ * ```
184
+ *
185
+ * @param color Whether arrow will be colored red by terminal
186
+ * color codes. By default, PostCSS will detect
187
+ * color support by `process.stdout.isTTY`
188
+ * and `process.env.NODE_DISABLE_COLORS`.
189
+ * @return Few lines of CSS source that caused the error.
190
+ */
191
+ showSourceCode(color?: boolean): string
192
+ }
@@ -0,0 +1,124 @@
1
+ import Container from './container'
2
+ import Node from './node'
3
+
4
+ interface DeclarationRaws {
5
+ /**
6
+ * The space symbols before the node. It also stores `*`
7
+ * and `_` symbols before the declaration (IE hack).
8
+ */
9
+ before?: string
10
+
11
+ /**
12
+ * The symbols between the property and value for declarations.
13
+ */
14
+ between?: string
15
+
16
+ /**
17
+ * The content of the important statement, if it is not just `!important`.
18
+ */
19
+ important?: string
20
+
21
+ /**
22
+ * Declaration value with comments.
23
+ */
24
+ value: {
25
+ value: string
26
+ raw: string
27
+ }
28
+ }
29
+
30
+ export interface DeclarationProps {
31
+ /** Name of the declaration. */
32
+ prop: string
33
+ /** Value of the declaration. */
34
+ value: string
35
+ /** Whether the declaration has an `!important` annotation. */
36
+ important?: boolean
37
+ /** Information used to generate byte-to-byte equal node string as it was in the origin input. */
38
+ raws?: DeclarationRaws
39
+ }
40
+
41
+ /**
42
+ * Represents a CSS declaration.
43
+ *
44
+ * ```js
45
+ * Once (root, { Declaration }) {
46
+ * let color = new Declaration({ prop: 'color', value: 'black' })
47
+ * root.append(color)
48
+ * }
49
+ * ```
50
+ *
51
+ * ```js
52
+ * const root = postcss.parse('a { color: black }')
53
+ * const decl = root.first.first
54
+ * decl.type //=> 'decl'
55
+ * decl.toString() //=> ' color: black'
56
+ * ```
57
+ */
58
+ export default class Declaration extends Node {
59
+ type: 'decl'
60
+ parent: Container | undefined
61
+ raws: DeclarationRaws
62
+
63
+ /**
64
+ * The declaration's property name.
65
+ *
66
+ * ```js
67
+ * const root = postcss.parse('a { color: black }')
68
+ * const decl = root.first.first
69
+ * decl.prop //=> 'color'
70
+ * ```
71
+ */
72
+ prop: string
73
+
74
+ /**
75
+ * The declaration’s value.
76
+ *
77
+ * This value will be cleaned of comments. If the source value contained
78
+ * comments, those comments will be available in the `raws` property.
79
+ * If you have not changed the value, the result of `decl.toString()`
80
+ * will include the original raws value (comments and all).
81
+ *
82
+ * ```js
83
+ * const root = postcss.parse('a { color: black }')
84
+ * const decl = root.first.first
85
+ * decl.value //=> 'black'
86
+ * ```
87
+ */
88
+ value: string
89
+
90
+ /**
91
+ * `true` if the declaration has an `!important` annotation.
92
+ *
93
+ * ```js
94
+ * const root = postcss.parse('a { color: black !important; color: red }')
95
+ * root.first.first.important //=> true
96
+ * root.first.last.important //=> undefined
97
+ * ```
98
+ */
99
+ important: boolean
100
+
101
+ /**
102
+ * `true` if declaration is declaration of CSS Custom Property
103
+ * or Sass variable.
104
+ *
105
+ * ```js
106
+ * const root = postcss.parse(':root { --one: 1 }')
107
+ * let one = root.first.first
108
+ * one.variable //=> true
109
+ * ```
110
+ *
111
+ * ```js
112
+ * const root = postcss.parse('$one: 1')
113
+ * let one = root.first
114
+ * one.variable //=> true
115
+ * ```
116
+ */
117
+ variable: boolean
118
+
119
+ constructor(defaults?: DeclarationProps)
120
+ assign(overrides: object | DeclarationProps): this
121
+ clone(overrides?: Partial<DeclarationProps>): this
122
+ cloneBefore(overrides?: Partial<DeclarationProps>): this
123
+ cloneAfter(overrides?: Partial<DeclarationProps>): this
124
+ }
@@ -0,0 +1,57 @@
1
+ import Container, { ContainerProps } from './container'
2
+ import { ProcessOptions } from './postcss'
3
+ import Result from './result'
4
+ import Root, { RootProps } from './root'
5
+
6
+ export interface DocumentProps extends ContainerProps {
7
+ nodes?: Root[]
8
+
9
+ /**
10
+ * Information to generate byte-to-byte equal node string as it was
11
+ * in the origin input.
12
+ *
13
+ * Every parser saves its own properties.
14
+ */
15
+ raws?: Record<string, any>
16
+ }
17
+
18
+ type ChildNode = Root
19
+ type ChildProps = RootProps
20
+
21
+ /**
22
+ * Represents a file and contains all its parsed nodes.
23
+ *
24
+ * **Experimental:** some aspects of this node could change within minor
25
+ * or patch version releases.
26
+ *
27
+ * ```js
28
+ * const document = htmlParser(
29
+ * '<html><style>a{color:black}</style><style>b{z-index:2}</style>'
30
+ * )
31
+ * document.type //=> 'document'
32
+ * document.nodes.length //=> 2
33
+ * ```
34
+ */
35
+ export default class Document extends Container<Root> {
36
+ type: 'document'
37
+ parent: undefined
38
+
39
+ constructor(defaults?: DocumentProps)
40
+
41
+ /**
42
+ * Returns a `Result` instance representing the document’s CSS roots.
43
+ *
44
+ * ```js
45
+ * const root1 = postcss.parse(css1, { from: 'a.css' })
46
+ * const root2 = postcss.parse(css2, { from: 'b.css' })
47
+ * const document = postcss.document()
48
+ * document.append(root1)
49
+ * document.append(root2)
50
+ * const result = document.toResult({ to: 'all.css', map: true })
51
+ * ```
52
+ *
53
+ * @param opts Options.
54
+ * @return Result with current document’s CSS.
55
+ */
56
+ toResult(options?: ProcessOptions): Result
57
+ }
@@ -0,0 +1,130 @@
1
+ import { ProcessOptions } from './postcss'
2
+ import PreviousMap from './previous-map'
3
+
4
+ export interface FilePosition {
5
+ /**
6
+ * URL for the source file.
7
+ */
8
+ url: string
9
+
10
+ /**
11
+ * Absolute path to the source file.
12
+ */
13
+ file?: string
14
+
15
+ /**
16
+ * Line in source file.
17
+ */
18
+ line: number
19
+
20
+ /**
21
+ * Column in source file.
22
+ */
23
+ column: number
24
+
25
+ /**
26
+ * Source code.
27
+ */
28
+ source?: string
29
+ }
30
+
31
+ /**
32
+ * Represents the source CSS.
33
+ *
34
+ * ```js
35
+ * const root = postcss.parse(css, { from: file })
36
+ * const input = root.source.input
37
+ * ```
38
+ */
39
+ export default class Input {
40
+ /**
41
+ * Input CSS source.
42
+ *
43
+ * ```js
44
+ * const input = postcss.parse('a{}', { from: file }).input
45
+ * input.css //=> "a{}"
46
+ * ```
47
+ */
48
+ css: string
49
+
50
+ /**
51
+ * The input source map passed from a compilation step before PostCSS
52
+ * (for example, from Sass compiler).
53
+ *
54
+ * ```js
55
+ * root.source.input.map.consumer().sources //=> ['a.sass']
56
+ * ```
57
+ */
58
+ map: PreviousMap
59
+
60
+ /**
61
+ * The absolute path to the CSS source file defined
62
+ * with the `from` option.
63
+ *
64
+ * ```js
65
+ * const root = postcss.parse(css, { from: 'a.css' })
66
+ * root.source.input.file //=> '/home/ai/a.css'
67
+ * ```
68
+ */
69
+ file?: string
70
+
71
+ /**
72
+ * The unique ID of the CSS source. It will be created if `from` option
73
+ * is not provided (because PostCSS does not know the file path).
74
+ *
75
+ * ```js
76
+ * const root = postcss.parse(css)
77
+ * root.source.input.file //=> undefined
78
+ * root.source.input.id //=> "<input css 8LZeVF>"
79
+ * ```
80
+ */
81
+ id?: string
82
+
83
+ /**
84
+ * The flag to indicate whether or not the source code has Unicode BOM.
85
+ */
86
+ hasBOM: boolean
87
+
88
+ /**
89
+ * @param css Input CSS source.
90
+ * @param opts Process options.
91
+ */
92
+ constructor(css: string, opts?: ProcessOptions)
93
+
94
+ /**
95
+ * The CSS source identifier. Contains `Input#file` if the user
96
+ * set the `from` option, or `Input#id` if they did not.
97
+ *
98
+ * ```js
99
+ * const root = postcss.parse(css, { from: 'a.css' })
100
+ * root.source.input.from //=> "/home/ai/a.css"
101
+ *
102
+ * const root = postcss.parse(css)
103
+ * root.source.input.from //=> "<input css 1>"
104
+ * ```
105
+ */
106
+ get from(): string
107
+
108
+ /**
109
+ * Reads the input source map and returns a symbol position
110
+ * in the input source (e.g., in a Sass file that was compiled
111
+ * to CSS before being passed to PostCSS).
112
+ *
113
+ * ```js
114
+ * root.source.input.origin(1, 1) //=> { file: 'a.css', line: 3, column: 1 }
115
+ * ```
116
+ *
117
+ * @param line Line in input CSS.
118
+ * @param column Column in input CSS.
119
+ *
120
+ * @return Position in input source.
121
+ */
122
+ origin(line: number, column: number): FilePosition | false
123
+
124
+ /**
125
+ * Converts source offset to line and column.
126
+ *
127
+ * @param offset Source offset.
128
+ */
129
+ fromOffset(offset: number): { line: number; col: number } | null
130
+ }
@@ -0,0 +1,175 @@
1
+ import Result, { Message, ResultOptions } from './result'
2
+ import { SourceMap } from './postcss'
3
+ import Processor from './processor'
4
+ import Warning from './warning'
5
+ import Root from './root'
6
+
7
+ /**
8
+ * A Promise proxy for the result of PostCSS transformations.
9
+ *
10
+ * A `LazyResult` instance is returned by `Processor#process`.
11
+ *
12
+ * ```js
13
+ * const lazy = postcss([autoprefixer]).process(css)
14
+ * ```
15
+ */
16
+ export default class LazyResult implements PromiseLike<Result> {
17
+ /**
18
+ * Processes input CSS through synchronous and asynchronous plugins
19
+ * and calls `onFulfilled` with a Result instance. If a plugin throws
20
+ * an error, the `onRejected` callback will be executed.
21
+ *
22
+ * It implements standard Promise API.
23
+ *
24
+ * ```js
25
+ * postcss([autoprefixer]).process(css, { from: cssPath }).then(result => {
26
+ * console.log(result.css)
27
+ * })
28
+ * ```
29
+ */
30
+ then: Promise<Result>['then']
31
+
32
+ /**
33
+ * Processes input CSS through synchronous and asynchronous plugins
34
+ * and calls onRejected for each error thrown in any plugin.
35
+ *
36
+ * It implements standard Promise API.
37
+ *
38
+ * ```js
39
+ * postcss([autoprefixer]).process(css).then(result => {
40
+ * console.log(result.css)
41
+ * }).catch(error => {
42
+ * console.error(error)
43
+ * })
44
+ * ```
45
+ */
46
+ catch: Promise<Result>['catch']
47
+
48
+ /**
49
+ * Processes input CSS through synchronous and asynchronous plugins
50
+ * and calls onFinally on any error or when all plugins will finish work.
51
+ *
52
+ * It implements standard Promise API.
53
+ *
54
+ * ```js
55
+ * postcss([autoprefixer]).process(css).finally(() => {
56
+ * console.log('processing ended')
57
+ * })
58
+ * ```
59
+ */
60
+ finally: Promise<Result>['finally']
61
+
62
+ /**
63
+ * @param processor Processor used for this transformation.
64
+ * @param css CSS to parse and transform.
65
+ * @param opts Options from the `Processor#process` or `Root#toResult`.
66
+ */
67
+ constructor(processor: Processor, css: string, opts: ResultOptions)
68
+
69
+ /**
70
+ * Returns the default string description of an object.
71
+ * Required to implement the Promise interface.
72
+ */
73
+ get [Symbol.toStringTag](): string
74
+
75
+ /**
76
+ * Returns a `Processor` instance, which will be used
77
+ * for CSS transformations.
78
+ */
79
+ get processor(): Processor
80
+
81
+ /**
82
+ * Options from the `Processor#process` call.
83
+ */
84
+ get opts(): ResultOptions
85
+
86
+ /**
87
+ * Processes input CSS through synchronous plugins, converts `Root`
88
+ * to a CSS string and returns `Result#css`.
89
+ *
90
+ * This property will only work with synchronous plugins.
91
+ * If the processor contains any asynchronous plugins
92
+ * it will throw an error. This is why this method is only
93
+ * for debug purpose, you should always use `LazyResult#then`.
94
+ */
95
+ get css(): string
96
+
97
+ /**
98
+ * An alias for the `css` property. Use it with syntaxes
99
+ * that generate non-CSS output.
100
+ *
101
+ * This property will only work with synchronous plugins.
102
+ * If the processor contains any asynchronous plugins
103
+ * it will throw an error. This is why this method is only
104
+ * for debug purpose, you should always use `LazyResult#then`.
105
+ */
106
+ get content(): string
107
+
108
+ /**
109
+ * Processes input CSS through synchronous plugins
110
+ * and returns `Result#map`.
111
+ *
112
+ * This property will only work with synchronous plugins.
113
+ * If the processor contains any asynchronous plugins
114
+ * it will throw an error. This is why this method is only
115
+ * for debug purpose, you should always use `LazyResult#then`.
116
+ */
117
+ get map(): SourceMap
118
+
119
+ /**
120
+ * Processes input CSS through synchronous plugins
121
+ * and returns `Result#root`.
122
+ *
123
+ * This property will only work with synchronous plugins. If the processor
124
+ * contains any asynchronous plugins it will throw an error.
125
+ *
126
+ * This is why this method is only for debug purpose,
127
+ * you should always use `LazyResult#then`.
128
+ */
129
+ get root(): Root
130
+
131
+ /**
132
+ * Processes input CSS through synchronous plugins
133
+ * and returns `Result#messages`.
134
+ *
135
+ * This property will only work with synchronous plugins. If the processor
136
+ * contains any asynchronous plugins it will throw an error.
137
+ *
138
+ * This is why this method is only for debug purpose,
139
+ * you should always use `LazyResult#then`.
140
+ */
141
+ get messages(): Message[]
142
+
143
+ /**
144
+ * Processes input CSS through synchronous plugins
145
+ * and calls `Result#warnings`.
146
+ *
147
+ * @return Warnings from plugins.
148
+ */
149
+ warnings(): Warning[]
150
+
151
+ /**
152
+ * Alias for the `LazyResult#css` property.
153
+ *
154
+ * ```js
155
+ * lazy + '' === lazy.css
156
+ * ```
157
+ *
158
+ * @return Output CSS.
159
+ */
160
+ toString(): string
161
+
162
+ /**
163
+ * Run plugin in sync way and return `Result`.
164
+ *
165
+ * @return Result with output content.
166
+ */
167
+ sync(): Result
168
+
169
+ /**
170
+ * Run plugin in async way and return `Result`.
171
+ *
172
+ * @return Result with output content.
173
+ */
174
+ async(): Promise<Result>
175
+ }