|
import * as esbuild from "esbuild-wasm"; |
|
|
|
export const unpkgPathPlugin = (): esbuild.Plugin => { |
|
return { |
|
name: "unpkg-path-plugin", |
|
setup(build: esbuild.PluginBuild) { |
|
|
|
build.onResolve({ filter: /.*/ }, (args) => { |
|
if (args.kind === "entry-point") { |
|
return { path: args.path, namespace: "a" }; |
|
} |
|
}); |
|
|
|
|
|
build.onResolve({ filter: /^\.+\// }, (args: esbuild.OnResolveArgs) => { |
|
return { |
|
namespace: "a", |
|
path: new URL(args.path, `https://unpkg.com${args.resolveDir}/`).href, |
|
}; |
|
}); |
|
|
|
|
|
build.onResolve({ filter: /.*/ }, async (args: esbuild.OnResolveArgs) => { |
|
return { |
|
namespace: "a", |
|
path: `https://unpkg.com/${args.path}`, |
|
}; |
|
}); |
|
}, |
|
}; |
|
}; |
|
|