Sha256: 31a8a37bbbb837c9e725ac62c6634f2a4284e1d9fd20d1da7bde60d847245e85
Contents?: true
Size: 1.19 KB
Versions: 24
Compression:
Stored size: 1.19 KB
Contents
const createExpectedOrder = require('../createExpectedOrder'); const isRuleWithNodes = require('../isRuleWithNodes'); const processLastComments = require('../processLastComments'); const processMostNodes = require('../processMostNodes'); const getContainingNode = require('../getContainingNode'); const sorting = require('../sorting'); module.exports = function(css, opts) { const expectedOrder = createExpectedOrder(opts.order); css.walk(function(input) { const node = getContainingNode(input); if (isRuleWithNodes(node)) { // Nodes for sorting let processed = []; // Add indexes to nodes node.each(function(childNode, index) { processed = processMostNodes(childNode, index, expectedOrder, processed); }); // Add last comments in the rule. Need this because last comments are not belonging to anything node.each(function(childNode, index) { processed = processLastComments(childNode, index, processed); }); // Sort declarations saved for sorting processed.sort(sorting.sortByIndexes); // Enforce semicolon for the last node node.raws.semicolon = true; // Replace rule content with sorted one node.removeAll(); node.append(processed); } }); };
Version data entries
24 entries across 24 versions & 1 rubygems