UNPKG

@mapcss/core

Version:

Tiny, composable Atomic CSS engine

29 lines (28 loc) 796 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const assert_js_1 = require("../utils/assert.js"); function desc(a, b) { if (a < b) { return 1; } else if (a > b) { return -1; } return 0; } /** PostCSS plugin for CSS Statement */ function plugin() { return { postcssPlugin: "mapcss/postcss-order-statement", OnceExit: (root) => { root.nodes.sort((a, b) => { if ((0, assert_js_1.isRule)(a) && (0, assert_js_1.isRule)(b)) { return desc(a.nodes.filter(assert_js_1.isDeclaration).length, b.nodes.filter(assert_js_1.isDeclaration).length); } return 0; }); }, }; } plugin.postcss = true; exports.default = plugin;