postcss-nested
Advanced tools
Comparing version 4.2.1 to 4.2.2
# Change Log | ||
This project adheres to [Semantic Versioning](http://semver.org/). | ||
## 4.2.2 | ||
* Fixed wrong specificity order of declarations (by Rodion Demikhov). | ||
## 4.2.1 | ||
@@ -5,0 +8,0 @@ * Fix TypeScript definitions (by Avi Vahl). |
31
index.js
@@ -92,8 +92,30 @@ var postcss = require('postcss') | ||
function pickDeclarations (selector, declarations, after) { | ||
var parent = postcss.rule({ | ||
selector: selector, | ||
nodes: [] | ||
}) | ||
for (var i = 0; i < declarations.length; i++) { | ||
parent.append(declarations[i]) | ||
} | ||
after.after(parent) | ||
return parent | ||
} | ||
function processRule (rule, bubble, unwrap, preserveEmpty) { | ||
var unwrapped = false | ||
var after = rule | ||
var copyDeclarations = false | ||
var declarations = [] | ||
rule.each(function (child) { | ||
if (child.type === 'rule') { | ||
if (declarations.length) { | ||
after = pickDeclarations(rule.selector, declarations, after) | ||
declarations = [] | ||
} | ||
copyDeclarations = true | ||
unwrapped = true | ||
@@ -105,2 +127,4 @@ child.selectors = selectors(rule, child) | ||
} else if (child.type === 'atrule') { | ||
copyDeclarations = false | ||
if (child.name === 'at-root') { | ||
@@ -134,4 +158,11 @@ unwrapped = true | ||
} | ||
} else if (child.type === 'decl' && copyDeclarations) { | ||
declarations.push(child) | ||
} | ||
}) | ||
if (declarations.length) { | ||
after = pickDeclarations(rule.selector, declarations, after) | ||
} | ||
if (unwrapped && preserveEmpty !== true) { | ||
@@ -138,0 +169,0 @@ rule.raws.semicolon = true |
{ | ||
"name": "postcss-nested", | ||
"version": "4.2.1", | ||
"version": "4.2.2", | ||
"description": "PostCSS plugin to unwrap nested rules like how Sass does it", | ||
@@ -16,5 +16,5 @@ "keywords": [ | ||
"dependencies": { | ||
"postcss": "^7.0.21", | ||
"postcss": "^7.0.32", | ||
"postcss-selector-parser": "^6.0.2" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
12418
206
Updatedpostcss@^7.0.32