mirror of
https://github.com/KevinMidboe/inline-html.git
synced 2025-10-29 17:40:29 +00:00
Fix bug where bundler stops watching files when an error occurs.
This commit is contained in:
@@ -3,25 +3,34 @@ var datauri = require('datauri');
|
||||
var isLocalPath = require('is-local-path');
|
||||
var isTemplateExpression = require('./is-template-expression');
|
||||
var path = require('path');
|
||||
var R = require('ramda');
|
||||
|
||||
var inline = function (html, filename) {
|
||||
var files = [];
|
||||
var basedir = path.dirname(filename);
|
||||
var $ = cheerio.load(html, {decodeEntities: false});
|
||||
var images = $('img').filter(function (index, element) {
|
||||
var $images = $('img').filter((index, element) => {
|
||||
var path = $(element).attr('src');
|
||||
return isLocalPath(path) && !isTemplateExpression(path);
|
||||
});
|
||||
images.each(function (index, element) {
|
||||
var src = $(element).attr('src');
|
||||
var filename = path.resolve(basedir, src);
|
||||
files.push(filename);
|
||||
src = datauri(filename);
|
||||
$(element).attr('src', src);
|
||||
});
|
||||
try {
|
||||
$images.each((index, element) => {
|
||||
var source = $(element).attr('src');
|
||||
var filename = path.resolve(basedir, source);
|
||||
files = R.append(filename, files);
|
||||
var uri = datauri(filename);
|
||||
$(element).attr('src', uri);
|
||||
});
|
||||
}
|
||||
catch (error) {
|
||||
error.filename = filename;
|
||||
error.files = R.uniq(files);
|
||||
throw error;
|
||||
}
|
||||
files = R.uniq(files);
|
||||
return {
|
||||
html: $.xml(),
|
||||
files: files
|
||||
files
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user