diff --git a/lib/core/imports/index.js b/lib/core/imports/index.js index 3a6e53bf46..0591d45e4b 100644 --- a/lib/core/imports/index.js +++ b/lib/core/imports/index.js @@ -1,3 +1,4 @@ +// @deprecated (axios) import axios from 'axios'; import { CssSelectorParser } from 'css-selector-parser'; import doT from '@deque/dot'; diff --git a/lib/core/utils/parse-crossorigin-stylesheet.js b/lib/core/utils/parse-crossorigin-stylesheet.js index 80f7073641..5a2a54b3f8 100644 --- a/lib/core/utils/parse-crossorigin-stylesheet.js +++ b/lib/core/utils/parse-crossorigin-stylesheet.js @@ -1,4 +1,3 @@ -import axios from 'axios'; import parseStylesheet from './parse-stylesheet'; import constants from '../constants'; @@ -21,21 +20,28 @@ function parseCrossOriginStylesheet( importedUrls, isCrossOrigin ) { - const axiosOptions = { - method: 'get', - timeout: constants.preload.timeout, - url - }; - /** * Add `url` to `importedUrls` */ importedUrls.push(url); - /** - * Fetch `cross-origin stylesheet` via axios - */ - return axios(axiosOptions).then(({ data }) => { + return new Promise((resolve, reject) => { + const request = new XMLHttpRequest(); + request.open('GET', url); + + request.timeout = constants.preload.timeout; + request.addEventListener('error', reject); + request.addEventListener('timeout', reject); + request.addEventListener('loadend', event => { + if (event.loaded && request.responseText) { + return resolve(request.responseText); + } + + reject(request.responseText); + }); + + request.send(); + }).then(data => { const result = options.convertDataToStylesheet({ data, isCrossOrigin,