mirror of
https://github.com/egoist/tsup.git
synced 2025-12-08 20:35:58 +00:00
26 lines
638 B
TypeScript
26 lines
638 B
TypeScript
import { Plugin } from 'esbuild'
|
|
|
|
export const externalPlugin = (patterns?: (string | RegExp)[]): Plugin => {
|
|
return {
|
|
name: `external`,
|
|
|
|
setup(build) {
|
|
if (!patterns || patterns.length === 0) return
|
|
|
|
build.onResolve({ filter: /.*/ }, (args) => {
|
|
const external = patterns.some((p) => {
|
|
if (p instanceof RegExp) {
|
|
return p.test(args.path)
|
|
}
|
|
return args.path === p
|
|
})
|
|
if (external) {
|
|
return { path: args.path, external }
|
|
}
|
|
// return without `path` to use default path resolution logic
|
|
return {}
|
|
})
|
|
},
|
|
}
|
|
}
|