+-$1</head>`)}};var he=(l=>(l.woff2="font/woff2",l.woff="font/woff",l.ttf="font/ttf",l.otf="font/otf",l.svg="image/svg+xml",l.eot="application/vnd.ms-fontobject",l))(he||{}),I=class{constructor(e){this.options=e}transform(e,t){return t.forEach(s=>{if(!this.options.embedFonts||!s.binary)e=e.replaceAll(s.url,s.localPath);else if(s.binary){let n=new RegExp(`url\\(['"]?\\b${s.url}\\b['"]?\\)`,"gi");e=e.replaceAll(n,`url(data:${this.getFontMime(s)};base64,${s.binary.toString("base64")})`)}}),e}getFontMime(e){let t=e.filename.replace(/^.+\.(.+)$/,"$1");return he[t]}};var K=require("axios"),de=require("http"),me=require("https"),D=P(require("picocolors"));var U=class{constructor(e,t){this.options=e;this.logger=t;this.userAgentWoff2="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.0.0 Safari/537.36";this.maxTries=3;this.timeout=2500;this.waitBeforeRetry=[25,2500];this.axios=new K.Axios({timeout:this.timeout,proxy:this.options.proxy,httpAgent:new de.Agent({keepAlive:!0,family:4}),httpsAgent:new me.Agent({keepAlive:!0,family:4})})}download(e,t,s=1){return d(this,null,function*(){try{let n=yield this.toRequest(e,t);return s>1&&this.logger.info(D.default.green(`\u2713 ${e}`)+" "+D.default.dim(`(try #${s})`)),n}catch(n){if(this.logger.error(D.default.red(`\u2717 ${e}`)+" "+D.default.dim(`(try #${s})`)+": "+((0,K.isAxiosError)(n)?n.message:n)),s<this.maxTries)return yield new Promise(a=>setTimeout(a,this.randomWaitInterval())),this.download(e,t,s+1);throw n}})}toRequest(e,t){return this.axios.get(e,{headers:{"User-Agent":this.userAgentWoff2},responseType:t!=null?t:"arraybuffer"})}randomWaitInterval(){return Math.floor(Math.random()*(this.waitBeforeRetry[0]-this.waitBeforeRetry[1]+1)+this.waitBeforeRetry[1])}};var _=class{constructor(e,t,s){this.logger=e;this.downloader=t;this.fileCache=s}load(e){return d(this,null,function*(){let t=this.fileCache.get("font",e);if(t)return t;this.logger.flashLine(e);let s=yield this.downloader.download(e);return this.fileCache.save("font",e,s.data),s.data})}};var j=P(require("flat-cache"));var E="3.9.1";var q=class{constructor(e){this.enabled=!0;this.hits={css:0,font:0};e.cache===!1&&(this.enabled=!1),this.storeCss=j.default.create(`vite-plugin-webfont-dl__${E}__css`),this.storeFont=j.default.create(`vite-plugin-webfont-dl__${E}__font`),this.enabled||this.clear()}get(e,t){if(!this.enabled)return;let s=e==="css"?this.storeCss.getKey(t):this.storeFont.getKey(t);if(s)return e==="css"?this.hits.css++:this.hits.font++,s.type!==void 0?Buffer.from(s.data):s}save(e,t,s){this.enabled&&(e==="css"?(this.storeCss.setKey(t,s),this.storeCss.save(!0)):(this.storeFont.setKey(t,s),this.storeFont.save(!0)))}clear(){j.default.clearCacheById(`vite-plugin-webfont-dl__${E}__css`),j.default.clearCacheById(`vite-plugin-webfont-dl__${E}__font`)}};var V=class{constructor(){this.webfontRegexes=[new RegExp(`(<!--.*?)?<link[^>]+rel=['"]?stylesheet['"]?[^>]+href=['"]?(https:\\/\\/fonts\\.googleapis\\.com[^'">]+)['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+href=['"]?(https:\\/\\/fonts\\.googleapis\\.com[^'">]+)['"]?[^>]+rel=['"]?stylesheet['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+rel=['"]?stylesheet['"]?[^>]+href=['"]?(https:\\/\\/fonts\\.bunny\\.net[^'">]+)['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+href=['"]?(https:\\/\\/fonts\\.bunny\\.net[^'">]+)['"]?[^>]+rel=['"]?stylesheet['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+rel=['"]?stylesheet['"]?[^>]+href=['"]?(https:\\/\\/api\\.fontshare\\.com[^'">]+)['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+href=['"]?(https:\\/\\/api\\.fontshare\\.com[^'">]+)['"]?[^>]+rel=['"]?stylesheet['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+rel=['"]?stylesheet['"]?[^>]+href=['"]?(https:\\/\\/cdn\\.jsdelivr\\.net[^'">]+\\.css)['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+href=['"]?(https:\\/\\/cdn\\.jsdelivr\\.net[^'">]+\\.css)['"]?[^>]+rel=['"]?stylesheet['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+rel=['"]?stylesheet['"]?[^>]+href=['"]?(https:\\/\\/rsms\\.me[^'">]+)['"]?[^>]*>`,"gs"),new RegExp(`(<!--.*?)?<link[^>]+href=['"]?(https:\\/\\/rsms\\.me[^'">]+)['"]?[^>]+rel=['"]?stylesheet['"]?[^>]*>`,"gs")];this.preconnectRegexes=[/<link[^>]+rel=['"]?preconnect['"]?[^>]+href=['"]?https:\/\/fonts\.googleapis\.com['"]?[^>]*>/,/<link[^>]+href=['"]?https:\/\/fonts\.googleapis\.com['"]?[^>]+rel=['"]?preconnect['"]?[^>]*>/,/<link[^>]+rel=['"]?preconnect['"]?[^>]+href=['"]?https:\/\/fonts\.gstatic\.com['"]?[^>]*>/,/<link[^>]+href=['"]?https:\/\/fonts\.gstatic\.com['"]?[^>]+rel=['"]?preconnect['"]?[^>]*>/,/<link[^>]+rel=['"]?preconnect['"]?[^>]+href=['"]?https:\/\/fonts\.bunny\.net['"]?[^>]*>/,/<link[^>]+href=['"]?https:\/\/fonts\.bunny\.net['"]?[^>]+rel=['"]?preconnect['"]?[^>]*>/,/<link[^>]+rel=['"]?preconnect['"]?[^>]+href=['"]?https:\/\/api\.fontshare\.com['"]?[^>]*>/,/<link[^>]+href=['"]?https:\/\/api\.fontshare\.com['"]?[^>]+rel=['"]?preconnect['"]?[^>]*>/,/<link[^>]+rel=['"]?preconnect['"]?[^>]+href=['"]?https:\/\/rsms\.me['"]?[^>]*>/,/<link[^>]+href=['"]?https:\/\/rsms\.me['"]?[^>]+rel=['"]?preconnect['"]?[^>]*>/]}parse(e){let t=new Set;for(let s of this.webfontRegexes){let n=e.matchAll(s);if(n)for(let a of n)(!a[1]||a[1].includes("-->"))&&t.add(a[2])}return t}removeTags(e){return e=this.removePreconnectTags(e),e=this.removeWebfontTags(e),e}removePreconnectTags(e){for(let t of this.preconnectRegexes){let s=new RegExp("[ ]*"+t.source+`(\r
0 commit comments