@vitnode/core 1.2.0-canary.30 → 1.2.0-canary.31

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.
@@ -1,27 +1,9 @@
1
1
  import type { NextConfig } from 'next';
2
2
  import createNextIntlPlugin from 'next-intl/plugin';
3
- import * as dotenv from 'dotenv';
4
- import { join } from 'path';
5
3
 
6
4
  const withNextIntl = createNextIntlPlugin('./src/vitnode.config.ts');
7
5
 
8
- dotenv.config({
9
- path: join(process.cwd(), '..', '..', '.env'),
10
- });
11
-
12
6
  export const vitNodeNextConfig = (config: NextConfig): NextConfig =>
13
7
  withNextIntl({
14
8
  ...config,
15
- env: {
16
- ...config.env,
17
- POSTGRES_URL: process.env.POSTGRES_URL ?? '',
18
- POSTGRES_HOST: process.env.POSTGRES_HOST ?? 'localhost',
19
- POSTGRES_PORT: process.env.POSTGRES_PORT
20
- ? process.env.POSTGRES_PORT
21
- : '5432',
22
- POSTGRES_USER: process.env.POSTGRES_USER ?? 'root',
23
- POSTGRES_PASSWORD: process.env.POSTGRES_PASSWORD ?? 'root',
24
- POSTGRES_NAME: process.env.POSTGRES_NAME ?? 'vitnode',
25
- POSTGRES_SSL: process.env.POSTGRES_SSL === 'true' ? 'true' : 'false',
26
- },
27
9
  });
@@ -1,5 +1,6 @@
1
1
  export declare const generateDatabaseMigrations: () => Promise<void>;
2
2
  export declare const runMigrations: () => Promise<void>;
3
+ export declare const runPush: () => Promise<void>;
3
4
  export declare const initialDataForDatabase: () => Promise<void>;
4
5
  export declare const prepareDatabase: ({ initMessage, }: {
5
6
  initMessage: string;
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-database.d.ts","sourceRoot":"","sources":["../../scripts/prepare-database.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,0BAA0B,qBAQtC,CAAC;AAEF,eAAO,MAAM,aAAa,qBAOzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBAwGlC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,kBAEnC;IACD,WAAW,EAAE,MAAM,CAAC;CACrB,mBAWA,CAAC"}
1
+ {"version":3,"file":"prepare-database.d.ts","sourceRoot":"","sources":["../../scripts/prepare-database.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,0BAA0B,qBAQtC,CAAC;AAEF,eAAO,MAAM,aAAa,qBAOzB,CAAC;AAEF,eAAO,MAAM,OAAO,qBAOnB,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBAyGlC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,kBAEnC;IACD,WAAW,EAAE,MAAM,CAAC;CACrB,mBAWA,CAAC"}
@@ -3,8 +3,8 @@ import 'tsx/esm';
3
3
  import { createRequire } from 'module';
4
4
  const require = createRequire(import.meta.url);
5
5
 
6
- import{stat as Xt}from"fs";import{stat as Zt,readdir as es}from"fs/promises";import{EventEmitter as ts}from"events";import*as m from"path";import{stat as Pt,lstat as Ce,readdir as Dt,realpath as vt}from"fs/promises";import{Readable as Nt}from"stream";import{resolve as Le,relative as It,join as Rt,sep as St}from"path";var b={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},pe={root:".",fileFilter:t=>!0,directoryFilter:t=>!0,type:b.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(pe);var Me="READDIRP_RECURSIVE_ERROR",At=new Set(["ENOENT","EPERM","EACCES","ELOOP",Me]),We=[b.DIR_TYPE,b.EVERYTHING_TYPE,b.FILE_DIR_TYPE,b.FILE_TYPE],Tt=new Set([b.DIR_TYPE,b.EVERYTHING_TYPE,b.FILE_DIR_TYPE]),Ft=new Set([b.EVERYTHING_TYPE,b.FILE_DIR_TYPE,b.FILE_TYPE]),kt=t=>At.has(t.code),Ct=process.platform==="win32",je=t=>!0,ze=t=>{if(t===void 0)return je;if(typeof t=="function")return t;if(typeof t=="string"){let e=t.trim();return s=>s.basename===e}if(Array.isArray(t)){let e=t.map(s=>s.trim());return s=>e.some(i=>s.basename===i)}return je},_e=class extends Nt{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let s={...pe,...e},{root:i,type:r}=s;this._fileFilter=ze(s.fileFilter),this._directoryFilter=ze(s.directoryFilter);let o=s.lstat?Ce:Pt;Ct?this._stat=a=>o(a,{bigint:!0}):this._stat=o,this._maxDepth=s.depth??pe.depth,this._wantsDir=r?Tt.has(r):!1,this._wantsFile=r?Ft.has(r):!1,this._wantsEverything=r===b.EVERYTHING_TYPE,this._root=Le(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(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let s=this.parent,i=s&&s.files;if(i&&i.length>0){let{path:r,depth:o}=s,a=i.splice(0,e).map(c=>this._formatEntry(c,r)),n=await Promise.all(a);for(let c of n){if(!c)continue;if(this.destroyed)return;let d=await this._getEntryType(c);d==="directory"&&this._directoryFilter(c)?(o<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,o+1)),this._wantsDir&&(this.push(c),e--)):(d==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),e--)}}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(e,s){let i;try{i=await Dt(e,this._rdOptions)}catch(r){this._onError(r)}return{files:i,depth:s,path:e}}async _formatEntry(e,s){let i,r=this._isDirent?e.name:e;try{let o=Le(Rt(s,r));i={path:It(this._root,o),fullPath:o,basename:r},i[this._statsProp]=this._isDirent?e:await this._stat(o)}catch(o){this._onError(o);return}return i}_onError(e){kt(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let s=e[this._statsProp];if(s.isFile())return"file";if(s.isDirectory())return"directory";if(s&&s.isSymbolicLink()){let i=e.fullPath;try{let r=await vt(i),o=await Ce(r);if(o.isFile())return"file";if(o.isDirectory()){let a=r.length;if(i.startsWith(r)&&i.substr(a,1)===St){let n=new Error(`Circular symlink detected: "${i}" points to "${r}"`);return n.code=Me,this._onError(n)}return"directory"}}catch(r){return this._onError(r),""}}}_includeAsFile(e){let s=e&&e[this._statsProp];return s&&this._wantsEverything&&!s.isDirectory()}};function Oe(t,e={}){let s=e.entryType||e.type;if(s==="both"&&(s=b.FILE_DIR_TYPE),s&&(e.type=s),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(s&&!We.includes(s))throw new Error(`readdirp: Invalid type passed. Use one of ${We.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new _e(e)}import{watchFile as Lt,unwatchFile as $e,watch as Wt}from"fs";import{open as jt,stat as Ye,lstat as zt,realpath as ge}from"fs/promises";import*as y from"path";import{type as Mt}from"os";var Ot="data",xe="end",Ue="close",X=()=>{};var Z=process.platform,Ee=Z==="win32",$t=Z==="darwin",Ht=Z==="linux",Yt=Z==="freebsd",Ke=Mt()==="OS400",x={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},v=x,Ut="watch",Kt={lstat:zt,stat:Ye},F="listeners",q="errHandlers",L="rawEmitters",Gt=[F,q,L],Vt=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"]),qt=t=>Vt.has(y.extname(t).slice(1).toLowerCase()),ye=(t,e)=>{t instanceof Set?t.forEach(e):e(t)},z=(t,e,s)=>{let i=t[e];i instanceof Set||(t[e]=i=new Set([i])),i.add(s)},Bt=t=>e=>{let s=t[e];s instanceof Set?s.clear():delete t[e]},M=(t,e,s)=>{let i=t[e];i instanceof Set?i.delete(s):i===s&&delete t[e]},Ge=t=>t instanceof Set?t.size===0:!t,B=new Map;function He(t,e,s,i,r){let o=(a,n)=>{s(t),r(a,n,{watchedPath:t}),n&&t!==n&&J(y.resolve(t,n),F,y.join(t,n))};try{return Wt(t,{persistent:e.persistent},o)}catch(a){i(a);return}}var J=(t,e,s,i,r)=>{let o=B.get(t);o&&ye(o[e],a=>{a(s,i,r)})},Jt=(t,e,s,i)=>{let{listener:r,errHandler:o,rawEmitter:a}=i,n=B.get(e),c;if(!s.persistent)return c=He(t,s,r,o,a),c?c.close.bind(c):void 0;if(n)z(n,F,r),z(n,q,o),z(n,L,a);else{if(c=He(t,s,J.bind(null,e,F),o,J.bind(null,e,L)),!c)return;c.on(v.ERROR,async d=>{let l=J.bind(null,e,q);if(n&&(n.watcherUnusable=!0),Ee&&d.code==="EPERM")try{await(await jt(t,"r")).close(),l(d)}catch{}else l(d)}),n={listeners:r,errHandlers:o,rawEmitters:a,watcher:c},B.set(e,n)}return()=>{M(n,F,r),M(n,q,o),M(n,L,a),Ge(n.listeners)&&(n.watcher.close(),B.delete(e),Gt.forEach(Bt(n)),n.watcher=void 0,Object.freeze(n))}},we=new Map,Qt=(t,e,s,i)=>{let{listener:r,rawEmitter:o}=i,a=we.get(e),n=a&&a.options;return n&&(n.persistent<s.persistent||n.interval>s.interval)&&($e(e),a=void 0),a?(z(a,F,r),z(a,L,o)):(a={listeners:r,rawEmitters:o,options:s,watcher:Lt(e,s,(c,d)=>{ye(a.rawEmitters,f=>{f(v.CHANGE,e,{curr:c,prev:d})});let l=c.mtimeMs;(c.size!==d.size||l>d.mtimeMs||l===0)&&ye(a.listeners,f=>f(t,c))})},we.set(e,a)),()=>{M(a,F,r),M(a,L,o),Ge(a.listeners)&&(we.delete(e),$e(e),a.options=a.watcher=void 0,Object.freeze(a))}},Q=class{constructor(e){this.fsw=e,this._boundHandleError=s=>e._handleError(s)}_watchWithNodeFs(e,s){let i=this.fsw.options,r=y.dirname(e),o=y.basename(e);this.fsw._getWatchedDir(r).add(o);let n=y.resolve(e),c={persistent:i.persistent};s||(s=X);let d;if(i.usePolling){let l=i.interval!==i.binaryInterval;c.interval=l&&qt(o)?i.binaryInterval:i.interval,d=Qt(e,n,c,{listener:s,rawEmitter:this.fsw._emitRaw})}else d=Jt(e,n,c,{listener:s,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return d}_handleFile(e,s,i){if(this.fsw.closed)return;let r=y.dirname(e),o=y.basename(e),a=this.fsw._getWatchedDir(r),n=s;if(a.has(o))return;let c=async(l,f)=>{if(this.fsw._throttle(Ut,e,5)){if(!f||f.mtimeMs===0)try{let u=await Ye(e);if(this.fsw.closed)return;let w=u.atimeMs,_=u.mtimeMs;if((!w||w<=_||_!==n.mtimeMs)&&this.fsw._emit(v.CHANGE,e,u),($t||Ht||Yt)&&n.ino!==u.ino){this.fsw._closeFile(l),n=u;let D=this._watchWithNodeFs(e,c);D&&this.fsw._addPathCloser(l,D)}else n=u}catch{this.fsw._remove(r,o)}else if(a.has(o)){let u=f.atimeMs,w=f.mtimeMs;(!u||u<=w||w!==n.mtimeMs)&&this.fsw._emit(v.CHANGE,e,f),n=f}}},d=this._watchWithNodeFs(e,c);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(v.ADD,e,0))return;this.fsw._emit(v.ADD,e,s)}return d}async _handleSymlink(e,s,i,r){if(this.fsw.closed)return;let o=e.fullPath,a=this.fsw._getWatchedDir(s);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let n;try{n=await ge(i)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(o)!==n&&(this.fsw._symlinkPaths.set(o,n),this.fsw._emit(v.CHANGE,i,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(o,n),this.fsw._emit(v.ADD,i,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(o))return!0;this.fsw._symlinkPaths.set(o,!0)}_handleRead(e,s,i,r,o,a,n){if(e=y.join(e,""),n=this.fsw._throttle("readdir",e,1e3),!n)return;let c=this.fsw._getWatchedDir(i.path),d=new Set,l=this.fsw._readdirp(e,{fileFilter:f=>i.filterPath(f),directoryFilter:f=>i.filterDir(f)});if(l)return l.on(Ot,async f=>{if(this.fsw.closed){l=void 0;return}let u=f.path,w=y.join(e,u);if(d.add(u),!(f.stats.isSymbolicLink()&&await this._handleSymlink(f,e,w,u))){if(this.fsw.closed){l=void 0;return}(u===r||!r&&!c.has(u))&&(this.fsw._incrReadyCount(),w=y.join(o,y.relative(o,w)),this._addToNodeFs(w,s,i,a+1))}}).on(v.ERROR,this._boundHandleError),new Promise((f,u)=>{if(!l)return u();l.once(xe,()=>{if(this.fsw.closed){l=void 0;return}let w=n?n.clear():!1;f(void 0),c.getChildren().filter(_=>_!==e&&!d.has(_)).forEach(_=>{this.fsw._remove(e,_)}),l=void 0,w&&this._handleRead(e,!1,i,r,o,a,n)})})}async _handleDir(e,s,i,r,o,a,n){let c=this.fsw._getWatchedDir(y.dirname(e)),d=c.has(y.basename(e));!(i&&this.fsw.options.ignoreInitial)&&!o&&!d&&this.fsw._emit(v.ADD_DIR,e,s),c.add(y.basename(e)),this.fsw._getWatchedDir(e);let l,f,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(n)){if(!o&&(await this._handleRead(e,i,a,o,e,r,l),this.fsw.closed))return;f=this._watchWithNodeFs(e,(w,_)=>{_&&_.mtimeMs===0||this._handleRead(w,!1,a,o,e,r,l)})}return f}async _addToNodeFs(e,s,i,r,o){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let n=this.fsw._getWatchHelpers(e);i&&(n.filterPath=c=>i.filterPath(c),n.filterDir=c=>i.filterDir(c));try{let c=await Kt[n.statMethod](n.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(n.watchPath,c))return a(),!1;let d=this.fsw.options.followSymlinks,l;if(c.isDirectory()){let f=y.resolve(e),u=d?await ge(e):e;if(this.fsw.closed||(l=await this._handleDir(n.watchPath,c,s,r,o,n,u),this.fsw.closed))return;f!==u&&u!==void 0&&this.fsw._symlinkPaths.set(f,u)}else if(c.isSymbolicLink()){let f=d?await ge(e):e;if(this.fsw.closed)return;let u=y.dirname(n.watchPath);if(this.fsw._getWatchedDir(u).add(n.watchPath),this.fsw._emit(v.ADD,n.watchPath,c),l=await this._handleDir(u,c,s,r,e,n,f),this.fsw.closed)return;f!==void 0&&this.fsw._symlinkPaths.set(y.resolve(e),f)}else l=this._handleFile(n.watchPath,c,s);return a(),l&&this.fsw._addPathCloser(e,l),!1}catch(c){if(this.fsw._handleError(c))return a(),e}}};var be="/",ss="//",Xe=".",rs="..",is="string",os=/\\/g,Ve=/\/\//,ns=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,as=/^\.[/\\]/;function ee(t){return Array.isArray(t)?t:[t]}var Pe=t=>typeof t=="object"&&t!==null&&!(t instanceof RegExp);function cs(t){return typeof t=="function"?t:typeof t=="string"?e=>t===e:t instanceof RegExp?e=>t.test(e):typeof t=="object"&&t!==null?e=>{if(t.path===e)return!0;if(t.recursive){let s=m.relative(t.path,e);return s?!s.startsWith("..")&&!m.isAbsolute(s):!1}return!1}:()=>!1}function ls(t){if(typeof t!="string")throw new Error("string expected");t=m.normalize(t),t=t.replace(/\\/g,"/");let e=!1;t.startsWith("//")&&(e=!0);let s=/\/\//;for(;t.match(s);)t=t.replace(s,"/");return e&&(t="/"+t),t}function qe(t,e,s){let i=ls(e);for(let r=0;r<t.length;r++){let o=t[r];if(o(i,s))return!0}return!1}function ds(t,e){if(t==null)throw new TypeError("anymatch: specify first argument");let i=ee(t).map(r=>cs(r));return e==null?(r,o)=>qe(i,r,o):qe(i,e)}var Be=t=>{let e=ee(t).flat();if(!e.every(s=>typeof s===is))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(Ze)},Je=t=>{let e=t.replace(os,be),s=!1;for(e.startsWith(ss)&&(s=!0);e.match(Ve);)e=e.replace(Ve,be);return s&&(e=be+e),e},Ze=t=>Je(m.normalize(Je(t))),Qe=(t="")=>e=>typeof e=="string"?Ze(m.isAbsolute(e)?e:m.join(t,e)):e,fs=(t,e)=>m.isAbsolute(t)?t:m.join(e,t),us=Object.freeze(new Set),De=class{constructor(e,s){this.path=e,this._removeWatcher=s,this.items=new Set}add(e){let{items:s}=this;s&&e!==Xe&&e!==rs&&s.add(e)}async remove(e){let{items:s}=this;if(!s||(s.delete(e),s.size>0))return;let i=this.path;try{await es(i)}catch{this._removeWatcher&&this._removeWatcher(m.dirname(i),m.basename(i))}}has(e){let{items:s}=this;if(s)return s.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=X,this.items=us,Object.freeze(this)}},hs="stat",ms="lstat",ve=class{constructor(e,s,i){this.fsw=i;let r=e;this.path=e=e.replace(as,""),this.watchPath=r,this.fullWatchPath=m.resolve(r),this.dirParts=[],this.dirParts.forEach(o=>{o.length>1&&o.pop()}),this.followSymlinks=s,this.statMethod=s?hs:ms}entryPath(e){return m.join(this.watchPath,m.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:s}=e;if(s&&s.isSymbolicLink())return this.filterDir(e);let i=this.entryPath(e);return this.fsw._isntIgnored(i,s)&&this.fsw._hasReadPermissions(s)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},te=class extends ts{constructor(e={}){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=e.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?ee(e.ignored):ee([]),awaitWriteFinish:s===!0?i:typeof s=="object"?{...i,...s}:!1};Ke&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let o=process.env.CHOKIDAR_USEPOLLING;if(o!==void 0){let c=o.toLowerCase();c==="false"||c==="0"?r.usePolling=!1:c==="true"||c==="1"?r.usePolling=!0:r.usePolling=!!c}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let n=0;this._emitReady=()=>{n++,n>=this._readyCount&&(this._emitReady=X,this._readyEmitted=!0,process.nextTick(()=>this.emit(x.READY)))},this._emitRaw=(...c)=>this.emit(x.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new Q(this),Object.freeze(r)}_addIgnoredPath(e){if(Pe(e)){for(let s of this._ignoredPaths)if(Pe(s)&&s.path===e.path&&s.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let s of this._ignoredPaths)Pe(s)&&s.path===e&&this._ignoredPaths.delete(s)}add(e,s,i){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let o=Be(e);return r&&(o=o.map(a=>fs(a,r))),o.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=o.length,Promise.all(o.map(async a=>{let n=await this._nodeFsHandler._addToNodeFs(a,!i,void 0,0,s);return n&&this._emitReady(),n})).then(a=>{this.closed||a.forEach(n=>{n&&this.add(m.dirname(n),m.basename(s||n))})}),this}unwatch(e){if(this.closed)return this;let s=Be(e),{cwd:i}=this.options;return s.forEach(r=>{!m.isAbsolute(r)&&!this._closers.has(r)&&(i&&(r=m.join(i,r)),r=m.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 e=[];return this._closers.forEach(s=>s.forEach(i=>{let r=i();r instanceof Promise&&e.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=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((s,i)=>{let o=(this.options.cwd?m.relative(this.options.cwd,i):i)||Xe;e[o]=s.getChildren().sort()}),e}emitWithAll(e,s){this.emit(e,...s),e!==x.ERROR&&this.emit(x.ALL,e,...s)}async _emit(e,s,i){if(this.closed)return;let r=this.options;Ee&&(s=m.normalize(s)),r.cwd&&(s=m.relative(r.cwd,s));let o=[s];i!=null&&o.push(i);let a=r.awaitWriteFinish,n;if(a&&(n=this._pendingWrites.get(s)))return n.lastChange=new Date,this;if(r.atomic){if(e===x.UNLINK)return this._pendingUnlinks.set(s,[e,...o]),setTimeout(()=>{this._pendingUnlinks.forEach((c,d)=>{this.emit(...c),this.emit(x.ALL,...c),this._pendingUnlinks.delete(d)})},typeof r.atomic=="number"?r.atomic:100),this;e===x.ADD&&this._pendingUnlinks.has(s)&&(e=x.CHANGE,this._pendingUnlinks.delete(s))}if(a&&(e===x.ADD||e===x.CHANGE)&&this._readyEmitted){let c=(d,l)=>{d?(e=x.ERROR,o[0]=d,this.emitWithAll(e,o)):l&&(o.length>1?o[1]=l:o.push(l),this.emitWithAll(e,o))};return this._awaitWriteFinish(s,a.stabilityThreshold,e,c),this}if(e===x.CHANGE&&!this._throttle(x.CHANGE,s,50))return this;if(r.alwaysStat&&i===void 0&&(e===x.ADD||e===x.ADD_DIR||e===x.CHANGE)){let c=r.cwd?m.join(r.cwd,s):s,d;try{d=await Zt(c)}catch{}if(!d||this.closed)return;o.push(d)}return this.emitWithAll(e,o),this}_handleError(e){let s=e&&e.code;return e&&s!=="ENOENT"&&s!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||s!=="EPERM"&&s!=="EACCES")&&this.emit(x.ERROR,e),e||this.closed}_throttle(e,s,i){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw new Error("invalid throttle");let o=r.get(s);if(o)return o.count++,!1;let a,n=()=>{let d=r.get(s),l=d?d.count:0;return r.delete(s),clearTimeout(a),d&&clearTimeout(d.timeoutObject),l};a=setTimeout(n,i);let c={timeoutObject:a,clear:n,count:0};return r.set(s,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,s,i,r){let o=this.options.awaitWriteFinish;if(typeof o!="object")return;let a=o.pollInterval,n,c=e;this.options.cwd&&!m.isAbsolute(e)&&(c=m.join(this.options.cwd,e));let d=new Date,l=this._pendingWrites;function f(u){Xt(c,(w,_)=>{if(w||!l.has(e)){w&&w.code!=="ENOENT"&&r(w);return}let D=Number(new Date);u&&_.size!==u.size&&(l.get(e).lastChange=D);let j=l.get(e);D-j.lastChange>=s?(l.delete(e),r(void 0,_)):n=setTimeout(f,a,_)})}l.has(e)||(l.set(e,{lastChange:d,cancelWait:()=>(l.delete(e),clearTimeout(n),i)}),n=setTimeout(f,a))}_isIgnored(e,s){if(this.options.atomic&&ns.test(e))return!0;if(!this._userIgnored){let{cwd:i}=this.options,o=(this.options.ignored||[]).map(Qe(i)),n=[...[...this._ignoredPaths].map(Qe(i)),...o];this._userIgnored=ds(n,void 0)}return this._userIgnored(e,s)}_isntIgnored(e,s){return!this._isIgnored(e,s)}_getWatchHelpers(e){return new ve(e,this.options.followSymlinks,this)}_getWatchedDir(e){let s=m.resolve(e);return this._watched.has(s)||this._watched.set(s,new De(s,this._boundRemove)),this._watched.get(s)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,s,i){let r=m.join(e,s),o=m.resolve(r);if(i=i??(this._watched.has(r)||this._watched.has(o)),!this._throttle("remove",r,100))return;!i&&this._watched.size===1&&this.add(e,s,!0),this._getWatchedDir(r).getChildren().forEach(u=>this._remove(r,u));let c=this._getWatchedDir(e),d=c.has(s);c.remove(s),this._symlinkPaths.has(o)&&this._symlinkPaths.delete(o);let l=r;if(this.options.cwd&&(l=m.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(l)&&this._pendingWrites.get(l).cancelWait()===x.ADD)return;this._watched.delete(r),this._watched.delete(o);let f=i?x.UNLINK_DIR:x.UNLINK;d&&!this._isIgnored(r)&&this._emit(f,r),this._closePath(r)}_closePath(e){this._closeFile(e);let s=m.dirname(e);this._getWatchedDir(s).remove(m.basename(e))}_closeFile(e){let s=this._closers.get(e);s&&(s.forEach(i=>i()),this._closers.delete(e))}_addPathCloser(e,s){if(!s)return;let i=this._closers.get(e);i||(i=[],this._closers.set(e,i)),i.push(s)}_readdirp(e,s){if(this.closed)return;let i={type:x.ALL,alwaysStat:!0,lstat:!0,...s,depth:0},r=Oe(e,i);return this._streams.add(r),r.once(Ue,()=>{r=void 0}),r.once(xe,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};function ps(t,e={}){let s=new te(e);return s.add(t),s}var et={watch:ps,FSWatcher:te};import{existsSync as k,mkdirSync as Is,readFileSync as Rs,unlinkSync as Ss}from"fs";import{basename as rt,join as P,relative as it}from"path";import{copyFileSync as _s,existsSync as I,mkdirSync as gs,readdirSync as Re,readFileSync as ws,writeFileSync as ys}from"fs";import{basename as tt,dirname as O,extname as xs,join as N,normalize as Es,relative as W,sep as bs}from"path";var Ps=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"]([./]+[^'"]*)['"]/g,Ds=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"](@\/[^'"]*)['"]/g,vs=/import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)/g,Ne=/\.(js|jsx|ts|tsx)$/,Ie=/^page\.(tsx|ts|jsx|js)$/i,$=(t,e)=>{let i=W(e,t).split(bs);i.pop();let r=i.filter(o=>!o.startsWith("("));return Es(r.join("/"))},se=t=>{let e=new Map,s=i=>{if(I(i))for(let r of Re(i,{withFileTypes:!0})){let o=N(i,r.name);if(r.isDirectory()){s(o);continue}if(Ie.test(r.name)){let a=$(o,t);e.set(a,o)}}};return s(t),e},Ns=(t,e)=>{let s=t.replace(Ps,(i,r)=>{if(r.startsWith(".")){let a=r.replace(Ne,"").replace(/^(?:\.\.\/)+/,"");return i.replace(r,`${e}/${a}`)}return i});return s=s.replace(Ds,(i,r)=>{let o=r.replace(/^@\//,"").replace(Ne,"");return i.replace(r,`${e}/${o}`)}),s=s.replace(vs,(i,r)=>{let o=r.replace(/^@\//,"").replace(Ne,"");return i.replace(r,`${e}/${o}`)}),s};function re(t){let e=t;for(;e!==O(e);){if(I(N(e,"turbo.json"))||I(N(e,".git")))return e;e=O(e)}let s=N(t,"package.json");if(I(s))return O(s);throw new Error("\u274C Could not locate project root")}function ie(t){let e=N(t,"src","app","[locale]");if(I(e))return e;let i=(o=>{let a=[];if(!I(o))return a;let n=(c,d=0)=>{if(!(d>4))try{let l=Re(c,{withFileTypes:!0});for(let f of l){if(!f.isDirectory())continue;let u=N(c,f.name);if(f.name==="[locale]"&&O(u).endsWith(N("src","app"))){a.push(u);continue}n(u,d+1)}}catch{}};return n(o),a})(t);return i.length>0?i[0]:N(t,"apps","docs","src","app","[locale]")}var H=t=>{let e=[];if(!I(t))return e;let s=Re(t,{withFileTypes:!0});for(let i of s){let r=N(t,i.name);i.isDirectory()?e.push(...H(r)):e.push(r)}return e},Y=t=>I(t)?H(t).length===0:!0,Se=(t,e,s,i,r,o,a=!0)=>{let n=tt(t);if(Ie.test(n)){let c=$(e,r),d=i.get(c);if(d&&d!==e){a&&console.log(`\x1B[31mSkipped duplicate page:\x1B[0m ${W(o,e)} (collides with ${W(o,d)})`);return}}try{let c=O(e);I(c)||gs(c,{recursive:!0});let d=xs(t);if(s&&[".js",".jsx",".ts",".tsx"].includes(d)){let l=ws(t,"utf-8"),f=Ns(l,s);ys(e,f)}else _s(t,e);if(a){let l=t.indexOf(N("src","app")),f=l!==-1?t.substring(l):t.startsWith(o)?W(o,t):t,u=e.startsWith(o)?W(o,e):e;console.log(`\x1B[32mCopied:\x1B[0m ${f} \u2192 ${u}`)}if(Ie.test(tt(e))){let l=$(e,r);i.set(l,e)}}catch(c){console.error(`\x1B[31mError copying file:\x1B[0m ${t}`,c)}},st=(t,e,s,i,r,o,a=!0)=>{if(!I(t)||Y(t))return;let n=H(t);for(let c of n){let d=W(t,c),l=N(e,d);Se(c,l,s,i,r,o,a)}};var ot=({initMessage:t})=>{let e=process.cwd(),s=re(e),i=ie(s),r=se(i),o=rt(e);try{let h=P(e,"package.json");k(h)&&(o=JSON.parse(Rs(h,"utf-8")).name??"")}catch(h){console.error("\x1B[31mError reading package.json:\x1B[0m",h);return}let a=o.replace(/\//g,"-").replace(/@/g,""),n=P(s,"apps","docs","src","app","[locale]","(main)",P("(plugins)",`(${a})`)),c=P(s,"apps","docs","src","app","[locale]","admin","(auth)",P("(plugins)",`(${a})`)),d=P(s,"apps","docs","src","locales",o),l=[{sourceDir:P(e,"src","app_admin"),destinationDir:c},{sourceDir:P(e,"src","app"),destinationDir:n},{sourceDir:P(e,"src","locales"),destinationDir:d}];for(let{sourceDir:h,destinationDir:g}of l)k(h)&&!Y(h)&&!k(g)&&Is(g,{recursive:!0});let f=(h,g)=>{Se(h,g,o,r,i,s)},u=h=>{try{if(k(h)&&(Ss(h),console.log(`\x1B[33mRemoved:\x1B[0m ${h}`),/^page\.(tsx|ts|jsx|js)$/i.test(rt(h)))){let g=$(h,i);r.get(g)===h&&r.delete(g)}}catch(g){console.error(`\x1B[31mError removing file:\x1B[0m ${h}`,g)}},w=(h,g)=>{if(!k(g)||g.includes(P("src","locales")))return;let me=H(g);for(let T of me){let V=it(g,T),bt=P(h,V);k(bt)||u(T)}};for(let{sourceDir:h,destinationDir:g}of l)w(h,g);console.log(`${t} \x1B[34mWatching for changes in plugins...\x1B[0m`);let _=l.map(h=>h.sourceDir).filter(h=>k(h)),D=et.watch(_,{ignoreInitial:!1,persistent:!0}),j=h=>{let g=l.filter(({sourceDir:T})=>h.startsWith(T));if(g.length===0)throw new Error(`No matching source directory for: ${h}`);let he=g.reduce((T,V)=>V.sourceDir.length>T.sourceDir.length?V:T),me=it(he.sourceDir,h);return P(he.destinationDir,me)};D.on("add",h=>{let g=j(h);f(h,g)}).on("change",h=>{let g=j(h);f(h,g)}).on("unlink",h=>{let g=j(h);u(g)}).on("error",h=>{console.error("\x1B[31mWatcher error:\x1B[0m",h)})};import*as wt from"dotenv";import{count as gt}from"drizzle-orm";import{drizzle as zs}from"drizzle-orm/postgres-js";import{join as Ms}from"path";import{relations as dt}from"drizzle-orm";import{index as fe,pgTable as ft}from"drizzle-orm/pg-core";import{pgTable as As}from"drizzle-orm/pg-core";var E=As("core_roles",t=>({id:t.serial().primaryKey(),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date),protected:t.boolean().notNull().default(!1),default:t.boolean().notNull().default(!1),root:t.boolean().notNull().default(!1),guest:t.boolean().notNull().default(!1),color:t.varchar({length:19})})).enableRLS();import{relations as at}from"drizzle-orm";import{index as ct,pgTable as lt}from"drizzle-orm/pg-core";import{relations as le}from"drizzle-orm";import{index as ne,pgTable as de}from"drizzle-orm/pg-core";import{relations as Ts}from"drizzle-orm";import{index as Ae,pgTable as nt}from"drizzle-orm/pg-core";var R=nt("core_languages",t=>({id:t.serial().primaryKey(),code:t.varchar({length:32}).notNull().unique(),name:t.varchar({length:255}).notNull(),timezone:t.varchar({length:255}).notNull().default("UTC"),protected:t.boolean().notNull().default(!1),default:t.boolean().notNull().default(!1),enabled:t.boolean().notNull().default(!0),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date),time24:t.boolean().notNull().default(!1)}),t=>[Ae("core_languages_code_idx").on(t.code),Ae("core_languages_name_idx").on(t.name)]).enableRLS(),oe=nt("core_languages_words",t=>({id:t.serial().primaryKey(),languageCode:t.varchar().notNull().references(()=>R.code,{onDelete:"cascade"}),pluginCode:t.varchar({length:50}).notNull(),itemId:t.integer().notNull(),value:t.text().notNull(),tableName:t.varchar({length:255}).notNull(),variable:t.varchar({length:255}).notNull()}),t=>[Ae("core_languages_words_lang_code_idx").on(t.languageCode)]).enableRLS(),pr=Ts(oe,({one:t})=>({language:t(R,{fields:[oe.languageCode],references:[R.code]})}));var p=de("core_users",t=>({id:t.serial().primaryKey(),nameCode:t.varchar({length:255}).notNull().unique(),name:t.varchar({length:255}).notNull().unique(),email:t.varchar({length:255}).notNull().unique(),password:t.varchar(),createdAt:t.timestamp().notNull().defaultNow(),newsletter:t.boolean().notNull().default(!1),avatarColor:t.varchar({length:6}).notNull(),emailVerified:t.boolean().notNull().default(!1),roleId:t.integer().references(()=>E.id).notNull(),birthday:t.timestamp(),ipAddress:t.varchar({length:40}).notNull(),language:t.varchar({length:32}).notNull().default("en").references(()=>R.code,{onDelete:"set default"})}),t=>[ne("core_users_name_code_idx").on(t.nameCode),ne("core_users_name_idx").on(t.name),ne("core_users_email_idx").on(t.email)]).enableRLS(),Er=le(p,({one:t,many:e})=>({group:t(E,{fields:[p.roleId],references:[E.id]}),language:t(R,{fields:[p.language],references:[R.code]}),confirm_email:t(ae,{fields:[p.id],references:[ae.userId]}),sso:e(Te),forgot_password:t(ce,{fields:[p.id],references:[ce.userId]})})),Te=de("core_users_sso",t=>({userId:t.integer().references(()=>p.id,{onDelete:"cascade"}).notNull(),providerId:t.varchar({length:255}).notNull(),providerAccountId:t.varchar({length:255}).notNull(),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date)}),t=>[ne("core_users_sso_user_id_idx").on(t.userId)]).enableRLS(),br=le(Te,({one:t})=>({user:t(p,{fields:[Te.userId],references:[p.id]})})),ae=de("core_users_confirm_emails",t=>({id:t.serial().primaryKey(),userId:t.integer().references(()=>p.id,{onDelete:"cascade"}).notNull(),token:t.varchar({length:100}).notNull().unique(),createdAt:t.timestamp().notNull().defaultNow(),expires:t.timestamp().notNull()})).enableRLS(),Pr=le(ae,({one:t})=>({user:t(p,{fields:[ae.userId],references:[p.id]})})),ce=de("core_users_forgot_password",t=>({id:t.serial().primaryKey(),userId:t.integer().references(()=>p.id,{onDelete:"cascade"}).notNull().unique(),token:t.varchar({length:100}).notNull().unique(),ip_address:t.varchar({length:40}).notNull(),createdAt:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull()})).enableRLS(),Dr=le(ce,({one:t})=>({user:t(p,{fields:[ce.userId],references:[p.id]})}));var U=lt("core_sessions",t=>({id:t.serial().primaryKey(),token:t.varchar({length:255}).notNull().unique(),userId:t.integer().notNull().references(()=>p.id,{onDelete:"cascade"}),createdAt:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull(),deviceId:t.integer().references(()=>A.id,{onDelete:"cascade"}).notNull()}),t=>[ct("core_sessions_user_id_idx").on(t.userId)]).enableRLS(),Sr=at(U,({one:t})=>({user:t(p,{fields:[U.userId],references:[p.id]}),device:t(A,{fields:[U.deviceId],references:[A.id]})})),A=lt("core_sessions_known_devices",t=>({id:t.serial().primaryKey(),publicId:t.varchar({length:32}).notNull().unique(),ipAddress:t.varchar({length:40}).notNull(),userAgent:t.text().notNull(),lastSeen:t.timestamp().notNull().defaultNow()}),t=>[ct("core_sessions_known_devices_ip_address_idx").on(t.ipAddress)]).enableRLS(),Ar=at(A,({one:t})=>({session:t(U,{fields:[A.id],references:[U.deviceId]})}));var K=ft("core_admin_permissions",t=>({id:t.serial().primaryKey(),roleId:t.integer().references(()=>E.id,{onDelete:"cascade"}),userId:t.integer().references(()=>p.id,{onDelete:"cascade"}),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date),protected:t.boolean().notNull().default(!1)}),t=>[fe("core_admin_permissions_role_id_idx").on(t.roleId),fe("core_admin_permissions_user_id_idx").on(t.userId)]).enableRLS(),jr=dt(K,({one:t})=>({group:t(E,{fields:[K.roleId],references:[E.id]}),user:t(p,{fields:[K.userId],references:[p.id]})})),Fe=ft("core_admin_sessions",t=>({id:t.serial().primaryKey(),token:t.varchar({length:255}).notNull().unique(),userId:t.integer().notNull().references(()=>p.id,{onDelete:"cascade"}),createdAt:t.timestamp().notNull().defaultNow(),lastSeen:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull(),deviceId:t.integer().references(()=>A.id,{onDelete:"cascade"}).notNull()}),t=>[fe("core_admin_sessions_token_idx").on(t.token),fe("core_admin_sessions_user_id_idx").on(t.userId)]).enableRLS(),zr=dt(Fe,({one:t})=>({user:t(p,{fields:[Fe.userId],references:[p.id]}),device:t(A,{fields:[Fe.deviceId],references:[A.id]})}));import{relations as Fs}from"drizzle-orm";import{index as ut,pgTable as ks}from"drizzle-orm/pg-core";var G=ks("core_moderators_permissions",t=>({id:t.serial().primaryKey(),roleId:t.integer().references(()=>E.id,{onDelete:"cascade"}),userId:t.integer().references(()=>p.id,{onDelete:"cascade"}),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date),protected:t.boolean().notNull().default(!1)}),t=>[ut("core_moderators_permissions_role_id_idx").on(t.roleId),ut("core_moderators_permissions_user_id_idx").on(t.userId)]).enableRLS(),Ur=Fs(G,({one:t})=>({group:t(E,{fields:[G.roleId],references:[E.id]}),user:t(p,{fields:[G.userId],references:[p.id]})}));import{existsSync as mt}from"fs";import{readFile as Ws}from"fs/promises";import{join as S,relative as pt}from"path";import{join as Cs}from"path";import{pathToFileURL as Ls}from"url";var ht=async()=>{let t=Cs(process.cwd(),"src","vitnode.config.ts");try{return(await import(Ls(t).href)).vitNodeConfig}catch(e){console.error("Failed to load config:",e),process.exit(1)}};var _t=async()=>{let e=[...(await ht()).plugins.map(a=>a.pluginId),"@vitnode/core"],s=re(process.cwd()),i=ie(s),r=se(i),o=process.cwd();await Promise.all(e.map(async a=>{let n=S(process.cwd(),"node_modules",a),c="";try{let _=S(n,"package.json");mt(_)&&(c=JSON.parse(await Ws(_,"utf-8")).name??"")}catch(_){console.error(`\x1B[31mError reading package.json for ${a}:\x1B[0m`,_);return}let d=a.replace(/\//g,"-").replace(/@/g,""),l=S(o,"src","app","[locale]","(main)",S("(plugins)",`(${d})`)),f=S(o,"src","app","[locale]","admin","(auth)",S("(plugins)",`(${d})`)),u=S(o,"src","locales",a),w=[{sourceDir:S(n,"src","app_admin"),destinationDir:f},{sourceDir:S(n,"src","app"),destinationDir:l},{sourceDir:S(n,"src","locales"),destinationDir:u}];for(let{sourceDir:_,destinationDir:D}of w)mt(_)&&!Y(_)&&(console.log(`\x1B[36mCopying ${a}:\x1B[0m ${pt(s,_)} \u2192 ${pt(s,D)}`),st(_,D,c,r,i,s,!1))}))};import{spawn as js}from"child_process";var ue=async(t,e=[])=>new Promise((s,i)=>{let r=js(t,e,{stdio:"inherit",shell:!0});r.on("error",o=>{i(o)}),r.on("close",o=>{o!==0?i(new Error(`Command failed with exit code ${o}`)):s(!0)})});wt.config({path:Ms(process.cwd(),"..","..",".env")});var C=zs({connection:process.env.POSTGRES_URL??"postgresql://root:root@localhost:5432/vitnode",casing:"camelCase"}),Os=async()=>{try{await ue("npm",["run","drizzle-kit","up"]),await ue("npm",["run","drizzle-kit","generate"])}catch(t){console.error("\x1B[31m%s\x1B[0m",t),process.exit(1)}},$s=async()=>{try{await ue("npm",["run","drizzle-kit","migrate"])}catch(t){console.error("\x1B[31m%s\x1B[0m",t),process.exit(1)}},Hs=async()=>{let[t]=await C.select({count:gt()}).from(E).limit(1),[e]=await C.select({count:gt()}).from(R);if(e.count===0&&await C.insert(R).values([{code:"en",name:"English (USA)",default:!0,protected:!0,timezone:"America/New_York"}]),t.count===0){let s=await C.insert(E).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:E.id});await C.insert(oe).values([{languageCode:"en",pluginCode:"core",itemId:s[0].id,value:"Guest",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:s[1].id,value:"Member",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:s[2].id,value:"Moderator",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:s[3].id,value:"Administrator",tableName:"core_roles",variable:"name"}]),await Promise.all([await C.insert(G).values({roleId:s[2].id,protected:!0}),await C.insert(K).values({roleId:s[3].id,protected:!0})])}},yt=async({initMessage:t})=>{console.log(`${t} [1/4] Prepare plugins files...`),await _t(),console.log(`${t} [2/4] Generate migrations...`),await Os(),console.log(`${t} [3/4] Run migrations...`),await $s(),console.log(`
7
- ${t} [4/4] Insert initial data...`),await Hs(),console.log(`${t} \x1B[32mDatabase prepared successfully.\x1B[0m`),process.exit(0)};var ke="\x1B[34m[VitNode]\x1B[0m",xt=process.argv[2],Et=process.argv[3];switch(xt){case"init":yt({initMessage:ke});break;case"plugin":(Et==="--w"||Et==="--watch")&&ot({initMessage:ke});break;default:console.log(`${ke} \x1B[31mCommand not found: "${xt??""}"\x1B[0m`),process.exit(1)}
6
+ import{stat as ts}from"fs";import{stat as ss,readdir as rs}from"fs/promises";import{EventEmitter as is}from"events";import*as m from"path";import{stat as Nt,lstat as Me,readdir as It,realpath as Rt}from"fs/promises";import{Readable as St}from"stream";import{resolve as Oe,relative as At,join as Ft,sep as Tt}from"path";var E={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},ge={root:".",fileFilter:t=>!0,directoryFilter:t=>!0,type:E.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(ge);var Ue="READDIRP_RECURSIVE_ERROR",kt=new Set(["ENOENT","EPERM","EACCES","ELOOP",Ue]),$e=[E.DIR_TYPE,E.EVERYTHING_TYPE,E.FILE_DIR_TYPE,E.FILE_TYPE],Ct=new Set([E.DIR_TYPE,E.EVERYTHING_TYPE,E.FILE_DIR_TYPE]),Lt=new Set([E.EVERYTHING_TYPE,E.FILE_DIR_TYPE,E.FILE_TYPE]),Wt=t=>kt.has(t.code),jt=process.platform==="win32",He=t=>!0,Ye=t=>{if(t===void 0)return He;if(typeof t=="function")return t;if(typeof t=="string"){let e=t.trim();return s=>s.basename===e}if(Array.isArray(t)){let e=t.map(s=>s.trim());return s=>e.some(i=>s.basename===i)}return He},we=class extends St{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let s={...ge,...e},{root:i,type:r}=s;this._fileFilter=Ye(s.fileFilter),this._directoryFilter=Ye(s.directoryFilter);let o=s.lstat?Me:Nt;jt?this._stat=a=>o(a,{bigint:!0}):this._stat=o,this._maxDepth=s.depth??ge.depth,this._wantsDir=r?Ct.has(r):!1,this._wantsFile=r?Lt.has(r):!1,this._wantsEverything=r===E.EVERYTHING_TYPE,this._root=Oe(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(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let s=this.parent,i=s&&s.files;if(i&&i.length>0){let{path:r,depth:o}=s,a=i.splice(0,e).map(c=>this._formatEntry(c,r)),n=await Promise.all(a);for(let c of n){if(!c)continue;if(this.destroyed)return;let d=await this._getEntryType(c);d==="directory"&&this._directoryFilter(c)?(o<=this._maxDepth&&this.parents.push(this._exploreDir(c.fullPath,o+1)),this._wantsDir&&(this.push(c),e--)):(d==="file"||this._includeAsFile(c))&&this._fileFilter(c)&&this._wantsFile&&(this.push(c),e--)}}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(e,s){let i;try{i=await It(e,this._rdOptions)}catch(r){this._onError(r)}return{files:i,depth:s,path:e}}async _formatEntry(e,s){let i,r=this._isDirent?e.name:e;try{let o=Oe(Ft(s,r));i={path:At(this._root,o),fullPath:o,basename:r},i[this._statsProp]=this._isDirent?e:await this._stat(o)}catch(o){this._onError(o);return}return i}_onError(e){Wt(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let s=e[this._statsProp];if(s.isFile())return"file";if(s.isDirectory())return"directory";if(s&&s.isSymbolicLink()){let i=e.fullPath;try{let r=await Rt(i),o=await Me(r);if(o.isFile())return"file";if(o.isDirectory()){let a=r.length;if(i.startsWith(r)&&i.substr(a,1)===Tt){let n=new Error(`Circular symlink detected: "${i}" points to "${r}"`);return n.code=Ue,this._onError(n)}return"directory"}}catch(r){return this._onError(r),""}}}_includeAsFile(e){let s=e&&e[this._statsProp];return s&&this._wantsEverything&&!s.isDirectory()}};function Ke(t,e={}){let s=e.entryType||e.type;if(s==="both"&&(s=E.FILE_DIR_TYPE),s&&(e.type=s),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(s&&!$e.includes(s))throw new Error(`readdirp: Invalid type passed. Use one of ${$e.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new we(e)}import{watchFile as zt,unwatchFile as Ge,watch as Mt}from"fs";import{open as Ot,stat as qe,lstat as $t,realpath as ye}from"fs/promises";import*as y from"path";import{type as Ht}from"os";var Yt="data",Ee="end",Be="close",ee=()=>{};var te=process.platform,Pe=te==="win32",Ut=te==="darwin",Kt=te==="linux",Gt=te==="freebsd",Je=Ht()==="OS400",x={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},v=x,Vt="watch",qt={lstat:$t,stat:qe},T="listeners",J="errHandlers",W="rawEmitters",Bt=[T,J,W],Jt=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"]),Qt=t=>Jt.has(y.extname(t).slice(1).toLowerCase()),be=(t,e)=>{t instanceof Set?t.forEach(e):e(t)},M=(t,e,s)=>{let i=t[e];i instanceof Set||(t[e]=i=new Set([i])),i.add(s)},Xt=t=>e=>{let s=t[e];s instanceof Set?s.clear():delete t[e]},O=(t,e,s)=>{let i=t[e];i instanceof Set?i.delete(s):i===s&&delete t[e]},Qe=t=>t instanceof Set?t.size===0:!t,Q=new Map;function Ve(t,e,s,i,r){let o=(a,n)=>{s(t),r(a,n,{watchedPath:t}),n&&t!==n&&X(y.resolve(t,n),T,y.join(t,n))};try{return Mt(t,{persistent:e.persistent},o)}catch(a){i(a);return}}var X=(t,e,s,i,r)=>{let o=Q.get(t);o&&be(o[e],a=>{a(s,i,r)})},Zt=(t,e,s,i)=>{let{listener:r,errHandler:o,rawEmitter:a}=i,n=Q.get(e),c;if(!s.persistent)return c=Ve(t,s,r,o,a),c?c.close.bind(c):void 0;if(n)M(n,T,r),M(n,J,o),M(n,W,a);else{if(c=Ve(t,s,X.bind(null,e,T),o,X.bind(null,e,W)),!c)return;c.on(v.ERROR,async d=>{let l=X.bind(null,e,J);if(n&&(n.watcherUnusable=!0),Pe&&d.code==="EPERM")try{await(await Ot(t,"r")).close(),l(d)}catch{}else l(d)}),n={listeners:r,errHandlers:o,rawEmitters:a,watcher:c},Q.set(e,n)}return()=>{O(n,T,r),O(n,J,o),O(n,W,a),Qe(n.listeners)&&(n.watcher.close(),Q.delete(e),Bt.forEach(Xt(n)),n.watcher=void 0,Object.freeze(n))}},xe=new Map,es=(t,e,s,i)=>{let{listener:r,rawEmitter:o}=i,a=xe.get(e),n=a&&a.options;return n&&(n.persistent<s.persistent||n.interval>s.interval)&&(Ge(e),a=void 0),a?(M(a,T,r),M(a,W,o)):(a={listeners:r,rawEmitters:o,options:s,watcher:zt(e,s,(c,d)=>{be(a.rawEmitters,f=>{f(v.CHANGE,e,{curr:c,prev:d})});let l=c.mtimeMs;(c.size!==d.size||l>d.mtimeMs||l===0)&&be(a.listeners,f=>f(t,c))})},xe.set(e,a)),()=>{O(a,T,r),O(a,W,o),Qe(a.listeners)&&(xe.delete(e),Ge(e),a.options=a.watcher=void 0,Object.freeze(a))}},Z=class{constructor(e){this.fsw=e,this._boundHandleError=s=>e._handleError(s)}_watchWithNodeFs(e,s){let i=this.fsw.options,r=y.dirname(e),o=y.basename(e);this.fsw._getWatchedDir(r).add(o);let n=y.resolve(e),c={persistent:i.persistent};s||(s=ee);let d;if(i.usePolling){let l=i.interval!==i.binaryInterval;c.interval=l&&Qt(o)?i.binaryInterval:i.interval,d=es(e,n,c,{listener:s,rawEmitter:this.fsw._emitRaw})}else d=Zt(e,n,c,{listener:s,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return d}_handleFile(e,s,i){if(this.fsw.closed)return;let r=y.dirname(e),o=y.basename(e),a=this.fsw._getWatchedDir(r),n=s;if(a.has(o))return;let c=async(l,f)=>{if(this.fsw._throttle(Vt,e,5)){if(!f||f.mtimeMs===0)try{let u=await qe(e);if(this.fsw.closed)return;let w=u.atimeMs,_=u.mtimeMs;if((!w||w<=_||_!==n.mtimeMs)&&this.fsw._emit(v.CHANGE,e,u),(Ut||Kt||Gt)&&n.ino!==u.ino){this.fsw._closeFile(l),n=u;let D=this._watchWithNodeFs(e,c);D&&this.fsw._addPathCloser(l,D)}else n=u}catch{this.fsw._remove(r,o)}else if(a.has(o)){let u=f.atimeMs,w=f.mtimeMs;(!u||u<=w||w!==n.mtimeMs)&&this.fsw._emit(v.CHANGE,e,f),n=f}}},d=this._watchWithNodeFs(e,c);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(v.ADD,e,0))return;this.fsw._emit(v.ADD,e,s)}return d}async _handleSymlink(e,s,i,r){if(this.fsw.closed)return;let o=e.fullPath,a=this.fsw._getWatchedDir(s);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let n;try{n=await ye(i)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(o)!==n&&(this.fsw._symlinkPaths.set(o,n),this.fsw._emit(v.CHANGE,i,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(o,n),this.fsw._emit(v.ADD,i,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(o))return!0;this.fsw._symlinkPaths.set(o,!0)}_handleRead(e,s,i,r,o,a,n){if(e=y.join(e,""),n=this.fsw._throttle("readdir",e,1e3),!n)return;let c=this.fsw._getWatchedDir(i.path),d=new Set,l=this.fsw._readdirp(e,{fileFilter:f=>i.filterPath(f),directoryFilter:f=>i.filterDir(f)});if(l)return l.on(Yt,async f=>{if(this.fsw.closed){l=void 0;return}let u=f.path,w=y.join(e,u);if(d.add(u),!(f.stats.isSymbolicLink()&&await this._handleSymlink(f,e,w,u))){if(this.fsw.closed){l=void 0;return}(u===r||!r&&!c.has(u))&&(this.fsw._incrReadyCount(),w=y.join(o,y.relative(o,w)),this._addToNodeFs(w,s,i,a+1))}}).on(v.ERROR,this._boundHandleError),new Promise((f,u)=>{if(!l)return u();l.once(Ee,()=>{if(this.fsw.closed){l=void 0;return}let w=n?n.clear():!1;f(void 0),c.getChildren().filter(_=>_!==e&&!d.has(_)).forEach(_=>{this.fsw._remove(e,_)}),l=void 0,w&&this._handleRead(e,!1,i,r,o,a,n)})})}async _handleDir(e,s,i,r,o,a,n){let c=this.fsw._getWatchedDir(y.dirname(e)),d=c.has(y.basename(e));!(i&&this.fsw.options.ignoreInitial)&&!o&&!d&&this.fsw._emit(v.ADD_DIR,e,s),c.add(y.basename(e)),this.fsw._getWatchedDir(e);let l,f,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(n)){if(!o&&(await this._handleRead(e,i,a,o,e,r,l),this.fsw.closed))return;f=this._watchWithNodeFs(e,(w,_)=>{_&&_.mtimeMs===0||this._handleRead(w,!1,a,o,e,r,l)})}return f}async _addToNodeFs(e,s,i,r,o){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let n=this.fsw._getWatchHelpers(e);i&&(n.filterPath=c=>i.filterPath(c),n.filterDir=c=>i.filterDir(c));try{let c=await qt[n.statMethod](n.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(n.watchPath,c))return a(),!1;let d=this.fsw.options.followSymlinks,l;if(c.isDirectory()){let f=y.resolve(e),u=d?await ye(e):e;if(this.fsw.closed||(l=await this._handleDir(n.watchPath,c,s,r,o,n,u),this.fsw.closed))return;f!==u&&u!==void 0&&this.fsw._symlinkPaths.set(f,u)}else if(c.isSymbolicLink()){let f=d?await ye(e):e;if(this.fsw.closed)return;let u=y.dirname(n.watchPath);if(this.fsw._getWatchedDir(u).add(n.watchPath),this.fsw._emit(v.ADD,n.watchPath,c),l=await this._handleDir(u,c,s,r,e,n,f),this.fsw.closed)return;f!==void 0&&this.fsw._symlinkPaths.set(y.resolve(e),f)}else l=this._handleFile(n.watchPath,c,s);return a(),l&&this.fsw._addPathCloser(e,l),!1}catch(c){if(this.fsw._handleError(c))return a(),e}}};var De="/",os="//",rt=".",ns="..",as="string",cs=/\\/g,Xe=/\/\//,ls=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,ds=/^\.[/\\]/;function se(t){return Array.isArray(t)?t:[t]}var ve=t=>typeof t=="object"&&t!==null&&!(t instanceof RegExp);function fs(t){return typeof t=="function"?t:typeof t=="string"?e=>t===e:t instanceof RegExp?e=>t.test(e):typeof t=="object"&&t!==null?e=>{if(t.path===e)return!0;if(t.recursive){let s=m.relative(t.path,e);return s?!s.startsWith("..")&&!m.isAbsolute(s):!1}return!1}:()=>!1}function us(t){if(typeof t!="string")throw new Error("string expected");t=m.normalize(t),t=t.replace(/\\/g,"/");let e=!1;t.startsWith("//")&&(e=!0);let s=/\/\//;for(;t.match(s);)t=t.replace(s,"/");return e&&(t="/"+t),t}function Ze(t,e,s){let i=us(e);for(let r=0;r<t.length;r++){let o=t[r];if(o(i,s))return!0}return!1}function hs(t,e){if(t==null)throw new TypeError("anymatch: specify first argument");let i=se(t).map(r=>fs(r));return e==null?(r,o)=>Ze(i,r,o):Ze(i,e)}var et=t=>{let e=se(t).flat();if(!e.every(s=>typeof s===as))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(it)},tt=t=>{let e=t.replace(cs,De),s=!1;for(e.startsWith(os)&&(s=!0);e.match(Xe);)e=e.replace(Xe,De);return s&&(e=De+e),e},it=t=>tt(m.normalize(tt(t))),st=(t="")=>e=>typeof e=="string"?it(m.isAbsolute(e)?e:m.join(t,e)):e,ms=(t,e)=>m.isAbsolute(t)?t:m.join(e,t),ps=Object.freeze(new Set),Ne=class{constructor(e,s){this.path=e,this._removeWatcher=s,this.items=new Set}add(e){let{items:s}=this;s&&e!==rt&&e!==ns&&s.add(e)}async remove(e){let{items:s}=this;if(!s||(s.delete(e),s.size>0))return;let i=this.path;try{await rs(i)}catch{this._removeWatcher&&this._removeWatcher(m.dirname(i),m.basename(i))}}has(e){let{items:s}=this;if(s)return s.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=ee,this.items=ps,Object.freeze(this)}},_s="stat",gs="lstat",Ie=class{constructor(e,s,i){this.fsw=i;let r=e;this.path=e=e.replace(ds,""),this.watchPath=r,this.fullWatchPath=m.resolve(r),this.dirParts=[],this.dirParts.forEach(o=>{o.length>1&&o.pop()}),this.followSymlinks=s,this.statMethod=s?_s:gs}entryPath(e){return m.join(this.watchPath,m.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:s}=e;if(s&&s.isSymbolicLink())return this.filterDir(e);let i=this.entryPath(e);return this.fsw._isntIgnored(i,s)&&this.fsw._hasReadPermissions(s)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},re=class extends is{constructor(e={}){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=e.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?se(e.ignored):se([]),awaitWriteFinish:s===!0?i:typeof s=="object"?{...i,...s}:!1};Je&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let o=process.env.CHOKIDAR_USEPOLLING;if(o!==void 0){let c=o.toLowerCase();c==="false"||c==="0"?r.usePolling=!1:c==="true"||c==="1"?r.usePolling=!0:r.usePolling=!!c}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let n=0;this._emitReady=()=>{n++,n>=this._readyCount&&(this._emitReady=ee,this._readyEmitted=!0,process.nextTick(()=>this.emit(x.READY)))},this._emitRaw=(...c)=>this.emit(x.RAW,...c),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new Z(this),Object.freeze(r)}_addIgnoredPath(e){if(ve(e)){for(let s of this._ignoredPaths)if(ve(s)&&s.path===e.path&&s.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let s of this._ignoredPaths)ve(s)&&s.path===e&&this._ignoredPaths.delete(s)}add(e,s,i){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let o=et(e);return r&&(o=o.map(a=>ms(a,r))),o.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=o.length,Promise.all(o.map(async a=>{let n=await this._nodeFsHandler._addToNodeFs(a,!i,void 0,0,s);return n&&this._emitReady(),n})).then(a=>{this.closed||a.forEach(n=>{n&&this.add(m.dirname(n),m.basename(s||n))})}),this}unwatch(e){if(this.closed)return this;let s=et(e),{cwd:i}=this.options;return s.forEach(r=>{!m.isAbsolute(r)&&!this._closers.has(r)&&(i&&(r=m.join(i,r)),r=m.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 e=[];return this._closers.forEach(s=>s.forEach(i=>{let r=i();r instanceof Promise&&e.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=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((s,i)=>{let o=(this.options.cwd?m.relative(this.options.cwd,i):i)||rt;e[o]=s.getChildren().sort()}),e}emitWithAll(e,s){this.emit(e,...s),e!==x.ERROR&&this.emit(x.ALL,e,...s)}async _emit(e,s,i){if(this.closed)return;let r=this.options;Pe&&(s=m.normalize(s)),r.cwd&&(s=m.relative(r.cwd,s));let o=[s];i!=null&&o.push(i);let a=r.awaitWriteFinish,n;if(a&&(n=this._pendingWrites.get(s)))return n.lastChange=new Date,this;if(r.atomic){if(e===x.UNLINK)return this._pendingUnlinks.set(s,[e,...o]),setTimeout(()=>{this._pendingUnlinks.forEach((c,d)=>{this.emit(...c),this.emit(x.ALL,...c),this._pendingUnlinks.delete(d)})},typeof r.atomic=="number"?r.atomic:100),this;e===x.ADD&&this._pendingUnlinks.has(s)&&(e=x.CHANGE,this._pendingUnlinks.delete(s))}if(a&&(e===x.ADD||e===x.CHANGE)&&this._readyEmitted){let c=(d,l)=>{d?(e=x.ERROR,o[0]=d,this.emitWithAll(e,o)):l&&(o.length>1?o[1]=l:o.push(l),this.emitWithAll(e,o))};return this._awaitWriteFinish(s,a.stabilityThreshold,e,c),this}if(e===x.CHANGE&&!this._throttle(x.CHANGE,s,50))return this;if(r.alwaysStat&&i===void 0&&(e===x.ADD||e===x.ADD_DIR||e===x.CHANGE)){let c=r.cwd?m.join(r.cwd,s):s,d;try{d=await ss(c)}catch{}if(!d||this.closed)return;o.push(d)}return this.emitWithAll(e,o),this}_handleError(e){let s=e&&e.code;return e&&s!=="ENOENT"&&s!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||s!=="EPERM"&&s!=="EACCES")&&this.emit(x.ERROR,e),e||this.closed}_throttle(e,s,i){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw new Error("invalid throttle");let o=r.get(s);if(o)return o.count++,!1;let a,n=()=>{let d=r.get(s),l=d?d.count:0;return r.delete(s),clearTimeout(a),d&&clearTimeout(d.timeoutObject),l};a=setTimeout(n,i);let c={timeoutObject:a,clear:n,count:0};return r.set(s,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,s,i,r){let o=this.options.awaitWriteFinish;if(typeof o!="object")return;let a=o.pollInterval,n,c=e;this.options.cwd&&!m.isAbsolute(e)&&(c=m.join(this.options.cwd,e));let d=new Date,l=this._pendingWrites;function f(u){ts(c,(w,_)=>{if(w||!l.has(e)){w&&w.code!=="ENOENT"&&r(w);return}let D=Number(new Date);u&&_.size!==u.size&&(l.get(e).lastChange=D);let z=l.get(e);D-z.lastChange>=s?(l.delete(e),r(void 0,_)):n=setTimeout(f,a,_)})}l.has(e)||(l.set(e,{lastChange:d,cancelWait:()=>(l.delete(e),clearTimeout(n),i)}),n=setTimeout(f,a))}_isIgnored(e,s){if(this.options.atomic&&ls.test(e))return!0;if(!this._userIgnored){let{cwd:i}=this.options,o=(this.options.ignored||[]).map(st(i)),n=[...[...this._ignoredPaths].map(st(i)),...o];this._userIgnored=hs(n,void 0)}return this._userIgnored(e,s)}_isntIgnored(e,s){return!this._isIgnored(e,s)}_getWatchHelpers(e){return new Ie(e,this.options.followSymlinks,this)}_getWatchedDir(e){let s=m.resolve(e);return this._watched.has(s)||this._watched.set(s,new Ne(s,this._boundRemove)),this._watched.get(s)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,s,i){let r=m.join(e,s),o=m.resolve(r);if(i=i??(this._watched.has(r)||this._watched.has(o)),!this._throttle("remove",r,100))return;!i&&this._watched.size===1&&this.add(e,s,!0),this._getWatchedDir(r).getChildren().forEach(u=>this._remove(r,u));let c=this._getWatchedDir(e),d=c.has(s);c.remove(s),this._symlinkPaths.has(o)&&this._symlinkPaths.delete(o);let l=r;if(this.options.cwd&&(l=m.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(l)&&this._pendingWrites.get(l).cancelWait()===x.ADD)return;this._watched.delete(r),this._watched.delete(o);let f=i?x.UNLINK_DIR:x.UNLINK;d&&!this._isIgnored(r)&&this._emit(f,r),this._closePath(r)}_closePath(e){this._closeFile(e);let s=m.dirname(e);this._getWatchedDir(s).remove(m.basename(e))}_closeFile(e){let s=this._closers.get(e);s&&(s.forEach(i=>i()),this._closers.delete(e))}_addPathCloser(e,s){if(!s)return;let i=this._closers.get(e);i||(i=[],this._closers.set(e,i)),i.push(s)}_readdirp(e,s){if(this.closed)return;let i={type:x.ALL,alwaysStat:!0,lstat:!0,...s,depth:0},r=Ke(e,i);return this._streams.add(r),r.once(Be,()=>{r=void 0}),r.once(Ee,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};function ws(t,e={}){let s=new re(e);return s.add(t),s}var ot={watch:ws,FSWatcher:re};import{existsSync as k,mkdirSync as As,readFileSync as Fs,unlinkSync as Ts}from"fs";import{basename as ct,join as P,relative as lt}from"path";import{copyFileSync as ys,existsSync as I,mkdirSync as xs,readdirSync as Ae,readFileSync as bs,writeFileSync as Es}from"fs";import{basename as nt,dirname as $,extname as Ps,join as N,normalize as Ds,relative as j,sep as vs}from"path";var Ns=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"]([./]+[^'"]*)['"]/g,Is=/import\s+(?:(?:{[^}]*})|(?:[^{}\s,]*))?\s*(?:,\s*(?:{[^}]*}))?\s*from\s+['"](@\/[^'"]*)['"]/g,Rs=/import\s*\(\s*['"](@\/[^'"]*)['"]\s*\)/g,Re=/\.(js|jsx|ts|tsx)$/,Se=/^page\.(tsx|ts|jsx|js)$/i,H=(t,e)=>{let i=j(e,t).split(vs);i.pop();let r=i.filter(o=>!o.startsWith("("));return Ds(r.join("/"))},ie=t=>{let e=new Map,s=i=>{if(I(i))for(let r of Ae(i,{withFileTypes:!0})){let o=N(i,r.name);if(r.isDirectory()){s(o);continue}if(Se.test(r.name)){let a=H(o,t);e.set(a,o)}}};return s(t),e},Ss=(t,e)=>{let s=t.replace(Ns,(i,r)=>{if(r.startsWith(".")){let a=r.replace(Re,"").replace(/^(?:\.\.\/)+/,"");return i.replace(r,`${e}/${a}`)}return i});return s=s.replace(Is,(i,r)=>{let o=r.replace(/^@\//,"").replace(Re,"");return i.replace(r,`${e}/${o}`)}),s=s.replace(Rs,(i,r)=>{let o=r.replace(/^@\//,"").replace(Re,"");return i.replace(r,`${e}/${o}`)}),s};function oe(t){let e=t;for(;e!==$(e);){if(I(N(e,"turbo.json"))||I(N(e,".git")))return e;e=$(e)}let s=N(t,"package.json");if(I(s))return $(s);throw new Error("\u274C Could not locate project root")}function ne(t){let e=N(t,"src","app","[locale]");if(I(e))return e;let i=(o=>{let a=[];if(!I(o))return a;let n=(c,d=0)=>{if(!(d>4))try{let l=Ae(c,{withFileTypes:!0});for(let f of l){if(!f.isDirectory())continue;let u=N(c,f.name);if(f.name==="[locale]"&&$(u).endsWith(N("src","app"))){a.push(u);continue}n(u,d+1)}}catch{}};return n(o),a})(t);return i.length>0?i[0]:N(t,"apps","docs","src","app","[locale]")}var Y=t=>{let e=[];if(!I(t))return e;let s=Ae(t,{withFileTypes:!0});for(let i of s){let r=N(t,i.name);i.isDirectory()?e.push(...Y(r)):e.push(r)}return e},U=t=>I(t)?Y(t).length===0:!0,Fe=(t,e,s,i,r,o,a=!0)=>{let n=nt(t);if(Se.test(n)){let c=H(e,r),d=i.get(c);if(d&&d!==e){a&&console.log(`\x1B[31mSkipped duplicate page:\x1B[0m ${j(o,e)} (collides with ${j(o,d)})`);return}}try{let c=$(e);I(c)||xs(c,{recursive:!0});let d=Ps(t);if(s&&[".js",".jsx",".ts",".tsx"].includes(d)){let l=bs(t,"utf-8"),f=Ss(l,s);Es(e,f)}else ys(t,e);if(a){let l=t.indexOf(N("src","app")),f=l!==-1?t.substring(l):t.startsWith(o)?j(o,t):t,u=e.startsWith(o)?j(o,e):e;console.log(`\x1B[32mCopied:\x1B[0m ${f} \u2192 ${u}`)}if(Se.test(nt(e))){let l=H(e,r);i.set(l,e)}}catch(c){console.error(`\x1B[31mError copying file:\x1B[0m ${t}`,c)}},at=(t,e,s,i,r,o,a=!0)=>{if(!I(t)||U(t))return;let n=Y(t);for(let c of n){let d=j(t,c),l=N(e,d);Fe(c,l,s,i,r,o,a)}};var dt=({initMessage:t})=>{let e=process.cwd(),s=oe(e),i=ne(s),r=ie(i),o=ct(e);try{let h=P(e,"package.json");k(h)&&(o=JSON.parse(Fs(h,"utf-8")).name??"")}catch(h){console.error("\x1B[31mError reading package.json:\x1B[0m",h);return}let a=o.replace(/\//g,"-").replace(/@/g,""),n=P(s,"apps","docs","src","app","[locale]","(main)",P("(plugins)",`(${a})`)),c=P(s,"apps","docs","src","app","[locale]","admin","(auth)",P("(plugins)",`(${a})`)),d=P(s,"apps","docs","src","locales",o),l=[{sourceDir:P(e,"src","app_admin"),destinationDir:c},{sourceDir:P(e,"src","app"),destinationDir:n},{sourceDir:P(e,"src","locales"),destinationDir:d}];for(let{sourceDir:h,destinationDir:g}of l)k(h)&&!U(h)&&!k(g)&&As(g,{recursive:!0});let f=(h,g)=>{Fe(h,g,o,r,i,s)},u=h=>{try{if(k(h)&&(Ts(h),console.log(`\x1B[33mRemoved:\x1B[0m ${h}`),/^page\.(tsx|ts|jsx|js)$/i.test(ct(h)))){let g=H(h,i);r.get(g)===h&&r.delete(g)}}catch(g){console.error(`\x1B[31mError removing file:\x1B[0m ${h}`,g)}},w=(h,g)=>{if(!k(g)||g.includes(P("src","locales")))return;let _e=Y(g);for(let F of _e){let B=lt(g,F),vt=P(h,B);k(vt)||u(F)}};for(let{sourceDir:h,destinationDir:g}of l)w(h,g);console.log(`${t} \x1B[34mWatching for changes in plugins...\x1B[0m`);let _=l.map(h=>h.sourceDir).filter(h=>k(h)),D=ot.watch(_,{ignoreInitial:!1,persistent:!0}),z=h=>{let g=l.filter(({sourceDir:F})=>h.startsWith(F));if(g.length===0)throw new Error(`No matching source directory for: ${h}`);let pe=g.reduce((F,B)=>B.sourceDir.length>F.sourceDir.length?B:F),_e=lt(pe.sourceDir,h);return P(pe.destinationDir,_e)};D.on("add",h=>{let g=z(h);f(h,g)}).on("change",h=>{let g=z(h);f(h,g)}).on("unlink",h=>{let g=z(h);u(g)}).on("error",h=>{console.error("\x1B[31mWatcher error:\x1B[0m",h)})};import*as Et from"dotenv";import{count as bt}from"drizzle-orm";import{drizzle as $s}from"drizzle-orm/postgres-js";import{join as Hs}from"path";import{relations as pt}from"drizzle-orm";import{index as he,pgTable as _t}from"drizzle-orm/pg-core";import{pgTable as ks}from"drizzle-orm/pg-core";var b=ks("core_roles",t=>({id:t.serial().primaryKey(),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date),protected:t.boolean().notNull().default(!1),default:t.boolean().notNull().default(!1),root:t.boolean().notNull().default(!1),guest:t.boolean().notNull().default(!1),color:t.varchar({length:19})})).enableRLS();import{relations as ut}from"drizzle-orm";import{index as ht,pgTable as mt}from"drizzle-orm/pg-core";import{relations as fe}from"drizzle-orm";import{index as ce,pgTable as ue}from"drizzle-orm/pg-core";import{relations as Cs}from"drizzle-orm";import{index as Te,pgTable as ft}from"drizzle-orm/pg-core";var R=ft("core_languages",t=>({id:t.serial().primaryKey(),code:t.varchar({length:32}).notNull().unique(),name:t.varchar({length:255}).notNull(),timezone:t.varchar({length:255}).notNull().default("UTC"),protected:t.boolean().notNull().default(!1),default:t.boolean().notNull().default(!1),enabled:t.boolean().notNull().default(!0),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date),time24:t.boolean().notNull().default(!1)}),t=>[Te("core_languages_code_idx").on(t.code),Te("core_languages_name_idx").on(t.name)]).enableRLS(),ae=ft("core_languages_words",t=>({id:t.serial().primaryKey(),languageCode:t.varchar().notNull().references(()=>R.code,{onDelete:"cascade"}),pluginCode:t.varchar({length:50}).notNull(),itemId:t.integer().notNull(),value:t.text().notNull(),tableName:t.varchar({length:255}).notNull(),variable:t.varchar({length:255}).notNull()}),t=>[Te("core_languages_words_lang_code_idx").on(t.languageCode)]).enableRLS(),_r=Cs(ae,({one:t})=>({language:t(R,{fields:[ae.languageCode],references:[R.code]})}));var p=ue("core_users",t=>({id:t.serial().primaryKey(),nameCode:t.varchar({length:255}).notNull().unique(),name:t.varchar({length:255}).notNull().unique(),email:t.varchar({length:255}).notNull().unique(),password:t.varchar(),createdAt:t.timestamp().notNull().defaultNow(),newsletter:t.boolean().notNull().default(!1),avatarColor:t.varchar({length:6}).notNull(),emailVerified:t.boolean().notNull().default(!1),roleId:t.integer().references(()=>b.id).notNull(),birthday:t.timestamp(),ipAddress:t.varchar({length:40}).notNull(),language:t.varchar({length:32}).notNull().default("en").references(()=>R.code,{onDelete:"set default"})}),t=>[ce("core_users_name_code_idx").on(t.nameCode),ce("core_users_name_idx").on(t.name),ce("core_users_email_idx").on(t.email)]).enableRLS(),Er=fe(p,({one:t,many:e})=>({group:t(b,{fields:[p.roleId],references:[b.id]}),language:t(R,{fields:[p.language],references:[R.code]}),confirm_email:t(le,{fields:[p.id],references:[le.userId]}),sso:e(ke),forgot_password:t(de,{fields:[p.id],references:[de.userId]})})),ke=ue("core_users_sso",t=>({userId:t.integer().references(()=>p.id,{onDelete:"cascade"}).notNull(),providerId:t.varchar({length:255}).notNull(),providerAccountId:t.varchar({length:255}).notNull(),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date)}),t=>[ce("core_users_sso_user_id_idx").on(t.userId)]).enableRLS(),Pr=fe(ke,({one:t})=>({user:t(p,{fields:[ke.userId],references:[p.id]})})),le=ue("core_users_confirm_emails",t=>({id:t.serial().primaryKey(),userId:t.integer().references(()=>p.id,{onDelete:"cascade"}).notNull(),token:t.varchar({length:100}).notNull().unique(),createdAt:t.timestamp().notNull().defaultNow(),expires:t.timestamp().notNull()})).enableRLS(),Dr=fe(le,({one:t})=>({user:t(p,{fields:[le.userId],references:[p.id]})})),de=ue("core_users_forgot_password",t=>({id:t.serial().primaryKey(),userId:t.integer().references(()=>p.id,{onDelete:"cascade"}).notNull().unique(),token:t.varchar({length:100}).notNull().unique(),ip_address:t.varchar({length:40}).notNull(),createdAt:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull()})).enableRLS(),vr=fe(de,({one:t})=>({user:t(p,{fields:[de.userId],references:[p.id]})}));var K=mt("core_sessions",t=>({id:t.serial().primaryKey(),token:t.varchar({length:255}).notNull().unique(),userId:t.integer().notNull().references(()=>p.id,{onDelete:"cascade"}),createdAt:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull(),deviceId:t.integer().references(()=>A.id,{onDelete:"cascade"}).notNull()}),t=>[ht("core_sessions_user_id_idx").on(t.userId)]).enableRLS(),Ar=ut(K,({one:t})=>({user:t(p,{fields:[K.userId],references:[p.id]}),device:t(A,{fields:[K.deviceId],references:[A.id]})})),A=mt("core_sessions_known_devices",t=>({id:t.serial().primaryKey(),publicId:t.varchar({length:32}).notNull().unique(),ipAddress:t.varchar({length:40}).notNull(),userAgent:t.text().notNull(),lastSeen:t.timestamp().notNull().defaultNow()}),t=>[ht("core_sessions_known_devices_ip_address_idx").on(t.ipAddress)]).enableRLS(),Fr=ut(A,({one:t})=>({session:t(K,{fields:[A.id],references:[K.deviceId]})}));var G=_t("core_admin_permissions",t=>({id:t.serial().primaryKey(),roleId:t.integer().references(()=>b.id,{onDelete:"cascade"}),userId:t.integer().references(()=>p.id,{onDelete:"cascade"}),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date),protected:t.boolean().notNull().default(!1)}),t=>[he("core_admin_permissions_role_id_idx").on(t.roleId),he("core_admin_permissions_user_id_idx").on(t.userId)]).enableRLS(),zr=pt(G,({one:t})=>({group:t(b,{fields:[G.roleId],references:[b.id]}),user:t(p,{fields:[G.userId],references:[p.id]})})),Ce=_t("core_admin_sessions",t=>({id:t.serial().primaryKey(),token:t.varchar({length:255}).notNull().unique(),userId:t.integer().notNull().references(()=>p.id,{onDelete:"cascade"}),createdAt:t.timestamp().notNull().defaultNow(),lastSeen:t.timestamp().notNull().defaultNow(),expiresAt:t.timestamp().notNull(),deviceId:t.integer().references(()=>A.id,{onDelete:"cascade"}).notNull()}),t=>[he("core_admin_sessions_token_idx").on(t.token),he("core_admin_sessions_user_id_idx").on(t.userId)]).enableRLS(),Mr=pt(Ce,({one:t})=>({user:t(p,{fields:[Ce.userId],references:[p.id]}),device:t(A,{fields:[Ce.deviceId],references:[A.id]})}));import{relations as Ls}from"drizzle-orm";import{index as gt,pgTable as Ws}from"drizzle-orm/pg-core";var V=Ws("core_moderators_permissions",t=>({id:t.serial().primaryKey(),roleId:t.integer().references(()=>b.id,{onDelete:"cascade"}),userId:t.integer().references(()=>p.id,{onDelete:"cascade"}),createdAt:t.timestamp().notNull().defaultNow(),updatedAt:t.timestamp().notNull().$onUpdate(()=>new Date),protected:t.boolean().notNull().default(!1)}),t=>[gt("core_moderators_permissions_role_id_idx").on(t.roleId),gt("core_moderators_permissions_user_id_idx").on(t.userId)]).enableRLS(),Kr=Ls(V,({one:t})=>({group:t(b,{fields:[V.roleId],references:[b.id]}),user:t(p,{fields:[V.userId],references:[p.id]})}));import{existsSync as yt}from"fs";import{readFile as Ms}from"fs/promises";import{join as S,relative as xt}from"path";import{join as js}from"path";import{pathToFileURL as zs}from"url";var wt=async()=>{let t=js(process.cwd(),"src","vitnode.config.ts");try{return(await import(zs(t).href)).vitNodeConfig}catch(e){console.error("Failed to load config:",e),process.exit(1)}};var me=async()=>{let e=[...(await wt()).plugins.map(a=>a.pluginId),"@vitnode/core"],s=oe(process.cwd()),i=ne(s),r=ie(i),o=process.cwd();await Promise.all(e.map(async a=>{let n=S(process.cwd(),"node_modules",a),c="";try{let _=S(n,"package.json");yt(_)&&(c=JSON.parse(await Ms(_,"utf-8")).name??"")}catch(_){console.error(`\x1B[31mError reading package.json for ${a}:\x1B[0m`,_);return}let d=a.replace(/\//g,"-").replace(/@/g,""),l=S(o,"src","app","[locale]","(main)",S("(plugins)",`(${d})`)),f=S(o,"src","app","[locale]","admin","(auth)",S("(plugins)",`(${d})`)),u=S(o,"src","locales",a),w=[{sourceDir:S(n,"src","app_admin"),destinationDir:f},{sourceDir:S(n,"src","app"),destinationDir:l},{sourceDir:S(n,"src","locales"),destinationDir:u}];for(let{sourceDir:_,destinationDir:D}of w)yt(_)&&!U(_)&&(console.log(`\x1B[36mCopying ${a}:\x1B[0m ${xt(s,_)} \u2192 ${xt(s,D)}`),at(_,D,c,r,i,s,!1))}))};import{spawn as Os}from"child_process";var q=async(t,e=[])=>new Promise((s,i)=>{let r=Os(t,e,{stdio:"inherit",shell:!0});r.on("error",o=>{i(o)}),r.on("close",o=>{o!==0?i(new Error(`Command failed with exit code ${o}`)):s(!0)})});Et.config({path:Hs(process.cwd(),"..","..",".env")});var C=$s({connection:process.env.POSTGRES_URL??"postgresql://root:root@localhost:5432/vitnode",casing:"camelCase"}),Le=async()=>{try{await q("npm",["run","drizzle-kit","up"]),await q("npm",["run","drizzle-kit","generate"])}catch(t){console.error("\x1B[31m%s\x1B[0m",t),process.exit(1)}},We=async()=>{try{await q("npm",["run","drizzle-kit","migrate"])}catch(t){console.error("\x1B[31m%s\x1B[0m",t),process.exit(1)}},Ys=async()=>{try{await q("npm",["run","drizzle-kit","push"])}catch(t){console.error("\x1B[31m%s\x1B[0m",t),process.exit(1)}},je=async()=>{await Ys();let[t]=await C.select({count:bt()}).from(b).limit(1),[e]=await C.select({count:bt()}).from(R);if(e.count===0&&await C.insert(R).values([{code:"en",name:"English (USA)",default:!0,protected:!0,timezone:"America/New_York"}]),t.count===0){let s=await C.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 C.insert(ae).values([{languageCode:"en",pluginCode:"core",itemId:s[0].id,value:"Guest",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:s[1].id,value:"Member",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:s[2].id,value:"Moderator",tableName:"core_roles",variable:"name"},{languageCode:"en",pluginCode:"core",itemId:s[3].id,value:"Administrator",tableName:"core_roles",variable:"name"}]),await Promise.all([await C.insert(V).values({roleId:s[2].id,protected:!0}),await C.insert(G).values({roleId:s[3].id,protected:!0})])}},Pt=async({initMessage:t})=>{console.log(`${t} [1/4] Prepare plugins files...`),await me(),console.log(`${t} [2/4] Generate migrations...`),await Le(),console.log(`${t} [3/4] Run migrations...`),await We(),console.log(`
7
+ ${t} [4/4] Insert initial data...`),await je(),console.log(`${t} \x1B[32mDatabase prepared successfully.\x1B[0m`),process.exit(0)};var L="\x1B[34m[VitNode]\x1B[0m",Dt=process.argv[2],ze=process.argv[3];switch(Dt){case"init":Pt({initMessage:L});break;case"migrate":await Le(),ze==="--generate"&&(console.log(`${L} \x1B[32mDatabase migrations generated successfully.\x1B[0m`),process.exit(0)),await We(),console.log(`${L} \x1B[32mDatabase migrated successfully.\x1B[0m`),process.exit(0);break;case"plugin":(ze==="--w"||ze==="--watch")&&dt({initMessage:L});break;case"prepare-plugins":await me(),console.log(`${L} \x1B[32mPlugins prepared successfully.\x1B[0m`),process.exit(0);break;case"push":je(),console.log(`${L} \x1B[32mDatabase pushed successfully.\x1B[0m`),process.exit(0);break;default:console.log(`${L} \x1B[31mCommand not found: "${Dt??""}"\x1B[0m`),process.exit(1)}
8
8
  /*! Bundled license information:
9
9
 
10
10
  chokidar/esm/index.js:
@@ -1 +1 @@
1
- {"version":3,"file":"logger-middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/logger-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,GAAI,GAAG,OAAO,KAAG,oBAgD7C,CAAC"}
1
+ {"version":3,"file":"logger-middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/lib/logger-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,GAAI,GAAG,OAAO,KAAG,oBAgD7C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { eq } from "drizzle-orm";
2
2
  import { z } from "zod";
3
3
  import { CONFIG_PLUGIN } from "../../../../../config.js";
4
- import { core_logs, coreLogsType } from "../../../../../database/logs.js";
4
+ import { core_logs } from "../../../../../database/logs.js";
5
5
  import { core_users } from "../../../../../database/users.js";
6
6
  import { buildRoute } from "../../../../lib/route.js";
7
7
  import { withPagination, zodPaginationPageInfo, zodPaginationQuery } from "../../../../lib/with-pagination.js";
@@ -32,7 +32,11 @@ export const logsDebugAdminRoute = buildRoute({
32
32
  edges: z.array(z.object({
33
33
  id: z.number(),
34
34
  pluginId: z.string(),
35
- type: z.enum(coreLogsType.enumValues),
35
+ type: z.enum([
36
+ 'warn',
37
+ 'error',
38
+ 'debug'
39
+ ]),
36
40
  content: z.string(),
37
41
  createdAt: z.date(),
38
42
  ipAddress: z.string(),
@@ -1,5 +1,3 @@
1
- export declare const coreLogsType: import("drizzle-orm/pg-core").PgEnum<["warn", "error", "debug"]>;
2
- export type CoreLogsType = (typeof coreLogsType.enumValues)[number];
3
1
  export declare const core_logs: Omit<import("drizzle-orm/pg-core").PgTableWithColumns<{
4
2
  name: "core_logs";
5
3
  schema: undefined;
@@ -44,7 +42,7 @@ export declare const core_logs: Omit<import("drizzle-orm/pg-core").PgTableWithCo
44
42
  name: "type";
45
43
  tableName: "core_logs";
46
44
  dataType: "string";
47
- columnType: "PgEnumColumn";
45
+ columnType: "PgVarchar";
48
46
  data: "warn" | "error" | "debug";
49
47
  driverParam: string;
50
48
  notNull: true;
@@ -56,7 +54,9 @@ export declare const core_logs: Omit<import("drizzle-orm/pg-core").PgTableWithCo
56
54
  baseColumn: never;
57
55
  identity: undefined;
58
56
  generated: undefined;
59
- }, {}, {}>;
57
+ }, {}, {
58
+ length: 10;
59
+ }>;
60
60
  content: import("drizzle-orm/pg-core").PgColumn<{
61
61
  name: "content";
62
62
  tableName: "core_logs";
@@ -197,6 +197,23 @@ export declare const core_logs: Omit<import("drizzle-orm/pg-core").PgTableWithCo
197
197
  identity: undefined;
198
198
  generated: undefined;
199
199
  }, {}, {}>;
200
+ test123: import("drizzle-orm/pg-core").PgColumn<{
201
+ name: "test123";
202
+ tableName: "core_logs";
203
+ dataType: "boolean";
204
+ columnType: "PgBoolean";
205
+ data: boolean;
206
+ driverParam: boolean;
207
+ notNull: true;
208
+ hasDefault: true;
209
+ isPrimaryKey: false;
210
+ isAutoincrement: false;
211
+ hasRuntimeDefault: false;
212
+ enumValues: undefined;
213
+ baseColumn: never;
214
+ identity: undefined;
215
+ generated: undefined;
216
+ }, {}, {}>;
200
217
  };
201
218
  dialect: "pg";
202
219
  }>, "enableRLS">;
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/database/logs.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,kEAAqD,CAAC;AAE/E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAeP,CAAC"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/database/logs.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgBP,CAAC"}
@@ -1,16 +1,18 @@
1
- import { pgEnum, pgTable } from "drizzle-orm/pg-core";
1
+ import { pgTable } from "drizzle-orm/pg-core";
2
2
  import { core_users } from "./users.js";
3
- export const coreLogsType = pgEnum('coreLogsType', [
4
- 'warn',
5
- 'error',
6
- 'debug'
7
- ]);
8
3
  export const core_logs = pgTable('core_logs', (t)=>({
9
4
  id: t.serial().primaryKey(),
10
5
  pluginId: t.varchar({
11
6
  length: 255
12
7
  }).notNull(),
13
- type: coreLogsType().notNull(),
8
+ type: t.varchar({
9
+ enum: [
10
+ 'warn',
11
+ 'error',
12
+ 'debug'
13
+ ],
14
+ length: 10
15
+ }).notNull(),
14
16
  content: t.text().notNull(),
15
17
  createdAt: t.timestamp().notNull().defaultNow(),
16
18
  ipAddress: t.varchar({
@@ -27,5 +29,6 @@ export const core_logs = pgTable('core_logs', (t)=>({
27
29
  }).references(()=>core_users.id, {
28
30
  onDelete: 'set null',
29
31
  onUpdate: 'cascade'
30
- })
32
+ }),
33
+ test123: t.boolean().notNull().default(false)
31
34
  })).enableRLS();
@@ -8,7 +8,7 @@ import { cn } from "../../../../lib/utils.js";
8
8
  import { UserHeader } from "./user/user.js";
9
9
  export const HeaderLayout = ({ logo, className, vitNodeConfig, ...props })=>{
10
10
  return /*#__PURE__*/ _jsx("header", {
11
- className: cn('bg-card/75 sticky top-0 z-20 w-full border-b shadow-sm backdrop-blur', className),
11
+ className: cn('bg-background/75 sticky top-0 z-20 w-full border-b shadow-sm backdrop-blur', className),
12
12
  ...props,
13
13
  children: /*#__PURE__*/ _jsxs("div", {
14
14
  className: "container mx-auto flex h-14 items-center px-4 py-2",