@vitnode/core 1.2.0-canary.32 → 1.2.0-canary.34
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/LICENSE.md +1 -1
- package/dist/scripts/scripts.js +4 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
package/LICENSE.md
CHANGED
package/dist/scripts/scripts.js
CHANGED
|
@@ -3,10 +3,10 @@ import 'tsx/esm';
|
|
|
3
3
|
import { createRequire } from 'module';
|
|
4
4
|
const require = createRequire(import.meta.url);
|
|
5
5
|
|
|
6
|
-
var
|
|
7
|
-
`);let i;for(;(i=
|
|
8
|
-
`),n=n.replace(/\\r/g,"\r")),t[r]=n}return t}function is(e){e=e||{};let t=Qe(e);e.path=t;let s=E.configDotenv(e);if(!s.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw o.code="MISSING_DATA",o}let i=Je(e).split(","),r=i.length,n;for(let o=0;o<r;o++)try{let a=i[o].trim(),c=os(s,a);n=E.decrypt(c.ciphertext,c.key);break}catch(a){if(o+1>=r)throw a}return E.parse(n)}function ns(e){console.error(`[dotenv@${Ne}][WARN] ${e}`)}function M(e){console.log(`[dotenv@${Ne}][DEBUG] ${e}`)}function Ge(e){console.log(`[dotenv@${Ne}] ${e}`)}function Je(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function os(e,t){let s;try{s=new URL(t)}catch(a){if(a.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw a}let i=s.password;if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let r=s.searchParams.get("environment");if(!r){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let n=`DOTENV_VAULT_${r.toUpperCase()}`,o=e.parsed[n];if(!o){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:o,key:i}}function Qe(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let s of e.path)De.existsSync(s)&&(t=s.endsWith(".vault")?s:`${s}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=Z.resolve(process.cwd(),".env.vault");return De.existsSync(t)?t:null}function Be(e){return e[0]==="~"?Z.join(Jt.homedir(),e.slice(1)):e}function as(e){let t=!!(e&&e.debug),s=!!(e&&e.quiet);(t||!s)&&Ge("Loading env from encrypted .env.vault");let i=E._parseVault(e),r=process.env;return e&&e.processEnv!=null&&(r=e.processEnv),E.populate(r,i,e),{parsed:i}}function cs(e){let t=Z.resolve(process.cwd(),".env"),s="utf8",i=!!(e&&e.debug),r=!!(e&&e.quiet);e&&e.encoding?s=e.encoding:i&&M("No encoding is specified. UTF-8 is used by default");let n=[t];if(e&&e.path)if(!Array.isArray(e.path))n=[Be(e.path)];else{n=[];for(let l of e.path)n.push(Be(l))}let o,a={};for(let l of n)try{let u=E.parse(De.readFileSync(l,{encoding:s}));E.populate(a,u,e)}catch(u){i&&M(`Failed to load ${l} ${u.message}`),o=u}let c=process.env;e&&e.processEnv!=null&&(c=e.processEnv);let d=E.populate(c,a,e);if(i||!r){let l=Object.keys(d).length,u=[];for(let f of n)try{let m=Z.relative(process.cwd(),f);u.push(m)}catch(m){i&&M(`Failed to load ${f} ${m.message}`),o=m}Ge(`injecting env (${l}) from ${u.join(",")} ${ts(`(tip: ${Zt()})`)}`)}return o?{parsed:a,error:o}:{parsed:a}}function ls(e){if(Je(e).length===0)return E.configDotenv(e);let t=Qe(e);return t?E._configVault(e):(ns(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),E.configDotenv(e))}function ds(e,t){let s=Buffer.from(t.slice(-64),"hex"),i=Buffer.from(e,"base64"),r=i.subarray(0,12),n=i.subarray(-16);i=i.subarray(12,-16);try{let o=Qt.createDecipheriv("aes-256-gcm",s,r);return o.setAuthTag(n),`${o.update(i)}${o.final()}`}catch(o){let a=o instanceof RangeError,c=o.message==="Invalid key length",d=o.message==="Unsupported state or unable to authenticate data";if(a||c){let l=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw l.code="INVALID_DOTENV_KEY",l}else if(d){let l=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw l.code="DECRYPTION_FAILED",l}else throw o}}function us(e,t,s={}){let i=!!(s&&s.debug),r=!!(s&&s.override),n={};if(typeof t!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(t))Object.prototype.hasOwnProperty.call(e,o)?(r===!0&&(e[o]=t[o],n[o]=t[o]),i&&M(r===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):(e[o]=t[o],n[o]=t[o]);return n}var E={configDotenv:cs,_configVault:as,_parseVault:is,config:ls,decrypt:ds,parse:rs,populate:us};k.exports.configDotenv=E.configDotenv;k.exports._configVault=E._configVault;k.exports._parseVault=E._parseVault;k.exports.config=E.config;k.exports.decrypt=E.decrypt;k.exports.parse=E.parse;k.exports.populate=E.populate;k.exports=E});var Mt=Bt(Xe(),1);import{stat as Vs}from"fs";import{stat as Ys,readdir as zs}from"fs/promises";import{EventEmitter as Ks}from"events";import*as p from"path";import{stat as fs,lstat as Ze,readdir as hs,realpath as ps}from"fs/promises";import{Readable as ms}from"stream";import{resolve as et,relative as gs,join as _s,sep as ws}from"path";var x={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Pe={root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:x.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Pe);var it="READDIRP_RECURSIVE_ERROR",ys=new Set(["ENOENT","EPERM","EACCES","ELOOP",it]),tt=[x.DIR_TYPE,x.EVERYTHING_TYPE,x.FILE_DIR_TYPE,x.FILE_TYPE],vs=new Set([x.DIR_TYPE,x.EVERYTHING_TYPE,x.FILE_DIR_TYPE]),Es=new Set([x.EVERYTHING_TYPE,x.FILE_DIR_TYPE,x.FILE_TYPE]),bs=e=>ys.has(e.code),xs=process.platform==="win32",st=e=>!0,rt=e=>{if(e===void 0)return st;if(typeof e=="function")return e;if(typeof e=="string"){let t=e.trim();return s=>s.basename===t}if(Array.isArray(e)){let t=e.map(s=>s.trim());return s=>t.some(i=>s.basename===i)}return st},Ie=class extends ms{constructor(t={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:t.highWaterMark});let s={...Pe,...t},{root:i,type:r}=s;this._fileFilter=rt(s.fileFilter),this._directoryFilter=rt(s.directoryFilter);let n=s.lstat?Ze:fs;xs?this._stat=o=>n(o,{bigint:!0}):this._stat=n,this._maxDepth=s.depth??Pe.depth,this._wantsDir=r?vs.has(r):!1,this._wantsFile=r?Es.has(r):!1,this._wantsEverything=r===x.EVERYTHING_TYPE,this._root=et(i),this._isDirent=!s.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(i,1)],this.reading=!1,this.parent=void 0}async _read(t){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&t>0;){let s=this.parent,i=s&&s.files;if(i&&i.length>0){let{path:r,depth:n}=s,o=i.splice(0,t).map(c=>this._formatEntry(c,r)),a=await Promise.all(o);for(let c of a){if(!c)continue;if(this.destroyed)return;let d=await this._getEntryType(c);d==="directory"&&this._directoryFilter(c)?(n<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,n+1)),this._wantsDir&&(this.push(c),t--)):(d==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),t--)}}else{let r=this.parents.pop();if(!r){this.push(null);break}if(this.parent=await r,this.destroyed)return}}}catch(s){this.destroy(s)}finally{this.reading=!1}}}async _exploreDir(t,s){let i;try{i=await hs(t,this._rdOptions)}catch(r){this._onError(r)}return{files:i,depth:s,path:t}}async _formatEntry(t,s){let i,r=this._isDirent?t.name:t;try{let n=et(_s(s,r));i={path:gs(this._root,n),fullPath:n,basename:r},i[this._statsProp]=this._isDirent?t:await this._stat(n)}catch(n){this._onError(n);return}return i}_onError(t){bs(t)&&!this.destroyed?this.emit("warn",t):this.destroy(t)}async _getEntryType(t){if(!t&&this._statsProp in t)return"";let s=t[this._statsProp];if(s.isFile())return"file";if(s.isDirectory())return"directory";if(s&&s.isSymbolicLink()){let i=t.fullPath;try{let r=await ps(i),n=await Ze(r);if(n.isFile())return"file";if(n.isDirectory()){let o=r.length;if(i.startsWith(r)&&i.substr(o,1)===ws){let a=new Error(`Circular symlink detected: "${i}" points to "${r}"`);return a.code=it,this._onError(a)}return"directory"}}catch(r){return this._onError(r),""}}}_includeAsFile(t){let s=t&&t[this._statsProp];return s&&this._wantsEverything&&!s.isDirectory()}};function nt(e,t={}){let s=t.entryType||t.type;if(s==="both"&&(s=x.FILE_DIR_TYPE),s&&(t.type=s),e){if(typeof e!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(s&&!tt.includes(s))throw new Error(`readdirp: Invalid type passed. Use one of ${tt.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return t.root=e,new Ie(t)}import{watchFile as Ds,unwatchFile as ot,watch as Ns}from"fs";import{open as Ps,stat as ct,lstat as Is,realpath as Re}from"fs/promises";import*as y from"path";import{type as Rs}from"os";var Ts="data",ke="end",lt="close",ie=()=>{};var ne=process.platform,Se=ne==="win32",As=ne==="darwin",ks=ne==="linux",Ss=ne==="freebsd",dt=Rs()==="OS400",v={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},P=v,Fs="watch",Cs={lstat:Is,stat:ct},C="listeners",ee="errHandlers",j="rawEmitters",Ls=[C,ee,j],Os=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),js=e=>Os.has(y.extname(e).slice(1).toLowerCase()),Ae=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},V=(e,t,s)=>{let i=e[t];i instanceof Set||(e[t]=i=new Set([i])),i.add(s)},$s=e=>t=>{let s=e[t];s instanceof Set?s.clear():delete e[t]},Y=(e,t,s)=>{let i=e[t];i instanceof Set?i.delete(s):i===s&&delete e[t]},ut=e=>e instanceof Set?e.size===0:!e,te=new Map;function at(e,t,s,i,r){let n=(o,a)=>{s(e),r(o,a,{watchedPath:e}),a&&e!==a&&se(y.resolve(e,a),C,y.join(e,a))};try{return Ns(e,{persistent:t.persistent},n)}catch(o){i(o);return}}var se=(e,t,s,i,r)=>{let n=te.get(e);n&&Ae(n[t],o=>{o(s,i,r)})},Ws=(e,t,s,i)=>{let{listener:r,errHandler:n,rawEmitter:o}=i,a=te.get(t),c;if(!s.persistent)return c=at(e,s,r,n,o),c?c.close.bind(c):void 0;if(a)V(a,C,r),V(a,ee,n),V(a,j,o);else{if(c=at(e,s,se.bind(null,t,C),n,se.bind(null,t,j)),!c)return;c.on(P.ERROR,async d=>{let l=se.bind(null,t,ee);if(a&&(a.watcherUnusable=!0),Se&&d.code==="EPERM")try{await(await Ps(e,"r")).close(),l(d)}catch{}else l(d)}),a={listeners:r,errHandlers:n,rawEmitters:o,watcher:c},te.set(t,a)}return()=>{Y(a,C,r),Y(a,ee,n),Y(a,j,o),ut(a.listeners)&&(a.watcher.close(),te.delete(t),Ls.forEach($s(a)),a.watcher=void 0,Object.freeze(a))}},Te=new Map,Ms=(e,t,s,i)=>{let{listener:r,rawEmitter:n}=i,o=Te.get(t),a=o&&o.options;return a&&(a.persistent<s.persistent||a.interval>s.interval)&&(ot(t),o=void 0),o?(V(o,C,r),V(o,j,n)):(o={listeners:r,rawEmitters:n,options:s,watcher:Ds(t,s,(c,d)=>{Ae(o.rawEmitters,u=>{u(P.CHANGE,t,{curr:c,prev:d})});let l=c.mtimeMs;(c.size!==d.size||l>d.mtimeMs||l===0)&&Ae(o.listeners,u=>u(e,c))})},Te.set(t,o)),()=>{Y(o,C,r),Y(o,j,n),ut(o.listeners)&&(Te.delete(t),ot(t),o.options=o.watcher=void 0,Object.freeze(o))}},re=class{constructor(t){this.fsw=t,this._boundHandleError=s=>t._handleError(s)}_watchWithNodeFs(t,s){let i=this.fsw.options,r=y.dirname(t),n=y.basename(t);this.fsw._getWatchedDir(r).add(n);let a=y.resolve(t),c={persistent:i.persistent};s||(s=ie);let d;if(i.usePolling){let l=i.interval!==i.binaryInterval;c.interval=l&&js(n)?i.binaryInterval:i.interval,d=Ms(t,a,c,{listener:s,rawEmitter:this.fsw._emitRaw})}else d=Ws(t,a,c,{listener:s,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return d}_handleFile(t,s,i){if(this.fsw.closed)return;let r=y.dirname(t),n=y.basename(t),o=this.fsw._getWatchedDir(r),a=s;if(o.has(n))return;let c=async(l,u)=>{if(this.fsw._throttle(Fs,t,5)){if(!u||u.mtimeMs===0)try{let f=await ct(t);if(this.fsw.closed)return;let m=f.atimeMs,_=f.mtimeMs;if((!m||m<=_||_!==a.mtimeMs)&&this.fsw._emit(P.CHANGE,t,f),(As||ks||Ss)&&a.ino!==f.ino){this.fsw._closeFile(l),a=f;let N=this._watchWithNodeFs(t,c);N&&this.fsw._addPathCloser(l,N)}else a=f}catch{this.fsw._remove(r,n)}else if(o.has(n)){let f=u.atimeMs,m=u.mtimeMs;(!f||f<=m||m!==a.mtimeMs)&&this.fsw._emit(P.CHANGE,t,u),a=u}}},d=this._watchWithNodeFs(t,c);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(t)){if(!this.fsw._throttle(P.ADD,t,0))return;this.fsw._emit(P.ADD,t,s)}return d}async _handleSymlink(t,s,i,r){if(this.fsw.closed)return;let n=t.fullPath,o=this.fsw._getWatchedDir(s);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await Re(i)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(r)?this.fsw._symlinkPaths.get(n)!==a&&(this.fsw._symlinkPaths.set(n,a),this.fsw._emit(P.CHANGE,i,t.stats)):(o.add(r),this.fsw._symlinkPaths.set(n,a),this.fsw._emit(P.ADD,i,t.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(n))return!0;this.fsw._symlinkPaths.set(n,!0)}_handleRead(t,s,i,r,n,o,a){if(t=y.join(t,""),a=this.fsw._throttle("readdir",t,1e3),!a)return;let c=this.fsw._getWatchedDir(i.path),d=new Set,l=this.fsw._readdirp(t,{fileFilter:u=>i.filterPath(u),directoryFilter:u=>i.filterDir(u)});if(l)return l.on(Ts,async u=>{if(this.fsw.closed){l=void 0;return}let f=u.path,m=y.join(t,f);if(d.add(f),!(u.stats.isSymbolicLink()&&await this._handleSymlink(u,t,m,f))){if(this.fsw.closed){l=void 0;return}(f===r||!r&&!c.has(f))&&(this.fsw._incrReadyCount(),m=y.join(n,y.relative(n,m)),this._addToNodeFs(m,s,i,o+1))}}).on(P.ERROR,this._boundHandleError),new Promise((u,f)=>{if(!l)return f();l.once(ke,()=>{if(this.fsw.closed){l=void 0;return}let m=a?a.clear():!1;u(void 0),c.getChildren().filter(_=>_!==t&&!d.has(_)).forEach(_=>{this.fsw._remove(t,_)}),l=void 0,m&&this._handleRead(t,!1,i,r,n,o,a)})})}async _handleDir(t,s,i,r,n,o,a){let c=this.fsw._getWatchedDir(y.dirname(t)),d=c.has(y.basename(t));!(i&&this.fsw.options.ignoreInitial)&&!n&&!d&&this.fsw._emit(P.ADD_DIR,t,s),c.add(y.basename(t)),this.fsw._getWatchedDir(t);let l,u,f=this.fsw.options.depth;if((f==null||r<=f)&&!this.fsw._symlinkPaths.has(a)){if(!n&&(await this._handleRead(t,i,o,n,t,r,l),this.fsw.closed))return;u=this._watchWithNodeFs(t,(m,_)=>{_&&_.mtimeMs===0||this._handleRead(m,!1,o,n,t,r,l)})}return u}async _addToNodeFs(t,s,i,r,n){let o=this.fsw._emitReady;if(this.fsw._isIgnored(t)||this.fsw.closed)return o(),!1;let a=this.fsw._getWatchHelpers(t);i&&(a.filterPath=c=>i.filterPath(c),a.filterDir=c=>i.filterDir(c));try{let c=await Cs[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))return o(),!1;let d=this.fsw.options.followSymlinks,l;if(c.isDirectory()){let u=y.resolve(t),f=d?await Re(t):t;if(this.fsw.closed||(l=await this._handleDir(a.watchPath,c,s,r,n,a,f),this.fsw.closed))return;u!==f&&f!==void 0&&this.fsw._symlinkPaths.set(u,f)}else if(c.isSymbolicLink()){let u=d?await Re(t):t;if(this.fsw.closed)return;let f=y.dirname(a.watchPath);if(this.fsw._getWatchedDir(f).add(a.watchPath),this.fsw._emit(P.ADD,a.watchPath,c),l=await this._handleDir(f,c,s,r,t,a,u),this.fsw.closed)return;u!==void 0&&this.fsw._symlinkPaths.set(y.resolve(t),u)}else l=this._handleFile(a.watchPath,c,s);return o(),l&&this.fsw._addPathCloser(t,l),!1}catch(c){if(this.fsw._handleError(c))return o(),t}}};var Fe="/",Us="//",_t=".",Hs="..",qs="string",Bs=/\\/g,ft=/\/\//,Gs=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,Js=/^\.[/\\]/;function oe(e){return Array.isArray(e)?e:[e]}var Ce=e=>typeof e=="object"&&e!==null&&!(e instanceof RegExp);function Qs(e){return typeof e=="function"?e:typeof e=="string"?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e=="object"&&e!==null?t=>{if(e.path===t)return!0;if(e.recursive){let s=p.relative(e.path,t);return s?!s.startsWith("..")&&!p.isAbsolute(s):!1}return!1}:()=>!1}function Xs(e){if(typeof e!="string")throw new Error("string expected");e=p.normalize(e),e=e.replace(/\\/g,"/");let t=!1;e.startsWith("//")&&(t=!0);let s=/\/\//;for(;e.match(s);)e=e.replace(s,"/");return t&&(e="/"+e),e}function ht(e,t,s){let i=Xs(t);for(let r=0;r<e.length;r++){let n=e[r];if(n(i,s))return!0}return!1}function Zs(e,t){if(e==null)throw new TypeError("anymatch: specify first argument");let i=oe(e).map(r=>Qs(r));return t==null?(r,n)=>ht(i,r,n):ht(i,t)}var pt=e=>{let t=oe(e).flat();if(!t.every(s=>typeof s===qs))throw new TypeError(`Non-string provided as watch path: ${t}`);return t.map(wt)},mt=e=>{let t=e.replace(Bs,Fe),s=!1;for(t.startsWith(Us)&&(s=!0);t.match(ft);)t=t.replace(ft,Fe);return s&&(t=Fe+t),t},wt=e=>mt(p.normalize(mt(e))),gt=(e="")=>t=>typeof t=="string"?wt(p.isAbsolute(t)?t:p.join(e,t)):t,er=(e,t)=>p.isAbsolute(e)?e:p.join(t,e),tr=Object.freeze(new Set),Le=class{constructor(t,s){this.path=t,this._removeWatcher=s,this.items=new Set}add(t){let{items:s}=this;s&&t!==_t&&t!==Hs&&s.add(t)}async remove(t){let{items:s}=this;if(!s||(s.delete(t),s.size>0))return;let i=this.path;try{await zs(i)}catch{this._removeWatcher&&this._removeWatcher(p.dirname(i),p.basename(i))}}has(t){let{items:s}=this;if(s)return s.has(t)}getChildren(){let{items:t}=this;return t?[...t.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=ie,this.items=tr,Object.freeze(this)}},sr="stat",rr="lstat",Oe=class{constructor(t,s,i){this.fsw=i;let r=t;this.path=t=t.replace(Js,""),this.watchPath=r,this.fullWatchPath=p.resolve(r),this.dirParts=[],this.dirParts.forEach(n=>{n.length>1&&n.pop()}),this.followSymlinks=s,this.statMethod=s?sr:rr}entryPath(t){return p.join(this.watchPath,p.relative(this.watchPath,t.fullPath))}filterPath(t){let{stats:s}=t;if(s&&s.isSymbolicLink())return this.filterDir(t);let i=this.entryPath(t);return this.fsw._isntIgnored(i,s)&&this.fsw._hasReadPermissions(s)}filterDir(t){return this.fsw._isntIgnored(this.entryPath(t),t.stats)}},ae=class extends Ks{constructor(t={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let s=t.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...t,ignored:t.ignored?oe(t.ignored):oe([]),awaitWriteFinish:s===!0?i:typeof s=="object"?{...i,...s}:!1};dt&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let n=process.env.CHOKIDAR_USEPOLLING;if(n!==void 0){let c=n.toLowerCase();c==="false"||c==="0"?r.usePolling=!1:c==="true"||c==="1"?r.usePolling=!0:r.usePolling=!!c}let o=process.env.CHOKIDAR_INTERVAL;o&&(r.interval=Number.parseInt(o,10));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=ie,this._readyEmitted=!0,process.nextTick(()=>this.emit(v.READY)))},this._emitRaw=(...c)=>this.emit(v.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new re(this),Object.freeze(r)}_addIgnoredPath(t){if(Ce(t)){for(let s of this._ignoredPaths)if(Ce(s)&&s.path===t.path&&s.recursive===t.recursive)return}this._ignoredPaths.add(t)}_removeIgnoredPath(t){if(this._ignoredPaths.delete(t),typeof t=="string")for(let s of this._ignoredPaths)Ce(s)&&s.path===t&&this._ignoredPaths.delete(s)}add(t,s,i){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let n=pt(t);return r&&(n=n.map(o=>er(o,r))),n.forEach(o=>{this._removeIgnoredPath(o)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=n.length,Promise.all(n.map(async o=>{let a=await this._nodeFsHandler._addToNodeFs(o,!i,void 0,0,s);return a&&this._emitReady(),a})).then(o=>{this.closed||o.forEach(a=>{a&&this.add(p.dirname(a),p.basename(s||a))})}),this}unwatch(t){if(this.closed)return this;let s=pt(t),{cwd:i}=this.options;return s.forEach(r=>{!p.isAbsolute(r)&&!this._closers.has(r)&&(i&&(r=p.join(i,r)),r=p.resolve(r)),this._closePath(r),this._addIgnoredPath(r),this._watched.has(r)&&this._addIgnoredPath({path:r,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let t=[];return this._closers.forEach(s=>s.forEach(i=>{let r=i();r instanceof Promise&&t.push(r)})),this._streams.forEach(s=>s.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(s=>s.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=t.length?Promise.all(t).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let t={};return this._watched.forEach((s,i)=>{let n=(this.options.cwd?p.relative(this.options.cwd,i):i)||_t;t[n]=s.getChildren().sort()}),t}emitWithAll(t,s){this.emit(t,...s),t!==v.ERROR&&this.emit(v.ALL,t,...s)}async _emit(t,s,i){if(this.closed)return;let r=this.options;Se&&(s=p.normalize(s)),r.cwd&&(s=p.relative(r.cwd,s));let n=[s];i!=null&&n.push(i);let o=r.awaitWriteFinish,a;if(o&&(a=this._pendingWrites.get(s)))return a.lastChange=new Date,this;if(r.atomic){if(t===v.UNLINK)return this._pendingUnlinks.set(s,[t,...n]),setTimeout(()=>{this._pendingUnlinks.forEach((c,d)=>{this.emit(...c),this.emit(v.ALL,...c),this._pendingUnlinks.delete(d)})},typeof r.atomic=="number"?r.atomic:100),this;t===v.ADD&&this._pendingUnlinks.has(s)&&(t=v.CHANGE,this._pendingUnlinks.delete(s))}if(o&&(t===v.ADD||t===v.CHANGE)&&this._readyEmitted){let c=(d,l)=>{d?(t=v.ERROR,n[0]=d,this.emitWithAll(t,n)):l&&(n.length>1?n[1]=l:n.push(l),this.emitWithAll(t,n))};return this._awaitWriteFinish(s,o.stabilityThreshold,t,c),this}if(t===v.CHANGE&&!this._throttle(v.CHANGE,s,50))return this;if(r.alwaysStat&&i===void 0&&(t===v.ADD||t===v.ADD_DIR||t===v.CHANGE)){let c=r.cwd?p.join(r.cwd,s):s,d;try{d=await Ys(c)}catch{}if(!d||this.closed)return;n.push(d)}return this.emitWithAll(t,n),this}_handleError(t){let s=t&&t.code;return t&&s!=="ENOENT"&&s!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||s!=="EPERM"&&s!=="EACCES")&&this.emit(v.ERROR,t),t||this.closed}_throttle(t,s,i){this._throttled.has(t)||this._throttled.set(t,new Map);let r=this._throttled.get(t);if(!r)throw new Error("invalid throttle");let n=r.get(s);if(n)return n.count++,!1;let o,a=()=>{let d=r.get(s),l=d?d.count:0;return r.delete(s),clearTimeout(o),d&&clearTimeout(d.timeoutObject),l};o=setTimeout(a,i);let c={timeoutObject:o,clear:a,count:0};return r.set(s,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(t,s,i,r){let n=this.options.awaitWriteFinish;if(typeof n!="object")return;let o=n.pollInterval,a,c=t;this.options.cwd&&!p.isAbsolute(t)&&(c=p.join(this.options.cwd,t));let d=new Date,l=this._pendingWrites;function u(f){Vs(c,(m,_)=>{if(m||!l.has(t)){m&&m.code!=="ENOENT"&&r(m);return}let N=Number(new Date);f&&_.size!==f.size&&(l.get(t).lastChange=N);let W=l.get(t);N-W.lastChange>=s?(l.delete(t),r(void 0,_)):a=setTimeout(u,o,_)})}l.has(t)||(l.set(t,{lastChange:d,cancelWait:()=>(l.delete(t),clearTimeout(a),i)}),a=setTimeout(u,o))}_isIgnored(t,s){if(this.options.atomic&&Gs.test(t))return!0;if(!this._userIgnored){let{cwd:i}=this.options,n=(this.options.ignored||[]).map(gt(i)),a=[...[...this._ignoredPaths].map(gt(i)),...n];this._userIgnored=Zs(a,void 0)}return this._userIgnored(t,s)}_isntIgnored(t,s){return!this._isIgnored(t,s)}_getWatchHelpers(t){return new Oe(t,this.options.followSymlinks,this)}_getWatchedDir(t){let s=p.resolve(t);return this._watched.has(s)||this._watched.set(s,new Le(s,this._boundRemove)),this._watched.get(s)}_hasReadPermissions(t){return this.options.ignorePermissionErrors?!0:!!(Number(t.mode)&256)}_remove(t,s,i){let r=p.join(t,s),n=p.resolve(r);if(i=i??(this._watched.has(r)||this._watched.has(n)),!this._throttle("remove",r,100))return;!i&&this._watched.size===1&&this.add(t,s,!0),this._getWatchedDir(r).getChildren().forEach(f=>this._remove(r,f));let c=this._getWatchedDir(t),d=c.has(s);c.remove(s),this._symlinkPaths.has(n)&&this._symlinkPaths.delete(n);let l=r;if(this.options.cwd&&(l=p.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(l)&&this._pendingWrites.get(l).cancelWait()===v.ADD)return;this._watched.delete(r),this._watched.delete(n);let u=i?v.UNLINK_DIR:v.UNLINK;d&&!this._isIgnored(r)&&this._emit(u,r),this._closePath(r)}_closePath(t){this._closeFile(t);let s=p.dirname(t);this._getWatchedDir(s).remove(p.basename(t))}_closeFile(t){let s=this._closers.get(t);s&&(s.forEach(i=>i()),this._closers.delete(t))}_addPathCloser(t,s){if(!s)return;let i=this._closers.get(t);i||(i=[],this._closers.set(t,i)),i.push(s)}_readdirp(t,s){if(this.closed)return;let i={type:v.ALL,alwaysStat:!0,lstat:!0,...s,depth:0},r=nt(t,i);return this._streams.add(r),r.once(lt,()=>{r=void 0}),r.once(ke,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};function ir(e,t={}){let s=new ae(t);return s.add(e),s}var yt={watch:ir,FSWatcher:ae};import{existsSync as L,mkdirSync as gr,readFileSync as _r,unlinkSync as wr}from"fs";import{basename as bt,join as D,relative as xt}from"path";import{copyFileSync as nr,existsSync as R,mkdirSync as or,readdirSync as $e,readFileSync as ar,writeFileSync as cr}from"fs";import{basename as vt,dirname as z,extname as lr,join as I,normalize as dr,relative as $,sep as ur}from"path";var fr=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"]([./]+[^'"]*)['"]/g,hr=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"](@\/[^'"]*)['"]/g,pr=/import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)/g,ce=/\.(js|jsx|ts|tsx)$/,je=/^page\.(tsx|ts|jsx|js)$/i,K=(e,t)=>{let i=$(t,e).split(ur);i.pop();let r=i.filter(n=>!n.startsWith("("));return dr(r.join("/"))},le=e=>{let t=new Map,s=i=>{if(R(i))for(let r of $e(i,{withFileTypes:!0})){let n=I(i,r.name);if(r.isDirectory()){s(n);continue}if(je.test(r.name)){let o=K(n,e);t.set(o,n)}}};return s(e),t},mr=(e,t)=>{let s=e.replace(fr,(i,r)=>{if(r.startsWith(".")){let o=r.replace(ce,"").replace(/^(?:\.\.\/)+/,"");return i.replace(r,`${t}/${o}`)}return i});return s=s.replace(hr,(i,r)=>{let n=r.replace(/^@\//,"").replace(ce,"");return i.replace(r,`${t}/${n}`)}),s=s.replace(pr,(i,r)=>{let n=r.replace(/^@\//,"").replace(ce,"");return i.replace(r,`${t}/${n}`)}),s=s.replace(/dynamic\s*\(\s*\(\s*=>\s*import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)\s*\)\s*\)/g,(i,r)=>{let n=r.replace(/^@\//,"").replace(ce,"");return i.replace(r,`${t}/${n}`)}),s};function de(e){let t=e;for(;t!==z(t);){if(R(I(t,"turbo.json"))||R(I(t,".git")))return t;t=z(t)}let s=I(e,"package.json");if(R(s))return z(s);throw new Error("\u274C Could not locate project root")}function ue(e){let t=I(e,"src","app","[locale]");if(R(t))return t;let i=(n=>{let o=[];if(!R(n))return o;let a=(c,d=0)=>{if(!(d>4))try{let l=$e(c,{withFileTypes:!0});for(let u of l){if(!u.isDirectory())continue;let f=I(c,u.name);if(u.name==="[locale]"&&z(f).endsWith(I("src","app"))){o.push(f);continue}a(f,d+1)}}catch{}};return a(n),o})(e);return i.length>0?i[0]:I(e,"apps","docs","src","app","[locale]")}var U=e=>{let t=[];if(!R(e))return t;let s=$e(e,{withFileTypes:!0});for(let i of s){let r=I(e,i.name);i.isDirectory()?t.push(...U(r)):t.push(r)}return t},H=e=>R(e)?U(e).length===0:!0,We=(e,t,s,i,r,n,o=!0)=>{let a=vt(e);if(je.test(a)){let c=K(t,r),d=i.get(c);if(d&&d!==t){o&&console.log(`\x1B[31mSkipped duplicate page:\x1B[0m ${$(n,t)} (collides with ${$(n,d)})`);return}}try{let c=z(t);R(c)||or(c,{recursive:!0});let d=lr(e);if(s&&[".js",".jsx",".ts",".tsx"].includes(d)){let l=ar(e,"utf-8"),u=mr(l,s);cr(t,u)}else nr(e,t);if(o){let l=e.indexOf(I("src","app")),u=l!==-1?e.substring(l):e.startsWith(n)?$(n,e):e,f=t.startsWith(n)?$(n,t):t;console.log(`\x1B[32mCopied:\x1B[0m ${u} \u2192 ${f}`)}if(je.test(vt(t))){let l=K(t,r);i.set(l,t)}}catch(c){console.error(`\x1B[31mError copying file:\x1B[0m ${e}`,c)}},Et=(e,t,s,i,r,n,o=!0)=>{if(!R(e)||H(e))return;let a=U(e);for(let c of a){let d=$(e,c),l=I(t,d);We(c,l,s,i,r,n,o)}};var Dt=({initMessage:e})=>{let t=process.cwd(),s=de(t),i=ue(s),r=le(i),n=bt(t);try{let h=D(t,"package.json");L(h)&&(n=JSON.parse(_r(h,"utf-8")).name??"")}catch(h){console.error("\x1B[31mError reading package.json:\x1B[0m",h);return}let o=n.replace(/\//g,"-").replace(/@/g,""),a=D(s,"apps","docs","src","app","[locale]","(main)",D("(plugins)",`(${o})`)),c=D(s,"apps","docs","src","app","[locale]","admin","(auth)",D("(plugins)",`(${o})`)),d=D(s,"apps","docs","src","locales",n),l=[{sourceDir:D(t,"src","app_admin"),destinationDir:c},{sourceDir:D(t,"src","app"),destinationDir:a},{sourceDir:D(t,"src","locales"),destinationDir:d}];for(let{sourceDir:h,destinationDir:w}of l)L(h)&&!H(h)&&!L(w)&&gr(w,{recursive:!0});let u=(h,w)=>{We(h,w,n,r,i,s)},f=h=>{try{if(L(h)&&(wr(h),console.log(`\x1B[33mRemoved:\x1B[0m ${h}`),/^page\.(tsx|ts|jsx|js)$/i.test(bt(h)))){let w=K(h,i);r.get(w)===h&&r.delete(w)}}catch(w){console.error(`\x1B[31mError removing file:\x1B[0m ${h}`,w)}},m=(h,w)=>{if(!L(w)||w.includes(D("src","locales")))return;let xe=U(w);for(let F of xe){let Q=xt(w,F),Vt=D(h,Q);L(Vt)||f(F)}};for(let{sourceDir:h,destinationDir:w}of l)m(h,w);console.log(`${e} \x1B[34mWatching for changes in plugins...\x1B[0m`);let _=l.map(h=>h.sourceDir).filter(h=>L(h)),N=yt.watch(_,{ignoreInitial:!1,persistent:!0}),W=h=>{let w=l.filter(({sourceDir:F})=>h.startsWith(F));if(w.length===0)throw new Error(`No matching source directory for: ${h}`);let be=w.reduce((F,Q)=>Q.sourceDir.length>F.sourceDir.length?Q:F),xe=xt(be.sourceDir,h);return D(be.destinationDir,xe)};N.on("add",h=>{let w=W(h);u(h,w)}).on("change",h=>{let w=W(h);u(h,w)}).on("unlink",h=>{let w=W(h);f(w)}).on("error",h=>{console.error("\x1B[31mWatcher error:\x1B[0m",h)})};import{count as Ct}from"drizzle-orm";import{relations as Tt}from"drizzle-orm";import{index as we,pgTable as At}from"drizzle-orm/pg-core";import{pgTable as yr}from"drizzle-orm/pg-core";var b=yr("core_roles",e=>({id:e.serial().primaryKey(),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1),default:e.boolean().notNull().default(!1),root:e.boolean().notNull().default(!1),guest:e.boolean().notNull().default(!1),color:e.varchar({length:19})})).enableRLS();import{relations as Pt}from"drizzle-orm";import{index as It,pgTable as Rt}from"drizzle-orm/pg-core";import{relations as ge}from"drizzle-orm";import{index as he,pgTable as _e}from"drizzle-orm/pg-core";import{relations as vr}from"drizzle-orm";import{index as Me,pgTable as Nt}from"drizzle-orm/pg-core";var T=Nt("core_languages",e=>({id:e.serial().primaryKey(),code:e.varchar({length:32}).notNull().unique(),name:e.varchar({length:255}).notNull(),timezone:e.varchar({length:255}).notNull().default("UTC"),protected:e.boolean().notNull().default(!1),default:e.boolean().notNull().default(!1),enabled:e.boolean().notNull().default(!0),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),time24:e.boolean().notNull().default(!1)}),e=>[Me("core_languages_code_idx").on(e.code),Me("core_languages_name_idx").on(e.name)]).enableRLS(),fe=Nt("core_languages_words",e=>({id:e.serial().primaryKey(),languageCode:e.varchar().notNull().references(()=>T.code,{onDelete:"cascade"}),pluginCode:e.varchar({length:50}).notNull(),itemId:e.integer().notNull(),value:e.text().notNull(),tableName:e.varchar({length:255}).notNull(),variable:e.varchar({length:255}).notNull()}),e=>[Me("core_languages_words_lang_code_idx").on(e.languageCode)]).enableRLS(),si=vr(fe,({one:e})=>({language:e(T,{fields:[fe.languageCode],references:[T.code]})}));var g=_e("core_users",e=>({id:e.serial().primaryKey(),nameCode:e.varchar({length:255}).notNull().unique(),name:e.varchar({length:255}).notNull().unique(),email:e.varchar({length:255}).notNull().unique(),password:e.varchar(),createdAt:e.timestamp().notNull().defaultNow(),newsletter:e.boolean().notNull().default(!1),avatarColor:e.varchar({length:6}).notNull(),emailVerified:e.boolean().notNull().default(!1),roleId:e.integer().references(()=>b.id).notNull(),birthday:e.timestamp(),ipAddress:e.varchar({length:40}).notNull(),language:e.varchar({length:32}).notNull().default("en").references(()=>T.code,{onDelete:"set default"})}),e=>[he("core_users_name_code_idx").on(e.nameCode),he("core_users_name_idx").on(e.name),he("core_users_email_idx").on(e.email)]).enableRLS(),ci=ge(g,({one:e,many:t})=>({group:e(b,{fields:[g.roleId],references:[b.id]}),language:e(T,{fields:[g.language],references:[T.code]}),confirm_email:e(pe,{fields:[g.id],references:[pe.userId]}),sso:t(Ve),forgot_password:e(me,{fields:[g.id],references:[me.userId]})})),Ve=_e("core_users_sso",e=>({userId:e.integer().references(()=>g.id,{onDelete:"cascade"}).notNull(),providerId:e.varchar({length:255}).notNull(),providerAccountId:e.varchar({length:255}).notNull(),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date)}),e=>[he("core_users_sso_user_id_idx").on(e.userId)]).enableRLS(),li=ge(Ve,({one:e})=>({user:e(g,{fields:[Ve.userId],references:[g.id]})})),pe=_e("core_users_confirm_emails",e=>({id:e.serial().primaryKey(),userId:e.integer().references(()=>g.id,{onDelete:"cascade"}).notNull(),token:e.varchar({length:100}).notNull().unique(),createdAt:e.timestamp().notNull().defaultNow(),expires:e.timestamp().notNull()})).enableRLS(),di=ge(pe,({one:e})=>({user:e(g,{fields:[pe.userId],references:[g.id]})})),me=_e("core_users_forgot_password",e=>({id:e.serial().primaryKey(),userId:e.integer().references(()=>g.id,{onDelete:"cascade"}).notNull().unique(),token:e.varchar({length:100}).notNull().unique(),ip_address:e.varchar({length:40}).notNull(),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull()})).enableRLS(),ui=ge(me,({one:e})=>({user:e(g,{fields:[me.userId],references:[g.id]})}));var q=Rt("core_sessions",e=>({id:e.serial().primaryKey(),token:e.varchar({length:255}).notNull().unique(),userId:e.integer().notNull().references(()=>g.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),deviceId:e.integer().references(()=>S.id,{onDelete:"cascade"}).notNull()}),e=>[It("core_sessions_user_id_idx").on(e.userId)]).enableRLS(),gi=Pt(q,({one:e})=>({user:e(g,{fields:[q.userId],references:[g.id]}),device:e(S,{fields:[q.deviceId],references:[S.id]})})),S=Rt("core_sessions_known_devices",e=>({id:e.serial().primaryKey(),publicId:e.varchar({length:32}).notNull().unique(),ipAddress:e.varchar({length:40}).notNull(),userAgent:e.text().notNull(),lastSeen:e.timestamp().notNull().defaultNow()}),e=>[It("core_sessions_known_devices_ip_address_idx").on(e.ipAddress)]).enableRLS(),_i=Pt(S,({one:e})=>({session:e(q,{fields:[S.id],references:[q.deviceId]})}));var B=At("core_admin_permissions",e=>({id:e.serial().primaryKey(),roleId:e.integer().references(()=>b.id,{onDelete:"cascade"}),userId:e.integer().references(()=>g.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1)}),e=>[we("core_admin_permissions_role_id_idx").on(e.roleId),we("core_admin_permissions_user_id_idx").on(e.userId)]).enableRLS(),Di=Tt(B,({one:e})=>({group:e(b,{fields:[B.roleId],references:[b.id]}),user:e(g,{fields:[B.userId],references:[g.id]})})),Ye=At("core_admin_sessions",e=>({id:e.serial().primaryKey(),token:e.varchar({length:255}).notNull().unique(),userId:e.integer().notNull().references(()=>g.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),lastSeen:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),deviceId:e.integer().references(()=>S.id,{onDelete:"cascade"}).notNull()}),e=>[we("core_admin_sessions_token_idx").on(e.token),we("core_admin_sessions_user_id_idx").on(e.userId)]).enableRLS(),Ni=Tt(Ye,({one:e})=>({user:e(g,{fields:[Ye.userId],references:[g.id]}),device:e(S,{fields:[Ye.deviceId],references:[S.id]})}));import{relations as Er}from"drizzle-orm";import{index as kt,pgTable as br}from"drizzle-orm/pg-core";var G=br("core_moderators_permissions",e=>({id:e.serial().primaryKey(),roleId:e.integer().references(()=>b.id,{onDelete:"cascade"}),userId:e.integer().references(()=>g.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1)}),e=>[kt("core_moderators_permissions_role_id_idx").on(e.roleId),kt("core_moderators_permissions_user_id_idx").on(e.userId)]).enableRLS(),ki=Er(G,({one:e})=>({group:e(b,{fields:[G.roleId],references:[b.id]}),user:e(g,{fields:[G.userId],references:[g.id]})}));import{join as xr}from"path";import{pathToFileURL as Dr}from"url";var ye=async({type:e="config"})=>{let t=xr(process.cwd(),"src",`vitnode.${e}.ts`);try{let i=await import(Dr(t).href);return e==="config"?i.vitNodeConfig:i.vitNodeApiConfig}catch(s){console.error("Failed to load config:",s),process.exit(1)}};import{existsSync as St}from"fs";import{readFile as Nr}from"fs/promises";import{join as A,relative as Ft}from"path";var ve=async()=>{let t=[...(await ye({})).plugins.map(o=>o.pluginId),"@vitnode/core"],s=de(process.cwd()),i=ue(s),r=le(i),n=process.cwd();await Promise.all(t.map(async o=>{let a=A(process.cwd(),"node_modules",o),c="";try{let _=A(a,"package.json");St(_)&&(c=JSON.parse(await Nr(_,"utf-8")).name??"")}catch(_){console.error(`\x1B[31mError reading package.json for ${o}:\x1B[0m`,_);return}let d=o.replace(/\//g,"-").replace(/@/g,""),l=A(n,"src","app","[locale]","(main)",A("(plugins)",`(${d})`)),u=A(n,"src","app","[locale]","admin","(auth)",A("(plugins)",`(${d})`)),f=A(n,"src","locales",o),m=[{sourceDir:A(a,"src","app_admin"),destinationDir:u},{sourceDir:A(a,"src","app"),destinationDir:l},{sourceDir:A(a,"src","locales"),destinationDir:f}];for(let{sourceDir:_,destinationDir:N}of m)St(_)&&!H(_)&&(console.log(`\x1B[36mCopying ${o}:\x1B[0m ${Ft(s,_)} \u2192 ${Ft(s,N)}`),Et(_,N,c,r,i,s,!1))}))};import{spawn as Pr}from"child_process";var J=async(e,t=[])=>new Promise((s,i)=>{let r=Pr(e,t,{stdio:"inherit",shell:!0,env:process.env});r.on("error",n=>{i(n)}),r.on("close",n=>{n!==0?i(new Error(`Command failed with exit code ${n}`)):s(!0)})});var Lt=async()=>{try{await J("npm",["run","drizzle-kit","up"]),await J("npm",["run","drizzle-kit","generate"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},Ot=async()=>{try{await J("npm",["run","drizzle-kit","migrate"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},jt=async()=>{try{await J("npm",["run","drizzle-kit","push"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},Ee=async()=>{let t=(await ye({type:"api.config"})).dbProvider,[s]=await t.select({count:Ct()}).from(b).limit(1),[i]=await t.select({count:Ct()}).from(T);if(i.count===0&&await t.insert(T).values([{code:"en",name:"English (USA)",default:!0,protected:!0,timezone:"America/New_York"}]),s.count===0){let r=await t.insert(b).values([{protected:!0,guest:!0},{protected:!0,default:!0},{protected:!0,color:"hsl(122, 80%, 45%)"},{protected:!0,root:!0,color:"hsl(0, 100%, 50%)"}]).returning({id:b.id});await t.insert(fe).values([{languageCode:"en",pluginCode:"core",itemId:r[0].id,value:"Guest",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[1].id,value:"Member",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[2].id,value:"Moderator",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[3].id,value:"Administrator",tableName:"core_roles",variable:"name"}]),await Promise.all([await t.insert(G).values({roleId:r[2].id,protected:!0}),await t.insert(B).values({roleId:r[3].id,protected:!0})])}},$t=async({initMessage:e})=>{console.log(`${e} [1/4] Prepare plugins files...`),await ve(),console.log(`
|
|
9
|
-
${e} [4/4] Insert initial data...`),await
|
|
6
|
+
var zt=Object.create;var Ke=Object.defineProperty;var Ut=Object.getOwnPropertyDescriptor;var Kt=Object.getOwnPropertyNames;var Ht=Object.getPrototypeOf,Gt=Object.prototype.hasOwnProperty;var Z=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,s)=>(typeof require<"u"?require:t)[s]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var He=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Bt=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Kt(t))!Gt.call(e,r)&&r!==s&&Ke(e,r,{get:()=>t[r],enumerable:!(i=Ut(t,r))||i.enumerable});return e};var qt=(e,t,s)=>(s=e!=null?zt(Ht(e)):{},Bt(t||!e||!e.__esModule?Ke(s,"default",{value:e,enumerable:!0}):s,e));var Ge=He((Rr,Jt)=>{Jt.exports={name:"dotenv",version:"17.2.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Ze=He((Ar,k)=>{"use strict";var Ne=Z("fs"),ee=Z("path"),Qt=Z("os"),Xt=Z("crypto"),Zt=Ge(),Pe=Zt.version,Be=["\u{1F510} encrypt with dotenvx: https://dotenvx.com","\u{1F510} prevent committing .env to code: https://dotenvx.com/precommit","\u{1F510} prevent building .env in docker: https://dotenvx.com/prebuild","\u{1F6E0}\uFE0F run anywhere with `dotenvx run -- yourcommand`","\u2699\uFE0F specify custom .env file path with { path: '/custom/path/.env' }","\u2699\uFE0F enable debug logging with { debug: true }","\u2699\uFE0F override existing env vars with { override: true }","\u2699\uFE0F suppress all logs with { quiet: true }","\u2699\uFE0F write to custom object with { processEnv: myObject }","\u2699\uFE0F load multiple .env files with { path: ['.env.local', '.env'] }"];function es(){return Be[Math.floor(Math.random()*Be.length)]}function j(e){return typeof e=="string"?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function ts(){return process.stdout.isTTY}function ss(e){return ts()?`\x1B[2m${e}\x1B[0m`:e}var rs=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function is(e){let t={},s=e.toString();s=s.replace(/\r\n?/mg,`
|
|
7
|
+
`);let i;for(;(i=rs.exec(s))!=null;){let r=i[1],n=i[2]||"";n=n.trim();let o=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),o==='"'&&(n=n.replace(/\\n/g,`
|
|
8
|
+
`),n=n.replace(/\\r/g,"\r")),t[r]=n}return t}function ns(e){e=e||{};let t=Xe(e);e.path=t;let s=v.configDotenv(e);if(!s.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw o.code="MISSING_DATA",o}let i=Qe(e).split(","),r=i.length,n;for(let o=0;o<r;o++)try{let a=i[o].trim(),c=as(s,a);n=v.decrypt(c.ciphertext,c.key);break}catch(a){if(o+1>=r)throw a}return v.parse(n)}function os(e){console.error(`[dotenv@${Pe}][WARN] ${e}`)}function V(e){console.log(`[dotenv@${Pe}][DEBUG] ${e}`)}function Je(e){console.log(`[dotenv@${Pe}] ${e}`)}function Qe(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function as(e,t){let s;try{s=new URL(t)}catch(a){if(a.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw a}let i=s.password;if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let r=s.searchParams.get("environment");if(!r){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let n=`DOTENV_VAULT_${r.toUpperCase()}`,o=e.parsed[n];if(!o){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:o,key:i}}function Xe(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let s of e.path)Ne.existsSync(s)&&(t=s.endsWith(".vault")?s:`${s}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=ee.resolve(process.cwd(),".env.vault");return Ne.existsSync(t)?t:null}function qe(e){return e[0]==="~"?ee.join(Qt.homedir(),e.slice(1)):e}function cs(e){let t=j(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),s=j(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!s)&&Je("Loading env from encrypted .env.vault");let i=v._parseVault(e),r=process.env;return e&&e.processEnv!=null&&(r=e.processEnv),v.populate(r,i,e),{parsed:i}}function ls(e){let t=ee.resolve(process.cwd(),".env"),s="utf8",i=process.env;e&&e.processEnv!=null&&(i=e.processEnv);let r=j(i.DOTENV_CONFIG_DEBUG||e&&e.debug),n=j(i.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?s=e.encoding:r&&V("No encoding is specified. UTF-8 is used by default");let o=[t];if(e&&e.path)if(!Array.isArray(e.path))o=[qe(e.path)];else{o=[];for(let l of e.path)o.push(qe(l))}let a,c={};for(let l of o)try{let u=v.parse(Ne.readFileSync(l,{encoding:s}));v.populate(c,u,e)}catch(u){r&&V(`Failed to load ${l} ${u.message}`),a=u}let d=v.populate(i,c,e);if(r=j(i.DOTENV_CONFIG_DEBUG||r),n=j(i.DOTENV_CONFIG_QUIET||n),r||!n){let l=Object.keys(d).length,u=[];for(let f of o)try{let m=ee.relative(process.cwd(),f);u.push(m)}catch(m){r&&V(`Failed to load ${f} ${m.message}`),a=m}Je(`injecting env (${l}) from ${u.join(",")} ${ss(`(tip: ${es()})`)}`)}return a?{parsed:c,error:a}:{parsed:c}}function ds(e){if(Qe(e).length===0)return v.configDotenv(e);let t=Xe(e);return t?v._configVault(e):(os(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),v.configDotenv(e))}function us(e,t){let s=Buffer.from(t.slice(-64),"hex"),i=Buffer.from(e,"base64"),r=i.subarray(0,12),n=i.subarray(-16);i=i.subarray(12,-16);try{let o=Xt.createDecipheriv("aes-256-gcm",s,r);return o.setAuthTag(n),`${o.update(i)}${o.final()}`}catch(o){let a=o instanceof RangeError,c=o.message==="Invalid key length",d=o.message==="Unsupported state or unable to authenticate data";if(a||c){let l=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw l.code="INVALID_DOTENV_KEY",l}else if(d){let l=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw l.code="DECRYPTION_FAILED",l}else throw o}}function fs(e,t,s={}){let i=!!(s&&s.debug),r=!!(s&&s.override),n={};if(typeof t!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(t))Object.prototype.hasOwnProperty.call(e,o)?(r===!0&&(e[o]=t[o],n[o]=t[o]),i&&V(r===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):(e[o]=t[o],n[o]=t[o]);return n}var v={configDotenv:ls,_configVault:cs,_parseVault:ns,config:ds,decrypt:us,parse:is,populate:fs};k.exports.configDotenv=v.configDotenv;k.exports._configVault=v._configVault;k.exports._parseVault=v._parseVault;k.exports.config=v.config;k.exports.decrypt=v.decrypt;k.exports.parse=v.parse;k.exports.populate=v.populate;k.exports=v});var Vt=qt(Ze(),1);import{stat as Ys}from"fs";import{stat as zs,readdir as Us}from"fs/promises";import{EventEmitter as Ks}from"events";import*as p from"path";import{stat as hs,lstat as et,readdir as ps,realpath as ms}from"fs/promises";import{Readable as gs}from"stream";import{resolve as tt,relative as _s,join as ws,sep as ys}from"path";var x={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Ie={root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:x.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Ie);var nt="READDIRP_RECURSIVE_ERROR",Es=new Set(["ENOENT","EPERM","EACCES","ELOOP",nt]),st=[x.DIR_TYPE,x.EVERYTHING_TYPE,x.FILE_DIR_TYPE,x.FILE_TYPE],vs=new Set([x.DIR_TYPE,x.EVERYTHING_TYPE,x.FILE_DIR_TYPE]),bs=new Set([x.EVERYTHING_TYPE,x.FILE_DIR_TYPE,x.FILE_TYPE]),xs=e=>Es.has(e.code),Ds=process.platform==="win32",rt=e=>!0,it=e=>{if(e===void 0)return rt;if(typeof e=="function")return e;if(typeof e=="string"){let t=e.trim();return s=>s.basename===t}if(Array.isArray(e)){let t=e.map(s=>s.trim());return s=>t.some(i=>s.basename===i)}return rt},Te=class extends gs{constructor(t={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:t.highWaterMark});let s={...Ie,...t},{root:i,type:r}=s;this._fileFilter=it(s.fileFilter),this._directoryFilter=it(s.directoryFilter);let n=s.lstat?et:hs;Ds?this._stat=o=>n(o,{bigint:!0}):this._stat=n,this._maxDepth=s.depth??Ie.depth,this._wantsDir=r?vs.has(r):!1,this._wantsFile=r?bs.has(r):!1,this._wantsEverything=r===x.EVERYTHING_TYPE,this._root=tt(i),this._isDirent=!s.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(i,1)],this.reading=!1,this.parent=void 0}async _read(t){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&t>0;){let s=this.parent,i=s&&s.files;if(i&&i.length>0){let{path:r,depth:n}=s,o=i.splice(0,t).map(c=>this._formatEntry(c,r)),a=await Promise.all(o);for(let c of a){if(!c)continue;if(this.destroyed)return;let d=await this._getEntryType(c);d==="directory"&&this._directoryFilter(c)?(n<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,n+1)),this._wantsDir&&(this.push(c),t--)):(d==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),t--)}}else{let r=this.parents.pop();if(!r){this.push(null);break}if(this.parent=await r,this.destroyed)return}}}catch(s){this.destroy(s)}finally{this.reading=!1}}}async _exploreDir(t,s){let i;try{i=await ps(t,this._rdOptions)}catch(r){this._onError(r)}return{files:i,depth:s,path:t}}async _formatEntry(t,s){let i,r=this._isDirent?t.name:t;try{let n=tt(ws(s,r));i={path:_s(this._root,n),fullPath:n,basename:r},i[this._statsProp]=this._isDirent?t:await this._stat(n)}catch(n){this._onError(n);return}return i}_onError(t){xs(t)&&!this.destroyed?this.emit("warn",t):this.destroy(t)}async _getEntryType(t){if(!t&&this._statsProp in t)return"";let s=t[this._statsProp];if(s.isFile())return"file";if(s.isDirectory())return"directory";if(s&&s.isSymbolicLink()){let i=t.fullPath;try{let r=await ms(i),n=await et(r);if(n.isFile())return"file";if(n.isDirectory()){let o=r.length;if(i.startsWith(r)&&i.substr(o,1)===ys){let a=new Error(`Circular symlink detected: "${i}" points to "${r}"`);return a.code=nt,this._onError(a)}return"directory"}}catch(r){return this._onError(r),""}}}_includeAsFile(t){let s=t&&t[this._statsProp];return s&&this._wantsEverything&&!s.isDirectory()}};function ot(e,t={}){let s=t.entryType||t.type;if(s==="both"&&(s=x.FILE_DIR_TYPE),s&&(t.type=s),e){if(typeof e!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(s&&!st.includes(s))throw new Error(`readdirp: Invalid type passed. Use one of ${st.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return t.root=e,new Te(t)}import{watchFile as Ns,unwatchFile as at,watch as Ps}from"fs";import{open as Is,stat as lt,lstat as Ts,realpath as Re}from"fs/promises";import*as y from"path";import{type as Rs}from"os";var As="data",Fe="end",dt="close",ne=()=>{};var oe=process.platform,Se=oe==="win32",ks=oe==="darwin",Fs=oe==="linux",Ss=oe==="freebsd",ut=Rs()==="OS400",E={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},P=E,Cs="watch",Ls={lstat:Ts,stat:lt},C="listeners",te="errHandlers",$="rawEmitters",Os=[C,te,$],js=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),$s=e=>js.has(y.extname(e).slice(1).toLowerCase()),ke=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},Y=(e,t,s)=>{let i=e[t];i instanceof Set||(e[t]=i=new Set([i])),i.add(s)},Ws=e=>t=>{let s=e[t];s instanceof Set?s.clear():delete e[t]},z=(e,t,s)=>{let i=e[t];i instanceof Set?i.delete(s):i===s&&delete e[t]},ft=e=>e instanceof Set?e.size===0:!e,se=new Map;function ct(e,t,s,i,r){let n=(o,a)=>{s(e),r(o,a,{watchedPath:e}),a&&e!==a&&re(y.resolve(e,a),C,y.join(e,a))};try{return Ps(e,{persistent:t.persistent},n)}catch(o){i(o);return}}var re=(e,t,s,i,r)=>{let n=se.get(e);n&&ke(n[t],o=>{o(s,i,r)})},Ms=(e,t,s,i)=>{let{listener:r,errHandler:n,rawEmitter:o}=i,a=se.get(t),c;if(!s.persistent)return c=ct(e,s,r,n,o),c?c.close.bind(c):void 0;if(a)Y(a,C,r),Y(a,te,n),Y(a,$,o);else{if(c=ct(e,s,re.bind(null,t,C),n,re.bind(null,t,$)),!c)return;c.on(P.ERROR,async d=>{let l=re.bind(null,t,te);if(a&&(a.watcherUnusable=!0),Se&&d.code==="EPERM")try{await(await Is(e,"r")).close(),l(d)}catch{}else l(d)}),a={listeners:r,errHandlers:n,rawEmitters:o,watcher:c},se.set(t,a)}return()=>{z(a,C,r),z(a,te,n),z(a,$,o),ft(a.listeners)&&(a.watcher.close(),se.delete(t),Os.forEach(Ws(a)),a.watcher=void 0,Object.freeze(a))}},Ae=new Map,Vs=(e,t,s,i)=>{let{listener:r,rawEmitter:n}=i,o=Ae.get(t),a=o&&o.options;return a&&(a.persistent<s.persistent||a.interval>s.interval)&&(at(t),o=void 0),o?(Y(o,C,r),Y(o,$,n)):(o={listeners:r,rawEmitters:n,options:s,watcher:Ns(t,s,(c,d)=>{ke(o.rawEmitters,u=>{u(P.CHANGE,t,{curr:c,prev:d})});let l=c.mtimeMs;(c.size!==d.size||l>d.mtimeMs||l===0)&&ke(o.listeners,u=>u(e,c))})},Ae.set(t,o)),()=>{z(o,C,r),z(o,$,n),ft(o.listeners)&&(Ae.delete(t),at(t),o.options=o.watcher=void 0,Object.freeze(o))}},ie=class{constructor(t){this.fsw=t,this._boundHandleError=s=>t._handleError(s)}_watchWithNodeFs(t,s){let i=this.fsw.options,r=y.dirname(t),n=y.basename(t);this.fsw._getWatchedDir(r).add(n);let a=y.resolve(t),c={persistent:i.persistent};s||(s=ne);let d;if(i.usePolling){let l=i.interval!==i.binaryInterval;c.interval=l&&$s(n)?i.binaryInterval:i.interval,d=Vs(t,a,c,{listener:s,rawEmitter:this.fsw._emitRaw})}else d=Ms(t,a,c,{listener:s,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return d}_handleFile(t,s,i){if(this.fsw.closed)return;let r=y.dirname(t),n=y.basename(t),o=this.fsw._getWatchedDir(r),a=s;if(o.has(n))return;let c=async(l,u)=>{if(this.fsw._throttle(Cs,t,5)){if(!u||u.mtimeMs===0)try{let f=await lt(t);if(this.fsw.closed)return;let m=f.atimeMs,_=f.mtimeMs;if((!m||m<=_||_!==a.mtimeMs)&&this.fsw._emit(P.CHANGE,t,f),(ks||Fs||Ss)&&a.ino!==f.ino){this.fsw._closeFile(l),a=f;let N=this._watchWithNodeFs(t,c);N&&this.fsw._addPathCloser(l,N)}else a=f}catch{this.fsw._remove(r,n)}else if(o.has(n)){let f=u.atimeMs,m=u.mtimeMs;(!f||f<=m||m!==a.mtimeMs)&&this.fsw._emit(P.CHANGE,t,u),a=u}}},d=this._watchWithNodeFs(t,c);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(t)){if(!this.fsw._throttle(P.ADD,t,0))return;this.fsw._emit(P.ADD,t,s)}return d}async _handleSymlink(t,s,i,r){if(this.fsw.closed)return;let n=t.fullPath,o=this.fsw._getWatchedDir(s);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await Re(i)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(r)?this.fsw._symlinkPaths.get(n)!==a&&(this.fsw._symlinkPaths.set(n,a),this.fsw._emit(P.CHANGE,i,t.stats)):(o.add(r),this.fsw._symlinkPaths.set(n,a),this.fsw._emit(P.ADD,i,t.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(n))return!0;this.fsw._symlinkPaths.set(n,!0)}_handleRead(t,s,i,r,n,o,a){if(t=y.join(t,""),a=this.fsw._throttle("readdir",t,1e3),!a)return;let c=this.fsw._getWatchedDir(i.path),d=new Set,l=this.fsw._readdirp(t,{fileFilter:u=>i.filterPath(u),directoryFilter:u=>i.filterDir(u)});if(l)return l.on(As,async u=>{if(this.fsw.closed){l=void 0;return}let f=u.path,m=y.join(t,f);if(d.add(f),!(u.stats.isSymbolicLink()&&await this._handleSymlink(u,t,m,f))){if(this.fsw.closed){l=void 0;return}(f===r||!r&&!c.has(f))&&(this.fsw._incrReadyCount(),m=y.join(n,y.relative(n,m)),this._addToNodeFs(m,s,i,o+1))}}).on(P.ERROR,this._boundHandleError),new Promise((u,f)=>{if(!l)return f();l.once(Fe,()=>{if(this.fsw.closed){l=void 0;return}let m=a?a.clear():!1;u(void 0),c.getChildren().filter(_=>_!==t&&!d.has(_)).forEach(_=>{this.fsw._remove(t,_)}),l=void 0,m&&this._handleRead(t,!1,i,r,n,o,a)})})}async _handleDir(t,s,i,r,n,o,a){let c=this.fsw._getWatchedDir(y.dirname(t)),d=c.has(y.basename(t));!(i&&this.fsw.options.ignoreInitial)&&!n&&!d&&this.fsw._emit(P.ADD_DIR,t,s),c.add(y.basename(t)),this.fsw._getWatchedDir(t);let l,u,f=this.fsw.options.depth;if((f==null||r<=f)&&!this.fsw._symlinkPaths.has(a)){if(!n&&(await this._handleRead(t,i,o,n,t,r,l),this.fsw.closed))return;u=this._watchWithNodeFs(t,(m,_)=>{_&&_.mtimeMs===0||this._handleRead(m,!1,o,n,t,r,l)})}return u}async _addToNodeFs(t,s,i,r,n){let o=this.fsw._emitReady;if(this.fsw._isIgnored(t)||this.fsw.closed)return o(),!1;let a=this.fsw._getWatchHelpers(t);i&&(a.filterPath=c=>i.filterPath(c),a.filterDir=c=>i.filterDir(c));try{let c=await Ls[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))return o(),!1;let d=this.fsw.options.followSymlinks,l;if(c.isDirectory()){let u=y.resolve(t),f=d?await Re(t):t;if(this.fsw.closed||(l=await this._handleDir(a.watchPath,c,s,r,n,a,f),this.fsw.closed))return;u!==f&&f!==void 0&&this.fsw._symlinkPaths.set(u,f)}else if(c.isSymbolicLink()){let u=d?await Re(t):t;if(this.fsw.closed)return;let f=y.dirname(a.watchPath);if(this.fsw._getWatchedDir(f).add(a.watchPath),this.fsw._emit(P.ADD,a.watchPath,c),l=await this._handleDir(f,c,s,r,t,a,u),this.fsw.closed)return;u!==void 0&&this.fsw._symlinkPaths.set(y.resolve(t),u)}else l=this._handleFile(a.watchPath,c,s);return o(),l&&this.fsw._addPathCloser(t,l),!1}catch(c){if(this.fsw._handleError(c))return o(),t}}};var Ce="/",Hs="//",wt=".",Gs="..",Bs="string",qs=/\\/g,ht=/\/\//,Js=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,Qs=/^\.[/\\]/;function ae(e){return Array.isArray(e)?e:[e]}var Le=e=>typeof e=="object"&&e!==null&&!(e instanceof RegExp);function Xs(e){return typeof e=="function"?e:typeof e=="string"?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e=="object"&&e!==null?t=>{if(e.path===t)return!0;if(e.recursive){let s=p.relative(e.path,t);return s?!s.startsWith("..")&&!p.isAbsolute(s):!1}return!1}:()=>!1}function Zs(e){if(typeof e!="string")throw new Error("string expected");e=p.normalize(e),e=e.replace(/\\/g,"/");let t=!1;e.startsWith("//")&&(t=!0);let s=/\/\//;for(;e.match(s);)e=e.replace(s,"/");return t&&(e="/"+e),e}function pt(e,t,s){let i=Zs(t);for(let r=0;r<e.length;r++){let n=e[r];if(n(i,s))return!0}return!1}function er(e,t){if(e==null)throw new TypeError("anymatch: specify first argument");let i=ae(e).map(r=>Xs(r));return t==null?(r,n)=>pt(i,r,n):pt(i,t)}var mt=e=>{let t=ae(e).flat();if(!t.every(s=>typeof s===Bs))throw new TypeError(`Non-string provided as watch path: ${t}`);return t.map(yt)},gt=e=>{let t=e.replace(qs,Ce),s=!1;for(t.startsWith(Hs)&&(s=!0);t.match(ht);)t=t.replace(ht,Ce);return s&&(t=Ce+t),t},yt=e=>gt(p.normalize(gt(e))),_t=(e="")=>t=>typeof t=="string"?yt(p.isAbsolute(t)?t:p.join(e,t)):t,tr=(e,t)=>p.isAbsolute(e)?e:p.join(t,e),sr=Object.freeze(new Set),Oe=class{constructor(t,s){this.path=t,this._removeWatcher=s,this.items=new Set}add(t){let{items:s}=this;s&&t!==wt&&t!==Gs&&s.add(t)}async remove(t){let{items:s}=this;if(!s||(s.delete(t),s.size>0))return;let i=this.path;try{await Us(i)}catch{this._removeWatcher&&this._removeWatcher(p.dirname(i),p.basename(i))}}has(t){let{items:s}=this;if(s)return s.has(t)}getChildren(){let{items:t}=this;return t?[...t.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=ne,this.items=sr,Object.freeze(this)}},rr="stat",ir="lstat",je=class{constructor(t,s,i){this.fsw=i;let r=t;this.path=t=t.replace(Qs,""),this.watchPath=r,this.fullWatchPath=p.resolve(r),this.dirParts=[],this.dirParts.forEach(n=>{n.length>1&&n.pop()}),this.followSymlinks=s,this.statMethod=s?rr:ir}entryPath(t){return p.join(this.watchPath,p.relative(this.watchPath,t.fullPath))}filterPath(t){let{stats:s}=t;if(s&&s.isSymbolicLink())return this.filterDir(t);let i=this.entryPath(t);return this.fsw._isntIgnored(i,s)&&this.fsw._hasReadPermissions(s)}filterDir(t){return this.fsw._isntIgnored(this.entryPath(t),t.stats)}},ce=class extends Ks{constructor(t={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let s=t.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...t,ignored:t.ignored?ae(t.ignored):ae([]),awaitWriteFinish:s===!0?i:typeof s=="object"?{...i,...s}:!1};ut&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let n=process.env.CHOKIDAR_USEPOLLING;if(n!==void 0){let c=n.toLowerCase();c==="false"||c==="0"?r.usePolling=!1:c==="true"||c==="1"?r.usePolling=!0:r.usePolling=!!c}let o=process.env.CHOKIDAR_INTERVAL;o&&(r.interval=Number.parseInt(o,10));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=ne,this._readyEmitted=!0,process.nextTick(()=>this.emit(E.READY)))},this._emitRaw=(...c)=>this.emit(E.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new ie(this),Object.freeze(r)}_addIgnoredPath(t){if(Le(t)){for(let s of this._ignoredPaths)if(Le(s)&&s.path===t.path&&s.recursive===t.recursive)return}this._ignoredPaths.add(t)}_removeIgnoredPath(t){if(this._ignoredPaths.delete(t),typeof t=="string")for(let s of this._ignoredPaths)Le(s)&&s.path===t&&this._ignoredPaths.delete(s)}add(t,s,i){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let n=mt(t);return r&&(n=n.map(o=>tr(o,r))),n.forEach(o=>{this._removeIgnoredPath(o)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=n.length,Promise.all(n.map(async o=>{let a=await this._nodeFsHandler._addToNodeFs(o,!i,void 0,0,s);return a&&this._emitReady(),a})).then(o=>{this.closed||o.forEach(a=>{a&&this.add(p.dirname(a),p.basename(s||a))})}),this}unwatch(t){if(this.closed)return this;let s=mt(t),{cwd:i}=this.options;return s.forEach(r=>{!p.isAbsolute(r)&&!this._closers.has(r)&&(i&&(r=p.join(i,r)),r=p.resolve(r)),this._closePath(r),this._addIgnoredPath(r),this._watched.has(r)&&this._addIgnoredPath({path:r,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let t=[];return this._closers.forEach(s=>s.forEach(i=>{let r=i();r instanceof Promise&&t.push(r)})),this._streams.forEach(s=>s.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(s=>s.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=t.length?Promise.all(t).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let t={};return this._watched.forEach((s,i)=>{let n=(this.options.cwd?p.relative(this.options.cwd,i):i)||wt;t[n]=s.getChildren().sort()}),t}emitWithAll(t,s){this.emit(t,...s),t!==E.ERROR&&this.emit(E.ALL,t,...s)}async _emit(t,s,i){if(this.closed)return;let r=this.options;Se&&(s=p.normalize(s)),r.cwd&&(s=p.relative(r.cwd,s));let n=[s];i!=null&&n.push(i);let o=r.awaitWriteFinish,a;if(o&&(a=this._pendingWrites.get(s)))return a.lastChange=new Date,this;if(r.atomic){if(t===E.UNLINK)return this._pendingUnlinks.set(s,[t,...n]),setTimeout(()=>{this._pendingUnlinks.forEach((c,d)=>{this.emit(...c),this.emit(E.ALL,...c),this._pendingUnlinks.delete(d)})},typeof r.atomic=="number"?r.atomic:100),this;t===E.ADD&&this._pendingUnlinks.has(s)&&(t=E.CHANGE,this._pendingUnlinks.delete(s))}if(o&&(t===E.ADD||t===E.CHANGE)&&this._readyEmitted){let c=(d,l)=>{d?(t=E.ERROR,n[0]=d,this.emitWithAll(t,n)):l&&(n.length>1?n[1]=l:n.push(l),this.emitWithAll(t,n))};return this._awaitWriteFinish(s,o.stabilityThreshold,t,c),this}if(t===E.CHANGE&&!this._throttle(E.CHANGE,s,50))return this;if(r.alwaysStat&&i===void 0&&(t===E.ADD||t===E.ADD_DIR||t===E.CHANGE)){let c=r.cwd?p.join(r.cwd,s):s,d;try{d=await zs(c)}catch{}if(!d||this.closed)return;n.push(d)}return this.emitWithAll(t,n),this}_handleError(t){let s=t&&t.code;return t&&s!=="ENOENT"&&s!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||s!=="EPERM"&&s!=="EACCES")&&this.emit(E.ERROR,t),t||this.closed}_throttle(t,s,i){this._throttled.has(t)||this._throttled.set(t,new Map);let r=this._throttled.get(t);if(!r)throw new Error("invalid throttle");let n=r.get(s);if(n)return n.count++,!1;let o,a=()=>{let d=r.get(s),l=d?d.count:0;return r.delete(s),clearTimeout(o),d&&clearTimeout(d.timeoutObject),l};o=setTimeout(a,i);let c={timeoutObject:o,clear:a,count:0};return r.set(s,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(t,s,i,r){let n=this.options.awaitWriteFinish;if(typeof n!="object")return;let o=n.pollInterval,a,c=t;this.options.cwd&&!p.isAbsolute(t)&&(c=p.join(this.options.cwd,t));let d=new Date,l=this._pendingWrites;function u(f){Ys(c,(m,_)=>{if(m||!l.has(t)){m&&m.code!=="ENOENT"&&r(m);return}let N=Number(new Date);f&&_.size!==f.size&&(l.get(t).lastChange=N);let M=l.get(t);N-M.lastChange>=s?(l.delete(t),r(void 0,_)):a=setTimeout(u,o,_)})}l.has(t)||(l.set(t,{lastChange:d,cancelWait:()=>(l.delete(t),clearTimeout(a),i)}),a=setTimeout(u,o))}_isIgnored(t,s){if(this.options.atomic&&Js.test(t))return!0;if(!this._userIgnored){let{cwd:i}=this.options,n=(this.options.ignored||[]).map(_t(i)),a=[...[...this._ignoredPaths].map(_t(i)),...n];this._userIgnored=er(a,void 0)}return this._userIgnored(t,s)}_isntIgnored(t,s){return!this._isIgnored(t,s)}_getWatchHelpers(t){return new je(t,this.options.followSymlinks,this)}_getWatchedDir(t){let s=p.resolve(t);return this._watched.has(s)||this._watched.set(s,new Oe(s,this._boundRemove)),this._watched.get(s)}_hasReadPermissions(t){return this.options.ignorePermissionErrors?!0:!!(Number(t.mode)&256)}_remove(t,s,i){let r=p.join(t,s),n=p.resolve(r);if(i=i??(this._watched.has(r)||this._watched.has(n)),!this._throttle("remove",r,100))return;!i&&this._watched.size===1&&this.add(t,s,!0),this._getWatchedDir(r).getChildren().forEach(f=>this._remove(r,f));let c=this._getWatchedDir(t),d=c.has(s);c.remove(s),this._symlinkPaths.has(n)&&this._symlinkPaths.delete(n);let l=r;if(this.options.cwd&&(l=p.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(l)&&this._pendingWrites.get(l).cancelWait()===E.ADD)return;this._watched.delete(r),this._watched.delete(n);let u=i?E.UNLINK_DIR:E.UNLINK;d&&!this._isIgnored(r)&&this._emit(u,r),this._closePath(r)}_closePath(t){this._closeFile(t);let s=p.dirname(t);this._getWatchedDir(s).remove(p.basename(t))}_closeFile(t){let s=this._closers.get(t);s&&(s.forEach(i=>i()),this._closers.delete(t))}_addPathCloser(t,s){if(!s)return;let i=this._closers.get(t);i||(i=[],this._closers.set(t,i)),i.push(s)}_readdirp(t,s){if(this.closed)return;let i={type:E.ALL,alwaysStat:!0,lstat:!0,...s,depth:0},r=ot(t,i);return this._streams.add(r),r.once(dt,()=>{r=void 0}),r.once(Fe,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};function nr(e,t={}){let s=new ce(t);return s.add(e),s}var Et={watch:nr,FSWatcher:ce};import{existsSync as L,mkdirSync as _r,readFileSync as wr,unlinkSync as yr}from"fs";import{basename as xt,join as D,relative as Dt}from"path";import{copyFileSync as or,existsSync as T,mkdirSync as ar,readdirSync as We,readFileSync as cr,writeFileSync as lr}from"fs";import{basename as vt,dirname as U,extname as dr,join as I,normalize as ur,relative as W,sep as fr}from"path";var hr=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"]([./]+[^'"]*)['"]/g,pr=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"](@\/[^'"]*)['"]/g,mr=/import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)/g,le=/\.(js|jsx|ts|tsx)$/,$e=/^page\.(tsx|ts|jsx|js)$/i,K=(e,t)=>{let i=W(t,e).split(fr);i.pop();let r=i.filter(n=>!n.startsWith("("));return ur(r.join("/"))},de=e=>{let t=new Map,s=i=>{if(T(i))for(let r of We(i,{withFileTypes:!0})){let n=I(i,r.name);if(r.isDirectory()){s(n);continue}if($e.test(r.name)){let o=K(n,e);t.set(o,n)}}};return s(e),t},gr=(e,t)=>{let s=e.replace(hr,(i,r)=>{if(r.startsWith(".")){let o=r.replace(le,"").replace(/^(?:\.\.\/)+/,"");return i.replace(r,`${t}/${o}`)}return i});return s=s.replace(pr,(i,r)=>{let n=r.replace(/^@\//,"").replace(le,"");return i.replace(r,`${t}/${n}`)}),s=s.replace(mr,(i,r)=>{let n=r.replace(/^@\//,"").replace(le,"");return i.replace(r,`${t}/${n}`)}),s=s.replace(/dynamic\s*\(\s*\(\s*=>\s*import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)\s*\)\s*\)/g,(i,r)=>{let n=r.replace(/^@\//,"").replace(le,"");return i.replace(r,`${t}/${n}`)}),s};function ue(e){let t=e;for(;t!==U(t);){if(T(I(t,"turbo.json"))||T(I(t,".git")))return t;t=U(t)}let s=I(e,"package.json");if(T(s))return U(s);throw new Error("\u274C Could not locate project root")}function fe(e){let t=I(e,"src","app","[locale]");if(T(t))return t;let i=(n=>{let o=[];if(!T(n))return o;let a=(c,d=0)=>{if(!(d>4))try{let l=We(c,{withFileTypes:!0});for(let u of l){if(!u.isDirectory())continue;let f=I(c,u.name);if(u.name==="[locale]"&&U(f).endsWith(I("src","app"))){o.push(f);continue}a(f,d+1)}}catch{}};return a(n),o})(e);return i.length>0?i[0]:I(e,"apps","docs","src","app","[locale]")}var H=e=>{let t=[];if(!T(e))return t;let s=We(e,{withFileTypes:!0});for(let i of s){let r=I(e,i.name);i.isDirectory()?t.push(...H(r)):t.push(r)}return t},G=e=>T(e)?H(e).length===0:!0,Me=(e,t,s,i,r,n,o=!0)=>{let a=vt(e);if($e.test(a)){let c=K(t,r),d=i.get(c);if(d&&d!==t){o&&console.log(`\x1B[31mSkipped duplicate page:\x1B[0m ${W(n,t)} (collides with ${W(n,d)})`);return}}try{let c=U(t);T(c)||ar(c,{recursive:!0});let d=dr(e);if(s&&[".js",".jsx",".ts",".tsx"].includes(d)){let l=cr(e,"utf-8"),u=gr(l,s);lr(t,u)}else or(e,t);if(o){let l=e.indexOf(I("src","app")),u=l!==-1?e.substring(l):e.startsWith(n)?W(n,e):e,f=t.startsWith(n)?W(n,t):t;console.log(`\x1B[32mCopied:\x1B[0m ${u} \u2192 ${f}`)}if($e.test(vt(t))){let l=K(t,r);i.set(l,t)}}catch(c){console.error(`\x1B[31mError copying file:\x1B[0m ${e}`,c)}},bt=(e,t,s,i,r,n,o=!0)=>{if(!T(e)||G(e))return;let a=H(e);for(let c of a){let d=W(e,c),l=I(t,d);Me(c,l,s,i,r,n,o)}};var Nt=({initMessage:e})=>{let t=process.cwd(),s=ue(t),i=fe(s),r=de(i),n=xt(t);try{let h=D(t,"package.json");L(h)&&(n=JSON.parse(wr(h,"utf-8")).name??"")}catch(h){console.error("\x1B[31mError reading package.json:\x1B[0m",h);return}let o=n.replace(/\//g,"-").replace(/@/g,""),a=D(s,"apps","docs","src","app","[locale]","(main)",D("(plugins)",`(${o})`)),c=D(s,"apps","docs","src","app","[locale]","admin","(auth)",D("(plugins)",`(${o})`)),d=D(s,"apps","docs","src","locales",n),l=[{sourceDir:D(t,"src","app_admin"),destinationDir:c},{sourceDir:D(t,"src","app"),destinationDir:a},{sourceDir:D(t,"src","locales"),destinationDir:d}];for(let{sourceDir:h,destinationDir:w}of l)L(h)&&!G(h)&&!L(w)&&_r(w,{recursive:!0});let u=(h,w)=>{Me(h,w,n,r,i,s)},f=h=>{try{if(L(h)&&(yr(h),console.log(`\x1B[33mRemoved:\x1B[0m ${h}`),/^page\.(tsx|ts|jsx|js)$/i.test(xt(h)))){let w=K(h,i);r.get(w)===h&&r.delete(w)}}catch(w){console.error(`\x1B[31mError removing file:\x1B[0m ${h}`,w)}},m=(h,w)=>{if(!L(w)||w.includes(D("src","locales")))return;let De=H(w);for(let S of De){let X=Dt(w,S),Yt=D(h,X);L(Yt)||f(S)}};for(let{sourceDir:h,destinationDir:w}of l)m(h,w);console.log(`${e} \x1B[34mWatching for changes in plugins...\x1B[0m`);let _=l.map(h=>h.sourceDir).filter(h=>L(h)),N=Et.watch(_,{ignoreInitial:!1,persistent:!0}),M=h=>{let w=l.filter(({sourceDir:S})=>h.startsWith(S));if(w.length===0)throw new Error(`No matching source directory for: ${h}`);let xe=w.reduce((S,X)=>X.sourceDir.length>S.sourceDir.length?X:S),De=Dt(xe.sourceDir,h);return D(xe.destinationDir,De)};N.on("add",h=>{let w=M(h);u(h,w)}).on("change",h=>{let w=M(h);u(h,w)}).on("unlink",h=>{let w=M(h);f(w)}).on("error",h=>{console.error("\x1B[31mWatcher error:\x1B[0m",h)})};import{count as Lt}from"drizzle-orm";import{relations as At}from"drizzle-orm";import{index as ye,pgTable as kt}from"drizzle-orm/pg-core";import{pgTable as Er}from"drizzle-orm/pg-core";var b=Er("core_roles",e=>({id:e.serial().primaryKey(),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1),default:e.boolean().notNull().default(!1),root:e.boolean().notNull().default(!1),guest:e.boolean().notNull().default(!1),color:e.varchar({length:19})})).enableRLS();import{relations as It}from"drizzle-orm";import{index as Tt,pgTable as Rt}from"drizzle-orm/pg-core";import{relations as _e}from"drizzle-orm";import{index as pe,pgTable as we}from"drizzle-orm/pg-core";import{relations as vr}from"drizzle-orm";import{index as Ve,pgTable as Pt}from"drizzle-orm/pg-core";var R=Pt("core_languages",e=>({id:e.serial().primaryKey(),code:e.varchar({length:32}).notNull().unique(),name:e.varchar({length:255}).notNull(),timezone:e.varchar({length:255}).notNull().default("UTC"),protected:e.boolean().notNull().default(!1),default:e.boolean().notNull().default(!1),enabled:e.boolean().notNull().default(!0),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),time24:e.boolean().notNull().default(!1)}),e=>[Ve("core_languages_code_idx").on(e.code),Ve("core_languages_name_idx").on(e.name)]).enableRLS(),he=Pt("core_languages_words",e=>({id:e.serial().primaryKey(),languageCode:e.varchar().notNull().references(()=>R.code,{onDelete:"cascade"}),pluginCode:e.varchar({length:50}).notNull(),itemId:e.integer().notNull(),value:e.text().notNull(),tableName:e.varchar({length:255}).notNull(),variable:e.varchar({length:255}).notNull()}),e=>[Ve("core_languages_words_lang_code_idx").on(e.languageCode)]).enableRLS(),ri=vr(he,({one:e})=>({language:e(R,{fields:[he.languageCode],references:[R.code]})}));var g=we("core_users",e=>({id:e.serial().primaryKey(),nameCode:e.varchar({length:255}).notNull().unique(),name:e.varchar({length:255}).notNull().unique(),email:e.varchar({length:255}).notNull().unique(),password:e.varchar(),createdAt:e.timestamp().notNull().defaultNow(),newsletter:e.boolean().notNull().default(!1),avatarColor:e.varchar({length:6}).notNull(),emailVerified:e.boolean().notNull().default(!1),roleId:e.integer().references(()=>b.id).notNull(),birthday:e.timestamp(),ipAddress:e.varchar({length:40}).notNull(),language:e.varchar({length:32}).notNull().default("en").references(()=>R.code,{onDelete:"set default"})}),e=>[pe("core_users_name_code_idx").on(e.nameCode),pe("core_users_name_idx").on(e.name),pe("core_users_email_idx").on(e.email)]).enableRLS(),li=_e(g,({one:e,many:t})=>({group:e(b,{fields:[g.roleId],references:[b.id]}),language:e(R,{fields:[g.language],references:[R.code]}),confirm_email:e(me,{fields:[g.id],references:[me.userId]}),sso:t(Ye),forgot_password:e(ge,{fields:[g.id],references:[ge.userId]})})),Ye=we("core_users_sso",e=>({userId:e.integer().references(()=>g.id,{onDelete:"cascade"}).notNull(),providerId:e.varchar({length:255}).notNull(),providerAccountId:e.varchar({length:255}).notNull(),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date)}),e=>[pe("core_users_sso_user_id_idx").on(e.userId)]).enableRLS(),di=_e(Ye,({one:e})=>({user:e(g,{fields:[Ye.userId],references:[g.id]})})),me=we("core_users_confirm_emails",e=>({id:e.serial().primaryKey(),userId:e.integer().references(()=>g.id,{onDelete:"cascade"}).notNull(),token:e.varchar({length:100}).notNull().unique(),createdAt:e.timestamp().notNull().defaultNow(),expires:e.timestamp().notNull()})).enableRLS(),ui=_e(me,({one:e})=>({user:e(g,{fields:[me.userId],references:[g.id]})})),ge=we("core_users_forgot_password",e=>({id:e.serial().primaryKey(),userId:e.integer().references(()=>g.id,{onDelete:"cascade"}).notNull().unique(),token:e.varchar({length:100}).notNull().unique(),ip_address:e.varchar({length:40}).notNull(),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull()})).enableRLS(),fi=_e(ge,({one:e})=>({user:e(g,{fields:[ge.userId],references:[g.id]})}));var B=Rt("core_sessions",e=>({id:e.serial().primaryKey(),token:e.varchar({length:255}).notNull().unique(),userId:e.integer().notNull().references(()=>g.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),deviceId:e.integer().references(()=>F.id,{onDelete:"cascade"}).notNull()}),e=>[Tt("core_sessions_user_id_idx").on(e.userId)]).enableRLS(),_i=It(B,({one:e})=>({user:e(g,{fields:[B.userId],references:[g.id]}),device:e(F,{fields:[B.deviceId],references:[F.id]})})),F=Rt("core_sessions_known_devices",e=>({id:e.serial().primaryKey(),publicId:e.varchar({length:32}).notNull().unique(),ipAddress:e.varchar({length:40}).notNull(),userAgent:e.text().notNull(),lastSeen:e.timestamp().notNull().defaultNow()}),e=>[Tt("core_sessions_known_devices_ip_address_idx").on(e.ipAddress)]).enableRLS(),wi=It(F,({one:e})=>({session:e(B,{fields:[F.id],references:[B.deviceId]})}));var q=kt("core_admin_permissions",e=>({id:e.serial().primaryKey(),roleId:e.integer().references(()=>b.id,{onDelete:"cascade"}),userId:e.integer().references(()=>g.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1)}),e=>[ye("core_admin_permissions_role_id_idx").on(e.roleId),ye("core_admin_permissions_user_id_idx").on(e.userId)]).enableRLS(),Ni=At(q,({one:e})=>({group:e(b,{fields:[q.roleId],references:[b.id]}),user:e(g,{fields:[q.userId],references:[g.id]})})),ze=kt("core_admin_sessions",e=>({id:e.serial().primaryKey(),token:e.varchar({length:255}).notNull().unique(),userId:e.integer().notNull().references(()=>g.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),lastSeen:e.timestamp().notNull().defaultNow(),expiresAt:e.timestamp().notNull(),deviceId:e.integer().references(()=>F.id,{onDelete:"cascade"}).notNull()}),e=>[ye("core_admin_sessions_token_idx").on(e.token),ye("core_admin_sessions_user_id_idx").on(e.userId)]).enableRLS(),Pi=At(ze,({one:e})=>({user:e(g,{fields:[ze.userId],references:[g.id]}),device:e(F,{fields:[ze.deviceId],references:[F.id]})}));import{relations as br}from"drizzle-orm";import{index as Ft,pgTable as xr}from"drizzle-orm/pg-core";var J=xr("core_moderators_permissions",e=>({id:e.serial().primaryKey(),roleId:e.integer().references(()=>b.id,{onDelete:"cascade"}),userId:e.integer().references(()=>g.id,{onDelete:"cascade"}),createdAt:e.timestamp().notNull().defaultNow(),updatedAt:e.timestamp().notNull().$onUpdate(()=>new Date),protected:e.boolean().notNull().default(!1)}),e=>[Ft("core_moderators_permissions_role_id_idx").on(e.roleId),Ft("core_moderators_permissions_user_id_idx").on(e.userId)]).enableRLS(),Fi=br(J,({one:e})=>({group:e(b,{fields:[J.roleId],references:[b.id]}),user:e(g,{fields:[J.userId],references:[g.id]})}));import{join as Dr}from"path";import{pathToFileURL as Nr}from"url";var Ee=async({type:e="config"})=>{let t=Dr(process.cwd(),"src",`vitnode.${e}.ts`);try{let i=await import(Nr(t).href);return e==="config"?i.vitNodeConfig:i.vitNodeApiConfig}catch(s){console.error("Failed to load config:",s),process.exit(1)}};import{existsSync as St}from"fs";import{readFile as Pr}from"fs/promises";import{join as A,relative as Ct}from"path";var ve=async()=>{let t=[...(await Ee({})).plugins.map(o=>o.pluginId),"@vitnode/core"],s=ue(process.cwd()),i=fe(s),r=de(i),n=process.cwd();await Promise.all(t.map(async o=>{let a=A(process.cwd(),"node_modules",o),c="";try{let _=A(a,"package.json");St(_)&&(c=JSON.parse(await Pr(_,"utf-8")).name??"")}catch(_){console.error(`\x1B[31mError reading package.json for ${o}:\x1B[0m`,_);return}let d=o.replace(/\//g,"-").replace(/@/g,""),l=A(n,"src","app","[locale]","(main)",A("(plugins)",`(${d})`)),u=A(n,"src","app","[locale]","admin","(auth)",A("(plugins)",`(${d})`)),f=A(n,"src","locales",o),m=[{sourceDir:A(a,"src","app_admin"),destinationDir:u},{sourceDir:A(a,"src","app"),destinationDir:l},{sourceDir:A(a,"src","locales"),destinationDir:f}];for(let{sourceDir:_,destinationDir:N}of m)St(_)&&!G(_)&&(console.log(`\x1B[36mCopying ${o}:\x1B[0m ${Ct(s,_)} \u2192 ${Ct(s,N)}`),bt(_,N,c,r,i,s,!1))}))};import{spawn as Ir}from"child_process";var Q=async(e,t=[])=>new Promise((s,i)=>{let r=Ir(e,t,{stdio:"inherit",shell:!0,env:process.env});r.on("error",n=>{i(n)}),r.on("close",n=>{n!==0?i(new Error(`Command failed with exit code ${n}`)):s(!0)})});var Ot=async()=>{try{await Q("npm",["run","drizzle-kit","up"]),await Q("npm",["run","drizzle-kit","generate"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},jt=async()=>{try{await Q("npm",["run","drizzle-kit","migrate"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},$t=async()=>{try{await Q("npm",["run","drizzle-kit","push"])}catch(e){console.error("\x1B[31m%s\x1B[0m",e),process.exit(1)}},be=async()=>{let t=(await Ee({type:"api.config"})).dbProvider,[s]=await t.select({count:Lt()}).from(b).limit(1),[i]=await t.select({count:Lt()}).from(R);if(i.count===0&&await t.insert(R).values([{code:"en",name:"English (USA)",default:!0,protected:!0,timezone:"America/New_York"}]),s.count===0){let r=await t.insert(b).values([{protected:!0,guest:!0},{protected:!0,default:!0},{protected:!0,color:"hsl(122, 80%, 45%)"},{protected:!0,root:!0,color:"hsl(0, 100%, 50%)"}]).returning({id:b.id});await t.insert(he).values([{languageCode:"en",pluginCode:"core",itemId:r[0].id,value:"Guest",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[1].id,value:"Member",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[2].id,value:"Moderator",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:r[3].id,value:"Administrator",tableName:"core_roles",variable:"name"}]),await Promise.all([await t.insert(J).values({roleId:r[2].id,protected:!0}),await t.insert(q).values({roleId:r[3].id,protected:!0})])}},Wt=async({initMessage:e})=>{console.log(`${e} [1/4] Prepare plugins files...`),await ve(),console.log(`
|
|
9
|
+
${e} [4/4] Insert initial data...`),await be(),console.log(`${e} \x1B[32mDatabase prepared successfully.\x1B[0m`),process.exit(0)};Vt.config();var O="\x1B[34m[VitNode]\x1B[0m",Mt=process.argv[2],Ue=process.argv[3];switch(Mt){case"init":Wt({initMessage:O});break;case"migrate":await Ot(),Ue==="--generate"&&(console.log(`${O} \x1B[32mDatabase migrations generated successfully.\x1B[0m`),process.exit(0)),await jt(),await be(),console.log(`${O} \x1B[32mDatabase migrated successfully.\x1B[0m`),process.exit(0);break;case"plugin":(Ue==="--w"||Ue==="--watch")&&Nt({initMessage:O});break;case"prepare-plugins":await ve(),console.log(`${O} \x1B[32mPlugins prepared successfully.\x1B[0m`),process.exit(0);break;case"push":await $t(),await be(),console.log(`${O} \x1B[32mDatabase pushed successfully.\x1B[0m`),process.exit(0);break;default:console.log(`${O} \x1B[31mCommand not found: "${Mt??""}"\x1B[0m`),process.exit(1)}
|
|
10
10
|
/*! Bundled license information:
|
|
11
11
|
|
|
12
12
|
chokidar/esm/index.js:
|