Imports or exports files using glob match for ES Module.
- ⚡️ Supports Vite, Webpack, Vue CLI, Rollup, esbuild and more, powered by unplugin.
- 🦾 Full TypeScript support.
npm i unplugin-glob
Vite
// vite.config.ts
import UnpluginGlob from 'unplugin-glob/vite'
export default defineConfig({
plugins: [UnpluginGlob()],
})
Rollup
// rollup.config.js
import UnpluginGlob from 'unplugin-glob/rollup'
export default {
plugins: [UnpluginGlob()],
}
esbuild
// esbuild.config.js
import { build } from 'esbuild'
build({
plugins: [require('unplugin-glob/esbuild')()],
})
Webpack
// webpack.config.js
module.exports = {
/* ... */
plugins: [require('unplugin-glob/webpack')()],
}
Vue CLI
// vue.config.js
module.exports = {
configureWebpack: {
plugins: [require('unplugin-glob/webpack')()],
},
}
// To avoid type declaration conflicts, a name is needed for each directory.
import * as all from 'glob:name:./some-path/*.js'
console.log(all.sth)
export * from 'glob:name:./some-path/**'
Glob({
// targets to resolve
include: [/\.m?[jt]sx?$/],
exclude: options.exclude || [/\.d\.ts$/],
root: process.cwd(),
// Filepath to generate corresponding .d.ts files.
// Defaults to both './glob.d.ts' and 'glob-global.d.ts' when provided `true`.
// Set `false` to disable.
dts: false, // boolean or string
})