1.0.0 • Published 8 years ago

babel5-plugin-module-alias v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

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.