index.m.js 649 B

12345678910111213141516171819202122232425262728293031
  1. 'use strict'
  2. import postcss from 'postcss'
  3. import CleanCss from 'clean-css'
  4. const initializer = (opts = {}) => {
  5. const cleancss = new CleanCss(opts)
  6. return {
  7. postcssPlugin: 'clean',
  8. Once(css, { result }) {
  9. return new Promise((resolve, reject) => {
  10. cleancss.minify(css.toString(), (err, min) => {
  11. if (err) {
  12. return reject(new Error(err.join('\n')))
  13. }
  14. for (let w of min.warnings) {
  15. result.warn(w)
  16. }
  17. result.root = postcss.parse(min.styles)
  18. resolve()
  19. })
  20. })
  21. }
  22. }
  23. }
  24. initializer.postcss = true
  25. export default initializer