@@ -64,15 +64,15 @@ function parseCss (src, filename, prefix, options, done) {
6464 assert . equal ( typeof options , 'object' , 'options must be a object' )
6565 assert . equal ( typeof done , 'function' , 'done must be a function' )
6666
67- applyTransforms ( filename , String ( src ) , xtend ( options ) , function ( err , css ) {
67+ applyTransforms ( filename , String ( src ) , xtend ( options ) , function ( err , result ) {
6868 if ( err ) return done ( err )
6969 var p = postcss ( )
7070 p = p . use ( cssPrefix ( '.' + prefix ) )
7171
7272 try {
73- css = p . process ( css ) . toString ( )
73+ result . css = p . process ( result . css ) . toString ( )
7474
75- return done ( null , css , prefix )
75+ return done ( null , result , prefix )
7676 } catch ( e ) {
7777 return done ( e )
7878 }
@@ -82,9 +82,10 @@ function parseCss (src, filename, prefix, options, done) {
8282 // one at the time
8383 // (str, str, obj, fn) -> null
8484 function applyTransforms ( filename , src , options , done ) {
85+ var current = { css : src , files : [ ] }
8586 mapLimit ( options . transform , 1 , iterate , function ( err ) {
8687 if ( err ) return done ( err )
87- done ( null , src )
88+ done ( null , current )
8889 } )
8990
9091 // find and apply a transform to a string of css
@@ -106,9 +107,14 @@ function parseCss (src, filename, prefix, options, done) {
106107 if ( err ) return done ( err )
107108
108109 const transform = require ( transformPath )
109- transform ( filename , src , opts , function ( err , result ) {
110+ transform ( filename , current . css , opts , function ( err , result ) {
110111 if ( err ) return next ( err )
111- src = result
112+ if ( typeof result === 'string' ) {
113+ current . css = result
114+ } else {
115+ current . css = result . css
116+ current . files = current . files . concat ( result . files )
117+ }
112118 next ( )
113119 } )
114120 } )
0 commit comments