vite-plugin-cdn-next 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +0 -2
  2. package/dist/chunk-CV5YU5BM.mjs +1 -0
  3. package/dist/chunk-IGKNUOHW.mjs +1 -0
  4. package/dist/chunk-W6W74VIG.mjs +1 -0
  5. package/dist/index.js +1 -5
  6. package/dist/index.mjs +1 -2
  7. package/dist/resolve.js +0 -1
  8. package/dist/resolve.mjs +1 -2
  9. package/dist/resolver/bootcdn.js +0 -1
  10. package/dist/resolver/bootcdn.mjs +1 -2
  11. package/dist/resolver/cdnjs.js +0 -1
  12. package/dist/resolver/cdnjs.mjs +1 -2
  13. package/dist/resolver/jsdelivr.js +0 -1
  14. package/dist/resolver/jsdelivr.mjs +1 -2
  15. package/dist/resolver/unpkg.js +0 -1
  16. package/dist/resolver/unpkg.mjs +1 -2
  17. package/dist/scanner.js +1 -5
  18. package/dist/scanner.mjs +1 -2
  19. package/package.json +16 -14
  20. package/dist/chunk-44E5HB7F.mjs +0 -2
  21. package/dist/chunk-44E5HB7F.mjs.map +0 -1
  22. package/dist/chunk-D44BBBSZ.mjs +0 -2
  23. package/dist/chunk-D44BBBSZ.mjs.map +0 -1
  24. package/dist/chunk-EKMT5YZN.mjs +0 -5
  25. package/dist/chunk-EKMT5YZN.mjs.map +0 -1
  26. package/dist/chunk-ULCZGLAT.mjs +0 -2
  27. package/dist/chunk-ULCZGLAT.mjs.map +0 -1
  28. package/dist/index.js.map +0 -1
  29. package/dist/index.mjs.map +0 -1
  30. package/dist/resolve.js.map +0 -1
  31. package/dist/resolve.mjs.map +0 -1
  32. package/dist/resolver/bootcdn.js.map +0 -1
  33. package/dist/resolver/bootcdn.mjs.map +0 -1
  34. package/dist/resolver/cdnjs.js.map +0 -1
  35. package/dist/resolver/cdnjs.mjs.map +0 -1
  36. package/dist/resolver/jsdelivr.js.map +0 -1
  37. package/dist/resolver/jsdelivr.mjs.map +0 -1
  38. package/dist/resolver/unpkg.js.map +0 -1
  39. package/dist/resolver/unpkg.mjs.map +0 -1
  40. package/dist/scanner.js.map +0 -1
  41. package/dist/scanner.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts","../src/inject.ts"],"sourcesContent":["import { createFilter } from '@rollup/pluginutils'\nimport type { Plugin } from 'vite'\nimport _debug from 'debug'\nimport { createScanner, getPackageExports, serializationExportsFields } from './scanner'\nimport { createInjectScript } from './inject'\nimport { isSupportThreads, len, transformCJSRequire } from './shared'\nimport type { CDNPluginOptions, ExternalPluginOptions, ModuleInfo } from './interface'\nimport { transformWithBabel } from './transform'\nimport { jsdelivr } from './resolver/jsdelivr'\n\nconst debug = _debug('vite-plugin-cdn2')\n\nconst NODE_MODULES = 'node_modules'\n// rs-module-lexer can't cover all platforms.\n// But it provide a wasm bindings. So we provide\n// a wrapper func to cover most of scence.\n// WASM support at least node15\n\nasync function createRsModuleLexer() {\n try {\n const { parse } = (await import('rs-module-lexer')).default\n return parse\n } catch (error) {\n const { parse } = await import('@xn-sakina/rml-wasm').catch(() => {\n throw new Error(\"rs-module-lexer can't work on you current machine.\")\n })\n return parse\n }\n}\n\nfunction createDependency() {\n const dependency: Record<string, ModuleInfo> = {}\n\n const filter = (\n code: string,\n id: string,\n dependencyWithAlias: Record<string, string>,\n lex: Awaited<ReturnType<typeof createRsModuleLexer>>\n ) => {\n const { output } = lex({ input: [{ filename: id, code }] })\n if (!len(output)) return false\n const { imports } = output[0]\n const modules = Array.from(new Set([...imports.map((i) => i.n)]))\n for (const m of modules) {\n if (dependencyWithAlias[m]) return true\n continue\n }\n return false\n }\n\n return {\n dependency,\n lex: null,\n get dependencyWithAlias() {\n const traverse = (aliases: string[], name: string) =>\n aliases.reduce((acc, cur) => ({ ...acc, [cur]: name }), {})\n return Object.values(this.dependency).reduce((acc, cur) => {\n if (cur.aliases) acc = { ...acc, ...traverse(cur.aliases, cur.name) }\n return { ...acc, [cur.name]: cur.name }\n }, {})\n },\n filter: function (code: string, id: string) {\n return filter(code, id, this.dependencyWithAlias, this.lex)\n }\n }\n}\n\ninterface ExternalPluginAPI {\n filter: (id: unknown) => boolean\n dependency: ReturnType<typeof createDependency>\n}\n\nfunction transformPresetModule(api: ExternalPluginAPI): Plugin {\n return {\n name: 'vite-plugin-cdn2:presetModule',\n transform(code, id) {\n if (!api.filter(id)) return\n if (id.includes(NODE_MODULES)) {\n const result = transformCJSRequire(code, api.dependency.dependency)\n if (api.dependency.filter(code, id)) return transformWithBabel(code, api.dependency)\n return result\n }\n }\n }\n}\n\nfunction cdn(opts: CDNPluginOptions = {}): Plugin[] {\n const {\n modules = [],\n include = /\\.(mjs|js|ts|vue|jsx|tsx)(\\?.*|)$/,\n exclude,\n logLevel = 'warn',\n resolve = jsdelivr(),\n apply = 'build'\n } = opts\n const scanner = createScanner(modules)\n const { api: _api } = external({ modules: [], include, exclude })\n const api = _api as ExternalPluginAPI\n const transformPlugin = (): Plugin => {\n return {\n name: 'vite-plugin-cdn2:transform',\n enforce: 'post',\n apply,\n async configResolved(config) {\n debugger\n const [isSupport, version] = isSupportThreads()\n try {\n if (!isSupport) throw new Error(`vite-plugin-cdn2 can't work with nodejs ${version}.`)\n const esModuleLexer = await createRsModuleLexer()\n api.dependency.lex = esModuleLexer\n const defaultWd = config.root\n scanner.setDefaultWd(defaultWd)\n debug('start scanning')\n scanner.scanAllDependencies()\n debug('scanning done', scanner.dependencies)\n api.dependency.dependency = Object.fromEntries(scanner.dependencies)\n if (logLevel === 'warn') {\n scanner.failedModules.forEach((errorMessage, name) =>\n config.logger.error(\n `vite-plugin-cdn2: ${name} ${errorMessage ? errorMessage : 'resolved failed.Please check it.'}`\n )\n )\n }\n // work for serve mode\n // https://vitejs.dev/config/dep-optimization-options.html\n // include and exclude are mutually exclusive\n if (apply === 'serve') {\n const exclude = config.optimizeDeps?.exclude || []\n config.optimizeDeps.exclude = [...exclude, ...scanner.dependencies.keys()]\n const include = config.optimizeDeps?.include || []\n config.optimizeDeps.include = include.filter(\n (dep) => !config.optimizeDeps.exclude.includes(dep)\n )\n }\n } catch (error) {\n config.logger.error(error)\n }\n },\n transform(code, id) {\n if (!api.filter(id)) return\n if (!api.dependency.filter(code, id)) return\n return transformWithBabel(code, api.dependency)\n },\n transformIndexHtml(html) {\n debug('start transformIndexHtml')\n const inject = createInjectScript(scanner.dependencies, resolve)\n debug('transformIndexHtml Done', inject.tagDescriptors)\n return {\n html,\n tags: inject.tagDescriptors\n }\n }\n }\n }\n return [\n { ...transformPlugin(), apply },\n { ...transformPresetModule(api), apply }\n ]\n}\n\nfunction external(opts: ExternalPluginOptions = {}): Plugin {\n // Inspired by vite-plugin-external\n const debug = _debug('vite-plugin-external')\n const { modules = [], include, exclude } = opts\n const filter = createFilter(include, exclude)\n const dependency = createDependency()\n\n return {\n name: 'vite-plugin-external',\n async buildStart() {\n try {\n const esModuleLexer = await createRsModuleLexer()\n dependency.lex = esModuleLexer\n debug('start check modules')\n for (const module of modules) {\n if (!module.global) {\n throw new Error(`vite-plugin-external: missing global for module ${module.name}`)\n }\n }\n debug('check done')\n const defaultWd = process.cwd()\n const dependencies = (await Promise.all(\n modules.map(async (module) => {\n const exports = await getPackageExports(module, defaultWd)\n return {\n bindings: exports,\n ...module,\n aliases: serializationExportsFields(module.name, module.aliases)\n }\n })\n )) as ModuleInfo[]\n dependency.dependency = dependencies.reduce(\n (deps, dep) => ({ ...deps, [dep.name]: dep }),\n {}\n )\n debug('scanning done', dependency.dependency)\n } catch (error) {\n this.error(error)\n }\n },\n transform(code, id) {\n if (!filter(id)) return\n if (id.includes(NODE_MODULES)) {\n const result = transformCJSRequire(code, dependency.dependency)\n if (dependency.filter(code, id)) return transformWithBabel(code, dependency)\n return result\n }\n if (dependency.filter(code, id)) return transformWithBabel(code, dependency)\n },\n api: {\n filter,\n dependency\n }\n }\n}\n\nexternal.getExternalPluginAPI = (plugins: Plugin[]): ExternalPluginAPI | undefined => {\n return plugins.find((p) => p.name === 'vite-plugin-external')?.api\n}\n\nexport { cdn, external }\n\nexport { defineScript, defineLink } from './resolve'\n\nexport default cdn\n\nexport type {\n TrackModule,\n CDNPluginOptions,\n ExternalPluginOptions,\n ExternalModule\n} from './interface'\n","// refer: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script\r\nimport { URL } from 'url'\r\nimport path from 'path'\r\nimport type { HtmlTagDescriptor } from 'vite'\r\nimport type { LinkSpare, ModuleInfo, ScriptSpare } from './interface'\r\nimport type { ResolveOptions, SetupResult } from './resolve'\r\nimport { is } from './shared'\r\n\r\nfunction isScript(p: string) {\r\n const { pathname } = new URL(p, 'https://www.example.com')\r\n return path.extname(pathname) === '.js' ? 'script' : 'link'\r\n}\r\n\r\nfunction createTagDescriptor(options: SetupResult): HtmlTagDescriptor {\r\n const { url, ...rest } = options\r\n const descriptor = {\r\n tag: isScript(url),\r\n ...rest\r\n }\r\n\r\n if (descriptor.tag === 'script') {\r\n descriptor.attrs.src = url\r\n } else {\r\n descriptor.attrs.href = url\r\n descriptor.attrs.rel = 'stylesheet'\r\n }\r\n\r\n return descriptor\r\n}\r\n\r\nclass InjectScript {\r\n private _tagDescriptors: Array<HtmlTagDescriptor>\r\n constructor(modules: Map<string, ModuleInfo>, resolve: ResolveOptions) {\r\n is(!!resolve || !!resolve.name, '[vite-plugin-cdn2]: missing resolve.')\r\n this._tagDescriptors = this.prepareSource(modules, resolve)\r\n }\r\n\r\n get tagDescriptors() {\r\n return this._tagDescriptors\r\n }\r\n\r\n private prepareSource(modules: Map<string, ModuleInfo>, resolve: ResolveOptions) {\r\n const container: Array<HtmlTagDescriptor> = []\r\n // Inherit the insertion postion of the parent node.\r\n const traverse = (spare: string | Array<ScriptSpare | LinkSpare>, injectTo: HtmlTagDescriptor['injectTo']) => {\r\n if (typeof spare === 'string') {\r\n container.push(createTagDescriptor({ url: spare, injectTo, attrs: {} }))\r\n }\r\n if (Array.isArray(spare)) {\r\n for (const s of spare) {\r\n const { url, ...rest } = s\r\n container.push(createTagDescriptor({ url, injectTo, attrs: rest ?? {} }))\r\n }\r\n }\r\n }\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n for (const [_, moduleInfo] of modules) {\r\n const descriptor = createTagDescriptor(resolve.setup({ extra: moduleInfo }))\r\n if (moduleInfo.spare) traverse(moduleInfo.spare, descriptor.injectTo)\r\n container.push(descriptor)\r\n }\r\n return container\r\n }\r\n}\r\n\r\nexport function createInjectScript(\r\n dependModules: Map<string, ModuleInfo>,\r\n resolve: ResolveOptions\r\n) {\r\n return new InjectScript(dependModules, resolve)\r\n}\r\n"],"mappings":"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","names":["init_esm_shims","createFilter","_debug","init_esm_shims","URL","path","isScript","p","pathname","URL","path","createTagDescriptor","options","url","rest","descriptor","InjectScript","modules","resolve","is","container","traverse","spare","injectTo","s","_","moduleInfo","createInjectScript","dependModules","debug","_debug","NODE_MODULES","createRsModuleLexer","parse","createDependency","dependency","filter","code","id","dependencyWithAlias","lex","output","len","imports","modules","i","m","traverse","aliases","name","acc","cur","transformPresetModule","api","result","transformCJSRequire","transformWithBabel","cdn","opts","include","exclude","logLevel","resolve","jsdelivr","apply","scanner","createScanner","_api","external","config","isSupport","version","isSupportThreads","esModuleLexer","defaultWd","errorMessage","dep","error","html","inject","createInjectScript","createFilter","module","dependencies","getPackageExports","serializationExportsFields","deps","plugins","p","index_default","cdn"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resolve.ts"],"sourcesContent":["import type { HtmlTagDescriptor } from 'vite'\nimport type { IIFEModuleInfo, LinkSpare, ScriptAttributes, ScriptSpare } from './interface'\n\nexport type HTMLTagDescriptor = Pick<HtmlTagDescriptor, 'injectTo' | 'attrs'> & {\n attrs?: ScriptAttributes\n}\n\ninterface SetupContext {\n extra: IIFEModuleInfo\n}\n\nexport type SetupResult = { url: string } & HTMLTagDescriptor\n\nexport interface ResolveOptions {\n name: string\n setup(ctx: SetupContext): SetupResult\n}\n\nexport function defineResolve(opts: ResolveOptions) {\n return opts\n}\n\nexport function defineScript(opts: ScriptSpare) {\n return opts\n}\n\nexport function defineLink(opts: LinkSpare) {\n return opts\n}\n"],"mappings":"4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,kBAAAC,EAAA,iBAAAC,IAAA,eAAAC,EAAAL,GAkBO,SAASM,EAAcC,EAAsB,CAClD,OAAOA,CACT,CAEO,SAASC,EAAaD,EAAmB,CAC9C,OAAOA,CACT,CAEO,SAASE,EAAWF,EAAiB,CAC1C,OAAOA,CACT","names":["resolve_exports","__export","defineLink","defineResolve","defineScript","__toCommonJS","defineResolve","opts","defineScript","defineLink"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/resolver/bootcdn.ts"],"sourcesContent":["import path from 'path'\nimport { defineResolve } from '../resolve'\nimport type { HTMLTagDescriptor } from '../resolve'\n\nexport function bootcdn(options: HTMLTagDescriptor = {}) {\n const { injectTo = 'head-prepend', attrs = {} } = options\n const baseURL = 'https://cdn.bootcdn.net/ajax/libs/'\n return defineResolve({\n name: 'resolve:bootcdn',\n setup({ extra }) {\n const { version, name, relativeModule } = extra\n const baseName = path.basename(relativeModule)\n const url = new URL(`${name}/${version}/${baseName}`, baseURL)\n return {\n url: url.href,\n injectTo,\n attrs: { ...attrs }\n } \n }\n })\n}\n"],"mappings":"6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiB,mBAIV,SAASC,EAAQC,EAA6B,CAAC,EAAG,CACvD,GAAM,CAAE,SAAAC,EAAW,eAAgB,MAAAC,EAAQ,CAAC,CAAE,EAAIF,EAC5CG,EAAU,qCAChB,MAAqB,CACnB,KAAM,kBACN,MAAM,CAAE,MAAAC,CAAM,EAAG,CACf,GAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,eAAAC,CAAe,EAAIH,EACpCI,EAAW,EAAAC,QAAK,SAASF,CAAc,EAE7C,MAAO,CACL,IAFU,IAAI,IAAI,GAAGD,CAAI,IAAID,CAAO,IAAIG,CAAQ,GAAIL,CAAO,EAElD,KACT,SAAAF,EACA,MAAO,CAAE,GAAGC,CAAM,CACpB,CACF,CACF,CACF","names":["bootcdn_exports","__export","bootcdn","__toCommonJS","import_path","bootcdn","options","injectTo","attrs","baseURL","extra","version","name","relativeModule","baseName","path"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/resolver/bootcdn.ts"],"sourcesContent":["import path from 'path'\nimport { defineResolve } from '../resolve'\nimport type { HTMLTagDescriptor } from '../resolve'\n\nexport function bootcdn(options: HTMLTagDescriptor = {}) {\n const { injectTo = 'head-prepend', attrs = {} } = options\n const baseURL = 'https://cdn.bootcdn.net/ajax/libs/'\n return defineResolve({\n name: 'resolve:bootcdn',\n setup({ extra }) {\n const { version, name, relativeModule } = extra\n const baseName = path.basename(relativeModule)\n const url = new URL(`${name}/${version}/${baseName}`, baseURL)\n return {\n url: url.href,\n injectTo,\n attrs: { ...attrs }\n } \n }\n })\n}\n"],"mappings":"wEAAAA,IAAA,OAAOC,MAAU,OAIV,SAASC,EAAQC,EAA6B,CAAC,EAAG,CACvD,GAAM,CAAE,SAAAC,EAAW,eAAgB,MAAAC,EAAQ,CAAC,CAAE,EAAIF,EAC5CG,EAAU,qCAChB,MAAqB,CACnB,KAAM,kBACN,MAAM,CAAE,MAAAC,CAAM,EAAG,CACf,GAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,eAAAC,CAAe,EAAIH,EACpCI,EAAWC,EAAK,SAASF,CAAc,EAE7C,MAAO,CACL,IAFU,IAAI,IAAI,GAAGD,CAAI,IAAID,CAAO,IAAIG,CAAQ,GAAIL,CAAO,EAElD,KACT,SAAAF,EACA,MAAO,CAAE,GAAGC,CAAM,CACpB,CACF,CACF,CACF","names":["init_esm_shims","path","bootcdn","options","injectTo","attrs","baseURL","extra","version","name","relativeModule","baseName","path"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/resolver/cdnjs.ts"],"sourcesContent":["import path from 'path'\nimport { defineResolve } from '../resolve'\nimport type { HTMLTagDescriptor } from '../resolve'\n\nexport function cdnjs(options: HTMLTagDescriptor = {}) {\n const { injectTo = 'head-prepend', attrs = {} } = options\n const baseURL = 'https://cdnjs.cloudflare.com/ajax/libs/'\n return defineResolve({\n name: 'resolve:cdnjs',\n setup({ extra }) {\n const { version, name, relativeModule } = extra\n const baseName = path.basename(relativeModule)\n const url = new URL(`${name}/${version}/${baseName}`, baseURL)\n return {\n url: url.href,\n injectTo,\n attrs: { ...attrs }\n } \n }\n })\n}\n"],"mappings":"6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiB,mBAIV,SAASC,EAAMC,EAA6B,CAAC,EAAG,CACrD,GAAM,CAAE,SAAAC,EAAW,eAAgB,MAAAC,EAAQ,CAAC,CAAE,EAAIF,EAC5CG,EAAU,0CAChB,MAAqB,CACnB,KAAM,gBACN,MAAM,CAAE,MAAAC,CAAM,EAAG,CACf,GAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,eAAAC,CAAe,EAAIH,EACpCI,EAAW,EAAAC,QAAK,SAASF,CAAc,EAE7C,MAAO,CACL,IAFU,IAAI,IAAI,GAAGD,CAAI,IAAID,CAAO,IAAIG,CAAQ,GAAIL,CAAO,EAElD,KACT,SAAAF,EACA,MAAO,CAAE,GAAGC,CAAM,CACpB,CACF,CACF,CACF","names":["cdnjs_exports","__export","cdnjs","__toCommonJS","import_path","cdnjs","options","injectTo","attrs","baseURL","extra","version","name","relativeModule","baseName","path"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/resolver/cdnjs.ts"],"sourcesContent":["import path from 'path'\nimport { defineResolve } from '../resolve'\nimport type { HTMLTagDescriptor } from '../resolve'\n\nexport function cdnjs(options: HTMLTagDescriptor = {}) {\n const { injectTo = 'head-prepend', attrs = {} } = options\n const baseURL = 'https://cdnjs.cloudflare.com/ajax/libs/'\n return defineResolve({\n name: 'resolve:cdnjs',\n setup({ extra }) {\n const { version, name, relativeModule } = extra\n const baseName = path.basename(relativeModule)\n const url = new URL(`${name}/${version}/${baseName}`, baseURL)\n return {\n url: url.href,\n injectTo,\n attrs: { ...attrs }\n } \n }\n })\n}\n"],"mappings":"wEAAAA,IAAA,OAAOC,MAAU,OAIV,SAASC,EAAMC,EAA6B,CAAC,EAAG,CACrD,GAAM,CAAE,SAAAC,EAAW,eAAgB,MAAAC,EAAQ,CAAC,CAAE,EAAIF,EAC5CG,EAAU,0CAChB,MAAqB,CACnB,KAAM,gBACN,MAAM,CAAE,MAAAC,CAAM,EAAG,CACf,GAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,eAAAC,CAAe,EAAIH,EACpCI,EAAWC,EAAK,SAASF,CAAc,EAE7C,MAAO,CACL,IAFU,IAAI,IAAI,GAAGD,CAAI,IAAID,CAAO,IAAIG,CAAQ,GAAIL,CAAO,EAElD,KACT,SAAAF,EACA,MAAO,CAAE,GAAGC,CAAM,CACpB,CACF,CACF,CACF","names":["init_esm_shims","path","cdnjs","options","injectTo","attrs","baseURL","extra","version","name","relativeModule","baseName","path"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/resolver/jsdelivr.ts"],"sourcesContent":["import { defineResolve } from '../resolve'\nimport type { HTMLTagDescriptor } from '../resolve'\n\nexport function jsdelivr(options: HTMLTagDescriptor = {}) {\n const { injectTo = 'head-prepend', attrs = {} } = options\n const baseURL = 'https://cdn.jsdelivr.net/npm/'\n return defineResolve({\n name: 'resolve:jsdelivr',\n setup({ extra }) {\n const { version, name, relativeModule } = extra\n const url = new URL(`${name}@${version}/${relativeModule}`, baseURL)\n return {\n url: url.href,\n injectTo,\n attrs: { ...attrs }\n }\n }\n })\n}\n"],"mappings":"4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,IAAA,eAAAC,EAAAH,GAGO,SAASI,EAASC,EAA6B,CAAC,EAAG,CACxD,GAAM,CAAE,SAAAC,EAAW,eAAgB,MAAAC,EAAQ,CAAC,CAAE,EAAIF,EAC5CG,EAAU,gCAChB,MAAqB,CACnB,KAAM,mBACN,MAAM,CAAE,MAAAC,CAAM,EAAG,CACf,GAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,eAAAC,CAAe,EAAIH,EAE1C,MAAO,CACL,IAFU,IAAI,IAAI,GAAGE,CAAI,IAAID,CAAO,IAAIE,CAAc,GAAIJ,CAAO,EAExD,KACT,SAAAF,EACA,MAAO,CAAE,GAAGC,CAAM,CACpB,CACF,CACF,CACF","names":["jsdelivr_exports","__export","jsdelivr","__toCommonJS","jsdelivr","options","injectTo","attrs","baseURL","extra","version","name","relativeModule"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/resolver/unpkg.ts"],"sourcesContent":["import { defineResolve } from '../resolve'\nimport type { HTMLTagDescriptor } from '../resolve'\n\nexport function unpkg(options: HTMLTagDescriptor = {}) {\n const { injectTo = 'head-prepend', attrs = {} } = options\n const baseURL = 'https://unpkg.com/'\n return defineResolve({\n name: 'resolve:unpkg',\n setup({ extra }) {\n const { version, name, relativeModule } = extra\n const url = new URL(`${name}@${version}/${relativeModule}`, baseURL)\n return {\n url: url.href,\n injectTo,\n attrs: { ...attrs }\n }\n }\n })\n}\n"],"mappings":"4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,IAAA,eAAAC,EAAAH,GAGO,SAASI,EAAMC,EAA6B,CAAC,EAAG,CACrD,GAAM,CAAE,SAAAC,EAAW,eAAgB,MAAAC,EAAQ,CAAC,CAAE,EAAIF,EAC5CG,EAAU,qBAChB,MAAqB,CACnB,KAAM,gBACN,MAAM,CAAE,MAAAC,CAAM,EAAG,CACf,GAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,eAAAC,CAAe,EAAIH,EAE1C,MAAO,CACL,IAFU,IAAI,IAAI,GAAGE,CAAI,IAAID,CAAO,IAAIE,CAAc,GAAIJ,CAAO,EAExD,KACT,SAAAF,EACA,MAAO,CAAE,GAAGC,CAAM,CACpB,CACF,CACF,CACF","names":["unpkg_exports","__export","unpkg","__toCommonJS","unpkg","options","injectTo","attrs","baseURL","extra","version","name","relativeModule"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/resolver/unpkg.ts"],"sourcesContent":["import { defineResolve } from '../resolve'\nimport type { HTMLTagDescriptor } from '../resolve'\n\nexport function unpkg(options: HTMLTagDescriptor = {}) {\n const { injectTo = 'head-prepend', attrs = {} } = options\n const baseURL = 'https://unpkg.com/'\n return defineResolve({\n name: 'resolve:unpkg',\n setup({ extra }) {\n const { version, name, relativeModule } = extra\n const url = new URL(`${name}@${version}/${relativeModule}`, baseURL)\n return {\n url: url.href,\n injectTo,\n attrs: { ...attrs }\n }\n }\n })\n}\n"],"mappings":"wEAAAA,IAGO,SAASC,EAAMC,EAA6B,CAAC,EAAG,CACrD,GAAM,CAAE,SAAAC,EAAW,eAAgB,MAAAC,EAAQ,CAAC,CAAE,EAAIF,EAC5CG,EAAU,qBAChB,MAAqB,CACnB,KAAM,gBACN,MAAM,CAAE,MAAAC,CAAM,EAAG,CACf,GAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,eAAAC,CAAe,EAAIH,EAE1C,MAAO,CACL,IAFU,IAAI,IAAI,GAAGE,CAAI,IAAID,CAAO,IAAIE,CAAc,GAAIJ,CAAO,EAExD,KACT,SAAAF,EACA,MAAO,CAAE,GAAGC,CAAM,CACpB,CACF,CACF,CACF","names":["init_esm_shims","unpkg","options","injectTo","attrs","baseURL","extra","version","name","relativeModule"]}