JSPM

babel-plugin-transform-vite-meta-glob

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 88861
  • Score
    100M100P100Q178730F
  • License MIT

babel plugin that emulates vite's import.meta.glob import.meta.globEager functionality

Package Exports

  • babel-plugin-transform-vite-meta-glob

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (babel-plugin-transform-vite-meta-glob) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

babel-plugin-transform-vite-meta-glob

Build Status codecov downloads MIT License

PRs Welcome Code of Conduct Discord

Watch on GitHub Star on GitHub Tweet

Please note: this plugin is intended to provide an approximation of some of Vite specific transformations when running the code in non-Vite environment, for example, running tests with a NodeJS based test runner.

The functionality within these transformations should not be relied upon in production.

Example

In

const modules = import.meta.glob('./path/to/files/**/*')

const eagerModules = import.meta.globEager('./path/to/files/**/*')

Out

For the purposes of this example, assume there are 3 files, files1.js, files2.js and file3.js at the path of ./path/to/files/ relative the files being transformed.

const modules = {
  './path/to/files/file1.js': () => import('./path/to/files/file1.js'),
  './path/to/files/file2.js': () => import(('./path/to/files/file2.js'),
  './path/to/files/file3.js': () => import(('./path/to/files/file3.js')
}

const eagerModules = {
  './path/to/files/file1.js': require('./path/to/files/file1.js'),
  './path/to/files/file2.js': require('./path/to/files/file2.js'),
  './path/to/files/file3.js': require('./path/to/files/file3.js')
}

Installation

npm install --save-dev babel-plugin-transform-vite-meta-glob

Usage

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

Via CLI

babel --plugins babel-plugin-transform-vite-meta-glob script.js

Via Node API

require('@babel/core').transformSync('code', {
  plugins: ['babel-plugin-transform-vite-meta-glob']
})