Skip to content

Latest commit

 

History

History
57 lines (40 loc) · 1.29 KB

README.md

File metadata and controls

57 lines (40 loc) · 1.29 KB

Description

This esbuild plugin allows importing multiple modules by using a glob pattern.

Installation

npm install glob-import-esbuild-plugin or yarn add glob-import-esbuild-plugin

Example

Given a project with the following structure:

index.js
a-folder/
├── module-a.js
└── a-subfolder/
    ├── module-b.js
    └── module-c.js

index.js:

import modules from "./a-folder/**/*.js"

console.log(modules)

// It'd print the following.
//
// {
//   "Users/jhondoe/example/a-folder/module-a.js": { aNamedExport, default},
//   "Users/jhondoe/example/a-folder/a-subfolder/module-b.js": { aNamedExport, default},
//   "Users/jhondoe/example/a-folder/a-subfolder/module-c.js": { aNamedExport, default},
// }

The import result is inspired (although not identical) to Vite's glob import.

Usage

esbuild.config.js:

import { build } from 'esbuild';
import globImportPlugin from "glob-import-esbuild-plugin";

await build({
  ...,
  plugins: [globImportPlugin]
})

Prior art