Babel paths.macro
July 22, 2019 ยท View on GitHub
A babel macro that allows you to "import" the location of the source-file.
The supported paths you can import:
| name | example |
|---|---|
| npmRoot | /Users/you/project |
| gitRoot | /Users/you/project |
| wd | /Users/you/project |
| fileAbsolute | /Users/you/project/src/input.js |
| file | input.js |
| extension | .js |
| filename | input |
| 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"]
}