A babel plugin that exposes ES6 modules to global variables.
##Usage This is a babel plugin that converts ES6 modules into global variables. To use it, just add it to your package.json and pass it as a plugin when calling babel:
{
"plugins": [
["globals", {
"globalName": 'myGlobal'
}]
],
"filename": filename
}
// Modules will be available at this.myGlobal.
Import statements will be removed if the imported file is not a relative or absolute path. This allows for CDN hosted libraries to be explicitly imported in code whilst still retaining the globals import system.
This plugin requires passing the following plugin/babel options (besides adding the plugin):
The name of the global variable that the modules should be exported to.
Default exports will be exported as <globalName>.<filename>
whilst named exports will be exported as
<globalName>Named.<fileName>.<exportName>
.
globalName
can also receive a function that returns the whole variable path for each export (e.g. (state, filePath, name, isWildcard) => 'this.MyModule.Views' + (name ? '.' + name : '')
)
This is an optional existing babel option, but is required for this plugin, since the plugin uses the file name to decide the name of the keys that will be exported in the global variable.