index.js 909 B

123456789101112131415161718192021222324252627282930313233343536
  1. 'use strict';
  2. exports.__esModule = true;
  3. var _postcss = require('postcss');
  4. function discardAndReport(css, result) {
  5. function discardEmpty(node) {
  6. var type = node.type;
  7. var sub = node.nodes;
  8. if (sub) {
  9. node.each(discardEmpty);
  10. }
  11. if (type === 'decl' && !node.value || type === 'rule' && !node.selector || sub && !sub.length || type === 'atrule' && (!sub && !node.params || !node.params && !sub.length)) {
  12. node.remove();
  13. result.messages.push({
  14. type: 'removal',
  15. plugin: 'postcss-discard-empty',
  16. node: node
  17. });
  18. }
  19. }
  20. css.each(discardEmpty);
  21. }
  22. exports.default = (0, _postcss.plugin)('postcss-discard-empty', function () {
  23. return function (css, result) {
  24. return discardAndReport(css, result);
  25. };
  26. });
  27. module.exports = exports['default'];