Skip to main content
Glama

EverArt Forge MCP Server

2-initialMergeRuleset.cjs1.65 kB
'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;

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nickbaumann98/everart-forge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server