From: Jakub Pawlowicz Date: Fri, 17 Apr 2015 07:15:13 +0000 (+0100) Subject: Fixes #524 - schedules subsequent inlining in next tick. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=cc8a285e2889e3736a8eeef7ab606088970ba1d3;p=clean-css.git Fixes #524 - schedules subsequent inlining in next tick. We don't need to call `response.end()` as it's called automatically per spec: https://nodejs.org/api/http.html#http_http_get_options_callback It may help solve the timeouts issue but certainly won't hurt. --- diff --git a/History.md b/History.md index 02992029..beae4a0f 100644 --- a/History.md +++ b/History.md @@ -19,6 +19,7 @@ * Fixed issue [#507](https://github.com/jakubpawlowicz/clean-css/issues/507) - merging longhands into many shorthands. * Fixed issue [#508](https://github.com/jakubpawlowicz/clean-css/issues/508) - removing duplicate media queries. * Fixed issue [#521](https://github.com/jakubpawlowicz/clean-css/issues/521) - unit optimizations inside `calc()`. +* Fixed issue [#524](https://github.com/jakubpawlowicz/clean-css/issues/524) - timeouts in `@import` inlining. * Fixed issue [#526](https://github.com/jakubpawlowicz/clean-css/issues/526) - shorthand overriding into a function. * Fixed issue [#528](https://github.com/jakubpawlowicz/clean-css/issues/528) - better support for IE<9 hacks. * Fixed issue [#529](https://github.com/jakubpawlowicz/clean-css/issues/529) - wrong font weight minification. diff --git a/lib/imports/inliner.js b/lib/imports/inliner.js index a58c26d9..553a8477 100644 --- a/lib/imports/inliner.js +++ b/lib/imports/inliner.js @@ -241,7 +241,9 @@ function inlineRemoteResource(importedFile, mediaQuery, context) { context.errors.push('Broken @import declaration of "' + importedUrl + '" - ' + message); restoreImport(importedUrl, mediaQuery, context); - processNext(context); + process.nextTick(function () { + processNext(context); + }); } var requestOptions = override(url.parse(importedUrl), context.inliner.request); @@ -274,7 +276,9 @@ function inlineRemoteResource(importedFile, mediaQuery, context) { relativeTo: parsedUrl.protocol + '//' + parsedUrl.host + parsedUrl.pathname }); - importFrom(importedData, newContext); + process.nextTick(function () { + importFrom(importedData, newContext); + }); }); }) .on('error', function(res) {