babel-plugin-module-rewrite

0.2.0 • Public • Published

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

Package Sidebar

Install

npm i babel-plugin-module-rewrite

Weekly Downloads

18,081

Version

0.2.0

License

MIT

Last publish

Collaborators

  • liady