@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,51 @@
1
+ export type List = {
2
+ /**
3
+ * Safely splits values.
4
+ *
5
+ * ```js
6
+ * Once (root, { list }) {
7
+ * list.split('1px calc(10% + 1px)', [' ', '\n', '\t']) //=> ['1px', 'calc(10% + 1px)']
8
+ * }
9
+ * ```
10
+ *
11
+ * @param string separated values.
12
+ * @param separators array of separators.
13
+ * @param last boolean indicator.
14
+ * @return Split values.
15
+ */
16
+ split(string: string, separators: string[], last: boolean): string[]
17
+ /**
18
+ * Safely splits space-separated values (such as those for `background`,
19
+ * `border-radius`, and other shorthand properties).
20
+ *
21
+ * ```js
22
+ * Once (root, { list }) {
23
+ * list.space('1px calc(10% + 1px)') //=> ['1px', 'calc(10% + 1px)']
24
+ * }
25
+ * ```
26
+ *
27
+ * @param str Space-separated values.
28
+ * @return Split values.
29
+ */
30
+ space(str: string): string[]
31
+
32
+ /**
33
+ * Safely splits comma-separated values (such as those for `transition-*`
34
+ * and `background` properties).
35
+ *
36
+ * ```js
37
+ * Once (root, { list }) {
38
+ * list.comma('black, linear-gradient(white, black)')
39
+ * //=> ['black', 'linear-gradient(white, black)']
40
+ * }
41
+ * ```
42
+ *
43
+ * @param str Comma-separated values.
44
+ * @return Split values.
45
+ */
46
+ comma(str: string): string[]
47
+ }
48
+
49
+ declare const list: List
50
+
51
+ export default list
@@ -0,0 +1,444 @@
1
+ import Declaration, { DeclarationProps } from './declaration'
2
+ import Comment, { CommentProps } from './comment'
3
+ import { Stringifier, Syntax } from './postcss'
4
+ import AtRule, { AtRuleProps } from './at-rule'
5
+ import Rule, { RuleProps } from './rule'
6
+ import { WarningOptions } from './warning'
7
+ import CssSyntaxError from './css-syntax-error'
8
+ import Result from './result'
9
+ import Input from './input'
10
+ import Root from './root'
11
+ import Document from './document'
12
+ import Container from './container'
13
+
14
+ export type ChildNode = AtRule | Rule | Declaration | Comment
15
+
16
+ export type AnyNode = AtRule | Rule | Declaration | Comment | Root | Document
17
+
18
+ export type ChildProps =
19
+ | AtRuleProps
20
+ | RuleProps
21
+ | DeclarationProps
22
+ | CommentProps
23
+
24
+ export interface Position {
25
+ /**
26
+ * Source offset in file. It starts from 0.
27
+ */
28
+ offset: number
29
+
30
+ /**
31
+ * Source line in file. In contrast to `offset` it starts from 1.
32
+ */
33
+ column: number
34
+
35
+ /**
36
+ * Source column in file.
37
+ */
38
+ line: number
39
+ }
40
+
41
+ export interface Source {
42
+ /**
43
+ * The file source of the node.
44
+ */
45
+ input: Input
46
+ /**
47
+ * The starting position of the node’s source.
48
+ */
49
+ start?: Position
50
+ /**
51
+ * The ending position of the node's source.
52
+ */
53
+ end?: Position
54
+ }
55
+
56
+ export interface NodeProps {
57
+ source?: Source
58
+ }
59
+
60
+ interface NodeErrorOptions {
61
+ /**
62
+ * Plugin name that created this error. PostCSS will set it automatically.
63
+ */
64
+ plugin?: string
65
+ /**
66
+ * A word inside a node's string, that should be highlighted as source
67
+ * of error.
68
+ */
69
+ word?: string
70
+ /**
71
+ * An index inside a node's string that should be highlighted as source
72
+ * of error.
73
+ */
74
+ index?: number
75
+ }
76
+
77
+ /**
78
+ * All node classes inherit the following common methods.
79
+ *
80
+ * You should not extend this classes to create AST for selector or value
81
+ * parser.
82
+ */
83
+ export default abstract class Node {
84
+ /**
85
+ * tring representing the node’s type. Possible values are `root`, `atrule`,
86
+ * `rule`, `decl`, or `comment`.
87
+ *
88
+ * ```js
89
+ * new Declaration({ prop: 'color', value: 'black' }).type //=> 'decl'
90
+ * ```
91
+ */
92
+ type: string
93
+
94
+ /**
95
+ * The node’s parent node.
96
+ *
97
+ * ```js
98
+ * root.nodes[0].parent === root
99
+ * ```
100
+ */
101
+ parent: Document | Container | undefined
102
+
103
+ /**
104
+ * The input source of the node.
105
+ *
106
+ * The property is used in source map generation.
107
+ *
108
+ * If you create a node manually (e.g., with `postcss.decl()`),
109
+ * that node will not have a `source` property and will be absent
110
+ * from the source map. For this reason, the plugin developer should
111
+ * consider cloning nodes to create new ones (in which case the new node’s
112
+ * source will reference the original, cloned node) or setting
113
+ * the `source` property manually.
114
+ *
115
+ * ```js
116
+ * decl.source.input.from //=> '/home/ai/a.sass'
117
+ * decl.source.start //=> { line: 10, column: 2 }
118
+ * decl.source.end //=> { line: 10, column: 12 }
119
+ * ```
120
+ *
121
+ * ```js
122
+ * // Bad
123
+ * const prefixed = postcss.decl({
124
+ * prop: '-moz-' + decl.prop,
125
+ * value: decl.value
126
+ * })
127
+ *
128
+ * // Good
129
+ * const prefixed = decl.clone({ prop: '-moz-' + decl.prop })
130
+ * ```
131
+ *
132
+ * ```js
133
+ * if (atrule.name === 'add-link') {
134
+ * const rule = postcss.rule({ selector: 'a', source: atrule.source })
135
+ * atrule.parent.insertBefore(atrule, rule)
136
+ * }
137
+ * ```
138
+ */
139
+ source?: Source
140
+
141
+ /**
142
+ * Information to generate byte-to-byte equal node string as it was
143
+ * in the origin input.
144
+ *
145
+ * Every parser saves its own properties,
146
+ * but the default CSS parser uses:
147
+ *
148
+ * * `before`: the space symbols before the node. It also stores `*`
149
+ * and `_` symbols before the declaration (IE hack).
150
+ * * `after`: the space symbols after the last child of the node
151
+ * to the end of the node.
152
+ * * `between`: the symbols between the property and value
153
+ * for declarations, selector and `{` for rules, or last parameter
154
+ * and `{` for at-rules.
155
+ * * `semicolon`: contains true if the last child has
156
+ * an (optional) semicolon.
157
+ * * `afterName`: the space between the at-rule name and its parameters.
158
+ * * `left`: the space symbols between `/*` and the comment’s text.
159
+ * * `right`: the space symbols between the comment’s text
160
+ * and <code>*&#47;</code>.
161
+ * * `important`: the content of the important statement,
162
+ * if it is not just `!important`.
163
+ *
164
+ * PostCSS cleans selectors, declaration values and at-rule parameters
165
+ * from comments and extra spaces, but it stores origin content in raws
166
+ * properties. As such, if you don’t change a declaration’s value,
167
+ * PostCSS will use the raw value with comments.
168
+ *
169
+ * ```js
170
+ * const root = postcss.parse('a {\n color:black\n}')
171
+ * root.first.first.raws //=> { before: '\n ', between: ':' }
172
+ * ```
173
+ */
174
+ raws: any
175
+
176
+ /**
177
+ * @param defaults Value for node properties.
178
+ */
179
+ constructor(defaults?: object)
180
+
181
+ /**
182
+ * Returns a `CssSyntaxError` instance containing the original position
183
+ * of the node in the source, showing line and column numbers and also
184
+ * a small excerpt to facilitate debugging.
185
+ *
186
+ * If present, an input source map will be used to get the original position
187
+ * of the source, even from a previous compilation step
188
+ * (e.g., from Sass compilation).
189
+ *
190
+ * This method produces very useful error messages.
191
+ *
192
+ * ```js
193
+ * if (!variables[name]) {
194
+ * throw decl.error(`Unknown variable ${name}`, { word: name })
195
+ * // CssSyntaxError: postcss-vars:a.sass:4:3: Unknown variable $black
196
+ * // color: $black
197
+ * // a
198
+ * // ^
199
+ * // background: white
200
+ * }
201
+ * ```
202
+ *
203
+ * @param message Error description.
204
+ * @param opts Options.
205
+ *
206
+ * @return Error object to throw it.
207
+ */
208
+ error(message: string, options?: NodeErrorOptions): CssSyntaxError
209
+
210
+ /**
211
+ * This method is provided as a convenience wrapper for `Result#warn`.
212
+ *
213
+ * ```js
214
+ * Declaration: {
215
+ * bad: (decl, { result }) => {
216
+ * decl.warn(result, 'Deprecated property bad')
217
+ * }
218
+ * }
219
+ * ```
220
+ *
221
+ * @param result The `Result` instance that will receive the warning.
222
+ * @param text Warning message.
223
+ * @param opts Warning Options.
224
+ *
225
+ * @return Created warning object.
226
+ */
227
+ warn(result: Result, text: string, opts?: WarningOptions): void
228
+
229
+ /**
230
+ * Removes the node from its parent and cleans the parent properties
231
+ * from the node and its children.
232
+ *
233
+ * ```js
234
+ * if (decl.prop.match(/^-webkit-/)) {
235
+ * decl.remove()
236
+ * }
237
+ * ```
238
+ *
239
+ * @return Node to make calls chain.
240
+ */
241
+ remove(): this
242
+
243
+ /**
244
+ * Returns a CSS string representing the node.
245
+ *
246
+ * ```js
247
+ * new Rule({ selector: 'a' }).toString() //=> "a {}"
248
+ * ```
249
+ *
250
+ * @param stringifier A syntax to use in string generation.
251
+ * @return CSS string of this node.
252
+ */
253
+ toString(stringifier?: Stringifier | Syntax): string
254
+
255
+ /**
256
+ * Assigns properties to the current node.
257
+ *
258
+ * ```js
259
+ * decl.assign({ prop: 'word-wrap', value: 'break-word' })
260
+ * ```
261
+ *
262
+ * @param overrides New properties to override the node.
263
+ * @return Current node to methods chain.
264
+ */
265
+ assign(overrides: object): this
266
+
267
+ /**
268
+ * Returns an exact clone of the node.
269
+ *
270
+ * The resulting cloned node and its (cloned) children will retain
271
+ * code style properties.
272
+ *
273
+ * ```js
274
+ * decl.raws.before //=> "\n "
275
+ * const cloned = decl.clone({ prop: '-moz-' + decl.prop })
276
+ * cloned.raws.before //=> "\n "
277
+ * cloned.toString() //=> -moz-transform: scale(0)
278
+ * ```
279
+ *
280
+ * @param overrides New properties to override in the clone.
281
+ * @return Clone of the node.
282
+ */
283
+ clone(overrides?: object): this
284
+
285
+ /**
286
+ * Shortcut to clone the node and insert the resulting cloned node
287
+ * before the current node.
288
+ *
289
+ * ```js
290
+ * decl.cloneBefore({ prop: '-moz-' + decl.prop })
291
+ * ```
292
+ *
293
+ * @param overrides Mew properties to override in the clone.
294
+ *
295
+ * @return New node
296
+ */
297
+ cloneBefore(overrides?: object): this
298
+
299
+ /**
300
+ * Shortcut to clone the node and insert the resulting cloned node
301
+ * after the current node.
302
+ *
303
+ * @param overrides New properties to override in the clone.
304
+ * @return New node.
305
+ */
306
+ cloneAfter(overrides?: object): this
307
+
308
+ /**
309
+ * Inserts node(s) before the current node and removes the current node.
310
+ *
311
+ * ```js
312
+ * AtRule: {
313
+ * mixin: atrule => {
314
+ * atrule.replaceWith(mixinRules[atrule.params])
315
+ * }
316
+ * }
317
+ * ```
318
+ *
319
+ * @param nodes Mode(s) to replace current one.
320
+ * @return Current node to methods chain.
321
+ */
322
+ replaceWith(
323
+ ...nodes: (ChildNode | ChildProps | ChildNode[] | ChildProps[])[]
324
+ ): this
325
+
326
+ /**
327
+ * Returns the next child of the node’s parent.
328
+ * Returns `undefined` if the current node is the last child.
329
+ *
330
+ * ```js
331
+ * if (comment.text === 'delete next') {
332
+ * const next = comment.next()
333
+ * if (next) {
334
+ * next.remove()
335
+ * }
336
+ * }
337
+ * ```
338
+ *
339
+ * @return Next node.
340
+ */
341
+ next(): ChildNode | undefined
342
+
343
+ /**
344
+ * Returns the previous child of the node’s parent.
345
+ * Returns `undefined` if the current node is the first child.
346
+ *
347
+ * ```js
348
+ * const annotation = decl.prev()
349
+ * if (annotation.type === 'comment') {
350
+ * readAnnotation(annotation.text)
351
+ * }
352
+ * ```
353
+ *
354
+ * @return Previous node.
355
+ */
356
+ prev(): ChildNode | undefined
357
+
358
+ /**
359
+ * Insert new node before current node to current node’s parent.
360
+ *
361
+ * Just alias for `node.parent.insertBefore(node, add)`.
362
+ *
363
+ * ```js
364
+ * decl.before('content: ""')
365
+ * ```
366
+ *
367
+ * @param newNode New node.
368
+ * @return This node for methods chain.
369
+ */
370
+ before(newNode: Node | ChildProps | string | Node[]): this
371
+
372
+ /**
373
+ * Insert new node after current node to current node’s parent.
374
+ *
375
+ * Just alias for `node.parent.insertAfter(node, add)`.
376
+ *
377
+ * ```js
378
+ * decl.after('color: black')
379
+ * ```
380
+ *
381
+ * @param newNode New node.
382
+ * @return This node for methods chain.
383
+ */
384
+ after(newNode: Node | ChildProps | string | Node[]): this
385
+
386
+ /**
387
+ * Finds the Root instance of the node’s tree.
388
+ *
389
+ * ```js
390
+ * root.nodes[0].nodes[0].root() === root
391
+ * ```
392
+ *
393
+ * @return Root parent.
394
+ */
395
+ root(): Root
396
+
397
+ /**
398
+ * Returns a `Node#raws` value. If the node is missing
399
+ * the code style property (because the node was manually built or cloned),
400
+ * PostCSS will try to autodetect the code style property by looking
401
+ * at other nodes in the tree.
402
+ *
403
+ * ```js
404
+ * const root = postcss.parse('a { background: white }')
405
+ * root.nodes[0].append({ prop: 'color', value: 'black' })
406
+ * root.nodes[0].nodes[1].raws.before //=> undefined
407
+ * root.nodes[0].nodes[1].raw('before') //=> ' '
408
+ * ```
409
+ *
410
+ * @param prop Name of code style property.
411
+ * @param defaultType Name of default value, it can be missed
412
+ * if the value is the same as prop.
413
+ * @return {string} Code style value.
414
+ */
415
+ raw(prop: string, defaultType?: string): string
416
+
417
+ /**
418
+ * Clear the code style properties for the node and its children.
419
+ *
420
+ * ```js
421
+ * node.raws.before //=> ' '
422
+ * node.cleanRaws()
423
+ * node.raws.before //=> undefined
424
+ * ```
425
+ *
426
+ * @param keepBetween Keep the `raws.between` symbols.
427
+ */
428
+ cleanRaws(keepBetween?: boolean): void
429
+
430
+ /**
431
+ * Fix circular links on `JSON.stringify()`.
432
+ *
433
+ * @return Cleaned object.
434
+ */
435
+ toJSON(): object
436
+
437
+ /**
438
+ * Convert string index to line/column.
439
+ *
440
+ * @param index The symbol number in the node’s string.
441
+ * @return Symbol position in file.
442
+ */
443
+ positionInside(index: number): Position
444
+ }