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-discard-duplicates | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/postcss-discard-duplicates')
6 files changed, 0 insertions, 309 deletions
diff --git a/node_modules/postcss-discard-duplicates/LICENSE-MIT b/node_modules/postcss-discard-duplicates/LICENSE-MIT deleted file mode 100644 index fd0e863a..00000000 --- a/node_modules/postcss-discard-duplicates/LICENSE-MIT +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) Ben Briggs <beneb.info@gmail.com> (http://beneb.info) - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/postcss-discard-duplicates/README.md b/node_modules/postcss-discard-duplicates/README.md deleted file mode 100644 index 9aff8af7..00000000 --- a/node_modules/postcss-discard-duplicates/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# [postcss][postcss]-discard-duplicates - -> Discard duplicate rules in your CSS files with PostCSS. - -## Install - -With [npm](https://npmjs.org/package/postcss-discard-duplicates) do: - -``` -npm install postcss-discard-duplicates --save -``` - -## Example - -This module will remove all duplicate rules from your stylesheets. It works on -at rules, normal rules and declarations. Note that this module does not have any -responsibility for normalising declarations, selectors or whitespace, so that it -considers these two rules to be different: - -```css -h1, h2 { - color: blue; -} - -h2, h1 { - color: blue; -} -``` - -It has to assume that your rules have already been transformed by another -processor, otherwise it would be responsible for too many things. - -### Input - -```css -h1 { - margin: 0 auto; - margin: 0 auto -} - -h1 { - margin: 0 auto -} -``` - -### Output - -```css -h1 { - margin: 0 auto -} -``` - -## Usage - -See the [PostCSS documentation](https://github.com/postcss/postcss#usage) for -examples for your environment. - - -## Contributors - -See [CONTRIBUTORS.md](https://github.com/cssnano/cssnano/blob/master/CONTRIBUTORS.md). - - -## License - -MIT © [Ben Briggs](http://beneb.info) - - -[postcss]: https://github.com/postcss/postcss diff --git a/node_modules/postcss-discard-duplicates/package.json b/node_modules/postcss-discard-duplicates/package.json deleted file mode 100644 index b4295e95..00000000 --- a/node_modules/postcss-discard-duplicates/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "postcss-discard-duplicates", - "version": "6.0.3", - "description": "Discard duplicate rules in your CSS files with PostCSS.", - "main": "src/index.js", - "types": "types/index.d.ts", - "files": [ - "src", - "LICENSE-MIT", - "types" - ], - "keywords": [ - "css", - "dedupe", - "optimise", - "postcss", - "postcss-plugin" - ], - "license": "MIT", - "homepage": "https://github.com/cssnano/cssnano", - "author": { - "name": "Ben Briggs", - "email": "beneb.info@gmail.com", - "url": "http://beneb.info" - }, - "repository": "cssnano/cssnano", - "bugs": { - "url": "https://github.com/cssnano/cssnano/issues" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "devDependencies": { - "postcss": "^8.4.35" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } -}
\ No newline at end of file diff --git a/node_modules/postcss-discard-duplicates/src/index.js b/node_modules/postcss-discard-duplicates/src/index.js deleted file mode 100644 index e84361e6..00000000 --- a/node_modules/postcss-discard-duplicates/src/index.js +++ /dev/null @@ -1,167 +0,0 @@ -'use strict'; -/** - * @param {string | undefined} value - * @return {string | undefined} - */ -function trimValue(value) { - return value ? value.trim() : value; -} - -/** - * @param {{nodes: import('postcss').Node[]}} node - * @return {boolean} - */ -function empty(node) { - return !node.nodes.filter((child) => child.type !== 'comment').length; -} - -/** - * @param {import('postcss').AnyNode} nodeA - * @param {import('postcss').AnyNode} nodeB - * @return {boolean} - */ -function equals(nodeA, nodeB) { - const a = /** @type {any} */ (nodeA); - const b = /** @type {any} */ (nodeB); - if (a.type !== b.type) { - return false; - } - - if (a.important !== b.important) { - return false; - } - - if ((a.raws && !b.raws) || (!a.raws && b.raws)) { - return false; - } - - switch (a.type) { - case 'rule': - if (a.selector !== b.selector) { - return false; - } - break; - case 'atrule': - if (a.name !== b.name || a.params !== b.params) { - return false; - } - - if (a.raws && trimValue(a.raws.before) !== trimValue(b.raws.before)) { - return false; - } - - if ( - a.raws && - trimValue(a.raws.afterName) !== trimValue(b.raws.afterName) - ) { - return false; - } - break; - case 'decl': - if (a.prop !== b.prop || a.value !== b.value) { - return false; - } - - if (a.raws && trimValue(a.raws.before) !== trimValue(b.raws.before)) { - return false; - } - break; - } - - if (a.nodes && b.nodes) { - if (a.nodes.length !== b.nodes.length) { - return false; - } - - for (let i = 0; i < a.nodes.length; i++) { - if (!equals(a.nodes[i], b.nodes[i])) { - return false; - } - } - } - return true; -} - -/** - * @param {import('postcss').Rule} last - * @param {import('postcss').AnyNode[]} nodes - * @return {void} - */ -function dedupeRule(last, nodes) { - let index = nodes.indexOf(last) - 1; - while (index >= 0) { - const node = nodes[index--]; - if (node && node.type === 'rule' && node.selector === last.selector) { - last.each((child) => { - if (child.type === 'decl') { - dedupeNode(child, node.nodes); - } - }); - - if (empty(node)) { - node.remove(); - } - } - } -} - -/** - * @param {import('postcss').AtRule | import('postcss').Declaration} last - * @param {import('postcss').AnyNode[]} nodes - * @return {void} - */ -function dedupeNode(last, nodes) { - let index = nodes.includes(last) ? nodes.indexOf(last) - 1 : nodes.length - 1; - - while (index >= 0) { - const node = nodes[index--]; - if (node && equals(node, last)) { - node.remove(); - } - } -} - -/** - * @param {import('postcss').AnyNode} root - * @return {void} - */ -function dedupe(root) { - const { nodes } = - /** @type {import('postcss').Container<import('postcss').ChildNode>} */ ( - root - ); - - if (!nodes) { - return; - } - - let index = nodes.length - 1; - while (index >= 0) { - let last = nodes[index--]; - if (!last || !last.parent) { - continue; - } - dedupe(last); - if (last.type === 'rule') { - dedupeRule(last, nodes); - } else if (last.type === 'atrule' || last.type === 'decl') { - dedupeNode(last, nodes); - } - } -} - -/** - * @type {import('postcss').PluginCreator<void>} - * @return {import('postcss').Plugin} - */ -function pluginCreator() { - return { - postcssPlugin: 'postcss-discard-duplicates', - OnceExit(css) { - dedupe(css); - }, - }; -} - -pluginCreator.postcss = true; -module.exports = pluginCreator; diff --git a/node_modules/postcss-discard-duplicates/types/index.d.ts b/node_modules/postcss-discard-duplicates/types/index.d.ts deleted file mode 100644 index e449e8b4..00000000 --- a/node_modules/postcss-discard-duplicates/types/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export = pluginCreator; -/** - * @type {import('postcss').PluginCreator<void>} - * @return {import('postcss').Plugin} - */ -declare function pluginCreator(): import('postcss').Plugin; -declare namespace pluginCreator { - let postcss: true; -} -//# sourceMappingURL=index.d.ts.map
\ No newline at end of file diff --git a/node_modules/postcss-discard-duplicates/types/index.d.ts.map b/node_modules/postcss-discard-duplicates/types/index.d.ts.map deleted file mode 100644 index 1b6225bc..00000000 --- a/node_modules/postcss-discard-duplicates/types/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";AAwJA;;;GAGG;AACH,kCAFY,OAAO,SAAS,EAAE,MAAM,CASnC"}
\ No newline at end of file |
