README
@sincronia/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 @sincronia/babel-plugin-remove-modules
Usage
Add this plugin to your plugins
section of your Babel configuration
's import
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();
's export
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";
//@keepModule
import moduleDos from "myModuleDos";
becomes...
//@keepModule
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.
//@expandModule
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.
//@expandModule @moduleAlias=notMyModule
import { part1 } from "myModule";
part1.init();
becomes...
notMyModule.part1.init();