const invariant = require('invariant'); const createAssets = require('./utils/createAssets'); /** * An express middleware that sets req.assets from the * latest result from a running webpack compiler (i.e. using * webpack-dev-middleware). Should only be used in dev. */ function devAssets(webpackCompiler) { let assets; webpackCompiler.plugin('done', stats => { assets = createAssets(stats.toJson()); }); return (req, res, next) => { invariant( assets != null, 'devAssets middleware needs a running compiler; ' + 'use webpack-dev-middleware in front of devAssets' ); req.assets = assets; next(); }; } module.exports = devAssets;