Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

babel-resolver

jshanson74.1kMIT1.1.0

Resolve modules from any directory.

babel, resolve, local, module, source, resolveModuleSource, NODE_PATH, import

readme

Babel Resolver NPM version Build status Coverage status

Resolve modules from any directory.

import User from '../../models/User';

Becomes:

import User from 'models/User';

Usage

In app/index.js:

require('babel-register')({
  presets: ['es2015'], // required for 'import'
  resolveModuleSource: require('babel-resolver')(__dirname)
});

require('./app');

In app/app.js:

import User from 'models/User';
// => resolves: "app/models/User.js"

This example uses Babel 6 and babel-register.

If you wish to define options in .babelrc, use the Babel Resolver Plugin instead.

Note: Run rm -rf ~/.babel.json if you're seeing errors.

Note2: Babel's resolveModuleSource is only called when you use import, not require.

Also, keep in mind that you must provide absolute directory paths to babel-resolver.

Resolving Multiple Directories

In app/index.js:

var path = require('path');
var localModulesDir = __dirname;
var anotherDirToCheck = path.resolve(__dirname, 'lib');

require('babel-register')({
  presets: ['es2015'],
  resolveModuleSource: require('babel-resolver')(localModulesDir, anotherDirToCheck)
});
require('./app');

In app/app.js:

import User from 'models/User';
// => resolves: "app/models/User.js"

import somethingInLib from 'somethingInLib';
// => resolves: "app/lib/somethingInLib.js"

Installation

npm i babel-resolver --save
rm -rf ~/.babel.json

Why not just set NODE_PATH?

While setting NODE_PATH=app is a perfectly valid solution, babel-resolver is more explicit and lets you avoid mucking around with environment variables.

License

MIT

changelog

v1.1.0 / 2016-09-13

  • version 1.1.0
  • Multiple file extensions (#7)

v1.0.0 / 2016-08-20

  • use babel-register instead of babel-core/register
  • Merge pull request #5 from brandonbloom/patch-1
  • Resolve Unix-style path separators on Windows.

v0.0.18 / 2016-01-05

  • v0.0.18
  • search all node_modules paths
  • changelog
  • v0.0.17
  • Merge pull request #3 from dotfold/fix/windows-path-separator
  • make istanbul script cross platform friendly
  • fix script paths to run on windows
  • use path.sep instead of hardcoded forward slash
  • tweak copy
  • v0.0.16

v0.0.16 / 2015-11-21

  • bump version
  • support '.jsx' file extensions, resolves #1
  • more rearranging
  • deitalicize
  • rearrange
  • more wordiness
  • wordiness
  • spacing
  • changelog v0.0.15

v0.0.15 / 2015-11-13

  • bump version
  • add link to plugin version
  • readme language
  • italics
  • v0.0.14

v0.0.14 / 2015-11-11

  • bump version
  • docs
  • changes

v0.0.13 / 2015-11-11

  • bump version
  • simplify docs

v0.0.12 / 2015-11-11

  • document multi-directory

v0.0.11 / 2015-11-11

  • v0.0.11
  • make path usage less confusing
  • changelog

v0.0.10 / 2015-11-11

  • add mocha.ops
  • changes

v0.0.9 / 2015-11-11

  • move test-app to example-app

v0.0.8 / 2015-11-11

  • bump version
  • move test-app bootstrapper
  • changes

v0.0.7 / 2015-11-11

  • more tests
  • add comment

v0.0.6 / 2015-11-11

  • bump version
  • more typos
  • typos
  • update changelog

v0.0.4 / 2015-11-11

  • bump version
  • unit tests
  • increase mocha timeout
  • readme spacing
  • add coverage badge
  • update changelog

v0.0.3 / 2015-11-11

  • update readme
  • add coverage
  • add history
  • initial commit