index.js 947 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. const plugin = 'postcss-discard-empty';
  7. function discardAndReport(css, result) {
  8. function discardEmpty(node) {
  9. const {
  10. type,
  11. nodes: sub,
  12. params
  13. } = node;
  14. if (sub) {
  15. node.each(discardEmpty);
  16. }
  17. if (type === 'decl' && !node.value || type === 'rule' && !node.selector || sub && !sub.length || type === 'atrule' && (!sub && !params || !params && !sub.length)) {
  18. node.remove();
  19. result.messages.push({
  20. type: 'removal',
  21. plugin,
  22. node
  23. });
  24. }
  25. }
  26. css.each(discardEmpty);
  27. }
  28. function pluginCreator() {
  29. return {
  30. postcssPlugin: plugin,
  31. OnceExit(css, {
  32. result
  33. }) {
  34. discardAndReport(css, result);
  35. }
  36. };
  37. }
  38. pluginCreator.postcss = true;
  39. var _default = pluginCreator;
  40. exports.default = _default;
  41. module.exports = exports.default;