choo-bundles
Version:
Bundle splitting with HTTP2 push support for Choo with choo-ssr
24 lines (20 loc) • 664 B
JavaScript
var path = require('path')
var resolve = require('resolve')
var callsites = require('callsites')
var common = require('./common')
function bundles () {
return common.factory({
load: function (state, emitter, app) {
return async function (filepath) {
var basedir = path.dirname(callsites()[1].getFileName())
var fullpath = resolve.sync(filepath, { basedir: basedir })
var bundle = path.relative(process.env.PWD, fullpath)
emitter.emit('bundles:load', bundle)
return require(fullpath)
}
}
})
}
module.exports = bundles
module.exports.assets = common.assets
module.exports.preloads = common.preloads