UNPKG

webpack-provide-global-plugin

Version:

A webpack plugin to provide installed packages as named global variables

28 lines (23 loc) 684 B
var webpack = require('webpack'); function setPluginOptions (pluginOptions) { const provideMap = {}; const globalPackages = Object.keys(pluginOptions); globalPackages.forEach(function(package) { const globalName = pluginOptions[package]; provideMap[globalName] = 'imports-loader?this=>global!exports-loader?global.' + globalName + '!' + package; }); return { provideMap }; } class WebpackProvideGlobalPlugin { constructor (pluginOptions = {}) { Object.assign(this, setPluginOptions(pluginOptions)) } apply (compiler) { compiler.apply( new webpack.ProvidePlugin(this.provideMap) ); } } module.exports = WebpackProvideGlobalPlugin;