@stacksjs/env 0.69.3 → 0.70.0

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/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  // @bun
2
- var SO=Object.create;var{getPrototypeOf:gO,defineProperty:bq,getOwnPropertyNames:mO}=Object;var bO=Object.prototype.hasOwnProperty;var hO=(q,J,O)=>{O=q!=null?SO(gO(q)):{};let z=J||!q||!q.__esModule?bq(O,"default",{value:q,enumerable:!0}):O;for(let U of mO(q))if(!bO.call(z,U))bq(z,U,{get:()=>q[U],enumerable:!0});return z};var P=(q,J)=>()=>(J||q((J={exports:{}}).exports,J),J.exports);var N=import.meta.require;var M=P((iO)=>{iO.fromCallback=function(q){return Object.defineProperty(function(...J){if(typeof J[J.length-1]==="function")q.apply(this,J);else return new Promise((O,z)=>{J.push((U,X)=>U!=null?z(U):O(X)),q.apply(this,J)})},"name",{value:q.name})};iO.fromPromise=function(q){return Object.defineProperty(function(...J){let O=J[J.length-1];if(typeof O!=="function")return q.apply(this,J);else J.pop(),q.apply(this,J).then((z)=>O(null,z),O)},"name",{value:q.name})}});var iq=P((V4,hq)=>{var d=N("constants"),cO=process.cwd,Lq=null,fO=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!Lq)Lq=cO.call(process);return Lq};try{process.cwd()}catch(q){}if(typeof process.chdir==="function"){if(Rq=process.chdir,process.chdir=function(q){Lq=null,Rq.call(process,q)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,Rq)}var Rq;hq.exports=dO;function dO(q){if(d.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))J(q);if(!q.lutimes)O(q);if(q.chown=X(q.chown),q.fchown=X(q.fchown),q.lchown=X(q.lchown),q.chmod=z(q.chmod),q.fchmod=z(q.fchmod),q.lchmod=z(q.lchmod),q.chownSync=Y(q.chownSync),q.fchownSync=Y(q.fchownSync),q.lchownSync=Y(q.lchownSync),q.chmodSync=U(q.chmodSync),q.fchmodSync=U(q.fchmodSync),q.lchmodSync=U(q.lchmodSync),q.stat=K(q.stat),q.fstat=K(q.fstat),q.lstat=K(q.lstat),q.statSync=j(q.statSync),q.fstatSync=j(q.fstatSync),q.lstatSync=j(q.lstatSync),q.chmod&&!q.lchmod)q.lchmod=function(Z,V,H){if(H)process.nextTick(H)},q.lchmodSync=function(){};if(q.chown&&!q.lchown)q.lchown=function(Z,V,H,G){if(G)process.nextTick(G)},q.lchownSync=function(){};if(fO==="win32")q.rename=typeof q.rename!=="function"?q.rename:function(Z){function V(H,G,L){var C=Date.now(),w=0;Z(H,G,function R(i){if(i&&(i.code==="EACCES"||i.code==="EPERM"||i.code==="EBUSY")&&Date.now()-C<60000){if(setTimeout(function(){q.stat(G,function(S,Uq){if(S&&S.code==="ENOENT")Z(H,G,R);else L(i)})},w),w<100)w+=10;return}if(L)L(i)})}if(Object.setPrototypeOf)Object.setPrototypeOf(V,Z);return V}(q.rename);q.read=typeof q.read!=="function"?q.read:function(Z){function V(H,G,L,C,w,R){var i;if(R&&typeof R==="function"){var S=0;i=function(Uq,gq,mq){if(Uq&&Uq.code==="EAGAIN"&&S<10)return S++,Z.call(q,H,G,L,C,w,i);R.apply(this,arguments)}}return Z.call(q,H,G,L,C,w,i)}if(Object.setPrototypeOf)Object.setPrototypeOf(V,Z);return V}(q.read),q.readSync=typeof q.readSync!=="function"?q.readSync:function(Z){return function(V,H,G,L,C){var w=0;while(!0)try{return Z.call(q,V,H,G,L,C)}catch(R){if(R.code==="EAGAIN"&&w<10){w++;continue}throw R}}}(q.readSync);function J(Z){Z.lchmod=function(V,H,G){Z.open(V,d.O_WRONLY|d.O_SYMLINK,H,function(L,C){if(L){if(G)G(L);return}Z.fchmod(C,H,function(w){Z.close(C,function(R){if(G)G(w||R)})})})},Z.lchmodSync=function(V,H){var G=Z.openSync(V,d.O_WRONLY|d.O_SYMLINK,H),L=!0,C;try{C=Z.fchmodSync(G,H),L=!1}finally{if(L)try{Z.closeSync(G)}catch(w){}else Z.closeSync(G)}return C}}function O(Z){if(d.hasOwnProperty("O_SYMLINK")&&Z.futimes)Z.lutimes=function(V,H,G,L){Z.open(V,d.O_SYMLINK,function(C,w){if(C){if(L)L(C);return}Z.futimes(w,H,G,function(R){Z.close(w,function(i){if(L)L(R||i)})})})},Z.lutimesSync=function(V,H,G){var L=Z.openSync(V,d.O_SYMLINK),C,w=!0;try{C=Z.futimesSync(L,H,G),w=!1}finally{if(w)try{Z.closeSync(L)}catch(R){}else Z.closeSync(L)}return C};else if(Z.futimes)Z.lutimes=function(V,H,G,L){if(L)process.nextTick(L)},Z.lutimesSync=function(){}}function z(Z){if(!Z)return Z;return function(V,H,G){return Z.call(q,V,H,function(L){if(n(L))L=null;if(G)G.apply(this,arguments)})}}function U(Z){if(!Z)return Z;return function(V,H){try{return Z.call(q,V,H)}catch(G){if(!n(G))throw G}}}function X(Z){if(!Z)return Z;return function(V,H,G,L){return Z.call(q,V,H,G,function(C){if(n(C))C=null;if(L)L.apply(this,arguments)})}}function Y(Z){if(!Z)return Z;return function(V,H,G){try{return Z.call(q,V,H,G)}catch(L){if(!n(L))throw L}}}function K(Z){if(!Z)return Z;return function(V,H,G){if(typeof H==="function")G=H,H=null;function L(C,w){if(w){if(w.uid<0)w.uid+=4294967296;if(w.gid<0)w.gid+=4294967296}if(G)G.apply(this,arguments)}return H?Z.call(q,V,H,L):Z.call(q,V,L)}}function j(Z){if(!Z)return Z;return function(V,H){var G=H?Z.call(q,V,H):Z.call(q,V);if(G){if(G.uid<0)G.uid+=4294967296;if(G.gid<0)G.gid+=4294967296}return G}}function n(Z){if(!Z)return!0;if(Z.code==="ENOSYS")return!0;var V=!process.getuid||process.getuid()!==0;if(V){if(Z.code==="EINVAL"||Z.code==="EPERM")return!0}return!1}}});var cq=P((P4,pq)=>{var lq=N("stream").Stream;pq.exports=oO;function oO(q){return{ReadStream:J,WriteStream:O};function J(z,U){if(!(this instanceof J))return new J(z,U);lq.call(this);var X=this;this.path=z,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,U=U||{};var Y=Object.keys(U);for(var K=0,j=Y.length;K<j;K++){var n=Y[K];this[n]=U[n]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){X._read()});return}q.open(this.path,this.flags,this.mode,function(Z,V){if(Z){X.emit("error",Z),X.readable=!1;return}X.fd=V,X.emit("open",V),X._read()})}function O(z,U){if(!(this instanceof O))return new O(z,U);lq.call(this),this.path=z,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,U=U||{};var X=Object.keys(U);for(var Y=0,K=X.length;Y<K;Y++){var j=X[Y];this[j]=U[j]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=q.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var dq=P((A4,fq)=>{fq.exports=aO;var rO=Object.getPrototypeOf||function(q){return q.__proto__};function aO(q){if(q===null||typeof q!=="object")return q;if(q instanceof Object)var J={__proto__:rO(q)};else var J=Object.create(null);return Object.getOwnPropertyNames(q).forEach(function(O){Object.defineProperty(J,O,Object.getOwnPropertyDescriptor(q,O))}),J}});var qq=P((x4,Wq)=>{var y=N("fs"),eO=iq(),tO=cq(),sO=dq(),Eq=N("util"),u,Pq;if(typeof Symbol==="function"&&typeof Symbol.for==="function")u=Symbol.for("graceful-fs.queue"),Pq=Symbol.for("graceful-fs.previous");else u="___graceful-fs.queue",Pq="___graceful-fs.previous";function q0(){}function aq(q,J){Object.defineProperty(q,u,{get:function(){return J}})}var e=q0;if(Eq.debuglog)e=Eq.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))e=function(){var q=Eq.format.apply(Eq,arguments);q="GFS4: "+q.split(/\n/).join(`
3
- GFS4: `),console.error(q)};if(!y[u]){if(oq=global[u]||[],aq(y,oq),y.close=function(q){function J(O,z){return q.call(y,O,function(U){if(!U)rq();if(typeof z==="function")z.apply(this,arguments)})}return Object.defineProperty(J,Pq,{value:q}),J}(y.close),y.closeSync=function(q){function J(O){q.apply(y,arguments),rq()}return Object.defineProperty(J,Pq,{value:q}),J}(y.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){e(y[u]),N("assert").equal(y[u].length,0)})}var oq;if(!global[u])aq(global,y[u]);Wq.exports=Qq(sO(y));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!y.__patched)Wq.exports=Qq(y),y.__patched=!0;function Qq(q){eO(q),q.gracefulify=Qq,q.createReadStream=gq,q.createWriteStream=mq;var J=q.readFile;q.readFile=O;function O(_,x,A){if(typeof x==="function")A=x,x=null;return F(_,x,A);function F($,I,Q,W){return J($,I,function(B){if(B&&(B.code==="EMFILE"||B.code==="ENFILE"))s([F,[$,I,Q],B,W||Date.now(),Date.now()]);else if(typeof Q==="function")Q.apply(this,arguments)})}}var z=q.writeFile;q.writeFile=U;function U(_,x,A,F){if(typeof A==="function")F=A,A=null;return $(_,x,A,F);function $(I,Q,W,B,k){return z(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))s([$,[I,Q,W,B],D,k||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}var X=q.appendFile;if(X)q.appendFile=Y;function Y(_,x,A,F){if(typeof A==="function")F=A,A=null;return $(_,x,A,F);function $(I,Q,W,B,k){return X(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))s([$,[I,Q,W,B],D,k||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}var K=q.copyFile;if(K)q.copyFile=j;function j(_,x,A,F){if(typeof A==="function")F=A,A=0;return $(_,x,A,F);function $(I,Q,W,B,k){return K(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))s([$,[I,Q,W,B],D,k||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}var n=q.readdir;q.readdir=V;var Z=/^v[0-5]\./;function V(_,x,A){if(typeof x==="function")A=x,x=null;var F=Z.test(process.version)?function I(Q,W,B,k){return n(Q,$(Q,W,B,k))}:function I(Q,W,B,k){return n(Q,W,$(Q,W,B,k))};return F(_,x,A);function $(I,Q,W,B){return function(k,D){if(k&&(k.code==="EMFILE"||k.code==="ENFILE"))s([F,[I,Q,W],k,B||Date.now(),Date.now()]);else{if(D&&D.sort)D.sort();if(typeof W==="function")W.call(this,k,D)}}}}if(process.version.substr(0,4)==="v0.8"){var H=tO(q);R=H.ReadStream,S=H.WriteStream}var G=q.ReadStream;if(G)R.prototype=Object.create(G.prototype),R.prototype.open=i;var L=q.WriteStream;if(L)S.prototype=Object.create(L.prototype),S.prototype.open=Uq;Object.defineProperty(q,"ReadStream",{get:function(){return R},set:function(_){R=_},enumerable:!0,configurable:!0}),Object.defineProperty(q,"WriteStream",{get:function(){return S},set:function(_){S=_},enumerable:!0,configurable:!0});var C=R;Object.defineProperty(q,"FileReadStream",{get:function(){return C},set:function(_){C=_},enumerable:!0,configurable:!0});var w=S;Object.defineProperty(q,"FileWriteStream",{get:function(){return w},set:function(_){w=_},enumerable:!0,configurable:!0});function R(_,x){if(this instanceof R)return G.apply(this,arguments),this;else return R.apply(Object.create(R.prototype),arguments)}function i(){var _=this;jq(_.path,_.flags,_.mode,function(x,A){if(x){if(_.autoClose)_.destroy();_.emit("error",x)}else _.fd=A,_.emit("open",A),_.read()})}function S(_,x){if(this instanceof S)return L.apply(this,arguments),this;else return S.apply(Object.create(S.prototype),arguments)}function Uq(){var _=this;jq(_.path,_.flags,_.mode,function(x,A){if(x)_.destroy(),_.emit("error",x);else _.fd=A,_.emit("open",A)})}function gq(_,x){return new q.ReadStream(_,x)}function mq(_,x){return new q.WriteStream(_,x)}var vO=q.open;q.open=jq;function jq(_,x,A,F){if(typeof A==="function")F=A,A=null;return $(_,x,A,F);function $(I,Q,W,B,k){return vO(I,Q,W,function(D,H4){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))s([$,[I,Q,W,B],D,k||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}return q}function s(q){e("ENQUEUE",q[0].name,q[1]),y[u].push(q),yq()}var Vq;function rq(){var q=Date.now();for(var J=0;J<y[u].length;++J)if(y[u][J].length>2)y[u][J][3]=q,y[u][J][4]=q;yq()}function yq(){if(clearTimeout(Vq),Vq=void 0,y[u].length===0)return;var q=y[u].shift(),J=q[0],O=q[1],z=q[2],U=q[3],X=q[4];if(U===void 0)e("RETRY",J.name,O),J.apply(null,O);else if(Date.now()-U>=60000){e("TIMEOUT",J.name,O);var Y=O.pop();if(typeof Y==="function")Y.call(null,z)}else{var K=Date.now()-X,j=Math.max(X-U,1),n=Math.min(j*1.2,100);if(K>=n)e("RETRY",J.name,O),J.apply(null,O.concat([U]));else y[u].push(q)}if(Vq===void 0)Vq=setTimeout(yq,0)}});var m=P((Iq)=>{var eq=M().fromCallback,g=qq(),J0=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter((q)=>{return typeof g[q]==="function"});Object.assign(Iq,g);J0.forEach((q)=>{Iq[q]=eq(g[q])});Iq.exists=function(q,J){if(typeof J==="function")return g.exists(q,J);return new Promise((O)=>{return g.exists(q,O)})};Iq.read=function(q,J,O,z,U,X){if(typeof X==="function")return g.read(q,J,O,z,U,X);return new Promise((Y,K)=>{g.read(q,J,O,z,U,(j,n,Z)=>{if(j)return K(j);Y({bytesRead:n,buffer:Z})})})};Iq.write=function(q,J,...O){if(typeof O[O.length-1]==="function")return g.write(q,J,...O);return new Promise((z,U)=>{g.write(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesWritten:Y,buffer:K})})})};Iq.readv=function(q,J,...O){if(typeof O[O.length-1]==="function")return g.readv(q,J,...O);return new Promise((z,U)=>{g.readv(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesRead:Y,buffers:K})})})};Iq.writev=function(q,J,...O){if(typeof O[O.length-1]==="function")return g.writev(q,J,...O);return new Promise((z,U)=>{g.writev(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesWritten:Y,buffers:K})})})};if(typeof g.realpath.native==="function")Iq.realpath.native=eq(g.realpath.native);else process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var sq=P((G0,tq)=>{var Z0=N("path");G0.checkPath=function q(J){if(process.platform==="win32"){if(/[<>:"|?*]/.test(J.replace(Z0.parse(J).root,""))){let z=new Error(`Path contains invalid characters: ${J}`);throw z.code="EINVAL",z}}}});var zJ=P((_0,Nq)=>{var qJ=m(),{checkPath:JJ}=sq(),OJ=(q)=>{let J={mode:511};if(typeof q==="number")return q;return{...J,...q}.mode};_0.makeDir=async(q,J)=>{return JJ(q),qJ.mkdir(q,{mode:OJ(J),recursive:!0})};_0.makeDirSync=(q,J)=>{return JJ(q),qJ.mkdirSync(q,{mode:OJ(J),recursive:!0})}});var l=P((C4,UJ)=>{var E0=M().fromPromise,{makeDir:V0,makeDirSync:Mq}=zJ(),Tq=E0(V0);UJ.exports={mkdirs:Tq,mkdirsSync:Mq,mkdirp:Tq,mkdirpSync:Mq,ensureDir:Tq,ensureDirSync:Mq}});var o=P((D4,YJ)=>{var P0=M().fromPromise,XJ=m();function A0(q){return XJ.access(q).then(()=>!0).catch(()=>!1)}YJ.exports={pathExists:P0(A0),pathExistsSync:XJ.existsSync}});var Fq=P((j4,ZJ)=>{var Jq=m(),x0=M().fromPromise;async function w0(q,J,O){let z=await Jq.open(q,"r+"),U=null;try{await Jq.futimes(z,J,O)}finally{try{await Jq.close(z)}catch(X){U=X}}if(U)throw U}function B0(q,J,O){let z=Jq.openSync(q,"r+");return Jq.futimesSync(z,J,O),Jq.closeSync(z)}ZJ.exports={utimesMillis:x0(w0),utimesMillisSync:B0}});var t=P((R4,HJ)=>{var Oq=m(),T=N("path"),GJ=M().fromPromise;function C0(q,J,O){let z=O.dereference?(U)=>Oq.stat(U,{bigint:!0}):(U)=>Oq.lstat(U,{bigint:!0});return Promise.all([z(q),z(J).catch((U)=>{if(U.code==="ENOENT")return null;throw U})]).then(([U,X])=>({srcStat:U,destStat:X}))}function D0(q,J,O){let z,U=O.dereference?(Y)=>Oq.statSync(Y,{bigint:!0}):(Y)=>Oq.lstatSync(Y,{bigint:!0}),X=U(q);try{z=U(J)}catch(Y){if(Y.code==="ENOENT")return{srcStat:X,destStat:null};throw Y}return{srcStat:X,destStat:z}}async function j0(q,J,O,z){let{srcStat:U,destStat:X}=await C0(q,J,z);if(X){if(Xq(U,X)){let Y=T.basename(q),K=T.basename(J);if(O==="move"&&Y!==K&&Y.toLowerCase()===K.toLowerCase())return{srcStat:U,destStat:X,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(U.isDirectory()&&!X.isDirectory())throw new Error(`Cannot overwrite non-directory '${J}' with directory '${q}'.`);if(!U.isDirectory()&&X.isDirectory())throw new Error(`Cannot overwrite directory '${J}' with non-directory '${q}'.`)}if(U.isDirectory()&&$q(q,J))throw new Error(Aq(q,J,O));return{srcStat:U,destStat:X}}function R0(q,J,O,z){let{srcStat:U,destStat:X}=D0(q,J,z);if(X){if(Xq(U,X)){let Y=T.basename(q),K=T.basename(J);if(O==="move"&&Y!==K&&Y.toLowerCase()===K.toLowerCase())return{srcStat:U,destStat:X,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(U.isDirectory()&&!X.isDirectory())throw new Error(`Cannot overwrite non-directory '${J}' with directory '${q}'.`);if(!U.isDirectory()&&X.isDirectory())throw new Error(`Cannot overwrite directory '${J}' with non-directory '${q}'.`)}if(U.isDirectory()&&$q(q,J))throw new Error(Aq(q,J,O));return{srcStat:U,destStat:X}}async function KJ(q,J,O,z){let U=T.resolve(T.dirname(q)),X=T.resolve(T.dirname(O));if(X===U||X===T.parse(X).root)return;let Y;try{Y=await Oq.stat(X,{bigint:!0})}catch(K){if(K.code==="ENOENT")return;throw K}if(Xq(J,Y))throw new Error(Aq(q,O,z));return KJ(q,J,X,z)}function _J(q,J,O,z){let U=T.resolve(T.dirname(q)),X=T.resolve(T.dirname(O));if(X===U||X===T.parse(X).root)return;let Y;try{Y=Oq.statSync(X,{bigint:!0})}catch(K){if(K.code==="ENOENT")return;throw K}if(Xq(J,Y))throw new Error(Aq(q,O,z));return _J(q,J,X,z)}function Xq(q,J){return J.ino&&J.dev&&J.ino===q.ino&&J.dev===q.dev}function $q(q,J){let O=T.resolve(q).split(T.sep).filter((U)=>U),z=T.resolve(J).split(T.sep).filter((U)=>U);return O.every((U,X)=>z[X]===U)}function Aq(q,J,O){return`Cannot ${O} '${q}' to a subdirectory of itself, '${J}'.`}HJ.exports={checkPaths:GJ(j0),checkPathsSync:R0,checkParentPaths:GJ(KJ),checkParentPathsSync:_J,isSrcSubdir:$q,areIdentical:Xq}});var AJ=P((Q4,PJ)=>{var v=m(),Yq=N("path"),{mkdirs:Q0}=l(),{pathExists:y0}=o(),{utimesMillis:W0}=Fq(),Zq=t();async function I0(q,J,O={}){if(typeof O==="function")O={filter:O};if(O.clobber="clobber"in O?!!O.clobber:!0,O.overwrite="overwrite"in O?!!O.overwrite:O.clobber,O.preserveTimestamps&&process.arch==="ia32")process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
2
+ var gE=Object.create;var{getPrototypeOf:bE,defineProperty:iq,getOwnPropertyNames:iE}=Object;var hE=Object.prototype.hasOwnProperty;var lE=(q,n,E)=>{E=q!=null?gE(bE(q)):{};let y=n||!q||!q.__esModule?iq(E,"default",{value:q,enumerable:!0}):E;for(let J of iE(q))if(!hE.call(y,J))iq(y,J,{get:()=>q[J],enumerable:!0});return y};var X=(q,n)=>()=>(n||q((n={exports:{}}).exports,n),n.exports);var u=import.meta.require;var Q=X((pE)=>{pE.fromCallback=function(q){return Object.defineProperty(function(...n){if(typeof n[n.length-1]==="function")q.apply(this,n);else return new Promise((E,y)=>{n.push((J,O)=>J!=null?y(J):E(O)),q.apply(this,n)})},"name",{value:q.name})};pE.fromPromise=function(q){return Object.defineProperty(function(...n){let E=n[n.length-1];if(typeof E!=="function")return q.apply(this,n);else n.pop(),q.apply(this,n).then((y)=>E(null,y),E)},"name",{value:q.name})}});var lq=X((XO,hq)=>{var f=u("constants"),fE=process.cwd,Pq=null,dE=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!Pq)Pq=fE.call(process);return Pq};try{process.cwd()}catch(q){}if(typeof process.chdir==="function"){if(Aq=process.chdir,process.chdir=function(q){Pq=null,Aq.call(process,q)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,Aq)}var Aq;hq.exports=rE;function rE(q){if(f.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))n(q);if(!q.lutimes)E(q);if(q.chown=O(q.chown),q.fchown=O(q.fchown),q.lchown=O(q.lchown),q.chmod=y(q.chmod),q.fchmod=y(q.fchmod),q.lchmod=y(q.lchmod),q.chownSync=_(q.chownSync),q.fchownSync=_(q.fchownSync),q.lchownSync=_(q.lchownSync),q.chmodSync=J(q.chmodSync),q.fchmodSync=J(q.fchmodSync),q.lchmodSync=J(q.lchmodSync),q.stat=U(q.stat),q.fstat=U(q.fstat),q.lstat=U(q.lstat),q.statSync=j(q.statSync),q.fstatSync=j(q.fstatSync),q.lstatSync=j(q.lstatSync),q.chmod&&!q.lchmod)q.lchmod=function(V,A,L){if(L)process.nextTick(L)},q.lchmodSync=function(){};if(q.chown&&!q.lchown)q.lchown=function(V,A,L,K){if(K)process.nextTick(K)},q.lchownSync=function(){};if(dE==="win32")q.rename=typeof q.rename!=="function"?q.rename:function(V){function A(L,K,P){var N=Date.now(),C=0;V(L,K,function R(h){if(h&&(h.code==="EACCES"||h.code==="EPERM"||h.code==="EBUSY")&&Date.now()-N<60000){if(setTimeout(function(){q.stat(K,function(m,Jq){if(m&&m.code==="ENOENT")V(L,K,R);else P(h)})},C),C<100)C+=10;return}if(P)P(h)})}if(Object.setPrototypeOf)Object.setPrototypeOf(A,V);return A}(q.rename);q.read=typeof q.read!=="function"?q.read:function(V){function A(L,K,P,N,C,R){var h;if(R&&typeof R==="function"){var m=0;h=function(Jq,gq,bq){if(Jq&&Jq.code==="EAGAIN"&&m<10)return m++,V.call(q,L,K,P,N,C,h);R.apply(this,arguments)}}return V.call(q,L,K,P,N,C,h)}if(Object.setPrototypeOf)Object.setPrototypeOf(A,V);return A}(q.read),q.readSync=typeof q.readSync!=="function"?q.readSync:function(V){return function(A,L,K,P,N){var C=0;while(!0)try{return V.call(q,A,L,K,P,N)}catch(R){if(R.code==="EAGAIN"&&C<10){C++;continue}throw R}}}(q.readSync);function n(V){V.lchmod=function(A,L,K){V.open(A,f.O_WRONLY|f.O_SYMLINK,L,function(P,N){if(P){if(K)K(P);return}V.fchmod(N,L,function(C){V.close(N,function(R){if(K)K(C||R)})})})},V.lchmodSync=function(A,L){var K=V.openSync(A,f.O_WRONLY|f.O_SYMLINK,L),P=!0,N;try{N=V.fchmodSync(K,L),P=!1}finally{if(P)try{V.closeSync(K)}catch(C){}else V.closeSync(K)}return N}}function E(V){if(f.hasOwnProperty("O_SYMLINK")&&V.futimes)V.lutimes=function(A,L,K,P){V.open(A,f.O_SYMLINK,function(N,C){if(N){if(P)P(N);return}V.futimes(C,L,K,function(R){V.close(C,function(h){if(P)P(R||h)})})})},V.lutimesSync=function(A,L,K){var P=V.openSync(A,f.O_SYMLINK),N,C=!0;try{N=V.futimesSync(P,L,K),C=!1}finally{if(C)try{V.closeSync(P)}catch(R){}else V.closeSync(P)}return N};else if(V.futimes)V.lutimes=function(A,L,K,P){if(P)process.nextTick(P)},V.lutimesSync=function(){}}function y(V){if(!V)return V;return function(A,L,K){return V.call(q,A,L,function(P){if($(P))P=null;if(K)K.apply(this,arguments)})}}function J(V){if(!V)return V;return function(A,L){try{return V.call(q,A,L)}catch(K){if(!$(K))throw K}}}function O(V){if(!V)return V;return function(A,L,K,P){return V.call(q,A,L,K,function(N){if($(N))N=null;if(P)P.apply(this,arguments)})}}function _(V){if(!V)return V;return function(A,L,K){try{return V.call(q,A,L,K)}catch(P){if(!$(P))throw P}}}function U(V){if(!V)return V;return function(A,L,K){if(typeof L==="function")K=L,L=null;function P(N,C){if(C){if(C.uid<0)C.uid+=4294967296;if(C.gid<0)C.gid+=4294967296}if(K)K.apply(this,arguments)}return L?V.call(q,A,L,P):V.call(q,A,P)}}function j(V){if(!V)return V;return function(A,L){var K=L?V.call(q,A,L):V.call(q,A);if(K){if(K.uid<0)K.uid+=4294967296;if(K.gid<0)K.gid+=4294967296}return K}}function $(V){if(!V)return!0;if(V.code==="ENOSYS")return!0;var A=!process.getuid||process.getuid()!==0;if(A){if(V.code==="EINVAL"||V.code==="EPERM")return!0}return!1}}});var oq=X((YO,cq)=>{var pq=u("stream").Stream;cq.exports=aE;function aE(q){return{ReadStream:n,WriteStream:E};function n(y,J){if(!(this instanceof n))return new n(y,J);pq.call(this);var O=this;this.path=y,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,J=J||{};var _=Object.keys(J);for(var U=0,j=_.length;U<j;U++){var $=_[U];this[$]=J[$]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){O._read()});return}q.open(this.path,this.flags,this.mode,function(V,A){if(V){O.emit("error",V),O.readable=!1;return}O.fd=A,O.emit("open",A),O._read()})}function E(y,J){if(!(this instanceof E))return new E(y,J);pq.call(this),this.path=y,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,J=J||{};var O=Object.keys(J);for(var _=0,U=O.length;_<U;_++){var j=O[_];this[j]=J[j]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=q.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var dq=X((ZO,fq)=>{fq.exports=tE;var eE=Object.getPrototypeOf||function(q){return q.__proto__};function tE(q){if(q===null||typeof q!=="object")return q;if(q instanceof Object)var n={__proto__:eE(q)};else var n=Object.create(null);return Object.getOwnPropertyNames(q).forEach(function(E){Object.defineProperty(n,E,Object.getOwnPropertyDescriptor(q,E))}),n}});var qq=X((CO,Iq)=>{var B=u("fs"),sE=lq(),qy=oq(),ny=dq(),Gq=u("util"),F,Yq;if(typeof Symbol==="function"&&typeof Symbol.for==="function")F=Symbol.for("graceful-fs.queue"),Yq=Symbol.for("graceful-fs.previous");else F="___graceful-fs.queue",Yq="___graceful-fs.previous";function Ey(){}function aq(q,n){Object.defineProperty(q,F,{get:function(){return n}})}var e=Ey;if(Gq.debuglog)e=Gq.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))e=function(){var q=Gq.format.apply(Gq,arguments);q="GFS4: "+q.split(/\n/).join(`
3
+ GFS4: `),console.error(q)};if(!B[F]){if(wq=global[F]||[],aq(B,wq),B.close=function(q){function n(E,y){return q.call(B,E,function(J){if(!J)rq();if(typeof y==="function")y.apply(this,arguments)})}return Object.defineProperty(n,Yq,{value:q}),n}(B.close),B.closeSync=function(q){function n(E){q.apply(B,arguments),rq()}return Object.defineProperty(n,Yq,{value:q}),n}(B.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){e(B[F]),u("assert").equal(B[F].length,0)})}var wq;if(!global[F])aq(global,B[F]);Iq.exports=Bq(ny(B));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!B.__patched)Iq.exports=Bq(B),B.__patched=!0;function Bq(q){sE(q),q.gracefulify=Bq,q.createReadStream=gq,q.createWriteStream=bq;var n=q.readFile;q.readFile=E;function E(z,Z,Y){if(typeof Z==="function")Y=Z,Z=null;return M(z,Z,Y);function M(T,I,w,D){return n(T,I,function(H){if(H&&(H.code==="EMFILE"||H.code==="ENFILE"))s([M,[T,I,w],H,D||Date.now(),Date.now()]);else if(typeof w==="function")w.apply(this,arguments)})}}var y=q.writeFile;q.writeFile=J;function J(z,Z,Y,M){if(typeof Y==="function")M=Y,Y=null;return T(z,Z,Y,M);function T(I,w,D,H,k){return y(I,w,D,function(x){if(x&&(x.code==="EMFILE"||x.code==="ENFILE"))s([T,[I,w,D,H],x,k||Date.now(),Date.now()]);else if(typeof H==="function")H.apply(this,arguments)})}}var O=q.appendFile;if(O)q.appendFile=_;function _(z,Z,Y,M){if(typeof Y==="function")M=Y,Y=null;return T(z,Z,Y,M);function T(I,w,D,H,k){return O(I,w,D,function(x){if(x&&(x.code==="EMFILE"||x.code==="ENFILE"))s([T,[I,w,D,H],x,k||Date.now(),Date.now()]);else if(typeof H==="function")H.apply(this,arguments)})}}var U=q.copyFile;if(U)q.copyFile=j;function j(z,Z,Y,M){if(typeof Y==="function")M=Y,Y=0;return T(z,Z,Y,M);function T(I,w,D,H,k){return U(I,w,D,function(x){if(x&&(x.code==="EMFILE"||x.code==="ENFILE"))s([T,[I,w,D,H],x,k||Date.now(),Date.now()]);else if(typeof H==="function")H.apply(this,arguments)})}}var $=q.readdir;q.readdir=A;var V=/^v[0-5]\./;function A(z,Z,Y){if(typeof Z==="function")Y=Z,Z=null;var M=V.test(process.version)?function I(w,D,H,k){return $(w,T(w,D,H,k))}:function I(w,D,H,k){return $(w,D,T(w,D,H,k))};return M(z,Z,Y);function T(I,w,D,H){return function(k,x){if(k&&(k.code==="EMFILE"||k.code==="ENFILE"))s([M,[I,w,D],k,H||Date.now(),Date.now()]);else{if(x&&x.sort)x.sort();if(typeof D==="function")D.call(this,k,x)}}}}if(process.version.substr(0,4)==="v0.8"){var L=qy(q);R=L.ReadStream,m=L.WriteStream}var K=q.ReadStream;if(K)R.prototype=Object.create(K.prototype),R.prototype.open=h;var P=q.WriteStream;if(P)m.prototype=Object.create(P.prototype),m.prototype.open=Jq;Object.defineProperty(q,"ReadStream",{get:function(){return R},set:function(z){R=z},enumerable:!0,configurable:!0}),Object.defineProperty(q,"WriteStream",{get:function(){return m},set:function(z){m=z},enumerable:!0,configurable:!0});var N=R;Object.defineProperty(q,"FileReadStream",{get:function(){return N},set:function(z){N=z},enumerable:!0,configurable:!0});var C=m;Object.defineProperty(q,"FileWriteStream",{get:function(){return C},set:function(z){C=z},enumerable:!0,configurable:!0});function R(z,Z){if(this instanceof R)return K.apply(this,arguments),this;else return R.apply(Object.create(R.prototype),arguments)}function h(){var z=this;Rq(z.path,z.flags,z.mode,function(Z,Y){if(Z){if(z.autoClose)z.destroy();z.emit("error",Z)}else z.fd=Y,z.emit("open",Y),z.read()})}function m(z,Z){if(this instanceof m)return P.apply(this,arguments),this;else return m.apply(Object.create(m.prototype),arguments)}function Jq(){var z=this;Rq(z.path,z.flags,z.mode,function(Z,Y){if(Z)z.destroy(),z.emit("error",Z);else z.fd=Y,z.emit("open",Y)})}function gq(z,Z){return new q.ReadStream(z,Z)}function bq(z,Z){return new q.WriteStream(z,Z)}var SE=q.open;q.open=Rq;function Rq(z,Z,Y,M){if(typeof Y==="function")M=Y,Y=null;return T(z,Z,Y,M);function T(I,w,D,H,k){return SE(I,w,D,function(x,PO){if(x&&(x.code==="EMFILE"||x.code==="ENFILE"))s([T,[I,w,D,H],x,k||Date.now(),Date.now()]);else if(typeof H==="function")H.apply(this,arguments)})}}return q}function s(q){e("ENQUEUE",q[0].name,q[1]),B[F].push(q),Dq()}var Xq;function rq(){var q=Date.now();for(var n=0;n<B[F].length;++n)if(B[F][n].length>2)B[F][n][3]=q,B[F][n][4]=q;Dq()}function Dq(){if(clearTimeout(Xq),Xq=void 0,B[F].length===0)return;var q=B[F].shift(),n=q[0],E=q[1],y=q[2],J=q[3],O=q[4];if(J===void 0)e("RETRY",n.name,E),n.apply(null,E);else if(Date.now()-J>=60000){e("TIMEOUT",n.name,E);var _=E.pop();if(typeof _==="function")_.call(null,y)}else{var U=Date.now()-O,j=Math.max(O-J,1),$=Math.min(j*1.2,100);if(U>=$)e("RETRY",n.name,E),n.apply(null,E.concat([J]));else B[F].push(q)}if(Xq===void 0)Xq=setTimeout(Dq,0)}});var g=X((uq)=>{var eq=Q().fromCallback,S=qq(),yy=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter((q)=>{return typeof S[q]==="function"});Object.assign(uq,S);yy.forEach((q)=>{uq[q]=eq(S[q])});uq.exists=function(q,n){if(typeof n==="function")return S.exists(q,n);return new Promise((E)=>{return S.exists(q,E)})};uq.read=function(q,n,E,y,J,O){if(typeof O==="function")return S.read(q,n,E,y,J,O);return new Promise((_,U)=>{S.read(q,n,E,y,J,(j,$,V)=>{if(j)return U(j);_({bytesRead:$,buffer:V})})})};uq.write=function(q,n,...E){if(typeof E[E.length-1]==="function")return S.write(q,n,...E);return new Promise((y,J)=>{S.write(q,n,...E,(O,_,U)=>{if(O)return J(O);y({bytesWritten:_,buffer:U})})})};uq.readv=function(q,n,...E){if(typeof E[E.length-1]==="function")return S.readv(q,n,...E);return new Promise((y,J)=>{S.readv(q,n,...E,(O,_,U)=>{if(O)return J(O);y({bytesRead:_,buffers:U})})})};uq.writev=function(q,n,...E){if(typeof E[E.length-1]==="function")return S.writev(q,n,...E);return new Promise((y,J)=>{S.writev(q,n,...E,(O,_,U)=>{if(O)return J(O);y({bytesWritten:_,buffers:U})})})};if(typeof S.realpath.native==="function")uq.realpath.native=eq(S.realpath.native);else process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var sq=X((zy,tq)=>{var Uy=u("path");zy.checkPath=function q(n){if(process.platform==="win32"){if(/[<>:"|?*]/.test(n.replace(Uy.parse(n).root,""))){let y=new Error(`Path contains invalid characters: ${n}`);throw y.code="EINVAL",y}}}});var yn=X((Py,Qq)=>{var qn=g(),{checkPath:nn}=sq(),En=(q)=>{let n={mode:511};if(typeof q==="number")return q;return{...n,...q}.mode};Py.makeDir=async(q,n)=>{return nn(q),qn.mkdir(q,{mode:En(n),recursive:!0})};Py.makeDirSync=(q,n)=>{return nn(q),qn.mkdirSync(q,{mode:En(n),recursive:!0})}});var l=X((xO,Jn)=>{var Xy=Q().fromPromise,{makeDir:Yy,makeDirSync:Wq}=yn(),Mq=Xy(Yy);Jn.exports={mkdirs:Mq,mkdirsSync:Wq,mkdirp:Mq,mkdirpSync:Wq,ensureDir:Mq,ensureDirSync:Wq}});var d=X((jO,_n)=>{var Zy=Q().fromPromise,On=g();function Cy(q){return On.access(q).then(()=>!0).catch(()=>!1)}_n.exports={pathExists:Zy(Cy),pathExistsSync:On.existsSync}});var Tq=X((RO,Vn)=>{var nq=g(),Hy=Q().fromPromise;async function Ny(q,n,E){let y=await nq.open(q,"r+"),J=null;try{await nq.futimes(y,n,E)}finally{try{await nq.close(y)}catch(O){J=O}}if(J)throw J}function xy(q,n,E){let y=nq.openSync(q,"r+");return nq.futimesSync(y,n,E),nq.closeSync(y)}Vn.exports={utimesMillis:Hy(Ny),utimesMillisSync:xy}});var t=X((wO,Ln)=>{var Eq=g(),W=u("path"),Kn=Q().fromPromise;function jy(q,n,E){let y=E.dereference?(J)=>Eq.stat(J,{bigint:!0}):(J)=>Eq.lstat(J,{bigint:!0});return Promise.all([y(q),y(n).catch((J)=>{if(J.code==="ENOENT")return null;throw J})]).then(([J,O])=>({srcStat:J,destStat:O}))}function Ry(q,n,E){let y,J=E.dereference?(_)=>Eq.statSync(_,{bigint:!0}):(_)=>Eq.lstatSync(_,{bigint:!0}),O=J(q);try{y=J(n)}catch(_){if(_.code==="ENOENT")return{srcStat:O,destStat:null};throw _}return{srcStat:O,destStat:y}}async function wy(q,n,E,y){let{srcStat:J,destStat:O}=await jy(q,n,y);if(O){if(Oq(J,O)){let _=W.basename(q),U=W.basename(n);if(E==="move"&&_!==U&&_.toLowerCase()===U.toLowerCase())return{srcStat:J,destStat:O,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(J.isDirectory()&&!O.isDirectory())throw new Error(`Cannot overwrite non-directory '${n}' with directory '${q}'.`);if(!J.isDirectory()&&O.isDirectory())throw new Error(`Cannot overwrite directory '${n}' with non-directory '${q}'.`)}if(J.isDirectory()&&kq(q,n))throw new Error(Zq(q,n,E));return{srcStat:J,destStat:O}}function By(q,n,E,y){let{srcStat:J,destStat:O}=Ry(q,n,y);if(O){if(Oq(J,O)){let _=W.basename(q),U=W.basename(n);if(E==="move"&&_!==U&&_.toLowerCase()===U.toLowerCase())return{srcStat:J,destStat:O,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(J.isDirectory()&&!O.isDirectory())throw new Error(`Cannot overwrite non-directory '${n}' with directory '${q}'.`);if(!J.isDirectory()&&O.isDirectory())throw new Error(`Cannot overwrite directory '${n}' with non-directory '${q}'.`)}if(J.isDirectory()&&kq(q,n))throw new Error(Zq(q,n,E));return{srcStat:J,destStat:O}}async function Un(q,n,E,y){let J=W.resolve(W.dirname(q)),O=W.resolve(W.dirname(E));if(O===J||O===W.parse(O).root)return;let _;try{_=await Eq.stat(O,{bigint:!0})}catch(U){if(U.code==="ENOENT")return;throw U}if(Oq(n,_))throw new Error(Zq(q,E,y));return Un(q,n,O,y)}function zn(q,n,E,y){let J=W.resolve(W.dirname(q)),O=W.resolve(W.dirname(E));if(O===J||O===W.parse(O).root)return;let _;try{_=Eq.statSync(O,{bigint:!0})}catch(U){if(U.code==="ENOENT")return;throw U}if(Oq(n,_))throw new Error(Zq(q,E,y));return zn(q,n,O,y)}function Oq(q,n){return n.ino&&n.dev&&n.ino===q.ino&&n.dev===q.dev}function kq(q,n){let E=W.resolve(q).split(W.sep).filter((J)=>J),y=W.resolve(n).split(W.sep).filter((J)=>J);return E.every((J,O)=>y[O]===J)}function Zq(q,n,E){return`Cannot ${E} '${q}' to a subdirectory of itself, '${n}'.`}Ln.exports={checkPaths:Kn(wy),checkPathsSync:By,checkParentPaths:Kn(Un),checkParentPathsSync:zn,isSrcSubdir:kq,areIdentical:Oq}});var Yn=X((BO,Xn)=>{var v=g(),_q=u("path"),{mkdirs:Dy}=l(),{pathExists:Iy}=d(),{utimesMillis:uy}=Tq(),Vq=t();async function Qy(q,n,E={}){if(typeof E==="function")E={filter:E};if(E.clobber="clobber"in E?!!E.clobber:!0,E.overwrite="overwrite"in E?!!E.overwrite:E.clobber,E.preserveTimestamps&&process.arch==="ia32")process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
4
4
 
5
- see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:z,destStat:U}=await Zq.checkPaths(q,J,"copy",O);if(await Zq.checkParentPaths(q,z,J,"copy"),!await EJ(q,J,O))return;let Y=Yq.dirname(J);if(!await y0(Y))await Q0(Y);await VJ(U,q,J,O)}async function EJ(q,J,O){if(!O.filter)return!0;return O.filter(q,J)}async function VJ(q,J,O,z){let X=await(z.dereference?v.stat:v.lstat)(J);if(X.isDirectory())return F0(X,q,J,O,z);if(X.isFile()||X.isCharacterDevice()||X.isBlockDevice())return N0(X,q,J,O,z);if(X.isSymbolicLink())return $0(q,J,O,z);if(X.isSocket())throw new Error(`Cannot copy a socket file: ${J}`);if(X.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${J}`);throw new Error(`Unknown file: ${J}`)}async function N0(q,J,O,z,U){if(!J)return LJ(q,O,z,U);if(U.overwrite)return await v.unlink(z),LJ(q,O,z,U);if(U.errorOnExist)throw new Error(`'${z}' already exists`)}async function LJ(q,J,O,z){if(await v.copyFile(J,O),z.preserveTimestamps){if(M0(q.mode))await T0(O,q.mode);let U=await v.stat(J);await W0(O,U.atime,U.mtime)}return v.chmod(O,q.mode)}function M0(q){return(q&128)===0}function T0(q,J){return v.chmod(q,J|128)}async function F0(q,J,O,z,U){if(!J)await v.mkdir(z);let X=[];for await(let Y of await v.opendir(O)){let K=Yq.join(O,Y.name),j=Yq.join(z,Y.name);X.push(EJ(K,j,U).then((n)=>{if(n)return Zq.checkPaths(K,j,"copy",U).then(({destStat:Z})=>{return VJ(Z,K,j,U)})}))}if(await Promise.all(X),!J)await v.chmod(z,q.mode)}async function $0(q,J,O,z){let U=await v.readlink(J);if(z.dereference)U=Yq.resolve(process.cwd(),U);if(!q)return v.symlink(U,O);let X=null;try{X=await v.readlink(O)}catch(Y){if(Y.code==="EINVAL"||Y.code==="UNKNOWN")return v.symlink(U,O);throw Y}if(z.dereference)X=Yq.resolve(process.cwd(),X);if(Zq.isSrcSubdir(U,X))throw new Error(`Cannot copy '${U}' to a subdirectory of itself, '${X}'.`);if(Zq.isSrcSubdir(X,U))throw new Error(`Cannot overwrite '${X}' with '${U}'.`);return await v.unlink(O),v.symlink(U,O)}PJ.exports=I0});var DJ=P((y4,CJ)=>{var b=qq(),Gq=N("path"),k0=l().mkdirsSync,u0=Fq().utimesMillisSync,Kq=t();function n0(q,J,O){if(typeof O==="function")O={filter:O};if(O=O||{},O.clobber="clobber"in O?!!O.clobber:!0,O.overwrite="overwrite"in O?!!O.overwrite:O.clobber,O.preserveTimestamps&&process.arch==="ia32")process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
5
+ see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:y,destStat:J}=await Vq.checkPaths(q,n,"copy",E);if(await Vq.checkParentPaths(q,y,n,"copy"),!await An(q,n,E))return;let _=_q.dirname(n);if(!await Iy(_))await Dy(_);await Gn(J,q,n,E)}async function An(q,n,E){if(!E.filter)return!0;return E.filter(q,n)}async function Gn(q,n,E,y){let O=await(y.dereference?v.stat:v.lstat)(n);if(O.isDirectory())return ky(O,q,n,E,y);if(O.isFile()||O.isCharacterDevice()||O.isBlockDevice())return Wy(O,q,n,E,y);if(O.isSymbolicLink())return Fy(q,n,E,y);if(O.isSocket())throw new Error(`Cannot copy a socket file: ${n}`);if(O.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${n}`);throw new Error(`Unknown file: ${n}`)}async function Wy(q,n,E,y,J){if(!n)return Pn(q,E,y,J);if(J.overwrite)return await v.unlink(y),Pn(q,E,y,J);if(J.errorOnExist)throw new Error(`'${y}' already exists`)}async function Pn(q,n,E,y){if(await v.copyFile(n,E),y.preserveTimestamps){if(My(q.mode))await Ty(E,q.mode);let J=await v.stat(n);await uy(E,J.atime,J.mtime)}return v.chmod(E,q.mode)}function My(q){return(q&128)===0}function Ty(q,n){return v.chmod(q,n|128)}async function ky(q,n,E,y,J){if(!n)await v.mkdir(y);let O=[];for await(let _ of await v.opendir(E)){let U=_q.join(E,_.name),j=_q.join(y,_.name);O.push(An(U,j,J).then(($)=>{if($)return Vq.checkPaths(U,j,"copy",J).then(({destStat:V})=>{return Gn(V,U,j,J)})}))}if(await Promise.all(O),!n)await v.chmod(y,q.mode)}async function Fy(q,n,E,y){let J=await v.readlink(n);if(y.dereference)J=_q.resolve(process.cwd(),J);if(!q)return v.symlink(J,E);let O=null;try{O=await v.readlink(E)}catch(_){if(_.code==="EINVAL"||_.code==="UNKNOWN")return v.symlink(J,E);throw _}if(y.dereference)O=_q.resolve(process.cwd(),O);if(Vq.isSrcSubdir(J,O))throw new Error(`Cannot copy '${J}' to a subdirectory of itself, '${O}'.`);if(Vq.isSrcSubdir(O,J))throw new Error(`Cannot overwrite '${O}' with '${J}'.`);return await v.unlink(E),v.symlink(J,E)}Xn.exports=Qy});var xn=X((DO,Nn)=>{var b=qq(),Kq=u("path"),$y=l().mkdirsSync,vy=Tq().utimesMillisSync,Uq=t();function my(q,n,E){if(typeof E==="function")E={filter:E};if(E=E||{},E.clobber="clobber"in E?!!E.clobber:!0,E.overwrite="overwrite"in E?!!E.overwrite:E.clobber,E.preserveTimestamps&&process.arch==="ia32")process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
6
6
 
7
- see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:z,destStat:U}=Kq.checkPathsSync(q,J,"copy",O);if(Kq.checkParentPathsSync(q,z,J,"copy"),O.filter&&!O.filter(q,J))return;let X=Gq.dirname(J);if(!b.existsSync(X))k0(X);return xJ(U,q,J,O)}function xJ(q,J,O,z){let X=(z.dereference?b.statSync:b.lstatSync)(J);if(X.isDirectory())return i0(X,q,J,O,z);else if(X.isFile()||X.isCharacterDevice()||X.isBlockDevice())return v0(X,q,J,O,z);else if(X.isSymbolicLink())return c0(q,J,O,z);else if(X.isSocket())throw new Error(`Cannot copy a socket file: ${J}`);else if(X.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${J}`);throw new Error(`Unknown file: ${J}`)}function v0(q,J,O,z,U){if(!J)return wJ(q,O,z,U);return S0(q,O,z,U)}function S0(q,J,O,z){if(z.overwrite)return b.unlinkSync(O),wJ(q,J,O,z);else if(z.errorOnExist)throw new Error(`'${O}' already exists`)}function wJ(q,J,O,z){if(b.copyFileSync(J,O),z.preserveTimestamps)g0(q.mode,J,O);return kq(O,q.mode)}function g0(q,J,O){if(m0(q))b0(O,q);return h0(J,O)}function m0(q){return(q&128)===0}function b0(q,J){return kq(q,J|128)}function kq(q,J){return b.chmodSync(q,J)}function h0(q,J){let O=b.statSync(q);return u0(J,O.atime,O.mtime)}function i0(q,J,O,z,U){if(!J)return l0(q.mode,O,z,U);return BJ(O,z,U)}function l0(q,J,O,z){return b.mkdirSync(O),BJ(J,O,z),kq(O,q)}function BJ(q,J,O){let z=b.opendirSync(q);try{let U;while((U=z.readSync())!==null)p0(U.name,q,J,O)}finally{z.closeSync()}}function p0(q,J,O,z){let U=Gq.join(J,q),X=Gq.join(O,q);if(z.filter&&!z.filter(U,X))return;let{destStat:Y}=Kq.checkPathsSync(U,X,"copy",z);return xJ(Y,U,X,z)}function c0(q,J,O,z){let U=b.readlinkSync(J);if(z.dereference)U=Gq.resolve(process.cwd(),U);if(!q)return b.symlinkSync(U,O);else{let X;try{X=b.readlinkSync(O)}catch(Y){if(Y.code==="EINVAL"||Y.code==="UNKNOWN")return b.symlinkSync(U,O);throw Y}if(z.dereference)X=Gq.resolve(process.cwd(),X);if(Kq.isSrcSubdir(U,X))throw new Error(`Cannot copy '${U}' to a subdirectory of itself, '${X}'.`);if(Kq.isSrcSubdir(X,U))throw new Error(`Cannot overwrite '${X}' with '${U}'.`);return f0(U,O)}}function f0(q,J){return b.unlinkSync(J),b.symlinkSync(q,J)}CJ.exports=n0});var xq=P((W4,jJ)=>{var d0=M().fromPromise;jJ.exports={copy:d0(AJ()),copySync:DJ()}});var _q=P((I4,QJ)=>{var RJ=qq(),o0=M().fromCallback;function r0(q,J){RJ.rm(q,{recursive:!0,force:!0},J)}function a0(q){RJ.rmSync(q,{recursive:!0,force:!0})}QJ.exports={remove:o0(r0),removeSync:a0}});var $J=P((N4,FJ)=>{var e0=M().fromPromise,IJ=m(),NJ=N("path"),MJ=l(),TJ=_q(),yJ=e0(async function q(J){let O;try{O=await IJ.readdir(J)}catch{return MJ.mkdirs(J)}return Promise.all(O.map((z)=>TJ.remove(NJ.join(J,z))))});function WJ(q){let J;try{J=IJ.readdirSync(q)}catch{return MJ.mkdirsSync(q)}J.forEach((O)=>{O=NJ.join(q,O),TJ.removeSync(O)})}FJ.exports={emptyDirSync:WJ,emptydirSync:WJ,emptyDir:yJ,emptydir:yJ}});var vJ=P((M4,nJ)=>{var t0=M().fromPromise,kJ=N("path"),c=m(),uJ=l();async function s0(q){let J;try{J=await c.stat(q)}catch{}if(J&&J.isFile())return;let O=kJ.dirname(q),z=null;try{z=await c.stat(O)}catch(U){if(U.code==="ENOENT"){await uJ.mkdirs(O),await c.writeFile(q,"");return}else throw U}if(z.isDirectory())await c.writeFile(q,"");else await c.readdir(O)}function q6(q){let J;try{J=c.statSync(q)}catch{}if(J&&J.isFile())return;let O=kJ.dirname(q);try{if(!c.statSync(O).isDirectory())c.readdirSync(O)}catch(z){if(z&&z.code==="ENOENT")uJ.mkdirsSync(O);else throw z}c.writeFileSync(q,"")}nJ.exports={createFile:t0(s0),createFileSync:q6}});var hJ=P((T4,bJ)=>{var J6=M().fromPromise,SJ=N("path"),r=m(),gJ=l(),{pathExists:O6}=o(),{areIdentical:mJ}=t();async function z6(q,J){let O;try{O=await r.lstat(J)}catch{}let z;try{z=await r.lstat(q)}catch(Y){throw Y.message=Y.message.replace("lstat","ensureLink"),Y}if(O&&mJ(z,O))return;let U=SJ.dirname(J);if(!await O6(U))await gJ.mkdirs(U);await r.link(q,J)}function U6(q,J){let O;try{O=r.lstatSync(J)}catch{}try{let X=r.lstatSync(q);if(O&&mJ(X,O))return}catch(X){throw X.message=X.message.replace("lstat","ensureLink"),X}let z=SJ.dirname(J);if(r.existsSync(z))return r.linkSync(q,J);return gJ.mkdirsSync(z),r.linkSync(q,J)}bJ.exports={createLink:J6(z6),createLinkSync:U6}});var lJ=P((F4,iJ)=>{var a=N("path"),Hq=m(),{pathExists:X6}=o(),Y6=M().fromPromise;async function Z6(q,J){if(a.isAbsolute(q)){try{await Hq.lstat(q)}catch(X){throw X.message=X.message.replace("lstat","ensureSymlink"),X}return{toCwd:q,toDst:q}}let O=a.dirname(J),z=a.join(O,q);if(await X6(z))return{toCwd:z,toDst:q};try{await Hq.lstat(q)}catch(X){throw X.message=X.message.replace("lstat","ensureSymlink"),X}return{toCwd:q,toDst:a.relative(O,q)}}function G6(q,J){if(a.isAbsolute(q)){if(!Hq.existsSync(q))throw new Error("absolute srcpath does not exist");return{toCwd:q,toDst:q}}let O=a.dirname(J),z=a.join(O,q);if(Hq.existsSync(z))return{toCwd:z,toDst:q};if(!Hq.existsSync(q))throw new Error("relative srcpath does not exist");return{toCwd:q,toDst:a.relative(O,q)}}iJ.exports={symlinkPaths:Y6(Z6),symlinkPathsSync:G6}});var fJ=P(($4,cJ)=>{var pJ=m(),K6=M().fromPromise;async function _6(q,J){if(J)return J;let O;try{O=await pJ.lstat(q)}catch{return"file"}return O&&O.isDirectory()?"dir":"file"}function H6(q,J){if(J)return J;let O;try{O=pJ.lstatSync(q)}catch{return"file"}return O&&O.isDirectory()?"dir":"file"}cJ.exports={symlinkType:K6(_6),symlinkTypeSync:H6}});var aJ=P((k4,rJ)=>{var L6=M().fromPromise,dJ=N("path"),p=m(),{mkdirs:E6,mkdirsSync:V6}=l(),{symlinkPaths:P6,symlinkPathsSync:A6}=lJ(),{symlinkType:x6,symlinkTypeSync:w6}=fJ(),{pathExists:B6}=o(),{areIdentical:oJ}=t();async function C6(q,J,O){let z;try{z=await p.lstat(J)}catch{}if(z&&z.isSymbolicLink()){let[K,j]=await Promise.all([p.stat(q),p.stat(J)]);if(oJ(K,j))return}let U=await P6(q,J);q=U.toDst;let X=await x6(U.toCwd,O),Y=dJ.dirname(J);if(!await B6(Y))await E6(Y);return p.symlink(q,J,X)}function D6(q,J,O){let z;try{z=p.lstatSync(J)}catch{}if(z&&z.isSymbolicLink()){let K=p.statSync(q),j=p.statSync(J);if(oJ(K,j))return}let U=A6(q,J);q=U.toDst,O=w6(U.toCwd,O);let X=dJ.dirname(J);if(p.existsSync(X))return p.symlinkSync(q,J,O);return V6(X),p.symlinkSync(q,J,O)}rJ.exports={createSymlink:L6(C6),createSymlinkSync:D6}});var UO=P((u4,zO)=>{var{createFile:eJ,createFileSync:tJ}=vJ(),{createLink:sJ,createLinkSync:qO}=hJ(),{createSymlink:JO,createSymlinkSync:OO}=aJ();zO.exports={createFile:eJ,createFileSync:tJ,ensureFile:eJ,ensureFileSync:tJ,createLink:sJ,createLinkSync:qO,ensureLink:sJ,ensureLinkSync:qO,createSymlink:JO,createSymlinkSync:OO,ensureSymlink:JO,ensureSymlinkSync:OO}});var wq=P((n4,XO)=>{function j6(q,{EOL:J=`
8
- `,finalEOL:O=!0,replacer:z=null,spaces:U}={}){let X=O?J:"";return JSON.stringify(q,z,U).replace(/\n/g,J)+X}function R6(q){if(Buffer.isBuffer(q))q=q.toString("utf8");return q.replace(/^\uFEFF/,"")}XO.exports={stringify:j6,stripBom:R6}});var KO=P((v4,GO)=>{var zq;try{zq=qq()}catch(q){zq=N("fs")}var Bq=M(),{stringify:YO,stripBom:ZO}=wq();async function Q6(q,J={}){if(typeof J==="string")J={encoding:J};let O=J.fs||zq,z="throws"in J?J.throws:!0,U=await Bq.fromCallback(O.readFile)(q,J);U=ZO(U);let X;try{X=JSON.parse(U,J?J.reviver:null)}catch(Y){if(z)throw Y.message=`${q}: ${Y.message}`,Y;else return null}return X}var y6=Bq.fromPromise(Q6);function W6(q,J={}){if(typeof J==="string")J={encoding:J};let O=J.fs||zq,z="throws"in J?J.throws:!0;try{let U=O.readFileSync(q,J);return U=ZO(U),JSON.parse(U,J.reviver)}catch(U){if(z)throw U.message=`${q}: ${U.message}`,U;else return null}}async function I6(q,J,O={}){let z=O.fs||zq,U=YO(J,O);await Bq.fromCallback(z.writeFile)(q,U,O)}var N6=Bq.fromPromise(I6);function M6(q,J,O={}){let z=O.fs||zq,U=YO(J,O);return z.writeFileSync(q,U,O)}var T6={readFile:y6,readFileSync:W6,writeFile:N6,writeFileSync:M6};GO.exports=T6});var HO=P((S4,_O)=>{var Cq=KO();_O.exports={readJson:Cq.readFile,readJsonSync:Cq.readFileSync,writeJson:Cq.writeFile,writeJsonSync:Cq.writeFileSync}});var Dq=P((g4,VO)=>{var F6=M().fromPromise,uq=m(),LO=N("path"),EO=l(),$6=o().pathExists;async function k6(q,J,O="utf-8"){let z=LO.dirname(q);if(!await $6(z))await EO.mkdirs(z);return uq.writeFile(q,J,O)}function u6(q,...J){let O=LO.dirname(q);if(!uq.existsSync(O))EO.mkdirsSync(O);uq.writeFileSync(q,...J)}VO.exports={outputFile:F6(k6),outputFileSync:u6}});var AO=P((m4,PO)=>{var{stringify:n6}=wq(),{outputFile:v6}=Dq();async function S6(q,J,O={}){let z=n6(J,O);await v6(q,z,O)}PO.exports=S6});var wO=P((b4,xO)=>{var{stringify:g6}=wq(),{outputFileSync:m6}=Dq();function b6(q,J,O){let z=g6(J,O);m6(q,z,O)}xO.exports=b6});var CO=P((h4,BO)=>{var h6=M().fromPromise,h=HO();h.outputJson=h6(AO());h.outputJsonSync=wO();h.outputJSON=h.outputJson;h.outputJSONSync=h.outputJsonSync;h.writeJSON=h.writeJson;h.writeJSONSync=h.writeJsonSync;h.readJSON=h.readJson;h.readJSONSync=h.readJsonSync;BO.exports=h});var yO=P((i4,QO)=>{var i6=m(),DO=N("path"),{copy:l6}=xq(),{remove:RO}=_q(),{mkdirp:p6}=l(),{pathExists:c6}=o(),jO=t();async function f6(q,J,O={}){let z=O.overwrite||O.clobber||!1,{srcStat:U,isChangingCase:X=!1}=await jO.checkPaths(q,J,"move",O);await jO.checkParentPaths(q,U,J,"move");let Y=DO.dirname(J);if(DO.parse(Y).root!==Y)await p6(Y);return d6(q,J,z,X)}async function d6(q,J,O,z){if(!z){if(O)await RO(J);else if(await c6(J))throw new Error("dest already exists.")}try{await i6.rename(q,J)}catch(U){if(U.code!=="EXDEV")throw U;await o6(q,J,O)}}async function o6(q,J,O){return await l6(q,J,{overwrite:O,errorOnExist:!0,preserveTimestamps:!0}),RO(q)}QO.exports=f6});var TO=P((l4,MO)=>{var IO=qq(),vq=N("path"),r6=xq().copySync,NO=_q().removeSync,a6=l().mkdirpSync,WO=t();function e6(q,J,O){O=O||{};let z=O.overwrite||O.clobber||!1,{srcStat:U,isChangingCase:X=!1}=WO.checkPathsSync(q,J,"move",O);if(WO.checkParentPathsSync(q,U,J,"move"),!t6(J))a6(vq.dirname(J));return s6(q,J,z,X)}function t6(q){let J=vq.dirname(q);return vq.parse(J).root===J}function s6(q,J,O,z){if(z)return nq(q,J,O);if(O)return NO(J),nq(q,J,O);if(IO.existsSync(J))throw new Error("dest already exists.");return nq(q,J,O)}function nq(q,J,O){try{IO.renameSync(q,J)}catch(z){if(z.code!=="EXDEV")throw z;return q4(q,J,O)}}function q4(q,J,O){return r6(q,J,{overwrite:O,errorOnExist:!0,preserveTimestamps:!0}),NO(q)}MO.exports=e6});var $O=P((p4,FO)=>{var J4=M().fromPromise;FO.exports={move:J4(yO()),moveSync:TO()}});var uO=P((c4,kO)=>{kO.exports={...m(),...xq(),...$J(),...UO(),...CO(),...l(),...$O(),...Dq(),...o(),..._q()}});var Sq=hO(uO(),1);import U4 from"process";import{projectPath as X4}from"@stacksjs/path";import{ValidationBoolean as Y4,ValidationEnum as Z4,ValidationNumber as G4}from"@stacksjs/validation";import{schema as f}from"@stacksjs/validation";import{schema as E}from"@stacksjs/validation";var nO={APP_NAME:E.string(),APP_ENV:E.enum(["local","dev","stage","prod"]),APP_KEY:E.string(),APP_URL:E.string(),PORT:E.number(),PORT_BACKEND:E.number(),PORT_ADMIN:E.number(),PORT_LIBRARY:E.number(),PORT_DESKTOP:E.number(),PORT_EMAIL:E.number(),PORT_DOCS:E.number(),PORT_INSPECT:E.number(),PORT_API:E.number(),PORT_SYSTEM_TRAY:E.number(),APP_MAINTENANCE:E.boolean(),DEBUG:E.boolean(),API_PREFIX:E.string(),DOCS_PREFIX:E.string(),DB_CONNECTION:E.enum(["mysql","sqlite","postgres"]),DB_HOST:E.string(),DB_PORT:E.number(),DB_DATABASE:E.string(),DB_USERNAME:E.string(),DB_PASSWORD:E.string(),AWS_ACCOUNT_ID:E.string(),AWS_ACCESS_KEY_ID:E.string(),AWS_SECRET_ACCESS_KEY:E.string(),AWS_DEFAULT_REGION:E.string(),AWS_DEFAULT_PASSWORD:E.string(),MAIL_MAILER:E.enum(["ses","sendmail","log","smtp"]),MAIL_HOST:E.string(),MAIL_PORT:E.number(),MAIL_USERNAME:E.string(),MAIL_PASSWORD:E.string(),MAIL_ENCRYPTION:E.string(),MAIL_FROM_NAME:E.string(),MAIL_FROM_ADDRESS:E.string(),SEARCH_ENGINE_DRIVER:E.enum(["meilisearch","algolia","typesense"]),MEILISEARCH_HOST:E.string(),MEILISEARCH_KEY:E.string(),FRONTEND_APP_ENV:E.enum(["development","staging","production"]),FRONTEND_APP_URL:E.string()};var O4={APP_ENV:["local","dev","development","staging","prod","production"],DB_CONNECTION:["mysql","sqlite","postgres","dynamodb"],MAIL_MAILER:["smtp","mailgun","ses","postmark","sendmail","log"],SEARCH_ENGINE_DRIVER:["opensearch"],FRONTEND_APP_ENV:["development","staging","production"]},z4=Object.entries(nO).reduce((q,[J,O])=>{let z;switch(typeof O){case"string":z=f.string();break;case"number":z=f.number();break;case"boolean":z=f.boolean();break;default:if(Array.isArray(O)){z=f.enum(O);break}if(typeof O==="object"){let X=Symbol.for("schema_name"),Y=O[X];if(Y==="vine.string"){z=f.string();break}if(Y==="vine.number"){z=f.number();break}if(Y==="vine.boolean"){z=f.boolean();break}if(!Y){z=f.enum(O4.APP_ENV);break}console.error("Unknown env value type",typeof O)}throw new Error(`Invalid env value for ${J}`)}let U=J;return q[U]=z,q},{}),a4=f.object(z4);var K4={get:(q,J)=>{let O=q[J];if(typeof O==="string"&&/^\d+$/.test(O)&&J!=="AWS_ACCOUNT_ID")return Number(O);if(typeof O==="string"&&/^true|false$/.test(O))return O==="true";if(O instanceof Z4)return q[J];if(O instanceof Y4)return!!q[J];if(O instanceof G4)return Number(q[J]);return O}};function _4(){return typeof Bun!=="undefined"?Bun.env:U4.env}var Jz=new Proxy(_4(),K4);function Oz(q,J,O){let z=O?.path||X4(".env"),X=Sq.default.readFileSync(z,"utf-8").split(`
9
- `),Y=X.findIndex((K)=>K.startsWith(`${q}=`));if(Y!==-1)X[Y]=`${q}=${J}`;else X.push(`${q}=${J}`);Sq.default.writeFileSync(z,X.join(`
10
- `))}export{Oz as writeEnv,_4 as process,a4 as envSchema,O4 as envEnum,Jz as env};
7
+ see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:y,destStat:J}=Uq.checkPathsSync(q,n,"copy",E);if(Uq.checkParentPathsSync(q,y,n,"copy"),E.filter&&!E.filter(q,n))return;let O=Kq.dirname(n);if(!b.existsSync(O))$y(O);return Zn(J,q,n,E)}function Zn(q,n,E,y){let O=(y.dereference?b.statSync:b.lstatSync)(n);if(O.isDirectory())return py(O,q,n,E,y);else if(O.isFile()||O.isCharacterDevice()||O.isBlockDevice())return Sy(O,q,n,E,y);else if(O.isSymbolicLink())return fy(q,n,E,y);else if(O.isSocket())throw new Error(`Cannot copy a socket file: ${n}`);else if(O.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${n}`);throw new Error(`Unknown file: ${n}`)}function Sy(q,n,E,y,J){if(!n)return Cn(q,E,y,J);return gy(q,E,y,J)}function gy(q,n,E,y){if(y.overwrite)return b.unlinkSync(E),Cn(q,n,E,y);else if(y.errorOnExist)throw new Error(`'${E}' already exists`)}function Cn(q,n,E,y){if(b.copyFileSync(n,E),y.preserveTimestamps)by(q.mode,n,E);return Fq(E,q.mode)}function by(q,n,E){if(iy(q))hy(E,q);return ly(n,E)}function iy(q){return(q&128)===0}function hy(q,n){return Fq(q,n|128)}function Fq(q,n){return b.chmodSync(q,n)}function ly(q,n){let E=b.statSync(q);return vy(n,E.atime,E.mtime)}function py(q,n,E,y,J){if(!n)return cy(q.mode,E,y,J);return Hn(E,y,J)}function cy(q,n,E,y){return b.mkdirSync(E),Hn(n,E,y),Fq(E,q)}function Hn(q,n,E){let y=b.opendirSync(q);try{let J;while((J=y.readSync())!==null)oy(J.name,q,n,E)}finally{y.closeSync()}}function oy(q,n,E,y){let J=Kq.join(n,q),O=Kq.join(E,q);if(y.filter&&!y.filter(J,O))return;let{destStat:_}=Uq.checkPathsSync(J,O,"copy",y);return Zn(_,J,O,y)}function fy(q,n,E,y){let J=b.readlinkSync(n);if(y.dereference)J=Kq.resolve(process.cwd(),J);if(!q)return b.symlinkSync(J,E);else{let O;try{O=b.readlinkSync(E)}catch(_){if(_.code==="EINVAL"||_.code==="UNKNOWN")return b.symlinkSync(J,E);throw _}if(y.dereference)O=Kq.resolve(process.cwd(),O);if(Uq.isSrcSubdir(J,O))throw new Error(`Cannot copy '${J}' to a subdirectory of itself, '${O}'.`);if(Uq.isSrcSubdir(O,J))throw new Error(`Cannot overwrite '${O}' with '${J}'.`);return dy(J,E)}}function dy(q,n){return b.unlinkSync(n),b.symlinkSync(q,n)}Nn.exports=my});var Cq=X((IO,jn)=>{var ry=Q().fromPromise;jn.exports={copy:ry(Yn()),copySync:xn()}});var zq=X((uO,wn)=>{var Rn=qq(),ay=Q().fromCallback;function ey(q,n){Rn.rm(q,{recursive:!0,force:!0},n)}function ty(q){Rn.rmSync(q,{recursive:!0,force:!0})}wn.exports={remove:ay(ey),removeSync:ty}});var Tn=X((QO,Mn)=>{var sy=Q().fromPromise,In=g(),un=u("path"),Qn=l(),Wn=zq(),Bn=sy(async function q(n){let E;try{E=await In.readdir(n)}catch{return Qn.mkdirs(n)}return Promise.all(E.map((y)=>Wn.remove(un.join(n,y))))});function Dn(q){let n;try{n=In.readdirSync(q)}catch{return Qn.mkdirsSync(q)}n.forEach((E)=>{E=un.join(q,E),Wn.removeSync(E)})}Mn.exports={emptyDirSync:Dn,emptydirSync:Dn,emptyDir:Bn,emptydir:Bn}});var vn=X((WO,$n)=>{var qJ=Q().fromPromise,kn=u("path"),c=g(),Fn=l();async function nJ(q){let n;try{n=await c.stat(q)}catch{}if(n&&n.isFile())return;let E=kn.dirname(q),y=null;try{y=await c.stat(E)}catch(J){if(J.code==="ENOENT"){await Fn.mkdirs(E),await c.writeFile(q,"");return}else throw J}if(y.isDirectory())await c.writeFile(q,"");else await c.readdir(E)}function EJ(q){let n;try{n=c.statSync(q)}catch{}if(n&&n.isFile())return;let E=kn.dirname(q);try{if(!c.statSync(E).isDirectory())c.readdirSync(E)}catch(y){if(y&&y.code==="ENOENT")Fn.mkdirsSync(E);else throw y}c.writeFileSync(q,"")}$n.exports={createFile:qJ(nJ),createFileSync:EJ}});var hn=X((MO,bn)=>{var yJ=Q().fromPromise,mn=u("path"),r=g(),Sn=l(),{pathExists:JJ}=d(),{areIdentical:gn}=t();async function OJ(q,n){let E;try{E=await r.lstat(n)}catch{}let y;try{y=await r.lstat(q)}catch(_){throw _.message=_.message.replace("lstat","ensureLink"),_}if(E&&gn(y,E))return;let J=mn.dirname(n);if(!await JJ(J))await Sn.mkdirs(J);await r.link(q,n)}function _J(q,n){let E;try{E=r.lstatSync(n)}catch{}try{let O=r.lstatSync(q);if(E&&gn(O,E))return}catch(O){throw O.message=O.message.replace("lstat","ensureLink"),O}let y=mn.dirname(n);if(r.existsSync(y))return r.linkSync(q,n);return Sn.mkdirsSync(y),r.linkSync(q,n)}bn.exports={createLink:yJ(OJ),createLinkSync:_J}});var pn=X((TO,ln)=>{var a=u("path"),Lq=g(),{pathExists:VJ}=d(),KJ=Q().fromPromise;async function UJ(q,n){if(a.isAbsolute(q)){try{await Lq.lstat(q)}catch(O){throw O.message=O.message.replace("lstat","ensureSymlink"),O}return{toCwd:q,toDst:q}}let E=a.dirname(n),y=a.join(E,q);if(await VJ(y))return{toCwd:y,toDst:q};try{await Lq.lstat(q)}catch(O){throw O.message=O.message.replace("lstat","ensureSymlink"),O}return{toCwd:q,toDst:a.relative(E,q)}}function zJ(q,n){if(a.isAbsolute(q)){if(!Lq.existsSync(q))throw new Error("absolute srcpath does not exist");return{toCwd:q,toDst:q}}let E=a.dirname(n),y=a.join(E,q);if(Lq.existsSync(y))return{toCwd:y,toDst:q};if(!Lq.existsSync(q))throw new Error("relative srcpath does not exist");return{toCwd:q,toDst:a.relative(E,q)}}ln.exports={symlinkPaths:KJ(UJ),symlinkPathsSync:zJ}});var fn=X((kO,on)=>{var cn=g(),LJ=Q().fromPromise;async function PJ(q,n){if(n)return n;let E;try{E=await cn.lstat(q)}catch{return"file"}return E&&E.isDirectory()?"dir":"file"}function AJ(q,n){if(n)return n;let E;try{E=cn.lstatSync(q)}catch{return"file"}return E&&E.isDirectory()?"dir":"file"}on.exports={symlinkType:LJ(PJ),symlinkTypeSync:AJ}});var en=X((FO,an)=>{var GJ=Q().fromPromise,dn=u("path"),p=g(),{mkdirs:XJ,mkdirsSync:YJ}=l(),{symlinkPaths:ZJ,symlinkPathsSync:CJ}=pn(),{symlinkType:HJ,symlinkTypeSync:NJ}=fn(),{pathExists:xJ}=d(),{areIdentical:rn}=t();async function jJ(q,n,E){let y;try{y=await p.lstat(n)}catch{}if(y&&y.isSymbolicLink()){let[U,j]=await Promise.all([p.stat(q),p.stat(n)]);if(rn(U,j))return}let J=await ZJ(q,n);q=J.toDst;let O=await HJ(J.toCwd,E),_=dn.dirname(n);if(!await xJ(_))await XJ(_);return p.symlink(q,n,O)}function RJ(q,n,E){let y;try{y=p.lstatSync(n)}catch{}if(y&&y.isSymbolicLink()){let U=p.statSync(q),j=p.statSync(n);if(rn(U,j))return}let J=CJ(q,n);q=J.toDst,E=NJ(J.toCwd,E);let O=dn.dirname(n);if(p.existsSync(O))return p.symlinkSync(q,n,E);return YJ(O),p.symlinkSync(q,n,E)}an.exports={createSymlink:GJ(jJ),createSymlinkSync:RJ}});var OE=X(($O,JE)=>{var{createFile:tn,createFileSync:sn}=vn(),{createLink:qE,createLinkSync:nE}=hn(),{createSymlink:EE,createSymlinkSync:yE}=en();JE.exports={createFile:tn,createFileSync:sn,ensureFile:tn,ensureFileSync:sn,createLink:qE,createLinkSync:nE,ensureLink:qE,ensureLinkSync:nE,createSymlink:EE,createSymlinkSync:yE,ensureSymlink:EE,ensureSymlinkSync:yE}});var Hq=X((vO,_E)=>{function wJ(q,{EOL:n=`
8
+ `,finalEOL:E=!0,replacer:y=null,spaces:J}={}){let O=E?n:"";return JSON.stringify(q,y,J).replace(/\n/g,n)+O}function BJ(q){if(Buffer.isBuffer(q))q=q.toString("utf8");return q.replace(/^\uFEFF/,"")}_E.exports={stringify:wJ,stripBom:BJ}});var zE=X((mO,UE)=>{var yq;try{yq=qq()}catch(q){yq=u("fs")}var Nq=Q(),{stringify:VE,stripBom:KE}=Hq();async function DJ(q,n={}){if(typeof n==="string")n={encoding:n};let E=n.fs||yq,y="throws"in n?n.throws:!0,J=await Nq.fromCallback(E.readFile)(q,n);J=KE(J);let O;try{O=JSON.parse(J,n?n.reviver:null)}catch(_){if(y)throw _.message=`${q}: ${_.message}`,_;else return null}return O}var IJ=Nq.fromPromise(DJ);function uJ(q,n={}){if(typeof n==="string")n={encoding:n};let E=n.fs||yq,y="throws"in n?n.throws:!0;try{let J=E.readFileSync(q,n);return J=KE(J),JSON.parse(J,n.reviver)}catch(J){if(y)throw J.message=`${q}: ${J.message}`,J;else return null}}async function QJ(q,n,E={}){let y=E.fs||yq,J=VE(n,E);await Nq.fromCallback(y.writeFile)(q,J,E)}var WJ=Nq.fromPromise(QJ);function MJ(q,n,E={}){let y=E.fs||yq,J=VE(n,E);return y.writeFileSync(q,J,E)}var TJ={readFile:IJ,readFileSync:uJ,writeFile:WJ,writeFileSync:MJ};UE.exports=TJ});var PE=X((SO,LE)=>{var xq=zE();LE.exports={readJson:xq.readFile,readJsonSync:xq.readFileSync,writeJson:xq.writeFile,writeJsonSync:xq.writeFileSync}});var jq=X((gO,XE)=>{var kJ=Q().fromPromise,$q=g(),AE=u("path"),GE=l(),FJ=d().pathExists;async function $J(q,n,E="utf-8"){let y=AE.dirname(q);if(!await FJ(y))await GE.mkdirs(y);return $q.writeFile(q,n,E)}function vJ(q,...n){let E=AE.dirname(q);if(!$q.existsSync(E))GE.mkdirsSync(E);$q.writeFileSync(q,...n)}XE.exports={outputFile:kJ($J),outputFileSync:vJ}});var ZE=X((bO,YE)=>{var{stringify:mJ}=Hq(),{outputFile:SJ}=jq();async function gJ(q,n,E={}){let y=mJ(n,E);await SJ(q,y,E)}YE.exports=gJ});var HE=X((iO,CE)=>{var{stringify:bJ}=Hq(),{outputFileSync:iJ}=jq();function hJ(q,n,E){let y=bJ(n,E);iJ(q,y,E)}CE.exports=hJ});var xE=X((hO,NE)=>{var lJ=Q().fromPromise,i=PE();i.outputJson=lJ(ZE());i.outputJsonSync=HE();i.outputJSON=i.outputJson;i.outputJSONSync=i.outputJsonSync;i.writeJSON=i.writeJson;i.writeJSONSync=i.writeJsonSync;i.readJSON=i.readJson;i.readJSONSync=i.readJsonSync;NE.exports=i});var DE=X((lO,BE)=>{var pJ=g(),jE=u("path"),{copy:cJ}=Cq(),{remove:wE}=zq(),{mkdirp:oJ}=l(),{pathExists:fJ}=d(),RE=t();async function dJ(q,n,E={}){let y=E.overwrite||E.clobber||!1,{srcStat:J,isChangingCase:O=!1}=await RE.checkPaths(q,n,"move",E);await RE.checkParentPaths(q,J,n,"move");let _=jE.dirname(n);if(jE.parse(_).root!==_)await oJ(_);return rJ(q,n,y,O)}async function rJ(q,n,E,y){if(!y){if(E)await wE(n);else if(await fJ(n))throw new Error("dest already exists.")}try{await pJ.rename(q,n)}catch(J){if(J.code!=="EXDEV")throw J;await aJ(q,n,E)}}async function aJ(q,n,E){return await cJ(q,n,{overwrite:E,errorOnExist:!0,preserveTimestamps:!0}),wE(q)}BE.exports=dJ});var ME=X((pO,WE)=>{var uE=qq(),mq=u("path"),eJ=Cq().copySync,QE=zq().removeSync,tJ=l().mkdirpSync,IE=t();function sJ(q,n,E){E=E||{};let y=E.overwrite||E.clobber||!1,{srcStat:J,isChangingCase:O=!1}=IE.checkPathsSync(q,n,"move",E);if(IE.checkParentPathsSync(q,J,n,"move"),!qO(n))tJ(mq.dirname(n));return nO(q,n,y,O)}function qO(q){let n=mq.dirname(q);return mq.parse(n).root===n}function nO(q,n,E,y){if(y)return vq(q,n,E);if(E)return QE(n),vq(q,n,E);if(uE.existsSync(n))throw new Error("dest already exists.");return vq(q,n,E)}function vq(q,n,E){try{uE.renameSync(q,n)}catch(y){if(y.code!=="EXDEV")throw y;return EO(q,n,E)}}function EO(q,n,E){return eJ(q,n,{overwrite:E,errorOnExist:!0,preserveTimestamps:!0}),QE(q)}WE.exports=sJ});var kE=X((cO,TE)=>{var yO=Q().fromPromise;TE.exports={move:yO(DE()),moveSync:ME()}});var $E=X((oO,FE)=>{FE.exports={...g(),...Cq(),...Tn(),...OE(),...xE(),...l(),...kE(),...jq(),...d(),...zq()}});var Sq=lE($E(),1);import OO from"process";import{projectPath as _O}from"@stacksjs/path";import{ValidationBoolean as VO,ValidationEnum as KO,ValidationNumber as UO}from"@stacksjs/validation";import{schema as o}from"@stacksjs/validation";import{schema as G}from"@stacksjs/validation";var vE={APP_NAME:{validation:G.string(),default:"Stacks"},APP_ENV:{validation:G.enum(["local","dev","stage","prod"]),default:"local"},APP_KEY:{validation:G.string(),default:"base64:1234567890"},PORT:{validation:G.number(),default:3000},PORT_BACKEND:{validation:G.number(),default:3000},PORT_ADMIN:{validation:G.number(),default:3000},PORT_LIBRARY:{validation:G.number(),default:3000},PORT_DESKTOP:{validation:G.number(),default:3000},PORT_EMAIL:{validation:G.number(),default:3000},PORT_DOCS:{validation:G.number(),default:3000},PORT_INSPECT:{validation:G.number(),default:3000},PORT_API:{validation:G.number(),default:3000},PORT_SYSTEM_TRAY:{validation:G.number(),default:3000},APP_MAINTENANCE:{validation:G.boolean(),default:!1},DEBUG:{validation:G.boolean(),default:!1},API_PREFIX:{validation:G.string(),default:"/api"},DOCS_PREFIX:{validation:G.string(),default:"/docs"},DB_CONNECTION:{validation:G.enum(["mysql","sqlite","postgres"]),default:"mysql"},DB_HOST:{validation:G.string(),default:"localhost"},DB_PORT:{validation:G.number(),default:3306},AWS_ACCOUNT_ID:{validation:G.string(),default:""},AWS_ACCESS_KEY_ID:{validation:G.string(),default:""},AWS_SECRET_ACCESS_KEY:{validation:G.string(),default:""},AWS_DEFAULT_REGION:{validation:G.string(),default:""},AWS_DEFAULT_PASSWORD:{validation:G.string(),default:""},MAIL_MAILER:{validation:G.enum(["ses","sendmail","log","smtp"]),default:"ses"},MAIL_HOST:{validation:G.string(),default:""},MAIL_PORT:{validation:G.number(),default:465},MAIL_USERNAME:{validation:G.string(),default:""},MAIL_PASSWORD:{validation:G.string(),default:""},MAIL_FROM_ADDRESS:{validation:G.string(),default:""},SEARCH_ENGINE_DRIVER:{validation:G.enum(["meilisearch","algolia","typesense"]),default:"meilisearch"},MEILISEARCH_HOST:{validation:G.string(),default:""},MEILISEARCH_KEY:{validation:G.string(),default:""},FRONTEND_APP_ENV:{validation:G.enum(["development","staging","production"]),default:"development"},FRONTEND_APP_URL:{validation:G.string(),default:""}};var mE={APP_ENV:["local","dev","development","staging","prod","production"],DB_CONNECTION:["mysql","sqlite","postgres","dynamodb"],MAIL_MAILER:["smtp","mailgun","ses","postmark","sendmail","log"],SEARCH_ENGINE_DRIVER:["opensearch"],FRONTEND_APP_ENV:["development","staging","production"]},JO=Object.entries(vE).reduce((q,[n,E])=>{if(typeof E==="object"&&E!==null&&"validation"in E)return q[n]=E.validation,q;let y;switch(typeof E){case"string":y=o.string();break;case"number":y=o.number();break;case"boolean":y=o.boolean();break;default:if(Array.isArray(E)){y=o.enum(E);break}if(typeof E==="object"&&E!==null){let J=Symbol.for("schema_name"),O=E[J];if(O==="vine.string"){y=o.string();break}if(O==="vine.number"){y=o.number();break}if(O==="vine.boolean"){y=o.boolean();break}if(!O&&n in mE){y=o.enum(mE[n]);break}console.error("Unknown env value type",typeof E)}throw new Error(`Invalid env value for ${n}`)}return q[n]=y,q},{}),eO=o.object(JO);var zO={get:(q,n)=>{let E=q[n];if(typeof E==="string"&&/^\d+$/.test(E)&&n!=="AWS_ACCOUNT_ID")return Number(E);if(typeof E==="string"&&/^true|false$/.test(E))return E==="true";if(E instanceof KO)return q[n];if(E instanceof VO)return!!q[n];if(E instanceof UO)return Number(q[n]);return E}};function LO(){return typeof Bun!=="undefined"?Bun.env:OO.env}var E_=new Proxy(LO(),zO);function y_(q,n,E){let y=E?.path||_O(".env"),O=Sq.default.readFileSync(y,"utf-8").split(`
9
+ `),_=O.findIndex((U)=>U.startsWith(`${q}=`));if(_!==-1)O[_]=`${q}=${n}`;else O.push(`${q}=${n}`);Sq.default.writeFileSync(y,O.join(`
10
+ `))}export{y_ as writeEnv,LO as process,eO as envSchema,mE as envEnum,E_ as env};
package/dist/types.d.ts CHANGED
@@ -1,29 +1,40 @@
1
1
  import type { EnvKey } from '../../../env';
2
2
  import type { Infer, VineBoolean, VineEnum, VineNumber, VineString } from '@stacksjs/validation';
3
+ import type { SchemaTypes } from '@vinejs/vine/types';
3
4
 
4
5
  declare interface EnumObject {
5
6
  [key: string]: string[]
6
7
  }
7
8
  export declare const envEnum: EnumObject;
8
- declare type EnvValue = string | boolean | number | readonly string[]
9
- type EnvType = typeof env
10
- type EnvKeys = keyof EnvType
11
- type EnvMap = {
12
- [K in EnvKeys]: EnvType[K] extends string
13
- ? VineString
14
- : EnvType[K] extends number
15
- ? VineNumber
16
- : EnvType[K] extends boolean
17
- ? VineBoolean
18
- : EnvType[K] extends readonly string[]
19
- ? VineEnum<string[]>
20
- : unknown
9
+ declare interface StringEnvConfig {
10
+ validation: VineString
11
+ default: string
21
12
  }
13
+ declare interface NumberEnvConfig {
14
+ validation: VineNumber
15
+ default: number
16
+ }
17
+ declare interface BooleanEnvConfig {
18
+ validation: VineBoolean
19
+ default: boolean
20
+ }
21
+ declare interface EnumEnvConfig {
22
+ validation: VineEnum<any>
23
+ default: string
24
+ }
25
+ declare type EnvValueConfig = StringEnvConfig | NumberEnvConfig | BooleanEnvConfig | EnumEnvConfig
26
+
27
+ export type EnvConfig = Partial<Record<EnvKey, EnvValueConfig>>
22
28
 
23
- type ValidatorType = VineString | VineNumber | VineBoolean | VineEnum<string[]>
29
+ type EnvMap = Record<string, SchemaTypes>
24
30
 
25
- const envStructure = Object.entries(env).reduce((acc, [key, value]) => {
26
- let validatorType: ValidatorType
31
+ const envStructure: EnvMap = Object.entries(env).reduce((acc, [key, value]) => {
32
+ if (typeof value === 'object' && value !== null && 'validation' in value) {
33
+ acc[key] = (value as EnvValueConfig).validation
34
+ return acc
35
+ }
36
+
37
+ let validatorType: SchemaTypes
27
38
  switch (typeof value) {
28
39
  case 'string':
29
40
  validatorType = schema.string()
@@ -40,9 +51,9 @@ const envStructure = Object.entries(env).reduce((acc, [key, value]) => {
40
51
  break
41
52
  }
42
53
 
43
- if (typeof value === 'object') {
54
+ if (typeof value === 'object' && value !== null) {
44
55
  const schemaNameSymbol = Symbol.for('schema_name')
45
- const schemaName = value[schemaNameSymbol]
56
+ const schemaName = (value as { [key: symbol]: string })[schemaNameSymbol]
46
57
 
47
58
  if (schemaName === 'vine.string') {
48
59
  validatorType = schema.string()
@@ -59,9 +70,8 @@ const envStructure = Object.entries(env).reduce((acc, [key, value]) => {
59
70
  break
60
71
  }
61
72
 
62
-
63
- if (!schemaName) {
64
- validatorType = schema.enum(envEnum.APP_ENV)
73
+ if (!schemaName && key in envEnum) {
74
+ validatorType = schema.enum(envEnum[key as keyof typeof envEnum])
65
75
  break
66
76
  }
67
77
 
@@ -70,17 +80,15 @@ const envStructure = Object.entries(env).reduce((acc, [key, value]) => {
70
80
 
71
81
  throw new Error(`Invalid env value for ${key}`)
72
82
  }
73
- const envKey = key as EnvKeys
74
83
 
75
- acc[envKey] = validatorType as any
84
+ acc[key] = validatorType
76
85
  return acc
77
86
  }, {} as EnvMap)
78
87
 
79
- export const envSchema = schema.object(envStructure)
88
+ export const envSchema: ReturnType<typeof schema.object> = schema.object(envStructure)
80
89
  export type Env = Infer<typeof envSchema>
81
90
 
82
91
  export type EnvOptions = Env
83
- export type EnvConfig = Partial<Record<EnvKey, EnvValue>>
84
92
 
85
93
  export interface FrontendEnv {
86
94
  FRONTEND_APP_ENV: 'local' | 'development' | 'staging' | 'production'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/env",
3
3
  "type": "module",
4
- "version": "0.69.3",
4
+ "version": "0.70.0",
5
5
  "description": "Stacks env helper methods.",
6
6
  "author": "Chris Breuer",
7
7
  "contributors": ["Chris Breuer <chris@stacksjs.org>"],
@@ -32,11 +32,14 @@
32
32
  "typecheck": "bun tsc --noEmit",
33
33
  "prepublishOnly": "bun run build"
34
34
  },
35
+ "dependencies": {
36
+ "@dotenvx/dotenvx": "^1.39.0"
37
+ },
35
38
  "devDependencies": {
36
- "@stacksjs/development": "0.69.2",
37
- "@stacksjs/path": "0.69.2",
38
- "@stacksjs/validation": "0.69.2",
39
+ "@stacksjs/development": "0.70.0",
40
+ "@stacksjs/path": "0.70.0",
41
+ "@stacksjs/validation": "0.70.0",
39
42
  "fs-extra": "^11.3.0",
40
- "std-env": "^3.8.0"
43
+ "std-env": "^3.8.1"
41
44
  }
42
45
  }