@syncrona/babel-plugin-remove-modules
Overview
This Babel plugin is for stripping import/export statements from code. It is useful for allowing your source code to reference other files without actually importing them.
Installation
npm i -D @syncrona/babel-plugin-remove-modules
Usage
Add this plugin to your plugins section of your Babel configuration
import's
Imports get removed if there is no override in place.
import mod1 from "mod1";
import { test } from "mod2";
mod1.hello();
test.asdf();
becomes...
mod1.hello();
mod2.test.asdf();
export's
Exports always get removed as of now, but if there is need an override can be added.
export default function() {}
const test = "asdf";
export { test };
becomes...
function _temp() {}
const test = "asdf";
Tags
@keepModule
Putting a comment that contains @keepModule before an import statement will keep it from being removed
import module from "myModule";
import moduleDos from "myModuleDos";
becomes...
import moduleDos from "myModuleDos";
@expandModule
Putting a comment that contains @expandModule causes the variable names to be expanded out. Useful for in house modules contained in scopes.
import { part1 } from "myModule";
part1.init();
becomes...
myModule.part1.init();
@moduleAlias
Putting a comment that contains @moduleAlias=__aliasName__ causes the variable names to be expanded out and renames the source module to be whatever you like. Needs to be used with the @expandModule tag.
import { part1 } from "myModule";
part1.init();
becomes...
notMyModule.part1.init();