@stacksjs/env 0.68.0 → 0.69.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -6,5 +6,6 @@ declare const handler: {
6
6
  };
7
7
  export declare function process(): Env;
8
8
  export declare const env: Env;
9
- export declare function writeEnv(key: EnvKey, value: string, options?: { path: string }): void;
9
+ export declare function writeEnv(key: EnvKey, value: string, options?: { path: , string }): void;
10
+
10
11
  export * from './types'
package/dist/index.js CHANGED
@@ -1,2 +1,10 @@
1
1
  // @bun
2
- var vO=Object.create;var{getPrototypeOf:SO,defineProperty:bq,getOwnPropertyNames:gO}=Object;var bO=Object.prototype.hasOwnProperty;var mO=(q,J,O)=>{O=q!=null?vO(SO(q)):{};let z=J||!q||!q.__esModule?bq(O,"default",{value:q,enumerable:!0}):O;for(let U of gO(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=P((hO)=>{hO.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})};hO.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 hq=P((E4,mq)=>{var d=import.meta.require("constants"),pO=process.cwd,Hq=null,cO=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!Hq)Hq=pO.call(process);return Hq};try{process.cwd()}catch(q){}if(typeof process.chdir==="function"){if(jq=process.chdir,process.chdir=function(q){Hq=null,jq.call(process,q)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,jq)}var jq;mq.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(cO==="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(h){if(h&&(h.code==="EACCES"||h.code==="EPERM"||h.code==="EBUSY")&&Date.now()-C<60000){if(setTimeout(function(){q.stat(G,function(v,zq){if(v&&v.code==="ENOENT")Z(H,G,R);else L(h)})},w),w<100)w+=10;return}if(L)L(h)})}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 h;if(R&&typeof R==="function"){var v=0;h=function(zq,Sq,gq){if(zq&&zq.code==="EAGAIN"&&v<10)return v++,Z.call(q,H,G,L,C,w,h);R.apply(this,arguments)}}return Z.call(q,H,G,L,C,w,h)}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(h){if(L)L(R||h)})})})},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 pq=P((V4,lq)=>{var iq=import.meta.require("stream").Stream;lq.exports=fO;function fO(q){return{ReadStream:J,WriteStream:O};function J(z,U){if(!(this instanceof J))return new J(z,U);iq.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);iq.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((P4,cq)=>{cq.exports=rO;var oO=Object.getPrototypeOf||function(q){return q.__proto__};function rO(q){if(q===null||typeof q!=="object")return q;if(q instanceof Object)var J={__proto__:oO(q)};else var J=Object.create(null);return Object.getOwnPropertyNames(q).forEach(function(O){Object.defineProperty(J,O,Object.getOwnPropertyDescriptor(q,O))}),J}});var s=P((A4,yq)=>{var y=import.meta.require("fs"),aO=hq(),eO=pq(),tO=dq(),Lq=import.meta.require("util"),k,Vq;if(typeof Symbol==="function"&&typeof Symbol.for==="function")k=Symbol.for("graceful-fs.queue"),Vq=Symbol.for("graceful-fs.previous");else k="___graceful-fs.queue",Vq="___graceful-fs.previous";function sO(){}function rq(q,J){Object.defineProperty(q,k,{get:function(){return J}})}var a=sO;if(Lq.debuglog)a=Lq.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))a=function(){var q=Lq.format.apply(Lq,arguments);q="GFS4: "+q.split(/\n/).join("\nGFS4: "),console.error(q)};if(!y[k]){if(fq=global[k]||[],rq(y,fq),y.close=function(q){function J(O,z){return q.call(y,O,function(U){if(!U)oq();if(typeof z==="function")z.apply(this,arguments)})}return Object.defineProperty(J,Vq,{value:q}),J}(y.close),y.closeSync=function(q){function J(O){q.apply(y,arguments),oq()}return Object.defineProperty(J,Vq,{value:q}),J}(y.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){a(y[k]),import.meta.require("assert").equal(y[k].length,0)})}var fq;if(!global[k])rq(global,y[k]);yq.exports=Rq(tO(y));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!y.__patched)yq.exports=Rq(y),y.__patched=!0;function Rq(q){aO(q),q.gracefulify=Rq,q.createReadStream=Sq,q.createWriteStream=gq;var J=q.readFile;q.readFile=O;function O(_,x,A){if(typeof x==="function")A=x,x=null;return T(_,x,A);function T(F,I,Q,W){return J(F,I,function(B){if(B&&(B.code==="EMFILE"||B.code==="ENFILE"))t([T,[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,T){if(typeof A==="function")T=A,A=null;return F(_,x,A,T);function F(I,Q,W,B,$){return z(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))t([F,[I,Q,W,B],D,$||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,T){if(typeof A==="function")T=A,A=null;return F(_,x,A,T);function F(I,Q,W,B,$){return X(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))t([F,[I,Q,W,B],D,$||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,T){if(typeof A==="function")T=A,A=0;return F(_,x,A,T);function F(I,Q,W,B,$){return K(I,Q,W,function(D){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))t([F,[I,Q,W,B],D,$||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 T=Z.test(process.version)?function I(Q,W,B,$){return n(Q,F(Q,W,B,$))}:function I(Q,W,B,$){return n(Q,W,F(Q,W,B,$))};return T(_,x,A);function F(I,Q,W,B){return function($,D){if($&&($.code==="EMFILE"||$.code==="ENFILE"))t([T,[I,Q,W],$,B||Date.now(),Date.now()]);else{if(D&&D.sort)D.sort();if(typeof W==="function")W.call(this,$,D)}}}}if(process.version.substr(0,4)==="v0.8"){var H=eO(q);R=H.ReadStream,v=H.WriteStream}var G=q.ReadStream;if(G)R.prototype=Object.create(G.prototype),R.prototype.open=h;var L=q.WriteStream;if(L)v.prototype=Object.create(L.prototype),v.prototype.open=zq;Object.defineProperty(q,"ReadStream",{get:function(){return R},set:function(_){R=_},enumerable:!0,configurable:!0}),Object.defineProperty(q,"WriteStream",{get:function(){return v},set:function(_){v=_},enumerable:!0,configurable:!0});var C=R;Object.defineProperty(q,"FileReadStream",{get:function(){return C},set:function(_){C=_},enumerable:!0,configurable:!0});var w=v;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 h(){var _=this;Dq(_.path,_.flags,_.mode,function(x,A){if(x){if(_.autoClose)_.destroy();_.emit("error",x)}else _.fd=A,_.emit("open",A),_.read()})}function v(_,x){if(this instanceof v)return L.apply(this,arguments),this;else return v.apply(Object.create(v.prototype),arguments)}function zq(){var _=this;Dq(_.path,_.flags,_.mode,function(x,A){if(x)_.destroy(),_.emit("error",x);else _.fd=A,_.emit("open",A)})}function Sq(_,x){return new q.ReadStream(_,x)}function gq(_,x){return new q.WriteStream(_,x)}var nO=q.open;q.open=Dq;function Dq(_,x,A,T){if(typeof A==="function")T=A,A=null;return F(_,x,A,T);function F(I,Q,W,B,$){return nO(I,Q,W,function(D,_4){if(D&&(D.code==="EMFILE"||D.code==="ENFILE"))t([F,[I,Q,W,B],D,$||Date.now(),Date.now()]);else if(typeof B==="function")B.apply(this,arguments)})}}return q}function t(q){a("ENQUEUE",q[0].name,q[1]),y[k].push(q),Qq()}var Eq;function oq(){var q=Date.now();for(var J=0;J<y[k].length;++J)if(y[k][J].length>2)y[k][J][3]=q,y[k][J][4]=q;Qq()}function Qq(){if(clearTimeout(Eq),Eq=void 0,y[k].length===0)return;var q=y[k].shift(),J=q[0],O=q[1],z=q[2],U=q[3],X=q[4];if(U===void 0)a("RETRY",J.name,O),J.apply(null,O);else if(Date.now()-U>=60000){a("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)a("RETRY",J.name,O),J.apply(null,O.concat([U]));else y[k].push(q)}if(Eq===void 0)Eq=setTimeout(Qq,0)}});var g=P((Wq)=>{var aq=N().fromCallback,S=s(),q0=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter((q)=>{return typeof S[q]==="function"});Object.assign(Wq,S);q0.forEach((q)=>{Wq[q]=aq(S[q])});Wq.exists=function(q,J){if(typeof J==="function")return S.exists(q,J);return new Promise((O)=>{return S.exists(q,O)})};Wq.read=function(q,J,O,z,U,X){if(typeof X==="function")return S.read(q,J,O,z,U,X);return new Promise((Y,K)=>{S.read(q,J,O,z,U,(j,n,Z)=>{if(j)return K(j);Y({bytesRead:n,buffer:Z})})})};Wq.write=function(q,J,...O){if(typeof O[O.length-1]==="function")return S.write(q,J,...O);return new Promise((z,U)=>{S.write(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesWritten:Y,buffer:K})})})};Wq.readv=function(q,J,...O){if(typeof O[O.length-1]==="function")return S.readv(q,J,...O);return new Promise((z,U)=>{S.readv(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesRead:Y,buffers:K})})})};Wq.writev=function(q,J,...O){if(typeof O[O.length-1]==="function")return S.writev(q,J,...O);return new Promise((z,U)=>{S.writev(q,J,...O,(X,Y,K)=>{if(X)return U(X);z({bytesWritten:Y,buffers:K})})})};if(typeof S.realpath.native==="function")Wq.realpath.native=aq(S.realpath.native);else process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var tq=P((Z0,eq)=>{var Y0=import.meta.require("path");Z0.checkPath=function q(J){if(process.platform==="win32"){if(/[<>:"|?*]/.test(J.replace(Y0.parse(J).root,""))){let z=new Error(`Path contains invalid characters: ${J}`);throw z.code="EINVAL",z}}}});var OJ=P((K0,Iq)=>{var sq=g(),{checkPath:qJ}=tq(),JJ=(q)=>{let J={mode:511};if(typeof q==="number")return q;return{...J,...q}.mode};K0.makeDir=async(q,J)=>{return qJ(q),sq.mkdir(q,{mode:JJ(J),recursive:!0})};K0.makeDirSync=(q,J)=>{return qJ(q),sq.mkdirSync(q,{mode:JJ(J),recursive:!0})}});var i=P((B4,zJ)=>{var L0=N().fromPromise,{makeDir:E0,makeDirSync:Nq}=OJ(),Mq=L0(E0);zJ.exports={mkdirs:Mq,mkdirsSync:Nq,mkdirp:Mq,mkdirpSync:Nq,ensureDir:Mq,ensureDirSync:Nq}});var f=P((C4,XJ)=>{var V0=N().fromPromise,UJ=g();function P0(q){return UJ.access(q).then(()=>!0).catch(()=>!1)}XJ.exports={pathExists:V0(P0),pathExistsSync:UJ.existsSync}});var Tq=P((D4,YJ)=>{var qq=g(),A0=N().fromPromise;async function x0(q,J,O){let z=await qq.open(q,"r+"),U=null;try{await qq.futimes(z,J,O)}finally{try{await qq.close(z)}catch(X){U=X}}if(U)throw U}function w0(q,J,O){let z=qq.openSync(q,"r+");return qq.futimesSync(z,J,O),qq.closeSync(z)}YJ.exports={utimesMillis:A0(x0),utimesMillisSync:w0}});var e=P((j4,_J)=>{var Jq=g(),M=import.meta.require("path"),ZJ=N().fromPromise;function B0(q,J,O){let z=O.dereference?(U)=>Jq.stat(U,{bigint:!0}):(U)=>Jq.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 C0(q,J,O){let z,U=O.dereference?(Y)=>Jq.statSync(Y,{bigint:!0}):(Y)=>Jq.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 D0(q,J,O,z){let{srcStat:U,destStat:X}=await B0(q,J,z);if(X){if(Uq(U,X)){let Y=M.basename(q),K=M.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()&&Fq(q,J))throw new Error(Pq(q,J,O));return{srcStat:U,destStat:X}}function j0(q,J,O,z){let{srcStat:U,destStat:X}=C0(q,J,z);if(X){if(Uq(U,X)){let Y=M.basename(q),K=M.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()&&Fq(q,J))throw new Error(Pq(q,J,O));return{srcStat:U,destStat:X}}async function GJ(q,J,O,z){let U=M.resolve(M.dirname(q)),X=M.resolve(M.dirname(O));if(X===U||X===M.parse(X).root)return;let Y;try{Y=await Jq.stat(X,{bigint:!0})}catch(K){if(K.code==="ENOENT")return;throw K}if(Uq(J,Y))throw new Error(Pq(q,O,z));return GJ(q,J,X,z)}function KJ(q,J,O,z){let U=M.resolve(M.dirname(q)),X=M.resolve(M.dirname(O));if(X===U||X===M.parse(X).root)return;let Y;try{Y=Jq.statSync(X,{bigint:!0})}catch(K){if(K.code==="ENOENT")return;throw K}if(Uq(J,Y))throw new Error(Pq(q,O,z));return KJ(q,J,X,z)}function Uq(q,J){return J.ino&&J.dev&&J.ino===q.ino&&J.dev===q.dev}function Fq(q,J){let O=M.resolve(q).split(M.sep).filter((U)=>U),z=M.resolve(J).split(M.sep).filter((U)=>U);return O.every((U,X)=>z[X]===U)}function Pq(q,J,O){return`Cannot ${O} '${q}' to a subdirectory of itself, '${J}'.`}_J.exports={checkPaths:ZJ(D0),checkPathsSync:j0,checkParentPaths:ZJ(GJ),checkParentPathsSync:KJ,isSrcSubdir:Fq,areIdentical:Uq}});var PJ=P((R4,VJ)=>{var u=g(),Xq=import.meta.require("path"),{mkdirs:R0}=i(),{pathExists:Q0}=f(),{utimesMillis:y0}=Tq(),Yq=e();async function W0(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;\n\n\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0001");let{srcStat:z,destStat:U}=await Yq.checkPaths(q,J,"copy",O);if(await Yq.checkParentPaths(q,z,J,"copy"),!await LJ(q,J,O))return;let Y=Xq.dirname(J);if(!await Q0(Y))await R0(Y);await EJ(U,q,J,O)}async function LJ(q,J,O){if(!O.filter)return!0;return O.filter(q,J)}async function EJ(q,J,O,z){let X=await(z.dereference?u.stat:u.lstat)(J);if(X.isDirectory())return T0(X,q,J,O,z);if(X.isFile()||X.isCharacterDevice()||X.isBlockDevice())return I0(X,q,J,O,z);if(X.isSymbolicLink())return F0(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 I0(q,J,O,z,U){if(!J)return HJ(q,O,z,U);if(U.overwrite)return await u.unlink(z),HJ(q,O,z,U);if(U.errorOnExist)throw new Error(`'${z}' already exists`)}async function HJ(q,J,O,z){if(await u.copyFile(J,O),z.preserveTimestamps){if(N0(q.mode))await M0(O,q.mode);let U=await u.stat(J);await y0(O,U.atime,U.mtime)}return u.chmod(O,q.mode)}function N0(q){return(q&128)===0}function M0(q,J){return u.chmod(q,J|128)}async function T0(q,J,O,z,U){if(!J)await u.mkdir(z);let X=await u.readdir(O);if(await Promise.all(X.map(async(Y)=>{let K=Xq.join(O,Y),j=Xq.join(z,Y);if(!await LJ(K,j,U))return;let{destStat:Z}=await Yq.checkPaths(K,j,"copy",U);return EJ(Z,K,j,U)})),!J)await u.chmod(z,q.mode)}async function F0(q,J,O,z){let U=await u.readlink(J);if(z.dereference)U=Xq.resolve(process.cwd(),U);if(!q)return u.symlink(U,O);let X=null;try{X=await u.readlink(O)}catch(Y){if(Y.code==="EINVAL"||Y.code==="UNKNOWN")return u.symlink(U,O);throw Y}if(z.dereference)X=Xq.resolve(process.cwd(),X);if(Yq.isSrcSubdir(U,X))throw new Error(`Cannot copy '${U}' to a subdirectory of itself, '${X}'.`);if(Yq.isSrcSubdir(X,U))throw new Error(`Cannot overwrite '${X}' with '${U}'.`);return await u.unlink(O),u.symlink(U,O)}VJ.exports=W0});var CJ=P((Q4,BJ)=>{var b=s(),Zq=import.meta.require("path"),$0=i().mkdirsSync,k0=Tq().utimesMillisSync,Gq=e();function u0(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;\n\n\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0002");let{srcStat:z,destStat:U}=Gq.checkPathsSync(q,J,"copy",O);if(Gq.checkParentPathsSync(q,z,J,"copy"),O.filter&&!O.filter(q,J))return;let X=Zq.dirname(J);if(!b.existsSync(X))$0(X);return AJ(U,q,J,O)}function AJ(q,J,O,z){let X=(z.dereference?b.statSync:b.lstatSync)(J);if(X.isDirectory())return h0(X,q,J,O,z);else if(X.isFile()||X.isCharacterDevice()||X.isBlockDevice())return n0(X,q,J,O,z);else if(X.isSymbolicLink())return p0(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 n0(q,J,O,z,U){if(!J)return xJ(q,O,z,U);return v0(q,O,z,U)}function v0(q,J,O,z){if(z.overwrite)return b.unlinkSync(O),xJ(q,J,O,z);else if(z.errorOnExist)throw new Error(`'${O}' already exists`)}function xJ(q,J,O,z){if(b.copyFileSync(J,O),z.preserveTimestamps)S0(q.mode,J,O);return $q(O,q.mode)}function S0(q,J,O){if(g0(q))b0(O,q);return m0(J,O)}function g0(q){return(q&128)===0}function b0(q,J){return $q(q,J|128)}function $q(q,J){return b.chmodSync(q,J)}function m0(q,J){let O=b.statSync(q);return k0(J,O.atime,O.mtime)}function h0(q,J,O,z,U){if(!J)return i0(q.mode,O,z,U);return wJ(O,z,U)}function i0(q,J,O,z){return b.mkdirSync(O),wJ(J,O,z),$q(O,q)}function wJ(q,J,O){b.readdirSync(q).forEach((z)=>l0(z,q,J,O))}function l0(q,J,O,z){let U=Zq.join(J,q),X=Zq.join(O,q);if(z.filter&&!z.filter(U,X))return;let{destStat:Y}=Gq.checkPathsSync(U,X,"copy",z);return AJ(Y,U,X,z)}function p0(q,J,O,z){let U=b.readlinkSync(J);if(z.dereference)U=Zq.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=Zq.resolve(process.cwd(),X);if(Gq.isSrcSubdir(U,X))throw new Error(`Cannot copy '${U}' to a subdirectory of itself, '${X}'.`);if(Gq.isSrcSubdir(X,U))throw new Error(`Cannot overwrite '${X}' with '${U}'.`);return c0(U,O)}}function c0(q,J){return b.unlinkSync(J),b.symlinkSync(q,J)}BJ.exports=u0});var Aq=P((y4,DJ)=>{var d0=N().fromPromise;DJ.exports={copy:d0(PJ()),copySync:CJ()}});var Kq=P((W4,RJ)=>{var jJ=s(),f0=N().fromCallback;function o0(q,J){jJ.rm(q,{recursive:!0,force:!0},J)}function r0(q){jJ.rmSync(q,{recursive:!0,force:!0})}RJ.exports={remove:f0(o0),removeSync:r0}});var FJ=P((I4,TJ)=>{var a0=N().fromPromise,WJ=g(),IJ=import.meta.require("path"),NJ=i(),MJ=Kq(),QJ=a0(async function q(J){let O;try{O=await WJ.readdir(J)}catch{return NJ.mkdirs(J)}return Promise.all(O.map((z)=>MJ.remove(IJ.join(J,z))))});function yJ(q){let J;try{J=WJ.readdirSync(q)}catch{return NJ.mkdirsSync(q)}J.forEach((O)=>{O=IJ.join(q,O),MJ.removeSync(O)})}TJ.exports={emptyDirSync:yJ,emptydirSync:yJ,emptyDir:QJ,emptydir:QJ}});var nJ=P((N4,uJ)=>{var e0=N().fromPromise,$J=import.meta.require("path"),p=g(),kJ=i();async function t0(q){let J;try{J=await p.stat(q)}catch{}if(J&&J.isFile())return;let O=$J.dirname(q),z=null;try{z=await p.stat(O)}catch(U){if(U.code==="ENOENT"){await kJ.mkdirs(O),await p.writeFile(q,"");return}else throw U}if(z.isDirectory())await p.writeFile(q,"");else await p.readdir(O)}function s0(q){let J;try{J=p.statSync(q)}catch{}if(J&&J.isFile())return;let O=$J.dirname(q);try{if(!p.statSync(O).isDirectory())p.readdirSync(O)}catch(z){if(z&&z.code==="ENOENT")kJ.mkdirsSync(O);else throw z}p.writeFileSync(q,"")}uJ.exports={createFile:e0(t0),createFileSync:s0}});var mJ=P((M4,bJ)=>{var q6=N().fromPromise,vJ=import.meta.require("path"),o=g(),SJ=i(),{pathExists:J6}=f(),{areIdentical:gJ}=e();async function O6(q,J){let O;try{O=await o.lstat(J)}catch{}let z;try{z=await o.lstat(q)}catch(Y){throw Y.message=Y.message.replace("lstat","ensureLink"),Y}if(O&&gJ(z,O))return;let U=vJ.dirname(J);if(!await J6(U))await SJ.mkdirs(U);await o.link(q,J)}function z6(q,J){let O;try{O=o.lstatSync(J)}catch{}try{let X=o.lstatSync(q);if(O&&gJ(X,O))return}catch(X){throw X.message=X.message.replace("lstat","ensureLink"),X}let z=vJ.dirname(J);if(o.existsSync(z))return o.linkSync(q,J);return SJ.mkdirsSync(z),o.linkSync(q,J)}bJ.exports={createLink:q6(O6),createLinkSync:z6}});var iJ=P((T4,hJ)=>{var r=import.meta.require("path"),_q=g(),{pathExists:U6}=f(),X6=N().fromPromise;async function Y6(q,J){if(r.isAbsolute(q)){try{await _q.lstat(q)}catch(X){throw X.message=X.message.replace("lstat","ensureSymlink"),X}return{toCwd:q,toDst:q}}let O=r.dirname(J),z=r.join(O,q);if(await U6(z))return{toCwd:z,toDst:q};try{await _q.lstat(q)}catch(X){throw X.message=X.message.replace("lstat","ensureSymlink"),X}return{toCwd:q,toDst:r.relative(O,q)}}function Z6(q,J){if(r.isAbsolute(q)){if(!_q.existsSync(q))throw new Error("absolute srcpath does not exist");return{toCwd:q,toDst:q}}let O=r.dirname(J),z=r.join(O,q);if(_q.existsSync(z))return{toCwd:z,toDst:q};if(!_q.existsSync(q))throw new Error("relative srcpath does not exist");return{toCwd:q,toDst:r.relative(O,q)}}hJ.exports={symlinkPaths:X6(Y6),symlinkPathsSync:Z6}});var cJ=P((F4,pJ)=>{var lJ=g(),G6=N().fromPromise;async function K6(q,J){if(J)return J;let O;try{O=await lJ.lstat(q)}catch{return"file"}return O&&O.isDirectory()?"dir":"file"}function _6(q,J){if(J)return J;let O;try{O=lJ.lstatSync(q)}catch{return"file"}return O&&O.isDirectory()?"dir":"file"}pJ.exports={symlinkType:G6(K6),symlinkTypeSync:_6}});var rJ=P(($4,oJ)=>{var H6=N().fromPromise,dJ=import.meta.require("path"),l=g(),{mkdirs:L6,mkdirsSync:E6}=i(),{symlinkPaths:V6,symlinkPathsSync:P6}=iJ(),{symlinkType:A6,symlinkTypeSync:x6}=cJ(),{pathExists:w6}=f(),{areIdentical:fJ}=e();async function B6(q,J,O){let z;try{z=await l.lstat(J)}catch{}if(z&&z.isSymbolicLink()){let[K,j]=await Promise.all([l.stat(q),l.stat(J)]);if(fJ(K,j))return}let U=await V6(q,J);q=U.toDst;let X=await A6(U.toCwd,O),Y=dJ.dirname(J);if(!await w6(Y))await L6(Y);return l.symlink(q,J,X)}function C6(q,J,O){let z;try{z=l.lstatSync(J)}catch{}if(z&&z.isSymbolicLink()){let K=l.statSync(q),j=l.statSync(J);if(fJ(K,j))return}let U=P6(q,J);q=U.toDst,O=x6(U.toCwd,O);let X=dJ.dirname(J);if(l.existsSync(X))return l.symlinkSync(q,J,O);return E6(X),l.symlinkSync(q,J,O)}oJ.exports={createSymlink:H6(B6),createSymlinkSync:C6}});var zO=P((k4,OO)=>{var{createFile:aJ,createFileSync:eJ}=nJ(),{createLink:tJ,createLinkSync:sJ}=mJ(),{createSymlink:qO,createSymlinkSync:JO}=rJ();OO.exports={createFile:aJ,createFileSync:eJ,ensureFile:aJ,ensureFileSync:eJ,createLink:tJ,createLinkSync:sJ,ensureLink:tJ,ensureLinkSync:sJ,createSymlink:qO,createSymlinkSync:JO,ensureSymlink:qO,ensureSymlinkSync:JO}});var xq=P((u4,UO)=>{function D6(q,{EOL:J="\n",finalEOL:O=!0,replacer:z=null,spaces:U}={}){let X=O?J:"";return JSON.stringify(q,z,U).replace(/\n/g,J)+X}function j6(q){if(Buffer.isBuffer(q))q=q.toString("utf8");return q.replace(/^\uFEFF/,"")}UO.exports={stringify:D6,stripBom:j6}});var GO=P((n4,ZO)=>{var Oq;try{Oq=s()}catch(q){Oq=import.meta.require("fs")}var wq=N(),{stringify:XO,stripBom:YO}=xq();async function R6(q,J={}){if(typeof J==="string")J={encoding:J};let O=J.fs||Oq,z="throws"in J?J.throws:!0,U=await wq.fromCallback(O.readFile)(q,J);U=YO(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 Q6=wq.fromPromise(R6);function y6(q,J={}){if(typeof J==="string")J={encoding:J};let O=J.fs||Oq,z="throws"in J?J.throws:!0;try{let U=O.readFileSync(q,J);return U=YO(U),JSON.parse(U,J.reviver)}catch(U){if(z)throw U.message=`${q}: ${U.message}`,U;else return null}}async function W6(q,J,O={}){let z=O.fs||Oq,U=XO(J,O);await wq.fromCallback(z.writeFile)(q,U,O)}var I6=wq.fromPromise(W6);function N6(q,J,O={}){let z=O.fs||Oq,U=XO(J,O);return z.writeFileSync(q,U,O)}var M6={readFile:Q6,readFileSync:y6,writeFile:I6,writeFileSync:N6};ZO.exports=M6});var _O=P((v4,KO)=>{var Bq=GO();KO.exports={readJson:Bq.readFile,readJsonSync:Bq.readFileSync,writeJson:Bq.writeFile,writeJsonSync:Bq.writeFileSync}});var Cq=P((S4,EO)=>{var T6=N().fromPromise,kq=g(),HO=import.meta.require("path"),LO=i(),F6=f().pathExists;async function $6(q,J,O="utf-8"){let z=HO.dirname(q);if(!await F6(z))await LO.mkdirs(z);return kq.writeFile(q,J,O)}function k6(q,...J){let O=HO.dirname(q);if(!kq.existsSync(O))LO.mkdirsSync(O);kq.writeFileSync(q,...J)}EO.exports={outputFile:T6($6),outputFileSync:k6}});var PO=P((g4,VO)=>{var{stringify:u6}=xq(),{outputFile:n6}=Cq();async function v6(q,J,O={}){let z=u6(J,O);await n6(q,z,O)}VO.exports=v6});var xO=P((b4,AO)=>{var{stringify:S6}=xq(),{outputFileSync:g6}=Cq();function b6(q,J,O){let z=S6(J,O);g6(q,z,O)}AO.exports=b6});var BO=P((m4,wO)=>{var m6=N().fromPromise,m=_O();m.outputJson=m6(PO());m.outputJsonSync=xO();m.outputJSON=m.outputJson;m.outputJSONSync=m.outputJsonSync;m.writeJSON=m.writeJson;m.writeJSONSync=m.writeJsonSync;m.readJSON=m.readJson;m.readJSONSync=m.readJsonSync;wO.exports=m});var QO=P((h4,RO)=>{var h6=g(),CO=import.meta.require("path"),{copy:i6}=Aq(),{remove:jO}=Kq(),{mkdirp:l6}=i(),{pathExists:p6}=f(),DO=e();async function c6(q,J,O={}){let z=O.overwrite||O.clobber||!1,{srcStat:U,isChangingCase:X=!1}=await DO.checkPaths(q,J,"move",O);await DO.checkParentPaths(q,U,J,"move");let Y=CO.dirname(J);if(CO.parse(Y).root!==Y)await l6(Y);return d6(q,J,z,X)}async function d6(q,J,O,z){if(!z){if(O)await jO(J);else if(await p6(J))throw new Error("dest already exists.")}try{await h6.rename(q,J)}catch(U){if(U.code!=="EXDEV")throw U;await f6(q,J,O)}}async function f6(q,J,O){return await i6(q,J,{overwrite:O,errorOnExist:!0,preserveTimestamps:!0}),jO(q)}RO.exports=c6});var MO=P((i4,NO)=>{var WO=s(),nq=import.meta.require("path"),o6=Aq().copySync,IO=Kq().removeSync,r6=i().mkdirpSync,yO=e();function a6(q,J,O){O=O||{};let z=O.overwrite||O.clobber||!1,{srcStat:U,isChangingCase:X=!1}=yO.checkPathsSync(q,J,"move",O);if(yO.checkParentPathsSync(q,U,J,"move"),!e6(J))r6(nq.dirname(J));return t6(q,J,z,X)}function e6(q){let J=nq.dirname(q);return nq.parse(J).root===J}function t6(q,J,O,z){if(z)return uq(q,J,O);if(O)return IO(J),uq(q,J,O);if(WO.existsSync(J))throw new Error("dest already exists.");return uq(q,J,O)}function uq(q,J,O){try{WO.renameSync(q,J)}catch(z){if(z.code!=="EXDEV")throw z;return s6(q,J,O)}}function s6(q,J,O){return o6(q,J,{overwrite:O,errorOnExist:!0,preserveTimestamps:!0}),IO(q)}NO.exports=a6});var FO=P((l4,TO)=>{var q4=N().fromPromise;TO.exports={move:q4(QO()),moveSync:MO()}});var kO=P((p4,$O)=>{$O.exports={...g(),...Aq(),...FJ(),...zO(),...BO(),...i(),...FO(),...Cq(),...f(),...Kq()}});var vq=mO(kO(),1);import z4 from"process";import{projectPath as U4}from"@stacksjs/path";import{ValidationBoolean as X4,ValidationEnum as Y4,ValidationNumber as Z4}from"@stacksjs/validation";import{schema as c}from"@stacksjs/validation";import{schema as E}from"@stacksjs/validation";var uO={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 J4={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"]},O4=Object.entries(uO).reduce((q,[J,O])=>{let z;switch(typeof O){case"string":z=c.string();break;case"number":z=c.number();break;case"boolean":z=c.boolean();break;default:if(Array.isArray(O)){z=c.enum(O);break}if(typeof O==="object"){let X=Symbol.for("schema_name"),Y=O[X];if(Y==="vine.string"){z=c.string();break}if(Y==="vine.number"){z=c.number();break}if(Y==="vine.boolean"){z=c.boolean();break}if(!Y){z=c.enum(J4.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},{}),r4=c.object(O4);var G4={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 Y4)return q[J];if(O instanceof X4)return!!q[J];if(O instanceof Z4)return Number(q[J]);return O}};function K4(){return typeof Bun!=="undefined"?Bun.env:z4.env}var qz=new Proxy(K4(),G4);function Jz(q,J,O){let z=O?.path||U4(".env"),X=vq.default.readFileSync(z,"utf-8").split("\n"),Y=X.findIndex((K)=>K.startsWith(`${q}=`));if(Y!==-1)X[Y]=`${q}=${J}`;else X.push(`${q}=${J}`);vq.default.writeFileSync(z,X.join("\n"))}export{Jz as writeEnv,K4 as process,r4 as envSchema,J4 as envEnum,qz as env};
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;
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;
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};
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { EnvKey } from '../../../env';
2
- import type { VineBoolean, VineEnum, VineNumber, VineString } from '@stacksjs/validation';
2
+ import type { Infer, VineBoolean, VineEnum, VineNumber, VineString } from '@stacksjs/validation';
3
3
 
4
4
  declare interface EnumObject {
5
5
  [key: string]: string[]
@@ -19,7 +19,8 @@ type EnvMap = {
19
19
  ? VineEnum<string[]>
20
20
  : unknown
21
21
  }
22
- declare type ValidatorType = VineString | VineNumber | VineBoolean | VineEnum<string[]>
22
+
23
+ type ValidatorType = VineString | VineNumber | VineBoolean | VineEnum<string[]>
23
24
 
24
25
  const envStructure = Object.entries(env).reduce((acc, [key, value]) => {
25
26
  let validatorType: ValidatorType
@@ -74,11 +75,15 @@ const envStructure = Object.entries(env).reduce((acc, [key, value]) => {
74
75
  acc[envKey] = validatorType as any
75
76
  return acc
76
77
  }, {} as EnvMap)
77
- export declare const envSchema: unknown;
78
- export declare type EnvOptions = Env
78
+
79
+ export const envSchema = schema.object(envStructure)
80
+ export type Env = Infer<typeof envSchema>
81
+
82
+ export type EnvOptions = Env
79
83
  export type EnvConfig = Partial<Record<EnvKey, EnvValue>>
80
- export declare interface FrontendEnv {
84
+
85
+ export interface FrontendEnv {
81
86
  FRONTEND_APP_ENV: 'local' | 'development' | 'staging' | 'production'
82
87
  FRONTEND_APP_URL: string
83
88
  }
84
- export declare type FrontendEnvKeys = keyof FrontendEnv
89
+ export type FrontendEnvKeys = keyof FrontendEnv
package/dist/utils.d.ts CHANGED
@@ -1 +1,18 @@
1
- export {
1
+ export {
2
+ hasTTY,
3
+ hasWindow,
4
+ isBun,
5
+ isCI,
6
+ isColorSupported,
7
+ isDebug,
8
+ isLinux,
9
+ isMacOS,
10
+ isMinimal,
11
+ isNode,
12
+ isWindows,
13
+ platform,
14
+ provider,
15
+ providerInfo,
16
+ runtime,
17
+ runtimeInfo,
18
+ } from 'std-env'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/env",
3
3
  "type": "module",
4
- "version": "0.68.0",
4
+ "version": "0.69.1",
5
5
  "description": "Stacks env helper methods.",
6
6
  "author": "Chris Breuer",
7
7
  "contributors": ["Chris Breuer <chris@stacksjs.org>"],
@@ -32,13 +32,11 @@
32
32
  "typecheck": "bun tsc --noEmit",
33
33
  "prepublishOnly": "bun run build"
34
34
  },
35
- "dependencies": {
36
- "@stacksjs/validation": "0.67.0",
37
- "fs-extra": "^11.2.0",
38
- "std-env": "^3.7.0"
39
- },
40
35
  "devDependencies": {
41
- "@stacksjs/development": "0.67.0",
42
- "@stacksjs/path": "0.67.0"
36
+ "@stacksjs/development": "0.68.2",
37
+ "@stacksjs/path": "0.68.2",
38
+ "@stacksjs/validation": "0.68.2",
39
+ "fs-extra": "^11.3.0",
40
+ "std-env": "^3.8.0"
43
41
  }
44
42
  }