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

Package detail

babel-plugin-transform-import-meta

javiertury1.1mBSD2.3.2TypeScript support: included

Transforms import.meta for nodejs environments

babel-plugin, import-meta

readme

babel-plugin-transform-import-meta

Transforms import.meta for nodejs environments. This plugin supports transforming the following apis:

  • import.meta.dirname
  • import.meta.filename
  • import.meta.resolve(specifier)
  • import.meta.url

import.meta.dirname

console.log(import.meta.dirname);

Is replaced with

console.log(__dirname);

import.meta.filename

console.log(import.meta.filename);

Is replaced with

console.log(__filename);

import.meta.resolve(specifier)

console.log(import.meta.resolve(myCustomFunction('path', 'file')));

Is replaced with

console.log(require('url').pathToFileURL(require.resolve(myCustomFunction('path', 'file'))).toString());

import.meta.url

console.log(import.meta.url);

Is replaced with

console.log(require('url').pathToFileURL(__filename).toString());

Installation

Install this package

npm install --save-dev babel-plugin-transform-import-meta

and add it to your babel plugins in babel.config.json

{
  "plugins": [
    "babel-plugin-transform-import-meta"
  ]
}

Settings

ES6 modules

It's possible to use ES6 modules for the output. Useful to delegate module transformation to other plugins.

{
  "plugins": [
    ["babel-plugin-transform-import-meta", { "module": "ES6" }]
  ]
}

Credits

Based on a previous project "babel-plugin-import-meta" by The Polymer Authors

changelog

Changelog

All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.

2.3.2 (2025-01-03)

2.3.1 (2025-01-03)

2.3.0 (2025-01-03)

Features

  • add support for additional meta apis (e011988)
  • new import.meta apis (185992a)
  • update eslint, rollup and other dependencies (5ea0a08)

2.2.1 (2023-08-04)

2.2.0 (2022-06-21)

Features

  • add support for ES6 targets (77f855a), closes #5

2.1.1 (2022-02-03)

Bug Fixes

  • import ast from smart instead of default export of @babel/template (88e058f)

2.1.0 (2021-09-10)

Features

Bug Fixes

  • "package.json#exports" and "mjs" extension (f4597ea)
  • release: publish only files in lib (0d152b7)

2.0.0 (2021-04-21)

⚠ BREAKING CHANGES

  • import.meta on its own is no longer transpiled.
  • unknown import.meta properties are no longer transpiled.

Features

Bug Fixes

  • compatibility with transformers of unknown properties (383053c), closes #2
  • make some dependencies dev dependencies (4decc60)
  • rename prepare script (ea9f8db)