Skip to content

Instantly share code, notes, and snippets.

@adamisntdead
Created July 17, 2018 23:12
Show Gist options
  • Save adamisntdead/c04a267373e6febbfd97f1152e58ba50 to your computer and use it in GitHub Desktop.
Save adamisntdead/c04a267373e6febbfd97f1152e58ba50 to your computer and use it in GitHub Desktop.
function pack(modules) {
const modulesSource = modules.map(module =>
`${module.id}: {
factory: (module, require) => {
${module.source}
},
map: ${JSON.stringify(module.map)}
}`
).join()
return `(modules => {
const require = id => {
const { factory, map } = modules[id]
const localRequire = name => require(map[name])
const module = { exports: {} }
factory(module, localRequire)
return module.exports
}
require(0)
})({ ${modulesSource} })`
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment