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

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,472 @@
1
+ import { SourceMapGenerator, RawSourceMap } from '../../source-map-js'
2
+
3
+ import Node, {
4
+ Position,
5
+ Source,
6
+ ChildNode,
7
+ NodeErrorOptions,
8
+ NodeProps,
9
+ ChildProps,
10
+ AnyNode
11
+ } from './node.js'
12
+ import Declaration, { DeclarationProps } from './declaration'
13
+ import Root, { RootProps } from './root'
14
+ import Document, { DocumentProps } from './document'
15
+ import Comment, { CommentProps } from './comment'
16
+ import AtRule, { AtRuleProps } from './at-rule'
17
+ import Result, { Message } from './result'
18
+ import LazyResult from './lazy-result'
19
+ import Rule, { RuleProps } from './rule'
20
+ import Container, { ContainerProps } from './container'
21
+ import Warning, { WarningOptions } from './warning'
22
+ import Input, { FilePosition } from './input'
23
+ import CssSyntaxError from './css-syntax-error'
24
+ import list, { List } from './list'
25
+ import Processor from './processor'
26
+
27
+ export {
28
+ WarningOptions,
29
+ FilePosition,
30
+ Position,
31
+ Source,
32
+ ChildNode,
33
+ AnyNode,
34
+ Message,
35
+ NodeErrorOptions,
36
+ NodeProps,
37
+ DeclarationProps,
38
+ ContainerProps,
39
+ CommentProps,
40
+ RuleProps,
41
+ ChildProps,
42
+ AtRuleProps,
43
+ RootProps,
44
+ DocumentProps,
45
+ Warning,
46
+ CssSyntaxError,
47
+ Node,
48
+ Container,
49
+ list,
50
+ Declaration,
51
+ Comment,
52
+ AtRule,
53
+ Rule,
54
+ Root,
55
+ Document,
56
+ Result,
57
+ LazyResult,
58
+ Input
59
+ }
60
+
61
+ export type SourceMap = SourceMapGenerator & {
62
+ toJSON(): RawSourceMap
63
+ }
64
+
65
+ export type Helpers = { result: Result; postcss: Postcss } & Postcss
66
+
67
+ type DocumentProcessor = (
68
+ document: Document,
69
+ helper: Helpers
70
+ ) => Promise<void> | void
71
+ type RootProcessor = (root: Root, helper: Helpers) => Promise<void> | void
72
+ type DeclarationProcessor = (
73
+ decl: Declaration,
74
+ helper: Helpers
75
+ ) => Promise<void> | void
76
+ type RuleProcessor = (rule: Rule, helper: Helpers) => Promise<void> | void
77
+ type AtRuleProcessor = (atRule: AtRule, helper: Helpers) => Promise<void> | void
78
+ type CommentProcessor = (
79
+ comment: Comment,
80
+ helper: Helpers
81
+ ) => Promise<void> | void
82
+
83
+ interface Processors {
84
+ /**
85
+ * Will be called on `Document` node.
86
+ *
87
+ * Will be called again on children changes.
88
+ */
89
+ Document?: DocumentProcessor
90
+
91
+ /**
92
+ * Will be called on `Document` node, when all children will be processed.
93
+ *
94
+ * Will be called again on children changes.
95
+ */
96
+ DocumentExit?: DocumentProcessor
97
+
98
+ /**
99
+ * Will be called on `Root` node once.
100
+ */
101
+ Once?: RootProcessor
102
+
103
+ /**
104
+ * Will be called on `Root` node once, when all children will be processed.
105
+ */
106
+ OnceExit?: RootProcessor
107
+
108
+ /**
109
+ * Will be called on `Root` node.
110
+ *
111
+ * Will be called again on children changes.
112
+ */
113
+ Root?: RootProcessor
114
+
115
+ /**
116
+ * Will be called on `Root` node, when all children will be processed.
117
+ *
118
+ * Will be called again on children changes.
119
+ */
120
+ RootExit?: RootProcessor
121
+
122
+ /**
123
+ * Will be called on all `Declaration` nodes after listeners
124
+ * for `Declaration` event.
125
+ *
126
+ * Will be called again on node or children changes.
127
+ */
128
+ Declaration?: DeclarationProcessor | { [prop: string]: DeclarationProcessor }
129
+
130
+ /**
131
+ * Will be called on all `Declaration` nodes.
132
+ *
133
+ * Will be called again on node or children changes.
134
+ */
135
+ DeclarationExit?:
136
+ | DeclarationProcessor
137
+ | { [prop: string]: DeclarationProcessor }
138
+
139
+ /**
140
+ * Will be called on all `Rule` nodes.
141
+ *
142
+ * Will be called again on node or children changes.
143
+ */
144
+ Rule?: RuleProcessor
145
+
146
+ /**
147
+ * Will be called on all `Rule` nodes, when all children will be processed.
148
+ *
149
+ * Will be called again on node or children changes.
150
+ */
151
+ RuleExit?: RuleProcessor
152
+
153
+ /**
154
+ * Will be called on all`AtRule` nodes.
155
+ *
156
+ * Will be called again on node or children changes.
157
+ */
158
+ AtRule?: AtRuleProcessor | { [name: string]: AtRuleProcessor }
159
+
160
+ /**
161
+ * Will be called on all `AtRule` nodes, when all children will be processed.
162
+ *
163
+ * Will be called again on node or children changes.
164
+ */
165
+ AtRuleExit?: AtRuleProcessor | { [name: string]: AtRuleProcessor }
166
+
167
+ /**
168
+ * Will be called on all `Comment` nodes.
169
+ *
170
+ * Will be called again on node or children changes.
171
+ */
172
+ Comment?: CommentProcessor
173
+
174
+ /**
175
+ * Will be called on all `Comment` nodes after listeners
176
+ * for `Comment` event.
177
+ *
178
+ * Will be called again on node or children changes.
179
+ */
180
+ CommentExit?: CommentProcessor
181
+
182
+ /**
183
+ * Will be called when all other listeners processed the document.
184
+ *
185
+ * This listener will not be called again.
186
+ */
187
+ Exit?: RootProcessor
188
+ }
189
+
190
+ export interface Plugin extends Processors {
191
+ postcssPlugin: string
192
+ prepare?: (result: Result) => Processors
193
+ }
194
+
195
+ export interface PluginCreator<PluginOptions> {
196
+ (opts?: PluginOptions): Plugin | Processor
197
+ postcss: true
198
+ }
199
+
200
+ export interface Transformer extends TransformCallback {
201
+ postcssPlugin: string
202
+ postcssVersion: string
203
+ }
204
+
205
+ export interface TransformCallback {
206
+ (root: Root, result: Result): Promise<void> | void
207
+ }
208
+
209
+ export interface OldPlugin<T> extends Transformer {
210
+ (opts?: T): Transformer
211
+ postcss: Transformer
212
+ }
213
+
214
+ export type AcceptedPlugin =
215
+ | Plugin
216
+ | PluginCreator<any>
217
+ | OldPlugin<any>
218
+ | TransformCallback
219
+ | {
220
+ postcss: TransformCallback | Processor
221
+ }
222
+ | Processor
223
+
224
+ export interface Parser<RootNode = Root> {
225
+ (
226
+ css: string | { toString(): string },
227
+ opts?: Pick<ProcessOptions, 'map' | 'from'>
228
+ ): RootNode
229
+ }
230
+
231
+ export interface Builder {
232
+ (part: string, node?: AnyNode, type?: 'start' | 'end'): void
233
+ }
234
+
235
+ export interface Stringifier {
236
+ (node: AnyNode, builder: Builder): void
237
+ }
238
+
239
+ export interface JSONHydrator {
240
+ (data: object[]): Node[]
241
+ (data: object): Node
242
+ }
243
+
244
+ export interface Syntax {
245
+ /**
246
+ * Function to generate AST by string.
247
+ */
248
+ parse?: Parser<Root | Document>
249
+
250
+ /**
251
+ * Class to generate string by AST.
252
+ */
253
+ stringify?: Stringifier
254
+ }
255
+
256
+ export interface SourceMapOptions {
257
+ /**
258
+ * Indicates that the source map should be embedded in the output CSS
259
+ * as a Base64-encoded comment. By default, it is `true`.
260
+ * But if all previous maps are external, not inline, PostCSS will not embed
261
+ * the map even if you do not set this option.
262
+ *
263
+ * If you have an inline source map, the result.map property will be empty,
264
+ * as the source map will be contained within the text of `result.css`.
265
+ */
266
+ inline?: boolean
267
+
268
+ /**
269
+ * Source map content from a previous processing step (e.g., Sass).
270
+ *
271
+ * PostCSS will try to read the previous source map
272
+ * automatically (based on comments within the source CSS), but you can use
273
+ * this option to identify it manually.
274
+ *
275
+ * If desired, you can omit the previous map with prev: `false`.
276
+ */
277
+ prev?: string | boolean | object | ((file: string) => string)
278
+
279
+ /**
280
+ * Indicates that PostCSS should set the origin content (e.g., Sass source)
281
+ * of the source map. By default, it is true. But if all previous maps do not
282
+ * contain sources content, PostCSS will also leave it out even if you
283
+ * do not set this option.
284
+ */
285
+ sourcesContent?: boolean
286
+
287
+ /**
288
+ * Indicates that PostCSS should add annotation comments to the CSS.
289
+ * By default, PostCSS will always add a comment with a path
290
+ * to the source map. PostCSS will not add annotations to CSS files
291
+ * that do not contain any comments.
292
+ *
293
+ * By default, PostCSS presumes that you want to save the source map as
294
+ * `opts.to + '.map'` and will use this path in the annotation comment.
295
+ * A different path can be set by providing a string value for annotation.
296
+ *
297
+ * If you have set `inline: true`, annotation cannot be disabled.
298
+ */
299
+ annotation?: string | boolean | ((file: string, root: Root) => string)
300
+
301
+ /**
302
+ * Override `from` in map’s sources.
303
+ */
304
+ from?: string
305
+
306
+ /**
307
+ * Use absolute path in generated source map.
308
+ */
309
+ absolute?: boolean
310
+ }
311
+
312
+ export interface ProcessOptions {
313
+ /**
314
+ * The path of the CSS source file. You should always set `from`,
315
+ * because it is used in source map generation and syntax error messages.
316
+ */
317
+ from?: string
318
+
319
+ /**
320
+ * The path where you'll put the output CSS file. You should always set `to`
321
+ * to generate correct source maps.
322
+ */
323
+ to?: string
324
+
325
+ /**
326
+ * Function to generate AST by string.
327
+ */
328
+ parser?: Syntax | Parser
329
+
330
+ /**
331
+ * Class to generate string by AST.
332
+ */
333
+ stringifier?: Syntax | Stringifier
334
+
335
+ /**
336
+ * Object with parse and stringify.
337
+ */
338
+ syntax?: Syntax
339
+
340
+ /**
341
+ * Source map options
342
+ */
343
+ map?: SourceMapOptions | boolean
344
+ }
345
+
346
+ export interface Postcss {
347
+ /**
348
+ * Create a new `Processor` instance that will apply `plugins`
349
+ * as CSS processors.
350
+ *
351
+ * ```js
352
+ * let postcss = require('postcss')
353
+ *
354
+ * postcss(plugins).process(css, { from, to }).then(result => {
355
+ * console.log(result.css)
356
+ * })
357
+ * ```
358
+ *
359
+ * @param plugins PostCSS plugins.
360
+ * @return Processor to process multiple CSS.
361
+ */
362
+ (plugins?: AcceptedPlugin[]): Processor
363
+ (...plugins: AcceptedPlugin[]): Processor
364
+
365
+ /**
366
+ * Default function to convert a node tree into a CSS string.
367
+ */
368
+ stringify: Stringifier
369
+
370
+ /**
371
+ * Parses source css and returns a new `Root` or `Document` node,
372
+ * which contains the source CSS nodes.
373
+ *
374
+ * ```js
375
+ * // Simple CSS concatenation with source map support
376
+ * const root1 = postcss.parse(css1, { from: file1 })
377
+ * const root2 = postcss.parse(css2, { from: file2 })
378
+ * root1.append(root2).toResult().css
379
+ * ```
380
+ */
381
+ parse: Parser
382
+
383
+ /**
384
+ * Rehydrate a JSON AST (from `Node#toJSON`) back into the AST classes.
385
+ *
386
+ * ```js
387
+ * const json = root.toJSON()
388
+ * // save to file, send by network, etc
389
+ * const root2 = postcss.fromJSON(json)
390
+ * ```
391
+ */
392
+ fromJSON: JSONHydrator
393
+
394
+ /**
395
+ * Contains the `list` module.
396
+ */
397
+ list: List
398
+
399
+ /**
400
+ * Creates a new `Comment` node.
401
+ *
402
+ * @param defaults Properties for the new node.
403
+ * @return New comment node
404
+ */
405
+ comment(defaults?: CommentProps): Comment
406
+
407
+ /**
408
+ * Creates a new `AtRule` node.
409
+ *
410
+ * @param defaults Properties for the new node.
411
+ * @return New at-rule node.
412
+ */
413
+ atRule(defaults?: AtRuleProps): AtRule
414
+
415
+ /**
416
+ * Creates a new `Declaration` node.
417
+ *
418
+ * @param defaults Properties for the new node.
419
+ * @return New declaration node.
420
+ */
421
+ decl(defaults?: DeclarationProps): Declaration
422
+
423
+ /**
424
+ * Creates a new `Rule` node.
425
+ *
426
+ * @param default Properties for the new node.
427
+ * @return New rule node.
428
+ */
429
+ rule(defaults?: RuleProps): Rule
430
+
431
+ /**
432
+ * Creates a new `Root` node.
433
+ *
434
+ * @param defaults Properties for the new node.
435
+ * @return New root node.
436
+ */
437
+ root(defaults?: RootProps): Root
438
+
439
+ /**
440
+ * Creates a new `Document` node.
441
+ *
442
+ * @param defaults Properties for the new node.
443
+ * @return New document node.
444
+ */
445
+ document(defaults?: DocumentProps): Document
446
+
447
+ CssSyntaxError: typeof CssSyntaxError
448
+ Declaration: typeof Declaration
449
+ Container: typeof Container
450
+ Comment: typeof Comment
451
+ Warning: typeof Warning
452
+ AtRule: typeof AtRule
453
+ Result: typeof Result
454
+ Input: typeof Input
455
+ Rule: typeof Rule
456
+ Root: typeof Root
457
+ Node: typeof Node
458
+ }
459
+
460
+ export const stringify: Stringifier
461
+ export const parse: Parser
462
+ export const fromJSON: JSONHydrator
463
+
464
+ export const comment: Postcss['comment']
465
+ export const atRule: Postcss['atRule']
466
+ export const decl: Postcss['decl']
467
+ export const rule: Postcss['rule']
468
+ export const root: Postcss['root']
469
+
470
+ declare const postcss: Postcss
471
+
472
+ export default postcss
@@ -0,0 +1,72 @@
1
+ import { SourceMapConsumer } from '../../source-map-js'
2
+
3
+ import { ProcessOptions } from './postcss'
4
+
5
+ /**
6
+ * Source map information from input CSS.
7
+ * For example, source map after Sass compiler.
8
+ *
9
+ * This class will automatically find source map in input CSS or in file system
10
+ * near input file (according `from` option).
11
+ *
12
+ * ```js
13
+ * const root = parse(css, { from: 'a.sass.css' })
14
+ * root.input.map //=> PreviousMap
15
+ * ```
16
+ */
17
+ export default class PreviousMap {
18
+ /**
19
+ * Was source map inlined by data-uri to input CSS.
20
+ */
21
+ inline: boolean
22
+
23
+ /**
24
+ * `sourceMappingURL` content.
25
+ */
26
+ annotation?: string
27
+
28
+ /**
29
+ * Source map file content.
30
+ */
31
+ text?: string
32
+
33
+ /**
34
+ * The directory with source map file, if source map is in separated file.
35
+ */
36
+ root?: string
37
+
38
+ /**
39
+ * The CSS source identifier. Contains `Input#file` if the user
40
+ * set the `from` option, or `Input#id` if they did not.
41
+ */
42
+ file?: string
43
+
44
+ /**
45
+ * Path to source map file.
46
+ */
47
+ mapFile?: string
48
+
49
+ /**
50
+ * @param css Input CSS source.
51
+ * @param opts Process options.
52
+ */
53
+ constructor(css: string, opts?: ProcessOptions)
54
+
55
+ /**
56
+ * Create a instance of `SourceMapGenerator` class
57
+ * from the `source-map` library to work with source map information.
58
+ *
59
+ * It is lazy method, so it will create object only on first call
60
+ * and then it will use cache.
61
+ *
62
+ * @return Object with source map information.
63
+ */
64
+ consumer(): SourceMapConsumer
65
+
66
+ /**
67
+ * Does source map contains `sourcesContent` with input source text.
68
+ *
69
+ * @return Is `sourcesContent` present.
70
+ */
71
+ withContent(): boolean
72
+ }
@@ -0,0 +1,101 @@
1
+ import {
2
+ AcceptedPlugin,
3
+ Plugin,
4
+ ProcessOptions,
5
+ Transformer,
6
+ TransformCallback
7
+ } from './postcss.js'
8
+ import LazyResult from './lazy-result'
9
+ import Result from './result'
10
+ import Root from './root'
11
+
12
+ /**
13
+ * Contains plugins to process CSS. Create one `Processor` instance,
14
+ * initialize its plugins, and then use that instance on numerous CSS files.
15
+ *
16
+ * ```js
17
+ * const processor = postcss([autoprefixer, precss])
18
+ * processor.process(css1).then(result => console.log(result.css))
19
+ * processor.process(css2).then(result => console.log(result.css))
20
+ * ```
21
+ */
22
+ export default class Processor {
23
+ /**
24
+ * Current PostCSS version.
25
+ *
26
+ * ```js
27
+ * if (result.processor.version.split('.')[0] !== '6') {
28
+ * throw new Error('This plugin works only with PostCSS 6')
29
+ * }
30
+ * ```
31
+ */
32
+ version: string
33
+
34
+ /**
35
+ * Plugins added to this processor.
36
+ *
37
+ * ```js
38
+ * const processor = postcss([autoprefixer, precss])
39
+ * processor.plugins.length //=> 2
40
+ * ```
41
+ */
42
+ plugins: (Plugin | Transformer | TransformCallback)[]
43
+
44
+ /**
45
+ * @param plugins PostCSS plugins
46
+ */
47
+ constructor(plugins?: AcceptedPlugin[])
48
+
49
+ /**
50
+ * Adds a plugin to be used as a CSS processor.
51
+ *
52
+ * PostCSS plugin can be in 4 formats:
53
+ * * A plugin in `Plugin` format.
54
+ * * A plugin creator function with `pluginCreator.postcss = true`.
55
+ * PostCSS will call this function without argument to get plugin.
56
+ * * A function. PostCSS will pass the function a @{link Root}
57
+ * as the first argument and current `Result` instance
58
+ * as the second.
59
+ * * Another `Processor` instance. PostCSS will copy plugins
60
+ * from that instance into this one.
61
+ *
62
+ * Plugins can also be added by passing them as arguments when creating
63
+ * a `postcss` instance (see [`postcss(plugins)`]).
64
+ *
65
+ * Asynchronous plugins should return a `Promise` instance.
66
+ *
67
+ * ```js
68
+ * const processor = postcss()
69
+ * .use(autoprefixer)
70
+ * .use(precss)
71
+ * ```
72
+ *
73
+ * @param plugin PostCSS plugin or `Processor` with plugins.
74
+ * @return {Processes} Current processor to make methods chain.
75
+ */
76
+ use(plugin: AcceptedPlugin): this
77
+
78
+ /**
79
+ * Parses source CSS and returns a `LazyResult` Promise proxy.
80
+ * Because some plugins can be asynchronous it doesn’t make
81
+ * any transformations. Transformations will be applied
82
+ * in the `LazyResult` methods.
83
+ *
84
+ * ```js
85
+ * processor.process(css, { from: 'a.css', to: 'a.out.css' })
86
+ * .then(result => {
87
+ * console.log(result.css)
88
+ * })
89
+ * ```
90
+ *
91
+ * @param css String with input CSS or any object with a `toString()` method,
92
+ * like a Buffer. Optionally, senda `Result` instance
93
+ * and the processor will take the `Root` from it.
94
+ * @param opts Options.
95
+ * @return Promise proxy.
96
+ */
97
+ process(
98
+ css: string | { toString(): string } | Result | LazyResult | Root,
99
+ options?: ProcessOptions
100
+ ): LazyResult
101
+ }