@openzeppelin/solidity-loader
Version:
Webpack Solidity Hot Loader
39 lines (34 loc) • 799 B
JavaScript
import path from 'path';
import webpack from 'webpack';
import Memoryfs from 'memory-fs';
export default (fixture, options = {}) => {
const compiler = webpack({
context: __dirname,
entry: `./${fixture}`,
output: {
path: path.resolve(__dirname),
filename: 'bundle.js',
},
module: {
rules: [
{
test: /\.sol$/,
use: [
{ loader: 'json-loader' },
{
loader: path.resolve(__dirname, '../index.js'),
options,
},
],
},
],
},
});
compiler.outputFileSystem = new Memoryfs();
return new Promise((resolve, reject) => {
compiler.run((err, stats) => {
if (err || stats.hasErrors()) reject(err);
resolve(stats);
});
});
};