cdn-resolve
Version:
Resolves import paths to their CDN equivalents
19 lines (17 loc) • 1.17 kB
TypeScript
import { ESMOptions, buildESMUrl, resolveESMTypes } from "./esm-Dhr7FK8J.js";
import { UnpkgOptions, buildUnpkgUrl } from "./unpkg-BiTJErkA.js";
import { buildJSDelivrUrl } from "./jsdelivr-D3rS1HGF.js";
import { ParsedPackage, parsePackage } from "./parse-CLtsw1wd.js";
//#region src/index.d.ts
declare const CDN_URLS: {
readonly esm: "https://esm.sh";
readonly unpkg: "https://unpkg.com";
readonly jsdelivr: "https://cdn.jsdelivr.net/npm";
};
type SupportedCDNS = "esm" | "unpkg" | "jsdelivr";
declare function normalizeCdnUrl(cdn: SupportedCDNS, module: string): string;
type Options<TCDN extends Exclude<SupportedCDNS, "jsdelivr">> = TCDN extends "esm" ? ESMOptions : UnpkgOptions;
type Builder<TCDN extends SupportedCDNS> = TCDN extends "jsdelivr" ? (module: string) => URL | undefined : (module: string, options?: Options<Exclude<TCDN, "jsdelivr">>) => URL | undefined;
declare function buildCDNUrl<TCDN extends SupportedCDNS>(cdn: TCDN): Builder<TCDN>;
//#endregion
export { Builder, CDN_URLS, ESMOptions, ParsedPackage, SupportedCDNS, UnpkgOptions, buildCDNUrl, buildESMUrl, buildJSDelivrUrl, buildUnpkgUrl, normalizeCdnUrl, parsePackage, resolveESMTypes };