kraken-loader
Version:
Kraken.io image optimisation loader for Webpack 2+
46 lines (41 loc) • 1.03 kB
JavaScript
const path = require('path');
const webpack = require('webpack');
const MemoryFs = require('memory-fs');
module.exports = (fixture, options = {}) => {
const compiler = webpack({
context: __dirname,
entry: `./${fixture}`,
output: {
path: path.resolve(__dirname),
filename: 'bundle.js'
},
module: {
rules: [{
test: /\.(jpe?g|png|gif|svg)$/i,
use: [
{
loader: 'file-loader',
options: {
name: '[name].[ext]'
}
},
{
loader: '../index',
// loader: loader, // Function
options
}
]
}]
}
});
compiler.outputFileSystem = new MemoryFs();
return new Promise((resolve, reject) => {
compiler.run((err, stats) => {
if (err || stats.hasErrors()) {
// @todo Try and find better docs on Webpack's Error Handling API
reject(err || new Error(stats.toJson().errors[0]));
}
resolve(stats);
});
});
};