babel5-plugin-module-alias

1.0.0 • Public • Published

Module alias plugin for Babel 5

A babel plugin to easily map directories as different directories when your required a module. Useful when you don't want to write relative path yourself.

This is a fork of babel-plugin-module-resolver before it was changed, with the extra functionality of npm: aliasing working. It's a drop in replacement for babel-plugin-module-alias version 0.2.1.

Usage

Instead of writing var m = require('../../../../utils/myUtils') or import m from '../../../../myUtils'. This plugin will allow you to set an alias to access your plugin.

var myUtils = require('utils/myUtils');
// or
import myUtils from 'utils/myUtils';

To do so, first install babel and the plugin

$ npm install --save babel babel-plugin-module-alias

Then, the recommended way of using it is by using the file .babelrc to setup the configuration for Babel.

{
  "plugins": [
    "babel-plugin-module-alias"
  ],
  "extra": {
    "module-alias": [
      { "src": "./src/utils", "expose": "utils" }
    ]
  }
}

Module aliasing also works for npm modules. Given this config in .babelrc:

{
  "plugins": [
    "babel-plugin-module-alias"
  ],
  "extra": {
    "module-alias": [
      {
        "src": "lodash",
        "expose": "underscore"
      }
    ]
  }
}

In your code you can simply do:

import _ from 'underscore'; 

This also works with npm @scoped packages you want to unscope without changing your code, i.e.: { "src": "@myuser/module", "expose": "module"}.`

Note: the section extra is a custom section commonly used by plugins to take options. There's currently no better way in Babel to pass options to plugins.

License

MIT, see LICENSE.md for details.

Package Sidebar

Install

npm i babel5-plugin-module-alias

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • hola.org