Home

Awesome

babel-plugin-transform-dirname-filename

Babel plugin that rewrites __dirname and __filename to static values.

Example

Source file t.js:

console.log(__dirname);
console.log(__filename);

Execute normally

$ node t.js
/path/to
/path/to/t.js

Before

$ babel --out-file build/t.js t.js

$ node build/t.js
/path/to/build
/path/to/build/t.js

Notice how the build directory is part of the paths, which is not what we want.

After

$ babel --out-file build/t.js --plugins transform-dirname-filename t.js

$ node build/t.js
/path/to
/path/to/t.js

So even though the generated file is a build/t.js, the __dirname and __filename values will still reference the source file!

Installation

$ npm install babel-plugin-transform-dirname-filename --save-dev

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-dirname-filename"]
}

Via CLI

$ babel --plugins transform-dirname-filename script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-dirname-filename"]
});