Home

Awesome

Babel paths.macro

A babel macro that allows you to "import" the location of the source-file.

The supported paths you can import:

nameexample
npmRoot/Users/you/project
gitRoot/Users/you/project
wd/Users/you/project
fileAbsolute/Users/you/project/src/input.js
fileinput.js
extension.js
filenameinput
baseAbsolute/Users/you/project/src/
base/src/

The default import is equal to base.

Example

Source file input.js:

import base, { filename } from 'paths.macro';

console.log(base, filename);

alert(filename, base);

function usePathsForSomething() {
  return [filename, base];
}

Output:

console.log("/src/", "input");

alert("input", "/src/");

function usePathsForSomething() {
  return ["input", "/src/"];
}

Config

Install:

yarn add paths.macro

If you don't have babel-macros already you must also install that:

yarn add babel-plugin-macros

Ensure you have babel-plugin-macros in your babel config (.babelrc).

{
  "plugins": ["macros"]
}