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/postcss-unique-selectors/src | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/postcss-unique-selectors/src')
| -rw-r--r-- | node_modules/postcss-unique-selectors/src/index.js | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/node_modules/postcss-unique-selectors/src/index.js b/node_modules/postcss-unique-selectors/src/index.js deleted file mode 100644 index 39cd52fa..00000000 --- a/node_modules/postcss-unique-selectors/src/index.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; -const selectorParser = require('postcss-selector-parser'); - -/** - * @param {string} selectors - * @param {selectorParser.SyncProcessor<void>} callback - * @return {string} - */ -function parseSelectors(selectors, callback) { - return selectorParser(callback).processSync(selectors); -} - -/** - * @param {import('postcss').Rule} rule - * @return {string} - */ -function unique(rule) { - const selector = [...new Set(rule.selectors)]; - selector.sort(); - return selector.join(); -} - -/** - * @type {import('postcss').PluginCreator<void>} - * @return {import('postcss').Plugin} - */ -function pluginCreator() { - return { - postcssPlugin: 'postcss-unique-selectors', - OnceExit(css) { - css.walkRules((nodes) => { - /** @type {string[]} */ - let comments = []; - /** @type {selectorParser.SyncProcessor<void>} */ - const removeAndSaveComments = (selNode) => { - selNode.walk((sel) => { - if (sel.type === 'comment') { - comments.push(sel.value); - sel.remove(); - return; - } else { - return; - } - }); - }; - if (nodes.raws.selector && nodes.raws.selector.raw) { - parseSelectors(nodes.raws.selector.raw, removeAndSaveComments); - nodes.raws.selector.raw = unique(nodes); - } - nodes.selector = parseSelectors(nodes.selector, removeAndSaveComments); - nodes.selector = unique(nodes); - nodes.selectors = nodes.selectors.concat(comments); - }); - }, - }; -} - -pluginCreator.postcss = true; -module.exports = pluginCreator; |
