Skip to content

Commit 430fc34

Browse files
committed
Merge pull request #105 from postcss/simplify-insert
Simplify rules insertion
2 parents 13ac4e5 + 83b7c78 commit 430fc34

File tree

2 files changed

+9
-25
lines changed

2 files changed

+9
-25
lines changed

index.js

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,11 @@ function readImportedContent(
404404
function insertRules(atRule, parsedAtImport, newStyles) {
405405
var newNodes = newStyles.nodes
406406

407+
// save styles
408+
newNodes.forEach(function(node) {
409+
node.parent = undefined
410+
})
411+
407412
// wrap rules if the @import have a media query
408413
if (parsedAtImport.media && parsedAtImport.media.length) {
409414
// better output
@@ -415,35 +420,15 @@ function insertRules(atRule, parsedAtImport, newStyles) {
415420
var wrapper = postcss.atRule({
416421
name: "media",
417422
params: parsedAtImport.media,
423+
source: atRule.source,
418424
})
419425

420-
// keep AST clean
421-
newNodes.forEach(function(node) {
422-
node.parent = wrapper
423-
})
424-
wrapper.source = atRule.source
425-
426-
// copy code style
427-
wrapper.raws.before = atRule.raws.before
428-
wrapper.raws.after = atRule.raws.after
429-
430426
// move nodes
431-
wrapper.nodes = newNodes
432-
newNodes = [ wrapper ]
433-
}
434-
else if (newNodes && newNodes.length) {
435-
newNodes[0].raws.before = atRule.raws.before
427+
newNodes = wrapper.append(newNodes)
436428
}
437429

438-
// keep AST clean
439-
newNodes.forEach(function(node) {
440-
node.parent = atRule.parent
441-
})
442-
443430
// replace atRule by imported nodes
444-
var nodes = atRule.parent.nodes
445-
nodes.splice.apply(nodes, [ nodes.indexOf(atRule), 0 ].concat(newNodes))
446-
atRule.remove()
431+
atRule.replaceWith(newNodes)
447432
}
448433

449434
/**

test/fixtures/cwd.expected.css

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
foo{}
22
bar{}
3-
4-
foo.recursive{}
3+
foo.recursive{}

0 commit comments

Comments
 (0)