@donotdev/core 0.0.18 → 0.0.19
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.
- package/functions/index.d.ts +1 -1448
- package/i18n/locales/lazy/crud_ar.json +20 -0
- package/i18n/locales/lazy/crud_de.json +20 -0
- package/i18n/locales/lazy/crud_en.json +20 -0
- package/i18n/locales/lazy/crud_es.json +20 -0
- package/i18n/locales/lazy/crud_fr.json +20 -0
- package/i18n/locales/lazy/crud_it.json +20 -0
- package/i18n/locales/lazy/crud_ja.json +20 -0
- package/i18n/locales/lazy/crud_ko.json +20 -0
- package/index.d.ts +613 -98
- package/index.js +39 -39
- package/next/index.d.ts +15 -777
- package/next/index.js +15 -15
- package/package.json +10 -10
- package/server.d.ts +570 -94
- package/server.js +1 -1
- package/vite/index.d.ts +17 -779
- package/vite/index.js +29 -29
package/vite/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var Gi=Object.create;var Lr=Object.defineProperty;var qi=Object.getOwnPropertyDescriptor;var Wi=Object.getOwnPropertyNames;var Hi=Object.getPrototypeOf,Vi=Object.prototype.hasOwnProperty;var V=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ji=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Wi(t))!Vi.call(e,n)&&n!==r&&Lr(e,n,{get:()=>t[n],enumerable:!(s=qi(t,n))||s.enumerable});return e};var Xi=(e,t,r)=>(r=e!=null?Gi(Hi(e)):{},Ji(t||!e||!e.__esModule?Lr(r,"default",{value:e,enumerable:!0}):r,e));var Se=D((Uf,is)=>{var ns=e=>typeof e<"u"&&e!==null,vo=e=>typeof e=="object",yo=e=>Object.prototype.toString.call(e)==="[object Object]",wo=e=>typeof e=="function",Eo=e=>typeof e=="boolean",xo=e=>e instanceof Buffer,Po=e=>{if(ns(e))switch(e.constructor){case Uint8Array:case Uint8ClampedArray:case Int8Array:case Uint16Array:case Int16Array:case Uint32Array:case Int32Array:case Float32Array:case Float64Array:return!0}return!1},Ro=e=>e instanceof ArrayBuffer,So=e=>typeof e=="string"&&e.length>0,$o=e=>typeof e=="number"&&!Number.isNaN(e),ko=e=>Number.isInteger(e),Ao=(e,t,r)=>e>=t&&e<=r,_o=(e,t)=>t.includes(e),No=(e,t,r)=>new Error(`Expected ${t} for ${e} but received ${r} of type ${typeof r}`),Io=(e,t)=>(t.message=e.message,t);is.exports={defined:ns,object:vo,plainObject:yo,fn:wo,bool:Eo,buffer:xo,typedArray:Po,arrayBuffer:Ro,string:So,number:$o,integer:ko,inRange:Ao,inArray:_o,invalidParameterError:No,nativeError:Io}});var ls=D((Gf,as)=>{"use strict";var os=()=>process.platform==="linux",_t=null,Do=()=>{if(!_t)if(os()&&process.report){let e=process.report.excludeNetwork;process.report.excludeNetwork=!0,_t=process.report.getReport(),process.report.excludeNetwork=e}else _t={};return _t};as.exports={isLinux:os,getReport:Do}});var us=D((qf,cs)=>{"use strict";var nt=V("fs"),To="/usr/bin/ldd",Co="/proc/self/exe",Nt=2048,Fo=e=>{let t=nt.openSync(e,"r"),r=Buffer.alloc(Nt),s=nt.readSync(t,r,0,Nt,0);return nt.close(t,()=>{}),r.subarray(0,s)},Oo=e=>new Promise((t,r)=>{nt.open(e,"r",(s,n)=>{if(s)r(s);else{let i=Buffer.alloc(Nt);nt.read(n,i,0,Nt,0,(o,a)=>{t(i.subarray(0,a)),nt.close(n,()=>{})})}})});cs.exports={LDD_PATH:To,SELF_PATH:Co,readFileSync:Fo,readFile:Oo}});var hs=D((Wf,fs)=>{"use strict";var jo=e=>{if(e.length<64||e.readUInt32BE(0)!==2135247942||e.readUInt8(4)!==2||e.readUInt8(5)!==1)return null;let t=e.readUInt32LE(32),r=e.readUInt16LE(54),s=e.readUInt16LE(56);for(let n=0;n<s;n++){let i=t+n*r;if(e.readUInt32LE(i)===3){let a=e.readUInt32LE(i+8),c=e.readUInt32LE(i+32);return e.subarray(a,a+c).toString().replace(/\0.*$/g,"")}}return null};fs.exports={interpreterPath:jo}});var Dt=D((Hf,Ns)=>{"use strict";var gs=V("child_process"),{isLinux:it,getReport:ps}=ls(),{LDD_PATH:It,SELF_PATH:ms,readFile:or,readFileSync:ar}=us(),{interpreterPath:bs}=hs(),$e,ke,Ae,vs="getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",Ue="",ys=()=>Ue||new Promise(e=>{gs.exec(vs,(t,r)=>{Ue=t?" ":r,e(Ue)})}),ws=()=>{if(!Ue)try{Ue=gs.execSync(vs,{encoding:"utf8"})}catch{Ue=" "}return Ue},Fe="glibc",Es=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,Ke="musl",Lo=e=>e.includes("libc.musl-")||e.includes("ld-musl-"),xs=()=>{let e=ps();return e.header&&e.header.glibcVersionRuntime?Fe:Array.isArray(e.sharedObjects)&&e.sharedObjects.some(Lo)?Ke:null},Ps=e=>{let[t,r]=e.split(/[\r\n]+/);return t&&t.includes(Fe)?Fe:r&&r.includes(Ke)?Ke:null},Rs=e=>{if(e){if(e.includes("/ld-musl-"))return Ke;if(e.includes("/ld-linux-"))return Fe}return null},Ss=e=>(e=e.toString(),e.includes("musl")?Ke:e.includes("GNU C Library")?Fe:null),Mo=async()=>{if(ke!==void 0)return ke;ke=null;try{let e=await or(It);ke=Ss(e)}catch{}return ke},zo=()=>{if(ke!==void 0)return ke;ke=null;try{let e=ar(It);ke=Ss(e)}catch{}return ke},Bo=async()=>{if($e!==void 0)return $e;$e=null;try{let e=await or(ms),t=bs(e);$e=Rs(t)}catch{}return $e},Uo=()=>{if($e!==void 0)return $e;$e=null;try{let e=ar(ms),t=bs(e);$e=Rs(t)}catch{}return $e},$s=async()=>{let e=null;if(it()&&(e=await Bo(),!e&&(e=await Mo(),e||(e=xs()),!e))){let t=await ys();e=Ps(t)}return e},ks=()=>{let e=null;if(it()&&(e=Uo(),!e&&(e=zo(),e||(e=xs()),!e))){let t=ws();e=Ps(t)}return e},Go=async()=>it()&&await $s()!==Fe,qo=()=>it()&&ks()!==Fe,Wo=async()=>{if(Ae!==void 0)return Ae;Ae=null;try{let t=(await or(It)).match(Es);t&&(Ae=t[1])}catch{}return Ae},Ho=()=>{if(Ae!==void 0)return Ae;Ae=null;try{let t=ar(It).match(Es);t&&(Ae=t[1])}catch{}return Ae},As=()=>{let e=ps();return e.header&&e.header.glibcVersionRuntime?e.header.glibcVersionRuntime:null},ds=e=>e.trim().split(/\s+/)[1],_s=e=>{let[t,r,s]=e.split(/[\r\n]+/);return t&&t.includes(Fe)?ds(t):r&&s&&r.includes(Ke)?ds(s):null},Vo=async()=>{let e=null;if(it()&&(e=await Wo(),e||(e=As()),!e)){let t=await ys();e=_s(t)}return e},Jo=()=>{let e=null;if(it()&&(e=Ho(),e||(e=As()),!e)){let t=ws();e=_s(t)}return e};Ns.exports={GLIBC:Fe,MUSL:Ke,family:$s,familySync:ks,isNonGlibcLinux:Go,isNonGlibcLinuxSync:qo,version:Vo,versionSync:Jo}});var bt=D((Vf,Is)=>{"use strict";var Xo=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>{}:()=>{};Is.exports=Xo});var Tt=D((Jf,Ds)=>{"use strict";var Yo="2.0.0",Ko=Number.MAX_SAFE_INTEGER||9007199254740991,Qo=16,Zo=250,ea=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Ds.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Qo,MAX_SAFE_BUILD_LENGTH:Zo,MAX_SAFE_INTEGER:Ko,RELEASE_TYPES:ea,SEMVER_SPEC_VERSION:Yo,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var vt=D((_e,Ts)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:lr,MAX_SAFE_BUILD_LENGTH:ta,MAX_LENGTH:ra}=Tt(),sa=bt();_e=Ts.exports={};var na=_e.re=[],ia=_e.safeRe=[],v=_e.src=[],oa=_e.safeSrc=[],y=_e.t={},aa=0,cr="[a-zA-Z0-9-]",la=[["\\s",1],["\\d",ra],[cr,ta]],ca=e=>{for(let[t,r]of la)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},$=(e,t,r)=>{let s=ca(t),n=aa++;sa(e,n,t),y[e]=n,v[n]=t,oa[n]=s,na[n]=new RegExp(t,r?"g":void 0),ia[n]=new RegExp(s,r?"g":void 0)};$("NUMERICIDENTIFIER","0|[1-9]\\d*");$("NUMERICIDENTIFIERLOOSE","\\d+");$("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${cr}*`);$("MAINVERSION",`(${v[y.NUMERICIDENTIFIER]})\\.(${v[y.NUMERICIDENTIFIER]})\\.(${v[y.NUMERICIDENTIFIER]})`);$("MAINVERSIONLOOSE",`(${v[y.NUMERICIDENTIFIERLOOSE]})\\.(${v[y.NUMERICIDENTIFIERLOOSE]})\\.(${v[y.NUMERICIDENTIFIERLOOSE]})`);$("PRERELEASEIDENTIFIER",`(?:${v[y.NONNUMERICIDENTIFIER]}|${v[y.NUMERICIDENTIFIER]})`);$("PRERELEASEIDENTIFIERLOOSE",`(?:${v[y.NONNUMERICIDENTIFIER]}|${v[y.NUMERICIDENTIFIERLOOSE]})`);$("PRERELEASE",`(?:-(${v[y.PRERELEASEIDENTIFIER]}(?:\\.${v[y.PRERELEASEIDENTIFIER]})*))`);$("PRERELEASELOOSE",`(?:-?(${v[y.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${v[y.PRERELEASEIDENTIFIERLOOSE]})*))`);$("BUILDIDENTIFIER",`${cr}+`);$("BUILD",`(?:\\+(${v[y.BUILDIDENTIFIER]}(?:\\.${v[y.BUILDIDENTIFIER]})*))`);$("FULLPLAIN",`v?${v[y.MAINVERSION]}${v[y.PRERELEASE]}?${v[y.BUILD]}?`);$("FULL",`^${v[y.FULLPLAIN]}$`);$("LOOSEPLAIN",`[v=\\s]*${v[y.MAINVERSIONLOOSE]}${v[y.PRERELEASELOOSE]}?${v[y.BUILD]}?`);$("LOOSE",`^${v[y.LOOSEPLAIN]}$`);$("GTLT","((?:<|>)?=?)");$("XRANGEIDENTIFIERLOOSE",`${v[y.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);$("XRANGEIDENTIFIER",`${v[y.NUMERICIDENTIFIER]}|x|X|\\*`);$("XRANGEPLAIN",`[v=\\s]*(${v[y.XRANGEIDENTIFIER]})(?:\\.(${v[y.XRANGEIDENTIFIER]})(?:\\.(${v[y.XRANGEIDENTIFIER]})(?:${v[y.PRERELEASE]})?${v[y.BUILD]}?)?)?`);$("XRANGEPLAINLOOSE",`[v=\\s]*(${v[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${v[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${v[y.XRANGEIDENTIFIERLOOSE]})(?:${v[y.PRERELEASELOOSE]})?${v[y.BUILD]}?)?)?`);$("XRANGE",`^${v[y.GTLT]}\\s*${v[y.XRANGEPLAIN]}$`);$("XRANGELOOSE",`^${v[y.GTLT]}\\s*${v[y.XRANGEPLAINLOOSE]}$`);$("COERCEPLAIN",`(^|[^\\d])(\\d{1,${lr}})(?:\\.(\\d{1,${lr}}))?(?:\\.(\\d{1,${lr}}))?`);$("COERCE",`${v[y.COERCEPLAIN]}(?:$|[^\\d])`);$("COERCEFULL",v[y.COERCEPLAIN]+`(?:${v[y.PRERELEASE]})?(?:${v[y.BUILD]})?(?:$|[^\\d])`);$("COERCERTL",v[y.COERCE],!0);$("COERCERTLFULL",v[y.COERCEFULL],!0);$("LONETILDE","(?:~>?)");$("TILDETRIM",`(\\s*)${v[y.LONETILDE]}\\s+`,!0);_e.tildeTrimReplace="$1~";$("TILDE",`^${v[y.LONETILDE]}${v[y.XRANGEPLAIN]}$`);$("TILDELOOSE",`^${v[y.LONETILDE]}${v[y.XRANGEPLAINLOOSE]}$`);$("LONECARET","(?:\\^)");$("CARETTRIM",`(\\s*)${v[y.LONECARET]}\\s+`,!0);_e.caretTrimReplace="$1^";$("CARET",`^${v[y.LONECARET]}${v[y.XRANGEPLAIN]}$`);$("CARETLOOSE",`^${v[y.LONECARET]}${v[y.XRANGEPLAINLOOSE]}$`);$("COMPARATORLOOSE",`^${v[y.GTLT]}\\s*(${v[y.LOOSEPLAIN]})$|^$`);$("COMPARATOR",`^${v[y.GTLT]}\\s*(${v[y.FULLPLAIN]})$|^$`);$("COMPARATORTRIM",`(\\s*)${v[y.GTLT]}\\s*(${v[y.LOOSEPLAIN]}|${v[y.XRANGEPLAIN]})`,!0);_e.comparatorTrimReplace="$1$2$3";$("HYPHENRANGE",`^\\s*(${v[y.XRANGEPLAIN]})\\s+-\\s+(${v[y.XRANGEPLAIN]})\\s*$`);$("HYPHENRANGELOOSE",`^\\s*(${v[y.XRANGEPLAINLOOSE]})\\s+-\\s+(${v[y.XRANGEPLAINLOOSE]})\\s*$`);$("STAR","(<|>)?=?\\s*\\*");$("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");$("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Ct=D((Xf,Cs)=>{"use strict";var ua=Object.freeze({loose:!0}),fa=Object.freeze({}),ha=e=>e?typeof e!="object"?ua:e:fa;Cs.exports=ha});var Ls=D((Yf,js)=>{"use strict";var Fs=/^[0-9]+$/,Os=(e,t)=>{if(typeof e=="number"&&typeof t=="number")return e===t?0:e<t?-1:1;let r=Fs.test(e),s=Fs.test(t);return r&&s&&(e=+e,t=+t),e===t?0:r&&!s?-1:s&&!r?1:e<t?-1:1},da=(e,t)=>Os(t,e);js.exports={compareIdentifiers:Os,rcompareIdentifiers:da}});var ot=D((Kf,zs)=>{"use strict";var Ft=bt(),{MAX_LENGTH:Ms,MAX_SAFE_INTEGER:Ot}=Tt(),{safeRe:jt,t:Lt}=vt(),ga=Ct(),{compareIdentifiers:ur}=Ls(),fr=class e{constructor(t,r){if(r=ga(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Ms)throw new TypeError(`version is longer than ${Ms} characters`);Ft("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let s=t.trim().match(r.loose?jt[Lt.LOOSE]:jt[Lt.FULL]);if(!s)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>Ot||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ot||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ot||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let i=+n;if(i>=0&&i<Ot)return i}return n}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(Ft("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if(typeof t=="string"&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let s=this.prerelease[r],n=t.prerelease[r];if(Ft("prerelease compare",r,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return ur(s,n)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let s=this.build[r],n=t.build[r];if(Ft("build compare",r,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return ur(s,n)}while(++r)}inc(t,r,s){if(t.startsWith("pre")){if(!r&&s===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let n=`-${r}`.match(this.options.loose?jt[Lt.PRERELEASELOOSE]:jt[Lt.PRERELEASE]);if(!n||n[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,s);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,s);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,s),this.inc("pre",r,s);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,s),this.inc("pre",r,s);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let n=Number(s)?1:0;if(this.prerelease.length===0)this.prerelease=[n];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(n)}}if(r){let i=[r,n];s===!1&&(i=[r]),ur(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};zs.exports=fr});var Gs=D((Qf,Us)=>{"use strict";var Bs=ot(),pa=(e,t,r=!1)=>{if(e instanceof Bs)return e;try{return new Bs(e,t)}catch(s){if(!r)return null;throw s}};Us.exports=pa});var Ws=D((Zf,qs)=>{"use strict";var ma=ot(),ba=Gs(),{safeRe:Mt,t:zt}=vt(),va=(e,t)=>{if(e instanceof ma)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?Mt[zt.COERCEFULL]:Mt[zt.COERCE]);else{let c=t.includePrerelease?Mt[zt.COERCERTLFULL]:Mt[zt.COERCERTL],u;for(;(u=c.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||u.index+u[0].length!==r.index+r[0].length)&&(r=u),c.lastIndex=u.index+u[1].length+u[2].length;c.lastIndex=-1}if(r===null)return null;let s=r[2],n=r[3]||"0",i=r[4]||"0",o=t.includePrerelease&&r[5]?`-${r[5]}`:"",a=t.includePrerelease&&r[6]?`+${r[6]}`:"";return ba(`${s}.${n}.${i}${o}${a}`,t)};qs.exports=va});var Qe=D((eh,Vs)=>{"use strict";var Hs=ot(),ya=(e,t,r)=>new Hs(e,r).compare(new Hs(t,r));Vs.exports=ya});var hr=D((th,Js)=>{"use strict";var wa=Qe(),Ea=(e,t,r)=>wa(e,t,r)>=0;Js.exports=Ea});var Ys=D((rh,Xs)=>{"use strict";var dr=class{constructor(){this.max=1e3,this.map=new Map}get(t){let r=this.map.get(t);if(r!==void 0)return this.map.delete(t),this.map.set(t,r),r}delete(t){return this.map.delete(t)}set(t,r){if(!this.delete(t)&&r!==void 0){if(this.map.size>=this.max){let n=this.map.keys().next().value;this.delete(n)}this.map.set(t,r)}return this}};Xs.exports=dr});var Qs=D((sh,Ks)=>{"use strict";var xa=Qe(),Pa=(e,t,r)=>xa(e,t,r)===0;Ks.exports=Pa});var en=D((nh,Zs)=>{"use strict";var Ra=Qe(),Sa=(e,t,r)=>Ra(e,t,r)!==0;Zs.exports=Sa});var rn=D((ih,tn)=>{"use strict";var $a=Qe(),ka=(e,t,r)=>$a(e,t,r)>0;tn.exports=ka});var nn=D((oh,sn)=>{"use strict";var Aa=Qe(),_a=(e,t,r)=>Aa(e,t,r)<0;sn.exports=_a});var an=D((ah,on)=>{"use strict";var Na=Qe(),Ia=(e,t,r)=>Na(e,t,r)<=0;on.exports=Ia});var cn=D((lh,ln)=>{"use strict";var Da=Qs(),Ta=en(),Ca=rn(),Fa=hr(),Oa=nn(),ja=an(),La=(e,t,r,s)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return Da(e,r,s);case"!=":return Ta(e,r,s);case">":return Ca(e,r,s);case">=":return Fa(e,r,s);case"<":return Oa(e,r,s);case"<=":return ja(e,r,s);default:throw new TypeError(`Invalid operator: ${t}`)}};ln.exports=La});var mn=D((ch,pn)=>{"use strict";var yt=Symbol("SemVer ANY"),mr=class e{static get ANY(){return yt}constructor(t,r){if(r=un(r),t instanceof e){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),pr("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===yt?this.value="":this.value=this.operator+this.semver.version,pr("comp",this)}parse(t){let r=this.options.loose?fn[hn.COMPARATORLOOSE]:fn[hn.COMPARATOR],s=t.match(r);if(!s)throw new TypeError(`Invalid comparator: ${t}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new dn(s[2],this.options.loose):this.semver=yt}toString(){return this.value}test(t){if(pr("Comparator.test",t,this.options.loose),this.semver===yt||t===yt)return!0;if(typeof t=="string")try{t=new dn(t,this.options)}catch{return!1}return gr(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new gn(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new gn(this.value,r).test(t.semver):(r=un(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||gr(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||gr(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};pn.exports=mr;var un=Ct(),{safeRe:fn,t:hn}=vt(),gr=cn(),pr=bt(),dn=ot(),gn=br()});var br=D((uh,wn)=>{"use strict";var Ma=/\s+/g,vr=class e{constructor(t,r){if(r=Ba(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof yr)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(Ma," "),this.set=this.raw.split("||").map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let s=this.set[0];if(this.set=this.set.filter(n=>!vn(n[0])),this.set.length===0)this.set=[s];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Ja(n[0])){this.set=[n];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let r=this.set[t];for(let s=0;s<r.length;s++)s>0&&(this.formatted+=" "),this.formatted+=r[s].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){let s=((this.options.includePrerelease&&Ha)|(this.options.loose&&Va))+":"+t,n=bn.get(s);if(n)return n;let i=this.options.loose,o=i?ae[ne.HYPHENRANGELOOSE]:ae[ne.HYPHENRANGE];t=t.replace(o,nl(this.options.includePrerelease)),q("hyphen replace",t),t=t.replace(ae[ne.COMPARATORTRIM],Ga),q("comparator trim",t),t=t.replace(ae[ne.TILDETRIM],qa),q("tilde trim",t),t=t.replace(ae[ne.CARETTRIM],Wa),q("caret trim",t);let a=t.split(" ").map(g=>Xa(g,this.options)).join(" ").split(/\s+/).map(g=>sl(g,this.options));i&&(a=a.filter(g=>(q("loose invalid filter",g,this.options),!!g.match(ae[ne.COMPARATORLOOSE])))),q("range list",a);let c=new Map,u=a.map(g=>new yr(g,this.options));for(let g of u){if(vn(g))return[g];c.set(g.value,g)}c.size>1&&c.has("")&&c.delete("");let f=[...c.values()];return bn.set(s,f),f}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some(s=>yn(s,r)&&t.set.some(n=>yn(n,r)&&s.every(i=>n.every(o=>i.intersects(o,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new Ua(t,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(il(this.set[r],t,this.options))return!0;return!1}};wn.exports=vr;var za=Ys(),bn=new za,Ba=Ct(),yr=mn(),q=bt(),Ua=ot(),{safeRe:ae,t:ne,comparatorTrimReplace:Ga,tildeTrimReplace:qa,caretTrimReplace:Wa}=vt(),{FLAG_INCLUDE_PRERELEASE:Ha,FLAG_LOOSE:Va}=Tt(),vn=e=>e.value==="<0.0.0-0",Ja=e=>e.value==="",yn=(e,t)=>{let r=!0,s=e.slice(),n=s.pop();for(;r&&s.length;)r=s.every(i=>n.intersects(i,t)),n=s.pop();return r},Xa=(e,t)=>(e=e.replace(ae[ne.BUILD],""),q("comp",e,t),e=Qa(e,t),q("caret",e),e=Ya(e,t),q("tildes",e),e=el(e,t),q("xrange",e),e=rl(e,t),q("stars",e),e),le=e=>!e||e.toLowerCase()==="x"||e==="*",Ya=(e,t)=>e.trim().split(/\s+/).map(r=>Ka(r,t)).join(" "),Ka=(e,t)=>{let r=t.loose?ae[ne.TILDELOOSE]:ae[ne.TILDE];return e.replace(r,(s,n,i,o,a)=>{q("tilde",e,s,n,i,o,a);let c;return le(n)?c="":le(i)?c=`>=${n}.0.0 <${+n+1}.0.0-0`:le(o)?c=`>=${n}.${i}.0 <${n}.${+i+1}.0-0`:a?(q("replaceTilde pr",a),c=`>=${n}.${i}.${o}-${a} <${n}.${+i+1}.0-0`):c=`>=${n}.${i}.${o} <${n}.${+i+1}.0-0`,q("tilde return",c),c})},Qa=(e,t)=>e.trim().split(/\s+/).map(r=>Za(r,t)).join(" "),Za=(e,t)=>{q("caret",e,t);let r=t.loose?ae[ne.CARETLOOSE]:ae[ne.CARET],s=t.includePrerelease?"-0":"";return e.replace(r,(n,i,o,a,c)=>{q("caret",e,n,i,o,a,c);let u;return le(i)?u="":le(o)?u=`>=${i}.0.0${s} <${+i+1}.0.0-0`:le(a)?i==="0"?u=`>=${i}.${o}.0${s} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.0${s} <${+i+1}.0.0-0`:c?(q("replaceCaret pr",c),i==="0"?o==="0"?u=`>=${i}.${o}.${a}-${c} <${i}.${o}.${+a+1}-0`:u=`>=${i}.${o}.${a}-${c} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.${a}-${c} <${+i+1}.0.0-0`):(q("no pr"),i==="0"?o==="0"?u=`>=${i}.${o}.${a}${s} <${i}.${o}.${+a+1}-0`:u=`>=${i}.${o}.${a}${s} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.${a} <${+i+1}.0.0-0`),q("caret return",u),u})},el=(e,t)=>(q("replaceXRanges",e,t),e.split(/\s+/).map(r=>tl(r,t)).join(" ")),tl=(e,t)=>{e=e.trim();let r=t.loose?ae[ne.XRANGELOOSE]:ae[ne.XRANGE];return e.replace(r,(s,n,i,o,a,c)=>{q("xRange",e,s,n,i,o,a,c);let u=le(i),f=u||le(o),g=f||le(a),p=g;return n==="="&&p&&(n=""),c=t.includePrerelease?"-0":"",u?n===">"||n==="<"?s="<0.0.0-0":s="*":n&&p?(f&&(o=0),a=0,n===">"?(n=">=",f?(i=+i+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",f?i=+i+1:o=+o+1),n==="<"&&(c="-0"),s=`${n+i}.${o}.${a}${c}`):f?s=`>=${i}.0.0${c} <${+i+1}.0.0-0`:g&&(s=`>=${i}.${o}.0${c} <${i}.${+o+1}.0-0`),q("xRange return",s),s})},rl=(e,t)=>(q("replaceStars",e,t),e.trim().replace(ae[ne.STAR],"")),sl=(e,t)=>(q("replaceGTE0",e,t),e.trim().replace(ae[t.includePrerelease?ne.GTE0PRE:ne.GTE0],"")),nl=e=>(t,r,s,n,i,o,a,c,u,f,g,p)=>(le(s)?r="":le(n)?r=`>=${s}.0.0${e?"-0":""}`:le(i)?r=`>=${s}.${n}.0${e?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,le(u)?c="":le(f)?c=`<${+u+1}.0.0-0`:le(g)?c=`<${u}.${+f+1}.0-0`:p?c=`<=${u}.${f}.${g}-${p}`:e?c=`<${u}.${f}.${+g+1}-0`:c=`<=${c}`,`${r} ${c}`.trim()),il=(e,t,r)=>{for(let s=0;s<e.length;s++)if(!e[s].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let s=0;s<e.length;s++)if(q(e[s].semver),e[s].semver!==yr.ANY&&e[s].semver.prerelease.length>0){let n=e[s].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}});var xn=D((fh,En)=>{"use strict";var ol=br(),al=(e,t,r)=>{try{t=new ol(t,r)}catch{return!1}return t.test(e)};En.exports=al});var wr=D((hh,ll)=>{ll.exports={name:"sharp",description:"High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images",version:"0.34.5",author:"Lovell Fuller <npm@lovell.info>",homepage:"https://sharp.pixelplumbing.com",contributors:["Pierre Inglebert <pierre.inglebert@gmail.com>","Jonathan Ong <jonathanrichardong@gmail.com>","Chanon Sajjamanochai <chanon.s@gmail.com>","Juliano Julio <julianojulio@gmail.com>","Daniel Gasienica <daniel@gasienica.ch>","Julian Walker <julian@fiftythree.com>","Amit Pitaru <pitaru.amit@gmail.com>","Brandon Aaron <hello.brandon@aaron.sh>","Andreas Lind <andreas@one.com>","Maurus Cuelenaere <mcuelenaere@gmail.com>","Linus Unneb\xE4ck <linus@folkdatorn.se>","Victor Mateevitsi <mvictoras@gmail.com>","Alaric Holloway <alaric.holloway@gmail.com>","Bernhard K. Weisshuhn <bkw@codingforce.com>","Chris Riley <criley@primedia.com>","David Carley <dacarley@gmail.com>","John Tobin <john@limelightmobileinc.com>","Kenton Gray <kentongray@gmail.com>","Felix B\xFCnemann <Felix.Buenemann@gmail.com>","Samy Al Zahrani <samyalzahrany@gmail.com>","Chintan Thakkar <lemnisk8@gmail.com>","F. Orlando Galashan <frulo@gmx.de>","Kleis Auke Wolthuizen <info@kleisauke.nl>","Matt Hirsch <mhirsch@media.mit.edu>","Matthias Thoemmes <thoemmes@gmail.com>","Patrick Paskaris <patrick@paskaris.gr>","J\xE9r\xE9my Lal <kapouer@melix.org>","Rahul Nanwani <r.nanwani@gmail.com>","Alice Monday <alice0meta@gmail.com>","Kristo Jorgenson <kristo.jorgenson@gmail.com>","YvesBos <yves_bos@outlook.com>","Guy Maliar <guy@tailorbrands.com>","Nicolas Coden <nicolas@ncoden.fr>","Matt Parrish <matt.r.parrish@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Matthew McEachen <matthew+github@mceachen.org>","Jarda Kot\u011B\u0161ovec <jarda.kotesovec@gmail.com>","Kenric D'Souza <kenric.dsouza@gmail.com>","Oleh Aleinyk <oleg.aleynik@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Andrea Bianco <andrea.bianco@unibas.ch>","Rik Heywood <rik@rik.org>","Thomas Parisot <hi@oncletom.io>","Nathan Graves <nathanrgraves+github@gmail.com>","Tom Lokhorst <tom@lokhorst.eu>","Espen Hovlandsdal <espen@hovlandsdal.com>","Sylvain Dumont <sylvain.dumont35@gmail.com>","Alun Davies <alun.owain.davies@googlemail.com>","Aidan Hoolachan <ajhoolachan21@gmail.com>","Axel Eirola <axel.eirola@iki.fi>","Freezy <freezy@xbmc.org>","Daiz <taneli.vatanen@gmail.com>","Julian Aubourg <j@ubourg.net>","Keith Belovay <keith@picthrive.com>","Michael B. Klein <mbklein@gmail.com>","Jordan Prudhomme <jordan@raboland.fr>","Ilya Ovdin <iovdin@gmail.com>","Andargor <andargor@yahoo.com>","Paul Neave <paul.neave@gmail.com>","Brendan Kennedy <brenwken@gmail.com>","Brychan Bennett-Odlum <git@brychan.io>","Edward Silverton <e.silverton@gmail.com>","Roman Malieiev <aromaleev@gmail.com>","Tomas Szabo <tomas.szabo@deftomat.com>","Robert O'Rourke <robert@o-rourke.org>","Guillermo Alfonso Varela Chouci\xF1o <guillevch@gmail.com>","Christian Flintrup <chr@gigahost.dk>","Manan Jadhav <manan@motionden.com>","Leon Radley <leon@radley.se>","alza54 <alza54@thiocod.in>","Jacob Smith <jacob@frende.me>","Michael Nutt <michael@nutt.im>","Brad Parham <baparham@gmail.com>","Taneli Vatanen <taneli.vatanen@gmail.com>","Joris Dugu\xE9 <zaruike10@gmail.com>","Chris Banks <christopher.bradley.banks@gmail.com>","Ompal Singh <ompal.hitm09@gmail.com>","Brodan <christopher.hranj@gmail.com>","Ankur Parihar <ankur.github@gmail.com>","Brahim Ait elhaj <brahima@gmail.com>","Mart Jansink <m.jansink@gmail.com>","Lachlan Newman <lachnewman007@gmail.com>","Dennis Beatty <dennis@dcbeatty.com>","Ingvar Stepanyan <me@rreverser.com>","Don Denton <don@happycollision.com>"],scripts:{build:"node install/build.js",install:"node install/check.js || npm run build",clean:"rm -rf src/build/ .nyc_output/ coverage/ test/fixtures/output.*",test:"npm run lint && npm run test-unit",lint:"npm run lint-cpp && npm run lint-js && npm run lint-types","lint-cpp":"cpplint --quiet src/*.h src/*.cc","lint-js":"biome lint","lint-types":"tsd --files ./test/types/sharp.test-d.ts","test-leak":"./test/leak/leak.sh","test-unit":"node --experimental-test-coverage test/unit.mjs","package-from-local-build":"node npm/from-local-build.js","package-release-notes":"node npm/release-notes.js","docs-build":"node docs/build.mjs","docs-serve":"cd docs && npm start","docs-publish":"cd docs && npm run build && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp"},type:"commonjs",main:"lib/index.js",types:"lib/index.d.ts",files:["install","lib","src/*.{cc,h,gyp}"],repository:{type:"git",url:"git://github.com/lovell/sharp.git"},keywords:["jpeg","png","webp","avif","tiff","gif","svg","jp2","dzi","image","resize","thumbnail","crop","embed","libvips","vips"],dependencies:{"@img/colour":"^1.0.0","detect-libc":"^2.1.2",semver:"^7.7.3"},optionalDependencies:{"@img/sharp-darwin-arm64":"0.34.5","@img/sharp-darwin-x64":"0.34.5","@img/sharp-libvips-darwin-arm64":"1.2.4","@img/sharp-libvips-darwin-x64":"1.2.4","@img/sharp-libvips-linux-arm":"1.2.4","@img/sharp-libvips-linux-arm64":"1.2.4","@img/sharp-libvips-linux-ppc64":"1.2.4","@img/sharp-libvips-linux-riscv64":"1.2.4","@img/sharp-libvips-linux-s390x":"1.2.4","@img/sharp-libvips-linux-x64":"1.2.4","@img/sharp-libvips-linuxmusl-arm64":"1.2.4","@img/sharp-libvips-linuxmusl-x64":"1.2.4","@img/sharp-linux-arm":"0.34.5","@img/sharp-linux-arm64":"0.34.5","@img/sharp-linux-ppc64":"0.34.5","@img/sharp-linux-riscv64":"0.34.5","@img/sharp-linux-s390x":"0.34.5","@img/sharp-linux-x64":"0.34.5","@img/sharp-linuxmusl-arm64":"0.34.5","@img/sharp-linuxmusl-x64":"0.34.5","@img/sharp-wasm32":"0.34.5","@img/sharp-win32-arm64":"0.34.5","@img/sharp-win32-ia32":"0.34.5","@img/sharp-win32-x64":"0.34.5"},devDependencies:{"@biomejs/biome":"^2.3.4","@cpplint/cli":"^0.1.0","@emnapi/runtime":"^1.7.0","@img/sharp-libvips-dev":"1.2.4","@img/sharp-libvips-dev-wasm32":"1.2.4","@img/sharp-libvips-win32-arm64":"1.2.4","@img/sharp-libvips-win32-ia32":"1.2.4","@img/sharp-libvips-win32-x64":"1.2.4","@types/node":"*",emnapi:"^1.7.0","exif-reader":"^2.0.2","extract-zip":"^2.0.1",icc:"^3.0.0","jsdoc-to-markdown":"^9.1.3","node-addon-api":"^8.5.0","node-gyp":"^11.5.0","tar-fs":"^3.1.1",tsd:"^0.33.0"},license:"Apache-2.0",engines:{node:"^18.17.0 || ^20.3.0 || >=21.0.0"},config:{libvips:">=8.17.3"},funding:{url:"https://opencollective.com/libvips"}}});var xr=D((dh,Dn)=>{var{spawnSync:Bt}=V("node:child_process"),{createHash:cl}=V("node:crypto"),$n=Ws(),ul=hr(),fl=xn(),Pn=Dt(),{config:hl,engines:Rn,optionalDependencies:dl}=wr(),gl=process.env.npm_package_config_libvips||hl.libvips,kn=$n(gl).version,pl=["darwin-arm64","darwin-x64","linux-arm","linux-arm64","linux-ppc64","linux-riscv64","linux-s390x","linux-x64","linuxmusl-arm64","linuxmusl-x64","win32-arm64","win32-ia32","win32-x64"],Ut={encoding:"utf8",shell:!0},ml=e=>{e instanceof Error},An=()=>Pn.isNonGlibcLinuxSync()?Pn.familySync():"",bl=()=>`${process.platform}${An()}-${process.arch}`,at=()=>{if(_n())return"wasm32";let{npm_config_arch:e,npm_config_platform:t,npm_config_libc:r}=process.env,s=typeof r=="string"?r:An();return`${t||process.platform}${s}-${e||process.arch}`},vl=()=>{try{return V(`@img/sharp-libvips-dev-${at()}/include`)}catch{try{return V("@img/sharp-libvips-dev/include")}catch{}}return""},yl=()=>{try{return V("@img/sharp-libvips-dev/cplusplus")}catch{}return""},wl=()=>{try{return V(`@img/sharp-libvips-dev-${at()}/lib`)}catch{try{return V(`@img/sharp-libvips-${at()}/lib`)}catch{}}return""},El=()=>{if(process.release?.name==="node"&&process.versions&&!fl(process.versions.node,Rn.node))return{found:process.versions.node,expected:Rn.node}},_n=()=>{let{CC:e}=process.env;return!!e?.endsWith("/emcc")},xl=()=>process.platform==="darwin"&&process.arch==="x64"?(Bt("sysctl sysctl.proc_translated",Ut).stdout||"").trim()==="sysctl.proc_translated: 1":!1,Sn=e=>cl("sha512").update(e).digest("hex"),Pl=()=>{try{let e=Sn(`imgsharp-libvips-${at()}`),t=$n(dl[`@img/sharp-libvips-${at()}`],{includePrerelease:!0}).version;return Sn(`${e}npm:${t}`).slice(0,10)}catch{}return""},Rl=()=>Bt(`node-gyp rebuild --directory=src ${_n()?"--nodedir=emscripten":""}`,{...Ut,stdio:"inherit"}).status,Nn=()=>process.platform!=="win32"?(Bt("pkg-config --modversion vips-cpp",{...Ut,env:{...process.env,PKG_CONFIG_PATH:In()}}).stdout||"").trim():"",In=()=>process.platform!=="win32"?[(Bt('which brew >/dev/null 2>&1 && brew environment --plain | grep PKG_CONFIG_LIBDIR | cut -d" " -f2',Ut).stdout||"").trim(),process.env.PKG_CONFIG_PATH,"/usr/local/lib/pkgconfig","/usr/lib/pkgconfig","/usr/local/libdata/pkgconfig","/usr/libdata/pkgconfig"].filter(Boolean).join(":"):"",Er=(e,t,r)=>(r&&r(`Detected ${t}, skipping search for globally-installed libvips`),e),Sl=e=>{if(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS)return Er(!1,"SHARP_IGNORE_GLOBAL_LIBVIPS",e);if(process.env.SHARP_FORCE_GLOBAL_LIBVIPS)return Er(!0,"SHARP_FORCE_GLOBAL_LIBVIPS",e);if(xl())return Er(!1,"Rosetta",e);let t=Nn();return!!t&&ul(t,kn)};Dn.exports={minimumLibvipsVersion:kn,prebuiltPlatforms:pl,buildPlatformArch:at,buildSharpLibvipsIncludeDir:vl,buildSharpLibvipsCPlusPlusDir:yl,buildSharpLibvipsLibDir:wl,isUnsupportedNodeRuntime:El,runtimePlatformArch:bl,log:ml,yarnLocator:Pl,spawnRebuild:Rl,globalLibvipsVersion:Nn,pkgConfigPath:In,useGlobalLibvips:Sl}});var Et=D((ph,Cn)=>{var{familySync:$l,versionSync:kl}=Dt(),{runtimePlatformArch:Al,isUnsupportedNodeRuntime:Tn,prebuiltPlatforms:_l,minimumLibvipsVersion:Nl}=xr(),Ze=Al(),Il=[`../src/build/Release/sharp-${Ze}.node`,"../src/build/Release/sharp-wasm32.node",`@img/sharp-${Ze}/sharp.node`,"@img/sharp-wasm32/sharp.node"],Pr,lt,wt=[];for(Pr of Il)try{lt=V(Pr);break}catch(e){wt.push(e)}if(lt&&Pr.startsWith("@img/sharp-linux-x64")&&!lt._isUsingX64V2()){let e=new Error("Prebuilt binaries for linux-x64 require v2 microarchitecture");e.code="Unsupported CPU",wt.push(e),lt=null}if(lt)Cn.exports=lt;else{let[e,t,r]=["linux","darwin","win32"].map(i=>Ze.startsWith(i)),s=[`Could not load the "sharp" module using the ${Ze} runtime`];wt.forEach(i=>{i.code!=="MODULE_NOT_FOUND"&&s.push(`${i.code}: ${i.message}`)});let n=wt.map(i=>i.message).join(" ");if(s.push("Possible solutions:"),Tn()){let{found:i,expected:o}=Tn();s.push("- Please upgrade Node.js:",` Found ${i}`,` Requires ${o}`)}else if(_l.includes(Ze)){let[i,o]=Ze.split("-"),a=i.endsWith("musl")?" --libc=musl":"";s.push("- Ensure optional dependencies can be installed:"," npm install --include=optional sharp","- Ensure your package manager supports multi-platform installation:"," See https://sharp.pixelplumbing.com/install#cross-platform","- Add platform-specific dependencies:",` npm install --os=${i.replace("musl","")}${a} --cpu=${o} sharp`)}else s.push(`- Manually install libvips >= ${Nl}`,"- Add experimental WebAssembly-based dependencies:"," npm install --cpu=wasm32 sharp"," npm install @img/sharp-wasm32");if(e&&/(symbol not found|CXXABI_)/i.test(n))try{let{config:i}=V(`@img/sharp-libvips-${Ze}/package`),o=`${$l()} ${kl()}`,a=`${i.musl?"musl":"glibc"} ${i.musl||i.glibc}`;s.push("- Update your OS:",` Found ${o}`,` Requires ${a}`)}catch{}throw e&&/\/snap\/core[0-9]{2}/.test(n)&&s.push("- Remove the Node.js Snap, which does not support native modules"," snap remove node"),t&&/Incompatible library version/.test(n)&&s.push("- Update Homebrew:"," brew update && brew upgrade vips"),wt.some(i=>i.code==="ERR_DLOPEN_DISABLED")&&s.push("- Run Node.js without using the --no-addons flag"),r&&/The specified procedure could not be found/.test(n)&&s.push("- Using the canvas package on Windows?"," See https://sharp.pixelplumbing.com/install#canvas-and-windows","- Check for outdated versions of sharp in the dependency tree:"," npm ls sharp"),s.push("- Consult the installation documentation:"," See https://sharp.pixelplumbing.com/install"),new Error(s.join(`
|
|
2
|
-
`))}});var On=D((bh,Fn)=>{var Dl=V("node:util"),Rr=V("node:stream"),Tl=Se();Et();var Cl=Dl.debuglog("sharp"),Fl=e=>{et.queue.emit("change",e)},et=function(e,t){if(arguments.length===1&&!Tl.defined(e))throw new Error("Invalid input");return this instanceof et?(Rr.Duplex.call(this),this.options={topOffsetPre:-1,leftOffsetPre:-1,widthPre:-1,heightPre:-1,topOffsetPost:-1,leftOffsetPost:-1,widthPost:-1,heightPost:-1,width:-1,height:-1,canvas:"crop",position:0,resizeBackground:[0,0,0,255],angle:0,rotationAngle:0,rotationBackground:[0,0,0,255],rotateBefore:!1,orientBefore:!1,flip:!1,flop:!1,extendTop:0,extendBottom:0,extendLeft:0,extendRight:0,extendBackground:[0,0,0,255],extendWith:"background",withoutEnlargement:!1,withoutReduction:!1,affineMatrix:[],affineBackground:[0,0,0,255],affineIdx:0,affineIdy:0,affineOdx:0,affineOdy:0,affineInterpolator:this.constructor.interpolators.bilinear,kernel:"lanczos3",fastShrinkOnLoad:!0,tint:[-1,0,0,0],flatten:!1,flattenBackground:[0,0,0],unflatten:!1,negate:!1,negateAlpha:!0,medianSize:0,blurSigma:0,precision:"integer",minAmpl:.2,sharpenSigma:0,sharpenM1:1,sharpenM2:2,sharpenX1:2,sharpenY2:10,sharpenY3:20,threshold:0,thresholdGrayscale:!0,trimBackground:[],trimThreshold:-1,trimLineArt:!1,dilateWidth:0,erodeWidth:0,gamma:0,gammaOut:0,greyscale:!1,normalise:!1,normaliseLower:1,normaliseUpper:99,claheWidth:0,claheHeight:0,claheMaxSlope:3,brightness:1,saturation:1,hue:0,lightness:0,booleanBufferIn:null,booleanFileIn:"",joinChannelIn:[],extractChannel:-1,removeAlpha:!1,ensureAlpha:-1,colourspace:"srgb",colourspacePipeline:"last",composite:[],fileOut:"",formatOut:"input",streamOut:!1,keepMetadata:0,withMetadataOrientation:-1,withMetadataDensity:0,withIccProfile:"",withExif:{},withExifMerge:!0,withXmp:"",resolveWithObject:!1,loop:-1,delay:[],jpegQuality:80,jpegProgressive:!1,jpegChromaSubsampling:"4:2:0",jpegTrellisQuantisation:!1,jpegOvershootDeringing:!1,jpegOptimiseScans:!1,jpegOptimiseCoding:!0,jpegQuantisationTable:0,pngProgressive:!1,pngCompressionLevel:6,pngAdaptiveFiltering:!1,pngPalette:!1,pngQuality:100,pngEffort:7,pngBitdepth:8,pngDither:1,jp2Quality:80,jp2TileHeight:512,jp2TileWidth:512,jp2Lossless:!1,jp2ChromaSubsampling:"4:4:4",webpQuality:80,webpAlphaQuality:100,webpLossless:!1,webpNearLossless:!1,webpSmartSubsample:!1,webpSmartDeblock:!1,webpPreset:"default",webpEffort:4,webpMinSize:!1,webpMixed:!1,gifBitdepth:8,gifEffort:7,gifDither:1,gifInterFrameMaxError:0,gifInterPaletteMaxError:3,gifKeepDuplicateFrames:!1,gifReuse:!0,gifProgressive:!1,tiffQuality:80,tiffCompression:"jpeg",tiffBigtiff:!1,tiffPredictor:"horizontal",tiffPyramid:!1,tiffMiniswhite:!1,tiffBitdepth:8,tiffTile:!1,tiffTileHeight:256,tiffTileWidth:256,tiffXres:1,tiffYres:1,tiffResolutionUnit:"inch",heifQuality:50,heifLossless:!1,heifCompression:"av1",heifEffort:4,heifChromaSubsampling:"4:4:4",heifBitdepth:8,jxlDistance:1,jxlDecodingTier:0,jxlEffort:7,jxlLossless:!1,rawDepth:"uchar",tileSize:256,tileOverlap:0,tileContainer:"fs",tileLayout:"dz",tileFormat:"last",tileDepth:"last",tileAngle:0,tileSkipBlanks:-1,tileBackground:[255,255,255,255],tileCentre:!1,tileId:"https://example.com/iiif",tileBasename:"",timeoutSeconds:0,linearA:[],linearB:[],pdfBackground:[255,255,255,255],debuglog:r=>{this.emit("warning",r),Cl(r)},queueListener:Fl},this.options.input=this._createInputDescriptor(e,t,{allowStream:!0}),this):new et(e,t)};Object.setPrototypeOf(et.prototype,Rr.Duplex.prototype);Object.setPrototypeOf(et,Rr.Duplex);function Ol(){let e=this.constructor.call(),{debuglog:t,queueListener:r,...s}=this.options;return e.options=structuredClone(s),e.options.debuglog=t,e.options.queueListener=r,this._isStreamInput()&&this.on("finish",()=>{this._flattenBufferIn(),e.options.input.buffer=this.options.input.buffer,e.emit("finish")}),e}Object.assign(et.prototype,{clone:Ol});Fn.exports=et});var Mn=D((vh,Ln)=>{var h=Se(),Ge=Et(),jl={left:"low",top:"low",low:"low",center:"centre",centre:"centre",right:"high",bottom:"high",high:"high"},Ll=["failOn","limitInputPixels","unlimited","animated","autoOrient","density","ignoreIcc","page","pages","sequentialRead","jp2","openSlide","pdf","raw","svg","tiff","failOnError","openSlideLevel","pdfBackground","tiffSubifd"];function jn(e){let t=Ll.filter(r=>h.defined(e[r])).map(r=>[r,e[r]]);return t.length?Object.fromEntries(t):void 0}function Ml(e,t,r){let s={autoOrient:!1,failOn:"warning",limitInputPixels:268402689,ignoreIcc:!1,unlimited:!1,sequentialRead:!0};if(h.string(e))s.file=e;else if(h.buffer(e)){if(e.length===0)throw Error("Input Buffer is empty");s.buffer=e}else if(h.arrayBuffer(e)){if(e.byteLength===0)throw Error("Input bit Array is empty");s.buffer=Buffer.from(e,0,e.byteLength)}else if(h.typedArray(e)){if(e.length===0)throw Error("Input Bit Array is empty");s.buffer=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(h.plainObject(e)&&!h.defined(t))t=e,jn(t)&&(s.buffer=[]);else if(!h.defined(e)&&!h.defined(t)&&h.object(r)&&r.allowStream)s.buffer=[];else if(Array.isArray(e))if(e.length>1)if(!this.options.joining)this.options.joining=!0,this.options.join=e.map(n=>this._createInputDescriptor(n));else throw new Error("Recursive join is unsupported");else throw new Error("Expected at least two images to join");else throw new Error(`Unsupported input '${e}' of type ${typeof e}${h.defined(t)?` when also providing options of type ${typeof t}`:""}`);if(h.object(t)){if(h.defined(t.failOnError))if(h.bool(t.failOnError))s.failOn=t.failOnError?"warning":"none";else throw h.invalidParameterError("failOnError","boolean",t.failOnError);if(h.defined(t.failOn))if(h.string(t.failOn)&&h.inArray(t.failOn,["none","truncated","error","warning"]))s.failOn=t.failOn;else throw h.invalidParameterError("failOn","one of: none, truncated, error, warning",t.failOn);if(h.defined(t.autoOrient))if(h.bool(t.autoOrient))s.autoOrient=t.autoOrient;else throw h.invalidParameterError("autoOrient","boolean",t.autoOrient);if(h.defined(t.density))if(h.inRange(t.density,1,1e5))s.density=t.density;else throw h.invalidParameterError("density","number between 1 and 100000",t.density);if(h.defined(t.ignoreIcc))if(h.bool(t.ignoreIcc))s.ignoreIcc=t.ignoreIcc;else throw h.invalidParameterError("ignoreIcc","boolean",t.ignoreIcc);if(h.defined(t.limitInputPixels))if(h.bool(t.limitInputPixels))s.limitInputPixels=t.limitInputPixels?16383**2:0;else if(h.integer(t.limitInputPixels)&&h.inRange(t.limitInputPixels,0,Number.MAX_SAFE_INTEGER))s.limitInputPixels=t.limitInputPixels;else throw h.invalidParameterError("limitInputPixels","positive integer",t.limitInputPixels);if(h.defined(t.unlimited))if(h.bool(t.unlimited))s.unlimited=t.unlimited;else throw h.invalidParameterError("unlimited","boolean",t.unlimited);if(h.defined(t.sequentialRead))if(h.bool(t.sequentialRead))s.sequentialRead=t.sequentialRead;else throw h.invalidParameterError("sequentialRead","boolean",t.sequentialRead);if(h.defined(t.raw)){if(h.object(t.raw)&&h.integer(t.raw.width)&&t.raw.width>0&&h.integer(t.raw.height)&&t.raw.height>0&&h.integer(t.raw.channels)&&h.inRange(t.raw.channels,1,4))switch(s.rawWidth=t.raw.width,s.rawHeight=t.raw.height,s.rawChannels=t.raw.channels,e.constructor){case Uint8Array:case Uint8ClampedArray:s.rawDepth="uchar";break;case Int8Array:s.rawDepth="char";break;case Uint16Array:s.rawDepth="ushort";break;case Int16Array:s.rawDepth="short";break;case Uint32Array:s.rawDepth="uint";break;case Int32Array:s.rawDepth="int";break;case Float32Array:s.rawDepth="float";break;case Float64Array:s.rawDepth="double";break;default:s.rawDepth="uchar";break}else throw new Error("Expected width, height and channels for raw pixel input");if(s.rawPremultiplied=!1,h.defined(t.raw.premultiplied))if(h.bool(t.raw.premultiplied))s.rawPremultiplied=t.raw.premultiplied;else throw h.invalidParameterError("raw.premultiplied","boolean",t.raw.premultiplied);if(s.rawPageHeight=0,h.defined(t.raw.pageHeight))if(h.integer(t.raw.pageHeight)&&t.raw.pageHeight>0&&t.raw.pageHeight<=t.raw.height){if(t.raw.height%t.raw.pageHeight!==0)throw new Error(`Expected raw.height ${t.raw.height} to be a multiple of raw.pageHeight ${t.raw.pageHeight}`);s.rawPageHeight=t.raw.pageHeight}else throw h.invalidParameterError("raw.pageHeight","positive integer",t.raw.pageHeight)}if(h.defined(t.animated))if(h.bool(t.animated))s.pages=t.animated?-1:1;else throw h.invalidParameterError("animated","boolean",t.animated);if(h.defined(t.pages))if(h.integer(t.pages)&&h.inRange(t.pages,-1,1e5))s.pages=t.pages;else throw h.invalidParameterError("pages","integer between -1 and 100000",t.pages);if(h.defined(t.page))if(h.integer(t.page)&&h.inRange(t.page,0,1e5))s.page=t.page;else throw h.invalidParameterError("page","integer between 0 and 100000",t.page);if(h.object(t.openSlide)&&h.defined(t.openSlide.level))if(h.integer(t.openSlide.level)&&h.inRange(t.openSlide.level,0,256))s.openSlideLevel=t.openSlide.level;else throw h.invalidParameterError("openSlide.level","integer between 0 and 256",t.openSlide.level);else if(h.defined(t.level))if(h.integer(t.level)&&h.inRange(t.level,0,256))s.openSlideLevel=t.level;else throw h.invalidParameterError("level","integer between 0 and 256",t.level);if(h.object(t.tiff)&&h.defined(t.tiff.subifd))if(h.integer(t.tiff.subifd)&&h.inRange(t.tiff.subifd,-1,1e5))s.tiffSubifd=t.tiff.subifd;else throw h.invalidParameterError("tiff.subifd","integer between -1 and 100000",t.tiff.subifd);else if(h.defined(t.subifd))if(h.integer(t.subifd)&&h.inRange(t.subifd,-1,1e5))s.tiffSubifd=t.subifd;else throw h.invalidParameterError("subifd","integer between -1 and 100000",t.subifd);if(h.object(t.svg)){if(h.defined(t.svg.stylesheet))if(h.string(t.svg.stylesheet))s.svgStylesheet=t.svg.stylesheet;else throw h.invalidParameterError("svg.stylesheet","string",t.svg.stylesheet);if(h.defined(t.svg.highBitdepth))if(h.bool(t.svg.highBitdepth))s.svgHighBitdepth=t.svg.highBitdepth;else throw h.invalidParameterError("svg.highBitdepth","boolean",t.svg.highBitdepth)}if(h.object(t.pdf)&&h.defined(t.pdf.background)?s.pdfBackground=this._getBackgroundColourOption(t.pdf.background):h.defined(t.pdfBackground)&&(s.pdfBackground=this._getBackgroundColourOption(t.pdfBackground)),h.object(t.jp2)&&h.defined(t.jp2.oneshot))if(h.bool(t.jp2.oneshot))s.jp2Oneshot=t.jp2.oneshot;else throw h.invalidParameterError("jp2.oneshot","boolean",t.jp2.oneshot);if(h.defined(t.create))if(h.object(t.create)&&h.integer(t.create.width)&&t.create.width>0&&h.integer(t.create.height)&&t.create.height>0&&h.integer(t.create.channels)){if(s.createWidth=t.create.width,s.createHeight=t.create.height,s.createChannels=t.create.channels,s.createPageHeight=0,h.defined(t.create.pageHeight))if(h.integer(t.create.pageHeight)&&t.create.pageHeight>0&&t.create.pageHeight<=t.create.height){if(t.create.height%t.create.pageHeight!==0)throw new Error(`Expected create.height ${t.create.height} to be a multiple of create.pageHeight ${t.create.pageHeight}`);s.createPageHeight=t.create.pageHeight}else throw h.invalidParameterError("create.pageHeight","positive integer",t.create.pageHeight);if(h.defined(t.create.noise)){if(!h.object(t.create.noise))throw new Error("Expected noise to be an object");if(t.create.noise.type!=="gaussian")throw new Error("Only gaussian noise is supported at the moment");if(s.createNoiseType=t.create.noise.type,!h.inRange(t.create.channels,1,4))throw h.invalidParameterError("create.channels","number between 1 and 4",t.create.channels);if(s.createNoiseMean=128,h.defined(t.create.noise.mean))if(h.number(t.create.noise.mean)&&h.inRange(t.create.noise.mean,0,1e4))s.createNoiseMean=t.create.noise.mean;else throw h.invalidParameterError("create.noise.mean","number between 0 and 10000",t.create.noise.mean);if(s.createNoiseSigma=30,h.defined(t.create.noise.sigma))if(h.number(t.create.noise.sigma)&&h.inRange(t.create.noise.sigma,0,1e4))s.createNoiseSigma=t.create.noise.sigma;else throw h.invalidParameterError("create.noise.sigma","number between 0 and 10000",t.create.noise.sigma)}else if(h.defined(t.create.background)){if(!h.inRange(t.create.channels,3,4))throw h.invalidParameterError("create.channels","number between 3 and 4",t.create.channels);s.createBackground=this._getBackgroundColourOption(t.create.background)}else throw new Error("Expected valid noise or background to create a new input image");delete s.buffer}else throw new Error("Expected valid width, height and channels to create a new input image");if(h.defined(t.text))if(h.object(t.text)&&h.string(t.text.text)){if(s.textValue=t.text.text,h.defined(t.text.height)&&h.defined(t.text.dpi))throw new Error("Expected only one of dpi or height");if(h.defined(t.text.font))if(h.string(t.text.font))s.textFont=t.text.font;else throw h.invalidParameterError("text.font","string",t.text.font);if(h.defined(t.text.fontfile))if(h.string(t.text.fontfile))s.textFontfile=t.text.fontfile;else throw h.invalidParameterError("text.fontfile","string",t.text.fontfile);if(h.defined(t.text.width))if(h.integer(t.text.width)&&t.text.width>0)s.textWidth=t.text.width;else throw h.invalidParameterError("text.width","positive integer",t.text.width);if(h.defined(t.text.height))if(h.integer(t.text.height)&&t.text.height>0)s.textHeight=t.text.height;else throw h.invalidParameterError("text.height","positive integer",t.text.height);if(h.defined(t.text.align))if(h.string(t.text.align)&&h.string(this.constructor.align[t.text.align]))s.textAlign=this.constructor.align[t.text.align];else throw h.invalidParameterError("text.align","valid alignment",t.text.align);if(h.defined(t.text.justify))if(h.bool(t.text.justify))s.textJustify=t.text.justify;else throw h.invalidParameterError("text.justify","boolean",t.text.justify);if(h.defined(t.text.dpi))if(h.integer(t.text.dpi)&&h.inRange(t.text.dpi,1,1e6))s.textDpi=t.text.dpi;else throw h.invalidParameterError("text.dpi","integer between 1 and 1000000",t.text.dpi);if(h.defined(t.text.rgba))if(h.bool(t.text.rgba))s.textRgba=t.text.rgba;else throw h.invalidParameterError("text.rgba","bool",t.text.rgba);if(h.defined(t.text.spacing))if(h.integer(t.text.spacing)&&h.inRange(t.text.spacing,-1e6,1e6))s.textSpacing=t.text.spacing;else throw h.invalidParameterError("text.spacing","integer between -1000000 and 1000000",t.text.spacing);if(h.defined(t.text.wrap))if(h.string(t.text.wrap)&&h.inArray(t.text.wrap,["word","char","word-char","none"]))s.textWrap=t.text.wrap;else throw h.invalidParameterError("text.wrap","one of: word, char, word-char, none",t.text.wrap);delete s.buffer}else throw new Error("Expected a valid string to create an image with text.");if(h.defined(t.join))if(h.defined(this.options.join)){if(h.defined(t.join.animated))if(h.bool(t.join.animated))s.joinAnimated=t.join.animated;else throw h.invalidParameterError("join.animated","boolean",t.join.animated);if(h.defined(t.join.across))if(h.integer(t.join.across)&&h.inRange(t.join.across,1,1e6))s.joinAcross=t.join.across;else throw h.invalidParameterError("join.across","integer between 1 and 100000",t.join.across);if(h.defined(t.join.shim))if(h.integer(t.join.shim)&&h.inRange(t.join.shim,0,1e6))s.joinShim=t.join.shim;else throw h.invalidParameterError("join.shim","integer between 0 and 100000",t.join.shim);if(h.defined(t.join.background)&&(s.joinBackground=this._getBackgroundColourOption(t.join.background)),h.defined(t.join.halign))if(h.string(t.join.halign)&&h.string(this.constructor.align[t.join.halign]))s.joinHalign=this.constructor.align[t.join.halign];else throw h.invalidParameterError("join.halign","valid alignment",t.join.halign);if(h.defined(t.join.valign))if(h.string(t.join.valign)&&h.string(this.constructor.align[t.join.valign]))s.joinValign=this.constructor.align[t.join.valign];else throw h.invalidParameterError("join.valign","valid alignment",t.join.valign)}else throw new Error("Expected input to be an array of images to join")}else if(h.defined(t))throw new Error(`Invalid input options ${t}`);return s}function zl(e,t,r){Array.isArray(this.options.input.buffer)?h.buffer(e)?(this.options.input.buffer.length===0&&this.on("finish",()=>{this.streamInFinished=!0}),this.options.input.buffer.push(e),r()):r(new Error("Non-Buffer data on Writable Stream")):r(new Error("Unexpected data on Writable Stream"))}function Bl(){this._isStreamInput()&&(this.options.input.buffer=Buffer.concat(this.options.input.buffer))}function Ul(){return Array.isArray(this.options.input.buffer)}function Gl(e){let t=Error();return h.fn(e)?(this._isStreamInput()?this.on("finish",()=>{this._flattenBufferIn(),Ge.metadata(this.options,(r,s)=>{r?e(h.nativeError(r,t)):e(null,s)})}):Ge.metadata(this.options,(r,s)=>{r?e(h.nativeError(r,t)):e(null,s)}),this):this._isStreamInput()?new Promise((r,s)=>{let n=()=>{this._flattenBufferIn(),Ge.metadata(this.options,(i,o)=>{i?s(h.nativeError(i,t)):r(o)})};this.writableFinished?n():this.once("finish",n)}):new Promise((r,s)=>{Ge.metadata(this.options,(n,i)=>{n?s(h.nativeError(n,t)):r(i)})})}function ql(e){let t=Error();return h.fn(e)?(this._isStreamInput()?this.on("finish",()=>{this._flattenBufferIn(),Ge.stats(this.options,(r,s)=>{r?e(h.nativeError(r,t)):e(null,s)})}):Ge.stats(this.options,(r,s)=>{r?e(h.nativeError(r,t)):e(null,s)}),this):this._isStreamInput()?new Promise((r,s)=>{this.on("finish",function(){this._flattenBufferIn(),Ge.stats(this.options,(n,i)=>{n?s(h.nativeError(n,t)):r(i)})})}):new Promise((r,s)=>{Ge.stats(this.options,(n,i)=>{n?s(h.nativeError(n,t)):r(i)})})}Ln.exports=e=>{Object.assign(e.prototype,{_inputOptionsFromObject:jn,_createInputDescriptor:Ml,_write:zl,_flattenBufferIn:Bl,_isStreamInput:Ul,metadata:Gl,stats:ql}),e.align=jl}});var Wn=D((yh,qn)=>{var E=Se(),Bn={center:0,centre:0,north:1,east:2,south:3,west:4,northeast:5,southeast:6,southwest:7,northwest:8},Un={top:1,right:2,bottom:3,left:4,"right top":5,"right bottom":6,"left bottom":7,"left top":8},zn={background:"background",copy:"copy",repeat:"repeat",mirror:"mirror"},Gn={entropy:16,attention:17},Sr={nearest:"nearest",linear:"linear",cubic:"cubic",mitchell:"mitchell",lanczos2:"lanczos2",lanczos3:"lanczos3",mks2013:"mks2013",mks2021:"mks2021"},Wl={contain:"contain",cover:"cover",fill:"fill",inside:"inside",outside:"outside"},Hl={contain:"embed",cover:"crop",fill:"ignore_aspect",inside:"max",outside:"min"};function $r(e){return e.angle%360!==0||e.rotationAngle!==0}function Gt(e){return e.width!==-1||e.height!==-1}function Vl(e,t,r){if(Gt(this.options)&&this.options.debuglog("ignoring previous resize options"),this.options.widthPost!==-1&&this.options.debuglog("operation order will be: extract, resize, extract"),E.defined(e))if(E.object(e)&&!E.defined(r))r=e;else if(E.integer(e)&&e>0)this.options.width=e;else throw E.invalidParameterError("width","positive integer",e);else this.options.width=-1;if(E.defined(t))if(E.integer(t)&&t>0)this.options.height=t;else throw E.invalidParameterError("height","positive integer",t);else this.options.height=-1;if(E.object(r)){if(E.defined(r.width))if(E.integer(r.width)&&r.width>0)this.options.width=r.width;else throw E.invalidParameterError("width","positive integer",r.width);if(E.defined(r.height))if(E.integer(r.height)&&r.height>0)this.options.height=r.height;else throw E.invalidParameterError("height","positive integer",r.height);if(E.defined(r.fit)){let s=Hl[r.fit];if(E.string(s))this.options.canvas=s;else throw E.invalidParameterError("fit","valid fit",r.fit)}if(E.defined(r.position)){let s=E.integer(r.position)?r.position:Gn[r.position]||Un[r.position]||Bn[r.position];if(E.integer(s)&&(E.inRange(s,0,8)||E.inRange(s,16,17)))this.options.position=s;else throw E.invalidParameterError("position","valid position/gravity/strategy",r.position)}if(this._setBackgroundColourOption("resizeBackground",r.background),E.defined(r.kernel))if(E.string(Sr[r.kernel]))this.options.kernel=Sr[r.kernel];else throw E.invalidParameterError("kernel","valid kernel name",r.kernel);E.defined(r.withoutEnlargement)&&this._setBooleanOption("withoutEnlargement",r.withoutEnlargement),E.defined(r.withoutReduction)&&this._setBooleanOption("withoutReduction",r.withoutReduction),E.defined(r.fastShrinkOnLoad)&&this._setBooleanOption("fastShrinkOnLoad",r.fastShrinkOnLoad)}return $r(this.options)&&Gt(this.options)&&(this.options.rotateBefore=!0),this}function Jl(e){if(E.integer(e)&&e>0)this.options.extendTop=e,this.options.extendBottom=e,this.options.extendLeft=e,this.options.extendRight=e;else if(E.object(e)){if(E.defined(e.top))if(E.integer(e.top)&&e.top>=0)this.options.extendTop=e.top;else throw E.invalidParameterError("top","positive integer",e.top);if(E.defined(e.bottom))if(E.integer(e.bottom)&&e.bottom>=0)this.options.extendBottom=e.bottom;else throw E.invalidParameterError("bottom","positive integer",e.bottom);if(E.defined(e.left))if(E.integer(e.left)&&e.left>=0)this.options.extendLeft=e.left;else throw E.invalidParameterError("left","positive integer",e.left);if(E.defined(e.right))if(E.integer(e.right)&&e.right>=0)this.options.extendRight=e.right;else throw E.invalidParameterError("right","positive integer",e.right);if(this._setBackgroundColourOption("extendBackground",e.background),E.defined(e.extendWith))if(E.string(zn[e.extendWith]))this.options.extendWith=zn[e.extendWith];else throw E.invalidParameterError("extendWith","one of: background, copy, repeat, mirror",e.extendWith)}else throw E.invalidParameterError("extend","integer or object",e);return this}function Xl(e){let t=Gt(this.options)||this.options.widthPre!==-1?"Post":"Pre";return this.options[`width${t}`]!==-1&&this.options.debuglog("ignoring previous extract options"),["left","top","width","height"].forEach(function(r){let s=e[r];if(E.integer(s)&&s>=0)this.options[r+(r==="left"||r==="top"?"Offset":"")+t]=s;else throw E.invalidParameterError(r,"integer",s)},this),$r(this.options)&&!Gt(this.options)&&(this.options.widthPre===-1||this.options.widthPost===-1)&&(this.options.rotateBefore=!0),this.options.input.autoOrient&&(this.options.orientBefore=!0),this}function Yl(e){if(this.options.trimThreshold=10,E.defined(e))if(E.object(e)){if(E.defined(e.background)&&this._setBackgroundColourOption("trimBackground",e.background),E.defined(e.threshold))if(E.number(e.threshold)&&e.threshold>=0)this.options.trimThreshold=e.threshold;else throw E.invalidParameterError("threshold","positive number",e.threshold);E.defined(e.lineArt)&&this._setBooleanOption("trimLineArt",e.lineArt)}else throw E.invalidParameterError("trim","object",e);return $r(this.options)&&(this.options.rotateBefore=!0),this}qn.exports=e=>{Object.assign(e.prototype,{resize:Vl,extend:Jl,extract:Xl,trim:Yl}),e.gravity=Bn,e.strategy=Gn,e.kernel=Sr,e.fit=Wl,e.position=Un}});var Vn=D((wh,Hn)=>{var B=Se(),kr={clear:"clear",source:"source",over:"over",in:"in",out:"out",atop:"atop",dest:"dest","dest-over":"dest-over","dest-in":"dest-in","dest-out":"dest-out","dest-atop":"dest-atop",xor:"xor",add:"add",saturate:"saturate",multiply:"multiply",screen:"screen",overlay:"overlay",darken:"darken",lighten:"lighten","colour-dodge":"colour-dodge","color-dodge":"colour-dodge","colour-burn":"colour-burn","color-burn":"colour-burn","hard-light":"hard-light","soft-light":"soft-light",difference:"difference",exclusion:"exclusion"};function Kl(e){if(!Array.isArray(e))throw B.invalidParameterError("images to composite","array",e);return this.options.composite=e.map(t=>{if(!B.object(t))throw B.invalidParameterError("image to composite","object",t);let r=this._inputOptionsFromObject(t),s={input:this._createInputDescriptor(t.input,r,{allowStream:!1}),blend:"over",tile:!1,left:0,top:0,hasOffset:!1,gravity:0,premultiplied:!1};if(B.defined(t.blend))if(B.string(kr[t.blend]))s.blend=kr[t.blend];else throw B.invalidParameterError("blend","valid blend name",t.blend);if(B.defined(t.tile))if(B.bool(t.tile))s.tile=t.tile;else throw B.invalidParameterError("tile","boolean",t.tile);if(B.defined(t.left))if(B.integer(t.left))s.left=t.left;else throw B.invalidParameterError("left","integer",t.left);if(B.defined(t.top))if(B.integer(t.top))s.top=t.top;else throw B.invalidParameterError("top","integer",t.top);if(B.defined(t.top)!==B.defined(t.left))throw new Error("Expected both left and top to be set");if(s.hasOffset=B.integer(t.top)&&B.integer(t.left),B.defined(t.gravity))if(B.integer(t.gravity)&&B.inRange(t.gravity,0,8))s.gravity=t.gravity;else if(B.string(t.gravity)&&B.integer(this.constructor.gravity[t.gravity]))s.gravity=this.constructor.gravity[t.gravity];else throw B.invalidParameterError("gravity","valid gravity",t.gravity);if(B.defined(t.premultiplied))if(B.bool(t.premultiplied))s.premultiplied=t.premultiplied;else throw B.invalidParameterError("premultiplied","boolean",t.premultiplied);return s}),this}Hn.exports=e=>{e.prototype.composite=Kl,e.blend=kr}});var Qn=D((Eh,Kn)=>{var d=Se(),Jn={integer:"integer",float:"float",approximate:"approximate"};function Ql(e,t){if(!d.defined(e))return this.autoOrient();if((this.options.angle||this.options.rotationAngle)&&(this.options.debuglog("ignoring previous rotate options"),this.options.angle=0,this.options.rotationAngle=0),d.integer(e)&&!(e%90))this.options.angle=e;else if(d.number(e))this.options.rotationAngle=e,d.object(t)&&t.background&&this._setBackgroundColourOption("rotationBackground",t.background);else throw d.invalidParameterError("angle","numeric",e);return this}function Zl(){return this.options.input.autoOrient=!0,this}function ec(e){return this.options.flip=d.bool(e)?e:!0,this}function tc(e){return this.options.flop=d.bool(e)?e:!0,this}function rc(e,t){let r=[].concat(...e);if(r.length===4&&r.every(d.number))this.options.affineMatrix=r;else throw d.invalidParameterError("matrix","1x4 or 2x2 array",e);if(d.defined(t))if(d.object(t)){if(this._setBackgroundColourOption("affineBackground",t.background),d.defined(t.idx))if(d.number(t.idx))this.options.affineIdx=t.idx;else throw d.invalidParameterError("options.idx","number",t.idx);if(d.defined(t.idy))if(d.number(t.idy))this.options.affineIdy=t.idy;else throw d.invalidParameterError("options.idy","number",t.idy);if(d.defined(t.odx))if(d.number(t.odx))this.options.affineOdx=t.odx;else throw d.invalidParameterError("options.odx","number",t.odx);if(d.defined(t.ody))if(d.number(t.ody))this.options.affineOdy=t.ody;else throw d.invalidParameterError("options.ody","number",t.ody);if(d.defined(t.interpolator))if(d.inArray(t.interpolator,Object.values(this.constructor.interpolators)))this.options.affineInterpolator=t.interpolator;else throw d.invalidParameterError("options.interpolator","valid interpolator name",t.interpolator)}else throw d.invalidParameterError("options","object",t);return this}function sc(e,t,r){if(!d.defined(e))this.options.sharpenSigma=-1;else if(d.bool(e))this.options.sharpenSigma=e?-1:0;else if(d.number(e)&&d.inRange(e,.01,1e4)){if(this.options.sharpenSigma=e,d.defined(t))if(d.number(t)&&d.inRange(t,0,1e4))this.options.sharpenM1=t;else throw d.invalidParameterError("flat","number between 0 and 10000",t);if(d.defined(r))if(d.number(r)&&d.inRange(r,0,1e4))this.options.sharpenM2=r;else throw d.invalidParameterError("jagged","number between 0 and 10000",r)}else if(d.plainObject(e)){if(d.number(e.sigma)&&d.inRange(e.sigma,1e-6,10))this.options.sharpenSigma=e.sigma;else throw d.invalidParameterError("options.sigma","number between 0.000001 and 10",e.sigma);if(d.defined(e.m1))if(d.number(e.m1)&&d.inRange(e.m1,0,1e6))this.options.sharpenM1=e.m1;else throw d.invalidParameterError("options.m1","number between 0 and 1000000",e.m1);if(d.defined(e.m2))if(d.number(e.m2)&&d.inRange(e.m2,0,1e6))this.options.sharpenM2=e.m2;else throw d.invalidParameterError("options.m2","number between 0 and 1000000",e.m2);if(d.defined(e.x1))if(d.number(e.x1)&&d.inRange(e.x1,0,1e6))this.options.sharpenX1=e.x1;else throw d.invalidParameterError("options.x1","number between 0 and 1000000",e.x1);if(d.defined(e.y2))if(d.number(e.y2)&&d.inRange(e.y2,0,1e6))this.options.sharpenY2=e.y2;else throw d.invalidParameterError("options.y2","number between 0 and 1000000",e.y2);if(d.defined(e.y3))if(d.number(e.y3)&&d.inRange(e.y3,0,1e6))this.options.sharpenY3=e.y3;else throw d.invalidParameterError("options.y3","number between 0 and 1000000",e.y3)}else throw d.invalidParameterError("sigma","number between 0.01 and 10000",e);return this}function nc(e){if(!d.defined(e))this.options.medianSize=3;else if(d.integer(e)&&d.inRange(e,1,1e3))this.options.medianSize=e;else throw d.invalidParameterError("size","integer between 1 and 1000",e);return this}function ic(e){let t;if(d.number(e))t=e;else if(d.plainObject(e)){if(!d.number(e.sigma))throw d.invalidParameterError("options.sigma","number between 0.3 and 1000",t);if(t=e.sigma,"precision"in e)if(d.string(Jn[e.precision]))this.options.precision=Jn[e.precision];else throw d.invalidParameterError("precision","one of: integer, float, approximate",e.precision);if("minAmplitude"in e)if(d.number(e.minAmplitude)&&d.inRange(e.minAmplitude,.001,1))this.options.minAmpl=e.minAmplitude;else throw d.invalidParameterError("minAmplitude","number between 0.001 and 1",e.minAmplitude)}if(!d.defined(e))this.options.blurSigma=-1;else if(d.bool(e))this.options.blurSigma=e?-1:0;else if(d.number(t)&&d.inRange(t,.3,1e3))this.options.blurSigma=t;else throw d.invalidParameterError("sigma","number between 0.3 and 1000",t);return this}function Xn(e){if(!d.defined(e))this.options.dilateWidth=1;else if(d.integer(e)&&e>0)this.options.dilateWidth=e;else throw d.invalidParameterError("dilate","positive integer",Xn);return this}function Yn(e){if(!d.defined(e))this.options.erodeWidth=1;else if(d.integer(e)&&e>0)this.options.erodeWidth=e;else throw d.invalidParameterError("erode","positive integer",Yn);return this}function oc(e){return this.options.flatten=d.bool(e)?e:!0,d.object(e)&&this._setBackgroundColourOption("flattenBackground",e.background),this}function ac(){return this.options.unflatten=!0,this}function lc(e,t){if(!d.defined(e))this.options.gamma=2.2;else if(d.number(e)&&d.inRange(e,1,3))this.options.gamma=e;else throw d.invalidParameterError("gamma","number between 1.0 and 3.0",e);if(!d.defined(t))this.options.gammaOut=this.options.gamma;else if(d.number(t)&&d.inRange(t,1,3))this.options.gammaOut=t;else throw d.invalidParameterError("gammaOut","number between 1.0 and 3.0",t);return this}function cc(e){if(this.options.negate=d.bool(e)?e:!0,d.plainObject(e)&&"alpha"in e)if(d.bool(e.alpha))this.options.negateAlpha=e.alpha;else throw d.invalidParameterError("alpha","should be boolean value",e.alpha);return this}function uc(e){if(d.plainObject(e)){if(d.defined(e.lower))if(d.number(e.lower)&&d.inRange(e.lower,0,99))this.options.normaliseLower=e.lower;else throw d.invalidParameterError("lower","number between 0 and 99",e.lower);if(d.defined(e.upper))if(d.number(e.upper)&&d.inRange(e.upper,1,100))this.options.normaliseUpper=e.upper;else throw d.invalidParameterError("upper","number between 1 and 100",e.upper)}if(this.options.normaliseLower>=this.options.normaliseUpper)throw d.invalidParameterError("range","lower to be less than upper",`${this.options.normaliseLower} >= ${this.options.normaliseUpper}`);return this.options.normalise=!0,this}function fc(e){return this.normalise(e)}function hc(e){if(d.plainObject(e)){if(d.integer(e.width)&&e.width>0)this.options.claheWidth=e.width;else throw d.invalidParameterError("width","integer greater than zero",e.width);if(d.integer(e.height)&&e.height>0)this.options.claheHeight=e.height;else throw d.invalidParameterError("height","integer greater than zero",e.height);if(d.defined(e.maxSlope))if(d.integer(e.maxSlope)&&d.inRange(e.maxSlope,0,100))this.options.claheMaxSlope=e.maxSlope;else throw d.invalidParameterError("maxSlope","integer between 0 and 100",e.maxSlope)}else throw d.invalidParameterError("options","plain object",e);return this}function dc(e){if(!d.object(e)||!Array.isArray(e.kernel)||!d.integer(e.width)||!d.integer(e.height)||!d.inRange(e.width,3,1001)||!d.inRange(e.height,3,1001)||e.height*e.width!==e.kernel.length)throw new Error("Invalid convolution kernel");return d.integer(e.scale)||(e.scale=e.kernel.reduce((t,r)=>t+r,0)),e.scale<1&&(e.scale=1),d.integer(e.offset)||(e.offset=0),this.options.convKernel=e,this}function gc(e,t){if(!d.defined(e))this.options.threshold=128;else if(d.bool(e))this.options.threshold=e?128:0;else if(d.integer(e)&&d.inRange(e,0,255))this.options.threshold=e;else throw d.invalidParameterError("threshold","integer between 0 and 255",e);return!d.object(t)||t.greyscale===!0||t.grayscale===!0?this.options.thresholdGrayscale=!0:this.options.thresholdGrayscale=!1,this}function pc(e,t,r){if(this.options.boolean=this._createInputDescriptor(e,r),d.string(t)&&d.inArray(t,["and","or","eor"]))this.options.booleanOp=t;else throw d.invalidParameterError("operator","one of: and, or, eor",t);return this}function mc(e,t){if(!d.defined(e)&&d.number(t)?e=1:d.number(e)&&!d.defined(t)&&(t=0),!d.defined(e))this.options.linearA=[];else if(d.number(e))this.options.linearA=[e];else if(Array.isArray(e)&&e.length&&e.every(d.number))this.options.linearA=e;else throw d.invalidParameterError("a","number or array of numbers",e);if(!d.defined(t))this.options.linearB=[];else if(d.number(t))this.options.linearB=[t];else if(Array.isArray(t)&&t.length&&t.every(d.number))this.options.linearB=t;else throw d.invalidParameterError("b","number or array of numbers",t);if(this.options.linearA.length!==this.options.linearB.length)throw new Error("Expected a and b to be arrays of the same length");return this}function bc(e){if(!Array.isArray(e))throw d.invalidParameterError("inputMatrix","array",e);if(e.length!==3&&e.length!==4)throw d.invalidParameterError("inputMatrix","3x3 or 4x4 array",e.length);let t=e.flat().map(Number);if(t.length!==9&&t.length!==16)throw d.invalidParameterError("inputMatrix","cardinality of 9 or 16",t.length);return this.options.recombMatrix=t,this}function vc(e){if(!d.plainObject(e))throw d.invalidParameterError("options","plain object",e);if("brightness"in e)if(d.number(e.brightness)&&e.brightness>=0)this.options.brightness=e.brightness;else throw d.invalidParameterError("brightness","number above zero",e.brightness);if("saturation"in e)if(d.number(e.saturation)&&e.saturation>=0)this.options.saturation=e.saturation;else throw d.invalidParameterError("saturation","number above zero",e.saturation);if("hue"in e)if(d.integer(e.hue))this.options.hue=e.hue%360;else throw d.invalidParameterError("hue","number",e.hue);if("lightness"in e)if(d.number(e.lightness))this.options.lightness=e.lightness;else throw d.invalidParameterError("lightness","number",e.lightness);return this}Kn.exports=e=>{Object.assign(e.prototype,{autoOrient:Zl,rotate:Ql,flip:ec,flop:tc,affine:rc,sharpen:sc,erode:Yn,dilate:Xn,median:nc,blur:ic,flatten:oc,unflatten:ac,gamma:lc,negate:cc,normalise:uc,normalize:fc,clahe:hc,convolve:dc,threshold:gc,boolean:pc,linear:mc,recomb:bc,modulate:vc})}});var ni=D((xh,si)=>{var Ir=Object.defineProperty,yc=Object.getOwnPropertyDescriptor,wc=Object.getOwnPropertyNames,Ec=Object.prototype.hasOwnProperty,xc=(e,t)=>{for(var r in t)Ir(e,r,{get:t[r],enumerable:!0})},Pc=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of wc(t))!Ec.call(e,n)&&n!==r&&Ir(e,n,{get:()=>t[n],enumerable:!(s=yc(t,n))||s.enumerable});return e},Rc=e=>Pc(Ir({},"__esModule",{value:!0}),e),Zn={};xc(Zn,{default:()=>Lc});si.exports=Rc(Zn);var Ne={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ei=Object.create(null);for(let e in Ne)Object.hasOwn(Ne,e)&&(ei[Ne[e]]=e);var ue={to:{},get:{}};ue.get=function(e){let t=e.slice(0,3).toLowerCase(),r,s;switch(t){case"hsl":{r=ue.get.hsl(e),s="hsl";break}case"hwb":{r=ue.get.hwb(e),s="hwb";break}default:{r=ue.get.rgb(e),s="rgb";break}}return r?{model:s,value:r}:null};ue.get.rgb=function(e){if(!e)return null;let t=/^#([a-f\d]{3,4})$/i,r=/^#([a-f\d]{6})([a-f\d]{2})?$/i,s=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/,n=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/,i=/^(\w+)$/,o=[0,0,0,1],a,c,u;if(a=e.match(r)){for(u=a[2],a=a[1],c=0;c<3;c++){let f=c*2;o[c]=Number.parseInt(a.slice(f,f+2),16)}u&&(o[3]=Number.parseInt(u,16)/255)}else if(a=e.match(t)){for(a=a[1],u=a[3],c=0;c<3;c++)o[c]=Number.parseInt(a[c]+a[c],16);u&&(o[3]=Number.parseInt(u+u,16)/255)}else if(a=e.match(s)){for(c=0;c<3;c++)o[c]=Number.parseInt(a[c+1],10);a[4]&&(o[3]=a[5]?Number.parseFloat(a[4])*.01:Number.parseFloat(a[4]))}else if(a=e.match(n)){for(c=0;c<3;c++)o[c]=Math.round(Number.parseFloat(a[c+1])*2.55);a[4]&&(o[3]=a[5]?Number.parseFloat(a[4])*.01:Number.parseFloat(a[4]))}else return(a=e.match(i))?a[1]==="transparent"?[0,0,0,0]:Object.hasOwn(Ne,a[1])?(o=Ne[a[1]],o[3]=1,o):null:null;for(c=0;c<3;c++)o[c]=qe(o[c],0,255);return o[3]=qe(o[3],0,1),o};ue.get.hsl=function(e){if(!e)return null;let t=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,r=e.match(t);if(r){let s=Number.parseFloat(r[4]),n=(Number.parseFloat(r[1])%360+360)%360,i=qe(Number.parseFloat(r[2]),0,100),o=qe(Number.parseFloat(r[3]),0,100),a=qe(Number.isNaN(s)?1:s,0,1);return[n,i,o,a]}return null};ue.get.hwb=function(e){if(!e)return null;let t=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,r=e.match(t);if(r){let s=Number.parseFloat(r[4]),n=(Number.parseFloat(r[1])%360+360)%360,i=qe(Number.parseFloat(r[2]),0,100),o=qe(Number.parseFloat(r[3]),0,100),a=qe(Number.isNaN(s)?1:s,0,1);return[n,i,o,a]}return null};ue.to.hex=function(...e){return"#"+qt(e[0])+qt(e[1])+qt(e[2])+(e[3]<1?qt(Math.round(e[3]*255)):"")};ue.to.rgb=function(...e){return e.length<4||e[3]===1?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"};ue.to.rgb.percent=function(...e){let t=Math.round(e[0]/255*100),r=Math.round(e[1]/255*100),s=Math.round(e[2]/255*100);return e.length<4||e[3]===1?"rgb("+t+"%, "+r+"%, "+s+"%)":"rgba("+t+"%, "+r+"%, "+s+"%, "+e[3]+")"};ue.to.hsl=function(...e){return e.length<4||e[3]===1?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"};ue.to.hwb=function(...e){let t="";return e.length>=4&&e[3]!==1&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"};ue.to.keyword=function(...e){return ei[e.slice(0,3)]};function qe(e,t,r){return Math.min(Math.max(t,e),r)}function qt(e){let t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}var ct=ue,ti={};for(let e of Object.keys(Ne))ti[Ne[e]]=e;var b={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},tt=b,Oe=(6/29)**3;function ft(e){let t=e>.0031308?1.055*e**.4166666666666667-.055:e*12.92;return Math.min(Math.max(0,t),1)}function ht(e){return e>.04045?((e+.055)/1.055)**2.4:e/12.92}for(let e of Object.keys(b)){if(!("channels"in b[e]))throw new Error("missing channels property: "+e);if(!("labels"in b[e]))throw new Error("missing channel labels property: "+e);if(b[e].labels.length!==b[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=b[e];delete b[e].channels,delete b[e].labels,Object.defineProperty(b[e],"channels",{value:t}),Object.defineProperty(b[e],"labels",{value:r})}b.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,n=Math.min(t,r,s),i=Math.max(t,r,s),o=i-n,a,c;switch(i){case n:{a=0;break}case t:{a=(r-s)/o;break}case r:{a=2+(s-t)/o;break}case s:{a=4+(t-r)/o;break}}a=Math.min(a*60,360),a<0&&(a+=360);let u=(n+i)/2;return i===n?c=0:u<=.5?c=o/(i+n):c=o/(2-i-n),[a,c*100,u*100]};b.rgb.hsv=function(e){let t,r,s,n,i,o=e[0]/255,a=e[1]/255,c=e[2]/255,u=Math.max(o,a,c),f=u-Math.min(o,a,c),g=function(p){return(u-p)/6/f+1/2};if(f===0)n=0,i=0;else{switch(i=f/u,t=g(o),r=g(a),s=g(c),u){case o:{n=s-r;break}case a:{n=1/3+t-s;break}case c:{n=2/3+r-t;break}}n<0?n+=1:n>1&&(n-=1)}return[n*360,i*100,u*100]};b.rgb.hwb=function(e){let t=e[0],r=e[1],s=e[2],n=b.rgb.hsl(e)[0],i=1/255*Math.min(t,Math.min(r,s));return s=1-1/255*Math.max(t,Math.max(r,s)),[n,i*100,s*100]};b.rgb.oklab=function(e){let t=ht(e[0]/255),r=ht(e[1]/255),s=ht(e[2]/255),n=Math.cbrt(.4122214708*t+.5363325363*r+.0514459929*s),i=Math.cbrt(.2119034982*t+.6806995451*r+.1073969566*s),o=Math.cbrt(.0883024619*t+.2817188376*r+.6299787005*s),a=.2104542553*n+.793617785*i-.0040720468*o,c=1.9779984951*n-2.428592205*i+.4505937099*o,u=.0259040371*n+.7827717662*i-.808675766*o;return[a*100,c*100,u*100]};b.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,n=Math.min(1-t,1-r,1-s),i=(1-t-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-s-n)/(1-n)||0;return[i*100,o*100,a*100,n*100]};function Sc(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}b.rgb.keyword=function(e){let t=ti[e];if(t)return t;let r=Number.POSITIVE_INFINITY,s;for(let n of Object.keys(Ne)){let i=Ne[n],o=Sc(e,i);o<r&&(r=o,s=n)}return s};b.keyword.rgb=function(e){return Ne[e]};b.rgb.xyz=function(e){let t=ht(e[0]/255),r=ht(e[1]/255),s=ht(e[2]/255),n=t*.4124564+r*.3575761+s*.1804375,i=t*.2126729+r*.7151522+s*.072175,o=t*.0193339+r*.119192+s*.9503041;return[n*100,i*100,o*100]};b.rgb.lab=function(e){let t=b.rgb.xyz(e),r=t[0],s=t[1],n=t[2];r/=95.047,s/=100,n/=108.883,r=r>Oe?r**(1/3):7.787*r+16/116,s=s>Oe?s**(1/3):7.787*s+16/116,n=n>Oe?n**(1/3):7.787*n+16/116;let i=116*s-16,o=500*(r-s),a=200*(s-n);return[i,o,a]};b.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100,n,i;if(r===0)return i=s*255,[i,i,i];let o=s<.5?s*(1+r):s+r-s*r,a=2*s-o,c=[0,0,0];for(let u=0;u<3;u++)n=t+1/3*-(u-1),n<0&&n++,n>1&&n--,6*n<1?i=a+(o-a)*6*n:2*n<1?i=o:3*n<2?i=a+(o-a)*(2/3-n)*6:i=a,c[u]=i*255;return c};b.hsl.hsv=function(e){let t=e[0],r=e[1]/100,s=e[2]/100,n=r,i=Math.max(s,.01);s*=2,r*=s<=1?s:2-s,n*=i<=1?i:2-i;let o=(s+r)/2,a=s===0?2*n/(i+n):2*r/(s+r);return[t,a*100,o*100]};b.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,s=e[2]/100,n=Math.floor(t)%6,i=t-Math.floor(t),o=255*s*(1-r),a=255*s*(1-r*i),c=255*s*(1-r*(1-i));switch(s*=255,n){case 0:return[s,c,o];case 1:return[a,s,o];case 2:return[o,s,c];case 3:return[o,a,s];case 4:return[c,o,s];case 5:return[s,o,a]}};b.hsv.hsl=function(e){let t=e[0],r=e[1]/100,s=e[2]/100,n=Math.max(s,.01),i,o;o=(2-r)*s;let a=(2-r)*n;return i=r*n,i/=a<=1?a:2-a,i=i||0,o/=2,[t,i*100,o*100]};b.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100,n=r+s,i;n>1&&(r/=n,s/=n);let o=Math.floor(6*t),a=1-s;i=6*t-o,(o&1)!==0&&(i=1-i);let c=r+i*(a-r),u,f,g;switch(o){default:case 6:case 0:{u=a,f=c,g=r;break}case 1:{u=c,f=a,g=r;break}case 2:{u=r,f=a,g=c;break}case 3:{u=r,f=c,g=a;break}case 4:{u=c,f=r,g=a;break}case 5:{u=a,f=r,g=c;break}}return[u*255,f*255,g*255]};b.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n=e[3]/100,i=1-Math.min(1,t*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,s*(1-n)+n);return[i*255,o*255,a*255]};b.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n,i,o;return n=t*3.2404542+r*-1.5371385+s*-.4985314,i=t*-.969266+r*1.8760108+s*.041556,o=t*.0556434+r*-.2040259+s*1.0572252,n=ft(n),i=ft(i),o=ft(o),[n*255,i*255,o*255]};b.xyz.lab=function(e){let t=e[0],r=e[1],s=e[2];t/=95.047,r/=100,s/=108.883,t=t>Oe?t**(1/3):7.787*t+16/116,r=r>Oe?r**(1/3):7.787*r+16/116,s=s>Oe?s**(1/3):7.787*s+16/116;let n=116*r-16,i=500*(t-r),o=200*(r-s);return[n,i,o]};b.xyz.oklab=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n=Math.cbrt(.8189330101*t+.3618667424*r-.1288597137*s),i=Math.cbrt(.0329845436*t+.9293118715*r+.0361456387*s),o=Math.cbrt(.0482003018*t+.2643662691*r+.633851707*s),a=.2104542553*n+.793617785*i-.0040720468*o,c=1.9779984951*n-2.428592205*i+.4505937099*o,u=.0259040371*n+.7827717662*i-.808675766*o;return[a*100,c*100,u*100]};b.oklab.oklch=function(e){return b.lab.lch(e)};b.oklab.xyz=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n=(.999999998*t+.396337792*r+.215803758*s)**3,i=(1.000000008*t-.105561342*r-.063854175*s)**3,o=(1.000000055*t-.089484182*r-1.291485538*s)**3,a=1.227013851*n-.55779998*i+.281256149*o,c=-.040580178*n+1.11225687*i-.071676679*o,u=-.076381285*n-.421481978*i+1.58616322*o;return[a*100,c*100,u*100]};b.oklab.rgb=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n=(t+.3963377774*r+.2158037573*s)**3,i=(t-.1055613458*r-.0638541728*s)**3,o=(t-.0894841775*r-1.291485548*s)**3,a=ft(4.0767416621*n-3.3077115913*i+.2309699292*o),c=ft(-1.2684380046*n+2.6097574011*i-.3413193965*o),u=ft(-.0041960863*n-.7034186147*i+1.707614701*o);return[a*255,c*255,u*255]};b.oklch.oklab=function(e){return b.lch.lab(e)};b.lab.xyz=function(e){let t=e[0],r=e[1],s=e[2],n,i,o;i=(t+16)/116,n=r/500+i,o=i-s/200;let a=i**3,c=n**3,u=o**3;return i=a>Oe?a:(i-16/116)/7.787,n=c>Oe?c:(n-16/116)/7.787,o=u>Oe?u:(o-16/116)/7.787,n*=95.047,i*=100,o*=108.883,[n,i,o]};b.lab.lch=function(e){let t=e[0],r=e[1],s=e[2],n;n=Math.atan2(s,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+s*s);return[t,o,n]};b.lch.lab=function(e){let t=e[0],r=e[1],n=e[2]/360*2*Math.PI,i=r*Math.cos(n),o=r*Math.sin(n);return[t,i,o]};b.rgb.ansi16=function(e,t=null){let[r,s,n]=e,i=t===null?b.rgb.hsv(e)[2]:t;if(i=Math.round(i/50),i===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(s/255)<<1|Math.round(r/255));return i===2&&(o+=60),o};b.hsv.ansi16=function(e){return b.rgb.ansi16(b.hsv.rgb(e),e[2])};b.rgb.ansi256=function(e){let t=e[0],r=e[1],s=e[2];return t>>4===r>>4&&r>>4===s>>4?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(s/255*5)};b.ansi16.rgb=function(e){e=e[0];let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(Math.trunc(e>50)+1)*.5,s=(t&1)*r*255,n=(t>>1&1)*r*255,i=(t>>2&1)*r*255;return[s,n,i]};b.ansi256.rgb=function(e){if(e=e[0],e>=232){let i=(e-232)*10+8;return[i,i,i]}e-=16;let t,r=Math.floor(e/36)/5*255,s=Math.floor((t=e%36)/6)/5*255,n=t%6/5*255;return[r,s,n]};b.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".slice(r.length)+r};b.hex.rgb=function(e){let t=e.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=[...r].map(a=>a+a).join(""));let s=Number.parseInt(r,16),n=s>>16&255,i=s>>8&255,o=s&255;return[n,i,o]};b.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,n=Math.max(Math.max(t,r),s),i=Math.min(Math.min(t,r),s),o=n-i,a,c=o<1?i/(1-o):0;return o<=0?a=0:n===t?a=(r-s)/o%6:n===r?a=2+(s-t)/o:a=4+(t-r)/o,a/=6,a%=1,[a*360,o*100,c*100]};b.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,s=r<.5?2*t*r:2*t*(1-r),n=0;return s<1&&(n=(r-.5*s)/(1-s)),[e[0],s*100,n*100]};b.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,s=t*r,n=0;return s<1&&(n=(r-s)/(1-s)),[e[0],s*100,n*100]};b.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100;if(r===0)return[s*255,s*255,s*255];let n=[0,0,0],i=t%1*6,o=i%1,a=1-o,c=0;switch(Math.floor(i)){case 0:{n[0]=1,n[1]=o,n[2]=0;break}case 1:{n[0]=a,n[1]=1,n[2]=0;break}case 2:{n[0]=0,n[1]=1,n[2]=o;break}case 3:{n[0]=0,n[1]=a,n[2]=1;break}case 4:{n[0]=o,n[1]=0,n[2]=1;break}default:n[0]=1,n[1]=0,n[2]=a}return c=(1-r)*s,[(r*n[0]+c)*255,(r*n[1]+c)*255,(r*n[2]+c)*255]};b.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,s=t+r*(1-t),n=0;return s>0&&(n=t/s),[e[0],n*100,s*100]};b.hcg.hsl=function(e){let t=e[1]/100,s=e[2]/100*(1-t)+.5*t,n=0;return s>0&&s<.5?n=t/(2*s):s>=.5&&s<1&&(n=t/(2*(1-s))),[e[0],n*100,s*100]};b.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,s=t+r*(1-t);return[e[0],(s-t)*100,(1-s)*100]};b.hwb.hcg=function(e){let t=e[1]/100,s=1-e[2]/100,n=s-t,i=0;return n<1&&(i=(s-n)/(1-n)),[e[0],n*100,i*100]};b.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};b.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};b.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};b.gray.hsl=function(e){return[0,0,e[0]]};b.gray.hsv=b.gray.hsl;b.gray.hwb=function(e){return[0,100,e[0]]};b.gray.cmyk=function(e){return[0,0,0,e[0]]};b.gray.lab=function(e){return[e[0],0,0]};b.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,s=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".slice(s.length)+s};b.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};function $c(){let e={},t=Object.keys(tt);for(let{length:r}=t,s=0;s<r;s++)e[t[s]]={distance:-1,parent:null};return e}function kc(e){let t=$c(),r=[e];for(t[e].distance=0;r.length>0;){let s=r.pop(),n=Object.keys(tt[s]);for(let{length:i}=n,o=0;o<i;o++){let a=n[o],c=t[a];c.distance===-1&&(c.distance=t[s].distance+1,c.parent=s,r.unshift(a))}}return t}function Ac(e,t){return function(r){return t(e(r))}}function _c(e,t){let r=[t[e].parent,e],s=tt[t[e].parent][e],n=t[e].parent;for(;t[n].parent;)r.unshift(t[n].parent),s=Ac(tt[t[n].parent][n],s),n=t[n].parent;return s.conversion=r,s}function Nc(e){let t=kc(e),r={},s=Object.keys(t);for(let{length:n}=s,i=0;i<n;i++){let o=s[i];t[o].parent!==null&&(r[o]=_c(o,t))}return r}var Ic=Nc,ut={},Dc=Object.keys(tt);function Tc(e){let t=function(...r){let s=r[0];return s==null?s:(s.length>1&&(r=s),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function Cc(e){let t=function(...r){let s=r[0];if(s==null)return s;s.length>1&&(r=s);let n=e(r);if(typeof n=="object")for(let{length:i}=n,o=0;o<i;o++)n[o]=Math.round(n[o]);return n};return"conversion"in e&&(t.conversion=e.conversion),t}for(let e of Dc){ut[e]={},Object.defineProperty(ut[e],"channels",{value:tt[e].channels}),Object.defineProperty(ut[e],"labels",{value:tt[e].labels});let t=Ic(e),r=Object.keys(t);for(let s of r){let n=t[s];ut[e][s]=Cc(n),ut[e][s].raw=Tc(n)}}var de=ut,ri=["keyword","gray","hex"],Ar={};for(let e of Object.keys(de))Ar[[...de[e].labels].sort().join("")]=e;var _r={};function te(e,t){if(!(this instanceof te))return new te(e,t);if(t&&t in ri&&(t=null),t&&!(t in de))throw new Error("Unknown model: "+t);let r,s;if(e==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof te)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if(typeof e=="string"){let n=ct.get(e);if(n===null)throw new Error("Unable to parse color from string: "+e);this.model=n.model,s=de[this.model].channels,this.color=n.value.slice(0,s),this.valpha=typeof n.value[s]=="number"?n.value[s]:1}else if(e.length>0){this.model=t||"rgb",s=de[this.model].channels;let n=Array.prototype.slice.call(e,0,s);this.color=Nr(n,s),this.valpha=typeof e[s]=="number"?e[s]:1}else if(typeof e=="number")this.model="rgb",this.color=[e>>16&255,e>>8&255,e&255],this.valpha=1;else{this.valpha=1;let n=Object.keys(e);"alpha"in e&&(n.splice(n.indexOf("alpha"),1),this.valpha=typeof e.alpha=="number"?e.alpha:0);let i=n.sort().join("");if(!(i in Ar))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=Ar[i];let{labels:o}=de[this.model],a=[];for(r=0;r<o.length;r++)a.push(e[o[r]]);this.color=Nr(a)}if(_r[this.model])for(s=de[this.model].channels,r=0;r<s;r++){let n=_r[this.model][r];n&&(this.color[r]=n(this.color[r]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}te.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in ct.to?this:this.rgb();t=t.round(typeof e=="number"?e:1);let r=t.valpha===1?t.color:[...t.color,this.valpha];return ct.to[t.model](...r)},percentString(e){let t=this.rgb().round(typeof e=="number"?e:1),r=t.valpha===1?t.color:[...t.color,this.valpha];return ct.to.rgb.percent(...r)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let e={},{channels:t}=de[this.model],{labels:r}=de[this.model];for(let s=0;s<t;s++)e[r[s]]=this.color[s];return this.valpha!==1&&(e.alpha=this.valpha),e},unitArray(){let e=this.rgb().color;return e[0]/=255,e[1]/=255,e[2]/=255,this.valpha!==1&&e.push(this.valpha),e},unitObject(){let e=this.rgb().object();return e.r/=255,e.g/=255,e.b/=255,this.valpha!==1&&(e.alpha=this.valpha),e},round(e){return e=Math.max(e||0,0),new te([...this.color.map(Oc(e)),this.valpha],this.model)},alpha(e){return e!==void 0?new te([...this.color,Math.max(0,Math.min(1,e))],this.model):this.valpha},red:J("rgb",0,Q(255)),green:J("rgb",1,Q(255)),blue:J("rgb",2,Q(255)),hue:J(["hsl","hsv","hsl","hwb","hcg"],0,e=>(e%360+360)%360),saturationl:J("hsl",1,Q(100)),lightness:J("hsl",2,Q(100)),saturationv:J("hsv",1,Q(100)),value:J("hsv",2,Q(100)),chroma:J("hcg",1,Q(100)),gray:J("hcg",2,Q(100)),white:J("hwb",1,Q(100)),wblack:J("hwb",2,Q(100)),cyan:J("cmyk",0,Q(100)),magenta:J("cmyk",1,Q(100)),yellow:J("cmyk",2,Q(100)),black:J("cmyk",3,Q(100)),x:J("xyz",0,Q(95.047)),y:J("xyz",1,Q(100)),z:J("xyz",2,Q(108.833)),l:J("lab",0,Q(100)),a:J("lab",1),b:J("lab",2),keyword(e){return e!==void 0?new te(e):de[this.model].keyword(this.color)},hex(e){return e!==void 0?new te(e):ct.to.hex(...this.rgb().round().color)},hexa(e){if(e!==void 0)return new te(e);let t=this.rgb().round().color,r=Math.round(this.valpha*255).toString(16).toUpperCase();return r.length===1&&(r="0"+r),ct.to.hex(...t)+r},rgbNumber(){let e=this.rgb().color;return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255},luminosity(){let e=this.rgb().color,t=[];for(let[r,s]of e.entries()){let n=s/255;t[r]=n<=.04045?n/12.92:((n+.055)/1.055)**2.4}return .2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){let t=this.luminosity(),r=e.luminosity();return t>r?(t+.05)/(r+.05):(r+.05)/(t+.05)},level(e){let t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){let e=this.rgb().color;return(e[0]*2126+e[1]*7152+e[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){let t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){let t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){let t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){let t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){let t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){let t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){let e=this.rgb().color,t=e[0]*.3+e[1]*.59+e[2]*.11;return te.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){let t=this.hsl(),r=t.color[0];return r=(r+e)%360,r=r<0?360+r:r,t.color[0]=r,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);let r=e.rgb(),s=this.rgb(),n=t===void 0?.5:t,i=2*n-1,o=r.alpha()-s.alpha(),a=((i*o===-1?i:(i+o)/(1+i*o))+1)/2,c=1-a;return te.rgb(a*r.red()+c*s.red(),a*r.green()+c*s.green(),a*r.blue()+c*s.blue(),r.alpha()*n+s.alpha()*(1-n))}};for(let e of Object.keys(de)){if(ri.includes(e))continue;let{channels:t}=de[e];te.prototype[e]=function(...r){return this.model===e?new te(this):r.length>0?new te(r,e):new te([...jc(de[this.model][e].raw(this.color)),this.valpha],e)},te[e]=function(...r){let s=r[0];return typeof s=="number"&&(s=Nr(r,t)),new te(s,e)}}function Fc(e,t){return Number(e.toFixed(t))}function Oc(e){return function(t){return Fc(t,e)}}function J(e,t,r){e=Array.isArray(e)?e:[e];for(let s of e)(_r[s]||=[])[t]=r;return e=e[0],function(s){let n;return s!==void 0?(r&&(s=r(s)),n=this[e](),n.color[t]=s,n):(n=this[e]().color[t],r&&(n=r(n)),n)}}function Q(e){return function(t){return Math.max(0,Math.min(e,t))}}function jc(e){return Array.isArray(e)?e:[e]}function Nr(e,t){for(let r=0;r<t;r++)typeof e[r]!="number"&&(e[r]=0);return e}var Lc=te});var oi=D((Ph,ii)=>{ii.exports=ni().default});var ui=D((Rh,ci)=>{var Mc=oi(),je=Se(),ai={multiband:"multiband","b-w":"b-w",bw:"b-w",cmyk:"cmyk",srgb:"srgb"};function zc(e){return this._setBackgroundColourOption("tint",e),this}function Bc(e){return this.options.greyscale=je.bool(e)?e:!0,this}function Uc(e){return this.greyscale(e)}function Gc(e){if(!je.string(e))throw je.invalidParameterError("colourspace","string",e);return this.options.colourspacePipeline=e,this}function qc(e){return this.pipelineColourspace(e)}function Wc(e){if(!je.string(e))throw je.invalidParameterError("colourspace","string",e);return this.options.colourspace=e,this}function Hc(e){return this.toColourspace(e)}function li(e){if(je.object(e)||je.string(e)&&e.length>=3&&e.length<=200){let t=Mc(e);return[t.red(),t.green(),t.blue(),Math.round(t.alpha()*255)]}else throw je.invalidParameterError("background","object or string",e)}function Vc(e,t){je.defined(t)&&(this.options[e]=li(t))}ci.exports=e=>{Object.assign(e.prototype,{tint:zc,greyscale:Bc,grayscale:Uc,pipelineColourspace:Gc,pipelineColorspace:qc,toColourspace:Wc,toColorspace:Hc,_getBackgroundColourOption:li,_setBackgroundColourOption:Vc}),e.colourspace=ai,e.colorspace=ai}});var hi=D((Sh,fi)=>{var Ie=Se(),Jc={and:"and",or:"or",eor:"eor"};function Xc(){return this.options.removeAlpha=!0,this}function Yc(e){if(Ie.defined(e))if(Ie.number(e)&&Ie.inRange(e,0,1))this.options.ensureAlpha=e;else throw Ie.invalidParameterError("alpha","number between 0 and 1",e);else this.options.ensureAlpha=1;return this}function Kc(e){let t={red:0,green:1,blue:2,alpha:3};if(Object.keys(t).includes(e)&&(e=t[e]),Ie.integer(e)&&Ie.inRange(e,0,4))this.options.extractChannel=e;else throw Ie.invalidParameterError("channel","integer or one of: red, green, blue, alpha",e);return this}function Qc(e,t){return Array.isArray(e)?e.forEach(function(r){this.options.joinChannelIn.push(this._createInputDescriptor(r,t))},this):this.options.joinChannelIn.push(this._createInputDescriptor(e,t)),this}function Zc(e){if(Ie.string(e)&&Ie.inArray(e,["and","or","eor"]))this.options.bandBoolOp=e;else throw Ie.invalidParameterError("boolOp","one of: and, or, eor",e);return this}fi.exports=e=>{Object.assign(e.prototype,{removeAlpha:Xc,ensureAlpha:Yc,extractChannel:Kc,joinChannel:Qc,bandbool:Zc}),e.bool=Jc}});var bi=D(($h,mi)=>{var Dr=V("node:path"),l=Se(),dt=Et(),di=new Map([["heic","heif"],["heif","heif"],["avif","avif"],["jpeg","jpeg"],["jpg","jpeg"],["jpe","jpeg"],["tile","tile"],["dz","tile"],["png","png"],["raw","raw"],["tiff","tiff"],["tif","tiff"],["webp","webp"],["gif","gif"],["jp2","jp2"],["jpx","jp2"],["j2k","jp2"],["j2c","jp2"],["jxl","jxl"]]),eu=/\.(jp[2x]|j2[kc])$/i,gi=()=>new Error("JP2 output requires libvips with support for OpenJPEG"),pi=e=>1<<31-Math.clz32(Math.ceil(Math.log2(e)));function tu(e,t){let r;if(l.string(e)?l.string(this.options.input.file)&&Dr.resolve(this.options.input.file)===Dr.resolve(e)?r=new Error("Cannot use same file for input and output"):eu.test(Dr.extname(e))&&!this.constructor.format.jp2k.output.file&&(r=gi()):r=new Error("Missing output file path"),r)if(l.fn(t))t(r);else return Promise.reject(r);else{this.options.fileOut=e;let s=Error();return this._pipeline(t,s)}return this}function ru(e,t){l.object(e)?this._setBooleanOption("resolveWithObject",e.resolveWithObject):this.options.resolveWithObject&&(this.options.resolveWithObject=!1),this.options.fileOut="";let r=Error();return this._pipeline(l.fn(e)?e:t,r)}function su(){return this.options.keepMetadata|=1,this}function nu(e){if(l.object(e))for(let[t,r]of Object.entries(e))if(l.object(r))for(let[s,n]of Object.entries(r))if(l.string(n))this.options.withExif[`exif-${t.toLowerCase()}-${s}`]=n;else throw l.invalidParameterError(`${t}.${s}`,"string",n);else throw l.invalidParameterError(t,"object",r);else throw l.invalidParameterError("exif","object",e);return this.options.withExifMerge=!1,this.keepExif()}function iu(e){return this.withExif(e),this.options.withExifMerge=!0,this}function ou(){return this.options.keepMetadata|=8,this}function au(e,t){if(l.string(e))this.options.withIccProfile=e;else throw l.invalidParameterError("icc","string",e);if(this.keepIccProfile(),l.object(t)&&l.defined(t.attach))if(l.bool(t.attach))t.attach||(this.options.keepMetadata&=-9);else throw l.invalidParameterError("attach","boolean",t.attach);return this}function lu(){return this.options.keepMetadata|=2,this}function cu(e){if(l.string(e)&&e.length>0)this.options.withXmp=e,this.options.keepMetadata|=2;else throw l.invalidParameterError("xmp","non-empty string",e);return this}function uu(){return this.options.keepMetadata=31,this}function fu(e){if(this.keepMetadata(),this.withIccProfile("srgb"),l.object(e)){if(l.defined(e.orientation))if(l.integer(e.orientation)&&l.inRange(e.orientation,1,8))this.options.withMetadataOrientation=e.orientation;else throw l.invalidParameterError("orientation","integer between 1 and 8",e.orientation);if(l.defined(e.density))if(l.number(e.density)&&e.density>0)this.options.withMetadataDensity=e.density;else throw l.invalidParameterError("density","positive number",e.density);l.defined(e.icc)&&this.withIccProfile(e.icc),l.defined(e.exif)&&this.withExifMerge(e.exif)}return this}function hu(e,t){let r=di.get((l.object(e)&&l.string(e.id)?e.id:e).toLowerCase());if(!r)throw l.invalidParameterError("format",`one of: ${[...di.keys()].join(", ")}`,e);return this[r](t)}function du(e){if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.jpegQuality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.progressive)&&this._setBooleanOption("jpegProgressive",e.progressive),l.defined(e.chromaSubsampling))if(l.string(e.chromaSubsampling)&&l.inArray(e.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jpegChromaSubsampling=e.chromaSubsampling;else throw l.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",e.chromaSubsampling);let t=l.bool(e.optimizeCoding)?e.optimizeCoding:e.optimiseCoding;if(l.defined(t)&&this._setBooleanOption("jpegOptimiseCoding",t),l.defined(e.mozjpeg))if(l.bool(e.mozjpeg))e.mozjpeg&&(this.options.jpegTrellisQuantisation=!0,this.options.jpegOvershootDeringing=!0,this.options.jpegOptimiseScans=!0,this.options.jpegProgressive=!0,this.options.jpegQuantisationTable=3);else throw l.invalidParameterError("mozjpeg","boolean",e.mozjpeg);let r=l.bool(e.trellisQuantization)?e.trellisQuantization:e.trellisQuantisation;l.defined(r)&&this._setBooleanOption("jpegTrellisQuantisation",r),l.defined(e.overshootDeringing)&&this._setBooleanOption("jpegOvershootDeringing",e.overshootDeringing);let s=l.bool(e.optimizeScans)?e.optimizeScans:e.optimiseScans;l.defined(s)&&(this._setBooleanOption("jpegOptimiseScans",s),s&&(this.options.jpegProgressive=!0));let n=l.number(e.quantizationTable)?e.quantizationTable:e.quantisationTable;if(l.defined(n))if(l.integer(n)&&l.inRange(n,0,8))this.options.jpegQuantisationTable=n;else throw l.invalidParameterError("quantisationTable","integer between 0 and 8",n)}return this._updateFormatOut("jpeg",e)}function gu(e){if(l.object(e)){if(l.defined(e.progressive)&&this._setBooleanOption("pngProgressive",e.progressive),l.defined(e.compressionLevel))if(l.integer(e.compressionLevel)&&l.inRange(e.compressionLevel,0,9))this.options.pngCompressionLevel=e.compressionLevel;else throw l.invalidParameterError("compressionLevel","integer between 0 and 9",e.compressionLevel);l.defined(e.adaptiveFiltering)&&this._setBooleanOption("pngAdaptiveFiltering",e.adaptiveFiltering);let t=e.colours||e.colors;if(l.defined(t))if(l.integer(t)&&l.inRange(t,2,256))this.options.pngBitdepth=pi(t);else throw l.invalidParameterError("colours","integer between 2 and 256",t);if(l.defined(e.palette)?this._setBooleanOption("pngPalette",e.palette):[e.quality,e.effort,e.colours,e.colors,e.dither].some(l.defined)&&this._setBooleanOption("pngPalette",!0),this.options.pngPalette){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,0,100))this.options.pngQuality=e.quality;else throw l.invalidParameterError("quality","integer between 0 and 100",e.quality);if(l.defined(e.effort))if(l.integer(e.effort)&&l.inRange(e.effort,1,10))this.options.pngEffort=e.effort;else throw l.invalidParameterError("effort","integer between 1 and 10",e.effort);if(l.defined(e.dither))if(l.number(e.dither)&&l.inRange(e.dither,0,1))this.options.pngDither=e.dither;else throw l.invalidParameterError("dither","number between 0.0 and 1.0",e.dither)}}return this._updateFormatOut("png",e)}function pu(e){if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.webpQuality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.alphaQuality))if(l.integer(e.alphaQuality)&&l.inRange(e.alphaQuality,0,100))this.options.webpAlphaQuality=e.alphaQuality;else throw l.invalidParameterError("alphaQuality","integer between 0 and 100",e.alphaQuality);if(l.defined(e.lossless)&&this._setBooleanOption("webpLossless",e.lossless),l.defined(e.nearLossless)&&this._setBooleanOption("webpNearLossless",e.nearLossless),l.defined(e.smartSubsample)&&this._setBooleanOption("webpSmartSubsample",e.smartSubsample),l.defined(e.smartDeblock)&&this._setBooleanOption("webpSmartDeblock",e.smartDeblock),l.defined(e.preset))if(l.string(e.preset)&&l.inArray(e.preset,["default","photo","picture","drawing","icon","text"]))this.options.webpPreset=e.preset;else throw l.invalidParameterError("preset","one of: default, photo, picture, drawing, icon, text",e.preset);if(l.defined(e.effort))if(l.integer(e.effort)&&l.inRange(e.effort,0,6))this.options.webpEffort=e.effort;else throw l.invalidParameterError("effort","integer between 0 and 6",e.effort);l.defined(e.minSize)&&this._setBooleanOption("webpMinSize",e.minSize),l.defined(e.mixed)&&this._setBooleanOption("webpMixed",e.mixed)}return Tr(e,this.options),this._updateFormatOut("webp",e)}function mu(e){if(l.object(e)){l.defined(e.reuse)&&this._setBooleanOption("gifReuse",e.reuse),l.defined(e.progressive)&&this._setBooleanOption("gifProgressive",e.progressive);let t=e.colours||e.colors;if(l.defined(t))if(l.integer(t)&&l.inRange(t,2,256))this.options.gifBitdepth=pi(t);else throw l.invalidParameterError("colours","integer between 2 and 256",t);if(l.defined(e.effort))if(l.number(e.effort)&&l.inRange(e.effort,1,10))this.options.gifEffort=e.effort;else throw l.invalidParameterError("effort","integer between 1 and 10",e.effort);if(l.defined(e.dither))if(l.number(e.dither)&&l.inRange(e.dither,0,1))this.options.gifDither=e.dither;else throw l.invalidParameterError("dither","number between 0.0 and 1.0",e.dither);if(l.defined(e.interFrameMaxError))if(l.number(e.interFrameMaxError)&&l.inRange(e.interFrameMaxError,0,32))this.options.gifInterFrameMaxError=e.interFrameMaxError;else throw l.invalidParameterError("interFrameMaxError","number between 0.0 and 32.0",e.interFrameMaxError);if(l.defined(e.interPaletteMaxError))if(l.number(e.interPaletteMaxError)&&l.inRange(e.interPaletteMaxError,0,256))this.options.gifInterPaletteMaxError=e.interPaletteMaxError;else throw l.invalidParameterError("interPaletteMaxError","number between 0.0 and 256.0",e.interPaletteMaxError);if(l.defined(e.keepDuplicateFrames))if(l.bool(e.keepDuplicateFrames))this._setBooleanOption("gifKeepDuplicateFrames",e.keepDuplicateFrames);else throw l.invalidParameterError("keepDuplicateFrames","boolean",e.keepDuplicateFrames)}return Tr(e,this.options),this._updateFormatOut("gif",e)}function bu(e){if(!this.constructor.format.jp2k.output.buffer)throw gi();if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.jp2Quality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.lossless))if(l.bool(e.lossless))this.options.jp2Lossless=e.lossless;else throw l.invalidParameterError("lossless","boolean",e.lossless);if(l.defined(e.tileWidth))if(l.integer(e.tileWidth)&&l.inRange(e.tileWidth,1,32768))this.options.jp2TileWidth=e.tileWidth;else throw l.invalidParameterError("tileWidth","integer between 1 and 32768",e.tileWidth);if(l.defined(e.tileHeight))if(l.integer(e.tileHeight)&&l.inRange(e.tileHeight,1,32768))this.options.jp2TileHeight=e.tileHeight;else throw l.invalidParameterError("tileHeight","integer between 1 and 32768",e.tileHeight);if(l.defined(e.chromaSubsampling))if(l.string(e.chromaSubsampling)&&l.inArray(e.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jp2ChromaSubsampling=e.chromaSubsampling;else throw l.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",e.chromaSubsampling)}return this._updateFormatOut("jp2",e)}function Tr(e,t){if(l.object(e)&&l.defined(e.loop))if(l.integer(e.loop)&&l.inRange(e.loop,0,65535))t.loop=e.loop;else throw l.invalidParameterError("loop","integer between 0 and 65535",e.loop);if(l.object(e)&&l.defined(e.delay))if(l.integer(e.delay)&&l.inRange(e.delay,0,65535))t.delay=[e.delay];else if(Array.isArray(e.delay)&&e.delay.every(l.integer)&&e.delay.every(r=>l.inRange(r,0,65535)))t.delay=e.delay;else throw l.invalidParameterError("delay","integer or an array of integers between 0 and 65535",e.delay)}function vu(e){if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.tiffQuality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.bitdepth))if(l.integer(e.bitdepth)&&l.inArray(e.bitdepth,[1,2,4,8]))this.options.tiffBitdepth=e.bitdepth;else throw l.invalidParameterError("bitdepth","1, 2, 4 or 8",e.bitdepth);if(l.defined(e.tile)&&this._setBooleanOption("tiffTile",e.tile),l.defined(e.tileWidth))if(l.integer(e.tileWidth)&&e.tileWidth>0)this.options.tiffTileWidth=e.tileWidth;else throw l.invalidParameterError("tileWidth","integer greater than zero",e.tileWidth);if(l.defined(e.tileHeight))if(l.integer(e.tileHeight)&&e.tileHeight>0)this.options.tiffTileHeight=e.tileHeight;else throw l.invalidParameterError("tileHeight","integer greater than zero",e.tileHeight);if(l.defined(e.miniswhite)&&this._setBooleanOption("tiffMiniswhite",e.miniswhite),l.defined(e.pyramid)&&this._setBooleanOption("tiffPyramid",e.pyramid),l.defined(e.xres))if(l.number(e.xres)&&e.xres>0)this.options.tiffXres=e.xres;else throw l.invalidParameterError("xres","number greater than zero",e.xres);if(l.defined(e.yres))if(l.number(e.yres)&&e.yres>0)this.options.tiffYres=e.yres;else throw l.invalidParameterError("yres","number greater than zero",e.yres);if(l.defined(e.compression))if(l.string(e.compression)&&l.inArray(e.compression,["none","jpeg","deflate","packbits","ccittfax4","lzw","webp","zstd","jp2k"]))this.options.tiffCompression=e.compression;else throw l.invalidParameterError("compression","one of: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k",e.compression);if(l.defined(e.bigtiff)&&this._setBooleanOption("tiffBigtiff",e.bigtiff),l.defined(e.predictor))if(l.string(e.predictor)&&l.inArray(e.predictor,["none","horizontal","float"]))this.options.tiffPredictor=e.predictor;else throw l.invalidParameterError("predictor","one of: none, horizontal, float",e.predictor);if(l.defined(e.resolutionUnit))if(l.string(e.resolutionUnit)&&l.inArray(e.resolutionUnit,["inch","cm"]))this.options.tiffResolutionUnit=e.resolutionUnit;else throw l.invalidParameterError("resolutionUnit","one of: inch, cm",e.resolutionUnit)}return this._updateFormatOut("tiff",e)}function yu(e){return this.heif({...e,compression:"av1"})}function wu(e){if(l.object(e)){if(l.string(e.compression)&&l.inArray(e.compression,["av1","hevc"]))this.options.heifCompression=e.compression;else throw l.invalidParameterError("compression","one of: av1, hevc",e.compression);if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.heifQuality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.lossless))if(l.bool(e.lossless))this.options.heifLossless=e.lossless;else throw l.invalidParameterError("lossless","boolean",e.lossless);if(l.defined(e.effort))if(l.integer(e.effort)&&l.inRange(e.effort,0,9))this.options.heifEffort=e.effort;else throw l.invalidParameterError("effort","integer between 0 and 9",e.effort);if(l.defined(e.chromaSubsampling))if(l.string(e.chromaSubsampling)&&l.inArray(e.chromaSubsampling,["4:2:0","4:4:4"]))this.options.heifChromaSubsampling=e.chromaSubsampling;else throw l.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",e.chromaSubsampling);if(l.defined(e.bitdepth))if(l.integer(e.bitdepth)&&l.inArray(e.bitdepth,[8,10,12])){if(e.bitdepth!==8&&this.constructor.versions.heif)throw l.invalidParameterError("bitdepth when using prebuilt binaries",8,e.bitdepth);this.options.heifBitdepth=e.bitdepth}else throw l.invalidParameterError("bitdepth","8, 10 or 12",e.bitdepth)}else throw l.invalidParameterError("options","Object",e);return this._updateFormatOut("heif",e)}function Eu(e){if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.jxlDistance=e.quality>=30?.1+(100-e.quality)*.09:53/3e3*e.quality*e.quality-23/20*e.quality+25;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);else if(l.defined(e.distance))if(l.number(e.distance)&&l.inRange(e.distance,0,15))this.options.jxlDistance=e.distance;else throw l.invalidParameterError("distance","number between 0.0 and 15.0",e.distance);if(l.defined(e.decodingTier))if(l.integer(e.decodingTier)&&l.inRange(e.decodingTier,0,4))this.options.jxlDecodingTier=e.decodingTier;else throw l.invalidParameterError("decodingTier","integer between 0 and 4",e.decodingTier);if(l.defined(e.lossless))if(l.bool(e.lossless))this.options.jxlLossless=e.lossless;else throw l.invalidParameterError("lossless","boolean",e.lossless);if(l.defined(e.effort))if(l.integer(e.effort)&&l.inRange(e.effort,1,9))this.options.jxlEffort=e.effort;else throw l.invalidParameterError("effort","integer between 1 and 9",e.effort)}return Tr(e,this.options),this._updateFormatOut("jxl",e)}function xu(e){if(l.object(e)&&l.defined(e.depth))if(l.string(e.depth)&&l.inArray(e.depth,["char","uchar","short","ushort","int","uint","float","complex","double","dpcomplex"]))this.options.rawDepth=e.depth;else throw l.invalidParameterError("depth","one of: char, uchar, short, ushort, int, uint, float, complex, double, dpcomplex",e.depth);return this._updateFormatOut("raw")}function Pu(e){if(l.object(e)){if(l.defined(e.size))if(l.integer(e.size)&&l.inRange(e.size,1,8192))this.options.tileSize=e.size;else throw l.invalidParameterError("size","integer between 1 and 8192",e.size);if(l.defined(e.overlap))if(l.integer(e.overlap)&&l.inRange(e.overlap,0,8192)){if(e.overlap>this.options.tileSize)throw l.invalidParameterError("overlap",`<= size (${this.options.tileSize})`,e.overlap);this.options.tileOverlap=e.overlap}else throw l.invalidParameterError("overlap","integer between 0 and 8192",e.overlap);if(l.defined(e.container))if(l.string(e.container)&&l.inArray(e.container,["fs","zip"]))this.options.tileContainer=e.container;else throw l.invalidParameterError("container","one of: fs, zip",e.container);if(l.defined(e.layout))if(l.string(e.layout)&&l.inArray(e.layout,["dz","google","iiif","iiif3","zoomify"]))this.options.tileLayout=e.layout;else throw l.invalidParameterError("layout","one of: dz, google, iiif, iiif3, zoomify",e.layout);if(l.defined(e.angle))if(l.integer(e.angle)&&!(e.angle%90))this.options.tileAngle=e.angle;else throw l.invalidParameterError("angle","positive/negative multiple of 90",e.angle);if(this._setBackgroundColourOption("tileBackground",e.background),l.defined(e.depth))if(l.string(e.depth)&&l.inArray(e.depth,["onepixel","onetile","one"]))this.options.tileDepth=e.depth;else throw l.invalidParameterError("depth","one of: onepixel, onetile, one",e.depth);if(l.defined(e.skipBlanks))if(l.integer(e.skipBlanks)&&l.inRange(e.skipBlanks,-1,65535))this.options.tileSkipBlanks=e.skipBlanks;else throw l.invalidParameterError("skipBlanks","integer between -1 and 255/65535",e.skipBlanks);else l.defined(e.layout)&&e.layout==="google"&&(this.options.tileSkipBlanks=5);let t=l.bool(e.center)?e.center:e.centre;if(l.defined(t)&&this._setBooleanOption("tileCentre",t),l.defined(e.id))if(l.string(e.id))this.options.tileId=e.id;else throw l.invalidParameterError("id","string",e.id);if(l.defined(e.basename))if(l.string(e.basename))this.options.tileBasename=e.basename;else throw l.invalidParameterError("basename","string",e.basename)}if(l.inArray(this.options.formatOut,["jpeg","png","webp"]))this.options.tileFormat=this.options.formatOut;else if(this.options.formatOut!=="input")throw l.invalidParameterError("format","one of: jpeg, png, webp",this.options.formatOut);return this._updateFormatOut("dz")}function Ru(e){if(!l.plainObject(e))throw l.invalidParameterError("options","object",e);if(l.integer(e.seconds)&&l.inRange(e.seconds,0,3600))this.options.timeoutSeconds=e.seconds;else throw l.invalidParameterError("seconds","integer between 0 and 3600",e.seconds);return this}function Su(e,t){return l.object(t)&&t.force===!1||(this.options.formatOut=e),this}function $u(e,t){if(l.bool(t))this.options[e]=t;else throw l.invalidParameterError(e,"boolean",t)}function ku(){if(!this.options.streamOut){this.options.streamOut=!0;let e=Error();this._pipeline(void 0,e)}}function Au(e,t){return typeof e=="function"?(this._isStreamInput()?this.on("finish",()=>{this._flattenBufferIn(),dt.pipeline(this.options,(r,s,n)=>{r?e(l.nativeError(r,t)):e(null,s,n)})}):dt.pipeline(this.options,(r,s,n)=>{r?e(l.nativeError(r,t)):e(null,s,n)}),this):this.options.streamOut?(this._isStreamInput()?(this.once("finish",()=>{this._flattenBufferIn(),dt.pipeline(this.options,(r,s,n)=>{r?this.emit("error",l.nativeError(r,t)):(this.emit("info",n),this.push(s)),this.push(null),this.on("end",()=>this.emit("close"))})}),this.streamInFinished&&this.emit("finish")):dt.pipeline(this.options,(r,s,n)=>{r?this.emit("error",l.nativeError(r,t)):(this.emit("info",n),this.push(s)),this.push(null),this.on("end",()=>this.emit("close"))}),this):this._isStreamInput()?new Promise((r,s)=>{this.once("finish",()=>{this._flattenBufferIn(),dt.pipeline(this.options,(n,i,o)=>{n?s(l.nativeError(n,t)):this.options.resolveWithObject?r({data:i,info:o}):r(i)})})}):new Promise((r,s)=>{dt.pipeline(this.options,(n,i,o)=>{n?s(l.nativeError(n,t)):this.options.resolveWithObject?r({data:i,info:o}):r(i)})})}mi.exports=e=>{Object.assign(e.prototype,{toFile:tu,toBuffer:ru,keepExif:su,withExif:nu,withExifMerge:iu,keepIccProfile:ou,withIccProfile:au,keepXmp:lu,withXmp:cu,keepMetadata:uu,withMetadata:fu,toFormat:hu,jpeg:du,jp2:bu,png:gu,webp:pu,tiff:vu,avif:yu,heif:wu,jxl:Eu,gif:mu,raw:xu,tile:Pu,timeout:Ru,_updateFormatOut:Su,_setBooleanOption:$u,_read:ku,_pipeline:Au})}});var Ei=D((kh,wi)=>{var _u=V("node:events"),Wt=Dt(),ve=Se(),{runtimePlatformArch:Nu}=xr(),ce=Et(),vi=Nu(),Cr=ce.libvipsVersion(),We=ce.format();We.heif.output.alias=["avif","heic"];We.jpeg.output.alias=["jpe","jpg"];We.tiff.output.alias=["tif"];We.jp2k.output.alias=["j2c","j2k","jp2","jpx"];var Iu={nearest:"nearest",bilinear:"bilinear",bicubic:"bicubic",locallyBoundedBicubic:"lbb",nohalo:"nohalo",vertexSplitQuadraticBasisSpline:"vsqbs"},gt={vips:Cr.semver};if(!Cr.isGlobal)if(Cr.isWasm)try{gt=V("@img/sharp-wasm32/versions")}catch{}else try{gt=V(`@img/sharp-${vi}/versions`)}catch{try{gt=V(`@img/sharp-libvips-${vi}/versions`)}catch{}}gt.sharp=wr().version;gt.heif&&We.heif&&(We.heif.input.fileSuffix=[".avif"],We.heif.output.alias=["avif"]);function yi(e){return ve.bool(e)?e?ce.cache(50,20,100):ce.cache(0,0,0):ve.object(e)?ce.cache(e.memory,e.files,e.items):ce.cache()}yi(!0);function Du(e){return ce.concurrency(ve.integer(e)?e:null)}Wt.familySync()===Wt.GLIBC&&!ce._isUsingJemalloc()?ce.concurrency(1):Wt.familySync()===Wt.MUSL&&ce.concurrency()===1024&&ce.concurrency(V("node:os").availableParallelism());var Tu=new _u.EventEmitter;function Cu(){return ce.counters()}function Fu(e){return ce.simd(ve.bool(e)?e:null)}function Ou(e){if(ve.object(e))if(Array.isArray(e.operation)&&e.operation.every(ve.string))ce.block(e.operation,!0);else throw ve.invalidParameterError("operation","Array<string>",e.operation);else throw ve.invalidParameterError("options","object",e)}function ju(e){if(ve.object(e))if(Array.isArray(e.operation)&&e.operation.every(ve.string))ce.block(e.operation,!1);else throw ve.invalidParameterError("operation","Array<string>",e.operation);else throw ve.invalidParameterError("options","object",e)}wi.exports=e=>{e.cache=yi,e.concurrency=Du,e.counters=Cu,e.simd=Fu,e.format=We,e.interpolators=Iu,e.versions=gt,e.queue=Tu,e.block=Ou,e.unblock=ju}});var Pi=D((_h,xi)=>{var Le=On();Mn()(Le);Wn()(Le);Vn()(Le);Qn()(Le);ui()(Le);hi()(Le);bi()(Le);Ei()(Le);xi.exports=Le});import lo from"@rollup/plugin-strip";import{visualizer as co}from"rollup-plugin-visualizer";var er=["/react/","/react-dom/","/scheduler/","/react-router","/@radix-ui/","/react-day-picker/","/react-hook-form/","/react-i18next/","/clsx/","/class-variance-authority/"],Yi={valibot:["/valibot/"],firebase:["/firebase/","/@firebase/"],lucide:["/lucide-react/","/lucide/"],i18n:["/i18next/","/i18next-browser-languagedetector/","/i18next-http-backend/","/@donotdev/i18n/"],zustand:["/zustand/"],"tanstack-query":["/@tanstack/react-query/","/@tanstack/query-core/"]};function Ki(e){let t=e.match(/(?:^|\0)virtual:([^?]+)/);if(t)return t[1]}function zr(e){let t=e.replace(/\\/g,"/");if(t.includes("/node_modules/"))return t.split("?")[0]}function Br(e,t=er){return t.some(r=>e.includes(r))}function Qi(e){for(let[t,r]of Object.entries(Yi))if(r.some(s=>e.includes(s)))return t}function Zi(e){let t=Ki(e);if(t)return t==="i18n-mapping"?"virtual-i18n-mapping":"virtual-modules";let r=zr(e);if(!r)return;if(Br(r))return"react-core";let s=Qi(r);if(s)return s}function eo(e=[]){let t=e.filter(s=>!er.includes(s)),r=[...er,...t];return function(s){let n=zr(s);if(n&&Br(n,r))return"react-core"}}var Mr={development:{manualChunks:void 0},production:{manualChunks:Zi}};function Ur(e,t={}){let r=Mr[e]||Mr.production,s=t.reactCore||[];return s.length>0?{manualChunks:eo(s)}:r}import*as he from"@clack/prompts";import*as T from"node:fs";import"node:fs";import{createRequire as ro}from"node:module";import{resolve as kt,join as Ce,dirname as ze,relative as Hr,normalize as so,sep as Vr,extname as no}from"node:path";import{fileURLToPath as io}from"node:url";import oo from"fast-glob";var tr={HOMEPAGE_FILE:"HomePage.tsx",HOMEPAGE_PATH:"/",HOMEPAGE_COMPONENT:"HomePage"};var G={routes:"virtual:routes",themes:"virtual:themes",i18n:"virtual:i18n-mapping",assets:"virtual:assets",env:"virtual:env"},ie={routes:"routes",themes:"themes",i18n:"i18n",assets:"assets",env:"env"},Z={next:{middleware:"middleware.ts",routeManifest:"public/route-manifest.json",assetManifest:"public/asset-manifest.json",utilities:"src/styles/utilities.generated.css",appPages:"src/app",appLayout:"src/app/layout.tsx",configRoute:"src/config/dndev-config-route.js",configTheme:"src/config/dndev-config-theme.js",configI18n:"src/config/dndev-config-i18n.js",configPwa:"src/config/dndev-config-pwa.js",configAsset:"src/config/dndev-config-asset.js",configSeo:"src/config/dndev-config-seo.js",configServer:"src/config/dndev-config-server.js"},vite:{routeInspection:"src/routes.generated.log",themeInspection:"src/themes.generated.log",i18nInspection:"src/i18n.generated.log",assetInspection:"src/assets.generated.log",envInspection:"src/env.generated.log"},manifests:{route:"route-manifest.json",theme:"theme-manifest.json",i18n:"i18n-manifest.json",asset:"asset-manifest.json",feature:"feature-manifest.json",env:"env-manifest.json"}},rr={package:"@donotdev/ui",assetsPath:"packages/ui/assets",browserTargets:["> 1%","last 2 versions","Firefox ESR","not dead","not op_mini all"]},Te={public:"public",fonts:"fonts",nodeModules:"node_modules",packages:"packages",core:"core",ui:"ui"},St={SOURCE_ROOT:"packages/core/i18n",SOURCE_LOCALES:"packages/core/i18n/locales",SOURCE_EAGER:"packages/core/i18n/locales/eager",SOURCE_LAZY:"packages/core/i18n/locales/lazy",PUBLISHED_ROOT:"i18n",PUBLISHED_LOCALES:"i18n/locales",PUBLISHED_EAGER:"i18n/locales/eager",PUBLISHED_LAZY:"i18n/locales/lazy"},pe={routes:{consumer:["src/**/*Page.tsx","src/pages/**/*Page.tsx"],exclude:["**/node_modules/**","**/dist/**","**/build/**","**/*.test.tsx","**/*.stories.tsx"],extensions:[".tsx"]},css:{consumer:["src/**/*.css"],themes:["src/**/*.css"],extensions:[".css",".scss",".sass"],framework:["packages/ui/src/**/*.css","packages/core/components/src/**/*.css","packages/core/templates/src/**/*.css"]},i18n:{eager:["src/locales/*_*.json"],lazy:["src/**/locales/*_*.json","!src/locales/*_*.json","../../entities/locales/*_*.json"],additional:[],framework:{eager:[`${St.SOURCE_EAGER}/*_*.json`],lazy:[`${St.SOURCE_LAZY}/*_*.json`]},extensions:[".json"]},assets:{consumer:["public/**/*"],fallback:["manifest.json"],modern:["logo.svg","favicon.svg","apple-touch-icon.png","android-chrome-192x192.png","android-chrome-512x512.png"],patterns:["favicon.svg","favicon.ico","favicon-*.png","logo.svg","logo.png","logo.webp","logo.avif","apple-touch-icon*.png","android-chrome-*.png","manifest.json"],fonts:["fonts/**/*.woff2","fonts/**/*.woff","fonts/**/*.ttf"],framework:["packages/ui/assets/**/*"]},pwa:{consumer:["public/manifest.json","public/service-worker.js","public/sw.js","public/icon-192x192.png","public/icon-512x512.png","public/favicon.ico","public/favicon.svg","public/apple-touch-icon.png","public/logo.svg"],exclude:["**/node_modules/**","**/dist/**","**/build/**"],extensions:[".json",".js",".png",".svg",".ico"],framework:["packages/ui/assets/**/*"]},globalIgnore:["**/node_modules/**","**/dist/**","**/build/**","**/.git/**","**/coverage/**","**/test/**"]},Ye={mandatoryIncludes:["react","react-dom","react-router-dom","zustand","lucide-react","valibot","i18next","i18next-browser-languagedetector","i18next-http-backend","react-i18next","@tanstack/react-query","react-helmet-async","@donotdev/core","@donotdev/components","@donotdev/ui","@donotdev/templates","@donotdev/firebase"],optionalFeatures:["@donotdev/adv-comps","@donotdev/auth","@donotdev/billing","@donotdev/crud","@donotdev/oauth","shiki","@tiptap/react","@tiptap/starter-kit","@tiptap/extension-placeholder"],coreBundled:["@donotdev/types","@donotdev/utils","@donotdev/stores","@donotdev/schemas","@donotdev/hooks","@donotdev/i18n","@donotdev/config"],componentsBundled:["class-variance-authority","clsx","lucide-react","react-day-picker"],radixUIPattern:"@radix-ui/",buildTools:["esbuild","@esbuild/win32-x64","@esbuild/darwin-x64","@esbuild/linux-x64","@esbuild/darwin-arm64","@esbuild/linux-arm64","vite","rollup","rollup-plugin-visualizer","@vitejs/plugin-react","vite-tsconfig-paths","vite-plugin-pwa","vite-plugin-compression2","vite-plugin-node-polyfills","fsevents","postcss","postcss-import","postcss-nesting","autoprefixer"],buildTimePackages:[],largeOptional:["@sentry/react","framer-motion","stripe","@tanstack/react-query","shiki","@tiptap/react","@tiptap/starter-kit","@tiptap/extension-placeholder","sharp","semver","file-type"]},qr=["firebase-admin","gcp-metadata","google-logging-utils","payload","undici","@fastify/busboy","image-size","@donotdev/tooling","fs","path","crypto","net","tls","http","https","child_process","os","util","stream","buffer","events","querystring","url","zlib","assert","constants","domain","punycode","string_decoder","timers","tty","vm","worker_threads","cluster","dgram","dns","http2","inspector","module","perf_hooks","process","readline","repl","trace_events","v8","wasi"],sr=["@donotdev/core/functions","@donotdev/core/server"],nr={selectors:{class:/\.([a-zA-Z0-9-]+)/g,variable:/--[a-zA-Z0-9-]+/g,keyframe:/@keyframes\s+([a-zA-Z0-9-]+)/g},themes:{themeClass:/(?::root\.|\.)([a-z][a-z0-9-]+)\s*\{([\s\S]*?)\}/gim,themeLabel:/--theme-label\s*:\s*['"]([^'"]+)['"]/,themeIcon:/--theme-icon\s*:\s*['"]([^'"]+)['"]/,themeIsDark:/--theme-is-dark\s*:\s*(0|1)/}},ir=[{name:"light",displayName:"Light",icon:"Sun",isDark:!1}],Gr={base:{absolute:!0,onlyFiles:!0,ignore:pe.globalIgnore},css:{absolute:!0,onlyFiles:!0,ignore:[...pe.globalIgnore,"**/*.test.css"]},routes:{absolute:!0,onlyFiles:!0,ignore:[...pe.globalIgnore,"**/*.test.tsx","**/*.stories.tsx"]},i18n:{absolute:!0,onlyFiles:!0,ignore:pe.globalIgnore},assets:{absolute:!0,onlyFiles:!0,ignore:pe.globalIgnore}};function Wr(e,t=null){let r=pe[e];if(!r)throw new Error(`Unknown pattern type: ${e}`);return t&&r.framework?{...r,framework:r.framework.map(s=>`${t}/${s}`)}:r}function $t(e){return Gr[e]||Gr.base}var st={getGlobOptionsFor:$t||void 0,SCAN_PATTERNS:pe||void 0,getPatternsFor:Wr||void 0,I18N_PATHS:St||void 0},ee={error:(e,t)=>{},warn:(e,t)=>{},info:e=>{}};function Jr(e,t){return e().catch(r=>{throw new Error(`${t}: ${r instanceof Error?r.message:String(r)}`)})}var Xr={CLI:"packages/cli",COMPONENTS:"packages/core/components",CONFIG:"packages/core/config",CORE:"packages/core",CRUD:"packages/core/crud",FEATURES:"packages/features",HOOKS:"packages/core/hooks",I18N:"packages/core/i18n",SCHEMAS:"packages/core/schemas",STORES:"packages/core/stores",TEMPLATES:"packages/templates",TOOLING:"packages/tooling",TYPES:"packages/core/types",UI:"packages/ui",UTILS:"packages/core/utils",AUTH:"packages/features/auth",BILLING:"packages/features/billing",OAUTH:"packages/features/oauth",FIREBASE:"packages/providers/firebase",FUNCTIONS:"packages/functions"},H=class e{static _instance=null;options;_repoRoot;_appRoot=null;static getInstance(t={}){return e._instance||(e._instance=new e(t)),e._instance}static _reset(){e._instance=null}constructor(t={}){if(e._instance)return e._instance;this.options={maxLevels:t.maxLevels??10,customMarkers:t.customMarkers||[],cache:t.cache??!1,debug:t.debug??!1};try{let r=process.cwd();if(!r)throw new Error("PathResolver: process.cwd() returned undefined. This should never happen.");this._repoRoot=this._findRepoRoot(r)}catch(r){throw new Error(`PathResolver constructor failed: ${r instanceof Error?r.message:String(r)}. cwd: ${process.cwd()}`)}this._appRoot=null,e._instance=this}normalizePath(t){if(!t)return"";try{return so(t).split(Vr).join("/")}catch{return String(t).split(Vr).join("/")}}getRelativePath(t){let r=this.getAppRoot(),s=Hr(r,t);return this.normalizePath(s)}getBasename(t){if(!t)return"";let s=this.normalizePath(t).split("/");return s[s.length-1]||""}getDirname(t){return t?this.normalizePath(ze(t)):""}resolvePackage(t,r=null){try{let s=r||this.getAppRoot(),i=ro(Ce(s,"package.json")).resolve(t);return this.normalizePath(i)}catch{return null}}resolveFrameworkPackage(t,r=null){let s=this.resolvePackage(`${t}/package.json`,r);if(s)return this.getDirname(s);if(this.isMonorepo()&&t.startsWith("@donotdev/")){let o=t.replace("@donotdev/",""),a=this.resolveRepoPath(`packages/${o}`);if(this.pathExists(a))return a;if(["auth","billing","crud","oauth"].includes(o)){let c=this.resolveRepoPath(`packages/features/${o}`);if(this.pathExists(c))return c}if(o==="firebase"){let c=this.resolveRepoPath(`packages/providers/${o}`);if(this.pathExists(c))return c}}let n=this.resolveAppPath(`node_modules/${t}`);if(this.pathExists(n))return n;let i=this.resolveRepoPath(`node_modules/${t}`);return this.pathExists(i)?i:null}resolvePackageAsset(t,r=null){return this.resolvePackage(t,r)}resolveAppPath(t){let r=this.getAppRoot(),s=kt(r,t);return this.normalizePath(s)}resolveRepoPath(t){let r=this.getRepoRoot(),s=this.normalizePath(t),n=kt(r,s);return this.normalizePath(n)}resolvePath(t,r){let s=this.normalizePath(r),n=this.normalizePath(t),i=kt(s,n);return this.normalizePath(i)}createImportPath(t){return"./"+this.getRelativePath(t)}getFileInfo(t){try{let r=T.statSync(t);return{absolutePath:this.normalizePath(t),relativePath:this.getRelativePath(t),importPath:this.createImportPath(t),size:r.size,isFile:r.isFile(),isDirectory:r.isDirectory()}}catch{return null}}_detectFormat(t,r){return r&&r!=="auto"?r:no(t).toLowerCase()===".json"?"json":"text"}async read(t,r={}){let{format:s="auto",encoding:n="utf8"}=r,i=this._detectFormat(t,s);try{if(i==="buffer")return await T.promises.readFile(t);let o=await T.promises.readFile(t,n),a=this.stripBom(o);return i==="json"?JSON.parse(a):a}catch(o){return this.options.debug&&ee.warn(`Failed to read file: ${t}`,o),null}}readSync(t,r={}){let{format:s="auto",encoding:n="utf8"}=r,i=this._detectFormat(t,s);try{if(i==="buffer")return T.readFileSync(t);let o=T.readFileSync(t,n),a=this.stripBom(o);return i==="json"?JSON.parse(a):a}catch(o){return this.options.debug&&ee.warn(`Failed to read file: ${t}`,o),null}}async write(t,r,s={}){let{format:n="auto",overwrite:i=!1,dryRun:o=!1,verbose:a=!1}=s,c=this.normalizePath(t),u=this.normalizePath(ze(c)),f=this.pathExists(c);if(f&&!i)return a&&ee.info(`Skipping existing file: ${c}`),!1;if(o)return ee.info(`[DRY RUN] Would write file: ${c}`),!0;try{await T.promises.mkdir(u,{recursive:!0})}catch(w){if(w?.code!=="EEXIST")throw w}let g=this._detectFormat(t,n),p;Buffer.isBuffer(r)?p=r:g==="json"&&typeof r=="object"?p=JSON.stringify(r,null,2):p=String(r);try{return await Jr(async()=>(Buffer.isBuffer(p)?await T.promises.writeFile(c,p):await T.promises.writeFile(c,p,"utf8"),a&&ee.info(`${f?"Updated":"Created"} file: ${c}`),!0),`Failed to write file: ${c}`)}catch{return!1}}writeSync(t,r,s={}){let{format:n="auto",overwrite:i=!1,dryRun:o=!1,verbose:a=!1}=s,c=this.normalizePath(t),u=this.normalizePath(ze(c)),f=this.pathExists(c);if(f&&!i)return a&&ee.info(`Skipping existing file: ${c}`),!1;if(o)return ee.info(`[DRY RUN] Would write file: ${c}`),!0;try{T.mkdirSync(u,{recursive:!0})}catch(w){if(w?.code!=="EEXIST")throw w}let g=this._detectFormat(t,n),p;Buffer.isBuffer(r)?p=r:g==="json"&&typeof r=="object"?p=JSON.stringify(r,null,2):p=String(r);try{return Buffer.isBuffer(p)?T.writeFileSync(c,p):T.writeFileSync(c,p,"utf8"),a&&ee.info(`${f?"Updated":"Created"} file: ${c}`),!0}catch(w){throw new Error(`Failed to write file: ${c}: ${w instanceof Error?w.message:String(w)}`)}}async copy(t,r,s={}){let{overwrite:n=!1,dryRun:i=!1,verbose:o=!1}=s,a=this.normalizePath(r),c=this.pathExists(a);if(c&&!n)return o&&ee.info(`Skipping existing file: ${a}`),!1;if(i)return ee.info(`[DRY RUN] Would copy file: ${a}`),!0;let u=this.normalizePath(ze(a));try{await T.promises.mkdir(u,{recursive:!0})}catch(f){if(f?.code!=="EEXIST")throw f}try{return await Jr(async()=>(await T.promises.copyFile(t,a),o&&ee.info(`${c?"Updated":"Created"} file: ${a}`),!0),`Failed to copy file from ${t} to ${a}`)}catch{return!1}}copySync(t,r,s={}){let{overwrite:n=!1,dryRun:i=!1,verbose:o=!1}=s,a=this.normalizePath(r),c=this.pathExists(a);if(c&&!n)return o&&ee.info(`Skipping existing file: ${a}`),!1;if(i)return ee.info(`[DRY RUN] Would copy file: ${a}`),!0;let u=this.normalizePath(ze(a));try{T.mkdirSync(u,{recursive:!0})}catch(f){if(f?.code!=="EEXIST")throw f}try{return T.copyFileSync(t,a),o&&ee.info(`${c?"Updated":"Created"} file: ${a}`),!0}catch{return!1}}pathExists(t,r=!1){try{return T.existsSync(t)}catch(s){return r||ee.error(`Error checking path existence: ${t}`,s),!1}}mkdir(t){try{let r=t.startsWith("/")||t.match(/^[A-Z]:/)?this.normalizePath(t):this.resolveAppPath(t);return T.existsSync(r)||T.mkdirSync(r,{recursive:!0}),!0}catch{return!1}}readdirSync(t,r){try{return T.readdirSync(t,r)}catch(s){return this.options.debug&&ee.warn(`Failed to read directory: ${t}`,s),r&&typeof r=="object"&&"withFileTypes"in r&&r.withFileTypes?[]:[]}}statSync(t){try{return T.statSync(t)}catch(r){return this.options.debug&&ee.warn(`Failed to stat file: ${t}`,r),null}}lstatSync(t){try{return T.lstatSync(t)}catch(r){return this.options.debug&&ee.warn(`Failed to lstat file: ${t}`,r),null}}async ensureDir(t){try{await T.promises.mkdir(t,{recursive:!0})}catch(r){if(r?.code!=="EEXIST")throw r}}ensureDirSync(t){try{T.mkdirSync(t,{recursive:!0})}catch(r){if(r?.code!=="EEXIST")throw r}}async remove(t){await T.promises.rm(t,{recursive:!0,force:!0})}removeSync(t){T.rmSync(t,{recursive:!0,force:!0})}async readdir(t,r){return T.promises.readdir(t,r)}stripBom(t){return t.charCodeAt(0)===65279?t.slice(1):t}getRepoRoot(){return this._repoRoot||process.cwd()}getAppRoot(){return this._appRoot?this._appRoot:this._repoRoot}setAppRoot(t){if(!t)throw new Error("PathResolver.setAppRoot: root cannot be undefined or null");this._appRoot=this.normalizePath(t)}isMonorepo(){let t=Ce(this._repoRoot,"packages");return this.pathExists(t)}isWithinApp(t){let r=this.normalizePath(kt(t)),s=this.getAppRoot(),n=Hr(s,r),i=this.normalizePath(n);return!i.startsWith("../")&&!i.startsWith("/")}async findFiles(t,r,s={}){let n=this.normalizePath(Ce(t,r)),i=this.getAppRoot(),o=this.normalizePath(i),a=n.startsWith(o)?n.slice(o.length+1):n,c={absolute:!0,onlyFiles:!0,braceExpansion:!0,extglob:!0,globstar:!0,cwd:i,ignore:st.SCAN_PATTERNS?.globalIgnore||["**/node_modules/**","**/dist/**","**/build/**","**/.git/**"]};return await this._globWithNormalization([a],{...c,...s})}clearCache(){}async _resolveFrameworkI18nPattern(t){let r=st.I18N_PATHS;if(!r)return null;let s=t.replace(r.SOURCE_ROOT+"/",""),n=this.resolveFrameworkPackage("@donotdev/core");if(!n)return null;let i=this.normalizePath(Ce(n,r.PUBLISHED_ROOT,s)),o=i.replace(/\/[^/]*\*.*$/,"");return this.pathExists(o),i}async _globWithNormalization(t,r){return(await oo(t,r)).map(n=>{let i=typeof n=="string"?n:n.path;return this.normalizePath(i)})}async resolveFiles(t,r="css"){if(!t||typeof t!="object")return{frameworkFiles:[],consumerFiles:[]};if(r==="i18n")return{frameworkFiles:[],consumerFiles:[]};if(Array.isArray(t.framework)||(t.framework=[]),!Array.isArray(t.consumer))return{frameworkFiles:[],consumerFiles:[]};let s=[...t.framework,...t.consumer];for(let f of s)if(typeof f!="string"||f.trim()==="")return{frameworkFiles:[],consumerFiles:[]};let n=this.getAppRoot(),i=st.getGlobOptionsFor?st.getGlobOptionsFor(r):{ignore:["**/node_modules/**","**/dist/**","**/build/**"]},o=this.normalizePath(n),a=t.framework.map(f=>{let g=this.normalizePath(f);return g.startsWith(o)?g.slice(o.length+1):g}),c=t.consumer.map(f=>{let g=this.normalizePath(f);return g.startsWith(o)?g.slice(o.length+1):g}),u={...i,onlyFiles:!0,absolute:!0,braceExpansion:!0,extglob:!0,globstar:!0,cwd:n};try{let f=a.length>0?await this._globWithNormalization(a,u):[],g=await this._globWithNormalization(c,u);return{frameworkFiles:f,consumerFiles:g}}catch{return this.options.debug,{frameworkFiles:[],consumerFiles:[]}}}async resolvePatterns(t){if(!st.getPatternsFor)return{framework:[],consumer:[],all:[]};let r=this.getAppRoot(),s=this.getRepoRoot();if(t==="i18n"&&(!r||r===s))throw new Error(`Cannot resolve i18n patterns: appRoot not set (appRoot: ${r}, repoRoot: ${s}). Ensure configResolved hook has run before discovery.`);let n=st.getPatternsFor(t),i=this.isMonorepo();if(t==="i18n"){let c=n,u={eager:c.eager.map(f=>f.startsWith("!")?"!"+this.resolveAppPath(f.slice(1)):this.resolveAppPath(f)),lazy:c.lazy.map(f=>f.startsWith("!")?"!"+this.resolveAppPath(f.slice(1)):this.resolveAppPath(f)),framework:{eager:i?(c.framework?.eager||[]).map(f=>this.resolveRepoPath(f)).filter(Boolean):await Promise.all((c.framework?.eager||[]).map(f=>this._resolveFrameworkI18nPattern(f))).then(f=>f.filter(Boolean)),lazy:i?(c.framework?.lazy||[]).map(f=>this.resolveRepoPath(f)).filter(Boolean):await Promise.all((c.framework?.lazy||[]).map(f=>this._resolveFrameworkI18nPattern(f))).then(f=>f.filter(Boolean))},all:[]};return u.all=[...u.eager,...u.lazy,...u.framework.eager,...u.framework.lazy],u}let o=n,a={framework:i?(o.framework||[]).map(c=>this.resolveRepoPath(c)).filter(Boolean):[],consumer:(o.consumer||[]).map(c=>this.resolveAppPath(c)),all:[]};return a.all=[...a.consumer,...a.framework],a}getEmptyModulePath(t=!1){if(t)return"@donotdev/core/empty";let r=this.resolvePackage("@donotdev/core/empty");if(r)return r;let s=ze(io(import.meta.url));return this.normalizePath(Ce(s,"../empty.js"))}_findRepoRoot(t){let r=this.normalizePath(t),s=0,n=this.options.maxLevels;for(;s<n;){let i=this.normalizePath(Ce(r,Xr.TOOLING)),o=this.normalizePath(Ce(r,Xr.CORE));if(this.pathExists(i)&&this.pathExists(o))return r;let a=Ce(r,"apps");if(this.pathExists(a)&&this.statSync(a)?.isDirectory())return this.normalizePath(r);let c=this.normalizePath(Ce(r,"package.json"));if(this.pathExists(c)&&this.normalizePath(ze(r))===r)return r;let u=this.normalizePath(ze(r));if(u===r)break;r=u,s++}return this.normalizePath(t)}};var Ee={reset:"\x1B[0m",green:"\x1B[32m",brightGreen:"\x1B[92m",red:"\x1B[31m",brightRed:"\x1B[91m",yellow:"\x1B[33m",brightYellow:"\x1B[93m",blue:"\x1B[34m",cyan:"\x1B[36m",brightCyan:"\x1B[96m",gray:"\x1B[90m",white:"\x1B[37m"};function ao(){return process.env.NO_COLOR?!1:process.platform==="win32"?!0:process.stdout.isTTY===!0}function Pe(e,t){return ao()?`${t}${e}${Ee.reset}`:e}function z(e,t,r,s={}){let{logDir:n=".dndev-logs",fileLogging:i=!1}=s,o=H.getInstance(),a=null;if(i){let f=o.resolveAppPath(n);o.pathExists(f)||o.mkdir(f),a=o.resolveAppPath(`${n}/${e.replace(/[^a-zA-Z0-9]/g,"-")}.log`);let g=`=== ${e} Log Started at ${new Date().toISOString()} ===
|
|
3
|
-
`;o.writeSync(a,g)}let c=(f,g,p)=>{if(a){let
|
|
4
|
-
`;o.appendFile(a,
|
|
5
|
-
`)),{outDir:"dist",sourcemap:i||o,cacheDir:"node_modules/.vite",target:"baseline-widely-available",minify:o?!1:"esbuild",reportCompressedSize:!1,chunkSizeWarningLimit:2048,assetsInlineLimit:0,esbuild:{format:"esm",drop:o?[]:["console","debugger"],legalComments:"none"},cssMinify:o?!1:"esbuild",cssCodeSplit:!0,rollupOptions:{external:uo(),output:{format:"es",entryFileNames:"assets/[name].[hash].js",chunkFileNames:"assets/[name].[hash].js",assetFileNames:"assets/[name].[hash][extname]",...f.manualChunks&&{manualChunks:f.manualChunks},compact:!0},onwarn(p,w){p.code!=="MODULE_LEVEL_DIRECTIVE"&&w(p)},plugins:[...o?[]:[lo({include:["**/*.js","**/*.ts","**/*.tsx","**/*.jsx"],functions:["console.*","debugger"],labels:["debug"]})],...a?[(()=>{let p=H.getInstance(),w=p.getAppRoot(),A="dist",j=p.resolveAppPath(`${A}/stats.html`),W=()=>{try{let _=p.resolveAppPath(A);p.pathExists(_)||p.mkdir(_)}catch{}},M=co({filename:j,open:!0,gzipSize:!0,brotliSize:!0,template:"treemap",sourcemap:i||o,projectRoot:w});if(M.buildStart){let _=M.buildStart.bind(M);M.buildStart=function(...L){W();let N=_.apply(this,L);return N&&typeof N.then=="function"?N.catch(R=>{}):N}}else M.buildStart=function(){W()};let k=["generateBundle","writeBundle","closeBundle"];for(let _ of k)if(M[_]){let L=M[_];M[_]=function(...N){try{W();let R=L.apply(this,N);return R&&typeof R.then=="function"?R.catch(P=>{let U=P?.message||P?.toString()||String(P)||"Unknown error";u.warn(`Bundle visualizer warning in ${_}: ${U}`),_==="closeBundle"&&u.warn(`You can manually open ${j} to view the bundle analysis`)}):R}catch(R){let P=R?.message||R?.toString()||String(R)||"Unknown error";buildLogger.warn(`Bundle visualizer warning in ${_}: ${P}`),_==="closeBundle"&&buildLogger.warn(` You can manually open ${j} to view the bundle analysis`)}}}return M})()]:[]]}}}function uo(e){return e?["firebase-admin","gcp-metadata","google-logging-utils","@google-cloud/firestore",/\.node$/,"esbuild",/@esbuild\/.*/]:["gcp-metadata","google-logging-utils","payload","file-type","firebase-admin","firebase-admin/app","firebase-admin/auth","firebase-admin/firestore","firebase-admin/functions","firebase-admin/credential","@google-cloud/firestore","google-auth-library","google-gax","googleapis-common"]}function fo(){let e=!1,t=H.getInstance();if((t.pathExists("/.dockerenv")||t.pathExists("/run/.containerenv"))&&(e=!0),!e&&(process.env.DOCKER_CONTAINER==="true"||process.env.IS_DOCKER==="true"||process.env.DOCKER_BUILDKIT==="1"||process.env.CI==="true"&&process.env.DOCKER==="true")&&(e=!0),!e&&process.env.DOCKER_HOST&&process.env.DOCKER_HOST.includes("docker")&&(e=!0),!e&&process.platform==="linux"&&t.pathExists("/proc/self/cgroup"))try{let s=t.readSync("/proc/self/cgroup");s&&(s.includes("docker")||s.includes("containerd"))&&(e=!0)}catch{}let r=!1;if((process.env.WSL_DISTRO_NAME||process.env.WSLENV)&&(r=!0),!r&&process.platform==="linux"&&t.pathExists("/proc/version"))try{let s=(t.readSync("/proc/version")||"").toLowerCase();r=s.includes("microsoft")||s.includes("wsl")}catch{}if(!r&&process.platform==="linux"&&t.pathExists("/proc/sys/kernel/osrelease"))try{let s=(t.readSync("/proc/sys/kernel/osrelease")||"").toLowerCase()||"";(s.includes("microsoft")||s.includes("wsl"))&&(r=!0)}catch{}if(!r&&process.platform==="win32"){let s=process.cwd();s&&(s.includes("\\wsl$")||s.includes("\\wsl.localhost"))&&(r=!0)}return{isDocker:e,isWSL2:r}}function ho(e,t){if(e!==void 0)return e;let{isDocker:r,isWSL2:s}=fo();if(r||s){let n=r?"Docker":"WSL2";return t.info(`Detected ${n} environment - enabling polling mode for file watching`),!0}}function Kr(e,t={},r){let s=H.getInstance(),n=s.getRepoRoot(),{watch:i,hmr:o,host:a,...c}=t||{},u=o||{},f=a===!0?"localhost":a||"localhost",g={...u.port&&{port:u.port},...u.clientPort&&{clientPort:u.clientPort},host:u.host??f,...u.protocol&&{protocol:u.protocol},overlay:u.overlay??!0,timeout:u.timeout??5e3},p=a!==void 0?a:!0,w=c.https===!0;return{port:e,host:p,open:t.open!==void 0?t.open:!0,https:w,fs:{allow:[n,s.resolveRepoPath("packages"),s.resolveRepoPath("node_modules")],strict:!1},watch:{usePolling:ho(t?.watch?.usePolling,r),interval:t?.watch?.interval??2e3,...t?.watch||{}},hmr:{...g,...u},headers:{"Cross-Origin-Opener-Policy":"same-origin-allow-popups","Cross-Origin-Embedder-Policy":"unsafe-none"},middlewareMode:!1,...c}}function Qr(e={}){let t=e.https===!0;return{...e,https:t}}var me={CONCATENATE_DEDUPE:"CONCATENATE_DEDUPE",SHALLOW_MERGE:"SHALLOW_MERGE",DEEP_MERGE:"DEEP_MERGE",REPLACE:"REPLACE"};function Be(e,t,r,s={}){let{protectedKeys:n=[],onConflict:i}=s;if(t==null)return e;switch(r){case me.CONCATENATE_DEDUPE:{if(!Array.isArray(e)||!Array.isArray(t))return t;let o=[...e,...t];return[...new Set(o)]}case me.SHALLOW_MERGE:return typeof e!="object"||typeof t!="object"||e===null||t===null||Array.isArray(e)||Array.isArray(t)?t:{...e,...t};case me.DEEP_MERGE:{if(typeof e!="object"||typeof t!="object"||e===null||t===null||Array.isArray(e)||Array.isArray(t))return t;let o={...e};for(let a in t){if(n.includes(a)){i&&i(a,e[a],t[a]);continue}typeof o[a]=="object"&&typeof t[a]=="object"&&o[a]!==null&&t[a]!==null&&!Array.isArray(o[a])&&!Array.isArray(t[a])?o[a]=Be(o[a],t[a],me.DEEP_MERGE,{protectedKeys:n,onConflict:i}):o[a]=t[a]}return o}case me.REPLACE:default:return t}}function Zr(e,t,r=[],s){let n=[...e,...t||[]],i=[...new Set(n)];return[...new Set([...i,...r])]}var At={base:"/",mode:process.env.NODE_ENV==="production"?"production":"development",debug:!1,verbose:process.env.CI!=="true",server:{port:3e3,strictPort:!0,host:!0,open:!0,cors:!0,https:!0,hmr:{overlay:!0,timeout:5e3,usePolling:void 0,interval:2e3},watch:{usePolling:void 0,interval:2e3}},build:{sourcemap:!0,target:"es2020",minify:"esbuild",cssMinify:"esbuild",analyze:!0},preview:{port:4173,strictPort:!0,host:!0,open:!1,cors:!0,https:!0},routes:{hmr:!0},themes:{},i18n:{},assets:{copyFonts:!0},features:{},pwa:{enabled:!1},seo:{disabled:!1,generateRobotsTxt:!0,generateSitemap:!0,crawlDelay:1},serverShim:{enabled:!0},chunking:{reactCore:[]},discovery:{verbose:!0,cacheTimeout:6e4,fileLogging:!1,logDir:".dndev-logs"},pluginFactory:{verbose:!0,disableHmr:!1,hmrSmartDetection:!0,hmrDebounceMs:500,hmrCacheTimeout:3e4},resolve:{alias:{"@":"/src"},preserveSymlinks:!1},define:{__DEV__:JSON.stringify(process.env.NODE_ENV==="development"),__PROD__:JSON.stringify(process.env.NODE_ENV==="production")},optimizeDeps:{include:[...Ye.mandatoryIncludes],exclude:[...Ye.buildTools,...Object.values(G)],esbuildOptions:{format:"esm",target:"es2020",platform:"browser",define:{"process.env.NODE_ENV":JSON.stringify(process.env.NODE_ENV||"development")},external:["next","next/*"]}},plugins:[],css:{},envDir:void 0};function es(e={},t={}){let{onConflict:r}=t,s={...At},n=[],i=(o,a,c,u)=>{n.push({key:o,frameworkValue:a,userValue:c,reason:u}),r&&r(o,a,c,u)};return Object.keys(e).forEach(o=>{let a=e[o],c=s[o];if(o==="optimizeDeps"&&typeof a=="object"&&a!==null){let u=c?.include||[],f=c?.exclude||[],g=a.include||[],p=a.exclude||[],w=u.filter(k=>!k.startsWith("@donotdev/")),A=p.filter(k=>w.includes(k));if(A.length>0)for(let k of A)i("optimizeDeps.exclude",k,"excluded",`Framework requires ${k} to be included. It will be included despite your exclusion.`);let j=Zr(u,g,w),W=Be(f,p,me.CONCATENATE_DEDUPE),M=Be(c?.esbuildOptions||{},a.esbuildOptions||{},me.DEEP_MERGE,{protectedKeys:["external"],onConflict:k=>i(`optimizeDeps.esbuildOptions.${k}`,c?.esbuildOptions?.[k],a.esbuildOptions?.[k],`Framework requires ${k} to remain as configured.`)});s[o]={...c,include:j,exclude:W,esbuildOptions:M,...Object.fromEntries(Object.entries(a).filter(([k])=>!["include","exclude","esbuildOptions"].includes(k)))};return}if(o==="css"&&typeof a=="object"&&a!==null){s[o]=Be(c||{},a,me.DEEP_MERGE,{protectedKeys:["postcss"],onConflict:()=>i("css.postcss","framework PostCSS config",a.postcss,"Framework PostCSS config is required and cannot be overridden. Your postcss config is ignored.")});return}if(o==="define"&&typeof a=="object"&&a!==null){s[o]=Be(c||{},a,me.DEEP_MERGE,{protectedKeys:["__DEV__","__PROD__"],onConflict:u=>i(`define.${u}`,c?.[u],a[u],`Framework requires ${u} to remain as configured.`)});return}if(Array.isArray(a)){Array.isArray(c)?s[o]=Be(c,a,me.CONCATENATE_DEDUPE):s[o]=a;return}if(typeof a=="object"&&a!==null&&typeof c=="object"&&c!==null&&!Array.isArray(c)){s[o]=Be(c,a,me.SHALLOW_MERGE);return}s[o]=a}),s}function ts(e){let{server:t={},preview:r={},mode:s,build:n={},resolve:i={},routes:o={},themes:a={},i18n:c={},assets:u={},features:f={},seo:g={},pwa:p={},serverShim:w={},chunking:A={},discovery:j={},pluginFactory:W={},debug:M,verbose:k,base:_,define:L={},optimizeDeps:N={},plugins:R=[],css:P={},envDir:U,...Y}=e,S=s!=="production",I=M||S,re=s==="production"&&(n.analyze??At.build.analyze);return{mode:s,debug:M,verbose:k,isDev:S,isDebug:I,shouldAnalyze:re,serverOptions:t,previewOptions:r,buildOverrides:n,resolveOptions:i,routeOptions:o,themeOptions:a,i18nOptions:c,assetOptions:u,featureOptions:f,seoOptions:g,pwaOptions:p,serverShimOptions:w,chunkingOptions:A,discoveryOptions:j,pluginFactoryOptions:W,base:_,defineOptions:L,optimizeDepsOptions:N,pluginsOptions:R,cssOptions:P,envDir:U,restOptions:Y}}import{resolve as go}from"node:path";import po from"autoprefixer";import mo from"postcss-import";import bo from"postcss-nesting";function rs({postcssImport:e,postcssNesting:t,autoprefixer:r,resolve:s}){return{plugins:[s?e({resolve:s}):e,t,r({overrideBrowserslist:["> 1%","last 2 versions","Firefox ESR","not dead","not op_mini all"],grid:"autoplace"})]}}function ss(e={}){return e.postcss?e.postcss:async()=>{let t=H.getInstance();return rs({postcssImport:mo,postcssNesting:bo,autoprefixer:po,resolve:(s,n)=>{let i=t.resolvePackage(s,n);if(i)return i;if(s.startsWith("@donotdev/")){let o=s.split("/")[0]+"/"+s.split("/")[1],a=s.split("/").slice(2).join("/"),c=t.resolveFrameworkPackage(o,n);if(c&&a){let u=t.resolvePath(a,c);if(t.pathExists(u))return u}}return go(n,s)}})}}import Yu from"@vitejs/plugin-basic-ssl";import Ku from"@vitejs/plugin-react";import Qu from"vite-tsconfig-paths";var oe=class{static generateVirtualModule(t,r,s=!1,n=void 0,i=void 0){return r.isEmpty(t)?r.generateEmpty(t,s,n,i):r.generateModule(t,s,i)}static generateInspection(t,r,s,n){return r.generateInspection.length>=3?r.generateInspection(t,s,n):r.generateInspection(t,s)}static wrapVirtualModule(t,r){return`// Virtual module: ${t}
|
|
1
|
+
var Ui=Object.create;var Lr=Object.defineProperty;var qi=Object.getOwnPropertyDescriptor;var Wi=Object.getOwnPropertyNames;var Hi=Object.getPrototypeOf,Vi=Object.prototype.hasOwnProperty;var V=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ji=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Wi(t))!Vi.call(e,n)&&n!==r&&Lr(e,n,{get:()=>t[n],enumerable:!(s=qi(t,n))||s.enumerable});return e};var Xi=(e,t,r)=>(r=e!=null?Ui(Hi(e)):{},Ji(t||!e||!e.__esModule?Lr(r,"default",{value:e,enumerable:!0}):r,e));var Se=_((Uf,is)=>{var ns=e=>typeof e<"u"&&e!==null,vo=e=>typeof e=="object",yo=e=>Object.prototype.toString.call(e)==="[object Object]",wo=e=>typeof e=="function",Eo=e=>typeof e=="boolean",xo=e=>e instanceof Buffer,Po=e=>{if(ns(e))switch(e.constructor){case Uint8Array:case Uint8ClampedArray:case Int8Array:case Uint16Array:case Int16Array:case Uint32Array:case Int32Array:case Float32Array:case Float64Array:return!0}return!1},Ro=e=>e instanceof ArrayBuffer,So=e=>typeof e=="string"&&e.length>0,$o=e=>typeof e=="number"&&!Number.isNaN(e),ko=e=>Number.isInteger(e),Ao=(e,t,r)=>e>=t&&e<=r,_o=(e,t)=>t.includes(e),No=(e,t,r)=>new Error(`Expected ${t} for ${e} but received ${r} of type ${typeof r}`),Io=(e,t)=>(t.message=e.message,t);is.exports={defined:ns,object:vo,plainObject:yo,fn:wo,bool:Eo,buffer:xo,typedArray:Po,arrayBuffer:Ro,string:So,number:$o,integer:ko,inRange:Ao,inArray:_o,invalidParameterError:No,nativeError:Io}});var ls=_((qf,as)=>{"use strict";var os=()=>process.platform==="linux",_t=null,Do=()=>{if(!_t)if(os()&&process.report){let e=process.report.excludeNetwork;process.report.excludeNetwork=!0,_t=process.report.getReport(),process.report.excludeNetwork=e}else _t={};return _t};as.exports={isLinux:os,getReport:Do}});var us=_((Wf,cs)=>{"use strict";var st=V("fs"),To="/usr/bin/ldd",Co="/proc/self/exe",Nt=2048,Fo=e=>{let t=st.openSync(e,"r"),r=Buffer.alloc(Nt),s=st.readSync(t,r,0,Nt,0);return st.close(t,()=>{}),r.subarray(0,s)},Oo=e=>new Promise((t,r)=>{st.open(e,"r",(s,n)=>{if(s)r(s);else{let i=Buffer.alloc(Nt);st.read(n,i,0,Nt,0,(o,a)=>{t(i.subarray(0,a)),st.close(n,()=>{})})}})});cs.exports={LDD_PATH:To,SELF_PATH:Co,readFileSync:Fo,readFile:Oo}});var hs=_((Hf,fs)=>{"use strict";var jo=e=>{if(e.length<64||e.readUInt32BE(0)!==2135247942||e.readUInt8(4)!==2||e.readUInt8(5)!==1)return null;let t=e.readUInt32LE(32),r=e.readUInt16LE(54),s=e.readUInt16LE(56);for(let n=0;n<s;n++){let i=t+n*r;if(e.readUInt32LE(i)===3){let a=e.readUInt32LE(i+8),c=e.readUInt32LE(i+32);return e.subarray(a,a+c).toString().replace(/\0.*$/g,"")}}return null};fs.exports={interpreterPath:jo}});var Dt=_((Vf,Ns)=>{"use strict";var gs=V("child_process"),{isLinux:nt,getReport:ps}=ls(),{LDD_PATH:It,SELF_PATH:ms,readFile:or,readFileSync:ar}=us(),{interpreterPath:bs}=hs(),$e,ke,Ae,vs="getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",Ge="",ys=()=>Ge||new Promise(e=>{gs.exec(vs,(t,r)=>{Ge=t?" ":r,e(Ge)})}),ws=()=>{if(!Ge)try{Ge=gs.execSync(vs,{encoding:"utf8"})}catch{Ge=" "}return Ge},Fe="glibc",Es=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,Ye="musl",Lo=e=>e.includes("libc.musl-")||e.includes("ld-musl-"),xs=()=>{let e=ps();return e.header&&e.header.glibcVersionRuntime?Fe:Array.isArray(e.sharedObjects)&&e.sharedObjects.some(Lo)?Ye:null},Ps=e=>{let[t,r]=e.split(/[\r\n]+/);return t&&t.includes(Fe)?Fe:r&&r.includes(Ye)?Ye:null},Rs=e=>{if(e){if(e.includes("/ld-musl-"))return Ye;if(e.includes("/ld-linux-"))return Fe}return null},Ss=e=>(e=e.toString(),e.includes("musl")?Ye:e.includes("GNU C Library")?Fe:null),Mo=async()=>{if(ke!==void 0)return ke;ke=null;try{let e=await or(It);ke=Ss(e)}catch{}return ke},zo=()=>{if(ke!==void 0)return ke;ke=null;try{let e=ar(It);ke=Ss(e)}catch{}return ke},Bo=async()=>{if($e!==void 0)return $e;$e=null;try{let e=await or(ms),t=bs(e);$e=Rs(t)}catch{}return $e},Go=()=>{if($e!==void 0)return $e;$e=null;try{let e=ar(ms),t=bs(e);$e=Rs(t)}catch{}return $e},$s=async()=>{let e=null;if(nt()&&(e=await Bo(),!e&&(e=await Mo(),e||(e=xs()),!e))){let t=await ys();e=Ps(t)}return e},ks=()=>{let e=null;if(nt()&&(e=Go(),!e&&(e=zo(),e||(e=xs()),!e))){let t=ws();e=Ps(t)}return e},Uo=async()=>nt()&&await $s()!==Fe,qo=()=>nt()&&ks()!==Fe,Wo=async()=>{if(Ae!==void 0)return Ae;Ae=null;try{let t=(await or(It)).match(Es);t&&(Ae=t[1])}catch{}return Ae},Ho=()=>{if(Ae!==void 0)return Ae;Ae=null;try{let t=ar(It).match(Es);t&&(Ae=t[1])}catch{}return Ae},As=()=>{let e=ps();return e.header&&e.header.glibcVersionRuntime?e.header.glibcVersionRuntime:null},ds=e=>e.trim().split(/\s+/)[1],_s=e=>{let[t,r,s]=e.split(/[\r\n]+/);return t&&t.includes(Fe)?ds(t):r&&s&&r.includes(Ye)?ds(s):null},Vo=async()=>{let e=null;if(nt()&&(e=await Wo(),e||(e=As()),!e)){let t=await ys();e=_s(t)}return e},Jo=()=>{let e=null;if(nt()&&(e=Ho(),e||(e=As()),!e)){let t=ws();e=_s(t)}return e};Ns.exports={GLIBC:Fe,MUSL:Ye,family:$s,familySync:ks,isNonGlibcLinux:Uo,isNonGlibcLinuxSync:qo,version:Vo,versionSync:Jo}});var bt=_((Jf,Is)=>{"use strict";var Xo=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>{}:()=>{};Is.exports=Xo});var Tt=_((Xf,Ds)=>{"use strict";var Yo="2.0.0",Ko=Number.MAX_SAFE_INTEGER||9007199254740991,Qo=16,Zo=250,ea=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Ds.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Qo,MAX_SAFE_BUILD_LENGTH:Zo,MAX_SAFE_INTEGER:Ko,RELEASE_TYPES:ea,SEMVER_SPEC_VERSION:Yo,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var vt=_((_e,Ts)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:lr,MAX_SAFE_BUILD_LENGTH:ta,MAX_LENGTH:ra}=Tt(),sa=bt();_e=Ts.exports={};var na=_e.re=[],ia=_e.safeRe=[],y=_e.src=[],oa=_e.safeSrc=[],w=_e.t={},aa=0,cr="[a-zA-Z0-9-]",la=[["\\s",1],["\\d",ra],[cr,ta]],ca=e=>{for(let[t,r]of la)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},R=(e,t,r)=>{let s=ca(t),n=aa++;sa(e,n,t),w[e]=n,y[n]=t,oa[n]=s,na[n]=new RegExp(t,r?"g":void 0),ia[n]=new RegExp(s,r?"g":void 0)};R("NUMERICIDENTIFIER","0|[1-9]\\d*");R("NUMERICIDENTIFIERLOOSE","\\d+");R("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${cr}*`);R("MAINVERSION",`(${y[w.NUMERICIDENTIFIER]})\\.(${y[w.NUMERICIDENTIFIER]})\\.(${y[w.NUMERICIDENTIFIER]})`);R("MAINVERSIONLOOSE",`(${y[w.NUMERICIDENTIFIERLOOSE]})\\.(${y[w.NUMERICIDENTIFIERLOOSE]})\\.(${y[w.NUMERICIDENTIFIERLOOSE]})`);R("PRERELEASEIDENTIFIER",`(?:${y[w.NONNUMERICIDENTIFIER]}|${y[w.NUMERICIDENTIFIER]})`);R("PRERELEASEIDENTIFIERLOOSE",`(?:${y[w.NONNUMERICIDENTIFIER]}|${y[w.NUMERICIDENTIFIERLOOSE]})`);R("PRERELEASE",`(?:-(${y[w.PRERELEASEIDENTIFIER]}(?:\\.${y[w.PRERELEASEIDENTIFIER]})*))`);R("PRERELEASELOOSE",`(?:-?(${y[w.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${y[w.PRERELEASEIDENTIFIERLOOSE]})*))`);R("BUILDIDENTIFIER",`${cr}+`);R("BUILD",`(?:\\+(${y[w.BUILDIDENTIFIER]}(?:\\.${y[w.BUILDIDENTIFIER]})*))`);R("FULLPLAIN",`v?${y[w.MAINVERSION]}${y[w.PRERELEASE]}?${y[w.BUILD]}?`);R("FULL",`^${y[w.FULLPLAIN]}$`);R("LOOSEPLAIN",`[v=\\s]*${y[w.MAINVERSIONLOOSE]}${y[w.PRERELEASELOOSE]}?${y[w.BUILD]}?`);R("LOOSE",`^${y[w.LOOSEPLAIN]}$`);R("GTLT","((?:<|>)?=?)");R("XRANGEIDENTIFIERLOOSE",`${y[w.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);R("XRANGEIDENTIFIER",`${y[w.NUMERICIDENTIFIER]}|x|X|\\*`);R("XRANGEPLAIN",`[v=\\s]*(${y[w.XRANGEIDENTIFIER]})(?:\\.(${y[w.XRANGEIDENTIFIER]})(?:\\.(${y[w.XRANGEIDENTIFIER]})(?:${y[w.PRERELEASE]})?${y[w.BUILD]}?)?)?`);R("XRANGEPLAINLOOSE",`[v=\\s]*(${y[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${y[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${y[w.XRANGEIDENTIFIERLOOSE]})(?:${y[w.PRERELEASELOOSE]})?${y[w.BUILD]}?)?)?`);R("XRANGE",`^${y[w.GTLT]}\\s*${y[w.XRANGEPLAIN]}$`);R("XRANGELOOSE",`^${y[w.GTLT]}\\s*${y[w.XRANGEPLAINLOOSE]}$`);R("COERCEPLAIN",`(^|[^\\d])(\\d{1,${lr}})(?:\\.(\\d{1,${lr}}))?(?:\\.(\\d{1,${lr}}))?`);R("COERCE",`${y[w.COERCEPLAIN]}(?:$|[^\\d])`);R("COERCEFULL",y[w.COERCEPLAIN]+`(?:${y[w.PRERELEASE]})?(?:${y[w.BUILD]})?(?:$|[^\\d])`);R("COERCERTL",y[w.COERCE],!0);R("COERCERTLFULL",y[w.COERCEFULL],!0);R("LONETILDE","(?:~>?)");R("TILDETRIM",`(\\s*)${y[w.LONETILDE]}\\s+`,!0);_e.tildeTrimReplace="$1~";R("TILDE",`^${y[w.LONETILDE]}${y[w.XRANGEPLAIN]}$`);R("TILDELOOSE",`^${y[w.LONETILDE]}${y[w.XRANGEPLAINLOOSE]}$`);R("LONECARET","(?:\\^)");R("CARETTRIM",`(\\s*)${y[w.LONECARET]}\\s+`,!0);_e.caretTrimReplace="$1^";R("CARET",`^${y[w.LONECARET]}${y[w.XRANGEPLAIN]}$`);R("CARETLOOSE",`^${y[w.LONECARET]}${y[w.XRANGEPLAINLOOSE]}$`);R("COMPARATORLOOSE",`^${y[w.GTLT]}\\s*(${y[w.LOOSEPLAIN]})$|^$`);R("COMPARATOR",`^${y[w.GTLT]}\\s*(${y[w.FULLPLAIN]})$|^$`);R("COMPARATORTRIM",`(\\s*)${y[w.GTLT]}\\s*(${y[w.LOOSEPLAIN]}|${y[w.XRANGEPLAIN]})`,!0);_e.comparatorTrimReplace="$1$2$3";R("HYPHENRANGE",`^\\s*(${y[w.XRANGEPLAIN]})\\s+-\\s+(${y[w.XRANGEPLAIN]})\\s*$`);R("HYPHENRANGELOOSE",`^\\s*(${y[w.XRANGEPLAINLOOSE]})\\s+-\\s+(${y[w.XRANGEPLAINLOOSE]})\\s*$`);R("STAR","(<|>)?=?\\s*\\*");R("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");R("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Ct=_((Yf,Cs)=>{"use strict";var ua=Object.freeze({loose:!0}),fa=Object.freeze({}),ha=e=>e?typeof e!="object"?ua:e:fa;Cs.exports=ha});var Ls=_((Kf,js)=>{"use strict";var Fs=/^[0-9]+$/,Os=(e,t)=>{if(typeof e=="number"&&typeof t=="number")return e===t?0:e<t?-1:1;let r=Fs.test(e),s=Fs.test(t);return r&&s&&(e=+e,t=+t),e===t?0:r&&!s?-1:s&&!r?1:e<t?-1:1},da=(e,t)=>Os(t,e);js.exports={compareIdentifiers:Os,rcompareIdentifiers:da}});var it=_((Qf,zs)=>{"use strict";var Ft=bt(),{MAX_LENGTH:Ms,MAX_SAFE_INTEGER:Ot}=Tt(),{safeRe:jt,t:Lt}=vt(),ga=Ct(),{compareIdentifiers:ur}=Ls(),fr=class e{constructor(t,r){if(r=ga(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Ms)throw new TypeError(`version is longer than ${Ms} characters`);Ft("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let s=t.trim().match(r.loose?jt[Lt.LOOSE]:jt[Lt.FULL]);if(!s)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>Ot||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ot||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ot||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let i=+n;if(i>=0&&i<Ot)return i}return n}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(Ft("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if(typeof t=="string"&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let s=this.prerelease[r],n=t.prerelease[r];if(Ft("prerelease compare",r,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return ur(s,n)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let s=this.build[r],n=t.build[r];if(Ft("build compare",r,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return ur(s,n)}while(++r)}inc(t,r,s){if(t.startsWith("pre")){if(!r&&s===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let n=`-${r}`.match(this.options.loose?jt[Lt.PRERELEASELOOSE]:jt[Lt.PRERELEASE]);if(!n||n[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,s);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,s);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,s),this.inc("pre",r,s);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,s),this.inc("pre",r,s);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let n=Number(s)?1:0;if(this.prerelease.length===0)this.prerelease=[n];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(n)}}if(r){let i=[r,n];s===!1&&(i=[r]),ur(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};zs.exports=fr});var Us=_((Zf,Gs)=>{"use strict";var Bs=it(),pa=(e,t,r=!1)=>{if(e instanceof Bs)return e;try{return new Bs(e,t)}catch(s){if(!r)return null;throw s}};Gs.exports=pa});var Ws=_((eh,qs)=>{"use strict";var ma=it(),ba=Us(),{safeRe:Mt,t:zt}=vt(),va=(e,t)=>{if(e instanceof ma)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?Mt[zt.COERCEFULL]:Mt[zt.COERCE]);else{let c=t.includePrerelease?Mt[zt.COERCERTLFULL]:Mt[zt.COERCERTL],u;for(;(u=c.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||u.index+u[0].length!==r.index+r[0].length)&&(r=u),c.lastIndex=u.index+u[1].length+u[2].length;c.lastIndex=-1}if(r===null)return null;let s=r[2],n=r[3]||"0",i=r[4]||"0",o=t.includePrerelease&&r[5]?`-${r[5]}`:"",a=t.includePrerelease&&r[6]?`+${r[6]}`:"";return ba(`${s}.${n}.${i}${o}${a}`,t)};qs.exports=va});var Ke=_((th,Vs)=>{"use strict";var Hs=it(),ya=(e,t,r)=>new Hs(e,r).compare(new Hs(t,r));Vs.exports=ya});var hr=_((rh,Js)=>{"use strict";var wa=Ke(),Ea=(e,t,r)=>wa(e,t,r)>=0;Js.exports=Ea});var Ys=_((sh,Xs)=>{"use strict";var dr=class{constructor(){this.max=1e3,this.map=new Map}get(t){let r=this.map.get(t);if(r!==void 0)return this.map.delete(t),this.map.set(t,r),r}delete(t){return this.map.delete(t)}set(t,r){if(!this.delete(t)&&r!==void 0){if(this.map.size>=this.max){let n=this.map.keys().next().value;this.delete(n)}this.map.set(t,r)}return this}};Xs.exports=dr});var Qs=_((nh,Ks)=>{"use strict";var xa=Ke(),Pa=(e,t,r)=>xa(e,t,r)===0;Ks.exports=Pa});var en=_((ih,Zs)=>{"use strict";var Ra=Ke(),Sa=(e,t,r)=>Ra(e,t,r)!==0;Zs.exports=Sa});var rn=_((oh,tn)=>{"use strict";var $a=Ke(),ka=(e,t,r)=>$a(e,t,r)>0;tn.exports=ka});var nn=_((ah,sn)=>{"use strict";var Aa=Ke(),_a=(e,t,r)=>Aa(e,t,r)<0;sn.exports=_a});var an=_((lh,on)=>{"use strict";var Na=Ke(),Ia=(e,t,r)=>Na(e,t,r)<=0;on.exports=Ia});var cn=_((ch,ln)=>{"use strict";var Da=Qs(),Ta=en(),Ca=rn(),Fa=hr(),Oa=nn(),ja=an(),La=(e,t,r,s)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return Da(e,r,s);case"!=":return Ta(e,r,s);case">":return Ca(e,r,s);case">=":return Fa(e,r,s);case"<":return Oa(e,r,s);case"<=":return ja(e,r,s);default:throw new TypeError(`Invalid operator: ${t}`)}};ln.exports=La});var mn=_((uh,pn)=>{"use strict";var yt=Symbol("SemVer ANY"),mr=class e{static get ANY(){return yt}constructor(t,r){if(r=un(r),t instanceof e){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),pr("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===yt?this.value="":this.value=this.operator+this.semver.version,pr("comp",this)}parse(t){let r=this.options.loose?fn[hn.COMPARATORLOOSE]:fn[hn.COMPARATOR],s=t.match(r);if(!s)throw new TypeError(`Invalid comparator: ${t}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new dn(s[2],this.options.loose):this.semver=yt}toString(){return this.value}test(t){if(pr("Comparator.test",t,this.options.loose),this.semver===yt||t===yt)return!0;if(typeof t=="string")try{t=new dn(t,this.options)}catch{return!1}return gr(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new gn(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new gn(this.value,r).test(t.semver):(r=un(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||gr(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||gr(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};pn.exports=mr;var un=Ct(),{safeRe:fn,t:hn}=vt(),gr=cn(),pr=bt(),dn=it(),gn=br()});var br=_((fh,wn)=>{"use strict";var Ma=/\s+/g,vr=class e{constructor(t,r){if(r=Ba(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof yr)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(Ma," "),this.set=this.raw.split("||").map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let s=this.set[0];if(this.set=this.set.filter(n=>!vn(n[0])),this.set.length===0)this.set=[s];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Ja(n[0])){this.set=[n];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let r=this.set[t];for(let s=0;s<r.length;s++)s>0&&(this.formatted+=" "),this.formatted+=r[s].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){let s=((this.options.includePrerelease&&Ha)|(this.options.loose&&Va))+":"+t,n=bn.get(s);if(n)return n;let i=this.options.loose,o=i?oe[se.HYPHENRANGELOOSE]:oe[se.HYPHENRANGE];t=t.replace(o,nl(this.options.includePrerelease)),U("hyphen replace",t),t=t.replace(oe[se.COMPARATORTRIM],Ua),U("comparator trim",t),t=t.replace(oe[se.TILDETRIM],qa),U("tilde trim",t),t=t.replace(oe[se.CARETTRIM],Wa),U("caret trim",t);let a=t.split(" ").map(g=>Xa(g,this.options)).join(" ").split(/\s+/).map(g=>sl(g,this.options));i&&(a=a.filter(g=>(U("loose invalid filter",g,this.options),!!g.match(oe[se.COMPARATORLOOSE])))),U("range list",a);let c=new Map,u=a.map(g=>new yr(g,this.options));for(let g of u){if(vn(g))return[g];c.set(g.value,g)}c.size>1&&c.has("")&&c.delete("");let f=[...c.values()];return bn.set(s,f),f}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some(s=>yn(s,r)&&t.set.some(n=>yn(n,r)&&s.every(i=>n.every(o=>i.intersects(o,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new Ga(t,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(il(this.set[r],t,this.options))return!0;return!1}};wn.exports=vr;var za=Ys(),bn=new za,Ba=Ct(),yr=mn(),U=bt(),Ga=it(),{safeRe:oe,t:se,comparatorTrimReplace:Ua,tildeTrimReplace:qa,caretTrimReplace:Wa}=vt(),{FLAG_INCLUDE_PRERELEASE:Ha,FLAG_LOOSE:Va}=Tt(),vn=e=>e.value==="<0.0.0-0",Ja=e=>e.value==="",yn=(e,t)=>{let r=!0,s=e.slice(),n=s.pop();for(;r&&s.length;)r=s.every(i=>n.intersects(i,t)),n=s.pop();return r},Xa=(e,t)=>(e=e.replace(oe[se.BUILD],""),U("comp",e,t),e=Qa(e,t),U("caret",e),e=Ya(e,t),U("tildes",e),e=el(e,t),U("xrange",e),e=rl(e,t),U("stars",e),e),ae=e=>!e||e.toLowerCase()==="x"||e==="*",Ya=(e,t)=>e.trim().split(/\s+/).map(r=>Ka(r,t)).join(" "),Ka=(e,t)=>{let r=t.loose?oe[se.TILDELOOSE]:oe[se.TILDE];return e.replace(r,(s,n,i,o,a)=>{U("tilde",e,s,n,i,o,a);let c;return ae(n)?c="":ae(i)?c=`>=${n}.0.0 <${+n+1}.0.0-0`:ae(o)?c=`>=${n}.${i}.0 <${n}.${+i+1}.0-0`:a?(U("replaceTilde pr",a),c=`>=${n}.${i}.${o}-${a} <${n}.${+i+1}.0-0`):c=`>=${n}.${i}.${o} <${n}.${+i+1}.0-0`,U("tilde return",c),c})},Qa=(e,t)=>e.trim().split(/\s+/).map(r=>Za(r,t)).join(" "),Za=(e,t)=>{U("caret",e,t);let r=t.loose?oe[se.CARETLOOSE]:oe[se.CARET],s=t.includePrerelease?"-0":"";return e.replace(r,(n,i,o,a,c)=>{U("caret",e,n,i,o,a,c);let u;return ae(i)?u="":ae(o)?u=`>=${i}.0.0${s} <${+i+1}.0.0-0`:ae(a)?i==="0"?u=`>=${i}.${o}.0${s} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.0${s} <${+i+1}.0.0-0`:c?(U("replaceCaret pr",c),i==="0"?o==="0"?u=`>=${i}.${o}.${a}-${c} <${i}.${o}.${+a+1}-0`:u=`>=${i}.${o}.${a}-${c} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.${a}-${c} <${+i+1}.0.0-0`):(U("no pr"),i==="0"?o==="0"?u=`>=${i}.${o}.${a}${s} <${i}.${o}.${+a+1}-0`:u=`>=${i}.${o}.${a}${s} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.${a} <${+i+1}.0.0-0`),U("caret return",u),u})},el=(e,t)=>(U("replaceXRanges",e,t),e.split(/\s+/).map(r=>tl(r,t)).join(" ")),tl=(e,t)=>{e=e.trim();let r=t.loose?oe[se.XRANGELOOSE]:oe[se.XRANGE];return e.replace(r,(s,n,i,o,a,c)=>{U("xRange",e,s,n,i,o,a,c);let u=ae(i),f=u||ae(o),g=f||ae(a),p=g;return n==="="&&p&&(n=""),c=t.includePrerelease?"-0":"",u?n===">"||n==="<"?s="<0.0.0-0":s="*":n&&p?(f&&(o=0),a=0,n===">"?(n=">=",f?(i=+i+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",f?i=+i+1:o=+o+1),n==="<"&&(c="-0"),s=`${n+i}.${o}.${a}${c}`):f?s=`>=${i}.0.0${c} <${+i+1}.0.0-0`:g&&(s=`>=${i}.${o}.0${c} <${i}.${+o+1}.0-0`),U("xRange return",s),s})},rl=(e,t)=>(U("replaceStars",e,t),e.trim().replace(oe[se.STAR],"")),sl=(e,t)=>(U("replaceGTE0",e,t),e.trim().replace(oe[t.includePrerelease?se.GTE0PRE:se.GTE0],"")),nl=e=>(t,r,s,n,i,o,a,c,u,f,g,p)=>(ae(s)?r="":ae(n)?r=`>=${s}.0.0${e?"-0":""}`:ae(i)?r=`>=${s}.${n}.0${e?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,ae(u)?c="":ae(f)?c=`<${+u+1}.0.0-0`:ae(g)?c=`<${u}.${+f+1}.0-0`:p?c=`<=${u}.${f}.${g}-${p}`:e?c=`<${u}.${f}.${+g+1}-0`:c=`<=${c}`,`${r} ${c}`.trim()),il=(e,t,r)=>{for(let s=0;s<e.length;s++)if(!e[s].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let s=0;s<e.length;s++)if(U(e[s].semver),e[s].semver!==yr.ANY&&e[s].semver.prerelease.length>0){let n=e[s].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}});var xn=_((hh,En)=>{"use strict";var ol=br(),al=(e,t,r)=>{try{t=new ol(t,r)}catch{return!1}return t.test(e)};En.exports=al});var wr=_((dh,ll)=>{ll.exports={name:"sharp",description:"High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images",version:"0.34.5",author:"Lovell Fuller <npm@lovell.info>",homepage:"https://sharp.pixelplumbing.com",contributors:["Pierre Inglebert <pierre.inglebert@gmail.com>","Jonathan Ong <jonathanrichardong@gmail.com>","Chanon Sajjamanochai <chanon.s@gmail.com>","Juliano Julio <julianojulio@gmail.com>","Daniel Gasienica <daniel@gasienica.ch>","Julian Walker <julian@fiftythree.com>","Amit Pitaru <pitaru.amit@gmail.com>","Brandon Aaron <hello.brandon@aaron.sh>","Andreas Lind <andreas@one.com>","Maurus Cuelenaere <mcuelenaere@gmail.com>","Linus Unneb\xE4ck <linus@folkdatorn.se>","Victor Mateevitsi <mvictoras@gmail.com>","Alaric Holloway <alaric.holloway@gmail.com>","Bernhard K. Weisshuhn <bkw@codingforce.com>","Chris Riley <criley@primedia.com>","David Carley <dacarley@gmail.com>","John Tobin <john@limelightmobileinc.com>","Kenton Gray <kentongray@gmail.com>","Felix B\xFCnemann <Felix.Buenemann@gmail.com>","Samy Al Zahrani <samyalzahrany@gmail.com>","Chintan Thakkar <lemnisk8@gmail.com>","F. Orlando Galashan <frulo@gmx.de>","Kleis Auke Wolthuizen <info@kleisauke.nl>","Matt Hirsch <mhirsch@media.mit.edu>","Matthias Thoemmes <thoemmes@gmail.com>","Patrick Paskaris <patrick@paskaris.gr>","J\xE9r\xE9my Lal <kapouer@melix.org>","Rahul Nanwani <r.nanwani@gmail.com>","Alice Monday <alice0meta@gmail.com>","Kristo Jorgenson <kristo.jorgenson@gmail.com>","YvesBos <yves_bos@outlook.com>","Guy Maliar <guy@tailorbrands.com>","Nicolas Coden <nicolas@ncoden.fr>","Matt Parrish <matt.r.parrish@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Matthew McEachen <matthew+github@mceachen.org>","Jarda Kot\u011B\u0161ovec <jarda.kotesovec@gmail.com>","Kenric D'Souza <kenric.dsouza@gmail.com>","Oleh Aleinyk <oleg.aleynik@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Andrea Bianco <andrea.bianco@unibas.ch>","Rik Heywood <rik@rik.org>","Thomas Parisot <hi@oncletom.io>","Nathan Graves <nathanrgraves+github@gmail.com>","Tom Lokhorst <tom@lokhorst.eu>","Espen Hovlandsdal <espen@hovlandsdal.com>","Sylvain Dumont <sylvain.dumont35@gmail.com>","Alun Davies <alun.owain.davies@googlemail.com>","Aidan Hoolachan <ajhoolachan21@gmail.com>","Axel Eirola <axel.eirola@iki.fi>","Freezy <freezy@xbmc.org>","Daiz <taneli.vatanen@gmail.com>","Julian Aubourg <j@ubourg.net>","Keith Belovay <keith@picthrive.com>","Michael B. Klein <mbklein@gmail.com>","Jordan Prudhomme <jordan@raboland.fr>","Ilya Ovdin <iovdin@gmail.com>","Andargor <andargor@yahoo.com>","Paul Neave <paul.neave@gmail.com>","Brendan Kennedy <brenwken@gmail.com>","Brychan Bennett-Odlum <git@brychan.io>","Edward Silverton <e.silverton@gmail.com>","Roman Malieiev <aromaleev@gmail.com>","Tomas Szabo <tomas.szabo@deftomat.com>","Robert O'Rourke <robert@o-rourke.org>","Guillermo Alfonso Varela Chouci\xF1o <guillevch@gmail.com>","Christian Flintrup <chr@gigahost.dk>","Manan Jadhav <manan@motionden.com>","Leon Radley <leon@radley.se>","alza54 <alza54@thiocod.in>","Jacob Smith <jacob@frende.me>","Michael Nutt <michael@nutt.im>","Brad Parham <baparham@gmail.com>","Taneli Vatanen <taneli.vatanen@gmail.com>","Joris Dugu\xE9 <zaruike10@gmail.com>","Chris Banks <christopher.bradley.banks@gmail.com>","Ompal Singh <ompal.hitm09@gmail.com>","Brodan <christopher.hranj@gmail.com>","Ankur Parihar <ankur.github@gmail.com>","Brahim Ait elhaj <brahima@gmail.com>","Mart Jansink <m.jansink@gmail.com>","Lachlan Newman <lachnewman007@gmail.com>","Dennis Beatty <dennis@dcbeatty.com>","Ingvar Stepanyan <me@rreverser.com>","Don Denton <don@happycollision.com>"],scripts:{build:"node install/build.js",install:"node install/check.js || npm run build",clean:"rm -rf src/build/ .nyc_output/ coverage/ test/fixtures/output.*",test:"npm run lint && npm run test-unit",lint:"npm run lint-cpp && npm run lint-js && npm run lint-types","lint-cpp":"cpplint --quiet src/*.h src/*.cc","lint-js":"biome lint","lint-types":"tsd --files ./test/types/sharp.test-d.ts","test-leak":"./test/leak/leak.sh","test-unit":"node --experimental-test-coverage test/unit.mjs","package-from-local-build":"node npm/from-local-build.js","package-release-notes":"node npm/release-notes.js","docs-build":"node docs/build.mjs","docs-serve":"cd docs && npm start","docs-publish":"cd docs && npm run build && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp"},type:"commonjs",main:"lib/index.js",types:"lib/index.d.ts",files:["install","lib","src/*.{cc,h,gyp}"],repository:{type:"git",url:"git://github.com/lovell/sharp.git"},keywords:["jpeg","png","webp","avif","tiff","gif","svg","jp2","dzi","image","resize","thumbnail","crop","embed","libvips","vips"],dependencies:{"@img/colour":"^1.0.0","detect-libc":"^2.1.2",semver:"^7.7.3"},optionalDependencies:{"@img/sharp-darwin-arm64":"0.34.5","@img/sharp-darwin-x64":"0.34.5","@img/sharp-libvips-darwin-arm64":"1.2.4","@img/sharp-libvips-darwin-x64":"1.2.4","@img/sharp-libvips-linux-arm":"1.2.4","@img/sharp-libvips-linux-arm64":"1.2.4","@img/sharp-libvips-linux-ppc64":"1.2.4","@img/sharp-libvips-linux-riscv64":"1.2.4","@img/sharp-libvips-linux-s390x":"1.2.4","@img/sharp-libvips-linux-x64":"1.2.4","@img/sharp-libvips-linuxmusl-arm64":"1.2.4","@img/sharp-libvips-linuxmusl-x64":"1.2.4","@img/sharp-linux-arm":"0.34.5","@img/sharp-linux-arm64":"0.34.5","@img/sharp-linux-ppc64":"0.34.5","@img/sharp-linux-riscv64":"0.34.5","@img/sharp-linux-s390x":"0.34.5","@img/sharp-linux-x64":"0.34.5","@img/sharp-linuxmusl-arm64":"0.34.5","@img/sharp-linuxmusl-x64":"0.34.5","@img/sharp-wasm32":"0.34.5","@img/sharp-win32-arm64":"0.34.5","@img/sharp-win32-ia32":"0.34.5","@img/sharp-win32-x64":"0.34.5"},devDependencies:{"@biomejs/biome":"^2.3.4","@cpplint/cli":"^0.1.0","@emnapi/runtime":"^1.7.0","@img/sharp-libvips-dev":"1.2.4","@img/sharp-libvips-dev-wasm32":"1.2.4","@img/sharp-libvips-win32-arm64":"1.2.4","@img/sharp-libvips-win32-ia32":"1.2.4","@img/sharp-libvips-win32-x64":"1.2.4","@types/node":"*",emnapi:"^1.7.0","exif-reader":"^2.0.2","extract-zip":"^2.0.1",icc:"^3.0.0","jsdoc-to-markdown":"^9.1.3","node-addon-api":"^8.5.0","node-gyp":"^11.5.0","tar-fs":"^3.1.1",tsd:"^0.33.0"},license:"Apache-2.0",engines:{node:"^18.17.0 || ^20.3.0 || >=21.0.0"},config:{libvips:">=8.17.3"},funding:{url:"https://opencollective.com/libvips"}}});var xr=_((gh,Dn)=>{var{spawnSync:Bt}=V("node:child_process"),{createHash:cl}=V("node:crypto"),$n=Ws(),ul=hr(),fl=xn(),Pn=Dt(),{config:hl,engines:Rn,optionalDependencies:dl}=wr(),gl=process.env.npm_package_config_libvips||hl.libvips,kn=$n(gl).version,pl=["darwin-arm64","darwin-x64","linux-arm","linux-arm64","linux-ppc64","linux-riscv64","linux-s390x","linux-x64","linuxmusl-arm64","linuxmusl-x64","win32-arm64","win32-ia32","win32-x64"],Gt={encoding:"utf8",shell:!0},ml=e=>{e instanceof Error},An=()=>Pn.isNonGlibcLinuxSync()?Pn.familySync():"",bl=()=>`${process.platform}${An()}-${process.arch}`,ot=()=>{if(_n())return"wasm32";let{npm_config_arch:e,npm_config_platform:t,npm_config_libc:r}=process.env,s=typeof r=="string"?r:An();return`${t||process.platform}${s}-${e||process.arch}`},vl=()=>{try{return V(`@img/sharp-libvips-dev-${ot()}/include`)}catch{try{return V("@img/sharp-libvips-dev/include")}catch{}}return""},yl=()=>{try{return V("@img/sharp-libvips-dev/cplusplus")}catch{}return""},wl=()=>{try{return V(`@img/sharp-libvips-dev-${ot()}/lib`)}catch{try{return V(`@img/sharp-libvips-${ot()}/lib`)}catch{}}return""},El=()=>{if(process.release?.name==="node"&&process.versions&&!fl(process.versions.node,Rn.node))return{found:process.versions.node,expected:Rn.node}},_n=()=>{let{CC:e}=process.env;return!!e?.endsWith("/emcc")},xl=()=>process.platform==="darwin"&&process.arch==="x64"?(Bt("sysctl sysctl.proc_translated",Gt).stdout||"").trim()==="sysctl.proc_translated: 1":!1,Sn=e=>cl("sha512").update(e).digest("hex"),Pl=()=>{try{let e=Sn(`imgsharp-libvips-${ot()}`),t=$n(dl[`@img/sharp-libvips-${ot()}`],{includePrerelease:!0}).version;return Sn(`${e}npm:${t}`).slice(0,10)}catch{}return""},Rl=()=>Bt(`node-gyp rebuild --directory=src ${_n()?"--nodedir=emscripten":""}`,{...Gt,stdio:"inherit"}).status,Nn=()=>process.platform!=="win32"?(Bt("pkg-config --modversion vips-cpp",{...Gt,env:{...process.env,PKG_CONFIG_PATH:In()}}).stdout||"").trim():"",In=()=>process.platform!=="win32"?[(Bt('which brew >/dev/null 2>&1 && brew environment --plain | grep PKG_CONFIG_LIBDIR | cut -d" " -f2',Gt).stdout||"").trim(),process.env.PKG_CONFIG_PATH,"/usr/local/lib/pkgconfig","/usr/lib/pkgconfig","/usr/local/libdata/pkgconfig","/usr/libdata/pkgconfig"].filter(Boolean).join(":"):"",Er=(e,t,r)=>(r&&r(`Detected ${t}, skipping search for globally-installed libvips`),e),Sl=e=>{if(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS)return Er(!1,"SHARP_IGNORE_GLOBAL_LIBVIPS",e);if(process.env.SHARP_FORCE_GLOBAL_LIBVIPS)return Er(!0,"SHARP_FORCE_GLOBAL_LIBVIPS",e);if(xl())return Er(!1,"Rosetta",e);let t=Nn();return!!t&&ul(t,kn)};Dn.exports={minimumLibvipsVersion:kn,prebuiltPlatforms:pl,buildPlatformArch:ot,buildSharpLibvipsIncludeDir:vl,buildSharpLibvipsCPlusPlusDir:yl,buildSharpLibvipsLibDir:wl,isUnsupportedNodeRuntime:El,runtimePlatformArch:bl,log:ml,yarnLocator:Pl,spawnRebuild:Rl,globalLibvipsVersion:Nn,pkgConfigPath:In,useGlobalLibvips:Sl}});var Et=_((mh,Cn)=>{var{familySync:$l,versionSync:kl}=Dt(),{runtimePlatformArch:Al,isUnsupportedNodeRuntime:Tn,prebuiltPlatforms:_l,minimumLibvipsVersion:Nl}=xr(),Qe=Al(),Il=[`../src/build/Release/sharp-${Qe}.node`,"../src/build/Release/sharp-wasm32.node",`@img/sharp-${Qe}/sharp.node`,"@img/sharp-wasm32/sharp.node"],Pr,at,wt=[];for(Pr of Il)try{at=V(Pr);break}catch(e){wt.push(e)}if(at&&Pr.startsWith("@img/sharp-linux-x64")&&!at._isUsingX64V2()){let e=new Error("Prebuilt binaries for linux-x64 require v2 microarchitecture");e.code="Unsupported CPU",wt.push(e),at=null}if(at)Cn.exports=at;else{let[e,t,r]=["linux","darwin","win32"].map(i=>Qe.startsWith(i)),s=[`Could not load the "sharp" module using the ${Qe} runtime`];wt.forEach(i=>{i.code!=="MODULE_NOT_FOUND"&&s.push(`${i.code}: ${i.message}`)});let n=wt.map(i=>i.message).join(" ");if(s.push("Possible solutions:"),Tn()){let{found:i,expected:o}=Tn();s.push("- Please upgrade Node.js:",` Found ${i}`,` Requires ${o}`)}else if(_l.includes(Qe)){let[i,o]=Qe.split("-"),a=i.endsWith("musl")?" --libc=musl":"";s.push("- Ensure optional dependencies can be installed:"," npm install --include=optional sharp","- Ensure your package manager supports multi-platform installation:"," See https://sharp.pixelplumbing.com/install#cross-platform","- Add platform-specific dependencies:",` npm install --os=${i.replace("musl","")}${a} --cpu=${o} sharp`)}else s.push(`- Manually install libvips >= ${Nl}`,"- Add experimental WebAssembly-based dependencies:"," npm install --cpu=wasm32 sharp"," npm install @img/sharp-wasm32");if(e&&/(symbol not found|CXXABI_)/i.test(n))try{let{config:i}=V(`@img/sharp-libvips-${Qe}/package`),o=`${$l()} ${kl()}`,a=`${i.musl?"musl":"glibc"} ${i.musl||i.glibc}`;s.push("- Update your OS:",` Found ${o}`,` Requires ${a}`)}catch{}throw e&&/\/snap\/core[0-9]{2}/.test(n)&&s.push("- Remove the Node.js Snap, which does not support native modules"," snap remove node"),t&&/Incompatible library version/.test(n)&&s.push("- Update Homebrew:"," brew update && brew upgrade vips"),wt.some(i=>i.code==="ERR_DLOPEN_DISABLED")&&s.push("- Run Node.js without using the --no-addons flag"),r&&/The specified procedure could not be found/.test(n)&&s.push("- Using the canvas package on Windows?"," See https://sharp.pixelplumbing.com/install#canvas-and-windows","- Check for outdated versions of sharp in the dependency tree:"," npm ls sharp"),s.push("- Consult the installation documentation:"," See https://sharp.pixelplumbing.com/install"),new Error(s.join(`
|
|
2
|
+
`))}});var On=_((vh,Fn)=>{var Dl=V("node:util"),Rr=V("node:stream"),Tl=Se();Et();var Cl=Dl.debuglog("sharp"),Fl=e=>{Ze.queue.emit("change",e)},Ze=function(e,t){if(arguments.length===1&&!Tl.defined(e))throw new Error("Invalid input");return this instanceof Ze?(Rr.Duplex.call(this),this.options={topOffsetPre:-1,leftOffsetPre:-1,widthPre:-1,heightPre:-1,topOffsetPost:-1,leftOffsetPost:-1,widthPost:-1,heightPost:-1,width:-1,height:-1,canvas:"crop",position:0,resizeBackground:[0,0,0,255],angle:0,rotationAngle:0,rotationBackground:[0,0,0,255],rotateBefore:!1,orientBefore:!1,flip:!1,flop:!1,extendTop:0,extendBottom:0,extendLeft:0,extendRight:0,extendBackground:[0,0,0,255],extendWith:"background",withoutEnlargement:!1,withoutReduction:!1,affineMatrix:[],affineBackground:[0,0,0,255],affineIdx:0,affineIdy:0,affineOdx:0,affineOdy:0,affineInterpolator:this.constructor.interpolators.bilinear,kernel:"lanczos3",fastShrinkOnLoad:!0,tint:[-1,0,0,0],flatten:!1,flattenBackground:[0,0,0],unflatten:!1,negate:!1,negateAlpha:!0,medianSize:0,blurSigma:0,precision:"integer",minAmpl:.2,sharpenSigma:0,sharpenM1:1,sharpenM2:2,sharpenX1:2,sharpenY2:10,sharpenY3:20,threshold:0,thresholdGrayscale:!0,trimBackground:[],trimThreshold:-1,trimLineArt:!1,dilateWidth:0,erodeWidth:0,gamma:0,gammaOut:0,greyscale:!1,normalise:!1,normaliseLower:1,normaliseUpper:99,claheWidth:0,claheHeight:0,claheMaxSlope:3,brightness:1,saturation:1,hue:0,lightness:0,booleanBufferIn:null,booleanFileIn:"",joinChannelIn:[],extractChannel:-1,removeAlpha:!1,ensureAlpha:-1,colourspace:"srgb",colourspacePipeline:"last",composite:[],fileOut:"",formatOut:"input",streamOut:!1,keepMetadata:0,withMetadataOrientation:-1,withMetadataDensity:0,withIccProfile:"",withExif:{},withExifMerge:!0,withXmp:"",resolveWithObject:!1,loop:-1,delay:[],jpegQuality:80,jpegProgressive:!1,jpegChromaSubsampling:"4:2:0",jpegTrellisQuantisation:!1,jpegOvershootDeringing:!1,jpegOptimiseScans:!1,jpegOptimiseCoding:!0,jpegQuantisationTable:0,pngProgressive:!1,pngCompressionLevel:6,pngAdaptiveFiltering:!1,pngPalette:!1,pngQuality:100,pngEffort:7,pngBitdepth:8,pngDither:1,jp2Quality:80,jp2TileHeight:512,jp2TileWidth:512,jp2Lossless:!1,jp2ChromaSubsampling:"4:4:4",webpQuality:80,webpAlphaQuality:100,webpLossless:!1,webpNearLossless:!1,webpSmartSubsample:!1,webpSmartDeblock:!1,webpPreset:"default",webpEffort:4,webpMinSize:!1,webpMixed:!1,gifBitdepth:8,gifEffort:7,gifDither:1,gifInterFrameMaxError:0,gifInterPaletteMaxError:3,gifKeepDuplicateFrames:!1,gifReuse:!0,gifProgressive:!1,tiffQuality:80,tiffCompression:"jpeg",tiffBigtiff:!1,tiffPredictor:"horizontal",tiffPyramid:!1,tiffMiniswhite:!1,tiffBitdepth:8,tiffTile:!1,tiffTileHeight:256,tiffTileWidth:256,tiffXres:1,tiffYres:1,tiffResolutionUnit:"inch",heifQuality:50,heifLossless:!1,heifCompression:"av1",heifEffort:4,heifChromaSubsampling:"4:4:4",heifBitdepth:8,jxlDistance:1,jxlDecodingTier:0,jxlEffort:7,jxlLossless:!1,rawDepth:"uchar",tileSize:256,tileOverlap:0,tileContainer:"fs",tileLayout:"dz",tileFormat:"last",tileDepth:"last",tileAngle:0,tileSkipBlanks:-1,tileBackground:[255,255,255,255],tileCentre:!1,tileId:"https://example.com/iiif",tileBasename:"",timeoutSeconds:0,linearA:[],linearB:[],pdfBackground:[255,255,255,255],debuglog:r=>{this.emit("warning",r),Cl(r)},queueListener:Fl},this.options.input=this._createInputDescriptor(e,t,{allowStream:!0}),this):new Ze(e,t)};Object.setPrototypeOf(Ze.prototype,Rr.Duplex.prototype);Object.setPrototypeOf(Ze,Rr.Duplex);function Ol(){let e=this.constructor.call(),{debuglog:t,queueListener:r,...s}=this.options;return e.options=structuredClone(s),e.options.debuglog=t,e.options.queueListener=r,this._isStreamInput()&&this.on("finish",()=>{this._flattenBufferIn(),e.options.input.buffer=this.options.input.buffer,e.emit("finish")}),e}Object.assign(Ze.prototype,{clone:Ol});Fn.exports=Ze});var Mn=_((yh,Ln)=>{var h=Se(),Ue=Et(),jl={left:"low",top:"low",low:"low",center:"centre",centre:"centre",right:"high",bottom:"high",high:"high"},Ll=["failOn","limitInputPixels","unlimited","animated","autoOrient","density","ignoreIcc","page","pages","sequentialRead","jp2","openSlide","pdf","raw","svg","tiff","failOnError","openSlideLevel","pdfBackground","tiffSubifd"];function jn(e){let t=Ll.filter(r=>h.defined(e[r])).map(r=>[r,e[r]]);return t.length?Object.fromEntries(t):void 0}function Ml(e,t,r){let s={autoOrient:!1,failOn:"warning",limitInputPixels:268402689,ignoreIcc:!1,unlimited:!1,sequentialRead:!0};if(h.string(e))s.file=e;else if(h.buffer(e)){if(e.length===0)throw Error("Input Buffer is empty");s.buffer=e}else if(h.arrayBuffer(e)){if(e.byteLength===0)throw Error("Input bit Array is empty");s.buffer=Buffer.from(e,0,e.byteLength)}else if(h.typedArray(e)){if(e.length===0)throw Error("Input Bit Array is empty");s.buffer=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(h.plainObject(e)&&!h.defined(t))t=e,jn(t)&&(s.buffer=[]);else if(!h.defined(e)&&!h.defined(t)&&h.object(r)&&r.allowStream)s.buffer=[];else if(Array.isArray(e))if(e.length>1)if(!this.options.joining)this.options.joining=!0,this.options.join=e.map(n=>this._createInputDescriptor(n));else throw new Error("Recursive join is unsupported");else throw new Error("Expected at least two images to join");else throw new Error(`Unsupported input '${e}' of type ${typeof e}${h.defined(t)?` when also providing options of type ${typeof t}`:""}`);if(h.object(t)){if(h.defined(t.failOnError))if(h.bool(t.failOnError))s.failOn=t.failOnError?"warning":"none";else throw h.invalidParameterError("failOnError","boolean",t.failOnError);if(h.defined(t.failOn))if(h.string(t.failOn)&&h.inArray(t.failOn,["none","truncated","error","warning"]))s.failOn=t.failOn;else throw h.invalidParameterError("failOn","one of: none, truncated, error, warning",t.failOn);if(h.defined(t.autoOrient))if(h.bool(t.autoOrient))s.autoOrient=t.autoOrient;else throw h.invalidParameterError("autoOrient","boolean",t.autoOrient);if(h.defined(t.density))if(h.inRange(t.density,1,1e5))s.density=t.density;else throw h.invalidParameterError("density","number between 1 and 100000",t.density);if(h.defined(t.ignoreIcc))if(h.bool(t.ignoreIcc))s.ignoreIcc=t.ignoreIcc;else throw h.invalidParameterError("ignoreIcc","boolean",t.ignoreIcc);if(h.defined(t.limitInputPixels))if(h.bool(t.limitInputPixels))s.limitInputPixels=t.limitInputPixels?16383**2:0;else if(h.integer(t.limitInputPixels)&&h.inRange(t.limitInputPixels,0,Number.MAX_SAFE_INTEGER))s.limitInputPixels=t.limitInputPixels;else throw h.invalidParameterError("limitInputPixels","positive integer",t.limitInputPixels);if(h.defined(t.unlimited))if(h.bool(t.unlimited))s.unlimited=t.unlimited;else throw h.invalidParameterError("unlimited","boolean",t.unlimited);if(h.defined(t.sequentialRead))if(h.bool(t.sequentialRead))s.sequentialRead=t.sequentialRead;else throw h.invalidParameterError("sequentialRead","boolean",t.sequentialRead);if(h.defined(t.raw)){if(h.object(t.raw)&&h.integer(t.raw.width)&&t.raw.width>0&&h.integer(t.raw.height)&&t.raw.height>0&&h.integer(t.raw.channels)&&h.inRange(t.raw.channels,1,4))switch(s.rawWidth=t.raw.width,s.rawHeight=t.raw.height,s.rawChannels=t.raw.channels,e.constructor){case Uint8Array:case Uint8ClampedArray:s.rawDepth="uchar";break;case Int8Array:s.rawDepth="char";break;case Uint16Array:s.rawDepth="ushort";break;case Int16Array:s.rawDepth="short";break;case Uint32Array:s.rawDepth="uint";break;case Int32Array:s.rawDepth="int";break;case Float32Array:s.rawDepth="float";break;case Float64Array:s.rawDepth="double";break;default:s.rawDepth="uchar";break}else throw new Error("Expected width, height and channels for raw pixel input");if(s.rawPremultiplied=!1,h.defined(t.raw.premultiplied))if(h.bool(t.raw.premultiplied))s.rawPremultiplied=t.raw.premultiplied;else throw h.invalidParameterError("raw.premultiplied","boolean",t.raw.premultiplied);if(s.rawPageHeight=0,h.defined(t.raw.pageHeight))if(h.integer(t.raw.pageHeight)&&t.raw.pageHeight>0&&t.raw.pageHeight<=t.raw.height){if(t.raw.height%t.raw.pageHeight!==0)throw new Error(`Expected raw.height ${t.raw.height} to be a multiple of raw.pageHeight ${t.raw.pageHeight}`);s.rawPageHeight=t.raw.pageHeight}else throw h.invalidParameterError("raw.pageHeight","positive integer",t.raw.pageHeight)}if(h.defined(t.animated))if(h.bool(t.animated))s.pages=t.animated?-1:1;else throw h.invalidParameterError("animated","boolean",t.animated);if(h.defined(t.pages))if(h.integer(t.pages)&&h.inRange(t.pages,-1,1e5))s.pages=t.pages;else throw h.invalidParameterError("pages","integer between -1 and 100000",t.pages);if(h.defined(t.page))if(h.integer(t.page)&&h.inRange(t.page,0,1e5))s.page=t.page;else throw h.invalidParameterError("page","integer between 0 and 100000",t.page);if(h.object(t.openSlide)&&h.defined(t.openSlide.level))if(h.integer(t.openSlide.level)&&h.inRange(t.openSlide.level,0,256))s.openSlideLevel=t.openSlide.level;else throw h.invalidParameterError("openSlide.level","integer between 0 and 256",t.openSlide.level);else if(h.defined(t.level))if(h.integer(t.level)&&h.inRange(t.level,0,256))s.openSlideLevel=t.level;else throw h.invalidParameterError("level","integer between 0 and 256",t.level);if(h.object(t.tiff)&&h.defined(t.tiff.subifd))if(h.integer(t.tiff.subifd)&&h.inRange(t.tiff.subifd,-1,1e5))s.tiffSubifd=t.tiff.subifd;else throw h.invalidParameterError("tiff.subifd","integer between -1 and 100000",t.tiff.subifd);else if(h.defined(t.subifd))if(h.integer(t.subifd)&&h.inRange(t.subifd,-1,1e5))s.tiffSubifd=t.subifd;else throw h.invalidParameterError("subifd","integer between -1 and 100000",t.subifd);if(h.object(t.svg)){if(h.defined(t.svg.stylesheet))if(h.string(t.svg.stylesheet))s.svgStylesheet=t.svg.stylesheet;else throw h.invalidParameterError("svg.stylesheet","string",t.svg.stylesheet);if(h.defined(t.svg.highBitdepth))if(h.bool(t.svg.highBitdepth))s.svgHighBitdepth=t.svg.highBitdepth;else throw h.invalidParameterError("svg.highBitdepth","boolean",t.svg.highBitdepth)}if(h.object(t.pdf)&&h.defined(t.pdf.background)?s.pdfBackground=this._getBackgroundColourOption(t.pdf.background):h.defined(t.pdfBackground)&&(s.pdfBackground=this._getBackgroundColourOption(t.pdfBackground)),h.object(t.jp2)&&h.defined(t.jp2.oneshot))if(h.bool(t.jp2.oneshot))s.jp2Oneshot=t.jp2.oneshot;else throw h.invalidParameterError("jp2.oneshot","boolean",t.jp2.oneshot);if(h.defined(t.create))if(h.object(t.create)&&h.integer(t.create.width)&&t.create.width>0&&h.integer(t.create.height)&&t.create.height>0&&h.integer(t.create.channels)){if(s.createWidth=t.create.width,s.createHeight=t.create.height,s.createChannels=t.create.channels,s.createPageHeight=0,h.defined(t.create.pageHeight))if(h.integer(t.create.pageHeight)&&t.create.pageHeight>0&&t.create.pageHeight<=t.create.height){if(t.create.height%t.create.pageHeight!==0)throw new Error(`Expected create.height ${t.create.height} to be a multiple of create.pageHeight ${t.create.pageHeight}`);s.createPageHeight=t.create.pageHeight}else throw h.invalidParameterError("create.pageHeight","positive integer",t.create.pageHeight);if(h.defined(t.create.noise)){if(!h.object(t.create.noise))throw new Error("Expected noise to be an object");if(t.create.noise.type!=="gaussian")throw new Error("Only gaussian noise is supported at the moment");if(s.createNoiseType=t.create.noise.type,!h.inRange(t.create.channels,1,4))throw h.invalidParameterError("create.channels","number between 1 and 4",t.create.channels);if(s.createNoiseMean=128,h.defined(t.create.noise.mean))if(h.number(t.create.noise.mean)&&h.inRange(t.create.noise.mean,0,1e4))s.createNoiseMean=t.create.noise.mean;else throw h.invalidParameterError("create.noise.mean","number between 0 and 10000",t.create.noise.mean);if(s.createNoiseSigma=30,h.defined(t.create.noise.sigma))if(h.number(t.create.noise.sigma)&&h.inRange(t.create.noise.sigma,0,1e4))s.createNoiseSigma=t.create.noise.sigma;else throw h.invalidParameterError("create.noise.sigma","number between 0 and 10000",t.create.noise.sigma)}else if(h.defined(t.create.background)){if(!h.inRange(t.create.channels,3,4))throw h.invalidParameterError("create.channels","number between 3 and 4",t.create.channels);s.createBackground=this._getBackgroundColourOption(t.create.background)}else throw new Error("Expected valid noise or background to create a new input image");delete s.buffer}else throw new Error("Expected valid width, height and channels to create a new input image");if(h.defined(t.text))if(h.object(t.text)&&h.string(t.text.text)){if(s.textValue=t.text.text,h.defined(t.text.height)&&h.defined(t.text.dpi))throw new Error("Expected only one of dpi or height");if(h.defined(t.text.font))if(h.string(t.text.font))s.textFont=t.text.font;else throw h.invalidParameterError("text.font","string",t.text.font);if(h.defined(t.text.fontfile))if(h.string(t.text.fontfile))s.textFontfile=t.text.fontfile;else throw h.invalidParameterError("text.fontfile","string",t.text.fontfile);if(h.defined(t.text.width))if(h.integer(t.text.width)&&t.text.width>0)s.textWidth=t.text.width;else throw h.invalidParameterError("text.width","positive integer",t.text.width);if(h.defined(t.text.height))if(h.integer(t.text.height)&&t.text.height>0)s.textHeight=t.text.height;else throw h.invalidParameterError("text.height","positive integer",t.text.height);if(h.defined(t.text.align))if(h.string(t.text.align)&&h.string(this.constructor.align[t.text.align]))s.textAlign=this.constructor.align[t.text.align];else throw h.invalidParameterError("text.align","valid alignment",t.text.align);if(h.defined(t.text.justify))if(h.bool(t.text.justify))s.textJustify=t.text.justify;else throw h.invalidParameterError("text.justify","boolean",t.text.justify);if(h.defined(t.text.dpi))if(h.integer(t.text.dpi)&&h.inRange(t.text.dpi,1,1e6))s.textDpi=t.text.dpi;else throw h.invalidParameterError("text.dpi","integer between 1 and 1000000",t.text.dpi);if(h.defined(t.text.rgba))if(h.bool(t.text.rgba))s.textRgba=t.text.rgba;else throw h.invalidParameterError("text.rgba","bool",t.text.rgba);if(h.defined(t.text.spacing))if(h.integer(t.text.spacing)&&h.inRange(t.text.spacing,-1e6,1e6))s.textSpacing=t.text.spacing;else throw h.invalidParameterError("text.spacing","integer between -1000000 and 1000000",t.text.spacing);if(h.defined(t.text.wrap))if(h.string(t.text.wrap)&&h.inArray(t.text.wrap,["word","char","word-char","none"]))s.textWrap=t.text.wrap;else throw h.invalidParameterError("text.wrap","one of: word, char, word-char, none",t.text.wrap);delete s.buffer}else throw new Error("Expected a valid string to create an image with text.");if(h.defined(t.join))if(h.defined(this.options.join)){if(h.defined(t.join.animated))if(h.bool(t.join.animated))s.joinAnimated=t.join.animated;else throw h.invalidParameterError("join.animated","boolean",t.join.animated);if(h.defined(t.join.across))if(h.integer(t.join.across)&&h.inRange(t.join.across,1,1e6))s.joinAcross=t.join.across;else throw h.invalidParameterError("join.across","integer between 1 and 100000",t.join.across);if(h.defined(t.join.shim))if(h.integer(t.join.shim)&&h.inRange(t.join.shim,0,1e6))s.joinShim=t.join.shim;else throw h.invalidParameterError("join.shim","integer between 0 and 100000",t.join.shim);if(h.defined(t.join.background)&&(s.joinBackground=this._getBackgroundColourOption(t.join.background)),h.defined(t.join.halign))if(h.string(t.join.halign)&&h.string(this.constructor.align[t.join.halign]))s.joinHalign=this.constructor.align[t.join.halign];else throw h.invalidParameterError("join.halign","valid alignment",t.join.halign);if(h.defined(t.join.valign))if(h.string(t.join.valign)&&h.string(this.constructor.align[t.join.valign]))s.joinValign=this.constructor.align[t.join.valign];else throw h.invalidParameterError("join.valign","valid alignment",t.join.valign)}else throw new Error("Expected input to be an array of images to join")}else if(h.defined(t))throw new Error(`Invalid input options ${t}`);return s}function zl(e,t,r){Array.isArray(this.options.input.buffer)?h.buffer(e)?(this.options.input.buffer.length===0&&this.on("finish",()=>{this.streamInFinished=!0}),this.options.input.buffer.push(e),r()):r(new Error("Non-Buffer data on Writable Stream")):r(new Error("Unexpected data on Writable Stream"))}function Bl(){this._isStreamInput()&&(this.options.input.buffer=Buffer.concat(this.options.input.buffer))}function Gl(){return Array.isArray(this.options.input.buffer)}function Ul(e){let t=Error();return h.fn(e)?(this._isStreamInput()?this.on("finish",()=>{this._flattenBufferIn(),Ue.metadata(this.options,(r,s)=>{r?e(h.nativeError(r,t)):e(null,s)})}):Ue.metadata(this.options,(r,s)=>{r?e(h.nativeError(r,t)):e(null,s)}),this):this._isStreamInput()?new Promise((r,s)=>{let n=()=>{this._flattenBufferIn(),Ue.metadata(this.options,(i,o)=>{i?s(h.nativeError(i,t)):r(o)})};this.writableFinished?n():this.once("finish",n)}):new Promise((r,s)=>{Ue.metadata(this.options,(n,i)=>{n?s(h.nativeError(n,t)):r(i)})})}function ql(e){let t=Error();return h.fn(e)?(this._isStreamInput()?this.on("finish",()=>{this._flattenBufferIn(),Ue.stats(this.options,(r,s)=>{r?e(h.nativeError(r,t)):e(null,s)})}):Ue.stats(this.options,(r,s)=>{r?e(h.nativeError(r,t)):e(null,s)}),this):this._isStreamInput()?new Promise((r,s)=>{this.on("finish",function(){this._flattenBufferIn(),Ue.stats(this.options,(n,i)=>{n?s(h.nativeError(n,t)):r(i)})})}):new Promise((r,s)=>{Ue.stats(this.options,(n,i)=>{n?s(h.nativeError(n,t)):r(i)})})}Ln.exports=e=>{Object.assign(e.prototype,{_inputOptionsFromObject:jn,_createInputDescriptor:Ml,_write:zl,_flattenBufferIn:Bl,_isStreamInput:Gl,metadata:Ul,stats:ql}),e.align=jl}});var Wn=_((wh,qn)=>{var x=Se(),Bn={center:0,centre:0,north:1,east:2,south:3,west:4,northeast:5,southeast:6,southwest:7,northwest:8},Gn={top:1,right:2,bottom:3,left:4,"right top":5,"right bottom":6,"left bottom":7,"left top":8},zn={background:"background",copy:"copy",repeat:"repeat",mirror:"mirror"},Un={entropy:16,attention:17},Sr={nearest:"nearest",linear:"linear",cubic:"cubic",mitchell:"mitchell",lanczos2:"lanczos2",lanczos3:"lanczos3",mks2013:"mks2013",mks2021:"mks2021"},Wl={contain:"contain",cover:"cover",fill:"fill",inside:"inside",outside:"outside"},Hl={contain:"embed",cover:"crop",fill:"ignore_aspect",inside:"max",outside:"min"};function $r(e){return e.angle%360!==0||e.rotationAngle!==0}function Ut(e){return e.width!==-1||e.height!==-1}function Vl(e,t,r){if(Ut(this.options)&&this.options.debuglog("ignoring previous resize options"),this.options.widthPost!==-1&&this.options.debuglog("operation order will be: extract, resize, extract"),x.defined(e))if(x.object(e)&&!x.defined(r))r=e;else if(x.integer(e)&&e>0)this.options.width=e;else throw x.invalidParameterError("width","positive integer",e);else this.options.width=-1;if(x.defined(t))if(x.integer(t)&&t>0)this.options.height=t;else throw x.invalidParameterError("height","positive integer",t);else this.options.height=-1;if(x.object(r)){if(x.defined(r.width))if(x.integer(r.width)&&r.width>0)this.options.width=r.width;else throw x.invalidParameterError("width","positive integer",r.width);if(x.defined(r.height))if(x.integer(r.height)&&r.height>0)this.options.height=r.height;else throw x.invalidParameterError("height","positive integer",r.height);if(x.defined(r.fit)){let s=Hl[r.fit];if(x.string(s))this.options.canvas=s;else throw x.invalidParameterError("fit","valid fit",r.fit)}if(x.defined(r.position)){let s=x.integer(r.position)?r.position:Un[r.position]||Gn[r.position]||Bn[r.position];if(x.integer(s)&&(x.inRange(s,0,8)||x.inRange(s,16,17)))this.options.position=s;else throw x.invalidParameterError("position","valid position/gravity/strategy",r.position)}if(this._setBackgroundColourOption("resizeBackground",r.background),x.defined(r.kernel))if(x.string(Sr[r.kernel]))this.options.kernel=Sr[r.kernel];else throw x.invalidParameterError("kernel","valid kernel name",r.kernel);x.defined(r.withoutEnlargement)&&this._setBooleanOption("withoutEnlargement",r.withoutEnlargement),x.defined(r.withoutReduction)&&this._setBooleanOption("withoutReduction",r.withoutReduction),x.defined(r.fastShrinkOnLoad)&&this._setBooleanOption("fastShrinkOnLoad",r.fastShrinkOnLoad)}return $r(this.options)&&Ut(this.options)&&(this.options.rotateBefore=!0),this}function Jl(e){if(x.integer(e)&&e>0)this.options.extendTop=e,this.options.extendBottom=e,this.options.extendLeft=e,this.options.extendRight=e;else if(x.object(e)){if(x.defined(e.top))if(x.integer(e.top)&&e.top>=0)this.options.extendTop=e.top;else throw x.invalidParameterError("top","positive integer",e.top);if(x.defined(e.bottom))if(x.integer(e.bottom)&&e.bottom>=0)this.options.extendBottom=e.bottom;else throw x.invalidParameterError("bottom","positive integer",e.bottom);if(x.defined(e.left))if(x.integer(e.left)&&e.left>=0)this.options.extendLeft=e.left;else throw x.invalidParameterError("left","positive integer",e.left);if(x.defined(e.right))if(x.integer(e.right)&&e.right>=0)this.options.extendRight=e.right;else throw x.invalidParameterError("right","positive integer",e.right);if(this._setBackgroundColourOption("extendBackground",e.background),x.defined(e.extendWith))if(x.string(zn[e.extendWith]))this.options.extendWith=zn[e.extendWith];else throw x.invalidParameterError("extendWith","one of: background, copy, repeat, mirror",e.extendWith)}else throw x.invalidParameterError("extend","integer or object",e);return this}function Xl(e){let t=Ut(this.options)||this.options.widthPre!==-1?"Post":"Pre";return this.options[`width${t}`]!==-1&&this.options.debuglog("ignoring previous extract options"),["left","top","width","height"].forEach(function(r){let s=e[r];if(x.integer(s)&&s>=0)this.options[r+(r==="left"||r==="top"?"Offset":"")+t]=s;else throw x.invalidParameterError(r,"integer",s)},this),$r(this.options)&&!Ut(this.options)&&(this.options.widthPre===-1||this.options.widthPost===-1)&&(this.options.rotateBefore=!0),this.options.input.autoOrient&&(this.options.orientBefore=!0),this}function Yl(e){if(this.options.trimThreshold=10,x.defined(e))if(x.object(e)){if(x.defined(e.background)&&this._setBackgroundColourOption("trimBackground",e.background),x.defined(e.threshold))if(x.number(e.threshold)&&e.threshold>=0)this.options.trimThreshold=e.threshold;else throw x.invalidParameterError("threshold","positive number",e.threshold);x.defined(e.lineArt)&&this._setBooleanOption("trimLineArt",e.lineArt)}else throw x.invalidParameterError("trim","object",e);return $r(this.options)&&(this.options.rotateBefore=!0),this}qn.exports=e=>{Object.assign(e.prototype,{resize:Vl,extend:Jl,extract:Xl,trim:Yl}),e.gravity=Bn,e.strategy=Un,e.kernel=Sr,e.fit=Wl,e.position=Gn}});var Vn=_((Eh,Hn)=>{var B=Se(),kr={clear:"clear",source:"source",over:"over",in:"in",out:"out",atop:"atop",dest:"dest","dest-over":"dest-over","dest-in":"dest-in","dest-out":"dest-out","dest-atop":"dest-atop",xor:"xor",add:"add",saturate:"saturate",multiply:"multiply",screen:"screen",overlay:"overlay",darken:"darken",lighten:"lighten","colour-dodge":"colour-dodge","color-dodge":"colour-dodge","colour-burn":"colour-burn","color-burn":"colour-burn","hard-light":"hard-light","soft-light":"soft-light",difference:"difference",exclusion:"exclusion"};function Kl(e){if(!Array.isArray(e))throw B.invalidParameterError("images to composite","array",e);return this.options.composite=e.map(t=>{if(!B.object(t))throw B.invalidParameterError("image to composite","object",t);let r=this._inputOptionsFromObject(t),s={input:this._createInputDescriptor(t.input,r,{allowStream:!1}),blend:"over",tile:!1,left:0,top:0,hasOffset:!1,gravity:0,premultiplied:!1};if(B.defined(t.blend))if(B.string(kr[t.blend]))s.blend=kr[t.blend];else throw B.invalidParameterError("blend","valid blend name",t.blend);if(B.defined(t.tile))if(B.bool(t.tile))s.tile=t.tile;else throw B.invalidParameterError("tile","boolean",t.tile);if(B.defined(t.left))if(B.integer(t.left))s.left=t.left;else throw B.invalidParameterError("left","integer",t.left);if(B.defined(t.top))if(B.integer(t.top))s.top=t.top;else throw B.invalidParameterError("top","integer",t.top);if(B.defined(t.top)!==B.defined(t.left))throw new Error("Expected both left and top to be set");if(s.hasOffset=B.integer(t.top)&&B.integer(t.left),B.defined(t.gravity))if(B.integer(t.gravity)&&B.inRange(t.gravity,0,8))s.gravity=t.gravity;else if(B.string(t.gravity)&&B.integer(this.constructor.gravity[t.gravity]))s.gravity=this.constructor.gravity[t.gravity];else throw B.invalidParameterError("gravity","valid gravity",t.gravity);if(B.defined(t.premultiplied))if(B.bool(t.premultiplied))s.premultiplied=t.premultiplied;else throw B.invalidParameterError("premultiplied","boolean",t.premultiplied);return s}),this}Hn.exports=e=>{e.prototype.composite=Kl,e.blend=kr}});var Qn=_((xh,Kn)=>{var d=Se(),Jn={integer:"integer",float:"float",approximate:"approximate"};function Ql(e,t){if(!d.defined(e))return this.autoOrient();if((this.options.angle||this.options.rotationAngle)&&(this.options.debuglog("ignoring previous rotate options"),this.options.angle=0,this.options.rotationAngle=0),d.integer(e)&&!(e%90))this.options.angle=e;else if(d.number(e))this.options.rotationAngle=e,d.object(t)&&t.background&&this._setBackgroundColourOption("rotationBackground",t.background);else throw d.invalidParameterError("angle","numeric",e);return this}function Zl(){return this.options.input.autoOrient=!0,this}function ec(e){return this.options.flip=d.bool(e)?e:!0,this}function tc(e){return this.options.flop=d.bool(e)?e:!0,this}function rc(e,t){let r=[].concat(...e);if(r.length===4&&r.every(d.number))this.options.affineMatrix=r;else throw d.invalidParameterError("matrix","1x4 or 2x2 array",e);if(d.defined(t))if(d.object(t)){if(this._setBackgroundColourOption("affineBackground",t.background),d.defined(t.idx))if(d.number(t.idx))this.options.affineIdx=t.idx;else throw d.invalidParameterError("options.idx","number",t.idx);if(d.defined(t.idy))if(d.number(t.idy))this.options.affineIdy=t.idy;else throw d.invalidParameterError("options.idy","number",t.idy);if(d.defined(t.odx))if(d.number(t.odx))this.options.affineOdx=t.odx;else throw d.invalidParameterError("options.odx","number",t.odx);if(d.defined(t.ody))if(d.number(t.ody))this.options.affineOdy=t.ody;else throw d.invalidParameterError("options.ody","number",t.ody);if(d.defined(t.interpolator))if(d.inArray(t.interpolator,Object.values(this.constructor.interpolators)))this.options.affineInterpolator=t.interpolator;else throw d.invalidParameterError("options.interpolator","valid interpolator name",t.interpolator)}else throw d.invalidParameterError("options","object",t);return this}function sc(e,t,r){if(!d.defined(e))this.options.sharpenSigma=-1;else if(d.bool(e))this.options.sharpenSigma=e?-1:0;else if(d.number(e)&&d.inRange(e,.01,1e4)){if(this.options.sharpenSigma=e,d.defined(t))if(d.number(t)&&d.inRange(t,0,1e4))this.options.sharpenM1=t;else throw d.invalidParameterError("flat","number between 0 and 10000",t);if(d.defined(r))if(d.number(r)&&d.inRange(r,0,1e4))this.options.sharpenM2=r;else throw d.invalidParameterError("jagged","number between 0 and 10000",r)}else if(d.plainObject(e)){if(d.number(e.sigma)&&d.inRange(e.sigma,1e-6,10))this.options.sharpenSigma=e.sigma;else throw d.invalidParameterError("options.sigma","number between 0.000001 and 10",e.sigma);if(d.defined(e.m1))if(d.number(e.m1)&&d.inRange(e.m1,0,1e6))this.options.sharpenM1=e.m1;else throw d.invalidParameterError("options.m1","number between 0 and 1000000",e.m1);if(d.defined(e.m2))if(d.number(e.m2)&&d.inRange(e.m2,0,1e6))this.options.sharpenM2=e.m2;else throw d.invalidParameterError("options.m2","number between 0 and 1000000",e.m2);if(d.defined(e.x1))if(d.number(e.x1)&&d.inRange(e.x1,0,1e6))this.options.sharpenX1=e.x1;else throw d.invalidParameterError("options.x1","number between 0 and 1000000",e.x1);if(d.defined(e.y2))if(d.number(e.y2)&&d.inRange(e.y2,0,1e6))this.options.sharpenY2=e.y2;else throw d.invalidParameterError("options.y2","number between 0 and 1000000",e.y2);if(d.defined(e.y3))if(d.number(e.y3)&&d.inRange(e.y3,0,1e6))this.options.sharpenY3=e.y3;else throw d.invalidParameterError("options.y3","number between 0 and 1000000",e.y3)}else throw d.invalidParameterError("sigma","number between 0.01 and 10000",e);return this}function nc(e){if(!d.defined(e))this.options.medianSize=3;else if(d.integer(e)&&d.inRange(e,1,1e3))this.options.medianSize=e;else throw d.invalidParameterError("size","integer between 1 and 1000",e);return this}function ic(e){let t;if(d.number(e))t=e;else if(d.plainObject(e)){if(!d.number(e.sigma))throw d.invalidParameterError("options.sigma","number between 0.3 and 1000",t);if(t=e.sigma,"precision"in e)if(d.string(Jn[e.precision]))this.options.precision=Jn[e.precision];else throw d.invalidParameterError("precision","one of: integer, float, approximate",e.precision);if("minAmplitude"in e)if(d.number(e.minAmplitude)&&d.inRange(e.minAmplitude,.001,1))this.options.minAmpl=e.minAmplitude;else throw d.invalidParameterError("minAmplitude","number between 0.001 and 1",e.minAmplitude)}if(!d.defined(e))this.options.blurSigma=-1;else if(d.bool(e))this.options.blurSigma=e?-1:0;else if(d.number(t)&&d.inRange(t,.3,1e3))this.options.blurSigma=t;else throw d.invalidParameterError("sigma","number between 0.3 and 1000",t);return this}function Xn(e){if(!d.defined(e))this.options.dilateWidth=1;else if(d.integer(e)&&e>0)this.options.dilateWidth=e;else throw d.invalidParameterError("dilate","positive integer",Xn);return this}function Yn(e){if(!d.defined(e))this.options.erodeWidth=1;else if(d.integer(e)&&e>0)this.options.erodeWidth=e;else throw d.invalidParameterError("erode","positive integer",Yn);return this}function oc(e){return this.options.flatten=d.bool(e)?e:!0,d.object(e)&&this._setBackgroundColourOption("flattenBackground",e.background),this}function ac(){return this.options.unflatten=!0,this}function lc(e,t){if(!d.defined(e))this.options.gamma=2.2;else if(d.number(e)&&d.inRange(e,1,3))this.options.gamma=e;else throw d.invalidParameterError("gamma","number between 1.0 and 3.0",e);if(!d.defined(t))this.options.gammaOut=this.options.gamma;else if(d.number(t)&&d.inRange(t,1,3))this.options.gammaOut=t;else throw d.invalidParameterError("gammaOut","number between 1.0 and 3.0",t);return this}function cc(e){if(this.options.negate=d.bool(e)?e:!0,d.plainObject(e)&&"alpha"in e)if(d.bool(e.alpha))this.options.negateAlpha=e.alpha;else throw d.invalidParameterError("alpha","should be boolean value",e.alpha);return this}function uc(e){if(d.plainObject(e)){if(d.defined(e.lower))if(d.number(e.lower)&&d.inRange(e.lower,0,99))this.options.normaliseLower=e.lower;else throw d.invalidParameterError("lower","number between 0 and 99",e.lower);if(d.defined(e.upper))if(d.number(e.upper)&&d.inRange(e.upper,1,100))this.options.normaliseUpper=e.upper;else throw d.invalidParameterError("upper","number between 1 and 100",e.upper)}if(this.options.normaliseLower>=this.options.normaliseUpper)throw d.invalidParameterError("range","lower to be less than upper",`${this.options.normaliseLower} >= ${this.options.normaliseUpper}`);return this.options.normalise=!0,this}function fc(e){return this.normalise(e)}function hc(e){if(d.plainObject(e)){if(d.integer(e.width)&&e.width>0)this.options.claheWidth=e.width;else throw d.invalidParameterError("width","integer greater than zero",e.width);if(d.integer(e.height)&&e.height>0)this.options.claheHeight=e.height;else throw d.invalidParameterError("height","integer greater than zero",e.height);if(d.defined(e.maxSlope))if(d.integer(e.maxSlope)&&d.inRange(e.maxSlope,0,100))this.options.claheMaxSlope=e.maxSlope;else throw d.invalidParameterError("maxSlope","integer between 0 and 100",e.maxSlope)}else throw d.invalidParameterError("options","plain object",e);return this}function dc(e){if(!d.object(e)||!Array.isArray(e.kernel)||!d.integer(e.width)||!d.integer(e.height)||!d.inRange(e.width,3,1001)||!d.inRange(e.height,3,1001)||e.height*e.width!==e.kernel.length)throw new Error("Invalid convolution kernel");return d.integer(e.scale)||(e.scale=e.kernel.reduce((t,r)=>t+r,0)),e.scale<1&&(e.scale=1),d.integer(e.offset)||(e.offset=0),this.options.convKernel=e,this}function gc(e,t){if(!d.defined(e))this.options.threshold=128;else if(d.bool(e))this.options.threshold=e?128:0;else if(d.integer(e)&&d.inRange(e,0,255))this.options.threshold=e;else throw d.invalidParameterError("threshold","integer between 0 and 255",e);return!d.object(t)||t.greyscale===!0||t.grayscale===!0?this.options.thresholdGrayscale=!0:this.options.thresholdGrayscale=!1,this}function pc(e,t,r){if(this.options.boolean=this._createInputDescriptor(e,r),d.string(t)&&d.inArray(t,["and","or","eor"]))this.options.booleanOp=t;else throw d.invalidParameterError("operator","one of: and, or, eor",t);return this}function mc(e,t){if(!d.defined(e)&&d.number(t)?e=1:d.number(e)&&!d.defined(t)&&(t=0),!d.defined(e))this.options.linearA=[];else if(d.number(e))this.options.linearA=[e];else if(Array.isArray(e)&&e.length&&e.every(d.number))this.options.linearA=e;else throw d.invalidParameterError("a","number or array of numbers",e);if(!d.defined(t))this.options.linearB=[];else if(d.number(t))this.options.linearB=[t];else if(Array.isArray(t)&&t.length&&t.every(d.number))this.options.linearB=t;else throw d.invalidParameterError("b","number or array of numbers",t);if(this.options.linearA.length!==this.options.linearB.length)throw new Error("Expected a and b to be arrays of the same length");return this}function bc(e){if(!Array.isArray(e))throw d.invalidParameterError("inputMatrix","array",e);if(e.length!==3&&e.length!==4)throw d.invalidParameterError("inputMatrix","3x3 or 4x4 array",e.length);let t=e.flat().map(Number);if(t.length!==9&&t.length!==16)throw d.invalidParameterError("inputMatrix","cardinality of 9 or 16",t.length);return this.options.recombMatrix=t,this}function vc(e){if(!d.plainObject(e))throw d.invalidParameterError("options","plain object",e);if("brightness"in e)if(d.number(e.brightness)&&e.brightness>=0)this.options.brightness=e.brightness;else throw d.invalidParameterError("brightness","number above zero",e.brightness);if("saturation"in e)if(d.number(e.saturation)&&e.saturation>=0)this.options.saturation=e.saturation;else throw d.invalidParameterError("saturation","number above zero",e.saturation);if("hue"in e)if(d.integer(e.hue))this.options.hue=e.hue%360;else throw d.invalidParameterError("hue","number",e.hue);if("lightness"in e)if(d.number(e.lightness))this.options.lightness=e.lightness;else throw d.invalidParameterError("lightness","number",e.lightness);return this}Kn.exports=e=>{Object.assign(e.prototype,{autoOrient:Zl,rotate:Ql,flip:ec,flop:tc,affine:rc,sharpen:sc,erode:Yn,dilate:Xn,median:nc,blur:ic,flatten:oc,unflatten:ac,gamma:lc,negate:cc,normalise:uc,normalize:fc,clahe:hc,convolve:dc,threshold:gc,boolean:pc,linear:mc,recomb:bc,modulate:vc})}});var ni=_((Ph,si)=>{var Ir=Object.defineProperty,yc=Object.getOwnPropertyDescriptor,wc=Object.getOwnPropertyNames,Ec=Object.prototype.hasOwnProperty,xc=(e,t)=>{for(var r in t)Ir(e,r,{get:t[r],enumerable:!0})},Pc=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of wc(t))!Ec.call(e,n)&&n!==r&&Ir(e,n,{get:()=>t[n],enumerable:!(s=yc(t,n))||s.enumerable});return e},Rc=e=>Pc(Ir({},"__esModule",{value:!0}),e),Zn={};xc(Zn,{default:()=>Lc});si.exports=Rc(Zn);var Ne={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ei=Object.create(null);for(let e in Ne)Object.hasOwn(Ne,e)&&(ei[Ne[e]]=e);var ce={to:{},get:{}};ce.get=function(e){let t=e.slice(0,3).toLowerCase(),r,s;switch(t){case"hsl":{r=ce.get.hsl(e),s="hsl";break}case"hwb":{r=ce.get.hwb(e),s="hwb";break}default:{r=ce.get.rgb(e),s="rgb";break}}return r?{model:s,value:r}:null};ce.get.rgb=function(e){if(!e)return null;let t=/^#([a-f\d]{3,4})$/i,r=/^#([a-f\d]{6})([a-f\d]{2})?$/i,s=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/,n=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/,i=/^(\w+)$/,o=[0,0,0,1],a,c,u;if(a=e.match(r)){for(u=a[2],a=a[1],c=0;c<3;c++){let f=c*2;o[c]=Number.parseInt(a.slice(f,f+2),16)}u&&(o[3]=Number.parseInt(u,16)/255)}else if(a=e.match(t)){for(a=a[1],u=a[3],c=0;c<3;c++)o[c]=Number.parseInt(a[c]+a[c],16);u&&(o[3]=Number.parseInt(u+u,16)/255)}else if(a=e.match(s)){for(c=0;c<3;c++)o[c]=Number.parseInt(a[c+1],10);a[4]&&(o[3]=a[5]?Number.parseFloat(a[4])*.01:Number.parseFloat(a[4]))}else if(a=e.match(n)){for(c=0;c<3;c++)o[c]=Math.round(Number.parseFloat(a[c+1])*2.55);a[4]&&(o[3]=a[5]?Number.parseFloat(a[4])*.01:Number.parseFloat(a[4]))}else return(a=e.match(i))?a[1]==="transparent"?[0,0,0,0]:Object.hasOwn(Ne,a[1])?(o=Ne[a[1]],o[3]=1,o):null:null;for(c=0;c<3;c++)o[c]=qe(o[c],0,255);return o[3]=qe(o[3],0,1),o};ce.get.hsl=function(e){if(!e)return null;let t=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,r=e.match(t);if(r){let s=Number.parseFloat(r[4]),n=(Number.parseFloat(r[1])%360+360)%360,i=qe(Number.parseFloat(r[2]),0,100),o=qe(Number.parseFloat(r[3]),0,100),a=qe(Number.isNaN(s)?1:s,0,1);return[n,i,o,a]}return null};ce.get.hwb=function(e){if(!e)return null;let t=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,r=e.match(t);if(r){let s=Number.parseFloat(r[4]),n=(Number.parseFloat(r[1])%360+360)%360,i=qe(Number.parseFloat(r[2]),0,100),o=qe(Number.parseFloat(r[3]),0,100),a=qe(Number.isNaN(s)?1:s,0,1);return[n,i,o,a]}return null};ce.to.hex=function(...e){return"#"+qt(e[0])+qt(e[1])+qt(e[2])+(e[3]<1?qt(Math.round(e[3]*255)):"")};ce.to.rgb=function(...e){return e.length<4||e[3]===1?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"};ce.to.rgb.percent=function(...e){let t=Math.round(e[0]/255*100),r=Math.round(e[1]/255*100),s=Math.round(e[2]/255*100);return e.length<4||e[3]===1?"rgb("+t+"%, "+r+"%, "+s+"%)":"rgba("+t+"%, "+r+"%, "+s+"%, "+e[3]+")"};ce.to.hsl=function(...e){return e.length<4||e[3]===1?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"};ce.to.hwb=function(...e){let t="";return e.length>=4&&e[3]!==1&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"};ce.to.keyword=function(...e){return ei[e.slice(0,3)]};function qe(e,t,r){return Math.min(Math.max(t,e),r)}function qt(e){let t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}var lt=ce,ti={};for(let e of Object.keys(Ne))ti[Ne[e]]=e;var v={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},et=v,Oe=(6/29)**3;function ut(e){let t=e>.0031308?1.055*e**.4166666666666667-.055:e*12.92;return Math.min(Math.max(0,t),1)}function ft(e){return e>.04045?((e+.055)/1.055)**2.4:e/12.92}for(let e of Object.keys(v)){if(!("channels"in v[e]))throw new Error("missing channels property: "+e);if(!("labels"in v[e]))throw new Error("missing channel labels property: "+e);if(v[e].labels.length!==v[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=v[e];delete v[e].channels,delete v[e].labels,Object.defineProperty(v[e],"channels",{value:t}),Object.defineProperty(v[e],"labels",{value:r})}v.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,n=Math.min(t,r,s),i=Math.max(t,r,s),o=i-n,a,c;switch(i){case n:{a=0;break}case t:{a=(r-s)/o;break}case r:{a=2+(s-t)/o;break}case s:{a=4+(t-r)/o;break}}a=Math.min(a*60,360),a<0&&(a+=360);let u=(n+i)/2;return i===n?c=0:u<=.5?c=o/(i+n):c=o/(2-i-n),[a,c*100,u*100]};v.rgb.hsv=function(e){let t,r,s,n,i,o=e[0]/255,a=e[1]/255,c=e[2]/255,u=Math.max(o,a,c),f=u-Math.min(o,a,c),g=function(p){return(u-p)/6/f+1/2};if(f===0)n=0,i=0;else{switch(i=f/u,t=g(o),r=g(a),s=g(c),u){case o:{n=s-r;break}case a:{n=1/3+t-s;break}case c:{n=2/3+r-t;break}}n<0?n+=1:n>1&&(n-=1)}return[n*360,i*100,u*100]};v.rgb.hwb=function(e){let t=e[0],r=e[1],s=e[2],n=v.rgb.hsl(e)[0],i=1/255*Math.min(t,Math.min(r,s));return s=1-1/255*Math.max(t,Math.max(r,s)),[n,i*100,s*100]};v.rgb.oklab=function(e){let t=ft(e[0]/255),r=ft(e[1]/255),s=ft(e[2]/255),n=Math.cbrt(.4122214708*t+.5363325363*r+.0514459929*s),i=Math.cbrt(.2119034982*t+.6806995451*r+.1073969566*s),o=Math.cbrt(.0883024619*t+.2817188376*r+.6299787005*s),a=.2104542553*n+.793617785*i-.0040720468*o,c=1.9779984951*n-2.428592205*i+.4505937099*o,u=.0259040371*n+.7827717662*i-.808675766*o;return[a*100,c*100,u*100]};v.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,n=Math.min(1-t,1-r,1-s),i=(1-t-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-s-n)/(1-n)||0;return[i*100,o*100,a*100,n*100]};function Sc(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}v.rgb.keyword=function(e){let t=ti[e];if(t)return t;let r=Number.POSITIVE_INFINITY,s;for(let n of Object.keys(Ne)){let i=Ne[n],o=Sc(e,i);o<r&&(r=o,s=n)}return s};v.keyword.rgb=function(e){return Ne[e]};v.rgb.xyz=function(e){let t=ft(e[0]/255),r=ft(e[1]/255),s=ft(e[2]/255),n=t*.4124564+r*.3575761+s*.1804375,i=t*.2126729+r*.7151522+s*.072175,o=t*.0193339+r*.119192+s*.9503041;return[n*100,i*100,o*100]};v.rgb.lab=function(e){let t=v.rgb.xyz(e),r=t[0],s=t[1],n=t[2];r/=95.047,s/=100,n/=108.883,r=r>Oe?r**(1/3):7.787*r+16/116,s=s>Oe?s**(1/3):7.787*s+16/116,n=n>Oe?n**(1/3):7.787*n+16/116;let i=116*s-16,o=500*(r-s),a=200*(s-n);return[i,o,a]};v.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100,n,i;if(r===0)return i=s*255,[i,i,i];let o=s<.5?s*(1+r):s+r-s*r,a=2*s-o,c=[0,0,0];for(let u=0;u<3;u++)n=t+1/3*-(u-1),n<0&&n++,n>1&&n--,6*n<1?i=a+(o-a)*6*n:2*n<1?i=o:3*n<2?i=a+(o-a)*(2/3-n)*6:i=a,c[u]=i*255;return c};v.hsl.hsv=function(e){let t=e[0],r=e[1]/100,s=e[2]/100,n=r,i=Math.max(s,.01);s*=2,r*=s<=1?s:2-s,n*=i<=1?i:2-i;let o=(s+r)/2,a=s===0?2*n/(i+n):2*r/(s+r);return[t,a*100,o*100]};v.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,s=e[2]/100,n=Math.floor(t)%6,i=t-Math.floor(t),o=255*s*(1-r),a=255*s*(1-r*i),c=255*s*(1-r*(1-i));switch(s*=255,n){case 0:return[s,c,o];case 1:return[a,s,o];case 2:return[o,s,c];case 3:return[o,a,s];case 4:return[c,o,s];case 5:return[s,o,a]}};v.hsv.hsl=function(e){let t=e[0],r=e[1]/100,s=e[2]/100,n=Math.max(s,.01),i,o;o=(2-r)*s;let a=(2-r)*n;return i=r*n,i/=a<=1?a:2-a,i=i||0,o/=2,[t,i*100,o*100]};v.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100,n=r+s,i;n>1&&(r/=n,s/=n);let o=Math.floor(6*t),a=1-s;i=6*t-o,(o&1)!==0&&(i=1-i);let c=r+i*(a-r),u,f,g;switch(o){default:case 6:case 0:{u=a,f=c,g=r;break}case 1:{u=c,f=a,g=r;break}case 2:{u=r,f=a,g=c;break}case 3:{u=r,f=c,g=a;break}case 4:{u=c,f=r,g=a;break}case 5:{u=a,f=r,g=c;break}}return[u*255,f*255,g*255]};v.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n=e[3]/100,i=1-Math.min(1,t*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,s*(1-n)+n);return[i*255,o*255,a*255]};v.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n,i,o;return n=t*3.2404542+r*-1.5371385+s*-.4985314,i=t*-.969266+r*1.8760108+s*.041556,o=t*.0556434+r*-.2040259+s*1.0572252,n=ut(n),i=ut(i),o=ut(o),[n*255,i*255,o*255]};v.xyz.lab=function(e){let t=e[0],r=e[1],s=e[2];t/=95.047,r/=100,s/=108.883,t=t>Oe?t**(1/3):7.787*t+16/116,r=r>Oe?r**(1/3):7.787*r+16/116,s=s>Oe?s**(1/3):7.787*s+16/116;let n=116*r-16,i=500*(t-r),o=200*(r-s);return[n,i,o]};v.xyz.oklab=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n=Math.cbrt(.8189330101*t+.3618667424*r-.1288597137*s),i=Math.cbrt(.0329845436*t+.9293118715*r+.0361456387*s),o=Math.cbrt(.0482003018*t+.2643662691*r+.633851707*s),a=.2104542553*n+.793617785*i-.0040720468*o,c=1.9779984951*n-2.428592205*i+.4505937099*o,u=.0259040371*n+.7827717662*i-.808675766*o;return[a*100,c*100,u*100]};v.oklab.oklch=function(e){return v.lab.lch(e)};v.oklab.xyz=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n=(.999999998*t+.396337792*r+.215803758*s)**3,i=(1.000000008*t-.105561342*r-.063854175*s)**3,o=(1.000000055*t-.089484182*r-1.291485538*s)**3,a=1.227013851*n-.55779998*i+.281256149*o,c=-.040580178*n+1.11225687*i-.071676679*o,u=-.076381285*n-.421481978*i+1.58616322*o;return[a*100,c*100,u*100]};v.oklab.rgb=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,n=(t+.3963377774*r+.2158037573*s)**3,i=(t-.1055613458*r-.0638541728*s)**3,o=(t-.0894841775*r-1.291485548*s)**3,a=ut(4.0767416621*n-3.3077115913*i+.2309699292*o),c=ut(-1.2684380046*n+2.6097574011*i-.3413193965*o),u=ut(-.0041960863*n-.7034186147*i+1.707614701*o);return[a*255,c*255,u*255]};v.oklch.oklab=function(e){return v.lch.lab(e)};v.lab.xyz=function(e){let t=e[0],r=e[1],s=e[2],n,i,o;i=(t+16)/116,n=r/500+i,o=i-s/200;let a=i**3,c=n**3,u=o**3;return i=a>Oe?a:(i-16/116)/7.787,n=c>Oe?c:(n-16/116)/7.787,o=u>Oe?u:(o-16/116)/7.787,n*=95.047,i*=100,o*=108.883,[n,i,o]};v.lab.lch=function(e){let t=e[0],r=e[1],s=e[2],n;n=Math.atan2(s,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+s*s);return[t,o,n]};v.lch.lab=function(e){let t=e[0],r=e[1],n=e[2]/360*2*Math.PI,i=r*Math.cos(n),o=r*Math.sin(n);return[t,i,o]};v.rgb.ansi16=function(e,t=null){let[r,s,n]=e,i=t===null?v.rgb.hsv(e)[2]:t;if(i=Math.round(i/50),i===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(s/255)<<1|Math.round(r/255));return i===2&&(o+=60),o};v.hsv.ansi16=function(e){return v.rgb.ansi16(v.hsv.rgb(e),e[2])};v.rgb.ansi256=function(e){let t=e[0],r=e[1],s=e[2];return t>>4===r>>4&&r>>4===s>>4?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(s/255*5)};v.ansi16.rgb=function(e){e=e[0];let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(Math.trunc(e>50)+1)*.5,s=(t&1)*r*255,n=(t>>1&1)*r*255,i=(t>>2&1)*r*255;return[s,n,i]};v.ansi256.rgb=function(e){if(e=e[0],e>=232){let i=(e-232)*10+8;return[i,i,i]}e-=16;let t,r=Math.floor(e/36)/5*255,s=Math.floor((t=e%36)/6)/5*255,n=t%6/5*255;return[r,s,n]};v.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".slice(r.length)+r};v.hex.rgb=function(e){let t=e.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=[...r].map(a=>a+a).join(""));let s=Number.parseInt(r,16),n=s>>16&255,i=s>>8&255,o=s&255;return[n,i,o]};v.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,n=Math.max(Math.max(t,r),s),i=Math.min(Math.min(t,r),s),o=n-i,a,c=o<1?i/(1-o):0;return o<=0?a=0:n===t?a=(r-s)/o%6:n===r?a=2+(s-t)/o:a=4+(t-r)/o,a/=6,a%=1,[a*360,o*100,c*100]};v.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,s=r<.5?2*t*r:2*t*(1-r),n=0;return s<1&&(n=(r-.5*s)/(1-s)),[e[0],s*100,n*100]};v.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,s=t*r,n=0;return s<1&&(n=(r-s)/(1-s)),[e[0],s*100,n*100]};v.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100;if(r===0)return[s*255,s*255,s*255];let n=[0,0,0],i=t%1*6,o=i%1,a=1-o,c=0;switch(Math.floor(i)){case 0:{n[0]=1,n[1]=o,n[2]=0;break}case 1:{n[0]=a,n[1]=1,n[2]=0;break}case 2:{n[0]=0,n[1]=1,n[2]=o;break}case 3:{n[0]=0,n[1]=a,n[2]=1;break}case 4:{n[0]=o,n[1]=0,n[2]=1;break}default:n[0]=1,n[1]=0,n[2]=a}return c=(1-r)*s,[(r*n[0]+c)*255,(r*n[1]+c)*255,(r*n[2]+c)*255]};v.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,s=t+r*(1-t),n=0;return s>0&&(n=t/s),[e[0],n*100,s*100]};v.hcg.hsl=function(e){let t=e[1]/100,s=e[2]/100*(1-t)+.5*t,n=0;return s>0&&s<.5?n=t/(2*s):s>=.5&&s<1&&(n=t/(2*(1-s))),[e[0],n*100,s*100]};v.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,s=t+r*(1-t);return[e[0],(s-t)*100,(1-s)*100]};v.hwb.hcg=function(e){let t=e[1]/100,s=1-e[2]/100,n=s-t,i=0;return n<1&&(i=(s-n)/(1-n)),[e[0],n*100,i*100]};v.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};v.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};v.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};v.gray.hsl=function(e){return[0,0,e[0]]};v.gray.hsv=v.gray.hsl;v.gray.hwb=function(e){return[0,100,e[0]]};v.gray.cmyk=function(e){return[0,0,0,e[0]]};v.gray.lab=function(e){return[e[0],0,0]};v.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,s=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".slice(s.length)+s};v.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};function $c(){let e={},t=Object.keys(et);for(let{length:r}=t,s=0;s<r;s++)e[t[s]]={distance:-1,parent:null};return e}function kc(e){let t=$c(),r=[e];for(t[e].distance=0;r.length>0;){let s=r.pop(),n=Object.keys(et[s]);for(let{length:i}=n,o=0;o<i;o++){let a=n[o],c=t[a];c.distance===-1&&(c.distance=t[s].distance+1,c.parent=s,r.unshift(a))}}return t}function Ac(e,t){return function(r){return t(e(r))}}function _c(e,t){let r=[t[e].parent,e],s=et[t[e].parent][e],n=t[e].parent;for(;t[n].parent;)r.unshift(t[n].parent),s=Ac(et[t[n].parent][n],s),n=t[n].parent;return s.conversion=r,s}function Nc(e){let t=kc(e),r={},s=Object.keys(t);for(let{length:n}=s,i=0;i<n;i++){let o=s[i];t[o].parent!==null&&(r[o]=_c(o,t))}return r}var Ic=Nc,ct={},Dc=Object.keys(et);function Tc(e){let t=function(...r){let s=r[0];return s==null?s:(s.length>1&&(r=s),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function Cc(e){let t=function(...r){let s=r[0];if(s==null)return s;s.length>1&&(r=s);let n=e(r);if(typeof n=="object")for(let{length:i}=n,o=0;o<i;o++)n[o]=Math.round(n[o]);return n};return"conversion"in e&&(t.conversion=e.conversion),t}for(let e of Dc){ct[e]={},Object.defineProperty(ct[e],"channels",{value:et[e].channels}),Object.defineProperty(ct[e],"labels",{value:et[e].labels});let t=Ic(e),r=Object.keys(t);for(let s of r){let n=t[s];ct[e][s]=Cc(n),ct[e][s].raw=Tc(n)}}var de=ct,ri=["keyword","gray","hex"],Ar={};for(let e of Object.keys(de))Ar[[...de[e].labels].sort().join("")]=e;var _r={};function ee(e,t){if(!(this instanceof ee))return new ee(e,t);if(t&&t in ri&&(t=null),t&&!(t in de))throw new Error("Unknown model: "+t);let r,s;if(e==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof ee)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if(typeof e=="string"){let n=lt.get(e);if(n===null)throw new Error("Unable to parse color from string: "+e);this.model=n.model,s=de[this.model].channels,this.color=n.value.slice(0,s),this.valpha=typeof n.value[s]=="number"?n.value[s]:1}else if(e.length>0){this.model=t||"rgb",s=de[this.model].channels;let n=Array.prototype.slice.call(e,0,s);this.color=Nr(n,s),this.valpha=typeof e[s]=="number"?e[s]:1}else if(typeof e=="number")this.model="rgb",this.color=[e>>16&255,e>>8&255,e&255],this.valpha=1;else{this.valpha=1;let n=Object.keys(e);"alpha"in e&&(n.splice(n.indexOf("alpha"),1),this.valpha=typeof e.alpha=="number"?e.alpha:0);let i=n.sort().join("");if(!(i in Ar))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=Ar[i];let{labels:o}=de[this.model],a=[];for(r=0;r<o.length;r++)a.push(e[o[r]]);this.color=Nr(a)}if(_r[this.model])for(s=de[this.model].channels,r=0;r<s;r++){let n=_r[this.model][r];n&&(this.color[r]=n(this.color[r]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}ee.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in lt.to?this:this.rgb();t=t.round(typeof e=="number"?e:1);let r=t.valpha===1?t.color:[...t.color,this.valpha];return lt.to[t.model](...r)},percentString(e){let t=this.rgb().round(typeof e=="number"?e:1),r=t.valpha===1?t.color:[...t.color,this.valpha];return lt.to.rgb.percent(...r)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let e={},{channels:t}=de[this.model],{labels:r}=de[this.model];for(let s=0;s<t;s++)e[r[s]]=this.color[s];return this.valpha!==1&&(e.alpha=this.valpha),e},unitArray(){let e=this.rgb().color;return e[0]/=255,e[1]/=255,e[2]/=255,this.valpha!==1&&e.push(this.valpha),e},unitObject(){let e=this.rgb().object();return e.r/=255,e.g/=255,e.b/=255,this.valpha!==1&&(e.alpha=this.valpha),e},round(e){return e=Math.max(e||0,0),new ee([...this.color.map(Oc(e)),this.valpha],this.model)},alpha(e){return e!==void 0?new ee([...this.color,Math.max(0,Math.min(1,e))],this.model):this.valpha},red:J("rgb",0,K(255)),green:J("rgb",1,K(255)),blue:J("rgb",2,K(255)),hue:J(["hsl","hsv","hsl","hwb","hcg"],0,e=>(e%360+360)%360),saturationl:J("hsl",1,K(100)),lightness:J("hsl",2,K(100)),saturationv:J("hsv",1,K(100)),value:J("hsv",2,K(100)),chroma:J("hcg",1,K(100)),gray:J("hcg",2,K(100)),white:J("hwb",1,K(100)),wblack:J("hwb",2,K(100)),cyan:J("cmyk",0,K(100)),magenta:J("cmyk",1,K(100)),yellow:J("cmyk",2,K(100)),black:J("cmyk",3,K(100)),x:J("xyz",0,K(95.047)),y:J("xyz",1,K(100)),z:J("xyz",2,K(108.833)),l:J("lab",0,K(100)),a:J("lab",1),b:J("lab",2),keyword(e){return e!==void 0?new ee(e):de[this.model].keyword(this.color)},hex(e){return e!==void 0?new ee(e):lt.to.hex(...this.rgb().round().color)},hexa(e){if(e!==void 0)return new ee(e);let t=this.rgb().round().color,r=Math.round(this.valpha*255).toString(16).toUpperCase();return r.length===1&&(r="0"+r),lt.to.hex(...t)+r},rgbNumber(){let e=this.rgb().color;return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255},luminosity(){let e=this.rgb().color,t=[];for(let[r,s]of e.entries()){let n=s/255;t[r]=n<=.04045?n/12.92:((n+.055)/1.055)**2.4}return .2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){let t=this.luminosity(),r=e.luminosity();return t>r?(t+.05)/(r+.05):(r+.05)/(t+.05)},level(e){let t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){let e=this.rgb().color;return(e[0]*2126+e[1]*7152+e[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){let t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){let t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){let t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){let t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){let t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){let t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){let e=this.rgb().color,t=e[0]*.3+e[1]*.59+e[2]*.11;return ee.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){let t=this.hsl(),r=t.color[0];return r=(r+e)%360,r=r<0?360+r:r,t.color[0]=r,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);let r=e.rgb(),s=this.rgb(),n=t===void 0?.5:t,i=2*n-1,o=r.alpha()-s.alpha(),a=((i*o===-1?i:(i+o)/(1+i*o))+1)/2,c=1-a;return ee.rgb(a*r.red()+c*s.red(),a*r.green()+c*s.green(),a*r.blue()+c*s.blue(),r.alpha()*n+s.alpha()*(1-n))}};for(let e of Object.keys(de)){if(ri.includes(e))continue;let{channels:t}=de[e];ee.prototype[e]=function(...r){return this.model===e?new ee(this):r.length>0?new ee(r,e):new ee([...jc(de[this.model][e].raw(this.color)),this.valpha],e)},ee[e]=function(...r){let s=r[0];return typeof s=="number"&&(s=Nr(r,t)),new ee(s,e)}}function Fc(e,t){return Number(e.toFixed(t))}function Oc(e){return function(t){return Fc(t,e)}}function J(e,t,r){e=Array.isArray(e)?e:[e];for(let s of e)(_r[s]||=[])[t]=r;return e=e[0],function(s){let n;return s!==void 0?(r&&(s=r(s)),n=this[e](),n.color[t]=s,n):(n=this[e]().color[t],r&&(n=r(n)),n)}}function K(e){return function(t){return Math.max(0,Math.min(e,t))}}function jc(e){return Array.isArray(e)?e:[e]}function Nr(e,t){for(let r=0;r<t;r++)typeof e[r]!="number"&&(e[r]=0);return e}var Lc=ee});var oi=_((Rh,ii)=>{ii.exports=ni().default});var ui=_((Sh,ci)=>{var Mc=oi(),je=Se(),ai={multiband:"multiband","b-w":"b-w",bw:"b-w",cmyk:"cmyk",srgb:"srgb"};function zc(e){return this._setBackgroundColourOption("tint",e),this}function Bc(e){return this.options.greyscale=je.bool(e)?e:!0,this}function Gc(e){return this.greyscale(e)}function Uc(e){if(!je.string(e))throw je.invalidParameterError("colourspace","string",e);return this.options.colourspacePipeline=e,this}function qc(e){return this.pipelineColourspace(e)}function Wc(e){if(!je.string(e))throw je.invalidParameterError("colourspace","string",e);return this.options.colourspace=e,this}function Hc(e){return this.toColourspace(e)}function li(e){if(je.object(e)||je.string(e)&&e.length>=3&&e.length<=200){let t=Mc(e);return[t.red(),t.green(),t.blue(),Math.round(t.alpha()*255)]}else throw je.invalidParameterError("background","object or string",e)}function Vc(e,t){je.defined(t)&&(this.options[e]=li(t))}ci.exports=e=>{Object.assign(e.prototype,{tint:zc,greyscale:Bc,grayscale:Gc,pipelineColourspace:Uc,pipelineColorspace:qc,toColourspace:Wc,toColorspace:Hc,_getBackgroundColourOption:li,_setBackgroundColourOption:Vc}),e.colourspace=ai,e.colorspace=ai}});var hi=_(($h,fi)=>{var Ie=Se(),Jc={and:"and",or:"or",eor:"eor"};function Xc(){return this.options.removeAlpha=!0,this}function Yc(e){if(Ie.defined(e))if(Ie.number(e)&&Ie.inRange(e,0,1))this.options.ensureAlpha=e;else throw Ie.invalidParameterError("alpha","number between 0 and 1",e);else this.options.ensureAlpha=1;return this}function Kc(e){let t={red:0,green:1,blue:2,alpha:3};if(Object.keys(t).includes(e)&&(e=t[e]),Ie.integer(e)&&Ie.inRange(e,0,4))this.options.extractChannel=e;else throw Ie.invalidParameterError("channel","integer or one of: red, green, blue, alpha",e);return this}function Qc(e,t){return Array.isArray(e)?e.forEach(function(r){this.options.joinChannelIn.push(this._createInputDescriptor(r,t))},this):this.options.joinChannelIn.push(this._createInputDescriptor(e,t)),this}function Zc(e){if(Ie.string(e)&&Ie.inArray(e,["and","or","eor"]))this.options.bandBoolOp=e;else throw Ie.invalidParameterError("boolOp","one of: and, or, eor",e);return this}fi.exports=e=>{Object.assign(e.prototype,{removeAlpha:Xc,ensureAlpha:Yc,extractChannel:Kc,joinChannel:Qc,bandbool:Zc}),e.bool=Jc}});var bi=_((kh,mi)=>{var Dr=V("node:path"),l=Se(),ht=Et(),di=new Map([["heic","heif"],["heif","heif"],["avif","avif"],["jpeg","jpeg"],["jpg","jpeg"],["jpe","jpeg"],["tile","tile"],["dz","tile"],["png","png"],["raw","raw"],["tiff","tiff"],["tif","tiff"],["webp","webp"],["gif","gif"],["jp2","jp2"],["jpx","jp2"],["j2k","jp2"],["j2c","jp2"],["jxl","jxl"]]),eu=/\.(jp[2x]|j2[kc])$/i,gi=()=>new Error("JP2 output requires libvips with support for OpenJPEG"),pi=e=>1<<31-Math.clz32(Math.ceil(Math.log2(e)));function tu(e,t){let r;if(l.string(e)?l.string(this.options.input.file)&&Dr.resolve(this.options.input.file)===Dr.resolve(e)?r=new Error("Cannot use same file for input and output"):eu.test(Dr.extname(e))&&!this.constructor.format.jp2k.output.file&&(r=gi()):r=new Error("Missing output file path"),r)if(l.fn(t))t(r);else return Promise.reject(r);else{this.options.fileOut=e;let s=Error();return this._pipeline(t,s)}return this}function ru(e,t){l.object(e)?this._setBooleanOption("resolveWithObject",e.resolveWithObject):this.options.resolveWithObject&&(this.options.resolveWithObject=!1),this.options.fileOut="";let r=Error();return this._pipeline(l.fn(e)?e:t,r)}function su(){return this.options.keepMetadata|=1,this}function nu(e){if(l.object(e))for(let[t,r]of Object.entries(e))if(l.object(r))for(let[s,n]of Object.entries(r))if(l.string(n))this.options.withExif[`exif-${t.toLowerCase()}-${s}`]=n;else throw l.invalidParameterError(`${t}.${s}`,"string",n);else throw l.invalidParameterError(t,"object",r);else throw l.invalidParameterError("exif","object",e);return this.options.withExifMerge=!1,this.keepExif()}function iu(e){return this.withExif(e),this.options.withExifMerge=!0,this}function ou(){return this.options.keepMetadata|=8,this}function au(e,t){if(l.string(e))this.options.withIccProfile=e;else throw l.invalidParameterError("icc","string",e);if(this.keepIccProfile(),l.object(t)&&l.defined(t.attach))if(l.bool(t.attach))t.attach||(this.options.keepMetadata&=-9);else throw l.invalidParameterError("attach","boolean",t.attach);return this}function lu(){return this.options.keepMetadata|=2,this}function cu(e){if(l.string(e)&&e.length>0)this.options.withXmp=e,this.options.keepMetadata|=2;else throw l.invalidParameterError("xmp","non-empty string",e);return this}function uu(){return this.options.keepMetadata=31,this}function fu(e){if(this.keepMetadata(),this.withIccProfile("srgb"),l.object(e)){if(l.defined(e.orientation))if(l.integer(e.orientation)&&l.inRange(e.orientation,1,8))this.options.withMetadataOrientation=e.orientation;else throw l.invalidParameterError("orientation","integer between 1 and 8",e.orientation);if(l.defined(e.density))if(l.number(e.density)&&e.density>0)this.options.withMetadataDensity=e.density;else throw l.invalidParameterError("density","positive number",e.density);l.defined(e.icc)&&this.withIccProfile(e.icc),l.defined(e.exif)&&this.withExifMerge(e.exif)}return this}function hu(e,t){let r=di.get((l.object(e)&&l.string(e.id)?e.id:e).toLowerCase());if(!r)throw l.invalidParameterError("format",`one of: ${[...di.keys()].join(", ")}`,e);return this[r](t)}function du(e){if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.jpegQuality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.progressive)&&this._setBooleanOption("jpegProgressive",e.progressive),l.defined(e.chromaSubsampling))if(l.string(e.chromaSubsampling)&&l.inArray(e.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jpegChromaSubsampling=e.chromaSubsampling;else throw l.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",e.chromaSubsampling);let t=l.bool(e.optimizeCoding)?e.optimizeCoding:e.optimiseCoding;if(l.defined(t)&&this._setBooleanOption("jpegOptimiseCoding",t),l.defined(e.mozjpeg))if(l.bool(e.mozjpeg))e.mozjpeg&&(this.options.jpegTrellisQuantisation=!0,this.options.jpegOvershootDeringing=!0,this.options.jpegOptimiseScans=!0,this.options.jpegProgressive=!0,this.options.jpegQuantisationTable=3);else throw l.invalidParameterError("mozjpeg","boolean",e.mozjpeg);let r=l.bool(e.trellisQuantization)?e.trellisQuantization:e.trellisQuantisation;l.defined(r)&&this._setBooleanOption("jpegTrellisQuantisation",r),l.defined(e.overshootDeringing)&&this._setBooleanOption("jpegOvershootDeringing",e.overshootDeringing);let s=l.bool(e.optimizeScans)?e.optimizeScans:e.optimiseScans;l.defined(s)&&(this._setBooleanOption("jpegOptimiseScans",s),s&&(this.options.jpegProgressive=!0));let n=l.number(e.quantizationTable)?e.quantizationTable:e.quantisationTable;if(l.defined(n))if(l.integer(n)&&l.inRange(n,0,8))this.options.jpegQuantisationTable=n;else throw l.invalidParameterError("quantisationTable","integer between 0 and 8",n)}return this._updateFormatOut("jpeg",e)}function gu(e){if(l.object(e)){if(l.defined(e.progressive)&&this._setBooleanOption("pngProgressive",e.progressive),l.defined(e.compressionLevel))if(l.integer(e.compressionLevel)&&l.inRange(e.compressionLevel,0,9))this.options.pngCompressionLevel=e.compressionLevel;else throw l.invalidParameterError("compressionLevel","integer between 0 and 9",e.compressionLevel);l.defined(e.adaptiveFiltering)&&this._setBooleanOption("pngAdaptiveFiltering",e.adaptiveFiltering);let t=e.colours||e.colors;if(l.defined(t))if(l.integer(t)&&l.inRange(t,2,256))this.options.pngBitdepth=pi(t);else throw l.invalidParameterError("colours","integer between 2 and 256",t);if(l.defined(e.palette)?this._setBooleanOption("pngPalette",e.palette):[e.quality,e.effort,e.colours,e.colors,e.dither].some(l.defined)&&this._setBooleanOption("pngPalette",!0),this.options.pngPalette){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,0,100))this.options.pngQuality=e.quality;else throw l.invalidParameterError("quality","integer between 0 and 100",e.quality);if(l.defined(e.effort))if(l.integer(e.effort)&&l.inRange(e.effort,1,10))this.options.pngEffort=e.effort;else throw l.invalidParameterError("effort","integer between 1 and 10",e.effort);if(l.defined(e.dither))if(l.number(e.dither)&&l.inRange(e.dither,0,1))this.options.pngDither=e.dither;else throw l.invalidParameterError("dither","number between 0.0 and 1.0",e.dither)}}return this._updateFormatOut("png",e)}function pu(e){if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.webpQuality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.alphaQuality))if(l.integer(e.alphaQuality)&&l.inRange(e.alphaQuality,0,100))this.options.webpAlphaQuality=e.alphaQuality;else throw l.invalidParameterError("alphaQuality","integer between 0 and 100",e.alphaQuality);if(l.defined(e.lossless)&&this._setBooleanOption("webpLossless",e.lossless),l.defined(e.nearLossless)&&this._setBooleanOption("webpNearLossless",e.nearLossless),l.defined(e.smartSubsample)&&this._setBooleanOption("webpSmartSubsample",e.smartSubsample),l.defined(e.smartDeblock)&&this._setBooleanOption("webpSmartDeblock",e.smartDeblock),l.defined(e.preset))if(l.string(e.preset)&&l.inArray(e.preset,["default","photo","picture","drawing","icon","text"]))this.options.webpPreset=e.preset;else throw l.invalidParameterError("preset","one of: default, photo, picture, drawing, icon, text",e.preset);if(l.defined(e.effort))if(l.integer(e.effort)&&l.inRange(e.effort,0,6))this.options.webpEffort=e.effort;else throw l.invalidParameterError("effort","integer between 0 and 6",e.effort);l.defined(e.minSize)&&this._setBooleanOption("webpMinSize",e.minSize),l.defined(e.mixed)&&this._setBooleanOption("webpMixed",e.mixed)}return Tr(e,this.options),this._updateFormatOut("webp",e)}function mu(e){if(l.object(e)){l.defined(e.reuse)&&this._setBooleanOption("gifReuse",e.reuse),l.defined(e.progressive)&&this._setBooleanOption("gifProgressive",e.progressive);let t=e.colours||e.colors;if(l.defined(t))if(l.integer(t)&&l.inRange(t,2,256))this.options.gifBitdepth=pi(t);else throw l.invalidParameterError("colours","integer between 2 and 256",t);if(l.defined(e.effort))if(l.number(e.effort)&&l.inRange(e.effort,1,10))this.options.gifEffort=e.effort;else throw l.invalidParameterError("effort","integer between 1 and 10",e.effort);if(l.defined(e.dither))if(l.number(e.dither)&&l.inRange(e.dither,0,1))this.options.gifDither=e.dither;else throw l.invalidParameterError("dither","number between 0.0 and 1.0",e.dither);if(l.defined(e.interFrameMaxError))if(l.number(e.interFrameMaxError)&&l.inRange(e.interFrameMaxError,0,32))this.options.gifInterFrameMaxError=e.interFrameMaxError;else throw l.invalidParameterError("interFrameMaxError","number between 0.0 and 32.0",e.interFrameMaxError);if(l.defined(e.interPaletteMaxError))if(l.number(e.interPaletteMaxError)&&l.inRange(e.interPaletteMaxError,0,256))this.options.gifInterPaletteMaxError=e.interPaletteMaxError;else throw l.invalidParameterError("interPaletteMaxError","number between 0.0 and 256.0",e.interPaletteMaxError);if(l.defined(e.keepDuplicateFrames))if(l.bool(e.keepDuplicateFrames))this._setBooleanOption("gifKeepDuplicateFrames",e.keepDuplicateFrames);else throw l.invalidParameterError("keepDuplicateFrames","boolean",e.keepDuplicateFrames)}return Tr(e,this.options),this._updateFormatOut("gif",e)}function bu(e){if(!this.constructor.format.jp2k.output.buffer)throw gi();if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.jp2Quality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.lossless))if(l.bool(e.lossless))this.options.jp2Lossless=e.lossless;else throw l.invalidParameterError("lossless","boolean",e.lossless);if(l.defined(e.tileWidth))if(l.integer(e.tileWidth)&&l.inRange(e.tileWidth,1,32768))this.options.jp2TileWidth=e.tileWidth;else throw l.invalidParameterError("tileWidth","integer between 1 and 32768",e.tileWidth);if(l.defined(e.tileHeight))if(l.integer(e.tileHeight)&&l.inRange(e.tileHeight,1,32768))this.options.jp2TileHeight=e.tileHeight;else throw l.invalidParameterError("tileHeight","integer between 1 and 32768",e.tileHeight);if(l.defined(e.chromaSubsampling))if(l.string(e.chromaSubsampling)&&l.inArray(e.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jp2ChromaSubsampling=e.chromaSubsampling;else throw l.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",e.chromaSubsampling)}return this._updateFormatOut("jp2",e)}function Tr(e,t){if(l.object(e)&&l.defined(e.loop))if(l.integer(e.loop)&&l.inRange(e.loop,0,65535))t.loop=e.loop;else throw l.invalidParameterError("loop","integer between 0 and 65535",e.loop);if(l.object(e)&&l.defined(e.delay))if(l.integer(e.delay)&&l.inRange(e.delay,0,65535))t.delay=[e.delay];else if(Array.isArray(e.delay)&&e.delay.every(l.integer)&&e.delay.every(r=>l.inRange(r,0,65535)))t.delay=e.delay;else throw l.invalidParameterError("delay","integer or an array of integers between 0 and 65535",e.delay)}function vu(e){if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.tiffQuality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.bitdepth))if(l.integer(e.bitdepth)&&l.inArray(e.bitdepth,[1,2,4,8]))this.options.tiffBitdepth=e.bitdepth;else throw l.invalidParameterError("bitdepth","1, 2, 4 or 8",e.bitdepth);if(l.defined(e.tile)&&this._setBooleanOption("tiffTile",e.tile),l.defined(e.tileWidth))if(l.integer(e.tileWidth)&&e.tileWidth>0)this.options.tiffTileWidth=e.tileWidth;else throw l.invalidParameterError("tileWidth","integer greater than zero",e.tileWidth);if(l.defined(e.tileHeight))if(l.integer(e.tileHeight)&&e.tileHeight>0)this.options.tiffTileHeight=e.tileHeight;else throw l.invalidParameterError("tileHeight","integer greater than zero",e.tileHeight);if(l.defined(e.miniswhite)&&this._setBooleanOption("tiffMiniswhite",e.miniswhite),l.defined(e.pyramid)&&this._setBooleanOption("tiffPyramid",e.pyramid),l.defined(e.xres))if(l.number(e.xres)&&e.xres>0)this.options.tiffXres=e.xres;else throw l.invalidParameterError("xres","number greater than zero",e.xres);if(l.defined(e.yres))if(l.number(e.yres)&&e.yres>0)this.options.tiffYres=e.yres;else throw l.invalidParameterError("yres","number greater than zero",e.yres);if(l.defined(e.compression))if(l.string(e.compression)&&l.inArray(e.compression,["none","jpeg","deflate","packbits","ccittfax4","lzw","webp","zstd","jp2k"]))this.options.tiffCompression=e.compression;else throw l.invalidParameterError("compression","one of: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k",e.compression);if(l.defined(e.bigtiff)&&this._setBooleanOption("tiffBigtiff",e.bigtiff),l.defined(e.predictor))if(l.string(e.predictor)&&l.inArray(e.predictor,["none","horizontal","float"]))this.options.tiffPredictor=e.predictor;else throw l.invalidParameterError("predictor","one of: none, horizontal, float",e.predictor);if(l.defined(e.resolutionUnit))if(l.string(e.resolutionUnit)&&l.inArray(e.resolutionUnit,["inch","cm"]))this.options.tiffResolutionUnit=e.resolutionUnit;else throw l.invalidParameterError("resolutionUnit","one of: inch, cm",e.resolutionUnit)}return this._updateFormatOut("tiff",e)}function yu(e){return this.heif({...e,compression:"av1"})}function wu(e){if(l.object(e)){if(l.string(e.compression)&&l.inArray(e.compression,["av1","hevc"]))this.options.heifCompression=e.compression;else throw l.invalidParameterError("compression","one of: av1, hevc",e.compression);if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.heifQuality=e.quality;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);if(l.defined(e.lossless))if(l.bool(e.lossless))this.options.heifLossless=e.lossless;else throw l.invalidParameterError("lossless","boolean",e.lossless);if(l.defined(e.effort))if(l.integer(e.effort)&&l.inRange(e.effort,0,9))this.options.heifEffort=e.effort;else throw l.invalidParameterError("effort","integer between 0 and 9",e.effort);if(l.defined(e.chromaSubsampling))if(l.string(e.chromaSubsampling)&&l.inArray(e.chromaSubsampling,["4:2:0","4:4:4"]))this.options.heifChromaSubsampling=e.chromaSubsampling;else throw l.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",e.chromaSubsampling);if(l.defined(e.bitdepth))if(l.integer(e.bitdepth)&&l.inArray(e.bitdepth,[8,10,12])){if(e.bitdepth!==8&&this.constructor.versions.heif)throw l.invalidParameterError("bitdepth when using prebuilt binaries",8,e.bitdepth);this.options.heifBitdepth=e.bitdepth}else throw l.invalidParameterError("bitdepth","8, 10 or 12",e.bitdepth)}else throw l.invalidParameterError("options","Object",e);return this._updateFormatOut("heif",e)}function Eu(e){if(l.object(e)){if(l.defined(e.quality))if(l.integer(e.quality)&&l.inRange(e.quality,1,100))this.options.jxlDistance=e.quality>=30?.1+(100-e.quality)*.09:53/3e3*e.quality*e.quality-23/20*e.quality+25;else throw l.invalidParameterError("quality","integer between 1 and 100",e.quality);else if(l.defined(e.distance))if(l.number(e.distance)&&l.inRange(e.distance,0,15))this.options.jxlDistance=e.distance;else throw l.invalidParameterError("distance","number between 0.0 and 15.0",e.distance);if(l.defined(e.decodingTier))if(l.integer(e.decodingTier)&&l.inRange(e.decodingTier,0,4))this.options.jxlDecodingTier=e.decodingTier;else throw l.invalidParameterError("decodingTier","integer between 0 and 4",e.decodingTier);if(l.defined(e.lossless))if(l.bool(e.lossless))this.options.jxlLossless=e.lossless;else throw l.invalidParameterError("lossless","boolean",e.lossless);if(l.defined(e.effort))if(l.integer(e.effort)&&l.inRange(e.effort,1,9))this.options.jxlEffort=e.effort;else throw l.invalidParameterError("effort","integer between 1 and 9",e.effort)}return Tr(e,this.options),this._updateFormatOut("jxl",e)}function xu(e){if(l.object(e)&&l.defined(e.depth))if(l.string(e.depth)&&l.inArray(e.depth,["char","uchar","short","ushort","int","uint","float","complex","double","dpcomplex"]))this.options.rawDepth=e.depth;else throw l.invalidParameterError("depth","one of: char, uchar, short, ushort, int, uint, float, complex, double, dpcomplex",e.depth);return this._updateFormatOut("raw")}function Pu(e){if(l.object(e)){if(l.defined(e.size))if(l.integer(e.size)&&l.inRange(e.size,1,8192))this.options.tileSize=e.size;else throw l.invalidParameterError("size","integer between 1 and 8192",e.size);if(l.defined(e.overlap))if(l.integer(e.overlap)&&l.inRange(e.overlap,0,8192)){if(e.overlap>this.options.tileSize)throw l.invalidParameterError("overlap",`<= size (${this.options.tileSize})`,e.overlap);this.options.tileOverlap=e.overlap}else throw l.invalidParameterError("overlap","integer between 0 and 8192",e.overlap);if(l.defined(e.container))if(l.string(e.container)&&l.inArray(e.container,["fs","zip"]))this.options.tileContainer=e.container;else throw l.invalidParameterError("container","one of: fs, zip",e.container);if(l.defined(e.layout))if(l.string(e.layout)&&l.inArray(e.layout,["dz","google","iiif","iiif3","zoomify"]))this.options.tileLayout=e.layout;else throw l.invalidParameterError("layout","one of: dz, google, iiif, iiif3, zoomify",e.layout);if(l.defined(e.angle))if(l.integer(e.angle)&&!(e.angle%90))this.options.tileAngle=e.angle;else throw l.invalidParameterError("angle","positive/negative multiple of 90",e.angle);if(this._setBackgroundColourOption("tileBackground",e.background),l.defined(e.depth))if(l.string(e.depth)&&l.inArray(e.depth,["onepixel","onetile","one"]))this.options.tileDepth=e.depth;else throw l.invalidParameterError("depth","one of: onepixel, onetile, one",e.depth);if(l.defined(e.skipBlanks))if(l.integer(e.skipBlanks)&&l.inRange(e.skipBlanks,-1,65535))this.options.tileSkipBlanks=e.skipBlanks;else throw l.invalidParameterError("skipBlanks","integer between -1 and 255/65535",e.skipBlanks);else l.defined(e.layout)&&e.layout==="google"&&(this.options.tileSkipBlanks=5);let t=l.bool(e.center)?e.center:e.centre;if(l.defined(t)&&this._setBooleanOption("tileCentre",t),l.defined(e.id))if(l.string(e.id))this.options.tileId=e.id;else throw l.invalidParameterError("id","string",e.id);if(l.defined(e.basename))if(l.string(e.basename))this.options.tileBasename=e.basename;else throw l.invalidParameterError("basename","string",e.basename)}if(l.inArray(this.options.formatOut,["jpeg","png","webp"]))this.options.tileFormat=this.options.formatOut;else if(this.options.formatOut!=="input")throw l.invalidParameterError("format","one of: jpeg, png, webp",this.options.formatOut);return this._updateFormatOut("dz")}function Ru(e){if(!l.plainObject(e))throw l.invalidParameterError("options","object",e);if(l.integer(e.seconds)&&l.inRange(e.seconds,0,3600))this.options.timeoutSeconds=e.seconds;else throw l.invalidParameterError("seconds","integer between 0 and 3600",e.seconds);return this}function Su(e,t){return l.object(t)&&t.force===!1||(this.options.formatOut=e),this}function $u(e,t){if(l.bool(t))this.options[e]=t;else throw l.invalidParameterError(e,"boolean",t)}function ku(){if(!this.options.streamOut){this.options.streamOut=!0;let e=Error();this._pipeline(void 0,e)}}function Au(e,t){return typeof e=="function"?(this._isStreamInput()?this.on("finish",()=>{this._flattenBufferIn(),ht.pipeline(this.options,(r,s,n)=>{r?e(l.nativeError(r,t)):e(null,s,n)})}):ht.pipeline(this.options,(r,s,n)=>{r?e(l.nativeError(r,t)):e(null,s,n)}),this):this.options.streamOut?(this._isStreamInput()?(this.once("finish",()=>{this._flattenBufferIn(),ht.pipeline(this.options,(r,s,n)=>{r?this.emit("error",l.nativeError(r,t)):(this.emit("info",n),this.push(s)),this.push(null),this.on("end",()=>this.emit("close"))})}),this.streamInFinished&&this.emit("finish")):ht.pipeline(this.options,(r,s,n)=>{r?this.emit("error",l.nativeError(r,t)):(this.emit("info",n),this.push(s)),this.push(null),this.on("end",()=>this.emit("close"))}),this):this._isStreamInput()?new Promise((r,s)=>{this.once("finish",()=>{this._flattenBufferIn(),ht.pipeline(this.options,(n,i,o)=>{n?s(l.nativeError(n,t)):this.options.resolveWithObject?r({data:i,info:o}):r(i)})})}):new Promise((r,s)=>{ht.pipeline(this.options,(n,i,o)=>{n?s(l.nativeError(n,t)):this.options.resolveWithObject?r({data:i,info:o}):r(i)})})}mi.exports=e=>{Object.assign(e.prototype,{toFile:tu,toBuffer:ru,keepExif:su,withExif:nu,withExifMerge:iu,keepIccProfile:ou,withIccProfile:au,keepXmp:lu,withXmp:cu,keepMetadata:uu,withMetadata:fu,toFormat:hu,jpeg:du,jp2:bu,png:gu,webp:pu,tiff:vu,avif:yu,heif:wu,jxl:Eu,gif:mu,raw:xu,tile:Pu,timeout:Ru,_updateFormatOut:Su,_setBooleanOption:$u,_read:ku,_pipeline:Au})}});var Ei=_((Ah,wi)=>{var _u=V("node:events"),Wt=Dt(),ve=Se(),{runtimePlatformArch:Nu}=xr(),le=Et(),vi=Nu(),Cr=le.libvipsVersion(),We=le.format();We.heif.output.alias=["avif","heic"];We.jpeg.output.alias=["jpe","jpg"];We.tiff.output.alias=["tif"];We.jp2k.output.alias=["j2c","j2k","jp2","jpx"];var Iu={nearest:"nearest",bilinear:"bilinear",bicubic:"bicubic",locallyBoundedBicubic:"lbb",nohalo:"nohalo",vertexSplitQuadraticBasisSpline:"vsqbs"},dt={vips:Cr.semver};if(!Cr.isGlobal)if(Cr.isWasm)try{dt=V("@img/sharp-wasm32/versions")}catch{}else try{dt=V(`@img/sharp-${vi}/versions`)}catch{try{dt=V(`@img/sharp-libvips-${vi}/versions`)}catch{}}dt.sharp=wr().version;dt.heif&&We.heif&&(We.heif.input.fileSuffix=[".avif"],We.heif.output.alias=["avif"]);function yi(e){return ve.bool(e)?e?le.cache(50,20,100):le.cache(0,0,0):ve.object(e)?le.cache(e.memory,e.files,e.items):le.cache()}yi(!0);function Du(e){return le.concurrency(ve.integer(e)?e:null)}Wt.familySync()===Wt.GLIBC&&!le._isUsingJemalloc()?le.concurrency(1):Wt.familySync()===Wt.MUSL&&le.concurrency()===1024&&le.concurrency(V("node:os").availableParallelism());var Tu=new _u.EventEmitter;function Cu(){return le.counters()}function Fu(e){return le.simd(ve.bool(e)?e:null)}function Ou(e){if(ve.object(e))if(Array.isArray(e.operation)&&e.operation.every(ve.string))le.block(e.operation,!0);else throw ve.invalidParameterError("operation","Array<string>",e.operation);else throw ve.invalidParameterError("options","object",e)}function ju(e){if(ve.object(e))if(Array.isArray(e.operation)&&e.operation.every(ve.string))le.block(e.operation,!1);else throw ve.invalidParameterError("operation","Array<string>",e.operation);else throw ve.invalidParameterError("options","object",e)}wi.exports=e=>{e.cache=yi,e.concurrency=Du,e.counters=Cu,e.simd=Fu,e.format=We,e.interpolators=Iu,e.versions=dt,e.queue=Tu,e.block=Ou,e.unblock=ju}});var Pi=_((Nh,xi)=>{var Le=On();Mn()(Le);Wn()(Le);Vn()(Le);Qn()(Le);ui()(Le);hi()(Le);bi()(Le);Ei()(Le);xi.exports=Le});import lo from"@rollup/plugin-strip";import{visualizer as co}from"rollup-plugin-visualizer";var er=["/react/","/react-dom/","/scheduler/","/react-router","/@radix-ui/","/react-day-picker/","/react-hook-form/","/react-i18next/","/clsx/","/class-variance-authority/"],Yi={valibot:["/valibot/"],firebase:["/firebase/","/@firebase/"],lucide:["/lucide-react/","/lucide/"],i18n:["/i18next/","/i18next-browser-languagedetector/","/i18next-http-backend/","/@donotdev/i18n/"],zustand:["/zustand/"],"tanstack-query":["/@tanstack/react-query/","/@tanstack/query-core/"]};function Ki(e){let t=e.match(/(?:^|\0)virtual:([^?]+)/);if(t)return t[1]}function zr(e){let t=e.replace(/\\/g,"/");if(t.includes("/node_modules/"))return t.split("?")[0]}function Br(e,t=er){return t.some(r=>e.includes(r))}function Qi(e){for(let[t,r]of Object.entries(Yi))if(r.some(s=>e.includes(s)))return t}function Zi(e){let t=Ki(e);if(t)return t==="i18n-mapping"?"virtual-i18n-mapping":"virtual-modules";let r=zr(e);if(!r)return;if(Br(r))return"react-core";let s=Qi(r);if(s)return s}function eo(e=[]){let t=e.filter(s=>!er.includes(s)),r=[...er,...t];return function(s){let n=zr(s);if(n&&Br(n,r))return"react-core"}}var Mr={development:{manualChunks:void 0},production:{manualChunks:Zi}};function Gr(e,t={}){let r=Mr[e]||Mr.production,s=t.reactCore||[];return s.length>0?{manualChunks:eo(s)}:r}import*as he from"@clack/prompts";import*as T from"node:fs";import"node:fs";import{createRequire as ro}from"node:module";import{resolve as kt,join as Ce,dirname as ze,relative as Hr,normalize as so,sep as Vr,extname as no}from"node:path";import{fileURLToPath as io}from"node:url";import oo from"fast-glob";var tr={HOMEPAGE_FILE:"HomePage.tsx",HOMEPAGE_PATH:"/",HOMEPAGE_COMPONENT:"HomePage"};var G={routes:"virtual:routes",themes:"virtual:themes",i18n:"virtual:i18n-mapping",assets:"virtual:assets",env:"virtual:env"},ne={routes:"routes",themes:"themes",i18n:"i18n",assets:"assets",env:"env"},Q={next:{middleware:"middleware.ts",routeManifest:"public/route-manifest.json",assetManifest:"public/asset-manifest.json",utilities:"src/styles/utilities.generated.css",appPages:"src/app",appLayout:"src/app/layout.tsx",configRoute:"src/config/dndev-config-route.js",configTheme:"src/config/dndev-config-theme.js",configI18n:"src/config/dndev-config-i18n.js",configPwa:"src/config/dndev-config-pwa.js",configAsset:"src/config/dndev-config-asset.js",configSeo:"src/config/dndev-config-seo.js",configServer:"src/config/dndev-config-server.js"},vite:{routeInspection:"src/routes.generated.log",themeInspection:"src/themes.generated.log",i18nInspection:"src/i18n.generated.log",assetInspection:"src/assets.generated.log",envInspection:"src/env.generated.log"},manifests:{route:"route-manifest.json",theme:"theme-manifest.json",i18n:"i18n-manifest.json",asset:"asset-manifest.json",feature:"feature-manifest.json",env:"env-manifest.json"}},rr={package:"@donotdev/ui",assetsPath:"packages/ui/assets",browserTargets:["> 1%","last 2 versions","Firefox ESR","not dead","not op_mini all"]},Te={public:"public",fonts:"fonts",nodeModules:"node_modules",packages:"packages",core:"core",ui:"ui"},St={SOURCE_ROOT:"packages/core/i18n",SOURCE_LOCALES:"packages/core/i18n/locales",SOURCE_EAGER:"packages/core/i18n/locales/eager",SOURCE_LAZY:"packages/core/i18n/locales/lazy",PUBLISHED_ROOT:"i18n",PUBLISHED_LOCALES:"i18n/locales",PUBLISHED_EAGER:"i18n/locales/eager",PUBLISHED_LAZY:"i18n/locales/lazy"},pe={routes:{consumer:["src/**/*Page.tsx","src/pages/**/*Page.tsx"],exclude:["**/node_modules/**","**/dist/**","**/build/**","**/*.test.tsx","**/*.stories.tsx"],extensions:[".tsx"]},css:{consumer:["src/**/*.css"],themes:["src/**/*.css"],extensions:[".css",".scss",".sass"],framework:["packages/ui/src/**/*.css","packages/core/components/src/**/*.css","packages/core/templates/src/**/*.css"]},i18n:{eager:["src/locales/*_*.json"],lazy:["src/**/locales/*_*.json","!src/locales/*_*.json","../../entities/locales/*_*.json"],additional:[],framework:{eager:[`${St.SOURCE_EAGER}/*_*.json`],lazy:[`${St.SOURCE_LAZY}/*_*.json`]},extensions:[".json"]},assets:{consumer:["public/**/*"],fallback:["manifest.json"],modern:["logo.svg","favicon.svg","apple-touch-icon.png","android-chrome-192x192.png","android-chrome-512x512.png"],patterns:["favicon.svg","favicon.ico","favicon-*.png","logo.svg","logo.png","logo.webp","logo.avif","apple-touch-icon*.png","android-chrome-*.png","manifest.json"],fonts:["fonts/**/*.woff2","fonts/**/*.woff","fonts/**/*.ttf"],framework:["packages/ui/assets/**/*"]},pwa:{consumer:["public/manifest.json","public/service-worker.js","public/sw.js","public/icon-192x192.png","public/icon-512x512.png","public/favicon.ico","public/favicon.svg","public/apple-touch-icon.png","public/logo.svg"],exclude:["**/node_modules/**","**/dist/**","**/build/**"],extensions:[".json",".js",".png",".svg",".ico"],framework:["packages/ui/assets/**/*"]},globalIgnore:["**/node_modules/**","**/dist/**","**/build/**","**/.git/**","**/coverage/**","**/test/**"]},Xe={mandatoryIncludes:["react","react-dom","react-router-dom","zustand","lucide-react","valibot","i18next","i18next-browser-languagedetector","i18next-http-backend","react-i18next","@tanstack/react-query","react-helmet-async","@donotdev/core","@donotdev/components","@donotdev/ui","@donotdev/templates","@donotdev/firebase"],optionalFeatures:["@donotdev/adv-comps","@donotdev/auth","@donotdev/billing","@donotdev/crud","@donotdev/oauth","shiki","@tiptap/react","@tiptap/starter-kit","@tiptap/extension-placeholder"],coreBundled:["@donotdev/types","@donotdev/utils","@donotdev/stores","@donotdev/schemas","@donotdev/hooks","@donotdev/i18n","@donotdev/config"],componentsBundled:["class-variance-authority","clsx","lucide-react","react-day-picker"],radixUIPattern:"@radix-ui/",buildTools:["esbuild","@esbuild/win32-x64","@esbuild/darwin-x64","@esbuild/linux-x64","@esbuild/darwin-arm64","@esbuild/linux-arm64","vite","rollup","rollup-plugin-visualizer","@vitejs/plugin-react","vite-tsconfig-paths","vite-plugin-pwa","vite-plugin-compression2","vite-plugin-node-polyfills","fsevents","postcss","postcss-import","postcss-nesting","autoprefixer"],buildTimePackages:[],largeOptional:["@sentry/react","framer-motion","stripe","@tanstack/react-query","shiki","@tiptap/react","@tiptap/starter-kit","@tiptap/extension-placeholder","sharp","semver","file-type"]},qr=["firebase-admin","gcp-metadata","google-logging-utils","payload","undici","@fastify/busboy","image-size","@donotdev/tooling","fs","path","crypto","net","tls","http","https","child_process","os","util","stream","buffer","events","querystring","url","zlib","assert","constants","domain","punycode","string_decoder","timers","tty","vm","worker_threads","cluster","dgram","dns","http2","inspector","module","perf_hooks","process","readline","repl","trace_events","v8","wasi"],sr=["@donotdev/core/functions","@donotdev/core/server"],nr={selectors:{class:/\.([a-zA-Z0-9-]+)/g,variable:/--[a-zA-Z0-9-]+/g,keyframe:/@keyframes\s+([a-zA-Z0-9-]+)/g},themes:{themeClass:/(?::root\.|\.)([a-z][a-z0-9-]+)\s*\{([\s\S]*?)\}/gim,themeLabel:/--theme-label\s*:\s*['"]([^'"]+)['"]/,themeIcon:/--theme-icon\s*:\s*['"]([^'"]+)['"]/,themeIsDark:/--theme-is-dark\s*:\s*(0|1)/}},ir=[{name:"light",displayName:"Light",icon:"Sun",isDark:!1}],Ur={base:{absolute:!0,onlyFiles:!0,ignore:pe.globalIgnore},css:{absolute:!0,onlyFiles:!0,ignore:[...pe.globalIgnore,"**/*.test.css"]},routes:{absolute:!0,onlyFiles:!0,ignore:[...pe.globalIgnore,"**/*.test.tsx","**/*.stories.tsx"]},i18n:{absolute:!0,onlyFiles:!0,ignore:pe.globalIgnore},assets:{absolute:!0,onlyFiles:!0,ignore:pe.globalIgnore}};function Wr(e,t=null){let r=pe[e];if(!r)throw new Error(`Unknown pattern type: ${e}`);return t&&r.framework?{...r,framework:r.framework.map(s=>`${t}/${s}`)}:r}function $t(e){return Ur[e]||Ur.base}var rt={getGlobOptionsFor:$t||void 0,SCAN_PATTERNS:pe||void 0,getPatternsFor:Wr||void 0,I18N_PATHS:St||void 0},Z={error:(e,t)=>{},warn:(e,t)=>{},info:e=>{}};function Jr(e,t){return e().catch(r=>{throw new Error(`${t}: ${r instanceof Error?r.message:String(r)}`)})}var Xr={CLI:"packages/cli",COMPONENTS:"packages/core/components",CONFIG:"packages/core/config",CORE:"packages/core",CRUD:"packages/core/crud",FEATURES:"packages/features",HOOKS:"packages/core/hooks",I18N:"packages/core/i18n",SCHEMAS:"packages/core/schemas",STORES:"packages/core/stores",TEMPLATES:"packages/templates",TOOLING:"packages/tooling",TYPES:"packages/core/types",UI:"packages/ui",UTILS:"packages/core/utils",AUTH:"packages/features/auth",BILLING:"packages/features/billing",OAUTH:"packages/features/oauth",FIREBASE:"packages/providers/firebase",FUNCTIONS:"packages/functions"},W=class e{static _instance=null;options;_repoRoot;_appRoot=null;static getInstance(t={}){return e._instance||(e._instance=new e(t)),e._instance}static _reset(){e._instance=null}constructor(t={}){if(e._instance)return e._instance;this.options={maxLevels:t.maxLevels??10,customMarkers:t.customMarkers||[],cache:t.cache??!1,debug:t.debug??!1};try{let r=process.cwd();if(!r)throw new Error("PathResolver: process.cwd() returned undefined. This should never happen.");this._repoRoot=this._findRepoRoot(r)}catch(r){throw new Error(`PathResolver constructor failed: ${r instanceof Error?r.message:String(r)}. cwd: ${process.cwd()}`)}this._appRoot=null,e._instance=this}normalizePath(t){if(!t)return"";try{return so(t).split(Vr).join("/")}catch{return String(t).split(Vr).join("/")}}getRelativePath(t){let r=this.getAppRoot(),s=Hr(r,t);return this.normalizePath(s)}getBasename(t){if(!t)return"";let s=this.normalizePath(t).split("/");return s[s.length-1]||""}getDirname(t){return t?this.normalizePath(ze(t)):""}resolvePackage(t,r=null){try{let s=r||this.getAppRoot(),i=ro(Ce(s,"package.json")).resolve(t);return this.normalizePath(i)}catch{return null}}resolveFrameworkPackage(t,r=null){let s=this.resolvePackage(`${t}/package.json`,r);if(s)return this.getDirname(s);if(this.isMonorepo()&&t.startsWith("@donotdev/")){let o=t.replace("@donotdev/",""),a=this.resolveRepoPath(`packages/${o}`);if(this.pathExists(a))return a;if(["auth","billing","crud","oauth"].includes(o)){let c=this.resolveRepoPath(`packages/features/${o}`);if(this.pathExists(c))return c}if(o==="firebase"){let c=this.resolveRepoPath(`packages/providers/${o}`);if(this.pathExists(c))return c}}let n=this.resolveAppPath(`node_modules/${t}`);if(this.pathExists(n))return n;let i=this.resolveRepoPath(`node_modules/${t}`);return this.pathExists(i)?i:null}resolvePackageAsset(t,r=null){return this.resolvePackage(t,r)}resolveAppPath(t){let r=this.getAppRoot(),s=kt(r,t);return this.normalizePath(s)}resolveRepoPath(t){let r=this.getRepoRoot(),s=this.normalizePath(t),n=kt(r,s);return this.normalizePath(n)}resolvePath(t,r){let s=this.normalizePath(r),n=this.normalizePath(t),i=kt(s,n);return this.normalizePath(i)}createImportPath(t){return"./"+this.getRelativePath(t)}getFileInfo(t){try{let r=T.statSync(t);return{absolutePath:this.normalizePath(t),relativePath:this.getRelativePath(t),importPath:this.createImportPath(t),size:r.size,isFile:r.isFile(),isDirectory:r.isDirectory()}}catch{return null}}_detectFormat(t,r){return r&&r!=="auto"?r:no(t).toLowerCase()===".json"?"json":"text"}async read(t,r={}){let{format:s="auto",encoding:n="utf8"}=r,i=this._detectFormat(t,s);try{if(i==="buffer")return await T.promises.readFile(t);let o=await T.promises.readFile(t,n),a=this.stripBom(o);return i==="json"?JSON.parse(a):a}catch(o){return this.options.debug&&Z.warn(`Failed to read file: ${t}`,o),null}}readSync(t,r={}){let{format:s="auto",encoding:n="utf8"}=r,i=this._detectFormat(t,s);try{if(i==="buffer")return T.readFileSync(t);let o=T.readFileSync(t,n),a=this.stripBom(o);return i==="json"?JSON.parse(a):a}catch(o){return this.options.debug&&Z.warn(`Failed to read file: ${t}`,o),null}}async write(t,r,s={}){let{format:n="auto",overwrite:i=!1,dryRun:o=!1,verbose:a=!1}=s,c=this.normalizePath(t),u=this.normalizePath(ze(c)),f=this.pathExists(c);if(f&&!i)return a&&Z.info(`Skipping existing file: ${c}`),!1;if(o)return Z.info(`[DRY RUN] Would write file: ${c}`),!0;try{await T.promises.mkdir(u,{recursive:!0})}catch(m){if(m?.code!=="EEXIST")throw m}let g=this._detectFormat(t,n),p;Buffer.isBuffer(r)?p=r:g==="json"&&typeof r=="object"?p=JSON.stringify(r,null,2):p=String(r);try{return await Jr(async()=>(Buffer.isBuffer(p)?await T.promises.writeFile(c,p):await T.promises.writeFile(c,p,"utf8"),a&&Z.info(`${f?"Updated":"Created"} file: ${c}`),!0),`Failed to write file: ${c}`)}catch{return!1}}writeSync(t,r,s={}){let{format:n="auto",overwrite:i=!1,dryRun:o=!1,verbose:a=!1}=s,c=this.normalizePath(t),u=this.normalizePath(ze(c)),f=this.pathExists(c);if(f&&!i)return a&&Z.info(`Skipping existing file: ${c}`),!1;if(o)return Z.info(`[DRY RUN] Would write file: ${c}`),!0;try{T.mkdirSync(u,{recursive:!0})}catch(m){if(m?.code!=="EEXIST")throw m}let g=this._detectFormat(t,n),p;Buffer.isBuffer(r)?p=r:g==="json"&&typeof r=="object"?p=JSON.stringify(r,null,2):p=String(r);try{return Buffer.isBuffer(p)?T.writeFileSync(c,p):T.writeFileSync(c,p,"utf8"),a&&Z.info(`${f?"Updated":"Created"} file: ${c}`),!0}catch(m){throw new Error(`Failed to write file: ${c}: ${m instanceof Error?m.message:String(m)}`)}}async copy(t,r,s={}){let{overwrite:n=!1,dryRun:i=!1,verbose:o=!1}=s,a=this.normalizePath(r),c=this.pathExists(a);if(c&&!n)return o&&Z.info(`Skipping existing file: ${a}`),!1;if(i)return Z.info(`[DRY RUN] Would copy file: ${a}`),!0;let u=this.normalizePath(ze(a));try{await T.promises.mkdir(u,{recursive:!0})}catch(f){if(f?.code!=="EEXIST")throw f}try{return await Jr(async()=>(await T.promises.copyFile(t,a),o&&Z.info(`${c?"Updated":"Created"} file: ${a}`),!0),`Failed to copy file from ${t} to ${a}`)}catch{return!1}}copySync(t,r,s={}){let{overwrite:n=!1,dryRun:i=!1,verbose:o=!1}=s,a=this.normalizePath(r),c=this.pathExists(a);if(c&&!n)return o&&Z.info(`Skipping existing file: ${a}`),!1;if(i)return Z.info(`[DRY RUN] Would copy file: ${a}`),!0;let u=this.normalizePath(ze(a));try{T.mkdirSync(u,{recursive:!0})}catch(f){if(f?.code!=="EEXIST")throw f}try{return T.copyFileSync(t,a),o&&Z.info(`${c?"Updated":"Created"} file: ${a}`),!0}catch{return!1}}pathExists(t,r=!1){try{return T.existsSync(t)}catch(s){return r||Z.error(`Error checking path existence: ${t}`,s),!1}}mkdir(t){try{let r=t.startsWith("/")||t.match(/^[A-Z]:/)?this.normalizePath(t):this.resolveAppPath(t);return T.existsSync(r)||T.mkdirSync(r,{recursive:!0}),!0}catch{return!1}}readdirSync(t,r){try{return T.readdirSync(t,r)}catch(s){return this.options.debug&&Z.warn(`Failed to read directory: ${t}`,s),r&&typeof r=="object"&&"withFileTypes"in r&&r.withFileTypes?[]:[]}}statSync(t){try{return T.statSync(t)}catch(r){return this.options.debug&&Z.warn(`Failed to stat file: ${t}`,r),null}}lstatSync(t){try{return T.lstatSync(t)}catch(r){return this.options.debug&&Z.warn(`Failed to lstat file: ${t}`,r),null}}async ensureDir(t){try{await T.promises.mkdir(t,{recursive:!0})}catch(r){if(r?.code!=="EEXIST")throw r}}ensureDirSync(t){try{T.mkdirSync(t,{recursive:!0})}catch(r){if(r?.code!=="EEXIST")throw r}}async remove(t){await T.promises.rm(t,{recursive:!0,force:!0})}removeSync(t){T.rmSync(t,{recursive:!0,force:!0})}async readdir(t,r){return T.promises.readdir(t,r)}stripBom(t){return t.charCodeAt(0)===65279?t.slice(1):t}getRepoRoot(){return this._repoRoot||process.cwd()}getAppRoot(){return this._appRoot?this._appRoot:this._repoRoot}setAppRoot(t){if(!t)throw new Error("PathResolver.setAppRoot: root cannot be undefined or null");this._appRoot=this.normalizePath(t)}isMonorepo(){let t=Ce(this._repoRoot,"packages");return this.pathExists(t)}isWithinApp(t){let r=this.normalizePath(kt(t)),s=this.getAppRoot(),n=Hr(s,r),i=this.normalizePath(n);return!i.startsWith("../")&&!i.startsWith("/")}async findFiles(t,r,s={}){let n=this.normalizePath(Ce(t,r)),i=this.getAppRoot(),o=this.normalizePath(i),a=n.startsWith(o)?n.slice(o.length+1):n,c={absolute:!0,onlyFiles:!0,braceExpansion:!0,extglob:!0,globstar:!0,cwd:i,ignore:rt.SCAN_PATTERNS?.globalIgnore||["**/node_modules/**","**/dist/**","**/build/**","**/.git/**"]};return await this._globWithNormalization([a],{...c,...s})}clearCache(){}async _resolveFrameworkI18nPattern(t){let r=rt.I18N_PATHS;if(!r)return null;let s=t.replace(r.SOURCE_ROOT+"/",""),n=this.resolveFrameworkPackage("@donotdev/core");if(!n)return null;let i=this.normalizePath(Ce(n,r.PUBLISHED_ROOT,s)),o=i.replace(/\/[^/]*\*.*$/,"");return this.pathExists(o),i}async _globWithNormalization(t,r){return(await oo(t,r)).map(n=>{let i=typeof n=="string"?n:n.path;return this.normalizePath(i)})}async resolveFiles(t,r="css"){if(!t||typeof t!="object")return{frameworkFiles:[],consumerFiles:[]};if(r==="i18n")return{frameworkFiles:[],consumerFiles:[]};if(Array.isArray(t.framework)||(t.framework=[]),!Array.isArray(t.consumer))return{frameworkFiles:[],consumerFiles:[]};let s=[...t.framework,...t.consumer];for(let f of s)if(typeof f!="string"||f.trim()==="")return{frameworkFiles:[],consumerFiles:[]};let n=this.getAppRoot(),i=rt.getGlobOptionsFor?rt.getGlobOptionsFor(r):{ignore:["**/node_modules/**","**/dist/**","**/build/**"]},o=this.normalizePath(n),a=t.framework.map(f=>{let g=this.normalizePath(f);return g.startsWith(o)?g.slice(o.length+1):g}),c=t.consumer.map(f=>{let g=this.normalizePath(f);return g.startsWith(o)?g.slice(o.length+1):g}),u={...i,onlyFiles:!0,absolute:!0,braceExpansion:!0,extglob:!0,globstar:!0,cwd:n};try{let f=a.length>0?await this._globWithNormalization(a,u):[],g=await this._globWithNormalization(c,u);return{frameworkFiles:f,consumerFiles:g}}catch{return this.options.debug,{frameworkFiles:[],consumerFiles:[]}}}async resolvePatterns(t){if(!rt.getPatternsFor)return{framework:[],consumer:[],all:[]};let r=this.getAppRoot(),s=this.getRepoRoot();if(t==="i18n"&&(!r||r===s))throw new Error(`Cannot resolve i18n patterns: appRoot not set (appRoot: ${r}, repoRoot: ${s}). Ensure configResolved hook has run before discovery.`);let n=rt.getPatternsFor(t),i=this.isMonorepo();if(t==="i18n"){let c=n,u={eager:c.eager.map(f=>f.startsWith("!")?"!"+this.resolveAppPath(f.slice(1)):this.resolveAppPath(f)),lazy:c.lazy.map(f=>f.startsWith("!")?"!"+this.resolveAppPath(f.slice(1)):this.resolveAppPath(f)),framework:{eager:i?(c.framework?.eager||[]).map(f=>this.resolveRepoPath(f)).filter(Boolean):await Promise.all((c.framework?.eager||[]).map(f=>this._resolveFrameworkI18nPattern(f))).then(f=>f.filter(Boolean)),lazy:i?(c.framework?.lazy||[]).map(f=>this.resolveRepoPath(f)).filter(Boolean):await Promise.all((c.framework?.lazy||[]).map(f=>this._resolveFrameworkI18nPattern(f))).then(f=>f.filter(Boolean))},all:[]};return u.all=[...u.eager,...u.lazy,...u.framework.eager,...u.framework.lazy],u}let o=n,a={framework:i?(o.framework||[]).map(c=>this.resolveRepoPath(c)).filter(Boolean):[],consumer:(o.consumer||[]).map(c=>this.resolveAppPath(c)),all:[]};return a.all=[...a.consumer,...a.framework],a}getEmptyModulePath(t=!1){if(t)return"@donotdev/core/empty";let r=this.resolvePackage("@donotdev/core/empty");if(r)return r;let s=ze(io(import.meta.url));return this.normalizePath(Ce(s,"../empty.js"))}_findRepoRoot(t){let r=this.normalizePath(t),s=0,n=this.options.maxLevels;for(;s<n;){let i=this.normalizePath(Ce(r,Xr.TOOLING)),o=this.normalizePath(Ce(r,Xr.CORE));if(this.pathExists(i)&&this.pathExists(o))return r;let a=Ce(r,"apps");if(this.pathExists(a)&&this.statSync(a)?.isDirectory())return this.normalizePath(r);let c=this.normalizePath(Ce(r,"package.json"));if(this.pathExists(c)&&this.normalizePath(ze(r))===r)return r;let u=this.normalizePath(ze(r));if(u===r)break;r=u,s++}return this.normalizePath(t)}};var Ee={reset:"\x1B[0m",green:"\x1B[32m",brightGreen:"\x1B[92m",red:"\x1B[31m",brightRed:"\x1B[91m",yellow:"\x1B[33m",brightYellow:"\x1B[93m",blue:"\x1B[34m",cyan:"\x1B[36m",brightCyan:"\x1B[96m",gray:"\x1B[90m",white:"\x1B[37m"};function ao(){return process.env.NO_COLOR?!1:process.platform==="win32"?!0:process.stdout.isTTY===!0}function Pe(e,t){return ao()?`${t}${e}${Ee.reset}`:e}function z(e,t,r,s={}){let{logDir:n=".dndev-logs",fileLogging:i=!1}=s,o=W.getInstance(),a=null;if(i){let f=o.resolveAppPath(n);o.pathExists(f)||o.mkdir(f),a=o.resolveAppPath(`${n}/${e.replace(/[^a-zA-Z0-9]/g,"-")}.log`);let g=`=== ${e} Log Started at ${new Date().toISOString()} ===
|
|
3
|
+
`;o.writeSync(a,g)}let c=(f,g,p)=>{if(a){let m=new Date().toISOString(),N=p.length>0?" "+p.map(H=>typeof H=="object"?JSON.stringify(H,null,2):String(H)).join(" "):"",q=`${m} [${f}] ${g}${N}
|
|
4
|
+
`;o.appendFile(a,q)}},u=(f,g)=>{if(g.length===0)return f;let p=g.map(m=>typeof m=="object"?JSON.stringify(m,null,2):String(m)).join(" ");return`${f} ${p}`};return{debug:(f,...g)=>{t&&(i?c("DEBUG",f,g):he.log.message(Pe(u(f,g),Ee.gray)))},verbose:(f,...g)=>{r&&(i?c("VERBOSE",f,g):he.log.message(u(f,g)))},info:(f,...g)=>{i?c("INFO",f,g):he.log.info(Pe(u(f,g),Ee.brightCyan))},warn:(f,...g)=>{t&&i?c("WARN",f,g):he.log.warn(Pe(u(f,g),Ee.brightYellow))},error:(f,...g)=>{t&&i?c("ERROR",f,g):he.log.error(Pe(u(f,g),Ee.brightRed))},success:(f,...g)=>{t&&i?c("SUCCESS",f,g):he.log.success(Pe(u(f,g),Ee.brightGreen))},when:(f,g="debug")=>(p,...m)=>{if(f){let N=u(p,m);switch(g){case"verbose":r&&(he.log.message(N),c("VERBOSE",p,m));break;case"info":he.log.info(Pe(N,Ee.brightCyan)),c("INFO",p,m);break;case"warn":he.log.warn(Pe(N,Ee.brightYellow)),c("WARN",p,m);break;case"error":he.log.error(Pe(N,Ee.brightRed)),c("ERROR",p,m);break;case"success":he.log.success(Pe(N,Ee.brightGreen)),c("SUCCESS",p,m);break;default:t&&(he.log.message(Pe(N,Ee.gray)),c("DEBUG",p,m))}}},getLogFilePath:()=>a}}function Yr(e={}){let{mode:t="development",chunkingOptions:r={},debug:s,verbose:n=!0,isDev:i,isDebug:o,shouldAnalyze:a,build:c={}}=e,u=z("build",s,n),f=Gr(t,r);return u.debug("\u{1F41B} DEBUG MODE ENABLED:"),u.debug(" - Minification: DISABLED"),u.debug(" - Sourcemaps: ENABLED"),u.debug(" - Console logs: PRESERVED"),u.debug(" - Debugger statements: PRESERVED"),a&&(u.info("\u{1F4CA} Bundle analysis enabled"),u.info(` Visual treemap will open after build (stats.html)
|
|
5
|
+
`)),{outDir:"dist",sourcemap:i||o,cacheDir:"node_modules/.vite",target:"baseline-widely-available",minify:o?!1:"esbuild",reportCompressedSize:!1,chunkSizeWarningLimit:2048,assetsInlineLimit:0,esbuild:{format:"esm",drop:o?[]:["console","debugger"],legalComments:"none"},cssMinify:o?!1:"esbuild",cssCodeSplit:!0,rollupOptions:{external:uo(),output:{format:"es",entryFileNames:"assets/[name].[hash].js",chunkFileNames:"assets/[name].[hash].js",assetFileNames:"assets/[name].[hash][extname]",...f.manualChunks&&{manualChunks:f.manualChunks},compact:!0},onwarn(p,m){p.code!=="MODULE_LEVEL_DIRECTIVE"&&m(p)},plugins:[...o?[]:[lo({include:["**/*.js","**/*.ts","**/*.tsx","**/*.jsx"],functions:["console.*","debugger"],labels:["debug"]})],...a?[(()=>{let p=W.getInstance(),m=p.getAppRoot(),N="dist",q=p.resolveAppPath(`${N}/stats.html`),H=()=>{try{let k=p.resolveAppPath(N);p.pathExists(k)||p.mkdir(k)}catch{}},$=co({filename:q,open:!0,gzipSize:!0,brotliSize:!0,template:"treemap",sourcemap:i||o,projectRoot:m});if($.buildStart){let k=$.buildStart.bind($);$.buildStart=function(...I){H();let D=k.apply(this,I);return D&&typeof D.then=="function"?D.catch(E=>{}):D}}else $.buildStart=function(){H()};let C=["generateBundle","writeBundle","closeBundle"];for(let k of C)if($[k]){let I=$[k];$[k]=function(...D){try{H();let E=I.apply(this,D);return E&&typeof E.then=="function"?E.catch(M=>{let L=M?.message||M?.toString()||String(M)||"Unknown error";u.warn(`Bundle visualizer warning in ${k}: ${L}`),k==="closeBundle"&&u.warn(`You can manually open ${q} to view the bundle analysis`)}):E}catch(E){let M=E?.message||E?.toString()||String(E)||"Unknown error";buildLogger.warn(`Bundle visualizer warning in ${k}: ${M}`),k==="closeBundle"&&buildLogger.warn(` You can manually open ${q} to view the bundle analysis`)}}}return $})()]:[]]}}}function uo(e){return e?["firebase-admin","gcp-metadata","google-logging-utils","@google-cloud/firestore",/\.node$/,"esbuild",/@esbuild\/.*/]:["gcp-metadata","google-logging-utils","payload","file-type","firebase-admin","firebase-admin/app","firebase-admin/auth","firebase-admin/firestore","firebase-admin/functions","firebase-admin/credential","@google-cloud/firestore","google-auth-library","google-gax","googleapis-common"]}function fo(){let e=!1,t=W.getInstance();if((t.pathExists("/.dockerenv")||t.pathExists("/run/.containerenv"))&&(e=!0),!e&&(process.env.DOCKER_CONTAINER==="true"||process.env.IS_DOCKER==="true"||process.env.DOCKER_BUILDKIT==="1"||process.env.CI==="true"&&process.env.DOCKER==="true")&&(e=!0),!e&&process.env.DOCKER_HOST&&process.env.DOCKER_HOST.includes("docker")&&(e=!0),!e&&process.platform==="linux"&&t.pathExists("/proc/self/cgroup"))try{let s=t.readSync("/proc/self/cgroup");s&&(s.includes("docker")||s.includes("containerd"))&&(e=!0)}catch{}let r=!1;if((process.env.WSL_DISTRO_NAME||process.env.WSLENV)&&(r=!0),!r&&process.platform==="linux"&&t.pathExists("/proc/version"))try{let s=(t.readSync("/proc/version")||"").toLowerCase();r=s.includes("microsoft")||s.includes("wsl")}catch{}if(!r&&process.platform==="linux"&&t.pathExists("/proc/sys/kernel/osrelease"))try{let s=(t.readSync("/proc/sys/kernel/osrelease")||"").toLowerCase()||"";(s.includes("microsoft")||s.includes("wsl"))&&(r=!0)}catch{}if(!r&&process.platform==="win32"){let s=process.cwd();s&&(s.includes("\\wsl$")||s.includes("\\wsl.localhost"))&&(r=!0)}return{isDocker:e,isWSL2:r}}function ho(e,t){if(e!==void 0)return e;let{isDocker:r,isWSL2:s}=fo();if(r||s){let n=r?"Docker":"WSL2";return t.info(`Detected ${n} environment - enabling polling mode for file watching`),!0}}function Kr(e,t={},r){let s=W.getInstance(),n=s.getRepoRoot(),{watch:i,hmr:o,host:a,...c}=t||{},u=o||{},f=a===!0?"localhost":a||"localhost",g={...u.port&&{port:u.port},...u.clientPort&&{clientPort:u.clientPort},host:u.host??f,...u.protocol&&{protocol:u.protocol},overlay:u.overlay??!0,timeout:u.timeout??5e3},p=a!==void 0?a:!0,m=c.https===!0;return{port:e,host:p,open:t.open!==void 0?t.open:!0,https:m,fs:{allow:[n,s.resolveRepoPath("packages"),s.resolveRepoPath("node_modules")],strict:!1},watch:{usePolling:ho(t?.watch?.usePolling,r),interval:t?.watch?.interval??2e3,...t?.watch||{}},hmr:{...g,...u},headers:{"Cross-Origin-Opener-Policy":"same-origin-allow-popups","Cross-Origin-Embedder-Policy":"unsafe-none"},middlewareMode:!1,...c}}function Qr(e={}){let t=e.https===!0;return{...e,https:t}}var me={CONCATENATE_DEDUPE:"CONCATENATE_DEDUPE",SHALLOW_MERGE:"SHALLOW_MERGE",DEEP_MERGE:"DEEP_MERGE",REPLACE:"REPLACE"};function Be(e,t,r,s={}){let{protectedKeys:n=[],onConflict:i}=s;if(t==null)return e;switch(r){case me.CONCATENATE_DEDUPE:{if(!Array.isArray(e)||!Array.isArray(t))return t;let o=[...e,...t];return[...new Set(o)]}case me.SHALLOW_MERGE:return typeof e!="object"||typeof t!="object"||e===null||t===null||Array.isArray(e)||Array.isArray(t)?t:{...e,...t};case me.DEEP_MERGE:{if(typeof e!="object"||typeof t!="object"||e===null||t===null||Array.isArray(e)||Array.isArray(t))return t;let o={...e};for(let a in t){if(n.includes(a)){i&&i(a,e[a],t[a]);continue}typeof o[a]=="object"&&typeof t[a]=="object"&&o[a]!==null&&t[a]!==null&&!Array.isArray(o[a])&&!Array.isArray(t[a])?o[a]=Be(o[a],t[a],me.DEEP_MERGE,{protectedKeys:n,onConflict:i}):o[a]=t[a]}return o}case me.REPLACE:default:return t}}function Zr(e,t,r=[],s){let n=[...e,...t||[]],i=[...new Set(n)];return[...new Set([...i,...r])]}var At={base:"/",mode:process.env.NODE_ENV==="production"?"production":"development",debug:!1,verbose:process.env.CI!=="true",server:{port:3e3,strictPort:!0,host:!0,open:!0,cors:!0,https:!0,hmr:{overlay:!0,timeout:5e3,usePolling:void 0,interval:2e3},watch:{usePolling:void 0,interval:2e3}},build:{sourcemap:!0,target:"es2020",minify:"esbuild",cssMinify:"esbuild",analyze:!0},preview:{port:4173,strictPort:!0,host:!0,open:!1,cors:!0,https:!0},routes:{hmr:!0},themes:{},i18n:{},assets:{copyFonts:!0},features:{},pwa:{enabled:!1},seo:{disabled:!1,generateRobotsTxt:!0,generateSitemap:!0,crawlDelay:1},serverShim:{enabled:!0},chunking:{reactCore:[]},discovery:{verbose:!0,cacheTimeout:6e4,fileLogging:!1,logDir:".dndev-logs"},pluginFactory:{verbose:!0,disableHmr:!1,hmrSmartDetection:!0,hmrDebounceMs:500,hmrCacheTimeout:3e4},resolve:{alias:{"@":"/src"},preserveSymlinks:!1},define:{__DEV__:JSON.stringify(process.env.NODE_ENV==="development"),__PROD__:JSON.stringify(process.env.NODE_ENV==="production")},optimizeDeps:{include:[...Xe.mandatoryIncludes],exclude:[...Xe.buildTools,...Object.values(G)],esbuildOptions:{format:"esm",target:"es2020",platform:"browser",define:{"process.env.NODE_ENV":JSON.stringify(process.env.NODE_ENV||"development")},external:["next","next/*"]}},plugins:[],css:{},envDir:void 0};function es(e={},t={}){let{onConflict:r}=t,s={...At},n=[],i=(o,a,c,u)=>{n.push({key:o,frameworkValue:a,userValue:c,reason:u}),r&&r(o,a,c,u)};return Object.keys(e).forEach(o=>{let a=e[o],c=s[o];if(o==="optimizeDeps"&&typeof a=="object"&&a!==null){let u=c?.include||[],f=c?.exclude||[],g=a.include||[],p=a.exclude||[],m=u.filter(C=>!C.startsWith("@donotdev/")),N=p.filter(C=>m.includes(C));if(N.length>0)for(let C of N)i("optimizeDeps.exclude",C,"excluded",`Framework requires ${C} to be included. It will be included despite your exclusion.`);let q=Zr(u,g,m),H=Be(f,p,me.CONCATENATE_DEDUPE),$=Be(c?.esbuildOptions||{},a.esbuildOptions||{},me.DEEP_MERGE,{protectedKeys:["external"],onConflict:C=>i(`optimizeDeps.esbuildOptions.${C}`,c?.esbuildOptions?.[C],a.esbuildOptions?.[C],`Framework requires ${C} to remain as configured.`)});s[o]={...c,include:q,exclude:H,esbuildOptions:$,...Object.fromEntries(Object.entries(a).filter(([C])=>!["include","exclude","esbuildOptions"].includes(C)))};return}if(o==="css"&&typeof a=="object"&&a!==null){s[o]=Be(c||{},a,me.DEEP_MERGE,{protectedKeys:["postcss"],onConflict:()=>i("css.postcss","framework PostCSS config",a.postcss,"Framework PostCSS config is required and cannot be overridden. Your postcss config is ignored.")});return}if(o==="define"&&typeof a=="object"&&a!==null){s[o]=Be(c||{},a,me.DEEP_MERGE,{protectedKeys:["__DEV__","__PROD__"],onConflict:u=>i(`define.${u}`,c?.[u],a[u],`Framework requires ${u} to remain as configured.`)});return}if(Array.isArray(a)){Array.isArray(c)?s[o]=Be(c,a,me.CONCATENATE_DEDUPE):s[o]=a;return}if(typeof a=="object"&&a!==null&&typeof c=="object"&&c!==null&&!Array.isArray(c)){s[o]=Be(c,a,me.SHALLOW_MERGE);return}s[o]=a}),s}function ts(e){let{server:t={},preview:r={},mode:s,build:n={},resolve:i={},routes:o={},themes:a={},i18n:c={},assets:u={},features:f={},seo:g={},pwa:p={},serverShim:m={},chunking:N={},discovery:q={},pluginFactory:H={},debug:$,verbose:C,base:k,define:I={},optimizeDeps:D={},plugins:E=[],css:M={},envDir:L,...ue}=e,S=s!=="production",A=$||S,te=s==="production"&&(n.analyze??At.build.analyze);return{mode:s,debug:$,verbose:C,isDev:S,isDebug:A,shouldAnalyze:te,serverOptions:t,previewOptions:r,buildOverrides:n,resolveOptions:i,routeOptions:o,themeOptions:a,i18nOptions:c,assetOptions:u,featureOptions:f,seoOptions:g,pwaOptions:p,serverShimOptions:m,chunkingOptions:N,discoveryOptions:q,pluginFactoryOptions:H,base:k,defineOptions:I,optimizeDepsOptions:D,pluginsOptions:E,cssOptions:M,envDir:L,restOptions:ue}}import{resolve as go}from"node:path";import po from"autoprefixer";import mo from"postcss-import";import bo from"postcss-nesting";function rs({postcssImport:e,postcssNesting:t,autoprefixer:r,resolve:s}){return{plugins:[s?e({resolve:s}):e,t,r({overrideBrowserslist:["> 1%","last 2 versions","Firefox ESR","not dead","not op_mini all"],grid:"autoplace"})]}}function ss(e={}){return e.postcss?e.postcss:async()=>{let t=W.getInstance();return rs({postcssImport:mo,postcssNesting:bo,autoprefixer:po,resolve:(s,n)=>{let i=t.resolvePackage(s,n);if(i)return i;if(s.startsWith("@donotdev/")){let o=s.split("/")[0]+"/"+s.split("/")[1],a=s.split("/").slice(2).join("/"),c=t.resolveFrameworkPackage(o,n);if(c&&a){let u=t.resolvePath(a,c);if(t.pathExists(u))return u}}return go(n,s)}})}}import Ku from"@vitejs/plugin-basic-ssl";import Qu from"@vitejs/plugin-react";import Zu from"vite-tsconfig-paths";var ie=class{static generateVirtualModule(t,r,s=!1,n=void 0,i=void 0){return r.isEmpty(t)?r.generateEmpty(t,s,n,i):r.generateModule(t,s,i)}static generateInspection(t,r,s,n){return r.generateInspection.length>=3?r.generateInspection(t,s,n):r.generateInspection(t,s)}static wrapVirtualModule(t,r){return`// Virtual module: ${t}
|
|
6
6
|
// Generated by @donotdev/config discovery
|
|
7
7
|
// Version: 1.0.0
|
|
8
8
|
|
|
@@ -38,13 +38,13 @@ var Gi=Object.create;var Lr=Object.defineProperty;var qi=Object.getOwnPropertyDe
|
|
|
38
38
|
`);return`// Helper functions for ${t}
|
|
39
39
|
// Generated by @donotdev/config
|
|
40
40
|
|
|
41
|
-
${s}`}static validateTemplates(t){return["isEmpty","generateModule","generateEmpty","generateInspection"].every(s=>t[s]&&typeof t[s]=="function")}static createTemplateConfig(t,r){let{isEmpty:s=()=>!1,generateModule:n=()=>"",generateEmpty:i=()=>"",generateInspection:o=()=>"",generateManifest:a=()=>({}),logConfig:c=()=>{},logStats:u=()=>{},logManifest:f=()=>{}}=r;return{isEmpty:s,generateModule:n,generateEmpty:i,generateInspection:o,generateManifest:a,logConfig:c,logStats:u,logManifest:f,pluginName:t,version:"1.0.0",createdAt:new Date().toISOString()}}static getEmptyResultWithError(t,r){let s=r?.message||r||"Unknown error";if(t&&typeof t._getEmptyResult=="function")try{let n=t._getEmptyResult();return n.errors&&Array.isArray(n.errors)?n.errors.push(s):n.errors===void 0&&(n.errors=[s]),n.source==="empty"&&(n.source="error"),n}catch{return{errors:[s],source:"error"}}return{errors:[s],source:"error"}}};function Re(e){let{pluginName:t,icon:r,virtualModuleId:s,DiscoveryClass:n,discoveryMethod:i,filePatterns:o,templates:a,defaultInspectionPath:c,manifestFileName:u,createDiscovery:f,discoveryOptions:g={},configKey:p}=e;return function(
|
|
41
|
+
${s}`}static validateTemplates(t){return["isEmpty","generateModule","generateEmpty","generateInspection"].every(s=>t[s]&&typeof t[s]=="function")}static createTemplateConfig(t,r){let{isEmpty:s=()=>!1,generateModule:n=()=>"",generateEmpty:i=()=>"",generateInspection:o=()=>"",generateManifest:a=()=>({}),logConfig:c=()=>{},logStats:u=()=>{},logManifest:f=()=>{}}=r;return{isEmpty:s,generateModule:n,generateEmpty:i,generateInspection:o,generateManifest:a,logConfig:c,logStats:u,logManifest:f,pluginName:t,version:"1.0.0",createdAt:new Date().toISOString()}}static getEmptyResultWithError(t,r){let s=r?.message||r||"Unknown error";if(t&&typeof t._getEmptyResult=="function")try{let n=t._getEmptyResult();return n.errors&&Array.isArray(n.errors)?n.errors.push(s):n.errors===void 0&&(n.errors=[s]),n.source==="empty"&&(n.source="error"),n}catch{return{errors:[s],source:"error"}}return{errors:[s],source:"error"}}};function Re(e){let{pluginName:t,icon:r,virtualModuleId:s,DiscoveryClass:n,discoveryMethod:i,filePatterns:o,templates:a,defaultInspectionPath:c,manifestFileName:u,createDiscovery:f,discoveryOptions:g={},configKey:p}=e;return function(N={}){let{debug:q,verbose:H,virtualModuleId:$=s,inspectionFilePath:C=c,hmrDebounceMs:k,hmrCacheTimeout:I,hmrSmartDetection:D,disableHmr:E,...M}=N;if(!ie.validateTemplates(a))throw new Error(`Invalid templates for plugin ${t}`);let L={...At.discovery,...g,debug:q,verbose:H,...M},ue=p||(()=>{let b=t.match(/dndev-vite-(\w+)-discovery/);return b?b[1]:null})(),S=z(t,q,H,{fileLogging:L.fileLogging,logDir:L.logDir}),A=W.getInstance(),te=()=>{let b=A.getAppRoot(),P=A.getRepoRoot();return b&&b!==P},pt=Date.now(),fe=f?f(A,L):new n(A,L),xe="\0"+$,F="",O=!1,j=null,Y=0,He=!1,re=null,Me=!1,De=null,tt=!1;typeof global<"u"&&(global.__DNDEV_CLEAR_CACHE__=()=>(fe.clearCache(),re=null,S.info("Discovery cache cleared manually"),"Cache cleared"));function Kt(b){let X=ie.generateVirtualModule(b,a,q,L,ue).replace(/mode:\s*['"]development['"]/g,"mode: typeof process !== 'undefined' && process.env.NODE_ENV === 'production' ? 'production' : 'development'");return!E&&O&&(X+=`
|
|
42
42
|
|
|
43
43
|
// HMR boundary for ${t}
|
|
44
44
|
if (import.meta.hot) {
|
|
45
45
|
import.meta.hot.accept();
|
|
46
46
|
}
|
|
47
|
-
`),X}function Qt(m){return oe.generateInspection(m,a,C,U)}async function mt(){if(C)try{let m=await fe[i](),x=Qt(m),X=I.resolveAppPath(k);await I.write(X,x),S.debug(`Generated inspection file: ${I.getRelativePath(X)}`)}catch(m){S.error(`${t} failed to write inspection file (${k}): ${m.message}`),S.error(`Stack: ${m.stack||"No stack trace available"}`)}}function Rt(m){let x=m.replace(/\\/g,"/");if(R||x.includes("/node_modules/")||x.includes("/.git/")||x.includes("/dist/")||x.includes("/build/")||x.includes("/coverage/")||x.includes("/.vite/")||x.includes("/.turbo/")||x.endsWith(".d.ts")||x.endsWith(".tsbuildinfo")||x.endsWith(".map")||x.endsWith(".css.map")||x.endsWith(".generated.log")||/\.generated\.[a-z]+$/.test(x))return!1;let X=I.getRelativePath(x);if(X.startsWith("packages/"))return!1;let Xe=X.startsWith("src/")&&/\.(ts|tsx)$/.test(X);return Xe?Array.isArray(o)&&o.length>0?o.some(ye=>typeof ye=="function"?ye(x):typeof ye=="string"?ye.startsWith("**/")?x.endsWith(ye.slice(3)):x.endsWith(ye):!1):Xe:!1}function Zt(m){if(R)return S.debug("Virtual modules are static - HMR disabled"),[];let x=Date.now();return Me?(S.debug("HMR already in progress, skipping update"),[]):x-K<_?(Ve||(Ve=!0,O=setTimeout(()=>{Ve=!1,K=Date.now(),Je(m)},_)),[]):(K=x,Je(m))}function Je(m){let x=Date.now();if(De===m.file&&x-K<100)return S.debug(`Same file processed too recently: ${m.file}`),[];if(!Rt(m.file))return S.debug(`Skipping irrelevant file change: ${m.file}`),[];S.debug(`Relevant file changed: ${m.file}`),Me=!0,De=m.file;try{let X=Date.now()-(se?.timestamp||0);if(X<L&&se){S.debug(`Using cached discovery data (age: ${X}ms)`);let ye=m.server.moduleGraph.getModuleById(xe);return ye&&m.server.reloadModule(ye),[]}fe.clearCache();let Xe=m.server.moduleGraph.getModuleById(xe);return Xe&&m.server.reloadModule(Xe),O&&clearTimeout(O),O=setTimeout(()=>{mt()},500),[]}finally{Me=!1,setTimeout(()=>{De===m.file&&(De=null)},200)}}return{name:t,enforce:"pre",configResolved(m){C=m.root,F=m.command==="serve",j&&S.debug(`${r} ${t} initialized`),F&&S.debug("\u{1F4A1} Dev mode: Press 'r' in terminal to restart, or use global.__DNDEV_CLEAR_CACHE__() in console"),a.logConfig&&a.logConfig(U),F?S.debug("Deferring discovery until first module load (dev mode)"):fe[i](!1).catch(x=>{S.error(`${t} failed initial discovery during plugin initialization: ${x.message}`),S.error(`Stack: ${x.stack||"No stack trace available"}`)})},config(m){return m.optimizeDeps||(m.optimizeDeps={}),m.optimizeDeps.exclude||(m.optimizeDeps.exclude=[]),m.optimizeDeps.exclude.includes(M)||m.optimizeDeps.exclude.push(M),m},resolveId(m){return m===M?(S.debug(`Resolving virtual module: ${m}`),{id:xe,moduleSideEffects:!0}):null},async load(m){if(m!==xe)return null;if(S.debug(`Loading virtual module: ${m}`),!re()){S.warn("\u26A0\uFE0F load() called before appRoot is set - waiting for config resolution");let x=0;for(;!re()&&x<100;)await new Promise(X=>setTimeout(X,10)),x++;if(!re())throw new Error("App root not set before discovery. Ensure configResolved hook has set appRoot.")}try{let x;return se?(S.debug("Using cached discovery data for virtual module"),x=se):(S.warn(`\u26A0\uFE0F No cached discovery data found for ${t} - running discovery in load() hook. This may indicate buildStart() hook did not run or failed. Performance may be impacted.`),x=await fe[i](),se=x,S.debug("Discovery completed for virtual module")),Kt(x)}catch(x){return S.error(`${t} virtual module (${xe}) failed to load: ${x.message}`),S.error(`Stack: ${x.stack||"No stack trace available"}`),a.generateEmpty({},j,U,Y)}},async buildStart(){if(rt=!1,!re()){S.warn("\u26A0\uFE0F buildStart() called before appRoot is set - waiting for config resolution");let m=0;for(;!re()&&m<100;)await new Promise(x=>setTimeout(x,10)),m++;if(!re())throw new Error("App root not set before discovery. Ensure configResolved hook has set appRoot.")}try{let m=await fe[i](!se);se=m,await mt(),a.logStats&&a.logStats(m,r,S)}catch(m){S.error(`${t} discovery failed during file scanning: ${m.message}`),S.error(`Stack: ${m.stack||"No stack trace available"}`),se=oe.getEmptyResultWithError(fe,m)}finally{rt=!0}},configureServer(){rt=!0},handleHotUpdate(m){return R?[]:rt?Zt(m):(S.debug("HMR disabled - discovery not complete yet"),[])},generateBundle(){if(!se){S.warn("No cached discovery data for manifest generation - skipping");return}try{let m=oe.generateManifest(se,a.generateManifest);this.emitFile({type:"asset",fileName:u,source:JSON.stringify(m,null,2)}),W&&a.logManifest&&a.logManifest(se,t)}catch(m){S.error(`${t} manifest generation failed: ${m.message}`),S.error(`Stack: ${m.stack||"No stack trace available"}`)}},transform(m,x){return x===xe?{code:m,map:null}:null}}}}var Lf={generateGlobals:oe.generateGlobals,generateExports:oe.generateExports,generateDefaultExport:oe.generateDefaultExport,wrapVirtualModule:oe.wrapVirtualModule,generateInspectionHeader:oe.generateInspectionHeader,validateTemplates:oe.validateTemplates,createTemplateConfig:oe.createTemplateConfig};var be=class e{constructor(t,r={}){if(this.constructor===e)throw new Error("BaseDiscovery is abstract and cannot be instantiated directly");this.pathResolver=t,this.options={...r},process.env.NODE_ENV==="development"&&(this.options.cacheTimeout=Math.max(this.options.cacheTimeout||6e4,3e5)),this.logger=z(this._getDiscoveryType(),this.options.debug,this.options.verbose,{fileLogging:this.options.fileLogging,logDir:this.options.logDir}),this.cache=null,this._lastDiscoveryTime=0}async discover(t=!1){if(!t&&this._isCacheValid())return this.logger.debug("Using cached results"),this.cache;let r=Date.now();try{let s=await this._getPatterns();this.options.verbose&&s&&(typeof s=="object"&&s.pattern?this.logger.verbose(`Pattern: ${s.pattern}`):typeof s=="string"&&this.logger.verbose(`Pattern: ${s}`),s.dirs&&this.logger.verbose(`Search directories: ${s.dirs.slice(0,3).join(", ")}${s.dirs.length>3?` (${s.dirs.length} total)`:""}`));let n=await this._scanFiles(s),i=await this._processFiles(n);this.cache={...i,timestamp:Date.now()};let o=Date.now()-r;return this.logger.debug(`Discovery completed in ${o}ms`),this._lastDiscoveryTime=Date.now(),this.cache}catch(s){return this.logger.error(`${this._getDiscoveryType()} discovery failed during file scanning: ${s.message}`),this.logger.error(`Stack: ${s.stack||"No stack trace available"}`),this._getEmptyResult()}}clearCache(){this.cache=null,this._lastDiscoveryTime=0,this.logger.debug("Cache cleared")}getCachedResults(){return this.cache}_getDiscoveryType(){throw new Error("_getDiscoveryType must be implemented by subclass")}_getPatterns(){throw new Error("_getPatterns must be implemented by subclass")}_getPatternType(){throw new Error("_getPatternType must be implemented by subclass")}async _processFiles(t){throw new Error("_processFiles must be implemented by subclass")}_getEmptyResult(){throw new Error("_getEmptyResult must be implemented by subclass")}_getDiscoverySummary(){throw new Error("_getDiscoverySummary must be implemented by subclass")}async _scanFiles(t){let r=this._getPatternType();return await this.pathResolver.resolveFiles(t,r)}_extractFileNameInfo(t){let r=t.split("/"),s=r[r.length-1],n=s.split(".")[0],i=s.split(".").pop();return{fileName:s,baseName:n,extension:i,directory:r.slice(0,-1).join("/")}}async _processSingleFile(t,r){try{let s=this.pathResolver.getFileInfo(t);return s?await r(s):(this.logger.debug(`Could not get file info: ${t}`),null)}catch(s){return this.logger.debug(`Error processing file ${t}: ${s.message}`),null}}async _batchProcessFiles(t,r){return(await Promise.all(t.map(n=>this._processSingleFile(n,r)))).filter(n=>n!==null)}_isCacheValid(){return this.cache?Date.now()-this.cache.timestamp<this.options.cacheTimeout:!1}};var Ht=class extends be{constructor(t,r={}){super(t,{assets:pe.assets.fallback,assetPatterns:pe.assets.patterns,frameworkPackage:rr.package,assetsPath:rr.assetsPath,modernFormats:pe.assets.modern,...r}),this.hasRunForSession=!1}_getDiscoveryType(){return"Asset"}async _getPatterns(){return await this.pathResolver.resolvePatterns("assets")}_getPatternType(){return"assets"}async _processFiles(t){let r=this.pathResolver.getAppRoot(),s=await this._ensureDefaultAssets(r),n=this.pathResolver.resolveAppPath("public/logo.svg");this.pathResolver.pathExists(n)||this.logger.warn("logo.svg not found in public/. Add your logo.svg to generate PWA assets, or copy from node_modules/@donotdev/ui/assets/logo.svg");let o=[],a=this.pathResolver.resolveAppPath("public/logo.svg");this.pathResolver.pathExists(a)&&this.options.generateAssets!==!1&&(o=(await this._generateMissingAssets(r))?.generated||[]);let{consumerFiles:c}=t,u=await this._processAssetFiles(c),f=this._buildAssetManifest(u),g=await this._readLogoSvgContent("/logo.svg",r);return{assets:u,manifest:{...f,logoSvgContent:g},copiedAssets:s,generatedAssets:o,pwaIcons:this._extractPWAIcons(u)}}_extractPWAIcons(t){let r=[/icon-(\d+)x(\d+)\.(png|jpg|jpeg|webp|svg)/i,/apple-touch-icon/i,/android-chrome/i,/favicon\.(ico|svg)/i];return t.filter(s=>{let n=s.path.split("/").pop()||"";return r.some(i=>i.test(n))}).map(s=>{let n=s.path.split("/").pop()||"",i=n.match(/(\d+)x(\d+)/),o=i?{width:parseInt(i[1]),height:parseInt(i[2])}:this._getDefaultIconSize(n);return{type:"icon",path:s.path.replace(/^\/?public\//,""),size:o,format:s.format||this._getFormatFromPath(s.path),purpose:this._getIconPurpose(n)}})}_getDefaultIconSize(t){return t.includes("apple-touch-icon")?{width:180,height:180}:t.includes("favicon")?{width:32,height:32}:{width:192,height:192}}_getFormatFromPath(t){return t.split(".").pop()?.toLowerCase()||"png"}_getIconPurpose(t){return t.includes("maskable")||t.includes("mask")?"maskable":"any"}_getEmptyResult(){return{assets:[],manifest:this._getEmptyManifest(),copiedAssets:[],timestamp:Date.now()}}_getDiscoverySummary(){let t=this.cache?.assets?.length||0,r=this.cache?.copiedAssets?.length||0,s=this.cache?.copiedAssets?.filter(n=>n.startsWith("fonts/")).length||0;return s>0?`${t} assets, ${r} copied (${s} fonts)`:`${t} assets, ${r} copied`}async discoverAssets(t=!1){return await this.discover(t)}getAssets(){return this.cache?.assets||[]}getManifest(){return this.cache?.manifest||this._getEmptyManifest()}getOptimalAsset(t,r){let s=this.getAssets().map(i=>i.path),n=r||this.options.modernFormats;for(let i of n){let o=`/${t}.${i}`;if(s.includes(o))return o}return null}async _ensureDefaultAssets(t){this.logger.debug("Ensuring default assets with modern format support...");let r=[];try{let s=await this._resolveFrameworkAssetsDir(t);if(this.logger.debug(`Framework assets directory resolved to: ${s}`),!s)return this.logger.debug("Framework assets directory not found, skipping defaults"),r;let n=this.pathResolver.resolveAppPath(Te.public);this.pathResolver.pathExists(n)||(this.pathResolver.mkdir(n),this.logger.debug(`Created public directory: ${n}`));for(let i of this.options.assets)await this._ensureAsset(i,n,s)&&r.push(i);if(this.options.copyFonts!==!1){let i=await this._copyFrameworkFonts(s,n);r.push(...i)}else this.logger.debug("Font copying disabled, skipping framework fonts");r.length>0&&this.logger.debug(`Added ${r.length} default assets from DNDev framework`)}catch(s){this.logger.debug(`Failed to ensure default assets: ${s.message}`)}return r}async _ensureAsset(t,r,s){let n=this.pathResolver.resolveAppPath(`${Te.public}/${t}`);if(this.pathResolver.pathExists(n))return this.logger.debug(`Asset exists: ${t}`),!1;let i=this.pathResolver.normalizePath(`${s}/${t}`);if(this.pathResolver.pathExists(i)){if(await this.pathResolver.copy(i,n))return this.logger.debug(`Copied framework asset: ${t}`),!0;this.logger.debug(`Failed to copy framework asset: ${t}`)}return!1}async _copyFrameworkFonts(t,r){let s=[],n=this.pathResolver.normalizePath(`${t}/fonts`);if(!this.pathResolver.pathExists(n))return this.logger.debug("Framework fonts directory not found, skipping fonts"),s;let i=this.pathResolver.resolveAppPath(`${Te.public}/${Te.fonts}`);this.pathResolver.pathExists(i)||(this.pathResolver.mkdir(i),this.logger.debug(`Created fonts directory: ${i}`));try{let o=await this.pathResolver.findFiles(n,"*",{onlyFiles:!0,ignore:["**/dist/**","**/build/**","**/.git/**"]});for(let a of o){let c=a.split("/").pop()||a.split("\\").pop(),u=this.pathResolver.resolveAppPath(`${Te.public}/${Te.fonts}/${c}`);if(this.pathResolver.pathExists(u)){this.logger.debug(`Font already exists: ${c}`);continue}await this.pathResolver.copy(a,u)?(s.push(`fonts/${c}`),this.logger.debug(`Copied framework font: ${c}`)):this.logger.debug(`Failed to copy font: ${c}`)}s.length>0&&this.logger.debug(`Copied ${s.length} font files from framework`)}catch(o){this.logger.debug(`Error copying fonts: ${o.message}`)}return s}async _processAssetFiles(t){let r=[];for(let s of t)try{let n=this.pathResolver.getFileInfo(s);if(n&&n.isFile){let i=s.split("/").pop()||s.split("\\").pop(),o=this._analyzeAsset(i,n.size);o&&r.push(o)}}catch(n){this.logger.debug(`Error processing asset file ${s}: ${n.message}`)}return this.logger.debug(`Processed ${r.length} assets from ${t.length} files`),r}_analyzeAsset(t,r){let s=this._determineAssetType(t),n=this._determineAssetFormat(t);return this.options.assetPatterns.some(o=>this._matchesPattern(t,o))?{path:`/${t}`,name:t,type:s,format:n,size:r,sizeFormatted:this._formatBytes(r),isModern:this.options.modernFormats.includes(n)}:(this.logger.debug(`Asset ${t} does not match any pattern, skipping`),null)}_determineAssetType(t){let r=t.toLowerCase();if(r.includes("favicon"))return"favicon";if(r.includes("logo"))return"logo";if(r.includes("icon"))return"icon";if(r.includes("apple-touch"))return"apple-touch-icon";if(r.includes("android-chrome"))return"android-icon";if(r.includes("manifest"))return"manifest";let s=t.split(".").pop()?.toLowerCase();return["png","jpg","jpeg","gif","webp","avif","svg"].includes(s)?"image":["woff2","woff","ttf","otf"].includes(s)?"font":["json"].includes(s)?"json":["ico"].includes(s)?"icon":"unknown"}_determineAssetFormat(t){return t.split(".").pop()?.toLowerCase()||"unknown"}_formatBytes(t){if(t===0)return"0 Bytes";let r=1024,s=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(t)/Math.log(r));return parseFloat((t/Math.pow(r,n)).toFixed(2))+" "+s[n]}_matchesPattern(t,r){let s=t.toLowerCase(),n=r.toLowerCase();return s.includes(n.replace("*",""))}_buildAssetManifest(t){let r=t.map(n=>n.path);return{logo:{optimal:this._getOptimalAsset("logo",r,this.options.modernFormats),fallback:this._getOptimalAsset("logo",r,["png","jpg","jpeg"])},favicon:{optimal:this._getOptimalAsset("favicon",r,["svg","ico"]),fallback:this._getOptimalAsset("favicon",r,["ico"])},appleTouchIcon:this._getOptimalAsset("apple-touch-icon",r,["png"]),androidChrome:{192:this._getOptimalAsset("android-chrome-192x192",r,["png"]),512:this._getOptimalAsset("android-chrome-512x512",r,["png"])},manifest:r.find(n=>n.includes("manifest.json"))||null,modernFormats:t.filter(n=>n.isModern).map(n=>n.path),fallbackFormats:t.filter(n=>!n.isModern).map(n=>n.path)}}_getOptimalAsset(t,r,s){for(let n of s){let i=`/${t}.${n}`;if(r.includes(i))return i}return null}async _resolveFrameworkAssetsDir(t){try{let r=this.pathResolver.getRepoRoot(),s=await this._resolvePackage("@donotdev/ui",r);if(!s)return this.logger.debug("@donotdev/ui package not found"),null;let n=this.pathResolver.normalizePath(`${s}/assets`);return this.pathResolver.pathExists(n)?(this.logger.debug(`Using framework assets from: ${n}`),n):(this.logger.debug(`Assets directory not found: ${n}`),null)}catch(r){return this.logger.debug(`Error resolving framework assets directory: ${r.message}`),null}}async _resolvePackage(t,r){try{let s=this.pathResolver.resolveFrameworkPackage(t,r);return s?(this.logger.debug(`Found package: ${s}`),s):(this.logger.debug(`Package ${t} not found`),null)}catch(s){return this.logger.debug(`Error resolving package ${t}: ${s.message}`),null}}_getEmptyManifest(){return{logo:{optimal:null,fallback:null},favicon:{optimal:null,fallback:null},appleTouchIcon:null,androidChrome:{192:null,512:null},manifest:null,modernFormats:[],fallbackFormats:[],logoSvgContent:null}}async _readLogoSvgContent(t,r){if(!t||!t.endsWith(".svg"))return null;try{let s=t.slice(1),n=this.pathResolver.resolveAppPath(`${Te.public}/${s}`);return this.pathResolver.pathExists(n)&&await this.pathResolver.read(n,{format:"text"})||null}catch(s){return this.logger.debug(`Failed to read logo SVG content: ${s.message}`),null}}async _copyFrameworkLogo(t){try{let r=await this._resolveFrameworkAssetsDir(t);if(!r)return this.logger.debug("Framework assets directory not found"),!1;let s=this.pathResolver.normalizePath(`${r}/logo.svg`);if(!this.pathResolver.pathExists(s))return this.logger.debug("Framework logo.svg not found"),!1;let n=this.pathResolver.resolveAppPath(Te.public);this.pathResolver.pathExists(n)||this.pathResolver.mkdir(n);let i=this.pathResolver.resolveAppPath("public/logo.svg");return await this.pathResolver.copy(s,i)}catch(r){return this.logger.debug(`Failed to copy framework logo: ${r.message}`),!1}}async _generateMissingAssets(t){let r=this.pathResolver.resolveAppPath("public/logo.svg"),s=this.pathResolver.resolveAppPath("public");if(!this.pathResolver.pathExists(r))return this.logger.debug("logo.svg not found in public/, skipping asset generation"),{generated:[],skipped:[],error:"logo.svg not found in public/"};let n=[{name:"favicon.ico",size:32,format:"ico"},{name:"apple-touch-icon.png",size:180,format:"png"},{name:"icon-192x192.png",size:192,format:"png"},{name:"icon-512x512.png",size:512,format:"png"}],i=[{name:"favicon.svg",format:"svg"}],o=[],a=[];try{let c=await this.pathResolver.read(r,{format:"text"});if(!c)return{generated:[],skipped:[...i,...n].map(f=>f.name),error:"Failed to read logo.svg"};for(let f of i){let g=`${s}/${f.name}`;if(this.pathResolver.pathExists(g)){a.push(f.name);continue}try{await this.pathResolver.write(`public/${f.name}`,c),o.push(f.name)}catch(p){this.logger.debug(`Failed to copy ${f.name}: ${p.message}`),a.push(f.name)}}let u=await Promise.resolve().then(()=>Xi(Pi(),1)).catch(()=>null);if(!u)this.logger.debug("sharp not installed, skipping PNG/ICO generation"),a.push(...n.map(f=>f.name));else for(let f of n){let g=`${s}/${f.name}`;if(this.pathResolver.pathExists(g)){a.push(f.name);continue}try{let p=u.default(r).resize(f.size,f.size,{fit:"contain",background:{r:255,g:255,b:255,alpha:0}}),w;f.format==="ico"?w=await p.toFormat("png").toBuffer():w=await p.toFormat(f.format).toBuffer(),await this.pathResolver.write(`public/${f.name}`,w),o.push(f.name)}catch(p){this.logger.debug(`Failed to generate ${f.name}: ${p.message}`),a.push(f.name)}}return{generated:o,skipped:a,error:null}}catch(c){return this.logger.debug(`Asset generation failed: ${c.message}`),{generated:[],skipped:requiredAssets.map(u=>u.name),error:c.message}}}};var Fr={data:null},Lu={isEmpty:e=>!e.manifest||e.assets?.length===0,generateModule:(e,t,r="assets")=>{let{manifest:s,assets:n,copiedAssets:i}=e,o=s.logoSvgContent||null,a={totalAssets:n.length,copiedAssets:i.length,hasLogo:s.logo.optimal!==null,hasFavicon:s.favicon.optimal!==null,hasManifest:s.manifest!==null,timestamp:new Date().toISOString()};return`// ${G.assets} - Generated asset manifest
|
|
47
|
+
`),X}function Qt(b){return ie.generateInspection(b,a,F,L)}async function mt(){if(F)try{let b=await fe[i](),P=Qt(b),X=A.resolveAppPath(C);await A.write(X,P),S.debug(`Generated inspection file: ${A.getRelativePath(X)}`)}catch(b){S.error(`${t} failed to write inspection file (${C}): ${b.message}`),S.error(`Stack: ${b.stack||"No stack trace available"}`)}}function Rt(b){let P=b.replace(/\\/g,"/");if(E||P.includes("/node_modules/")||P.includes("/.git/")||P.includes("/dist/")||P.includes("/build/")||P.includes("/coverage/")||P.includes("/.vite/")||P.includes("/.turbo/")||P.endsWith(".d.ts")||P.endsWith(".tsbuildinfo")||P.endsWith(".map")||P.endsWith(".css.map")||P.endsWith(".generated.log")||/\.generated\.[a-z]+$/.test(P))return!1;let X=A.getRelativePath(P);if(X.startsWith("packages/"))return!1;let Je=X.startsWith("src/")&&/\.(ts|tsx)$/.test(X);return Je?Array.isArray(o)&&o.length>0?o.some(ye=>typeof ye=="function"?ye(P):typeof ye=="string"?ye.startsWith("**/")?P.endsWith(ye.slice(3)):P.endsWith(ye):!1):Je:!1}function Zt(b){if(E)return S.debug("Virtual modules are static - HMR disabled"),[];let P=Date.now();return Me?(S.debug("HMR already in progress, skipping update"),[]):P-Y<k?(He||(He=!0,j=setTimeout(()=>{He=!1,Y=Date.now(),Ve(b)},k)),[]):(Y=P,Ve(b))}function Ve(b){let P=Date.now();if(De===b.file&&P-Y<100)return S.debug(`Same file processed too recently: ${b.file}`),[];if(!Rt(b.file))return S.debug(`Skipping irrelevant file change: ${b.file}`),[];S.debug(`Relevant file changed: ${b.file}`),Me=!0,De=b.file;try{let X=Date.now()-(re?.timestamp||0);if(X<I&&re){S.debug(`Using cached discovery data (age: ${X}ms)`);let ye=b.server.moduleGraph.getModuleById(xe);return ye&&b.server.reloadModule(ye),[]}fe.clearCache();let Je=b.server.moduleGraph.getModuleById(xe);return Je&&b.server.reloadModule(Je),j&&clearTimeout(j),j=setTimeout(()=>{mt()},500),[]}finally{Me=!1,setTimeout(()=>{De===b.file&&(De=null)},200)}}return{name:t,enforce:"pre",configResolved(b){F=b.root,O=b.command==="serve",q&&S.debug(`${r} ${t} initialized`),O&&S.debug("\u{1F4A1} Dev mode: Press 'r' in terminal to restart, or use global.__DNDEV_CLEAR_CACHE__() in console"),a.logConfig&&a.logConfig(L),O?S.debug("Deferring discovery until first module load (dev mode)"):fe[i](!1).catch(P=>{S.error(`${t} failed initial discovery during plugin initialization: ${P.message}`),S.error(`Stack: ${P.stack||"No stack trace available"}`)})},config(b){return b.optimizeDeps||(b.optimizeDeps={}),b.optimizeDeps.exclude||(b.optimizeDeps.exclude=[]),b.optimizeDeps.exclude.includes($)||b.optimizeDeps.exclude.push($),b},resolveId(b){return b===$?(S.debug(`Resolving virtual module: ${b}`),{id:xe,moduleSideEffects:!0}):null},async load(b){if(b!==xe)return null;if(S.debug(`Loading virtual module: ${b}`),!te()){S.warn("\u26A0\uFE0F load() called before appRoot is set - waiting for config resolution");let P=0;for(;!te()&&P<100;)await new Promise(X=>setTimeout(X,10)),P++;if(!te())throw new Error("App root not set before discovery. Ensure configResolved hook has set appRoot.")}try{let P;return re?(S.debug("Using cached discovery data for virtual module"),P=re):(S.warn(`\u26A0\uFE0F No cached discovery data found for ${t} - running discovery in load() hook. This may indicate buildStart() hook did not run or failed. Performance may be impacted.`),P=await fe[i](),re=P,S.debug("Discovery completed for virtual module")),Kt(P)}catch(P){return S.error(`${t} virtual module (${xe}) failed to load: ${P.message}`),S.error(`Stack: ${P.stack||"No stack trace available"}`),a.generateEmpty({},q,L,ue)}},async buildStart(){if(tt=!1,!te()){S.warn("\u26A0\uFE0F buildStart() called before appRoot is set - waiting for config resolution");let b=0;for(;!te()&&b<100;)await new Promise(P=>setTimeout(P,10)),b++;if(!te())throw new Error("App root not set before discovery. Ensure configResolved hook has set appRoot.")}try{let b=await fe[i](!re);re=b,await mt(),a.logStats&&a.logStats(b,r,S)}catch(b){S.error(`${t} discovery failed during file scanning: ${b.message}`),S.error(`Stack: ${b.stack||"No stack trace available"}`),re=ie.getEmptyResultWithError(fe,b)}finally{tt=!0}},configureServer(){tt=!0},handleHotUpdate(b){return E?[]:tt?Zt(b):(S.debug("HMR disabled - discovery not complete yet"),[])},generateBundle(){if(!re){S.warn("No cached discovery data for manifest generation - skipping");return}try{let b=ie.generateManifest(re,a.generateManifest);this.emitFile({type:"asset",fileName:u,source:JSON.stringify(b,null,2)}),H&&a.logManifest&&a.logManifest(re,t)}catch(b){S.error(`${t} manifest generation failed: ${b.message}`),S.error(`Stack: ${b.stack||"No stack trace available"}`)}},transform(b,P){return P===xe?{code:b,map:null}:null}}}}var Mf={generateGlobals:ie.generateGlobals,generateExports:ie.generateExports,generateDefaultExport:ie.generateDefaultExport,wrapVirtualModule:ie.wrapVirtualModule,generateInspectionHeader:ie.generateInspectionHeader,validateTemplates:ie.validateTemplates,createTemplateConfig:ie.createTemplateConfig};var be=class e{constructor(t,r={}){if(this.constructor===e)throw new Error("BaseDiscovery is abstract and cannot be instantiated directly");this.pathResolver=t,this.options={...r},process.env.NODE_ENV==="development"&&(this.options.cacheTimeout=Math.max(this.options.cacheTimeout||6e4,3e5)),this.logger=z(this._getDiscoveryType(),this.options.debug,this.options.verbose,{fileLogging:this.options.fileLogging,logDir:this.options.logDir}),this.cache=null,this._lastDiscoveryTime=0}async discover(t=!1){if(!t&&this._isCacheValid())return this.logger.debug("Using cached results"),this.cache;let r=Date.now();try{let s=await this._getPatterns();this.options.verbose&&s&&(typeof s=="object"&&s.pattern?this.logger.verbose(`Pattern: ${s.pattern}`):typeof s=="string"&&this.logger.verbose(`Pattern: ${s}`),s.dirs&&this.logger.verbose(`Search directories: ${s.dirs.slice(0,3).join(", ")}${s.dirs.length>3?` (${s.dirs.length} total)`:""}`));let n=await this._scanFiles(s),i=await this._processFiles(n);this.cache={...i,timestamp:Date.now()};let o=Date.now()-r;return this.logger.debug(`Discovery completed in ${o}ms`),this._lastDiscoveryTime=Date.now(),this.cache}catch(s){return this.logger.error(`${this._getDiscoveryType()} discovery failed during file scanning: ${s.message}`),this.logger.error(`Stack: ${s.stack||"No stack trace available"}`),this._getEmptyResult()}}clearCache(){this.cache=null,this._lastDiscoveryTime=0,this.logger.debug("Cache cleared")}getCachedResults(){return this.cache}_getDiscoveryType(){throw new Error("_getDiscoveryType must be implemented by subclass")}_getPatterns(){throw new Error("_getPatterns must be implemented by subclass")}_getPatternType(){throw new Error("_getPatternType must be implemented by subclass")}async _processFiles(t){throw new Error("_processFiles must be implemented by subclass")}_getEmptyResult(){throw new Error("_getEmptyResult must be implemented by subclass")}_getDiscoverySummary(){throw new Error("_getDiscoverySummary must be implemented by subclass")}async _scanFiles(t){let r=this._getPatternType();return await this.pathResolver.resolveFiles(t,r)}_extractFileNameInfo(t){let r=t.split("/"),s=r[r.length-1],n=s.split(".")[0],i=s.split(".").pop();return{fileName:s,baseName:n,extension:i,directory:r.slice(0,-1).join("/")}}async _processSingleFile(t,r){try{let s=this.pathResolver.getFileInfo(t);return s?await r(s):(this.logger.debug(`Could not get file info: ${t}`),null)}catch(s){return this.logger.debug(`Error processing file ${t}: ${s.message}`),null}}async _batchProcessFiles(t,r){return(await Promise.all(t.map(n=>this._processSingleFile(n,r)))).filter(n=>n!==null)}_isCacheValid(){return this.cache?Date.now()-this.cache.timestamp<this.options.cacheTimeout:!1}};var Ht=class extends be{constructor(t,r={}){super(t,{assets:pe.assets.fallback,assetPatterns:pe.assets.patterns,frameworkPackage:rr.package,assetsPath:rr.assetsPath,modernFormats:pe.assets.modern,...r}),this.hasRunForSession=!1}_getDiscoveryType(){return"Asset"}async _getPatterns(){return await this.pathResolver.resolvePatterns("assets")}_getPatternType(){return"assets"}async _processFiles(t){let r=this.pathResolver.getAppRoot(),s=await this._ensureDefaultAssets(r),n=this.pathResolver.resolveAppPath("public/logo.svg");this.pathResolver.pathExists(n)||this.logger.warn("logo.svg not found in public/. Add your logo.svg to generate PWA assets, or copy from node_modules/@donotdev/ui/assets/logo.svg");let o=[],a=this.pathResolver.resolveAppPath("public/logo.svg");this.pathResolver.pathExists(a)&&this.options.generateAssets!==!1&&(o=(await this._generateMissingAssets(r))?.generated||[]);let{consumerFiles:c}=t,u=await this._processAssetFiles(c),f=this._buildAssetManifest(u),g=await this._readLogoSvgContent("/logo.svg",r);return{assets:u,manifest:{...f,logoSvgContent:g},copiedAssets:s,generatedAssets:o,pwaIcons:this._extractPWAIcons(u)}}_extractPWAIcons(t){let r=[/icon-(\d+)x(\d+)\.(png|jpg|jpeg|webp|svg)/i,/apple-touch-icon/i,/android-chrome/i,/favicon\.(ico|svg)/i];return t.filter(s=>{let n=s.path.split("/").pop()||"";return r.some(i=>i.test(n))}).map(s=>{let n=s.path.split("/").pop()||"",i=n.match(/(\d+)x(\d+)/),o=i?{width:parseInt(i[1]),height:parseInt(i[2])}:this._getDefaultIconSize(n);return{type:"icon",path:s.path.replace(/^\/?public\//,""),size:o,format:s.format||this._getFormatFromPath(s.path),purpose:this._getIconPurpose(n)}})}_getDefaultIconSize(t){return t.includes("apple-touch-icon")?{width:180,height:180}:t.includes("favicon")?{width:32,height:32}:{width:192,height:192}}_getFormatFromPath(t){return t.split(".").pop()?.toLowerCase()||"png"}_getIconPurpose(t){return t.includes("maskable")||t.includes("mask")?"maskable":"any"}_getEmptyResult(){return{assets:[],manifest:this._getEmptyManifest(),copiedAssets:[],timestamp:Date.now()}}_getDiscoverySummary(){let t=this.cache?.assets?.length||0,r=this.cache?.copiedAssets?.length||0,s=this.cache?.copiedAssets?.filter(n=>n.startsWith("fonts/")).length||0;return s>0?`${t} assets, ${r} copied (${s} fonts)`:`${t} assets, ${r} copied`}async discoverAssets(t=!1){return await this.discover(t)}getAssets(){return this.cache?.assets||[]}getManifest(){return this.cache?.manifest||this._getEmptyManifest()}getOptimalAsset(t,r){let s=this.getAssets().map(i=>i.path),n=r||this.options.modernFormats;for(let i of n){let o=`/${t}.${i}`;if(s.includes(o))return o}return null}async _ensureDefaultAssets(t){this.logger.debug("Ensuring default assets with modern format support...");let r=[];try{let s=await this._resolveFrameworkAssetsDir(t);if(this.logger.debug(`Framework assets directory resolved to: ${s}`),!s)return this.logger.debug("Framework assets directory not found, skipping defaults"),r;let n=this.pathResolver.resolveAppPath(Te.public);this.pathResolver.pathExists(n)||(this.pathResolver.mkdir(n),this.logger.debug(`Created public directory: ${n}`));for(let i of this.options.assets)await this._ensureAsset(i,n,s)&&r.push(i);if(this.options.copyFonts!==!1){let i=await this._copyFrameworkFonts(s,n);r.push(...i)}else this.logger.debug("Font copying disabled, skipping framework fonts");r.length>0&&this.logger.debug(`Added ${r.length} default assets from DNDev framework`)}catch(s){this.logger.debug(`Failed to ensure default assets: ${s.message}`)}return r}async _ensureAsset(t,r,s){let n=this.pathResolver.resolveAppPath(`${Te.public}/${t}`);if(this.pathResolver.pathExists(n))return this.logger.debug(`Asset exists: ${t}`),!1;let i=this.pathResolver.normalizePath(`${s}/${t}`);if(this.pathResolver.pathExists(i)){if(await this.pathResolver.copy(i,n))return this.logger.debug(`Copied framework asset: ${t}`),!0;this.logger.debug(`Failed to copy framework asset: ${t}`)}return!1}async _copyFrameworkFonts(t,r){let s=[],n=this.pathResolver.normalizePath(`${t}/fonts`);if(!this.pathResolver.pathExists(n))return this.logger.debug("Framework fonts directory not found, skipping fonts"),s;let i=this.pathResolver.resolveAppPath(`${Te.public}/${Te.fonts}`);this.pathResolver.pathExists(i)||(this.pathResolver.mkdir(i),this.logger.debug(`Created fonts directory: ${i}`));try{let o=await this.pathResolver.findFiles(n,"*",{onlyFiles:!0,ignore:["**/dist/**","**/build/**","**/.git/**"]});for(let a of o){let c=a.split("/").pop()||a.split("\\").pop(),u=this.pathResolver.resolveAppPath(`${Te.public}/${Te.fonts}/${c}`);if(this.pathResolver.pathExists(u)){this.logger.debug(`Font already exists: ${c}`);continue}await this.pathResolver.copy(a,u)?(s.push(`fonts/${c}`),this.logger.debug(`Copied framework font: ${c}`)):this.logger.debug(`Failed to copy font: ${c}`)}s.length>0&&this.logger.debug(`Copied ${s.length} font files from framework`)}catch(o){this.logger.debug(`Error copying fonts: ${o.message}`)}return s}async _processAssetFiles(t){let r=[];for(let s of t)try{let n=this.pathResolver.getFileInfo(s);if(n&&n.isFile){let i=s.split("/").pop()||s.split("\\").pop(),o=this._analyzeAsset(i,n.size);o&&r.push(o)}}catch(n){this.logger.debug(`Error processing asset file ${s}: ${n.message}`)}return this.logger.debug(`Processed ${r.length} assets from ${t.length} files`),r}_analyzeAsset(t,r){let s=this._determineAssetType(t),n=this._determineAssetFormat(t);return this.options.assetPatterns.some(o=>this._matchesPattern(t,o))?{path:`/${t}`,name:t,type:s,format:n,size:r,sizeFormatted:this._formatBytes(r),isModern:this.options.modernFormats.includes(n)}:(this.logger.debug(`Asset ${t} does not match any pattern, skipping`),null)}_determineAssetType(t){let r=t.toLowerCase();if(r.includes("favicon"))return"favicon";if(r.includes("logo"))return"logo";if(r.includes("icon"))return"icon";if(r.includes("apple-touch"))return"apple-touch-icon";if(r.includes("android-chrome"))return"android-icon";if(r.includes("manifest"))return"manifest";let s=t.split(".").pop()?.toLowerCase();return["png","jpg","jpeg","gif","webp","avif","svg"].includes(s)?"image":["woff2","woff","ttf","otf"].includes(s)?"font":["json"].includes(s)?"json":["ico"].includes(s)?"icon":"unknown"}_determineAssetFormat(t){return t.split(".").pop()?.toLowerCase()||"unknown"}_formatBytes(t){if(t===0)return"0 Bytes";let r=1024,s=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(t)/Math.log(r));return parseFloat((t/Math.pow(r,n)).toFixed(2))+" "+s[n]}_matchesPattern(t,r){let s=t.toLowerCase(),n=r.toLowerCase();return s.includes(n.replace("*",""))}_buildAssetManifest(t){let r=t.map(n=>n.path);return{logo:{optimal:this._getOptimalAsset("logo",r,this.options.modernFormats),fallback:this._getOptimalAsset("logo",r,["png","jpg","jpeg"])},favicon:{optimal:this._getOptimalAsset("favicon",r,["svg","ico"]),fallback:this._getOptimalAsset("favicon",r,["ico"])},appleTouchIcon:this._getOptimalAsset("apple-touch-icon",r,["png"]),androidChrome:{192:this._getOptimalAsset("android-chrome-192x192",r,["png"]),512:this._getOptimalAsset("android-chrome-512x512",r,["png"])},manifest:r.find(n=>n.includes("manifest.json"))||null,modernFormats:t.filter(n=>n.isModern).map(n=>n.path),fallbackFormats:t.filter(n=>!n.isModern).map(n=>n.path)}}_getOptimalAsset(t,r,s){for(let n of s){let i=`/${t}.${n}`;if(r.includes(i))return i}return null}async _resolveFrameworkAssetsDir(t){try{let r=this.pathResolver.getRepoRoot(),s=await this._resolvePackage("@donotdev/ui",r);if(!s)return this.logger.debug("@donotdev/ui package not found"),null;let n=this.pathResolver.normalizePath(`${s}/assets`);return this.pathResolver.pathExists(n)?(this.logger.debug(`Using framework assets from: ${n}`),n):(this.logger.debug(`Assets directory not found: ${n}`),null)}catch(r){return this.logger.debug(`Error resolving framework assets directory: ${r.message}`),null}}async _resolvePackage(t,r){try{let s=this.pathResolver.resolveFrameworkPackage(t,r);return s?(this.logger.debug(`Found package: ${s}`),s):(this.logger.debug(`Package ${t} not found`),null)}catch(s){return this.logger.debug(`Error resolving package ${t}: ${s.message}`),null}}_getEmptyManifest(){return{logo:{optimal:null,fallback:null},favicon:{optimal:null,fallback:null},appleTouchIcon:null,androidChrome:{192:null,512:null},manifest:null,modernFormats:[],fallbackFormats:[],logoSvgContent:null}}async _readLogoSvgContent(t,r){if(!t||!t.endsWith(".svg"))return null;try{let s=t.slice(1),n=this.pathResolver.resolveAppPath(`${Te.public}/${s}`);return this.pathResolver.pathExists(n)&&await this.pathResolver.read(n,{format:"text"})||null}catch(s){return this.logger.debug(`Failed to read logo SVG content: ${s.message}`),null}}async _copyFrameworkLogo(t){try{let r=await this._resolveFrameworkAssetsDir(t);if(!r)return this.logger.debug("Framework assets directory not found"),!1;let s=this.pathResolver.normalizePath(`${r}/logo.svg`);if(!this.pathResolver.pathExists(s))return this.logger.debug("Framework logo.svg not found"),!1;let n=this.pathResolver.resolveAppPath(Te.public);this.pathResolver.pathExists(n)||this.pathResolver.mkdir(n);let i=this.pathResolver.resolveAppPath("public/logo.svg");return await this.pathResolver.copy(s,i)}catch(r){return this.logger.debug(`Failed to copy framework logo: ${r.message}`),!1}}async _generateMissingAssets(t){let r=this.pathResolver.resolveAppPath("public/logo.svg"),s=this.pathResolver.resolveAppPath("public");if(!this.pathResolver.pathExists(r))return this.logger.debug("logo.svg not found in public/, skipping asset generation"),{generated:[],skipped:[],error:"logo.svg not found in public/"};let n=[{name:"favicon.ico",size:32,format:"ico"},{name:"apple-touch-icon.png",size:180,format:"png"},{name:"icon-192x192.png",size:192,format:"png"},{name:"icon-512x512.png",size:512,format:"png"}],i=[{name:"favicon.svg",format:"svg"}],o=[],a=[];try{let c=await this.pathResolver.read(r,{format:"text"});if(!c)return{generated:[],skipped:[...i,...n].map(f=>f.name),error:"Failed to read logo.svg"};for(let f of i){let g=`${s}/${f.name}`;if(this.pathResolver.pathExists(g)){a.push(f.name);continue}try{await this.pathResolver.write(`public/${f.name}`,c),o.push(f.name)}catch(p){this.logger.debug(`Failed to copy ${f.name}: ${p.message}`),a.push(f.name)}}let u=await Promise.resolve().then(()=>Xi(Pi(),1)).catch(()=>null);if(!u)this.logger.debug("sharp not installed, skipping PNG/ICO generation"),a.push(...n.map(f=>f.name));else for(let f of n){let g=`${s}/${f.name}`;if(this.pathResolver.pathExists(g)){a.push(f.name);continue}try{let p=u.default(r).resize(f.size,f.size,{fit:"contain",background:{r:255,g:255,b:255,alpha:0}}),m;f.format==="ico"?m=await p.toFormat("png").toBuffer():m=await p.toFormat(f.format).toBuffer(),await this.pathResolver.write(`public/${f.name}`,m),o.push(f.name)}catch(p){this.logger.debug(`Failed to generate ${f.name}: ${p.message}`),a.push(f.name)}}return{generated:o,skipped:a,error:null}}catch(c){return this.logger.debug(`Asset generation failed: ${c.message}`),{generated:[],skipped:requiredAssets.map(u=>u.name),error:c.message}}}};var Fr={data:null},Lu={isEmpty:e=>!e.manifest||e.assets?.length===0,generateModule:(e,t,r="assets")=>{let{manifest:s,assets:n,copiedAssets:i}=e,o=s.logoSvgContent||null,a={totalAssets:n.length,copiedAssets:i.length,hasLogo:s.logo.optimal!==null,hasFavicon:s.favicon.optimal!==null,hasManifest:s.manifest!==null,timestamp:new Date().toISOString()};return`// ${G.assets} - Generated asset manifest
|
|
48
48
|
const assetManifest = ${JSON.stringify(s,null,2)};
|
|
49
49
|
const assetStats = ${JSON.stringify(a,null,2)};
|
|
50
50
|
|
|
@@ -62,7 +62,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// Populate assets configuration
|
|
65
|
-
globalThis._DNDEV_CONFIG_.${
|
|
65
|
+
globalThis._DNDEV_CONFIG_.${ne[r]} = {
|
|
66
66
|
mapping: assetManifest,
|
|
67
67
|
logoSvgContent: ${JSON.stringify(o)},
|
|
68
68
|
manifest: {
|
|
@@ -140,7 +140,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
// Populate empty assets configuration
|
|
143
|
-
globalThis._DNDEV_CONFIG_.${
|
|
143
|
+
globalThis._DNDEV_CONFIG_.${ne[s]} = {
|
|
144
144
|
mapping: assetManifest,
|
|
145
145
|
logoSvgContent: null,
|
|
146
146
|
manifest: {
|
|
@@ -230,7 +230,7 @@ export const assetStats = {
|
|
|
230
230
|
};
|
|
231
231
|
|
|
232
232
|
export default discoveredAssets;
|
|
233
|
-
`},generateManifest:e=>({assets:e.assets?.length||0,copied:e.copiedAssets?.length||0,timestamp:Date.now(),hasLogo:e.manifest?.logo?.optimal!==null,hasFavicon:e.manifest?.favicon?.optimal!==null}),logConfig:e=>{},logStats:(e,t,r)=>{let s=e.assets?.length||0,n=e.generatedAssets?.length||0;r&&(n>0?r.info(`${t} Assets: ${s} found, ${n} generated`):r.info(`${t} Assets: ${s} found`))}},Mu=[e=>e.includes("/public/"),e=>e.endsWith(".png")||e.endsWith(".svg")||e.endsWith(".ico"),e=>e.includes("favicon")||e.includes("logo")||e.includes("manifest")];function Ri(e={}){let t=Re({pluginName:"dndev-vite-asset-discovery",icon:"\u{1F3AF}",virtualModuleId:G.assets,DiscoveryClass:Ht,discoveryMethod:"discoverAssets",filePatterns:Mu,templates:Lu,defaultInspectionPath:
|
|
233
|
+
`},generateManifest:e=>({assets:e.assets?.length||0,copied:e.copiedAssets?.length||0,timestamp:Date.now(),hasLogo:e.manifest?.logo?.optimal!==null,hasFavicon:e.manifest?.favicon?.optimal!==null}),logConfig:e=>{},logStats:(e,t,r)=>{let s=e.assets?.length||0,n=e.generatedAssets?.length||0;r&&(n>0?r.info(`${t} Assets: ${s} found, ${n} generated`):r.info(`${t} Assets: ${s} found`))}},Mu=[e=>e.includes("/public/"),e=>e.endsWith(".png")||e.endsWith(".svg")||e.endsWith(".ico"),e=>e.includes("favicon")||e.includes("logo")||e.includes("manifest")];function Ri(e={}){let t=Re({pluginName:"dndev-vite-asset-discovery",icon:"\u{1F3AF}",virtualModuleId:G.assets,DiscoveryClass:Ht,discoveryMethod:"discoverAssets",filePatterns:Mu,templates:Lu,defaultInspectionPath:Q.vite.assetInspection,manifestFileName:Q.manifests.asset,configKey:"assets"})(e),r=W.getInstance(),s=z("asset-plugin",e.debug,e.verbose),n=t.buildStart;return t.buildStart=async function(...i){n&&await n.apply(this,i);let o=null;try{let a=r.resolveAppPath(Q.vite.assetInspection);if(r.pathExists(a)){let c=r.readSync(a,{format:"json"});c&&(o=c,Fr.data=o)}}catch(a){s.debug(`Could not cache asset data: ${a.message}`)}},t}import{loadEnv as zu}from"vite";var Si={isEmpty:e=>!e.env||Object.keys(e.env).length===0,generateModule:(e,t,r="env")=>{let{env:s,mode:n}=e;if(!s||Object.keys(s).length===0)return Si.generateEmpty(e,t,void 0,r);let i={totalVars:Object.keys(s).length,mode:n,source:e.source,generatedAt:new Date().toISOString()};return`// ${G.env} - Generated environment variables
|
|
234
234
|
|
|
235
235
|
const envData = ${JSON.stringify(s,null,2)};
|
|
236
236
|
const envManifest = ${JSON.stringify(i,null,2)};
|
|
@@ -259,7 +259,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
// Populate env configuration (frozen to prevent tampering)
|
|
262
|
-
globalThis._DNDEV_CONFIG_.${
|
|
262
|
+
globalThis._DNDEV_CONFIG_.${ne[r]} = envData;
|
|
263
263
|
// Only freeze the env property, not the entire config (other plugins need to add properties)
|
|
264
264
|
}
|
|
265
265
|
|
|
@@ -299,7 +299,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
// Populate empty env configuration (frozen to prevent tampering)
|
|
302
|
-
globalThis._DNDEV_CONFIG_.${
|
|
302
|
+
globalThis._DNDEV_CONFIG_.${ne[s]} = envData;
|
|
303
303
|
// Only freeze the env property, not the entire config (other plugins need to add properties)
|
|
304
304
|
}
|
|
305
305
|
|
|
@@ -309,7 +309,7 @@ export const source = 'empty';
|
|
|
309
309
|
|
|
310
310
|
export default envData;
|
|
311
311
|
`},generateInspection:e=>{let{env:t,mode:r}=e;return["/**"," * Generated Environment Variables",` * Mode: ${r}`,` * Generated at: ${new Date().toISOString()}`,` * Total variables: ${Object.keys(t).length}`," */","","```json",JSON.stringify(t,null,2),"```"].join(`
|
|
312
|
-
`)},generateManifest:e=>({totalVars:Object.keys(e?.env||{}).length,mode:e?.mode||"development",variables:Object.keys(e?.env||{}),timestamp:Date.now()}),logStats:(e,t,r)=>{let s=Object.keys(e.env).length;r&&r.info(`${t} Env: ${s} VITE_* variables`)}},Or=class{constructor(t,r={}){this.pathResolver=t,this.options=r,this.mode=r.mode||"development",this.appRoot=null}async discoverEnv(){try{let t=this.pathResolver.getAppRoot();if(!t)throw new Error("App root not available in EnvDiscovery");let s={...zu(this.mode,t,"VITE_")};return this.mode==="production"&&(delete s.VITE_USE_FIREBASE_EMULATOR,delete s.VITE_FIREBASE_EMULATOR_HOST,delete s.VITE_FIREBASE_AUTH_EMULATOR_HOST,delete s.VITE_FIREBASE_FIRESTORE_EMULATOR_HOST,delete s.VITE_FIREBASE_FUNCTIONS_EMULATOR_PORT),s.MODE=this.mode,s.DEV=this.mode==="development",s.PROD=this.mode==="production",s.SSR=!1,{env:s,mode:this.mode,source:`${t}/.env`,errors:[]}}catch(t){return{env:{},mode:this.mode,source:"error",errors:[t.message]}}}};function $i(e={}){return Re({pluginName:"dndev-vite-env-discovery",icon:"\u{1F510}",virtualModuleId:G.env,discoveryMethod:"discoverEnv",filePatterns:[],templates:Si,defaultInspectionPath:
|
|
312
|
+
`)},generateManifest:e=>({totalVars:Object.keys(e?.env||{}).length,mode:e?.mode||"development",variables:Object.keys(e?.env||{}),timestamp:Date.now()}),logStats:(e,t,r)=>{let s=Object.keys(e.env).length;r&&r.info(`${t} Env: ${s} VITE_* variables`)}},Or=class{constructor(t,r={}){this.pathResolver=t,this.options=r,this.mode=r.mode||"development",this.appRoot=null}async discoverEnv(){try{let t=this.pathResolver.getAppRoot();if(!t)throw new Error("App root not available in EnvDiscovery");let s={...zu(this.mode,t,"VITE_")};return this.mode==="production"&&(delete s.VITE_USE_FIREBASE_EMULATOR,delete s.VITE_FIREBASE_EMULATOR_HOST,delete s.VITE_FIREBASE_AUTH_EMULATOR_HOST,delete s.VITE_FIREBASE_FIRESTORE_EMULATOR_HOST,delete s.VITE_FIREBASE_FUNCTIONS_EMULATOR_PORT),s.MODE=this.mode,s.DEV=this.mode==="development",s.PROD=this.mode==="production",s.SSR=!1,{env:s,mode:this.mode,source:`${t}/.env`,errors:[]}}catch(t){return{env:{},mode:this.mode,source:"error",errors:[t.message]}}}};function $i(e={}){return Re({pluginName:"dndev-vite-env-discovery",icon:"\u{1F510}",virtualModuleId:G.env,discoveryMethod:"discoverEnv",filePatterns:[],templates:Si,defaultInspectionPath:Q.vite.envInspection,manifestFileName:Q.manifests.env,configKey:"env",createDiscovery:(t,r)=>new Or(t,{...r,mode:e.mode||r.mode||"development"})})({...e,disableHmr:!0})}var Vt=class extends be{constructor(t,r={}){super(t,{fallbackLanguage:"en",additionalPaths:[],...r})}_getDiscoveryType(){return"I18n"}async _getPatterns(){return await this.pathResolver.resolvePatterns("i18n")}_getPatternType(){return"i18n"}async _processFiles(t){let r=this.pathResolver.getAppRoot(),s=this.pathResolver.getRepoRoot();if(!r||r===s)throw this.logger.error(`I18n discovery: appRoot not properly set (appRoot: ${r}, repoRoot: ${s})`),new Error("App root not set before i18n discovery. Ensure configResolved hook has run.");this.logger.debug(`I18n discovery: appRoot=${r}, repoRoot=${s}`);let n=await this._getPatterns();this.logger.debug(`I18n patterns - eager: ${n.eager.length}, lazy: ${n.lazy.length}, framework eager: ${n.framework?.eager?.length||0}, framework lazy: ${n.framework?.lazy?.length||0}`),this.logger.debug(`isMonorepo: ${this.pathResolver.isMonorepo()}, repoRoot: ${this.pathResolver.getRepoRoot()}`);let i=$t("i18n"),o=n.eager||[],a=n.lazy||[],c=(this.options.additionalPaths||[]).map(F=>{let O=F.endsWith(".json")?F:`${F}/*_*.json`;return this.pathResolver.resolveAppPath(O)});c.length>0&&this.logger.debug(`Additional i18n paths configured: ${c.join(", ")}`);let u=n.framework?.eager||[],f=n.framework?.lazy||[];this.logger.debug(`Resolved patterns - eager: ${o.join(", ")}, lazy: ${a.join(", ")}, framework eager: ${u.join(", ")}, framework lazy: ${f.join(", ")}`),u.length===0&&f.length===0&&this.logger.error(`\u26A0\uFE0F Framework i18n patterns are EMPTY! isMonorepo=${this.pathResolver.isMonorepo()}, repoRoot=${this.pathResolver.getRepoRoot()}`);let g=this.pathResolver.normalizePath(r),p=this.pathResolver.normalizePath(s),m=(F,O)=>{let j=this.pathResolver.normalizePath(F),Y=this.pathResolver.normalizePath(O);return j.startsWith(Y)?j.slice(Y.length+1):j},N=o.map(F=>m(F,r)),H=[...a,...c].map(F=>m(F,r)),$=u.map(F=>m(F,s)),C=f.map(F=>m(F,s)),k={...i,onlyFiles:!0,absolute:!0,braceExpansion:!0,extglob:!0,globstar:!0,cwd:r},I=await this.pathResolver._globWithNormalization(N,k),D=await this.pathResolver._globWithNormalization(H,k),E={...i,onlyFiles:!0,absolute:!0,braceExpansion:!0,extglob:!0,globstar:!0,cwd:s,ignore:i.ignore?.filter(F=>F!=="**/node_modules/**")||[]};this.logger.debug(`\u{1F50D} Searching framework patterns with cwd: ${s}, ignore: ${JSON.stringify(E.ignore)}`);let M=await this.pathResolver._globWithNormalization($,E),L=await this.pathResolver._globWithNormalization(C,E);this.logger.debug(`Found ${I.length} eager, ${D.length} lazy, ${M.length} framework eager, ${L.length} framework lazy files`),M.length>0?this.logger.debug(`Framework eager files (first 3): ${M.slice(0,3).join(", ")}`):this.logger.error(`\u274C NO framework eager files found! Patterns were: ${u.join(", ")}`),L.length>0?this.logger.debug(`Framework lazy files (first 3): ${L.slice(0,3).join(", ")}`):this.logger.error(`\u274C NO framework lazy files found! Patterns were: ${f.join(", ")}`);let ue=[...new Set([...I,...D,...M,...L])],S=new Set([...I,...M]),A={mapping:{},content:{},eagerNamespaces:new Set,allNamespaces:new Set,supportedLanguages:new Set,files:[]},te=new Map,pt=[...M,...L];for(let F of pt){let O=this._processTranslationFile(F,M.includes(F),r);if(O){let j=`${O.namespace}_${O.language}`;te.set(j,O),A.allNamespaces.add(O.namespace),A.supportedLanguages.add(O.language),M.includes(F)&&A.eagerNamespaces.add(O.namespace)}}let fe=new Set;for(let F of ue){if(pt.includes(F))continue;let O=this._processTranslationFile(F,S.has(F),r);if(O){let{namespace:j,language:Y,importPath:He,content:re}=O,Me=`${O.namespace}_${O.language}`;if(te.has(Me)){let De=te.get(Me);O.content=this._mergeTranslations(De.content,re)}A.allNamespaces.add(j),A.supportedLanguages.add(Y),fe.add(Y),S.has(F)&&A.eagerNamespaces.add(j),A.mapping[j]||(A.mapping[j]={}),A.mapping[j][Y]=He,O.content&&(A.content[j]||(A.content[j]={}),A.content[j][Y]=O.content),A.files.push({path:F,relativePath:this.pathResolver.getRelativePath(F),namespace:j,language:Y,eager:S.has(F),size:O.content?JSON.stringify(O.content).length:0})}}for(let[F,O]of te){let[j,Y]=F.split("_");(!A.mapping[j]||!A.mapping[j][Y])&&(A.mapping[j]||(A.mapping[j]={}),A.mapping[j][Y]=O.importPath,A.content[j]||(A.content[j]={}),A.content[j][Y]=O.content)}let xe=fe.size>0?[...fe].sort():[this.options.fallbackLanguage];return{mapping:A.mapping,content:A.content,eagerNamespaces:[...A.eagerNamespaces].sort(),allNamespaces:[...A.allNamespaces].sort(),supportedLanguages:xe,fallbackLanguage:this.options.fallbackLanguage,files:A.files}}_getEmptyResult(){return{mapping:{},content:{},eagerNamespaces:[],allNamespaces:["common"],supportedLanguages:[this.options.fallbackLanguage],fallbackLanguage:this.options.fallbackLanguage,files:[],timestamp:Date.now()}}_getDiscoverySummary(){return`${this.cache?.allNamespaces?.length||0} namespaces, ${this.cache?.supportedLanguages?.length||0} languages`}async discover(t=!1){if(!t&&this._isCacheValid())return this.logger.debug("Using cached results"),this.cache;let r=Date.now();try{let s=await this._processFiles([]);this.cache={...s,timestamp:Date.now()};let n=Date.now()-r;return this.logger.debug(`Discovery completed in ${n}ms`),this._lastDiscoveryTime=Date.now(),this.cache}catch(s){throw this.logger.error(`I18n discovery failed: ${s.message}`),s}}async discoverTranslations(t=!1){return await this.discover(t)}getMapping(){return this.cache?.mapping||{}}getLanguages(){return this.cache?.supportedLanguages||[this.options.fallbackLanguage]}getNamespaces(){return this.cache?.allNamespaces||["common"]}getEagerNamespaces(){return this.cache?.eagerNamespaces||[]}_processTranslationFile(t,r,s){let n=t.split("/").pop()||t.split("\\").pop()||"",i,o,a=n.match(/^([^_]+)_([^.]+)\.json$/);if(!a)return this.logger.debug(`Invalid translation file name format: ${n}`),null;if([,i,o]=a,!i||!o)return this.logger.debug(`Invalid namespace or language in file: ${n}`),null;let u="./"+this.pathResolver.getRelativePath(t).replace(/\\/g,"/"),f;try{if(f=this.pathResolver.readSync(t,{format:"json"}),!f)return this.logger.debug(`Could not read file: ${t}`),null}catch(g){return this.logger.debug(`Error parsing JSON from ${t}: ${g.message}`),null}return{namespace:i,language:o,importPath:u,content:f}}_mergeTranslations(t,r){let s={...t};for(let[n,i]of Object.entries(r))typeof i=="object"&&i!==null&&!Array.isArray(i)?s[n]=this._mergeTranslations(s[n]||{},i):s[n]=i;return s}};var Bu={isEmpty:e=>!e.mapping||Object.keys(e.mapping).length===0,generateModule:(e,t,r="i18n")=>{let{mapping:s,eagerNamespaces:n,supportedLanguages:i,fallbackLanguage:o,stats:a,content:c={}}=e,u={mapping:s,languages:i,eager:n,fallback:o,content:c,storage:{type:"localStorage",prefix:"dndev_i18n_",ttl:1440*60*1e3,encryption:!1,maxSize:5*1024*1024},performance:{cacheSize:1e3,errorCacheTTL:300*1e3},manifest:{totalFiles:a?.totalFiles||0,totalNamespaces:a?.totalNamespaces||0,totalLanguages:a?.totalLanguages||0,eagerNamespaces:a?.eagerNamespaces||0,generatedAt:new Date().toISOString()},debug:t};return`// ${G.i18n} - Generated by @donotdev/config
|
|
313
313
|
// \u{1F680} STATIC INJECTION PATTERN - Zero Runtime Loading
|
|
314
314
|
// Generated at: ${new Date().toISOString()}
|
|
315
315
|
|
|
@@ -342,7 +342,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
342
342
|
}
|
|
343
343
|
|
|
344
344
|
// Add i18n plugin configuration
|
|
345
|
-
globalThis._DNDEV_CONFIG_.${
|
|
345
|
+
globalThis._DNDEV_CONFIG_.${ne[r]} = i18nPluginConfig;
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
// ============================================================================
|
|
@@ -465,7 +465,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
465
465
|
};
|
|
466
466
|
}
|
|
467
467
|
|
|
468
|
-
globalThis._DNDEV_CONFIG_.${
|
|
468
|
+
globalThis._DNDEV_CONFIG_.${ne[s]} = i18nPluginConfig;
|
|
469
469
|
}
|
|
470
470
|
|
|
471
471
|
// Placeholder functions
|
|
@@ -567,7 +567,7 @@ export default {
|
|
|
567
567
|
files: translationFiles,
|
|
568
568
|
manifest: i18nManifest,
|
|
569
569
|
};
|
|
570
|
-
`},generateManifest:e=>({namespaces:e.stats?.totalNamespaces||0,languages:e.stats?.totalLanguages||0,fallbackLanguage:e.fallbackLanguage,eagerNamespaces:e.stats?.eagerNamespaces||0,platform:"vite",timestamp:Date.now()}),logConfig:e=>{},logStats:(e,t,r)=>{let s=e.supportedLanguages||[],n=Object.keys(e.mapping||{}).filter(i=>i!=="default").length||0;r&&r.info(`${t} I18n: ${s.length} languages, ${n} namespaces`)}},
|
|
570
|
+
`},generateManifest:e=>({namespaces:e.stats?.totalNamespaces||0,languages:e.stats?.totalLanguages||0,fallbackLanguage:e.fallbackLanguage,eagerNamespaces:e.stats?.eagerNamespaces||0,platform:"vite",timestamp:Date.now()}),logConfig:e=>{},logStats:(e,t,r)=>{let s=e.supportedLanguages||[],n=Object.keys(e.mapping||{}).filter(i=>i!=="default").length||0;r&&r.info(`${t} I18n: ${s.length} languages, ${n} namespaces`)}},Gu=[e=>e.endsWith(".json")&&e.includes("locale"),e=>/[a-z]+_[a-z]{2}\.json$/i.test(e),e=>e.includes("/locales/")&&e.endsWith(".json")];function ki(e={}){return Re({pluginName:"dndev-vite-i18n-discovery",icon:"\u{1F310}",virtualModuleId:G.i18n,DiscoveryClass:Vt,discoveryMethod:"discoverTranslations",filePatterns:Gu,templates:Bu,defaultInspectionPath:Q.vite.i18nInspection,manifestFileName:Q.manifests.i18n,configKey:"i18n",discoveryOptions:{fallbackLanguage:e.fallbackLanguage||"en",...e}})({...e,hmrSmartDetection:!1})}function Ai(e={}){let t=[],r="";return{name:"dndev-optional-dep-resolver",enforce:"pre",configResolved(){let s=W.getInstance(),n=s.getAppRoot(),i=Xe.optionalFeatures||[];for(let o of i)s.resolvePackage(o,n)||t.push(o);r=s.getEmptyModulePath(),e.debug&&t.length>0},resolveId(s){return t.includes(s)?r:null}}}function jr(e){return!e||typeof e!="string"?null:e.startsWith("@")?e.split("/").slice(0,2).join("/"):e.split("/")[0]}function Uu(e){return!e||typeof e!="string"?!1:!e.startsWith(".")&&!e.startsWith("/")&&!e.startsWith("\\")&&!e.startsWith("\0")}function qu(e,t){if(!e||!t||!t.getRepoRoot())return!1;let s=e;e.startsWith("@fs/")&&(s=e.slice(4));let n=t.resolveRepoPath("packages"),i=t.normalizePath(s);return n&&i.startsWith(n)}function Wu(e,t){if(!e||!t)return null;let r=jr(e);if(!r)return null;let s=t.resolveAppPath(`node_modules/${r}`);return t.pathExists(s)?t.resolveAppPath(`node_modules/${e}`):null}function _i(e,t,r){return!Uu(e)||!qu(t,r)?null:Wu(e,r)}function Ni(e={}){let{debug:t=!1,verbose:r=!0}=e,s=z("peer-dependency-resolver",t,r);return{name:"dndev-peer-dependency-resolver",enforce:"pre",configResolved(n){let i=W.getInstance(),o=i.getAppRoot();if(!o){s.warn("App root not set, peer dependency resolution may fail");return}this.pathResolver=i,this.appRoot=o},resolveId(n,i){if(!i||!this.appRoot||!this.pathResolver)return null;if(_i(n,i,this.pathResolver)){let a=jr(n),c=this.pathResolver.resolveAppPath(`node_modules/${n}`),u=this.pathResolver.resolveAppPath(`node_modules/${a}`);return this.pathResolver.pathExists(u)?n===a?((t||r)&&s.debug(`[PeerDeps] Resolving bare import "${n}" from app's node_modules: ${u}`),u):((t||r)&&s.debug(`[PeerDeps] Resolving subpath "${n}" from app's node_modules: ${c}`),c):(t&&s.debug(`[PeerDeps] Package directory not found: ${u}, skipping resolution`),null)}return null}}}import{VitePWA as Hu}from"vite-plugin-pwa";var Jt=class extends be{constructor(t,r={}){super(t,{...r})}_getDiscoveryType(){return"PWA"}async _getPatterns(){return await this.pathResolver.resolvePatterns("pwa")}_getPatternType(){return"pwa"}async _processFiles(t){let{frameworkFiles:r,consumerFiles:s}=t,n=[...r,...s];this.logger.debug(`Processing ${n.length} PWA files`);let i=[];this.options.assetData?.pwaIcons&&(this.logger.debug(`Using ${this.options.assetData.pwaIcons.length} icons from AssetDiscovery`),i=[...this.options.assetData.pwaIcons]);let o=await this._analyzePWAFiles(n),a=o.filter(p=>p.type==="manifest"||p.type==="service-worker");i.push(...a);let c=o.filter(p=>p.type==="icon"),u=new Set(i.filter(p=>p.type==="icon").map(p=>p.path)),f=c.filter(p=>!u.has(p.path));i.push(...f);let g=this._generatePWAManifest(i);return{assets:i,manifest:g,totalFiles:n.length,timestamp:Date.now()}}_getEmptyResult(){return{assets:[],manifest:this._getDefaultManifest(),totalFiles:0,timestamp:Date.now()}}_getDiscoverySummary(){return`${this.cache?.assets?.length||0} PWA assets discovered`}async _analyzePWAFiles(t){let r=[];for(let s of t){let n=typeof s=="string"?{absolutePath:s,relativePath:this.pathResolver.getRelativePath(s),fileName:s.split("/").pop()||"",extension:(s.split(".").pop()||"").toLowerCase()}:s,i=await this._analyzePWAAsset(n);i&&r.push(i)}return r}async _analyzePWAAsset(t){let r=await this.pathResolver.read(t.absolutePath,{format:"text"});if(!r)return null;let s=t.relativePath,n=t.fileName;return n.includes("manifest.json")?this._parseManifestFile(r,s):n.includes("service-worker")||n.includes("sw.")?this._parseServiceWorkerFile(r,s):this._isPWAIcon(n)?this._parseIconFile(t,s):null}_parseManifestFile(t,r){try{let s=typeof t=="string"?JSON.parse(t):t;return{type:"manifest",path:r,content:s,size:typeof t=="string"?t.length:JSON.stringify(s).length}}catch(s){return this.logger.debug(`Failed to parse manifest: ${s.message}`),null}}_parseServiceWorkerFile(t,r){return{type:"service-worker",path:r,size:t.length,hasWorkbox:t.includes("workbox")}}_parseIconFile(t,r){let s=t.fileName,n=this._extractIconSize(s);return{type:"icon",path:r,size:n,format:t.extension,purpose:this._getIconPurpose(s)}}_isPWAIcon(t){return["icon","logo","apple-touch-icon","android-chrome","favicon"].some(s=>t.includes(s))}_extractIconSize(t){let r=t.match(/(\d+)x(\d+)/);return r?{width:parseInt(r[1]),height:parseInt(r[2])}:t.includes("favicon")?{width:32,height:32}:t.includes("apple-touch-icon")?{width:180,height:180}:t.includes("icon-192")?{width:192,height:192}:t.includes("icon-512")?{width:512,height:512}:{width:192,height:192}}_getIconPurpose(t){return t.includes("maskable")?"maskable":t.includes("apple-touch")?"apple-touch":t.includes("android-chrome")?"android":"any"}_generatePWAManifest(t){let r=t.filter(i=>i.type==="icon"),n=t.find(i=>i.type==="manifest")?.content||this._getDefaultManifest();return r.length>0&&(n.icons=r.map(i=>({src:`/${i.path}`,sizes:`${i.size.width}x${i.size.height}`,type:`image/${i.format}`,purpose:i.purpose}))),n}_getDefaultManifest(){let t=this.options?.app||{};return{name:t.name,short_name:t.shortName,description:t.description,start_url:"/",display:"standalone",background_color:"#ffffff",theme_color:"#000000",icons:[]}}generateManifestContent(t){let r=t.manifest||this._getDefaultManifest();return JSON.stringify(r,null,2)}generateServiceWorkerContent(t,r={}){let s=this._getWorkboxDefaults(r),n=r.backgroundSync!==!1&&r.backgroundSync,i=r.precacheManifest||[],o=JSON.stringify(i,null,2);return`// Generated by @donotdev/config - PWA Service Worker with Workbox
|
|
571
571
|
// Generated at ${new Date().toISOString()}
|
|
572
572
|
|
|
573
573
|
importScripts('https://storage.googleapis.com/workbox-cdn/releases/7.0.0/workbox-sw.js');
|
|
@@ -635,7 +635,7 @@ registerRoute(
|
|
|
635
635
|
}),
|
|
636
636
|
'POST'
|
|
637
637
|
);
|
|
638
|
-
`}getPWAHeaders(){return[{source:"/manifest.json",headers:[{key:"Content-Type",value:"application/manifest+json"},{key:"Cache-Control",value:"public, max-age=3600"}]},{source:"/sw.js",headers:[{key:"Content-Type",value:"application/javascript"},{key:"Cache-Control",value:"no-cache"}]}]}getPWARewrites(){return{beforeFiles:[],afterFiles:[{source:"/sw.js",destination:"/sw.js"},{source:"/workbox-:path*",destination:"/workbox-:path*"}],fallback:[]}}async discoverNextBuildAssets(t=".next"){let r=this.pathResolver.resolveAppPath(`${t}/static`),s=this.pathResolver.resolveAppPath(`${t}/static/chunks`),n=this.pathResolver.resolveAppPath(`${t}/static/css`),i=[];try{let o=[`${r}/**/*.{js,css,woff2,woff,ttf,eot}`,`${s}/**/*.{js,css}`,`${n}/**/*.css`];for(let a of o){let c=await this.pathResolver.findFiles(this.pathResolver.getAppRoot(),a.replace(this.pathResolver.getAppRoot(),""),{onlyFiles:!0});for(let u of c){let f=this.pathResolver.getRelativePath(u);if(f.startsWith(`${t}/static/`)){let g=`/_next/${f.replace(`${t}/static/`,"")}`;i.push({url:g,revision:null})}}}}catch(o){this.logger?.warn(`Failed to discover Next.js build assets: ${o.message}`)}return i}generatePrecacheManifest(t=[],r=null){let s=t;return r&&typeof r=="function"&&(s=r(s)),s}async discoverPWAAssets(t=!1){return await this.discover(t)}getPWAAssets(){return this.cache?.assets||[]}getPWAManifest(){return this.cache?.manifest||this._getDefaultManifest()}};function Ii(e={}){if(!e.enabled)return null;let t=e.app||{},r=[];if(t.name||r.push("name"),t.shortName||r.push("shortName"),t.description||r.push("description"),r.length>0){let f=z("PWA",e.debug,!0);f.warn(`\u26A0\uFE0F PWA is enabled but appConfig.app is missing required fields: ${r.join(", ")}`),f.warn(" Add these to your src/config/app.ts:"),f.warn(" export const appConfig: AppConfig = {"),f.warn(" app: {"),t.name||f.warn(' name: "Your App Name",'),t.shortName||f.warn(' shortName: "App",'),t.description||f.warn(' description: "Your app description",'),f.warn(" },"),f.warn(" // ... rest of config"),f.warn(" };"),f.warn("")}let s=H.getInstance(),n=Fr.data;if(!n)try{let f=s.resolveAppPath(Z.vite.assetInspection);s.pathExists(f)}catch{}let i=new Jt(s,{...e,assetData:n}),o=e.devEnabled===!0,a={registerType:"prompt",includeAssets:["favicon.ico","favicon.svg","apple-touch-icon.png"],manifest:async()=>{let f=e.app||{},p=(await i.discoverPWAAssets()).assets.filter(w=>w.type==="icon").map(w=>({src:`/${w.path}`,sizes:`${w.size.width}x${w.size.height}`,type:`image/${w.format}`,purpose:w.purpose}));return{name:f.name,short_name:f.shortName,description:f.description,start_url:"/",display:"standalone",background_color:"#ffffff",theme_color:"#000000",icons:p.length>0?p:[]}},workbox:{globPatterns:["**/*.{js,css,html,ico,png,svg,woff2}"],runtimeCaching:[{urlPattern:/^https:\/\/fonts\.googleapis\.com\/.*/i,handler:"CacheFirst",options:{cacheName:"google-fonts-cache",expiration:{maxEntries:10,maxAgeSeconds:3600*24*365},cacheableResponse:{statuses:[0,200]}}},{urlPattern:/^https:\/\/fonts\.gstatic\.com\/.*/i,handler:"CacheFirst",options:{cacheName:"gstatic-fonts-cache",expiration:{maxEntries:10,maxAgeSeconds:3600*24*365},cacheableResponse:{statuses:[0,200]}}},{urlPattern:/\.(?:png|jpg|jpeg|svg|gif|webp|avif)$/,handler:"StaleWhileRevalidate",options:{cacheName:"images-cache",expiration:{maxEntries:60,maxAgeSeconds:3600*24*30}}},{urlPattern:/\/api\/.*/i,handler:"NetworkFirst",options:{cacheName:"api-cache",expiration:{maxEntries:50,maxAgeSeconds:300},networkTimeoutSeconds:10}},{urlPattern:({request:f})=>f.destination==="document",handler:"NetworkFirst",options:{cacheName:"pages-cache",expiration:{maxEntries:32,maxAgeSeconds:3600*24},networkTimeoutSeconds:10}}],cleanupOutdatedCaches:!0,skipWaiting:!0,clientsClaim:!0,maximumFileSizeToCacheInBytes:5*1024*1024,navigateFallback:"/index.html",navigateFallbackDenylist:[/^\/api\/.*/],manifestTransforms:[f=>{let g=f.find(p=>p.url==="/index.html"||p.url==="index.html");return g&&!f.find(p=>p.url==="/")&&f.push({url:"/",revision:g.revision}),{manifest:f,warnings:[]}}]},devOptions:{enabled:o,type:"module"}},u={...a,manifest:async()=>{let f=await a.manifest();if(e.manifest){if(typeof e.manifest=="function"){let g=await e.manifest();return{...f,...g}}return{...f,...e.manifest}}return f},workbox:{...a.workbox,...e.workbox||{},runtimeCaching:[...a.workbox.runtimeCaching,...e.workbox?.runtimeCaching||[]],manifestTransforms:[...a.workbox.manifestTransforms||[],...e.workbox?.manifestTransforms||[]]}};return Hu(u)}function Di(e,t="unknown"){try{let r=/export\s+const\s+meta\s*[^=]*=\s*(\{[\s\S]*?\});/,s=e.match(r);if(!s)return null;let n=s[1];n=n.replace(/icon:\s*<(\w+)[\s\/][^>]*\/?>/g,(c,u)=>`icon: '${u}'`);let i=/(?:export\s+)?const\s+(\w+)\s*=\s*['"]([^'"]+)['"]/g;return[...e.matchAll(i)].forEach(c=>{let u=c[1],f=c[2];n=n.replace(new RegExp(`\\b${u}\\b`,"g"),`'${f}'`)}),Function(`return ${n}`)()}catch{return null}}var xt=null,Ti=null;function Vu(e){let r=(e.split("/").pop()?.replace(/\.tsx?$/,"")||"Component").replace(/[^a-zA-Z0-9]/g,"");return r.charAt(0).toUpperCase()+r.slice(1)}var Xt=class extends be{constructor(t,r={}){super(t,{additionalPatterns:[],...r}),this.routes=[],this.errors=[],this.source="auto-discovery"}_getDiscoveryType(){return"Route"}async _getPatterns(){return await this.pathResolver.resolvePatterns("routes")}_getPatternType(){return"routes"}async _processFiles(t){let r=this.pathResolver.getAppRoot(),s=process.env.DNDEV_BUILD_ID;if(xt&&Ti===s)return this.logger.debug("Using cached route discovery results"),this.routes=xt.routes,this.errors=xt.errors,this.source=xt.source,{routes:this.routes,errors:this.errors,source:this.source,totalFiles:this.routes.length};if(this.logger.debug("Route discovery mode: AUTO-DISCOVERY"),this.logger.debug(`App root: ${r}`),this.options.verbose||this.options.debug){let n=t?.consumerFiles?.length||0;if(this.logger.info(`\u{1F50D} Route discovery: Scanning ${n} files in ${r}`),this.options.debug){let i=await this._getPatterns();this.logger.debug(`Patterns: ${JSON.stringify(i)}`)}}return await this._performAutoDiscovery(t,r),(this.options.verbose||this.options.debug)&&(this.logger.info(`\u{1F50D} Route discovery: Found ${this.routes.length} routes`),this.routes.length===0&&this.logger.warn("\u26A0\uFE0F No routes discovered! Check that pages exist in src/pages/")),xt={routes:this.routes,errors:this.errors,source:this.source},Ti=process.env.DNDEV_BUILD_ID,{routes:this.routes,errors:this.errors,source:this.source,totalFiles:this.routes.length}}_getEmptyResult(){return{routes:[],errors:[],source:"empty",totalFiles:0,timestamp:Date.now()}}_getDiscoverySummary(){return`${this.cache?.routes?.length||0} routes discovered via ${this.cache?.source||"unknown"}`}async discoverRoutes(t=!1){return await this.discover(t)}getRoutes(){return this.cache?.routes||[]}async _performAutoDiscovery(t,r){let{consumerFiles:s}=t,n=await this._batchProcessFiles(s,u=>this._analyzePageFile(u,r)),i=await this._scanAdditionalPatterns(r),o=await this._batchProcessFiles(i,u=>this._analyzePageFile(u,r)),a=[...n,...o];this.logger.debug(`Auto-discovering from ${s.length} app + ${i.length} additional files`),this.routes=a.filter(u=>u.path==="home"||u.path==="/home"?(this.logger.debug(`Filtered reserved route: ${u.path} - Use root "/" instead (${u.file})`),!1):!0);let c=new Map;for(let u of this.routes){let f=u.path;if(c.has(f)){let g=c.get(f);throw new Error(`Route conflict: Multiple routes found for path '${f}'. Routes: ${g.file} and ${u.file}. Use PageMeta route override to specify unique paths. Example: export const meta: PageMeta = { route: '/custom-path' };`)}c.set(f,u)}this.logger.debug(`Auto-discovered ${this.routes.length} routes from ${s.length+i.length} files`)}async _scanAdditionalPatterns(t){let r=this.options.additionalPatterns.map(s=>this.pathResolver.resolveAppPath(s));if(r.length===0)return[];try{let{consumerFiles:s}=await this.pathResolver.resolveFiles({consumer:r,framework:[]},"routes");return s}catch(s){return this.logger.debug(`Error scanning additional patterns: ${s.message}`),[]}}async _analyzePageFile(t,r){let s=await this.pathResolver.read(t.absolutePath,{format:"text"});if(!s)return null;let n=t.relativePath,i="/src/"+n.replace(/\\/g,"/");i=i.replace(/src\/src\//g,"src/").replace(/src\/src\//g,"src/");let o=this._extractMetaExport(s,t.absolutePath),a=Vu(i),u=a===tr.HOMEPAGE_COMPONENT?tr.HOMEPAGE_PATH:this._resolveRoutePath(o,n,t.absolutePath),f=this._extractPageMeta(n,s),{entity:g,action:p,...w}=o||{};return{path:u,component:a,importPath:i,auth:o?.auth||!1,meta:{...f,...w,entity:f.entity,action:f.action},metaExport:o,file:n}}_extractMetaExport(t,r){try{let s=Di(t,r);return s?(this.logger.debug(`Extracted meta export from ${r}: ${JSON.stringify(s)}`),s):null}catch(s){return this.logger.debug(`Error parsing meta export from ${r}: ${s.message}`),null}}_generateRoutePath(t){let r=t.replace(/\.tsx$/,"").replace(/Page$/,"").replace(/^src\//,"").replace(/^pages\//,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();return(r.endsWith("/index")||r==="index")&&(r=r.replace(/\/index$/,"")||"/"),r==="/"?"/":"/"+r.replace(/\/+/g,"/")}_resolveRoutePath(t,r,s){if(!t?.route)return this._generateRoutePath(r);if(typeof t.route=="string"){let n=t.route.trim();return n==="/"?"/":(n=n.replace(/\/+/g,"/"),n.startsWith("/")||(n="/"+n),n)}if(typeof t.route=="object"&&t.route!==null){let n=this._generateRoutePath(r),i=t.route.params;if(Array.isArray(i)&&i.length>0){let o=i.map(a=>`:${a}`).join("/");return`${n}/${o}`}return n}return this.logger.warn(`Invalid route format in ${s}. Use string format: route: "/path/:param" or object format: route: { params: ['id'] }`),this.logger.debug(`Falling back to auto-generated path for ${s}`),this._generateRoutePath(r)}_extractPageMeta(t,r){let s=t.split("/").pop()?.replace(".tsx","")||"",n=s.replace(/Page$/,"");n=n.replace(/([A-Z])/g," $1").trim(),n=n.charAt(0).toUpperCase()+n.slice(1);let i=t.split("/"),o=null,a=null;return i.length>1&&(o=i[i.length-2],s.includes("List")?a="list":s.includes("Form")||s.includes("Create")||s.includes("Edit")?a="form":(s.includes("Detail")||s.includes("View"))&&(a="detail")),{title:n,entity:o,action:a,file:t}}};var Ju={isEmpty:e=>!e.routes||e.routes.length===0,generateModule:(e,t,r="routes")=>{let s={totalRoutes:e.routes.length,authRequired:e.routes.filter(i=>i.auth&&i.auth.required).length,publicRoutes:e.routes.filter(i=>!i.auth||i.auth===!1).length,source:e.source,generatedAt:new Date().toISOString(),errors:e.errors.length},n=e.routes.map(i=>` {
|
|
638
|
+
`}getPWAHeaders(){return[{source:"/manifest.json",headers:[{key:"Content-Type",value:"application/manifest+json"},{key:"Cache-Control",value:"public, max-age=3600"}]},{source:"/sw.js",headers:[{key:"Content-Type",value:"application/javascript"},{key:"Cache-Control",value:"no-cache"}]}]}getPWARewrites(){return{beforeFiles:[],afterFiles:[{source:"/sw.js",destination:"/sw.js"},{source:"/workbox-:path*",destination:"/workbox-:path*"}],fallback:[]}}async discoverNextBuildAssets(t=".next"){let r=this.pathResolver.resolveAppPath(`${t}/static`),s=this.pathResolver.resolveAppPath(`${t}/static/chunks`),n=this.pathResolver.resolveAppPath(`${t}/static/css`),i=[];try{let o=[`${r}/**/*.{js,css,woff2,woff,ttf,eot}`,`${s}/**/*.{js,css}`,`${n}/**/*.css`];for(let a of o){let c=await this.pathResolver.findFiles(this.pathResolver.getAppRoot(),a.replace(this.pathResolver.getAppRoot(),""),{onlyFiles:!0});for(let u of c){let f=this.pathResolver.getRelativePath(u);if(f.startsWith(`${t}/static/`)){let g=`/_next/${f.replace(`${t}/static/`,"")}`;i.push({url:g,revision:null})}}}}catch(o){this.logger?.warn(`Failed to discover Next.js build assets: ${o.message}`)}return i}generatePrecacheManifest(t=[],r=null){let s=t;return r&&typeof r=="function"&&(s=r(s)),s}async discoverPWAAssets(t=!1){return await this.discover(t)}getPWAAssets(){return this.cache?.assets||[]}getPWAManifest(){return this.cache?.manifest||this._getDefaultManifest()}};function Ii(e={}){if(!e.enabled)return null;let t=e.app||{},r=[];if(t.name||r.push("name"),t.shortName||r.push("shortName"),t.description||r.push("description"),r.length>0){let f=z("PWA",e.debug,!0);f.warn(`\u26A0\uFE0F PWA is enabled but appConfig.app is missing required fields: ${r.join(", ")}`),f.warn(" Add these to your src/config/app.ts:"),f.warn(" export const appConfig: AppConfig = {"),f.warn(" app: {"),t.name||f.warn(' name: "Your App Name",'),t.shortName||f.warn(' shortName: "App",'),t.description||f.warn(' description: "Your app description",'),f.warn(" },"),f.warn(" // ... rest of config"),f.warn(" };"),f.warn("")}let s=W.getInstance(),n=Fr.data;if(!n)try{let f=s.resolveAppPath(Q.vite.assetInspection);s.pathExists(f)}catch{}let i=new Jt(s,{...e,assetData:n}),o=e.devEnabled===!0,a={registerType:"prompt",includeAssets:["favicon.ico","favicon.svg","apple-touch-icon.png"],manifest:async()=>{let f=e.app||{},p=(await i.discoverPWAAssets()).assets.filter(m=>m.type==="icon").map(m=>({src:`/${m.path}`,sizes:`${m.size.width}x${m.size.height}`,type:`image/${m.format}`,purpose:m.purpose}));return{name:f.name,short_name:f.shortName,description:f.description,start_url:"/",display:"standalone",background_color:"#ffffff",theme_color:"#000000",icons:p.length>0?p:[]}},workbox:{globPatterns:["**/*.{js,css,html,ico,png,svg,woff2}"],runtimeCaching:[{urlPattern:/^https:\/\/fonts\.googleapis\.com\/.*/i,handler:"CacheFirst",options:{cacheName:"google-fonts-cache",expiration:{maxEntries:10,maxAgeSeconds:3600*24*365},cacheableResponse:{statuses:[0,200]}}},{urlPattern:/^https:\/\/fonts\.gstatic\.com\/.*/i,handler:"CacheFirst",options:{cacheName:"gstatic-fonts-cache",expiration:{maxEntries:10,maxAgeSeconds:3600*24*365},cacheableResponse:{statuses:[0,200]}}},{urlPattern:/\.(?:png|jpg|jpeg|svg|gif|webp|avif)$/,handler:"StaleWhileRevalidate",options:{cacheName:"images-cache",expiration:{maxEntries:60,maxAgeSeconds:3600*24*30}}},{urlPattern:/\/api\/.*/i,handler:"NetworkFirst",options:{cacheName:"api-cache",expiration:{maxEntries:50,maxAgeSeconds:300},networkTimeoutSeconds:10}},{urlPattern:({request:f})=>f.destination==="document",handler:"NetworkFirst",options:{cacheName:"pages-cache",expiration:{maxEntries:32,maxAgeSeconds:3600*24},networkTimeoutSeconds:10}}],cleanupOutdatedCaches:!0,skipWaiting:!0,clientsClaim:!0,maximumFileSizeToCacheInBytes:5*1024*1024,navigateFallback:"/index.html",navigateFallbackDenylist:[/^\/api\/.*/],manifestTransforms:[f=>{let g=f.find(p=>p.url==="/index.html"||p.url==="index.html");return g&&!f.find(p=>p.url==="/")&&f.push({url:"/",revision:g.revision}),{manifest:f,warnings:[]}}]},devOptions:{enabled:o,type:"module"}},u={...a,manifest:async()=>{let f=await a.manifest();if(e.manifest){if(typeof e.manifest=="function"){let g=await e.manifest();return{...f,...g}}return{...f,...e.manifest}}return f},workbox:{...a.workbox,...e.workbox||{},runtimeCaching:[...a.workbox.runtimeCaching,...e.workbox?.runtimeCaching||[]],manifestTransforms:[...a.workbox.manifestTransforms||[],...e.workbox?.manifestTransforms||[]]}};return Hu(u)}function Di(e,t="unknown"){try{let r=/export\s+const\s+meta\s*[^=]*=\s*(\{[\s\S]*?\});/,s=e.match(r);if(!s)return null;let n=s[1];n=n.replace(/icon:\s*<(\w+)[\s\/][^>]*\/?>/g,(c,u)=>`icon: '${u}'`);let i=/(?:export\s+)?const\s+(\w+)\s*=\s*['"]([^'"]+)['"]/g;return[...e.matchAll(i)].forEach(c=>{let u=c[1],f=c[2];n=n.replace(new RegExp(`\\b${u}\\b`,"g"),`'${f}'`)}),Function(`return ${n}`)()}catch{return null}}var xt=null,Ti=null;function Vu(e){let r=(e.split("/").pop()?.replace(/\.tsx?$/,"")||"Component").replace(/[^a-zA-Z0-9]/g,"");return r.charAt(0).toUpperCase()+r.slice(1)}var Xt=class extends be{constructor(t,r={}){super(t,{additionalPatterns:[],...r}),this.routes=[],this.errors=[],this.source="auto-discovery"}_getDiscoveryType(){return"Route"}async _getPatterns(){return await this.pathResolver.resolvePatterns("routes")}_getPatternType(){return"routes"}async _processFiles(t){let r=this.pathResolver.getAppRoot(),s=process.env.DNDEV_BUILD_ID;if(xt&&Ti===s)return this.logger.debug("Using cached route discovery results"),this.routes=xt.routes,this.errors=xt.errors,this.source=xt.source,{routes:this.routes,errors:this.errors,source:this.source,totalFiles:this.routes.length};if(this.logger.debug("Route discovery mode: AUTO-DISCOVERY"),this.logger.debug(`App root: ${r}`),this.options.verbose||this.options.debug){let n=t?.consumerFiles?.length||0;if(this.logger.info(`\u{1F50D} Route discovery: Scanning ${n} files in ${r}`),this.options.debug){let i=await this._getPatterns();this.logger.debug(`Patterns: ${JSON.stringify(i)}`)}}return await this._performAutoDiscovery(t,r),(this.options.verbose||this.options.debug)&&(this.logger.info(`\u{1F50D} Route discovery: Found ${this.routes.length} routes`),this.routes.length===0&&this.logger.warn("\u26A0\uFE0F No routes discovered! Check that pages exist in src/pages/")),xt={routes:this.routes,errors:this.errors,source:this.source},Ti=process.env.DNDEV_BUILD_ID,{routes:this.routes,errors:this.errors,source:this.source,totalFiles:this.routes.length}}_getEmptyResult(){return{routes:[],errors:[],source:"empty",totalFiles:0,timestamp:Date.now()}}_getDiscoverySummary(){return`${this.cache?.routes?.length||0} routes discovered via ${this.cache?.source||"unknown"}`}async discoverRoutes(t=!1){return await this.discover(t)}getRoutes(){return this.cache?.routes||[]}async _performAutoDiscovery(t,r){let{consumerFiles:s}=t,n=await this._batchProcessFiles(s,u=>this._analyzePageFile(u,r)),i=await this._scanAdditionalPatterns(r),o=await this._batchProcessFiles(i,u=>this._analyzePageFile(u,r)),a=[...n,...o];this.logger.debug(`Auto-discovering from ${s.length} app + ${i.length} additional files`),this.routes=a.filter(u=>u.path==="home"||u.path==="/home"?(this.logger.debug(`Filtered reserved route: ${u.path} - Use root "/" instead (${u.file})`),!1):!0);let c=new Map;for(let u of this.routes){let f=u.path;if(c.has(f)){let g=c.get(f);throw new Error(`Route conflict: Multiple routes found for path '${f}'. Routes: ${g.file} and ${u.file}. Use PageMeta route override to specify unique paths. Example: export const meta: PageMeta = { route: '/custom-path' };`)}c.set(f,u)}this.logger.debug(`Auto-discovered ${this.routes.length} routes from ${s.length+i.length} files`)}async _scanAdditionalPatterns(t){let r=this.options.additionalPatterns.map(s=>this.pathResolver.resolveAppPath(s));if(r.length===0)return[];try{let{consumerFiles:s}=await this.pathResolver.resolveFiles({consumer:r,framework:[]},"routes");return s}catch(s){return this.logger.debug(`Error scanning additional patterns: ${s.message}`),[]}}async _analyzePageFile(t,r){let s=await this.pathResolver.read(t.absolutePath,{format:"text"});if(!s)return null;let n=t.relativePath,i="/src/"+n.replace(/\\/g,"/");i=i.replace(/src\/src\//g,"src/").replace(/src\/src\//g,"src/");let o=this._extractMetaExport(s,t.absolutePath),a=Vu(i),u=a===tr.HOMEPAGE_COMPONENT?tr.HOMEPAGE_PATH:this._resolveRoutePath(o,n,t.absolutePath),f=this._extractPageMeta(n,s),{entity:g,action:p,...m}=o||{};return{path:u,component:a,importPath:i,auth:o?.auth||!1,meta:{...f,...m,entity:f.entity,action:f.action},metaExport:o,file:n}}_extractMetaExport(t,r){try{let s=Di(t,r);return s?(this.logger.debug(`Extracted meta export from ${r}: ${JSON.stringify(s)}`),s):null}catch(s){return this.logger.debug(`Error parsing meta export from ${r}: ${s.message}`),null}}_generateRoutePath(t){let r=t.replace(/\.tsx$/,"").replace(/Page$/,"").replace(/^src\//,"").replace(/^pages\//,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();return(r.endsWith("/index")||r==="index")&&(r=r.replace(/\/index$/,"")||"/"),r==="/"?"/":"/"+r.replace(/\/+/g,"/")}_resolveRoutePath(t,r,s){if(!t?.route)return this._generateRoutePath(r);if(typeof t.route=="string"){let n=t.route.trim();return n==="/"?"/":(n=n.replace(/\/+/g,"/"),n.startsWith("/")||(n="/"+n),n)}if(typeof t.route=="object"&&t.route!==null){let n=this._generateRoutePath(r),i=t.route.params;if(Array.isArray(i)&&i.length>0){let o=i.map(a=>`:${a}`).join("/");return`${n}/${o}`}return n}return this.logger.warn(`Invalid route format in ${s}. Use string format: route: "/path/:param" or object format: route: { params: ['id'] }`),this.logger.debug(`Falling back to auto-generated path for ${s}`),this._generateRoutePath(r)}_extractPageMeta(t,r){let s=t.split("/").pop()?.replace(".tsx","")||"",n=s.replace(/Page$/,"");n=n.replace(/([A-Z])/g," $1").trim(),n=n.charAt(0).toUpperCase()+n.slice(1);let i=t.split("/"),o=null,a=null;return i.length>1&&(o=i[i.length-2],s.includes("List")?a="list":s.includes("Form")||s.includes("Create")||s.includes("Edit")?a="form":(s.includes("Detail")||s.includes("View"))&&(a="detail")),{title:n,entity:o,action:a,file:t}}};var Ju={isEmpty:e=>!e.routes||e.routes.length===0,generateModule:(e,t,r="routes")=>{let s={totalRoutes:e.routes.length,authRequired:e.routes.filter(i=>i.auth&&i.auth.required).length,publicRoutes:e.routes.filter(i=>!i.auth||i.auth===!1).length,source:e.source,generatedAt:new Date().toISOString(),errors:e.errors.length},n=e.routes.map(i=>` {
|
|
639
639
|
path: '${i.path}',
|
|
640
640
|
component: () => import('${i.importPath}'),
|
|
641
641
|
auth: ${JSON.stringify(i.auth,null,2).replace(/\n/g,`
|
|
@@ -666,7 +666,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
666
666
|
}
|
|
667
667
|
|
|
668
668
|
// Include all routes in mapping (navigation store will filter by hideFromMenu)
|
|
669
|
-
globalThis._DNDEV_CONFIG_.${
|
|
669
|
+
globalThis._DNDEV_CONFIG_.${ne[r]} = {
|
|
670
670
|
mapping: routeData,
|
|
671
671
|
manifest: {
|
|
672
672
|
totalRoutes: ${e.routes.length},
|
|
@@ -703,7 +703,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
703
703
|
}
|
|
704
704
|
|
|
705
705
|
// Populate empty routes configuration
|
|
706
|
-
globalThis._DNDEV_CONFIG_.${
|
|
706
|
+
globalThis._DNDEV_CONFIG_.${ne[s]} = {
|
|
707
707
|
mapping: [],
|
|
708
708
|
manifest: {
|
|
709
709
|
totalRoutes: 0,
|
|
@@ -762,7 +762,7 @@ export const routeManifest = {
|
|
|
762
762
|
};
|
|
763
763
|
|
|
764
764
|
export default discoveredRoutes;
|
|
765
|
-
`},generateManifest:e=>({routes:e?.routes?.length||0,source:e?.source||"unknown",timestamp:Date.now(),errors:e?.errors?.length||0}),logConfig:e=>{},logStats:(e,t,r)=>{let s=e.routes||[],n=s.filter(o=>o.auth&&o.auth.required).length,i=s.length;r&&r.info(`${t} Routes: ${i} found${n>0?`, ${n} are authguarded`:""}`)}},Xu=[e=>e.endsWith("Page.tsx")];function Ci(e={}){return Re({pluginName:"dndev-vite-route-discovery",icon:"\u{1F6E3}\uFE0F",virtualModuleId:G.routes,DiscoveryClass:Xt,discoveryMethod:"discoverRoutes",filePatterns:Xu,templates:Ju,defaultInspectionPath:
|
|
765
|
+
`},generateManifest:e=>({routes:e?.routes?.length||0,source:e?.source||"unknown",timestamp:Date.now(),errors:e?.errors?.length||0}),logConfig:e=>{},logStats:(e,t,r)=>{let s=e.routes||[],n=s.filter(o=>o.auth&&o.auth.required).length,i=s.length;r&&r.info(`${t} Routes: ${i} found${n>0?`, ${n} are authguarded`:""}`)}},Xu=[e=>e.endsWith("Page.tsx")];function Ci(e={}){return Re({pluginName:"dndev-vite-route-discovery",icon:"\u{1F6E3}\uFE0F",virtualModuleId:G.routes,DiscoveryClass:Xt,discoveryMethod:"discoverRoutes",filePatterns:Xu,templates:Ju,defaultInspectionPath:Q.vite.routeInspection,manifestFileName:Q.manifests.route,configKey:"routes"})({...e,disableHmr:e?.hmr===!1,hmrSmartDetection:!1})}import{loadEnv as Yu}from"vite";var Yt=class{constructor(t={}){let{debug:r=!1,generateRobotsTxt:s=!0,generateSitemap:n=!0,baseUrl:i,siteName:o,crawlDelay:a=1,routes:c={},...u}=t;if(!i||!o)throw new Error("SEOGenerator requires baseUrl and siteName options");this.options={debug:r,generateRobotsTxt:s,generateSitemap:n,baseUrl:i,siteName:o,crawlDelay:a,routes:c,defaultImage:"/og-image.jpg",twitterHandle:"@donotdev",defaultAuthor:"DNDev Team",defaultLanguage:"en",staticTags:{},...u},this.logger=z("SEO Generator",t.debug,t.verbose)}async generateSEOFiles(t,r,s=null){try{let n=this.generateRouteMetaTags(t.routes||[]),i={routes:t.routes||[],routeMetaTags:n,baseUrl:this.options.baseUrl,siteName:this.options.siteName},o={robotsTxt:null,sitemap:null,manifest:null,totalRoutes:i.routes.length,publicRoutes:i.routes.filter(a=>!a.auth||a.auth===!1).length,protectedRoutes:i.routes.filter(a=>a.auth&&a.auth.required).length};return this.options.generateRobotsTxt&&(o.robotsTxt=await this.generateRobotsTxt(i,r,s)),this.options.generateSitemap&&(o.sitemap=await this.generateSitemap(i,r,s)),o.manifest=await this.generateManifest(i,r,s),o}catch(n){throw this.logger.error(`SEO generator failed to create files (robots.txt/sitemap.xml/manifest): ${n.message}`),this.logger.error(`Stack: ${n.stack||"No stack trace available"}`),n}}async generateRobotsTxt(t,r,s=null){if(s&&await s("robots.txt"))return this.logger.info("\u2705 robots.txt already exists, skipping generation"),{fileName:"robots.txt",skipped:!0};let n=[];(t.routes||[]).forEach(o=>{if(o.auth&&o.auth.required){let a=o.path.startsWith("/")?o.path:`/${o.path}`;n.push(a)}}),n.push("/admin","/api","/_next","/static");let i=this.generateRobotsTxtContent({disallowedPaths:[...new Set(n)],sitemap:`${this.options.baseUrl}/sitemap.xml`,crawlDelay:this.options.crawlDelay});return await r("robots.txt",i),{fileName:"robots.txt",content:i,disallowedPaths:n.length}}async generateSitemap(t,r,s=null){if(s&&await s("sitemap.xml"))return this.logger.info("\u2705 sitemap.xml already exists, skipping generation"),{fileName:"sitemap.xml",skipped:!0};let i=(t.routes||[]).filter(a=>!a.auth||a.auth===!1).map(a=>({url:a.path,lastmod:new Date().toISOString().split("T")[0],changefreq:"weekly",priority:a.path==="/"?"1.0":"0.8"})),o=this.generateSitemapContent(i);return await r("sitemap.xml",o),{fileName:"sitemap.xml",content:o,publicRoutes:i.length}}async generateManifest(t,r,s=null){if(s&&await s("seo-manifest.json"))return this.logger.info("\u2705 seo-manifest.json already exists, skipping generation"),{fileName:"seo-manifest.json",skipped:!0};let n={totalRoutes:t.routes?.length||0,publicRoutes:t.routes?.filter(o=>!o.auth||o.auth===!1).length||0,protectedRoutes:t.routes?.filter(o=>o.auth&&o.auth.required).length||0,baseUrl:this.options.baseUrl,siteName:this.options.siteName,generatedAt:new Date().toISOString(),routeMetaTags:t.routeMetaTags||[]},i=JSON.stringify(n,null,2);return await r("seo-manifest.json",i),{fileName:"seo-manifest.json",content:i,manifest:n}}generateRobotsTxtContent(t={}){let{allowedPaths:r=["/"],disallowedPaths:s=["/admin","/api"],sitemap:n,crawlDelay:i}=t,o=c=>c?c==="*"?"*":c.startsWith("/")?c:`/${c}`:"/",a=["User-agent: *",...s.map(c=>`Disallow: ${o(c)}`),...r.map(c=>`Allow: ${o(c)}`)];return i&&a.push(`Crawl-delay: ${i}`),n&&a.push(`Sitemap: ${n}`),a.join(`
|
|
766
766
|
`)}generateSitemapContent(t){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
767
767
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
768
768
|
${t.map(({url:s,lastmod:n,changefreq:i,priority:o})=>{let a=[` <loc>${this.options.baseUrl}${s}</loc>`];return n&&a.push(` <lastmod>${n}</lastmod>`),i&&a.push(` <changefreq>${i}</changefreq>`),o&&a.push(` <priority>${o}</priority>`),` <url>
|
|
@@ -770,7 +770,7 @@ ${a.join(`
|
|
|
770
770
|
`)}
|
|
771
771
|
</url>`}).join(`
|
|
772
772
|
`)}
|
|
773
|
-
</urlset>`}generateRouteMetaTags(t){return t.map(r=>{let s=this.options.siteName;if(r.meta?.title)s=`${r.meta.title} - ${this.options.siteName}`;else if(r.path!=="/"){let i=r.path.split("/").filter(Boolean);i.length>0&&(s=`${i[i.length-1].split("-").map(c=>c.charAt(0).toUpperCase()+c.slice(1)).join(" ")} - ${this.options.siteName}`)}let n=`Welcome to ${this.options.siteName}`;if(r.meta?.description)n=r.meta.description;else if(r.meta?.entity&&r.meta?.action)n=`${r.meta.action} ${r.meta.entity} on ${this.options.siteName}`;else if(r.path!=="/"){let i=r.path.split("/").filter(Boolean);i.length>0&&(n=`Explore ${i[i.length-1].split("-").map(c=>c.charAt(0).toUpperCase()+c.slice(1)).join(" ").toLowerCase()} on ${this.options.siteName}`)}return{path:r.path,meta:{title:s,description:n,canonical:`${this.options.baseUrl}${r.path}`,robots:r.auth&&r.auth.required?"noindex, nofollow":"index, follow"}}})}getGenerationSummary(t){let r=t.routes?.length||0,s=t.routes?.filter(i=>!i.auth||i.auth===!1).length||0,n=t.routes?.filter(i=>i.auth&&i.auth.required).length||0;return`${r} routes (${s} public, ${n} protected)`}formatAPIResponse(t){return{totalRoutes:t.routes?.length||0,publicRoutes:t.routes?.filter(r=>!r.auth||r.auth===!1).length||0,protectedRoutes:t.routes?.filter(r=>r.auth&&r.auth.required).length||0,baseUrl:this.options.baseUrl,siteName:this.options.siteName,generatedAt:new Date().toISOString()}}};function Fi(e={}){let{disabled:t=!1,debug:r,generateRobotsTxt:s,generateSitemap:n,routes:i={},baseUrl:o,siteName:a,crawlDelay:c,
|
|
773
|
+
</urlset>`}generateRouteMetaTags(t){return t.map(r=>{let s=this.options.siteName;if(r.meta?.title)s=`${r.meta.title} - ${this.options.siteName}`;else if(r.path!=="/"){let i=r.path.split("/").filter(Boolean);i.length>0&&(s=`${i[i.length-1].split("-").map(c=>c.charAt(0).toUpperCase()+c.slice(1)).join(" ")} - ${this.options.siteName}`)}let n=`Welcome to ${this.options.siteName}`;if(r.meta?.description)n=r.meta.description;else if(r.meta?.entity&&r.meta?.action)n=`${r.meta.action} ${r.meta.entity} on ${this.options.siteName}`;else if(r.path!=="/"){let i=r.path.split("/").filter(Boolean);i.length>0&&(n=`Explore ${i[i.length-1].split("-").map(c=>c.charAt(0).toUpperCase()+c.slice(1)).join(" ").toLowerCase()} on ${this.options.siteName}`)}return{path:r.path,meta:{title:s,description:n,canonical:`${this.options.baseUrl}${r.path}`,robots:r.auth&&r.auth.required?"noindex, nofollow":"index, follow"}}})}getGenerationSummary(t){let r=t.routes?.length||0,s=t.routes?.filter(i=>!i.auth||i.auth===!1).length||0,n=t.routes?.filter(i=>i.auth&&i.auth.required).length||0;return`${r} routes (${s} public, ${n} protected)`}formatAPIResponse(t){return{totalRoutes:t.routes?.length||0,publicRoutes:t.routes?.filter(r=>!r.auth||r.auth===!1).length||0,protectedRoutes:t.routes?.filter(r=>r.auth&&r.auth.required).length||0,baseUrl:this.options.baseUrl,siteName:this.options.siteName,generatedAt:new Date().toISOString()}}};function Fi(e={}){let{disabled:t=!1,debug:r,generateRobotsTxt:s,generateSitemap:n,routes:i={},baseUrl:o,siteName:a,crawlDelay:c,isDev:u,...f}=e;if(t)return{name:"seo-disabled"};let g=z("SEO Plugin",r,!0),p=W.getInstance(),m=null,N=null,q=!1;async function H(){try{let $=p.resolveAppPath("src/routes.generated.log"),C=p.readSync($,{format:"text"});if(!C)return g.error(`SEO plugin: routes discovery file not found at ${$}`),g.error("This indicates route discovery failed or did not run. SEO files will be generated with empty routes."),{routes:[],errors:[`Routes file missing: ${$}`],source:"fallback"};let k=C.match(/export const discoveredRoutes = (\[[\s\S]*?\]);/);if(!k)return g.error(`SEO plugin: failed to parse routes from ${$}`),g.error("Expected format: export const discoveredRoutes = [...];"),g.error("This indicates route discovery generated invalid output. SEO files will be generated with empty routes."),{routes:[],errors:[`Invalid routes file format: ${$}`],source:"fallback"};let I=k[1].replace(/component:\s*\(\)\s*=>\s*Promise\.resolve\(\{[^}]*\}\),?/g,"").replace(/component:\s*\(\)\s*=>\s*import\([^)]*\),?/g,"").replace(/component:\s*[^,}\n]+,?/g,"").replace(/,\s*,/g,",").replace(/,\s*}/g,"}").replace(/,\s*]/g,"]"),D=Function(`"use strict"; return ${I}`)();return{routes:D,errors:[],source:"generated",totalFiles:D.length}}catch($){return g.warn(`Error parsing generated routes: ${$.message}, falling back to empty routes`),{routes:[],errors:[],source:"fallback"}}}return{name:"vite-seo-plugin",enforce:"pre",configResolved($){let C=p.getAppRoot(),k=$.mode||"production",D=Yu(k,C,"VITE_").VITE_APP_URL||process.env.VITE_APP_URL||null;D&&r&&g.debug(`Using app URL from VITE_APP_URL: ${D}`),m=a||null,N=o||D||null,g.verbose(`Name: ${m||"Not found"}`),g.verbose(`URL: ${N||"Not found"}`),m&&g.debug(` - Site name from appConfig: "${m}"`);let E=[];if(N||E.push("baseUrl (VITE_APP_URL in .env)"),m||E.push("siteName (APP_NAME in src/config/app.ts)"),E.length>0){q=!0,g.warn("\u26A0\uFE0F SEO Plugin disabled - missing required configuration:"),E.forEach(M=>g.warn(` - ${M}`)),g.warn(""),g.warn(" To fix:"),N||g.warn(" 1. Add VITE_APP_URL=https://yourdomain.com to your .env file"),m||(g.warn(" 2. Add APP_NAME export to src/config/app.ts:"),g.warn(' export const APP_NAME = "Your App Name";')),g.warn(""),g.warn(" robots.txt and sitemap.xml will NOT be generated."),g.warn("");return}g.debug(`Generate robots.txt: ${s}`),g.debug(`Generate sitemap: ${n}`)},async generateBundle(){if(!q)try{let $=new Yt({debug:r,generateRobotsTxt:s,generateSitemap:n,baseUrl:N,siteName:m,crawlDelay:c,routes:i,...f}),C=await H(),k=async(E,M)=>{this.emitFile({type:"asset",fileName:E,source:M})},I=async E=>!1,D=await $.generateSEOFiles(C,k,I);D.robotsTxt&&!D.robotsTxt.skipped&&g.info(`\u{1F916} robots.txt: ${D.robotsTxt.disallowedPaths||0} disallowed paths`),D.sitemap&&!D.sitemap.skipped&&g.info(`\u{1F5FA}\uFE0F sitemap.xml: ${D.sitemap.publicRoutes||0} routes`),D.manifest&&!D.manifest.skipped&&g.info("\u{1F4C4} seo-manifest.json")}catch($){g.error(`SEO plugin failed to generate files (robots.txt/sitemap.xml): ${$.message}`),g.error(`Stack: ${$.stack||"No stack trace available"}`)}}}}function Oi(e={}){let{debug:t}=e;return{name:"dndev-server-shim",enforce:"pre",resolveId(r,s){return r.startsWith("node:")?(z("server-shim",t,!0).warn(`Blocking Node.js built-in module import: ${r}${s?` from ${s}`:""}`),"\0virtual:empty-server-module"):sr.includes(r)||sr.some(n=>r.startsWith(`${n}/`))?(z("server-shim",t,!0).warn(`Blocking server-only subpath import: ${r}${s?` from ${s}`:""}`),"\0virtual:empty-server-module"):qr.includes(r)?(z("server-shim",t,!0).warn(`Blocking server-only import: ${r}${s?` from ${s}`:""}`),"\0virtual:empty-server-module"):null},load(r){return r==="\0virtual:empty-server-module"?`
|
|
774
774
|
// Node.js built-in modules shims for browser compatibility
|
|
775
775
|
export const URL = globalThis.URL;
|
|
776
776
|
export const URLSearchParams = globalThis.URLSearchParams;
|
|
@@ -1049,7 +1049,7 @@ ${a.join(`
|
|
|
1049
1049
|
// Google Logging Utils shims
|
|
1050
1050
|
export const LoggingWinston = class LoggingWinston {};
|
|
1051
1051
|
export const LoggingBunyan = class LoggingBunyan {};
|
|
1052
|
-
`:null}}}var
|
|
1052
|
+
`:null}}}var gt=class{constructor(t,r={}){if(!t)throw new Error("CSSExtractor requires PathResolver instance");this.pathResolver=t,this.options={debug:!1,customPatterns:{},...r},this.logger=r.logger||{debug:(s,...n)=>{this.options.debug}},this.patterns={selectors:{...nr.selectors,...this.options.customPatterns?.selectors},themes:{...nr.themes,...this.options.customPatterns?.themes}}}cssVarToJsIdentifier(t){if(!t||typeof t!="string")return this._debug(`Invalid CSS variable: ${t}`),null;let r=t.replace(/^--/,"");if(!r)return this._debug(`Empty CSS variable after removing --: ${t}`),null;let s=r.split("-").filter(o=>o.length>0);if(s.length===0)return this._debug(`No valid parts in CSS variable: ${t}`),null;let n=s.map((o,a)=>{let c=o.replace(/[^a-zA-Z0-9]/g,"");return c?a===0?c.toLowerCase():c.charAt(0).toUpperCase()+c.slice(1).toLowerCase():null}).filter(Boolean).join("");return!n||!/^[a-zA-Z][a-zA-Z0-9]*$/.test(n)?(this._debug(`Invalid JavaScript identifier generated from ${t}: ${n}`),null):["const","let","var","function","class","export","import","default","if","else","for","while"].includes(n)?`${n}Var`:n}_stripComments(t){return t.replace(/\/\*[\s\S]*?\*\//g,"")}extractThemes(t,r,s){let n=[],i,o=this.pathResolver.normalizePath(r),a=this._stripComments(t),c=/(?::root\.|\.)([a-z][a-z0-9-]*)\s*\{([^}]*--theme-label\s*:\s*['"]([^'"]+)['"][^}]*)\}/gim;for(;(i=c.exec(a))!==null;){let[,u,f,g]=i;if(!u||!g)continue;let p=f.match(this.patterns.themes.themeIcon),m=f.match(this.patterns.themes.themeIsDark),N={name:u,displayName:g,isDark:m?m[1]==="1":!1,meta:{icon:p?.[1]},source:this.pathResolver.getBasename(r)};this._debug(`Discovered theme: ${u} (${g})`),n.push(N),s.themes.set(u,{name:u,displayName:g,isDark:N.isDark,file:o,variables:new Set,meta:N.meta})}return n.length>0&&this._debug(`Extracted ${n.length} themes from ${o}`),n}extractClasses(t,r){(t.match(this.patterns.selectors.class)||[]).forEach(n=>{let i=n.slice(1);i.startsWith("_")||r.classes.add(i)})}extractVariables(t,r,s){(t.match(this.patterns.selectors.variable)||[]).forEach(i=>{i.startsWith("--")&&i.length>2?s==="framework"?r.variables.framework.add(i):r.variables.consumer.add(i):this._debug(`Skipping invalid CSS variable: ${i}`)})}extractKeyframes(t,r){(t.match(this.patterns.selectors.keyframe)||[]).forEach(n=>{let i=n.replace("@keyframes","").trim();i&&r.keyframes.add(i)})}validateCSS(t){let r=[],s=t.match(/--[a-zA-Z0-9-_]*[^a-zA-Z0-9-_:;\s]/g);return s&&s.forEach(i=>{r.push(`Possible malformed CSS variable: ${i}`)}),(t.match(/\.[a-z][a-z0-9-]+\s*\{[^}]*\}/gi)||[]).forEach(i=>{if(!i.includes("--theme-label")&&i.includes("--")){let o=i.match(/\.([a-z][a-z0-9-]+)/)?.[1];o&&r.push(`Theme class "${o}" missing --theme-label`)}}),r}extractAll(t,r,s="consumer"){let n={themes:new Map,classes:new Set,variables:{framework:new Set,consumer:new Set},keyframes:new Set},i=this.extractThemes(t,r,n);this.extractClasses(t,n),this.extractVariables(t,n,s),this.extractKeyframes(t,n);let o=this.validateCSS(t);return{themes:i,classes:Array.from(n.classes),variables:{framework:Array.from(n.variables.framework),consumer:Array.from(n.variables.consumer),all:[...Array.from(n.variables.framework),...Array.from(n.variables.consumer)].sort()},keyframes:Array.from(n.keyframes),warnings:o}}getPatterns(){return{...this.patterns}}setPatterns(t){this.patterns={...this.patterns,...t,selectors:{...this.patterns.selectors,...t.selectors},themes:{...this.patterns.themes,...t.themes}}}_debug(t,r){this.logger.debug(t,r||"")}};var Pt=class extends be{constructor(t,r,s={}){super(r,s),this.cssExtractor=t||new gt(r,{debug:s.debug,logger:this.logger}),this.discovered={themes:new Map,variables:{framework:new Set,consumer:new Set},classes:new Set,keyframes:new Set},this._addEssentialThemes()}_getDiscoveryType(){return"Theme"}async _getPatterns(){return await this.pathResolver.resolvePatterns("css")}_getPatternType(){return"css"}async _processFiles(t){this.discovered={themes:new Map,variables:{framework:new Set,consumer:new Set},classes:new Set,keyframes:new Set},this._addEssentialThemes();let{frameworkFiles:r,consumerFiles:s}=t;this.logger.debug(`Scanning ${r.length} framework + ${s.length} consumer CSS files`),this.logger.debug("\u{1F50D} FILES DISCOVERED:"),this.logger.debug("Framework files:",r),this.logger.debug("Consumer files:",s),r.length>0?(this.logger.debug(`Framework files found: ${r.length}`),this.logger.debug("Framework files:",r)):this.logger.debug("No framework files found"),s.length>0?(this.logger.debug(`Consumer files found: ${s.length}`),this.logger.debug("Consumer files:",s)):this.logger.debug("No consumer files found"),await this._processFrameworkFiles(r),await this._processConsumerFiles(s);let n=this._serializeThemes();return this.logger.debug(`Discovered ${n.length} themes:`,n.map(i=>i.name)),{themes:n,variables:{framework:Array.from(this.discovered.variables.framework).sort(),consumer:Array.from(this.discovered.variables.consumer).sort(),all:[...Array.from(this.discovered.variables.framework),...Array.from(this.discovered.variables.consumer)].sort()},classes:Array.from(this.discovered.classes).sort(),keyframes:Array.from(this.discovered.keyframes).sort()}}_getEmptyResult(){let t=this._serializeThemes();return{themes:t.length>0?t:this._getEssentialThemesFallback(),variables:{framework:[],consumer:[],all:[]},classes:[],keyframes:[],timestamp:Date.now()}}_getEssentialThemesFallback(){return ir.map(t=>({name:t.name,displayName:t.displayName,meta:{icon:t.icon,category:t.isDark?"dark":"light"},essential:!0,isDark:t.isDark,source:"built-in",variableCount:0}))}_getDiscoverySummary(){return""}async discoverThemes(t=!1){return await this.discover(t)}getThemes(){return this.cache?.themes||[]}getVariables(){return this.cache?.variables||{framework:[],consumer:[],all:[]}}getClasses(){return this.cache?.classes||[]}async _processFrameworkFiles(t){for(let r of t)try{let s=await this.pathResolver.read(r,{format:"text"}),n=this.pathResolver.normalizePath(r);this.cssExtractor.extractThemes(s,n,this.discovered),this.cssExtractor.extractClasses(s,this.discovered),this.cssExtractor.extractVariables(s,this.discovered,"framework"),this.cssExtractor.extractKeyframes(s,this.discovered),this.logger.debug(`\u2705 Processed framework: ${this.pathResolver.getRelativePath(n)}`)}catch(s){this.logger.debug(`Error scanning framework file ${r}: ${s.message}`)}}async _processConsumerFiles(t){for(let r of t)try{let s=await this.pathResolver.read(r,{format:"text"}),n=this.pathResolver.normalizePath(r);this.cssExtractor.extractThemes(s,n,this.discovered),this.cssExtractor.extractVariables(s,this.discovered,"consumer"),this.logger.debug(`\u2705 Processed consumer: ${this.pathResolver.getRelativePath(n)}`)}catch(s){this.logger.debug(`Error scanning consumer file ${r}: ${s.message}`)}}_addEssentialThemes(){ir.forEach(t=>{this.discovered.themes.set(t.name,{name:t.name,displayName:t.displayName,meta:{icon:t.icon,category:t.isDark?"dark":"light"},essential:!0,isDark:t.isDark,source:"built-in",variables:new Set})})}_serializeThemes(){return Array.from(this.discovered.themes.values()).map(t=>({name:t.name,displayName:t.displayName,meta:t.meta,source:t.source,essential:t.essential||!1,isDark:t.isDark||!1,variableCount:t.variables?.size||0}))}};var ji={isEmpty:e=>!e.themes||e.themes.length===0,generateModule:(e,t,r="themes")=>{let{themes:s}=e;if(!s||s.length===0)return ji.generateEmpty(e,t,void 0,r);let n=s.find(o=>o.essential&&o.name==="light")||s[0],i={totalThemes:s.length,defaultTheme:n?.name||"light",hasCustomThemes:s.some(o=>!o.essential),timestamp:new Date().toISOString()};return`// Virtual module: ${G.themes}
|
|
1053
1053
|
// \u{1F680} STATIC INJECTION PATTERN - Zero Runtime Loading
|
|
1054
1054
|
// Generated by @donotdev/config at ${new Date().toISOString()}
|
|
1055
1055
|
|
|
@@ -1077,7 +1077,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
1077
1077
|
}
|
|
1078
1078
|
|
|
1079
1079
|
// Populate themes configuration
|
|
1080
|
-
globalThis._DNDEV_CONFIG_.${
|
|
1080
|
+
globalThis._DNDEV_CONFIG_.${ne[r]} = {
|
|
1081
1081
|
discovered: themeData,
|
|
1082
1082
|
mapping: themeData.reduce((acc, theme) => {
|
|
1083
1083
|
acc[theme.name] = theme;
|
|
@@ -1148,7 +1148,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
1148
1148
|
};
|
|
1149
1149
|
}
|
|
1150
1150
|
|
|
1151
|
-
globalThis._DNDEV_CONFIG_.${
|
|
1151
|
+
globalThis._DNDEV_CONFIG_.${ne[s]} = {
|
|
1152
1152
|
discovered: themeData,
|
|
1153
1153
|
mapping: themeData.reduce((acc, theme) => {
|
|
1154
1154
|
acc[theme.name] = theme;
|
|
@@ -1225,11 +1225,11 @@ export const themeManifest = {
|
|
|
1225
1225
|
};
|
|
1226
1226
|
|
|
1227
1227
|
export default discoveredThemes;
|
|
1228
|
-
`},generateManifest:e=>({themes:e.themes?.length||0,timestamp:Date.now(),hasCustomThemes:e.themes?.some(t=>!t.essential)||!1}),logConfig:e=>{},logStats:(e,t,r)=>{let s=e.themes||[],n=s.filter(o=>!o.essential).length,i=s.length;r&&(i===0?r.warn(`${t} No themes discovered - using framework essential themes fallback`):r.info(`${t} Themes: ${i} discovered${n>0?` (${n} custom)`:""}`))}};function Li(e={}){let t=Date.now();return z("theme-plugin",e.debug,e.verbose).debug("\u{1F3A8} Creating theme discovery plugin..."),Re({pluginName:"dndev-theme",icon:"\u{1F3A8}",virtualModuleId:G.themes,DiscoveryClass:Pt,discoveryMethod:"discoverThemes",filePatterns:["**/*.css"],templates:ji,defaultInspectionPath:
|
|
1229
|
-
Make sure the import statement in vite.config.ts is: import { appConfig } from "./src/config/app";`);if(typeof i!="object"||i===null)throw new Error(`appConfig must be an object, but got ${typeof i}. Make sure you are exporting appConfig from src/config/app.ts correctly.`);let a=i?.features?{debug:i.features.debug}:void 0,c=i?.seo&&typeof i.seo!="boolean"?{...i.seo,siteName:i.seo.siteName||i.app?.name}:i?.app?.name?{siteName:i.app.name}:void 0,{features:u,seo:f,...g}=o,p=i?.app?{name:i.app.name,shortName:i.app.shortName,description:i.app.description
|
|
1230
|
-
\u{1F3D7}\uFE0F DnDev Framework - ${
|
|
1231
|
-
`);let X=Mi({mode:
|
|
1232
|
-
${i}`:""}`);throw o.stack=i||o.stack,o}}}export{
|
|
1228
|
+
`},generateManifest:e=>({themes:e.themes?.length||0,timestamp:Date.now(),hasCustomThemes:e.themes?.some(t=>!t.essential)||!1}),logConfig:e=>{},logStats:(e,t,r)=>{let s=e.themes||[],n=s.filter(o=>!o.essential).length,i=s.length;r&&(i===0?r.warn(`${t} No themes discovered - using framework essential themes fallback`):r.info(`${t} Themes: ${i} discovered${n>0?` (${n} custom)`:""}`))}};function Li(e={}){let t=Date.now();return z("theme-plugin",e.debug,e.verbose).debug("\u{1F3A8} Creating theme discovery plugin..."),Re({pluginName:"dndev-theme",icon:"\u{1F3A8}",virtualModuleId:G.themes,DiscoveryClass:Pt,discoveryMethod:"discoverThemes",filePatterns:["**/*.css"],templates:ji,defaultInspectionPath:Q.vite.themeInspection,manifestFileName:Q.manifests.theme,configKey:"themes",createDiscovery:(n,i)=>{let o=new gt(n,{debug:i.debug,logger:z("css-extractor",i.debug,i.verbose)});return new Pt(o,n,i)}})(e)}function Mi(e={}){let t=z("vite-plugins",e.debug,e.verbose);try{let{mode:r,debug:s,verbose:n,isDev:i,server:o={},routes:a={},themes:c={},i18n:u={},assets:f={},seo:g={},pwa:p={},serverShim:m={},pluginFactory:N={}}=e,q=a.debug??s,H=c.debug??s,$=u.debug??s,C=f.debug??s,k=m.debug??s,I=[];I.push(Oi({...m,debug:k}));let D;try{D=W.getInstance()}catch(E){throw new Error(`Failed to initialize PathResolver: ${E.message||E}`)}return I.push({name:"dndev-file-watcher-fix",enforce:"pre",configResolved(E){if(s){t.debug("\u{1F4CB} Vite resolved config (configResolved):");let L={root:E.root,mode:E.mode,envDir:E.envDir,base:E.base,build:E.build?{outDir:E.build.outDir,minify:E.build.minify}:void 0,server:E.server?{port:E.server.port,host:E.server.host}:void 0,plugins:E.plugins?{count:E.plugins.length,names:E.plugins.map(ue=>ue?.name||"unnamed").filter(Boolean)}:void 0};t.debug(JSON.stringify(L,null,2))}D.setAppRoot(E.root);let M=D.getAppRoot();if(i&&E.server?.port){let L=E.server.https?"https":"http";process.env.VITE_APP_URL=`${L}://localhost:${E.server.port}`,(s||n)&&t.debug(`VITE_APP_URL set: ${process.env.VITE_APP_URL}`)}else i&&t.warn("VITE_APP_URL not set in dev mode. Server port not available.");try{let L=D.getRepoRoot();t.verbose(`Repo: ${L}`),t.verbose(`App: ${M}`)}catch(L){t.debug(`Could not log PathResolver values: ${L.message}`)}if(E.server){let L=S=>{let A=S.replace(/\\/g,"/"),te=M.replace(/\\/g,"/");return!A.startsWith(te)};E.server.watch||(E.server.watch={});let ue=["**/node_modules/**","**/.git/**","**/dist/**","**/build/**","**/.next/**","**/.turbo/**","**/.vite/**"];E.server.watch={...E.server.watch,ignored:[...E.server.watch.ignored||[],...ue,L]},t.verbose(`Fixed file watcher to use app root: ${M}`)}}}),I.push(Ni({debug:s,verbose:n})),I.push(Ai({debug:s})),I.push(Qu({fastRefresh:!0,jsxRuntime:"automatic"})),I.push(Zu({ignoreConfigErrors:!0})),o.https!==!1&&I.push(Ku()),I.push(Ci({...N,...a,debug:q})),I.push(Li({...N,...c,debug:H})),I.push(ki({...N,...u,debug:$})),I.push(Ri({...N,...f,debug:C})),I.push($i({...N,mode:r,debug:s,verbose:n})),I.push(Fi({...g,debug:s,isDev:i})),p.enabled&&I.push(Ii({...p,debug:s})),I}catch(r){throw z("vite-plugins",!1,!0).error(`Failed to create Vite plugins: ${r.message}`),r}}function ef(e){if(!e)return{};let t={};return Array.isArray(e)?e.forEach(({find:r,replacement:s})=>{typeof r=="string"&&(t[r]=s)}):typeof e=="object"&&Object.assign(t,e),t}function zi(e={}){let{alias:t,...r}=e,{conditions:s,...n}=r;return{alias:{"@":"/src",...ef(t)},dedupe:["react","react-dom","react-router-dom"],preserveSymlinks:!1,conditions:["browser","module","import","vite-app",...s||[]],...n}}function Bi(e={}){let{include:t=[],exclude:r=[],esbuildOptions:s={},...n}=e,i=[...t,...Xe.optionalFeatures],o=[...new Set(i)],a=[...new Set(r)];return{include:o,exclude:a,esbuildOptions:s,...n}}function tf(e={}){return e==null&&(e={}),async(t={})=>{t==null&&(t={});try{let r=process.env.CI==="true";process.env.DNDEV_BUILD_ID||(process.env.DNDEV_BUILD_ID=r?`ci-${Math.random().toString(36).slice(2,9)}`:Math.random().toString(36).slice(2,9));let s=t.command,n=t.mode,{appConfig:i,...o}=e;if(!i)throw new Error(`appConfig is required. Import appConfig from src/config/app.ts and pass it to defineViteConfig({ appConfig, ... })
|
|
1229
|
+
Make sure the import statement in vite.config.ts is: import { appConfig } from "./src/config/app";`);if(typeof i!="object"||i===null)throw new Error(`appConfig must be an object, but got ${typeof i}. Make sure you are exporting appConfig from src/config/app.ts correctly.`);let a=i?.features?{debug:i.features.debug}:void 0,c=i?.seo&&typeof i.seo!="boolean"?{...i.seo,siteName:i.seo.siteName||i.app?.name}:i?.app?.name?{siteName:i.app.name}:void 0,{features:u,seo:f,...g}=o,p=i?.app?{name:i.app.name,shortName:i.app.shortName,description:i.app.description}:void 0,{pwa:m={},...N}=g,q={...m,app:m.app||p},H={...a?{features:a}:{},...c?{seo:c}:{},...Object.keys(q).length>0?{pwa:q}:{},...N,mode:n},$;try{$=es(H)}catch(we){throw new Error(`mergeOptions failed: ${we?.message||we||"Unknown error"}`)}let C;try{C=ts($)}catch(we){throw new Error(`normalizeOptions failed: ${we?.message||we||"Unknown error"}`)}if(!C)throw new Error("normalizeOptions returned undefined");let{mode:k,debug:I,verbose:D,isDev:E,isDebug:M,shouldAnalyze:L,serverOptions:ue,previewOptions:S,buildOverrides:A,resolveOptions:te,routeOptions:pt,themeOptions:fe,i18nOptions:xe,assetOptions:F,featureOptions:O,seoOptions:j,pwaOptions:Y,serverShimOptions:He,chunkingOptions:re,pluginFactoryOptions:Me,base:De,defineOptions:tt,optimizeDepsOptions:Kt,pluginsOptions:Qt,cssOptions:mt,envDir:Rt,restOptions:Zt}=C,Ve=z("vite-config",I,D);Ve.debug(`Mode: ${k}, Dev: ${E}`);let b=process.env.DNDEV_BUILD_ID,P;s==="build"?P=`Building for ${k}`:s==="serve"?P=`Development server (${k})`:s==="preview"?P=`Preview server (serving ${k} build)`:P=`Running ${s} (${k})`,Ve.info(`
|
|
1230
|
+
\u{1F3D7}\uFE0F DnDev Framework - ${P}${b?` [build:${b}]`:""}`),Ve.info(` Platform: Vite | Command: ${s} | Mode: ${k}
|
|
1231
|
+
`);let X=Mi({mode:k,debug:I,verbose:D,isDev:E,routes:pt,themes:fe,i18n:xe,assets:F,features:O,seo:j,pwa:Y,serverShim:He,chunkingOptions:re,pluginFactory:Me});if(!Array.isArray(X))throw new Error(`createVitePlugins returned ${typeof X}, expected array. Value: ${X}`);let Je=Yr({mode:k,chunkingOptions:re,debug:I,isDev:E,isDebug:M,shouldAnalyze:L}),ye=Kr(ue.port||3e3,ue,Ve),Gi=Qr(S);return{...De&&{base:De},plugins:[...X,...Qt],appType:"spa",assetsInclude:["**/*.woff","**/*.woff2","**/*.ttf","**/*.otf","**/*.eot"],...k==="production"&&{build:Je},...s==="serve"&&{server:ye},...s==="preview"&&{preview:Gi},...Rt&&{envDir:Rt},customLogger:k==="production"&&!I?(()=>{let we={hasWarned:!1,_shouldSuppress(ge){return ge.includes("dist/")||ge.includes("kB")||ge.includes("\u2502")||ge.includes("gzip:")||ge.includes("\u2713 built in")||ge.match(/built in \d+\.\d+s/)},info(ge){we._shouldSuppress(ge)},warn(ge){we._shouldSuppress(ge)},error(ge){},warnOnce(ge){we.hasWarned||(we.hasWarned=!0)},clearScreen(){},hasErrorLogged(){return!1}};return we})():void 0,css:{postcss:ss(mt),...mt},optimizeDeps:Bi(Kt),resolve:zi(te),define:{...tt,"process.env.NODE_ENV":JSON.stringify(n),__DEV__:JSON.stringify(E),__PROD__:JSON.stringify(!E)},...Zt}}catch(r){let s=r||new Error("Unknown error occurred"),n=s?.message||s?.toString()||String(s)||"Unknown error",i=s?.stack||"",o=new Error(`Failed to create Vite config: ${n}${i?`
|
|
1232
|
+
${i}`:""}`);throw o.stack=i||o.stack,o}}}export{tf as defineViteConfig};
|
|
1233
1233
|
/*! Bundled license information:
|
|
1234
1234
|
|
|
1235
1235
|
sharp/lib/is.js:
|