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

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 +162727 -0
  179. package/compiled/webpack/json-schema/index.d.ts +751 -0
  180. package/compiled/webpack/lazy-compilation-node.js +38 -0
  181. package/compiled/webpack/lazy-compilation-web.js +74 -0
  182. package/compiled/webpack/package.json +1 -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 +12633 -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 +10 -0
  222. package/dist/build.js +61 -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 +56 -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 +16 -0
  236. package/dist/config/config.js +163 -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 +12 -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 +13 -0
  264. package/dist/dev.js +71 -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,195 @@
1
+ import {
2
+ ProcessOptions,
3
+ Plugin,
4
+ SourceMap,
5
+ TransformCallback,
6
+ Root,
7
+ Node,
8
+ Warning,
9
+ WarningOptions
10
+ } from './postcss.js'
11
+ import Processor from './processor'
12
+
13
+ export interface Message {
14
+ /**
15
+ * Message type.
16
+ */
17
+ type: string
18
+
19
+ /**
20
+ * Source PostCSS plugin name.
21
+ */
22
+ plugin?: string
23
+
24
+ [others: string]: any
25
+ }
26
+
27
+ export interface ResultOptions extends ProcessOptions {
28
+ /**
29
+ * The CSS node that was the source of the warning.
30
+ */
31
+ node?: Node
32
+
33
+ /**
34
+ * Name of plugin that created this warning. `Result#warn` will fill it
35
+ * automatically with `Plugin#postcssPlugin` value.
36
+ */
37
+ plugin?: string
38
+ }
39
+
40
+ /**
41
+ * Provides the result of the PostCSS transformations.
42
+ *
43
+ * A Result instance is returned by `LazyResult#then`
44
+ * or `Root#toResult` methods.
45
+ *
46
+ * ```js
47
+ * postcss([autoprefixer]).process(css).then(result => {
48
+ * console.log(result.css)
49
+ * })
50
+ * ```
51
+ *
52
+ * ```js
53
+ * const result2 = postcss.parse(css).toResult()
54
+ * ```
55
+ */
56
+ export default class Result {
57
+ /**
58
+ * The Processor instance used for this transformation.
59
+ *
60
+ * ```js
61
+ * for (const plugin of result.processor.plugins) {
62
+ * if (plugin.postcssPlugin === 'postcss-bad') {
63
+ * throw 'postcss-good is incompatible with postcss-bad'
64
+ * }
65
+ * })
66
+ * ```
67
+ */
68
+ processor: Processor
69
+
70
+ /**
71
+ * Contains messages from plugins (e.g., warnings or custom messages).
72
+ * Each message should have type and plugin properties.
73
+ *
74
+ * ```js
75
+ * AtRule: {
76
+ * import: (atRule, { result }) {
77
+ * const importedFile = parseImport(atRule)
78
+ * result.messages.push({
79
+ * type: 'dependency',
80
+ * plugin: 'postcss-import',
81
+ * file: importedFile,
82
+ * parent: result.opts.from
83
+ * })
84
+ * }
85
+ * }
86
+ * ```
87
+ */
88
+ messages: Message[]
89
+
90
+ /**
91
+ * Root node after all transformations.
92
+ *
93
+ * ```js
94
+ * root.toResult().root === root
95
+ * ```
96
+ */
97
+ root: Root
98
+
99
+ /**
100
+ * Options from the `Processor#process` or `Root#toResult` call
101
+ * that produced this Result instance.]
102
+ *
103
+ * ```js
104
+ * root.toResult(opts).opts === opts
105
+ * ```
106
+ */
107
+ opts: ResultOptions
108
+
109
+ /**
110
+ * A CSS string representing of `Result#root`.
111
+ *
112
+ * ```js
113
+ * postcss.parse('a{}').toResult().css //=> "a{}"
114
+ * ```
115
+ */
116
+ css: string
117
+
118
+ /**
119
+ * An instance of `SourceMapGenerator` class from the `source-map` library,
120
+ * representing changes to the `Result#root` instance.
121
+ *
122
+ * ```js
123
+ * result.map.toJSON() //=> { version: 3, file: 'a.css', … }
124
+ * ```
125
+ *
126
+ * ```js
127
+ * if (result.map) {
128
+ * fs.writeFileSync(result.opts.to + '.map', result.map.toString())
129
+ * }
130
+ * ```
131
+ */
132
+ map: SourceMap
133
+
134
+ /**
135
+ * Last runned PostCSS plugin.
136
+ */
137
+ lastPlugin: Plugin | TransformCallback
138
+
139
+ /**
140
+ * @param processor Processor used for this transformation.
141
+ * @param root Root node after all transformations.
142
+ * @param opts Options from the `Processor#process` or `Root#toResult`.
143
+ */
144
+ constructor(processor: Processor, root: Root, opts: ResultOptions)
145
+
146
+ /**
147
+ * An alias for the `Result#css` property.
148
+ * Use it with syntaxes that generate non-CSS output.
149
+ *
150
+ * ```js
151
+ * result.css === result.content
152
+ * ```
153
+ */
154
+ get content(): string
155
+
156
+ /**
157
+ * Returns for `Result#css` content.
158
+ *
159
+ * ```js
160
+ * result + '' === result.css
161
+ * ```
162
+ *
163
+ * @return String representing of `Result#root`.
164
+ */
165
+ toString(): string
166
+
167
+ /**
168
+ * Creates an instance of `Warning` and adds it to `Result#messages`.
169
+ *
170
+ * ```js
171
+ * if (decl.important) {
172
+ * result.warn('Avoid !important', { node: decl, word: '!important' })
173
+ * }
174
+ * ```
175
+ *
176
+ * @param text Warning message.
177
+ * @param opts Warning options.
178
+ * @return Created warning.
179
+ */
180
+ warn(message: string, options?: WarningOptions): Warning
181
+
182
+ /**
183
+ * Returns warnings from plugins. Filters `Warning` instances
184
+ * from `Result#messages`.
185
+ *
186
+ * ```js
187
+ * result.warnings().forEach(warn => {
188
+ * console.warn(warn.toString())
189
+ * })
190
+ * ```
191
+ *
192
+ * @return Warnings from plugins.
193
+ */
194
+ warnings(): Warning[]
195
+ }
@@ -0,0 +1,73 @@
1
+ import Container, { ContainerProps } from './container'
2
+ import Document from './document'
3
+ import { ProcessOptions } from './postcss'
4
+ import Result from './result'
5
+
6
+ interface RootRaws extends Record<string, any> {
7
+ /**
8
+ * The space symbols after the last child to the end of file.
9
+ */
10
+ after?: string
11
+
12
+ /**
13
+ * Non-CSS code before `Root`, when `Root` is inside `Document`.
14
+ *
15
+ * **Experimental:** some aspects of this node could change within minor
16
+ * or patch version releases.
17
+ */
18
+ codeBefore?: string
19
+
20
+ /**
21
+ * Non-CSS code after `Root`, when `Root` is inside `Document`.
22
+ *
23
+ * **Experimental:** some aspects of this node could change within minor
24
+ * or patch version releases.
25
+ */
26
+ codeAfter?: string
27
+
28
+ /**
29
+ * Is the last child has an (optional) semicolon.
30
+ */
31
+ semicolon?: boolean
32
+ }
33
+
34
+ export interface RootProps extends ContainerProps {
35
+ /**
36
+ * Information used to generate byte-to-byte equal node string
37
+ * as it was in the origin input.
38
+ * */
39
+ raws?: RootRaws
40
+ }
41
+
42
+ /**
43
+ * Represents a CSS file and contains all its parsed nodes.
44
+ *
45
+ * ```js
46
+ * const root = postcss.parse('a{color:black} b{z-index:2}')
47
+ * root.type //=> 'root'
48
+ * root.nodes.length //=> 2
49
+ * ```
50
+ */
51
+ export default class Root extends Container {
52
+ type: 'root'
53
+ parent: Document | undefined
54
+ raws: RootRaws
55
+
56
+ /**
57
+ * Returns a `Result` instance representing the root’s CSS.
58
+ *
59
+ * ```js
60
+ * const root1 = postcss.parse(css1, { from: 'a.css' })
61
+ * const root2 = postcss.parse(css2, { from: 'b.css' })
62
+ * root1.append(root2)
63
+ * const result = root1.toResult({ to: 'all.css', map: true })
64
+ * ```
65
+ *
66
+ * @param opts Options.
67
+ * @return Result with current root’s CSS.
68
+ */
69
+ toResult(options?: ProcessOptions): Result
70
+
71
+ constructor(defaults?: RootProps)
72
+ assign(overrides: object | RootProps): this
73
+ }
@@ -0,0 +1,104 @@
1
+ import Container, { ContainerProps } from './container'
2
+
3
+ interface RuleRaws {
4
+ /**
5
+ * The space symbols before the node. It also stores `*`
6
+ * and `_` symbols before the declaration (IE hack).
7
+ */
8
+ before?: string
9
+
10
+ /**
11
+ * The space symbols after the last child of the node to the end of the node.
12
+ */
13
+ after?: string
14
+
15
+ /**
16
+ * The symbols between the selector and `{` for rules.
17
+ */
18
+ between?: string
19
+
20
+ /**
21
+ * Contains `true` if the last child has an (optional) semicolon.
22
+ */
23
+ semicolon?: boolean
24
+
25
+ /**
26
+ * Contains `true` if there is semicolon after rule.
27
+ */
28
+ ownSemicolon?: string
29
+
30
+ /**
31
+ * The rule’s selector with comments.
32
+ */
33
+ selector?: {
34
+ value: string
35
+ raw: string
36
+ }
37
+ }
38
+
39
+ export interface RuleProps extends ContainerProps {
40
+ /** Selector or selectors of the rule. */
41
+ selector?: string
42
+ /** Selectors of the rule represented as an array of strings. */
43
+ selectors?: string[]
44
+ /** Information used to generate byte-to-byte equal node string as it was in the origin input. */
45
+ raws?: RuleRaws
46
+ }
47
+
48
+ /**
49
+ * Represents a CSS rule: a selector followed by a declaration block.
50
+ *
51
+ * ```js
52
+ * Once (root, { Rule }) {
53
+ * let a = new Rule({ selector: 'a' })
54
+ * a.append(…)
55
+ * root.append(a)
56
+ * }
57
+ * ```
58
+ *
59
+ * ```js
60
+ * const root = postcss.parse('a{}')
61
+ * const rule = root.first
62
+ * rule.type //=> 'rule'
63
+ * rule.toString() //=> 'a{}'
64
+ * ```
65
+ */
66
+ export default class Rule extends Container {
67
+ type: 'rule'
68
+ parent: Container | undefined
69
+ raws: RuleRaws
70
+
71
+ /**
72
+ * The rule’s full selector represented as a string.
73
+ *
74
+ * ```js
75
+ * const root = postcss.parse('a, b { }')
76
+ * const rule = root.first
77
+ * rule.selector //=> 'a, b'
78
+ * ```
79
+ */
80
+ selector: string
81
+
82
+ /**
83
+ * An array containing the rule’s individual selectors.
84
+ * Groups of selectors are split at commas.
85
+ *
86
+ * ```js
87
+ * const root = postcss.parse('a, b { }')
88
+ * const rule = root.first
89
+ *
90
+ * rule.selector //=> 'a, b'
91
+ * rule.selectors //=> ['a', 'b']
92
+ *
93
+ * rule.selectors = ['a', 'strong']
94
+ * rule.selector //=> 'a, strong'
95
+ * ```
96
+ */
97
+ selectors: string[]
98
+
99
+ constructor(defaults?: RuleProps)
100
+ assign(overrides: object | RuleProps): this
101
+ clone(overrides?: Partial<RuleProps>): this
102
+ cloneBefore(overrides?: Partial<RuleProps>): this
103
+ cloneAfter(overrides?: Partial<RuleProps>): this
104
+ }
@@ -0,0 +1,104 @@
1
+ import Node from './node'
2
+
3
+ export interface WarningOptions {
4
+ /**
5
+ * CSS node that caused the warning.
6
+ */
7
+ node?: Node
8
+
9
+ /**
10
+ * Word in CSS source that caused the warning.
11
+ */
12
+ word?: string
13
+
14
+ /**
15
+ * Index in CSS node string that caused the warning.
16
+ */
17
+ index?: number
18
+
19
+ /**
20
+ * Name of the plugin that created this warning. `Result#warn` fills
21
+ * this property automatically.
22
+ */
23
+ plugin?: string
24
+ }
25
+
26
+ /**
27
+ * Represents a plugin’s warning. It can be created using `Node#warn`.
28
+ *
29
+ * ```js
30
+ * if (decl.important) {
31
+ * decl.warn(result, 'Avoid !important', { word: '!important' })
32
+ * }
33
+ * ```
34
+ */
35
+ export default class Warning {
36
+ /**
37
+ * Type to filter warnings from `Result#messages`.
38
+ * Always equal to `"warning"`.
39
+ */
40
+ type: 'warning'
41
+
42
+ /**
43
+ * The warning message.
44
+ *
45
+ * ```js
46
+ * warning.text //=> 'Try to avoid !important'
47
+ * ```
48
+ */
49
+ text: string
50
+
51
+ /**
52
+ * The name of the plugin that created this warning.
53
+ * When you call `Node#warn` it will fill this property automatically.
54
+ *
55
+ * ```js
56
+ * warning.plugin //=> 'postcss-important'
57
+ * ```
58
+ */
59
+ plugin: string
60
+
61
+ /**
62
+ * Contains the CSS node that caused the warning.
63
+ *
64
+ * ```js
65
+ * warning.node.toString() //=> 'color: white !important'
66
+ * ```
67
+ */
68
+ node: Node
69
+
70
+ /**
71
+ * Line in the input file with this warning’s source.
72
+ *
73
+ * ```js
74
+ * warning.line //=> 5
75
+ * ```
76
+ */
77
+ line: number
78
+
79
+ /**
80
+ * Column in the input file with this warning’s source.
81
+ *
82
+ * ```js
83
+ * warning.column //=> 6
84
+ * ```
85
+ */
86
+ column: number
87
+
88
+ /**
89
+ * @param text Warning message.
90
+ * @param opts Warning options.
91
+ */
92
+ constructor(text: string, opts?: WarningOptions)
93
+
94
+ /**
95
+ * Returns a warning position and message.
96
+ *
97
+ * ```js
98
+ * warning.toString() //=> 'postcss-lint:a.css:10:14: Avoid !important'
99
+ * ```
100
+ *
101
+ * @return Warning position and message.
102
+ */
103
+ toString(): string
104
+ }
@@ -0,0 +1,98 @@
1
+ export interface StartOfSourceMap {
2
+ file?: string;
3
+ sourceRoot?: string;
4
+ }
5
+
6
+ export interface RawSourceMap extends StartOfSourceMap {
7
+ version: string;
8
+ sources: string[];
9
+ names: string[];
10
+ sourcesContent?: string[];
11
+ mappings: string;
12
+ }
13
+
14
+ export interface Position {
15
+ line: number;
16
+ column: number;
17
+ }
18
+
19
+ export interface LineRange extends Position {
20
+ lastColumn: number;
21
+ }
22
+
23
+ export interface FindPosition extends Position {
24
+ // SourceMapConsumer.GREATEST_LOWER_BOUND or SourceMapConsumer.LEAST_UPPER_BOUND
25
+ bias?: number;
26
+ }
27
+
28
+ export interface SourceFindPosition extends FindPosition {
29
+ source: string;
30
+ }
31
+
32
+ export interface MappedPosition extends Position {
33
+ source: string;
34
+ name?: string;
35
+ }
36
+
37
+ export interface MappingItem {
38
+ source: string;
39
+ generatedLine: number;
40
+ generatedColumn: number;
41
+ originalLine: number;
42
+ originalColumn: number;
43
+ name: string;
44
+ }
45
+
46
+ export class SourceMapConsumer {
47
+ static GENERATED_ORDER: number;
48
+ static ORIGINAL_ORDER: number;
49
+
50
+ static GREATEST_LOWER_BOUND: number;
51
+ static LEAST_UPPER_BOUND: number;
52
+
53
+ constructor(rawSourceMap: RawSourceMap);
54
+ computeColumnSpans(): void;
55
+ originalPositionFor(generatedPosition: FindPosition): MappedPosition;
56
+ generatedPositionFor(originalPosition: SourceFindPosition): LineRange;
57
+ allGeneratedPositionsFor(originalPosition: MappedPosition): Position[];
58
+ hasContentsOfAllSources(): boolean;
59
+ sourceContentFor(source: string, returnNullOnMissing?: boolean): string;
60
+ eachMapping(callback: (mapping: MappingItem) => void, context?: any, order?: number): void;
61
+ }
62
+
63
+ export interface Mapping {
64
+ generated: Position;
65
+ original: Position;
66
+ source: string;
67
+ name?: string;
68
+ }
69
+
70
+ export class SourceMapGenerator {
71
+ constructor(startOfSourceMap?: StartOfSourceMap);
72
+ static fromSourceMap(sourceMapConsumer: SourceMapConsumer): SourceMapGenerator;
73
+ addMapping(mapping: Mapping): void;
74
+ setSourceContent(sourceFile: string, sourceContent: string): void;
75
+ applySourceMap(sourceMapConsumer: SourceMapConsumer, sourceFile?: string, sourceMapPath?: string): void;
76
+ toString(): string;
77
+ }
78
+
79
+ export interface CodeWithSourceMap {
80
+ code: string;
81
+ map: SourceMapGenerator;
82
+ }
83
+
84
+ export class SourceNode {
85
+ constructor();
86
+ constructor(line: number, column: number, source: string);
87
+ constructor(line: number, column: number, source: string, chunk?: string, name?: string);
88
+ static fromStringWithSourceMap(code: string, sourceMapConsumer: SourceMapConsumer, relativePath?: string): SourceNode;
89
+ add(chunk: string): void;
90
+ prepend(chunk: string): void;
91
+ setSourceContent(sourceFile: string, sourceContent: string): void;
92
+ walk(fn: (chunk: string, mapping: MappedPosition) => void): void;
93
+ walkSourceContents(fn: (file: string, content: string) => void): void;
94
+ join(sep: string): SourceNode;
95
+ replaceRight(pattern: string, replacement: string): SourceNode;
96
+ toString(): string;
97
+ toStringWithSourceMap(startOfSourceMap?: StartOfSourceMap): CodeWithSourceMap;
98
+ }
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014-2019 Luís Couto <hello@luiscouto.pt>
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.