1
1
const postcss = require ( 'postcss' ) ;
2
- const hh = require ( 'http-https ' ) ;
2
+ const axios = require ( 'axios ' ) ;
3
3
const isUrl = require ( 'is-url' ) ;
4
4
const trim = require ( 'lodash.trim' ) ;
5
- const resolveRelative = require ( 'resolve-relative-url' ) ;
6
5
const assign = require ( 'lodash.assign' ) ;
7
- const url = require ( 'url' ) ;
8
6
9
7
const defaults = {
10
8
recursive : true ,
@@ -26,7 +24,7 @@ function postcssImportUrl(options) {
26
24
const params = space ( atRule . params ) ;
27
25
let remoteFile = cleanupRemoteFile ( params [ 0 ] ) ;
28
26
if ( parentRemoteFile ) {
29
- remoteFile = resolveRelative ( remoteFile , parentRemoteFile ) ;
27
+ remoteFile = new URL ( remoteFile , parentRemoteFile ) . href ;
30
28
}
31
29
if ( ! isUrl ( remoteFile ) ) {
32
30
return ;
@@ -102,7 +100,9 @@ function postcssImportUrl(options) {
102
100
: Promise . resolve ( newNode ) ) ;
103
101
104
102
if ( options . dataUrls ) {
105
- atRule . params = `url(data:text/css;base64,${ Buffer . from ( importedTree . toString ( ) ) . toString ( 'base64' ) } )` ;
103
+ atRule . params = `url(data:text/css;base64,${ Buffer . from (
104
+ importedTree . toString ( ) ,
105
+ ) . toString ( 'base64' ) } )`;
106
106
} else {
107
107
atRule . replaceWith ( importedTree ) ;
108
108
}
@@ -162,6 +162,18 @@ function createPromise(remoteFile, options) {
162
162
request . end ( ) ;
163
163
}
164
164
return new Promise ( executor ) ;
165
+ function executor ( resolve , reject ) {
166
+ axios ( reqOptions )
167
+ . then ( response => {
168
+ resolve ( {
169
+ body : response . data ,
170
+ parent : remoteFile ,
171
+ } ) ;
172
+ } )
173
+ . catch ( error => {
174
+ return reject ( error ) ;
175
+ } ) ;
176
+ }
165
177
}
166
178
167
179
function urlParse ( remoteFile ) {
0 commit comments