Skip to content

liady/babel-plugin-module-rewrite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

babel-plugin-module-rewrite

Version Build Status

A babel plugin to rewrite module imports (and require) using a custom function

Description

You can supply a replace function to dynamically replace module paths when Babel traverses them.

Usage

Install the plugin

$ npm install --save-dev babel babel-plugin-module-rewrite

Specify the plugin in your .babelrc with the file that exports the replace function.

{
  "plugins": [
    ["module-rewrite", { "replaceFunc": "./utils/replace-module-paths.js" }]
  ]
}

Let's say you want ~/moduleFile to be replaced to utils/moduleFile if the calling file is in utils, and common/moduleFile otherwise. So in your replace-module-paths.js, just export:

export default function replaceImport(originalPath, callingFileName, options) {
    if(callingFileName.indexOf('/utils/') !== -1) {
        return originalPath.replace('~', 'utils');
    } else {
        return originalPath.replace('~', 'common');
    }
}

License

MIT

About

Babel plugin to dynamically rewrite module paths

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published