Socket
Socket
Sign inDemoInstall

postcss-nested

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-nested - npm Package Compare versions

Comparing version 5.0.1 to 5.0.2

3

CHANGELOG.md
# Change Log
This project adheres to [Semantic Versioning](http://semver.org/).
## 5.0.2
* Fixed compatibility with `postcss-mixins` by moving to visitor API.
## 5.0.1

@@ -5,0 +8,0 @@ * Fixed PostCSS 8.1 compatibility.

139

index.js

@@ -105,69 +105,2 @@ let parser = require('postcss-selector-parser')

function processRule (rule, bubble, unwrap, preserveEmpty, Rule) {
let unwrapped = false
let after = rule
let copyDeclarations = false
let declarations = []
rule.each(child => {
if (child.type === 'rule') {
if (declarations.length) {
after = pickDeclarations(rule.selector, declarations, after, Rule)
declarations = []
}
copyDeclarations = true
unwrapped = true
child.selectors = selectors(rule, child)
after = pickComment(child.prev(), after)
after.after(child)
after = child
} else if (child.type === 'atrule') {
copyDeclarations = false
if (declarations.length) {
after = pickDeclarations(rule.selector, declarations, after, Rule)
declarations = []
}
if (child.name === 'at-root') {
unwrapped = true
atruleChilds(rule, child, false)
let nodes = child.nodes
if (child.params) {
nodes = new Rule({ selector: child.params, nodes })
}
after.after(nodes)
after = nodes
child.remove()
} else if (bubble[child.name]) {
unwrapped = true
atruleChilds(rule, child, true)
after = pickComment(child.prev(), after)
after.after(child)
after = child
} else if (unwrap[child.name]) {
unwrapped = true
atruleChilds(rule, child, false)
after = pickComment(child.prev(), after)
after.after(child)
after = child
}
} else if (child.type === 'decl' && copyDeclarations) {
declarations.push(child)
}
})
if (declarations.length) {
after = pickDeclarations(rule.selector, declarations, after, Rule)
}
if (unwrapped && preserveEmpty !== true) {
rule.raws.semicolon = true
if (rule.nodes.length === 0) rule.remove()
}
}
function atruleNames (defaults, custom) {

@@ -194,13 +127,67 @@ let list = {}

postcssPlugin: 'postcss-nested',
Once (root, { Rule }) {
function process (node) {
node.each(child => {
if (child.type === 'rule') {
processRule(child, bubble, unwrap, preserveEmpty, Rule)
} else if (child.type === 'atrule') {
process(child)
RuleExit (rule, { Rule }) {
let unwrapped = false
let after = rule
let copyDeclarations = false
let declarations = []
rule.each(child => {
if (child.type === 'rule') {
if (declarations.length) {
after = pickDeclarations(rule.selector, declarations, after, Rule)
declarations = []
}
})
copyDeclarations = true
unwrapped = true
child.selectors = selectors(rule, child)
after = pickComment(child.prev(), after)
after.after(child)
after = child
} else if (child.type === 'atrule') {
copyDeclarations = false
if (declarations.length) {
after = pickDeclarations(rule.selector, declarations, after, Rule)
declarations = []
}
if (child.name === 'at-root') {
unwrapped = true
atruleChilds(rule, child, false)
let nodes = child.nodes
if (child.params) {
nodes = new Rule({ selector: child.params, nodes })
}
after.after(nodes)
after = nodes
child.remove()
} else if (bubble[child.name]) {
unwrapped = true
atruleChilds(rule, child, true)
after = pickComment(child.prev(), after)
after.after(child)
after = child
} else if (unwrap[child.name]) {
unwrapped = true
atruleChilds(rule, child, false)
after = pickComment(child.prev(), after)
after.after(child)
after = child
}
} else if (child.type === 'decl' && copyDeclarations) {
declarations.push(child)
}
})
if (declarations.length) {
after = pickDeclarations(rule.selector, declarations, after, Rule)
}
process(root)
if (unwrapped && preserveEmpty !== true) {
rule.raws.semicolon = true
if (rule.nodes.length === 0) rule.remove()
}
}

@@ -207,0 +194,0 @@ }

{
"name": "postcss-nested",
"version": "5.0.1",
"version": "5.0.2",
"description": "PostCSS plugin to unwrap nested rules like how Sass does it",

@@ -23,3 +23,3 @@ "keywords": [

"peerDependencies": {
"postcss": "^8.1.0"
"postcss": "^8.1.5"
},

@@ -26,0 +26,0 @@ "dependencies": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc