diff options
Diffstat (limited to 'node_modules/csso/cjs/clean/Atrule.cjs')
| -rw-r--r-- | node_modules/csso/cjs/clean/Atrule.cjs | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/node_modules/csso/cjs/clean/Atrule.cjs b/node_modules/csso/cjs/clean/Atrule.cjs deleted file mode 100644 index 22af87b6..00000000 --- a/node_modules/csso/cjs/clean/Atrule.cjs +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; - -const cssTree = require('css-tree'); -const utils = require('./utils.cjs'); - -function cleanAtrule(node, item, list) { - if (node.block) { - // otherwise removed at-rule don't prevent @import for removal - if (this.stylesheet !== null) { - this.stylesheet.firstAtrulesAllowed = false; - } - - if (utils.hasNoChildren(node.block)) { - list.remove(item); - return; - } - } - - switch (node.name) { - case 'charset': - if (utils.hasNoChildren(node.prelude)) { - list.remove(item); - return; - } - - // if there is any rule before @charset -> remove it - if (item.prev) { - list.remove(item); - return; - } - - break; - - case 'import': - if (this.stylesheet === null || !this.stylesheet.firstAtrulesAllowed) { - list.remove(item); - return; - } - - // if there are some rules that not an @import or @charset before @import - // remove it - list.prevUntil(item.prev, function(rule) { - if (rule.type === 'Atrule') { - if (rule.name === 'import' || rule.name === 'charset') { - return; - } - } - - this.root.firstAtrulesAllowed = false; - list.remove(item); - - return true; - }, this); - - break; - - default: { - const name = cssTree.keyword(node.name).basename; - - if (name === 'keyframes' || - name === 'media' || - name === 'supports') { - - // drop at-rule with no prelude - if (utils.hasNoChildren(node.prelude) || utils.hasNoChildren(node.block)) { - list.remove(item); - } - } - } - } -} - -module.exports = cleanAtrule; |
