Spaces:
Paused
Paused
| 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" }; | |
| } | |
| }); | |
| //match relative path in a module "./" or "../" | |
| build.onResolve({ filter: /^\.+\// }, (args: esbuild.OnResolveArgs) => { | |
| return { | |
| namespace: "a", | |
| path: new URL(args.path, `https://unpkg.com${args.resolveDir}/`).href, | |
| }; | |
| }); | |
| //match main file in a module | |
| build.onResolve({ filter: /.*/ }, async (args: esbuild.OnResolveArgs) => { | |
| return { | |
| namespace: "a", | |
| path: `https://unpkg.com/${args.path}`, | |
| }; | |
| }); | |
| }, | |
| }; | |
| }; | |