@@ -218,24 +218,12 @@ function parseGlob(atRule, options, imports) {
218218function addIgnoredAtRulesOnTop ( styles , ignoredAtRules ) {
219219 var i = ignoredAtRules . length
220220 if ( i ) {
221- var first = styles . first
222-
223221 while ( i -- ) {
224222 var ignoredAtRule = ignoredAtRules [ i ] [ 0 ]
225223 ignoredAtRule . params = ignoredAtRules [ i ] [ 1 ] . fullUri +
226224 ( ignoredAtRules [ i ] [ 1 ] . media ? " " + ignoredAtRules [ i ] [ 1 ] . media : "" )
227225
228- // keep ast ref
229- ignoredAtRule . parent = styles
230-
231- // don't use prepend() to avoid weird behavior of normalize()
232- styles . nodes . unshift ( ignoredAtRule )
233- }
234-
235- // separate remote import a little with others rules if no newlines already
236- if ( first &&
237- first . raws . before . indexOf ( "\n" ) === - 1 ) {
238- first . raws . before = "\n\n" + first . raws . before
226+ styles . prepend ( ignoredAtRule )
239227 }
240228 }
241229}
@@ -272,7 +260,7 @@ function readAtImport(
272260 state . ignoredAtRules . push ( [ atRule , parsedAtImport ] )
273261
274262 // detach
275- detach ( atRule )
263+ atRule . remove ( )
276264
277265 return Promise . resolve ( )
278266 }
@@ -292,7 +280,7 @@ function readAtImport(
292280 state . importedFiles [ resolvedFilename ] &&
293281 state . importedFiles [ resolvedFilename ] [ media ]
294282 ) {
295- detach ( atRule )
283+ atRule . remove ( )
296284 return Promise . resolve ( )
297285 }
298286
@@ -352,7 +340,7 @@ function readImportedContent(
352340
353341 if ( fileContent . trim ( ) === "" ) {
354342 result . warn ( resolvedFilename + " is empty" , { node : atRule } )
355- detach ( atRule )
343+ atRule . remove ( )
356344 return Promise . resolve ( )
357345 }
358346
@@ -361,7 +349,7 @@ function readImportedContent(
361349 state . hashFiles [ fileContent ] &&
362350 state . hashFiles [ fileContent ] [ media ]
363351 ) {
364- detach ( atRule )
352+ atRule . remove ( )
365353 return Promise . resolve ( )
366354 }
367355
@@ -455,7 +443,7 @@ function insertRules(atRule, parsedAtImport, newStyles) {
455443 // replace atRule by imported nodes
456444 var nodes = atRule . parent . nodes
457445 nodes . splice . apply ( nodes , [ nodes . indexOf ( atRule ) , 0 ] . concat ( newNodes ) )
458- detach ( atRule )
446+ atRule . remove ( )
459447}
460448
461449/**
@@ -555,10 +543,6 @@ function addInputToPath(options) {
555543 }
556544}
557545
558- function detach ( node ) {
559- node . parent . nodes . splice ( node . parent . nodes . indexOf ( node ) , 1 )
560- }
561-
562546module . exports = postcss . plugin (
563547 "postcss-import" ,
564548 AtImport
0 commit comments