File tree Expand file tree Collapse file tree 2 files changed +8
-4
lines changed
Filter options
Expand file tree Collapse file tree 2 files changed +8
-4
lines changed
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ var fs = require('fs')
18
18
, utils = require ( './utils' )
19
19
, dirname = path . dirname
20
20
, basename = path . basename
21
+ , resolveURL = require ( 'url' ) . resolve
21
22
, strtojs = require ( 'string-to-js' ) ;
22
23
23
24
/**
@@ -989,7 +990,10 @@ function rewriteUrls(builder, file, css) {
989
990
if ( isData ( url ) ) return orig ;
990
991
if ( isAbsolute ( url ) ) return orig ;
991
992
var name = normalize ( builder . basename ) ;
992
- url = [ builder . urlPrefix , name , dirname ( file ) , url ] . filter ( empty ) . join ( '/' ) ;
993
+ // trailing `/` needed to distinguish the URL as a folder
994
+ // for `url.resolve()`
995
+ var folder = [ builder . urlPrefix , name , dirname ( file ) ] . filter ( empty ) . join ( '/' ) + '/' ;
996
+ url = resolveURL ( folder , url ) ;
993
997
return 'url("' + url + '")' ;
994
998
}
995
999
Original file line number Diff line number Diff line change @@ -243,9 +243,9 @@ describe('Builder', function(){
243
243
builder . prefixUrls ( 'build' ) ;
244
244
builder . build ( function ( err , res ) {
245
245
if ( err ) return done ( err ) ;
246
- res . css . should . include ( 'url("build/assets/./ images/logo.png")' ) ;
247
- res . css . should . include ( 'url("build/assets/./ images/maru.jpeg")' ) ;
248
- res . css . should . include ( 'url("build/assets/css/../ images/npm.png")' ) ;
246
+ res . css . should . include ( 'url("build/assets/images/logo.png")' ) ;
247
+ res . css . should . include ( 'url("build/assets/images/maru.jpeg")' ) ;
248
+ res . css . should . include ( 'url("build/assets/images/npm.png")' ) ;
249
249
res . css . should . include ( 'url(http://example.com/images/manny.png)' ) ;
250
250
res . css . should . include ( 'url(/public/images/foo.png)' )
251
251
res . css . should . include ( 'url(data:image/png;base64,PNG DATA HERE)' ) ;
You can’t perform that action at this time.
0 commit comments