diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:10:59 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:41:44 +0800 |
| commit | fc87c009806dcc98867f6b58efe29b042aa01dee (patch) | |
| tree | 8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs')
| -rw-r--r-- | node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs b/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs deleted file mode 100644 index 1a1f90ce..00000000 --- a/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -const cssTree = require('css-tree'); -const utils = require('./utils.cjs'); - -function processRule(node, item, list) { - const selectors = node.prelude.children; - const declarations = node.block.children; - - list.prevUntil(item.prev, function(prev) { - // skip non-ruleset node if safe - if (prev.type !== 'Rule') { - return utils.unsafeToSkipNode.call(selectors, prev); - } - - const prevSelectors = prev.prelude.children; - const prevDeclarations = prev.block.children; - - // try to join rulesets with equal pseudo signature - if (node.pseudoSignature === prev.pseudoSignature) { - // try to join by selectors - if (utils.isEqualSelectors(prevSelectors, selectors)) { - prevDeclarations.appendList(declarations); - list.remove(item); - return true; - } - - // try to join by declarations - if (utils.isEqualDeclarations(declarations, prevDeclarations)) { - utils.addSelectors(prevSelectors, selectors); - list.remove(item); - return true; - } - } - - // go to prev ruleset if has no selector similarities - return utils.hasSimilarSelectors(selectors, prevSelectors); - }); -} - -// NOTE: direction should be left to right, since rulesets merge to left -// ruleset. When direction right to left unmerged rulesets may prevent lookup -// TODO: remove initial merge -function initialMergeRule(ast) { - cssTree.walk(ast, { - visit: 'Rule', - enter: processRule - }); -} - -module.exports = initialMergeRule; |
