cdn-resolve
Version:
Resolves import paths to their CDN equivalents
23 lines (20 loc) • 1.34 kB
text/typescript
import { ESMOptions } from './esm.cjs';
export { buildESMUrl, resolveESMTypes } from './esm.cjs';
import { SkypackOptions } from './skypack.cjs';
export { SkypackHeaders, buildSkypackUrl, resolveSkypackHeaders } from './skypack.cjs';
import { UnpkgOptions } from './unpkg.cjs';
export { buildUnpkgUrl } from './unpkg.cjs';
export { buildJSDelivrUrl } from './jsdelivr.cjs';
export { ParsedPackage, parsePackage } from './parse.cjs';
declare const CDN_URLS: {
readonly skypack: "https://cdn.skypack.dev";
readonly esm: "https://esm.sh";
readonly unpkg: "https://unpkg.com";
readonly jsdelivr: "https://cdn.jsdelivr.net/npm";
};
type SupportedCDNS = "skypack" | "esm" | "unpkg" | "jsdelivr";
declare function normalizeCdnUrl(cdn: SupportedCDNS, module: string): string;
type Options<TCDN extends Exclude<SupportedCDNS, "jsdelivr">> = TCDN extends "skypack" ? SkypackOptions : 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>;
export { type Builder, CDN_URLS, ESMOptions, SkypackOptions, type SupportedCDNS, UnpkgOptions, buildCDNUrl, normalizeCdnUrl };