gemi 0.26.1 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/index.js +2 -2
- package/dist/app/index.js.map +1 -1
- package/dist/bin/gemi.js +6 -1
- package/dist/bin/gemi.js.map +3 -3
- package/dist/broadcasting/index.js +1 -1
- package/dist/{chunk-8rtdf2cd.js → chunk-11zra1sn.js} +3 -3
- package/dist/{chunk-8rtdf2cd.js.map → chunk-11zra1sn.js.map} +1 -1
- package/dist/{chunk-9rxwxky2.js → chunk-16gcxjex.js} +2 -2
- package/dist/{chunk-9rxwxky2.js.map → chunk-16gcxjex.js.map} +1 -1
- package/dist/chunk-2ycn27ve.js +4 -0
- package/dist/{chunk-tm1sbeqy.js.map → chunk-2ycn27ve.js.map} +2 -2
- package/dist/{chunk-fnc2mrgk.js → chunk-32phhx0z.js} +3 -3
- package/dist/{chunk-fnc2mrgk.js.map → chunk-32phhx0z.js.map} +1 -1
- package/dist/{chunk-0nqce2y1.js → chunk-3fr5vy3a.js} +2 -2
- package/dist/{chunk-0nqce2y1.js.map → chunk-3fr5vy3a.js.map} +1 -1
- package/dist/{chunk-g0qf8xfk.js → chunk-5ts72na6.js} +2 -2
- package/dist/{chunk-g0qf8xfk.js.map → chunk-5ts72na6.js.map} +1 -1
- package/dist/chunk-5x6b8fr8.js +5 -0
- package/dist/{chunk-zf3gtmrt.js.map → chunk-5x6b8fr8.js.map} +1 -1
- package/dist/{chunk-wt5ayarp.js → chunk-76n6xabc.js} +3 -3
- package/dist/{chunk-wt5ayarp.js.map → chunk-76n6xabc.js.map} +1 -1
- package/dist/{chunk-33p2e7s6.js → chunk-9sn6k9d1.js} +2 -2
- package/dist/{chunk-33p2e7s6.js.map → chunk-9sn6k9d1.js.map} +1 -1
- package/dist/{chunk-jb8gvdve.js → chunk-abx3xx1s.js} +2 -2
- package/dist/{chunk-jb8gvdve.js.map → chunk-abx3xx1s.js.map} +1 -1
- package/dist/{chunk-f2qwngan.js → chunk-bdge6d5c.js} +1 -1
- package/dist/{chunk-q47rsdp4.js → chunk-bmrn519y.js} +2 -2
- package/dist/{chunk-q47rsdp4.js.map → chunk-bmrn519y.js.map} +1 -1
- package/dist/chunk-ca9azf29.js +4 -0
- package/dist/{chunk-34cyjp05.js.map → chunk-ca9azf29.js.map} +2 -2
- package/dist/{chunk-2ad1cqtt.js → chunk-cb9mdp8j.js} +2 -2
- package/dist/{chunk-cbdnkfkw.js.map → chunk-cb9mdp8j.js.map} +1 -1
- package/dist/{chunk-sz5stqah.js → chunk-dr44e4cp.js} +2 -2
- package/dist/{chunk-sz5stqah.js.map → chunk-dr44e4cp.js.map} +1 -1
- package/dist/{chunk-z7q23s4c.js → chunk-e5zte0h8.js} +2 -2
- package/dist/{chunk-z7q23s4c.js.map → chunk-e5zte0h8.js.map} +1 -1
- package/dist/{chunk-bv0fq16n.js → chunk-f4nce88x.js} +2 -2
- package/dist/{chunk-bv0fq16n.js.map → chunk-f4nce88x.js.map} +1 -1
- package/dist/chunk-gzvv9n27.js +4 -0
- package/dist/{chunk-pmff7dr2.js.map → chunk-gzvv9n27.js.map} +2 -2
- package/dist/{chunk-c94tyv0f.js → chunk-je7fyx2e.js} +2 -2
- package/dist/{chunk-c94tyv0f.js.map → chunk-je7fyx2e.js.map} +1 -1
- package/dist/{chunk-h5nygx4m.js → chunk-jm6je9dt.js} +3 -3
- package/dist/{chunk-h5nygx4m.js.map → chunk-jm6je9dt.js.map} +1 -1
- package/dist/{chunk-cbdnkfkw.js → chunk-mnje5ra8.js} +2 -2
- package/dist/{chunk-2ad1cqtt.js.map → chunk-mnje5ra8.js.map} +1 -1
- package/dist/{chunk-ve22ma60.js → chunk-mp0s4vmc.js} +3 -3
- package/dist/{chunk-ve22ma60.js.map → chunk-mp0s4vmc.js.map} +1 -1
- package/dist/{chunk-882vm90z.js → chunk-mvzvmbee.js} +3 -3
- package/dist/{chunk-882vm90z.js.map → chunk-mvzvmbee.js.map} +1 -1
- package/dist/{chunk-3td0xhnw.js → chunk-nggarqwg.js} +3 -3
- package/dist/{chunk-3td0xhnw.js.map → chunk-nggarqwg.js.map} +1 -1
- package/dist/{chunk-egaxg13a.js → chunk-p0t3t9s8.js} +2 -2
- package/dist/{chunk-egaxg13a.js.map → chunk-p0t3t9s8.js.map} +1 -1
- package/dist/{chunk-tqbe1gyc.js → chunk-v694b1sv.js} +2 -2
- package/dist/{chunk-tqbe1gyc.js.map → chunk-v694b1sv.js.map} +1 -1
- package/dist/{chunk-m06xgv2s.js → chunk-vhwfmwaj.js} +3 -3
- package/dist/{chunk-m06xgv2s.js.map → chunk-vhwfmwaj.js.map} +1 -1
- package/dist/{chunk-697va9vj.js → chunk-vrm2a0sj.js} +3 -3
- package/dist/{chunk-697va9vj.js.map → chunk-vrm2a0sj.js.map} +1 -1
- package/dist/{chunk-x6ntsv3z.js → chunk-z2gqnxf6.js} +3 -3
- package/dist/{chunk-x6ntsv3z.js.map → chunk-z2gqnxf6.js.map} +1 -1
- package/dist/client/ClientRouter.d.ts.map +1 -1
- package/dist/client/RouteStateContext.d.ts +1 -0
- package/dist/client/RouteStateContext.d.ts.map +1 -1
- package/dist/client/ServerDataProvider.d.ts +1 -0
- package/dist/client/ServerDataProvider.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +35 -14
- package/dist/client/index.js.map +1 -1
- package/dist/client/useAppIdMissmatch.d.ts +2 -0
- package/dist/client/useAppIdMissmatch.d.ts.map +1 -0
- package/dist/client/useRoute.d.ts.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/index.js +17 -17
- package/dist/facades/index.js.map +6 -5
- package/dist/http/ViewRouter.d.ts +2 -5
- package/dist/http/ViewRouter.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +3 -3
- package/dist/i18n/index.js +1 -1
- package/dist/kernel/Kernel.d.ts +2 -0
- package/dist/kernel/Kernel.d.ts.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +5 -4
- package/dist/server/index.js +5 -5
- package/dist/server/index.js.map +3 -3
- package/dist/services/file-storage/FileStorageServiceProvider.d.ts +1 -1
- package/dist/services/file-storage/FileStorageServiceProvider.d.ts.map +1 -1
- package/dist/services/index.js +23 -23
- package/dist/services/index.js.map +3 -3
- package/dist/services/kernel-id/KernelIdServiceContainer.d.ts +8 -0
- package/dist/services/kernel-id/KernelIdServiceContainer.d.ts.map +1 -0
- package/dist/services/kernel-id/KernelIdServiceProvider.d.ts +6 -0
- package/dist/services/kernel-id/KernelIdServiceProvider.d.ts.map +1 -0
- package/dist/services/router/ViewRouterServiceContainer.d.ts.map +1 -1
- package/dist/services/router/createComponentTree.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-34cyjp05.js +0 -4
- package/dist/chunk-pmff7dr2.js +0 -4
- package/dist/chunk-tm1sbeqy.js +0 -4
- package/dist/chunk-zf3gtmrt.js +0 -5
- /package/dist/{chunk-f2qwngan.js.map → chunk-bdge6d5c.js.map} +0 -0
package/dist/i18n/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{f as x}from"../chunk-
|
|
2
|
+
import{f as x}from"../chunk-p0t3t9s8.js";import{h as S}from"../facades/index.js";import"../http/index.js";import"../chunk-z2gqnxf6.js";import"../chunk-5ts72na6.js";import"../chunk-9sn6k9d1.js";import"../chunk-16gcxjex.js";import"../chunk-mnje5ra8.js";import{createElement as $,Fragment as e,isValidElement as b}from"react";function y(r,n){let s=Object.values(n).some((o)=>typeof o==="function"&&b(o(""))),g=/{{([^{}]+?)(?::([^{}\[\]]+?))?(?:\[(.*?)\])?}}/g;if(!s)return r.replace(g,(f,d,t,w)=>{let P=d.includes(":")?d.split(":")[0]:d,i=n[P];if(i===void 0)return f;if(typeof i==="function"){let U=i(w!==void 0?w:"");if(b(U))throw Error("JSX returned in string context");return String(U)}if(t)switch(t.toLowerCase()){case"number":return Number(i).toString();case"string":return String(i);case"boolean":return Boolean(i).toString();default:return String(i)}return String(i)});else{let o=[],f=0,d=null;while((d=g.exec(r))!==null){let[t,w,P,i]=d,c=d.index,U=w.includes(":")?w.split(":")[0]:w;if(c>f)o.push(r.substring(f,c));let T=n[U];if(T===void 0)o.push(t);else if(typeof T==="function"){let K=T(i!==void 0?i:"");o.push(K)}else if(P)switch(P.toLowerCase()){case"number":o.push(Number(T).toString());break;case"string":o.push(String(T));break;case"boolean":o.push(Boolean(T).toString());break;default:o.push(String(T))}else o.push(String(T));f=c+t.length}if(f<r.length)o.push(r.substring(f));return $(e,{},...o)}}class R{name;dictionary;constructor(r,n){this.name=r;this.dictionary=n}reference(r){if(typeof window<"u")throw Error("Cannot use reference in the browser");if(!this.dictionary?.[r])throw Error(`Translation not found for ${String(r)}`);return this.dictionary[r]}render(r,...n){let{locale:s=S.locale(),params:g}={params:{},...n[0]};if(typeof window<"u")throw Error("Cannot use render in the browser");if(!this.dictionary?.[r]?.[s])throw Error(`Translation not found for ${String(r)} in ${String(s)}`);return y(this.dictionary[r][s],g??{})}static create(r,n){return new R(r,n)}static text(r,...n){let{locale:s=S.locale(),params:g}={params:{},...n?.[0]};if(!r?.[s])throw Error(`Translation not found for ${String(s)}`);return y(r[s],g??{})}}export{x as I18nServiceProvider,R as Dictionary};
|
|
3
3
|
|
|
4
4
|
//# debugId=4B5596DA74AE30BE64756E2164756E21
|
package/dist/kernel/Kernel.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type { ServiceContainer } from "../services/ServiceContainer";
|
|
|
11
11
|
import { LoggingServiceProvider } from "../services/logging/LoggingServiceProvider";
|
|
12
12
|
import { ImageOptimizationServiceProvider } from "../services/image-optimization/ImageOptimizationServiceProvider";
|
|
13
13
|
import { CronServiceProvider } from "../services/cron/CronServiceProvider";
|
|
14
|
+
import { KernelIdServiceProvider } from "../services/kernel-id/KernelIdServiceProvider";
|
|
14
15
|
export declare class Kernel {
|
|
15
16
|
protected emailServiceProvider: typeof EmailServiceProvider;
|
|
16
17
|
protected authenticationServiceProvider: typeof AuthenticationServiceProvider;
|
|
@@ -25,6 +26,7 @@ export declare class Kernel {
|
|
|
25
26
|
protected queueServiceProvider: typeof QueueServiceProvider;
|
|
26
27
|
protected imageServiceProvider: typeof ImageOptimizationServiceProvider;
|
|
27
28
|
protected cronServiceProvider: typeof CronServiceProvider;
|
|
29
|
+
protected kernelIdServiceProvider: typeof KernelIdServiceProvider;
|
|
28
30
|
services: Record<string, ServiceContainer>;
|
|
29
31
|
private booted;
|
|
30
32
|
boot(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AAEjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAGvF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAG9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,iEAAiE,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AAEjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAGvF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAG9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,iEAAiE,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAGxF,qBAAa,MAAM;IACjB,SAAS,CAAC,oBAAoB,8BAAwB;IACtD,SAAS,CAAC,6BAA6B,uCAAiC;IACxE,SAAS,CAAC,yBAAyB,mCAA6B;IAChE,SAAS,CAAC,mBAAmB,6BAAuB;IACpD,SAAS,CAAC,0BAA0B,oCAA8B;IAClE,SAAS,CAAC,wBAAwB,kCAA4B;IAC9D,SAAS,CAAC,yBAAyB,mCAA6B;IAChE,SAAS,CAAC,0BAA0B,oCAA8B;IAClE,SAAS,CAAC,4BAA4B,qCAA+B;IACrE,SAAS,CAAC,sBAAsB,gCAA0B;IAC1D,SAAS,CAAC,oBAAoB,8BAAwB;IACtD,SAAS,CAAC,oBAAoB,0CAAoC;IAClE,SAAS,CAAC,mBAAmB,6BAAuB;IACpD,SAAS,CAAC,uBAAuB,iCAA2B;IAE5D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAM;IAChD,OAAO,CAAC,MAAM,CAAS;IAEvB,IAAI;IAgDJ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;IAKlB,OAAO;IAQD,WAAW;CAalB"}
|
package/dist/kernel/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{f as C}from"../chunk-egaxg13a.js";import{g as h,i as A,j as y,k as R,l as p,m as U,n as P,o as S}from"../facades/index.js";import{A as w,B as g,w as j}from"../http/index.js";import{C as b}from"../chunk-zf3gtmrt.js";import{D as k}from"../chunk-x6ntsv3z.js";import"../chunk-g0qf8xfk.js";import{F,G as L,H as q,I as D,J as E,K as M,L as V,M as $,N as J,O as W}from"../services/index.js";import"../chunk-z7q23s4c.js";import"../chunk-h5nygx4m.js";import"../chunk-wt5ayarp.js";import"../chunk-ve22ma60.js";import"../chunk-697va9vj.js";import"../chunk-fnc2mrgk.js";import"../chunk-m06xgv2s.js";import"../chunk-8rtdf2cd.js";import{Ea as f}from"../chunk-3td0xhnw.js";import"../chunk-33p2e7s6.js";import{Ka as c,La as z}from"../chunk-9rxwxky2.js";import"../chunk-882vm90z.js";import"../chunk-cbdnkfkw.js";var G=async(e)=>e instanceof Promise?await e:e,d=async(e)=>{try{if(e)await G(e())}catch(s){}},H=class e{name;cron;callback;onTick;onComplete;interval=null;next=null;status="stopped";parser;constructor(s){if(this.name=s.name,this.cron=s.cron,this.callback=d.bind(this,s.callback),this.onTick=d.bind(this,s.onTick),this.onComplete=d.bind(this,s.onComplete),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.destroy=this.destroy.bind(this),this.getStatus=this.getStatus.bind(this),this.isRunning=this.isRunning.bind(this),this.lastExecution=this.lastExecution.bind(this),this.nextExecution=this.nextExecution.bind(this),this.remaining=this.remaining.bind(this),this.time=this.time.bind(this),this.parser=new u(this.cron),s.start)this.start()}start(){if(this.status==="running")return;this.status="running",this.next=this.parser.getNext(),this.interval=setInterval(()=>{if(this.next&&this.next.getTime()<=Date.now())this.callback(),this.onTick(),this.next=this.parser.getNext()},1000)}stop(){if(this.status==="stopped")return;if(this.status="stopped",this.interval)clearInterval(this.interval)}destroy(){this.stop(),this.onComplete()}getStatus(){return this.status}isRunning(){return this.status==="running"}lastExecution(){return this.parser.getPrevious()}nextExecution(){return this.next||new Date}remaining(){return this.next?this.next.getTime()-Date.now():0}time(){return Date.now()}static create(s){return new e(s)}static parse(s){return new u(s).parse()}static getNext(s){return new u(s).getNext()}static getPrevious(s){return new u(s).getPrevious()}static isCron(s){try{return new u(s).parse(),!0}catch(t){return!1}}static isValid(s){return e.isCron(s)}},K=H,Q=class e{crons=new Map;constructor(s={}){if(s.autoStart)this.bakeAll()}add(s){let t=K.create(s);return this.crons.set(t.name,t),t}remove(s){let t=this.crons.get(s);if(t)t.destroy(),this.crons.delete(s)}bake(s){let t=this.crons.get(s);if(t)t.start()}stop(s){let t=this.crons.get(s);if(t)t.stop()}destroy(s){let t=this.crons.get(s);if(t)t.destroy(),this.crons.delete(s)}getStatus(s){let t=this.crons.get(s);return t?t.getStatus():"stopped"}isRunning(s){let t=this.crons.get(s);return t?t.isRunning():!1}lastExecution(s){let t=this.crons.get(s);return t?t.lastExecution():new Date}nextExecution(s){let t=this.crons.get(s);return t?t.nextExecution():new Date}remaining(s){let t=this.crons.get(s);return t?t.remaining():0}time(s){let t=this.crons.get(s);return t?t.time():0}bakeAll(){this.crons.forEach((s)=>s.start())}stopAll(){this.crons.forEach((s)=>s.stop())}destroyAll(){this.crons.forEach((s)=>s.destroy()),this.crons.clear()}static create(s={}){return new e(s)}},X=Q,Y=class{constructor(e){this.cron=e}aliases=new Map([["@every_second","* * * * * *"],["@every_minute","0 * * * * *"],["@yearly","0 0 1 1 * *"],["@annually","0 0 1 1 * *"],["@monthly","0 0 1 * * *"],["@weekly","0 0 * * 0 *"],["@daily","0 0 * * * *"],["@hourly","0 * * * * *"]]);parseEveryStr(e){let[,s,t]=e.split("_");switch(t){case"seconds":return`*/${s} * * * * *`;case"minutes":return`0 */${s} * * * *`;case"hours":return`0 0 */${s} * * *`;case"dayOfMonth":return`0 0 0 */${s} * *`;case"months":return`0 0 0 0 */${s} *`;case"dayOfWeek":return`0 0 0 0 0 */${s}`;default:return"* * * * * *"}}parseAtHourStr(e){let[,s]=e.split("_"),[t,r]=s.split(":");return`0 ${r} ${t} * * *`}parseOnDayStr(e){let[,s,t]=e.split("_");return`0 0 0 * * ${new Map([["sunday",1],["monday",2],["tuesday",3],["wednesday",4],["thursday",5],["friday",6],["saturday",7]]).get(s)}`}parseBetweenStr(e){let[,s,t]=e.split("_");return`0 0 ${s}-${t} * * *`}parseStr(e){if(this.aliases.has(e))return this.aliases.get(e)||"";if(e.includes("@every_"))return this.parseEveryStr(e);if(e.includes("@at_"))return this.parseAtHourStr(e);if(e.includes("@on_"))return this.parseOnDayStr(e);if(e.includes("@between_"))return this.parseBetweenStr(e);return e}parse(){this.cron=this.parseStr(this.cron);let[e,s,t,r,i,a]=this.cron.split(" ");return{second:this.parseCronTime(e,0,59),minute:this.parseCronTime(s,0,59),hour:this.parseCronTime(t,0,23),dayOfMonth:this.parseCronTime(r,1,31),month:this.parseCronTime(i,1,12),dayOfWeek:this.parseCronTime(a,0,6)}}getNext(){let e=this.parse(),s=new Date,t=new Date(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours(),s.getMinutes(),s.getSeconds());t.setMilliseconds(0),t.setSeconds(t.getSeconds()+1);while(!this.checkCronTime(e,t))t.setSeconds(t.getSeconds()+1);return t}getPrevious(){let e=this.parse(),s=new Date,t=new Date(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours(),s.getMinutes(),s.getSeconds());t.setMilliseconds(0),t.setSeconds(t.getSeconds()-1);while(!this.checkCronTime(e,t))t.setSeconds(t.getSeconds()-1);return t}parseCronTime(e,s,t){let r=[];switch(!0){case e==="*":for(let i=s;i<=t;i++)r.push(i);break;case e.includes("-"):{let[i,a]=e.split("-"),l=this.getStep(e);for(let n=parseInt(i);n<=parseInt(a);n+=l)r.push(n);break}case e.includes("/"):{let[i,a]=e.split("/"),l=i==="*"?s:parseInt(i);for(let n=l;n<=t;n+=parseInt(a))r.push(n);break}case e.includes(","):{let i=e.split(",");for(let a=0;a<i.length;a++)r.push(parseInt(i[a]));break}default:r.push(parseInt(e));break}return r}getStep(e){let[,s]=e.split("/"),t=parseInt(s);return isNaN(t)?1:t}checkCronTime(e,s){if(e.second&&!e.second.includes(s.getSeconds()))return!1;if(e.minute&&!e.minute.includes(s.getMinutes()))return!1;if(e.hour&&!e.hour.includes(s.getHours()))return!1;if(e.dayOfMonth&&!e.dayOfMonth.includes(s.getDate()))return!1;if(e.month&&!e.month.includes(s.getMonth()+1))return!1;else if(e.dayOfWeek&&!e.dayOfWeek.includes(s.getDay()))return!1;return!0}},u=Y,I=X;class o extends z{service;static _name="CronServiceContainer";constructor(e){super();this.service=e;if(this.service.jobs.length===0)return;let s=I.create({autoStart:!0}),t=async(r)=>{return await this.service.kernel.waitForBoot.call(this.service.kernel),await this.service.kernel.run.call(this.service.kernel,r)};for(let r of this.service.jobs){let i=new r;if(!i.name){console.error(`Cron job must have a name. Job: ${JSON.stringify(i)}`);continue}if(!i.cron){console.error(`Cron job must have an expression. Job: ${i.name}`);continue}s.add({name:i.name,cron:i.cron,callback:()=>t(async()=>{try{await i.callback.call(i)}catch(a){console.error(`Error in cron job ${i.name}:`,a)}}),onComplete:()=>t(async()=>{try{await i.onComplete.call(i)}catch(a){console.error(`Error completing cron job ${i.name}:`,a)}}),onTick:()=>t(async()=>{try{await i.onTick.call(i)}catch(a){console.error(`Error executing cron job ${i.name}:`,a)}})})}s.bakeAll()}}class N{emailServiceProvider=D;authenticationServiceProvider=R;middlewareServiceProvider=j;i18nServiceProvider=C;fileStorageServiceProvider=F;apiRouterServiceProvider=L;viewRouterServiceProvider=M;rateLimiterServiceProvider=q;broadcastingsServiceProvider=E;loggingServiceProvider=V;queueServiceProvider=$;imageServiceProvider=J;cronServiceProvider=W;services={};booted=!1;boot(){this.services={[b._name]:new b(new this.emailServiceProvider),[w._name]:new w(new this.authenticationServiceProvider),[U._name]:new U(new this.middlewareServiceProvider),[k._name]:new k(new this.i18nServiceProvider),[A._name]:new A(new this.fileStorageServiceProvider),[S._name]:new S(new this.apiRouterServiceProvider),[P._name]:new P(new this.viewRouterServiceProvider),[g._name]:new g(new this.rateLimiterServiceProvider),[h._name]:new h(new this.broadcastingsServiceProvider),[y._name]:new y(new this.loggingServiceProvider),[f._name]:new f(new this.queueServiceProvider),[p._name]:new p(new this.imageServiceProvider),[o._name]:new o(new this.cronServiceProvider(this))},this.booted=!0}run(e){let s=this.services;return c.run(s,e)}destroy(){for(let e of Object.keys(this.services))delete this.services[e];c.disable()}async waitForBoot(){if(!this.booted)await new Promise((e)=>{while(!this.booted)setTimeout(()=>{if(this.booted)e()},10)})}}class B{prisma;constructor(e){this.prisma=e}async findUserByVerificationToken(e){return await this.prisma.user.findFirst({where:{verificationToken:e}})}async verifyUser(e){return await this.prisma.user.update({where:{email:e},data:{emailVerifiedAt:new Date}})}async createSessionV2(e){return await this.prisma.session.create({data:e,include:{user:{select:{password:!1,id:!0,email:!0,globalRole:!0,name:!0,locale:!0,publicId:!0,accounts:{select:{id:!0,publicId:!0,organization:!0,organizationRole:!0}}}}}})}async createSession(e){return await this.prisma.session.create({data:e,include:{user:!0}})}async createUser(e){return await this.prisma.user.create({data:e,omit:{password:!0}})}async deleteSession(e){return await this.prisma.session.deleteMany({where:{token:e.token}})}async findUserByEmailAddress(e,s){if(s)return await this.prisma.user.findUnique({where:{email:e,emailVerifiedAt:{not:null}}});return await this.prisma.user.findUnique({where:{email:e}})}async findSession(e){if(!e.token)return null;try{return await this.prisma.session.findUnique({where:{token:e.token,userAgent:e.userAgent},include:{user:{select:{password:!1,id:!0,email:!0,globalRole:!0,name:!0,locale:!0,publicId:!0,accounts:{select:{id:!0,publicId:!0,organization:!0,organizationRole:!0}}}}}})}catch(s){return console.log(s),null}}async updateSession(e){return await this.prisma.session.update({where:{token:e.token},data:{expiresAt:e.expiresAt},include:{user:{select:{id:!0,password:!1,email:!0,globalRole:!0,name:!0,locale:!0,publicId:!0,accounts:{select:{id:!0,publicId:!0,organization:!0,organizationRole:!0}},organization:!0}}}})}async updateUserPassword(e){return await this.prisma.user.update({where:{id:e.id},data:{password:e.password}})}async createPasswordResetToken(e){return await this.prisma.passwordResetToken.create({data:{user:{connect:{id:e.user.id}},token:e.token}})}async findPasswordResetToken(e){let{token:s}=e;return await this.prisma.passwordResetToken.findUnique({where:{token:s},include:{user:!0}})}async deleteAllUserSessions(e){return await this.prisma.session.deleteMany({where:{userId:e}})}async deletePasswordResetToken(e){let{token:s}=e;return await this.prisma.passwordResetToken.delete({where:{token:s}})}async createAccount(e){return await this.prisma.account.create({data:{organizationId:e.organizationId,organizationRole:e.organizationRole,userId:e.userId}})}async deleteInvitationById(e){return await this.prisma.organizationInvitation.delete({where:{publicId:e}})}async findInvitation(e,s){return await this.prisma.organizationInvitation.findFirst({where:{publicId:e,email:s}})}async createMagicLinkToken(e){return await this.prisma.magicLinkToken.create({data:{email:e.email,token:e.token,pin:e.pin}})}async findUserMagicLinkToken(e){let{token:s,pin:t,email:r}=e;if(s)return this.prisma.magicLinkToken.findUnique({where:{token_email:{email:r,token:s}}});else return await this.prisma.magicLinkToken.findUnique({where:{pin_email:{email:r,pin:t}}})}async deleteMagicLinkToken(e){return await this.prisma.magicLinkToken.deleteMany({where:{email:e}})}async createSocialAccount(e){return await this.prisma.socialAccount.create({data:e})}}export{B as PrismaAuthenticationAdapter,N as Kernel,R as AuthenticationServiceProvider};
|
|
2
|
+
import{f as q}from"../chunk-p0t3t9s8.js";import{g as k,i as y,j as p,k as z,l as U,m as P,n as S,o as f,p as b}from"../facades/index.js";import{B as g,C as h,x as L}from"../http/index.js";import{D as I}from"../chunk-5x6b8fr8.js";import{E as A}from"../chunk-z2gqnxf6.js";import"../chunk-5ts72na6.js";import{G as E,H as C,I as M,J as V,K as $,L as J,M as W,N,O as B,P as G}from"../services/index.js";import"../chunk-e5zte0h8.js";import"../chunk-jm6je9dt.js";import"../chunk-76n6xabc.js";import"../chunk-mp0s4vmc.js";import"../chunk-vrm2a0sj.js";import"../chunk-32phhx0z.js";import"../chunk-vhwfmwaj.js";import"../chunk-11zra1sn.js";import{Fa as R}from"../chunk-nggarqwg.js";import{Ka as F}from"../chunk-9sn6k9d1.js";import{La as w,Ma as D}from"../chunk-16gcxjex.js";import"../chunk-mvzvmbee.js";import"../chunk-mnje5ra8.js";var X=async(e)=>e instanceof Promise?await e:e,l=async(e)=>{try{if(e)await X(e())}catch(s){}},Y=class e{name;cron;callback;onTick;onComplete;interval=null;next=null;status="stopped";parser;constructor(s){if(this.name=s.name,this.cron=s.cron,this.callback=l.bind(this,s.callback),this.onTick=l.bind(this,s.onTick),this.onComplete=l.bind(this,s.onComplete),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.destroy=this.destroy.bind(this),this.getStatus=this.getStatus.bind(this),this.isRunning=this.isRunning.bind(this),this.lastExecution=this.lastExecution.bind(this),this.nextExecution=this.nextExecution.bind(this),this.remaining=this.remaining.bind(this),this.time=this.time.bind(this),this.parser=new o(this.cron),s.start)this.start()}start(){if(this.status==="running")return;this.status="running",this.next=this.parser.getNext(),this.interval=setInterval(()=>{if(this.next&&this.next.getTime()<=Date.now())this.callback(),this.onTick(),this.next=this.parser.getNext()},1000)}stop(){if(this.status==="stopped")return;if(this.status="stopped",this.interval)clearInterval(this.interval)}destroy(){this.stop(),this.onComplete()}getStatus(){return this.status}isRunning(){return this.status==="running"}lastExecution(){return this.parser.getPrevious()}nextExecution(){return this.next||new Date}remaining(){return this.next?this.next.getTime()-Date.now():0}time(){return Date.now()}static create(s){return new e(s)}static parse(s){return new o(s).parse()}static getNext(s){return new o(s).getNext()}static getPrevious(s){return new o(s).getPrevious()}static isCron(s){try{return new o(s).parse(),!0}catch(t){return!1}}static isValid(s){return e.isCron(s)}},Z=Y,K=class e{crons=new Map;constructor(s={}){if(s.autoStart)this.bakeAll()}add(s){let t=Z.create(s);return this.crons.set(t.name,t),t}remove(s){let t=this.crons.get(s);if(t)t.destroy(),this.crons.delete(s)}bake(s){let t=this.crons.get(s);if(t)t.start()}stop(s){let t=this.crons.get(s);if(t)t.stop()}destroy(s){let t=this.crons.get(s);if(t)t.destroy(),this.crons.delete(s)}getStatus(s){let t=this.crons.get(s);return t?t.getStatus():"stopped"}isRunning(s){let t=this.crons.get(s);return t?t.isRunning():!1}lastExecution(s){let t=this.crons.get(s);return t?t.lastExecution():new Date}nextExecution(s){let t=this.crons.get(s);return t?t.nextExecution():new Date}remaining(s){let t=this.crons.get(s);return t?t.remaining():0}time(s){let t=this.crons.get(s);return t?t.time():0}bakeAll(){this.crons.forEach((s)=>s.start())}stopAll(){this.crons.forEach((s)=>s.stop())}destroyAll(){this.crons.forEach((s)=>s.destroy()),this.crons.clear()}static create(s={}){return new e(s)}},O=K,x=class{constructor(e){this.cron=e}aliases=new Map([["@every_second","* * * * * *"],["@every_minute","0 * * * * *"],["@yearly","0 0 1 1 * *"],["@annually","0 0 1 1 * *"],["@monthly","0 0 1 * * *"],["@weekly","0 0 * * 0 *"],["@daily","0 0 * * * *"],["@hourly","0 * * * * *"]]);parseEveryStr(e){let[,s,t]=e.split("_");switch(t){case"seconds":return`*/${s} * * * * *`;case"minutes":return`0 */${s} * * * *`;case"hours":return`0 0 */${s} * * *`;case"dayOfMonth":return`0 0 0 */${s} * *`;case"months":return`0 0 0 0 */${s} *`;case"dayOfWeek":return`0 0 0 0 0 */${s}`;default:return"* * * * * *"}}parseAtHourStr(e){let[,s]=e.split("_"),[t,i]=s.split(":");return`0 ${i} ${t} * * *`}parseOnDayStr(e){let[,s,t]=e.split("_");return`0 0 0 * * ${new Map([["sunday",1],["monday",2],["tuesday",3],["wednesday",4],["thursday",5],["friday",6],["saturday",7]]).get(s)}`}parseBetweenStr(e){let[,s,t]=e.split("_");return`0 0 ${s}-${t} * * *`}parseStr(e){if(this.aliases.has(e))return this.aliases.get(e)||"";if(e.includes("@every_"))return this.parseEveryStr(e);if(e.includes("@at_"))return this.parseAtHourStr(e);if(e.includes("@on_"))return this.parseOnDayStr(e);if(e.includes("@between_"))return this.parseBetweenStr(e);return e}parse(){this.cron=this.parseStr(this.cron);let[e,s,t,i,r,a]=this.cron.split(" ");return{second:this.parseCronTime(e,0,59),minute:this.parseCronTime(s,0,59),hour:this.parseCronTime(t,0,23),dayOfMonth:this.parseCronTime(i,1,31),month:this.parseCronTime(r,1,12),dayOfWeek:this.parseCronTime(a,0,6)}}getNext(){let e=this.parse(),s=new Date,t=new Date(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours(),s.getMinutes(),s.getSeconds());t.setMilliseconds(0),t.setSeconds(t.getSeconds()+1);while(!this.checkCronTime(e,t))t.setSeconds(t.getSeconds()+1);return t}getPrevious(){let e=this.parse(),s=new Date,t=new Date(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours(),s.getMinutes(),s.getSeconds());t.setMilliseconds(0),t.setSeconds(t.getSeconds()-1);while(!this.checkCronTime(e,t))t.setSeconds(t.getSeconds()-1);return t}parseCronTime(e,s,t){let i=[];switch(!0){case e==="*":for(let r=s;r<=t;r++)i.push(r);break;case e.includes("-"):{let[r,a]=e.split("-"),d=this.getStep(e);for(let n=parseInt(r);n<=parseInt(a);n+=d)i.push(n);break}case e.includes("/"):{let[r,a]=e.split("/"),d=r==="*"?s:parseInt(r);for(let n=d;n<=t;n+=parseInt(a))i.push(n);break}case e.includes(","):{let r=e.split(",");for(let a=0;a<r.length;a++)i.push(parseInt(r[a]));break}default:i.push(parseInt(e));break}return i}getStep(e){let[,s]=e.split("/"),t=parseInt(s);return isNaN(t)?1:t}checkCronTime(e,s){if(e.second&&!e.second.includes(s.getSeconds()))return!1;if(e.minute&&!e.minute.includes(s.getMinutes()))return!1;if(e.hour&&!e.hour.includes(s.getHours()))return!1;if(e.dayOfMonth&&!e.dayOfMonth.includes(s.getDate()))return!1;if(e.month&&!e.month.includes(s.getMonth()+1))return!1;else if(e.dayOfWeek&&!e.dayOfWeek.includes(s.getDay()))return!1;return!0}},o=x,j=O;class u extends D{service;static _name="CronServiceContainer";constructor(e){super();this.service=e;if(this.service.jobs.length===0)return;let s=j.create({autoStart:!0}),t=async(i)=>{return await this.service.kernel.waitForBoot.call(this.service.kernel),await this.service.kernel.run.call(this.service.kernel,i)};for(let i of this.service.jobs){let r=new i;if(!r.name){console.error(`Cron job must have a name. Job: ${JSON.stringify(r)}`);continue}if(!r.cron){console.error(`Cron job must have an expression. Job: ${r.name}`);continue}s.add({name:r.name,cron:r.cron,callback:()=>t(async()=>{try{await r.callback.call(r)}catch(a){console.error(`Error in cron job ${r.name}:`,a)}}),onComplete:()=>t(async()=>{try{await r.onComplete.call(r)}catch(a){console.error(`Error completing cron job ${r.name}:`,a)}}),onTick:()=>t(async()=>{try{await r.onTick.call(r)}catch(a){console.error(`Error executing cron job ${r.name}:`,a)}})})}s.bakeAll()}}class c extends F{id=crypto.randomUUID();boot(){}}class H{emailServiceProvider=V;authenticationServiceProvider=z;middlewareServiceProvider=L;i18nServiceProvider=q;fileStorageServiceProvider=E;apiRouterServiceProvider=C;viewRouterServiceProvider=J;rateLimiterServiceProvider=M;broadcastingsServiceProvider=$;loggingServiceProvider=W;queueServiceProvider=N;imageServiceProvider=B;cronServiceProvider=G;kernelIdServiceProvider=c;services={};booted=!1;boot(){this.services={[I._name]:new I(new this.emailServiceProvider),[g._name]:new g(new this.authenticationServiceProvider),[P._name]:new P(new this.middlewareServiceProvider),[A._name]:new A(new this.i18nServiceProvider),[y._name]:new y(new this.fileStorageServiceProvider),[b._name]:new b(new this.apiRouterServiceProvider),[f._name]:new f(new this.viewRouterServiceProvider),[h._name]:new h(new this.rateLimiterServiceProvider),[k._name]:new k(new this.broadcastingsServiceProvider),[p._name]:new p(new this.loggingServiceProvider),[R._name]:new R(new this.queueServiceProvider),[U._name]:new U(new this.imageServiceProvider),[u._name]:new u(new this.cronServiceProvider(this)),[S._name]:new S(new this.kernelIdServiceProvider)},this.booted=!0}run(e){let s=this.services;return w.run(s,e)}destroy(){for(let e of Object.keys(this.services))delete this.services[e];w.disable()}async waitForBoot(){if(!this.booted)await new Promise((e)=>{while(!this.booted)setTimeout(()=>{if(this.booted)e()},10)})}}class Q{prisma;constructor(e){this.prisma=e}async findUserByVerificationToken(e){return await this.prisma.user.findFirst({where:{verificationToken:e}})}async verifyUser(e){return await this.prisma.user.update({where:{email:e},data:{emailVerifiedAt:new Date}})}async createSessionV2(e){return await this.prisma.session.create({data:e,include:{user:{select:{password:!1,id:!0,email:!0,globalRole:!0,name:!0,locale:!0,publicId:!0,accounts:{select:{id:!0,publicId:!0,organization:!0,organizationRole:!0}}}}}})}async createSession(e){return await this.prisma.session.create({data:e,include:{user:!0}})}async createUser(e){return await this.prisma.user.create({data:e,omit:{password:!0}})}async deleteSession(e){return await this.prisma.session.deleteMany({where:{token:e.token}})}async findUserByEmailAddress(e,s){if(s)return await this.prisma.user.findUnique({where:{email:e,emailVerifiedAt:{not:null}}});return await this.prisma.user.findUnique({where:{email:e}})}async findSession(e){if(!e.token)return null;try{return await this.prisma.session.findUnique({where:{token:e.token,userAgent:e.userAgent},include:{user:{select:{password:!1,id:!0,email:!0,globalRole:!0,name:!0,locale:!0,publicId:!0,accounts:{select:{id:!0,publicId:!0,organization:!0,organizationRole:!0}}}}}})}catch(s){return console.log(s),null}}async updateSession(e){return await this.prisma.session.update({where:{token:e.token},data:{expiresAt:e.expiresAt},include:{user:{select:{id:!0,password:!1,email:!0,globalRole:!0,name:!0,locale:!0,publicId:!0,accounts:{select:{id:!0,publicId:!0,organization:!0,organizationRole:!0}},organization:!0}}}})}async updateUserPassword(e){return await this.prisma.user.update({where:{id:e.id},data:{password:e.password}})}async createPasswordResetToken(e){return await this.prisma.passwordResetToken.create({data:{user:{connect:{id:e.user.id}},token:e.token}})}async findPasswordResetToken(e){let{token:s}=e;return await this.prisma.passwordResetToken.findUnique({where:{token:s},include:{user:!0}})}async deleteAllUserSessions(e){return await this.prisma.session.deleteMany({where:{userId:e}})}async deletePasswordResetToken(e){let{token:s}=e;return await this.prisma.passwordResetToken.delete({where:{token:s}})}async createAccount(e){return await this.prisma.account.create({data:{organizationId:e.organizationId,organizationRole:e.organizationRole,userId:e.userId}})}async deleteInvitationById(e){return await this.prisma.organizationInvitation.delete({where:{publicId:e}})}async findInvitation(e,s){return await this.prisma.organizationInvitation.findFirst({where:{publicId:e,email:s}})}async createMagicLinkToken(e){return await this.prisma.magicLinkToken.create({data:{email:e.email,token:e.token,pin:e.pin}})}async findUserMagicLinkToken(e){let{token:s,pin:t,email:i}=e;if(s)return this.prisma.magicLinkToken.findUnique({where:{token_email:{email:i,token:s}}});else return await this.prisma.magicLinkToken.findUnique({where:{pin_email:{email:i,pin:t}}})}async deleteMagicLinkToken(e){return await this.prisma.magicLinkToken.deleteMany({where:{email:e}})}async createSocialAccount(e){return await this.prisma.socialAccount.create({data:e})}}export{Q as PrismaAuthenticationAdapter,H as Kernel,z as AuthenticationServiceProvider};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=99CF0D9CD8B5B5BD64756E2164756E21
|
package/dist/kernel/index.js.map
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../node_modules/cronbake/dist/index.js", "../services/cron/CronServiceContainer.ts", "../kernel/Kernel.ts", "../auth/adapters/prisma.ts"],
|
|
3
|
+
"sources": ["../../../node_modules/cronbake/dist/index.js", "../services/cron/CronServiceContainer.ts", "../services/kernel-id/KernelIdServiceProvider.ts", "../kernel/Kernel.ts", "../auth/adapters/prisma.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"// lib/utils.ts\nvar resolveIfPromise = async (value) => value instanceof Promise ? await value : value;\nvar CBResolver = async (callback) => {\n try {\n if (callback) {\n await resolveIfPromise(callback());\n }\n } catch (e) {\n }\n};\n\n// lib/cron.ts\nvar Cron = class _Cron {\n name;\n cron;\n callback;\n onTick;\n onComplete;\n interval = null;\n next = null;\n status = \"stopped\";\n parser;\n /**\n * Creates a new instance of the `Cron` class.\n */\n constructor(options) {\n this.name = options.name;\n this.cron = options.cron;\n this.callback = CBResolver.bind(this, options.callback);\n this.onTick = CBResolver.bind(this, options.onTick);\n this.onComplete = CBResolver.bind(this, options.onComplete);\n this.start = this.start.bind(this);\n this.stop = this.stop.bind(this);\n this.destroy = this.destroy.bind(this);\n this.getStatus = this.getStatus.bind(this);\n this.isRunning = this.isRunning.bind(this);\n this.lastExecution = this.lastExecution.bind(this);\n this.nextExecution = this.nextExecution.bind(this);\n this.remaining = this.remaining.bind(this);\n this.time = this.time.bind(this);\n this.parser = new parser_default(this.cron);\n if (options.start) {\n this.start();\n }\n }\n start() {\n if (this.status === \"running\") {\n return;\n }\n this.status = \"running\";\n this.next = this.parser.getNext();\n this.interval = setInterval(() => {\n if (this.next && this.next.getTime() <= Date.now()) {\n this.callback();\n this.onTick();\n this.next = this.parser.getNext();\n }\n }, 1e3);\n }\n stop() {\n if (this.status === \"stopped\") {\n return;\n }\n this.status = \"stopped\";\n if (this.interval) {\n clearInterval(this.interval);\n }\n }\n destroy() {\n this.stop();\n this.onComplete();\n }\n getStatus() {\n return this.status;\n }\n isRunning() {\n return this.status === \"running\";\n }\n lastExecution() {\n return this.parser.getPrevious();\n }\n nextExecution() {\n return this.next || /* @__PURE__ */ new Date();\n }\n remaining() {\n return this.next ? this.next.getTime() - Date.now() : 0;\n }\n time() {\n return Date.now();\n }\n /**\n * Creates a new cron job with the specified options.\n * @returns A new `ICron` object representing the cron job.\n */\n static create(options) {\n return new _Cron(options);\n }\n /**\n * Parses the specified cron expression and returns a `CronTime` object.\n * @returns A `CronTime` object representing the parsed cron expression.\n */\n static parse(cron) {\n return new parser_default(cron).parse();\n }\n /**\n * Gets the next execution time for the specified cron expression.\n * @template T The type of the cron expression.\n * @returns A `Date` object representing the next execution time.\n */\n static getNext(cron) {\n return new parser_default(cron).getNext();\n }\n /**\n * Gets the previous execution time for the specified cron expression.\n * @returns A `Date` object representing the previous execution time.\n */\n static getPrevious(cron) {\n return new parser_default(cron).getPrevious();\n }\n /**\n * Checks if the specified string is a valid cron expression.\n * @returns `true` if the string is a valid cron expression, `false` otherwise.\n */\n static isCron(cron) {\n try {\n new parser_default(cron).parse();\n return true;\n } catch (e) {\n return false;\n }\n }\n /**\n * Checks if the specified string is a valid cron expression.\n * @returns `true` if the string is a valid cron expression, `false` otherwise.\n */\n static isValid(cron) {\n return _Cron.isCron(cron);\n }\n};\nvar cron_default = Cron;\n\n// lib/baker.ts\nvar Baker = class _Baker {\n crons = /* @__PURE__ */ new Map();\n constructor(options = {}) {\n if (options.autoStart) {\n this.bakeAll();\n }\n }\n add(options) {\n const cron = cron_default.create(options);\n this.crons.set(cron.name, cron);\n return cron;\n }\n remove(name) {\n const cron = this.crons.get(name);\n if (cron) {\n cron.destroy();\n this.crons.delete(name);\n }\n }\n bake(name) {\n const cron = this.crons.get(name);\n if (cron) {\n cron.start();\n }\n }\n stop(name) {\n const cron = this.crons.get(name);\n if (cron) {\n cron.stop();\n }\n }\n destroy(name) {\n const cron = this.crons.get(name);\n if (cron) {\n cron.destroy();\n this.crons.delete(name);\n }\n }\n getStatus(name) {\n const cron = this.crons.get(name);\n return cron ? cron.getStatus() : \"stopped\";\n }\n isRunning(name) {\n const cron = this.crons.get(name);\n return cron ? cron.isRunning() : false;\n }\n lastExecution(name) {\n const cron = this.crons.get(name);\n return cron ? cron.lastExecution() : /* @__PURE__ */ new Date();\n }\n nextExecution(name) {\n const cron = this.crons.get(name);\n return cron ? cron.nextExecution() : /* @__PURE__ */ new Date();\n }\n remaining(name) {\n const cron = this.crons.get(name);\n return cron ? cron.remaining() : 0;\n }\n time(name) {\n const cron = this.crons.get(name);\n return cron ? cron.time() : 0;\n }\n bakeAll() {\n this.crons.forEach((cron) => cron.start());\n }\n stopAll() {\n this.crons.forEach((cron) => cron.stop());\n }\n destroyAll() {\n this.crons.forEach((cron) => cron.destroy());\n this.crons.clear();\n }\n /**\n * Creates a new instance of `Baker`.\n */\n static create(options = {}) {\n return new _Baker(options);\n }\n};\nvar baker_default = Baker;\n\n// lib/parser.ts\nvar CronParser = class {\n /**\n * Creates a new instance of the `CronParser` class.\n */\n constructor(cron) {\n this.cron = cron;\n }\n /**\n * A map of cron expression aliases to their corresponding cron expressions.\n */\n aliases = /* @__PURE__ */ new Map([\n [\"@every_second\", \"* * * * * *\"],\n [\"@every_minute\", \"0 * * * * *\"],\n [\"@yearly\", \"0 0 1 1 * *\"],\n [\"@annually\", \"0 0 1 1 * *\"],\n [\"@monthly\", \"0 0 1 * * *\"],\n [\"@weekly\", \"0 0 * * 0 *\"],\n [\"@daily\", \"0 0 * * * *\"],\n [\"@hourly\", \"0 * * * * *\"]\n ]);\n /**\n * Parses a string in the format \"@every_<value>_<unit>\" and returns the corresponding cron expression.\n */\n parseEveryStr(str) {\n const [, value, unit] = str.split(\"_\");\n switch (unit) {\n case \"seconds\":\n return `*/${value} * * * * *`;\n case \"minutes\":\n return `0 */${value} * * * *`;\n case \"hours\":\n return `0 0 */${value} * * *`;\n case \"dayOfMonth\":\n return `0 0 0 */${value} * *`;\n case \"months\":\n return `0 0 0 0 */${value} *`;\n case \"dayOfWeek\":\n return `0 0 0 0 0 */${value}`;\n default:\n return \"* * * * * *\";\n }\n }\n /**\n * Parses a string in the format \"@at_<time>\" and returns the corresponding cron expression.\n */\n parseAtHourStr(str) {\n const [, time] = str.split(\"_\");\n const [hour, minute] = time.split(\":\");\n return `0 ${minute} ${hour} * * *`;\n }\n /**\n * Parses a string in the format \"@on_<day>_<unit>\" and returns the corresponding cron expression.\n */\n parseOnDayStr(str) {\n const [, day, _unit] = str.split(\"_\");\n const days = /* @__PURE__ */ new Map([\n [\"sunday\", 1],\n [\"monday\", 2],\n [\"tuesday\", 3],\n [\"wednesday\", 4],\n [\"thursday\", 5],\n [\"friday\", 6],\n [\"saturday\", 7]\n ]);\n return `0 0 0 * * ${days.get(day)}`;\n }\n /**\n * Parses a string in the format \"@between_<start>_<end>\" and returns the corresponding cron expression.\n */\n parseBetweenStr(str) {\n const [, start, end] = str.split(\"_\");\n return `0 0 ${start}-${end} * * *`;\n }\n /**\n * Parses the input string and returns the corresponding cron expression.\n */\n parseStr(str) {\n if (this.aliases.has(str)) {\n return this.aliases.get(str) || \"\";\n }\n if (str.includes(\"@every_\")) {\n return this.parseEveryStr(str);\n }\n if (str.includes(\"@at_\")) {\n return this.parseAtHourStr(str);\n }\n if (str.includes(\"@on_\")) {\n return this.parseOnDayStr(str);\n }\n if (str.includes(\"@between_\")) {\n return this.parseBetweenStr(\n str\n );\n }\n return str;\n }\n /**\n * Parses the cron expression and returns a `CronTime` object representing the parsed cron expression.\n * @returns A `CronTime` object representing the parsed cron expression.\n */\n parse() {\n this.cron = this.parseStr(this.cron);\n const [second, minute, hour, dayOfMonth, month, dayOfWeek] = this.cron.split(\" \");\n return {\n second: this.parseCronTime(second, 0, 59),\n minute: this.parseCronTime(minute, 0, 59),\n hour: this.parseCronTime(hour, 0, 23),\n dayOfMonth: this.parseCronTime(dayOfMonth, 1, 31),\n month: this.parseCronTime(month, 1, 12),\n dayOfWeek: this.parseCronTime(dayOfWeek, 0, 6)\n };\n }\n /**\n * Gets the next execution time based on the current time.\n * @returns A `Date` object representing the next execution time.\n */\n getNext() {\n const cronTime = this.parse();\n const now = /* @__PURE__ */ new Date();\n let next = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n now.getHours(),\n now.getMinutes(),\n now.getSeconds()\n );\n next.setMilliseconds(0);\n next.setSeconds(next.getSeconds() + 1);\n while (!this.checkCronTime(cronTime, next)) {\n next.setSeconds(next.getSeconds() + 1);\n }\n return next;\n }\n /**\n * Gets the previous execution time based on the current time.\n * @returns A `Date` object representing the previous execution time.\n */\n getPrevious() {\n const cronTime = this.parse();\n const now = /* @__PURE__ */ new Date();\n let previous = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n now.getHours(),\n now.getMinutes(),\n now.getSeconds()\n );\n previous.setMilliseconds(0);\n previous.setSeconds(previous.getSeconds() - 1);\n while (!this.checkCronTime(cronTime, previous)) {\n previous.setSeconds(previous.getSeconds() - 1);\n }\n return previous;\n }\n /**\n * Parses a cron time string and returns an array of numbers representing the valid values for that field.\n */\n parseCronTime(cronTime, min, max) {\n const result = [];\n switch (true) {\n case cronTime === \"*\":\n for (let i = min; i <= max; i++) {\n result.push(i);\n }\n break;\n case cronTime.includes(\"-\"): {\n const [start, end] = cronTime.split(\"-\");\n const step = this.getStep(cronTime);\n for (let i = parseInt(start); i <= parseInt(end); i += step) {\n result.push(i);\n }\n break;\n }\n case cronTime.includes(\"/\"): {\n const [value, step] = cronTime.split(\"/\");\n const start = value === \"*\" ? min : parseInt(value);\n for (let i = start; i <= max; i += parseInt(step)) {\n result.push(i);\n }\n break;\n }\n case cronTime.includes(\",\"): {\n const times = cronTime.split(\",\");\n for (let i = 0; i < times.length; i++) {\n result.push(parseInt(times[i]));\n }\n break;\n }\n default:\n result.push(parseInt(cronTime));\n break;\n }\n return result;\n }\n /**\n * Gets the step value for a cron time string.\n */\n getStep(cronTime) {\n const [, step] = cronTime.split(\"/\");\n const parsedStep = parseInt(step);\n return isNaN(parsedStep) ? 1 : parsedStep;\n }\n /**\n * Checks if the given date matches the cron time.\n */\n checkCronTime(cronTime, date) {\n if (cronTime.second && !cronTime.second.includes(date.getSeconds())) {\n return false;\n }\n if (cronTime.minute && !cronTime.minute.includes(date.getMinutes())) {\n return false;\n }\n if (cronTime.hour && !cronTime.hour.includes(date.getHours())) {\n return false;\n }\n if (cronTime.dayOfMonth && !cronTime.dayOfMonth.includes(date.getDate())) {\n return false;\n }\n if (cronTime.month && !cronTime.month.includes(date.getMonth() + 1)) {\n return false;\n } else if (cronTime.dayOfWeek && !cronTime.dayOfWeek.includes(date.getDay())) {\n return false;\n }\n return true;\n }\n};\nvar parser_default = CronParser;\n\n// lib/index.ts\nvar lib_default = baker_default;\nexport {\n baker_default as Baker,\n cron_default as Cron,\n parser_default as CronParser,\n lib_default as default\n};\n",
|
|
6
6
|
"import Baker from \"cronbake\";\nimport { ServiceContainer } from \"../ServiceContainer\";\nimport type { CronServiceProvider } from \"./CronServiceProvider\";\n\nexport class CronServiceContainer extends ServiceContainer {\n static _name = \"CronServiceContainer\";\n\n constructor(public service: CronServiceProvider) {\n super();\n\n if (this.service.jobs.length === 0) {\n return;\n }\n\n const driver = Baker.create({ autoStart: true });\n const kernelRun = async <T>(cb: () => T) => {\n await this.service.kernel.waitForBoot.call(this.service.kernel);\n return await this.service.kernel.run.call(this.service.kernel, cb);\n };\n for (const Job of this.service.jobs) {\n const job = new Job();\n if (!job.name) {\n console.error(`Cron job must have a name. Job: ${JSON.stringify(job)}`);\n continue;\n }\n if (!job.cron) {\n console.error(`Cron job must have an expression. Job: ${job.name}`);\n continue;\n }\n driver.add({\n name: job.name,\n cron: job.cron,\n callback: () =>\n kernelRun(async () => {\n try {\n await job.callback.call(job);\n } catch (error) {\n console.error(`Error in cron job ${job.name}:`, error);\n }\n }),\n onComplete: () =>\n kernelRun(async () => {\n try {\n await job.onComplete.call(job);\n } catch (error) {\n console.error(`Error completing cron job ${job.name}:`, error);\n }\n }),\n onTick: () =>\n kernelRun(async () => {\n try {\n await job.onTick.call(job);\n } catch (error) {\n console.error(`Error executing cron job ${job.name}:`, error);\n }\n }),\n });\n }\n driver.bakeAll();\n }\n}\n",
|
|
7
|
-
"import {
|
|
7
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\n\nexport class KernelIdServiceProvider extends ServiceProvider {\n id = crypto.randomUUID();\n boot() {}\n}\n",
|
|
8
|
+
"import { kernelContext } from \"./context\";\nimport { AuthenticationServiceProvider } from \"../auth/AuthenticationServiceProvider\";\nimport { AuthenticationServiceContainer } from \"../auth/AuthenticationServiceContainer\";\nimport { MiddlewareServiceProvider } from \"../http/MiddlewareServiceProvider\";\nimport { I18nServiceProvider } from \"../i18n/I18nServiceProvider\";\nimport { I18nServiceContainer } from \"../i18n/I18nServiceContainer\";\nimport { FileStorageServiceContainer } from \"../services/file-storage/FileStorageServiceContainer\";\nimport { FileStorageServiceProvider } from \"../services/file-storage/FileStorageServiceProvider\";\nimport { ApiRouterServiceContainer } from \"../services/router/ApiRouterServiceContainer\";\nimport { ApiRouterServiceProvider } from \"../services/router/ApiRouterServiceProvider\";\nimport { MiddlewareServiceContainer } from \"../services/middleware/MiddlewareServiceContainer\";\nimport { RateLimiterServiceContainer } from \"../services/rate-limiter/RateLimiterServiceContainer\";\nimport { QueueServiceProvider, RateLimiterServiceProvider } from \"../services\";\nimport { EmailServiceProvider } from \"../services/email/EmailServiceProvider\";\nimport { EmailServiceContainer } from \"../services/email/EmailServiceContainer\";\nimport { BroadcastingServiceContainer } from \"../services/pubsub/BroadcastingServiceContainer\";\nimport { BroadcastingServiceProvider } from \"../services/pubsub/BroadcastingServiceProvider\";\nimport { ViewRouterServiceContainer } from \"../services/router/ViewRouterServiceContainer\";\nimport { ViewRouterServiceProvider } from \"../services/router/ViewRouterServiceProvider\";\nimport type { ServiceContainer } from \"../services/ServiceContainer\";\nimport { LoggingServiceContainer } from \"../services/logging/LoggingServiceContainer\";\nimport { LoggingServiceProvider } from \"../services/logging/LoggingServiceProvider\";\nimport { QueueServiceContainer } from \"../services/queue/QueueServiceContainer\";\nimport { ImageOptimizationServiceProvider } from \"../services/image-optimization/ImageOptimizationServiceProvider\";\nimport { ImageOptimizationServiceContainer } from \"../services/image-optimization/ImageOptimizationServiceContainer\";\nimport { CronServiceProvider } from \"../services/cron/CronServiceProvider\";\nimport { CronServiceContainer } from \"../services/cron/CronServiceContainer\";\nimport { KernelIdServiceProvider } from \"../services/kernel-id/KernelIdServiceProvider\";\nimport { KernelIdServiceContainer } from \"../services/kernel-id/KernelIdServiceContainer\";\n\nexport class Kernel {\n protected emailServiceProvider = EmailServiceProvider;\n protected authenticationServiceProvider = AuthenticationServiceProvider;\n protected middlewareServiceProvider = MiddlewareServiceProvider;\n protected i18nServiceProvider = I18nServiceProvider;\n protected fileStorageServiceProvider = FileStorageServiceProvider;\n protected apiRouterServiceProvider = ApiRouterServiceProvider;\n protected viewRouterServiceProvider = ViewRouterServiceProvider;\n protected rateLimiterServiceProvider = RateLimiterServiceProvider;\n protected broadcastingsServiceProvider = BroadcastingServiceProvider;\n protected loggingServiceProvider = LoggingServiceProvider;\n protected queueServiceProvider = QueueServiceProvider;\n protected imageServiceProvider = ImageOptimizationServiceProvider;\n protected cronServiceProvider = CronServiceProvider;\n protected kernelIdServiceProvider = KernelIdServiceProvider;\n\n services: Record<string, ServiceContainer> = {};\n private booted = false;\n\n boot() {\n this.services = {\n [EmailServiceContainer._name]: new EmailServiceContainer(\n new this.emailServiceProvider(),\n ),\n [AuthenticationServiceContainer._name]:\n new AuthenticationServiceContainer(\n new this.authenticationServiceProvider(),\n ),\n [MiddlewareServiceContainer._name]: new MiddlewareServiceContainer(\n new this.middlewareServiceProvider(),\n ),\n [I18nServiceContainer._name]: new I18nServiceContainer(\n new this.i18nServiceProvider(),\n ),\n [FileStorageServiceContainer._name]: new FileStorageServiceContainer(\n new this.fileStorageServiceProvider(),\n ),\n [ApiRouterServiceContainer._name]: new ApiRouterServiceContainer(\n new this.apiRouterServiceProvider(),\n ),\n [ViewRouterServiceContainer._name]: new ViewRouterServiceContainer(\n new this.viewRouterServiceProvider(),\n ),\n [RateLimiterServiceContainer._name]: new RateLimiterServiceContainer(\n new this.rateLimiterServiceProvider(),\n ),\n [BroadcastingServiceContainer._name]: new BroadcastingServiceContainer(\n new this.broadcastingsServiceProvider(),\n ),\n [LoggingServiceContainer._name]: new LoggingServiceContainer(\n new this.loggingServiceProvider(),\n ),\n [QueueServiceContainer._name]: new QueueServiceContainer(\n new this.queueServiceProvider(),\n ),\n [ImageOptimizationServiceContainer._name]:\n new ImageOptimizationServiceContainer(new this.imageServiceProvider()),\n [CronServiceContainer._name]: new CronServiceContainer(\n new this.cronServiceProvider(this),\n ),\n [KernelIdServiceContainer._name]: new KernelIdServiceContainer(\n new this.kernelIdServiceProvider(),\n ),\n };\n this.booted = true;\n }\n\n run<T>(cb: () => T) {\n const services = this.services;\n return kernelContext.run(services, cb);\n }\n\n destroy() {\n for (const key of Object.keys(this.services)) {\n delete this.services[key];\n }\n\n kernelContext.disable();\n }\n\n async waitForBoot() {\n if (!this.booted) {\n await new Promise<void>((resolve) => {\n while (!this.booted) {\n setTimeout(() => {\n if (this.booted) {\n resolve();\n }\n }, 10);\n }\n });\n }\n }\n}\n",
|
|
8
9
|
"import type {\n User,\n CreateSessionArgs,\n DeleteSessionArgs,\n SessionWithUser,\n CreateUserArgs,\n FindSessionArgs,\n UpdateSessionArgs,\n IAuthenticationAdapter,\n CreatePasswordResetTokenArgs,\n PasswordResetToken,\n FindPasswordResetTokenArgs,\n DeletePasswordResetTokenArgs,\n CreateAccountArgs,\n CreateSocialAccountArgs,\n} from \"./types\";\n\nexport class PrismaAuthenticationAdapter implements IAuthenticationAdapter {\n constructor(protected prisma: any) {}\n\n async findUserByVerificationToken(token: string): Promise<User | null> {\n return await this.prisma.user.findFirst({\n where: { verificationToken: token },\n });\n }\n\n async verifyUser(email: string): Promise<User> {\n return await this.prisma.user.update({\n where: { email },\n data: { emailVerifiedAt: new Date() },\n });\n }\n\n async createSessionV2(args: CreateSessionArgs): Promise<SessionWithUser> {\n return await this.prisma.session.create({\n data: args,\n include: {\n user: {\n select: {\n password: false,\n id: true,\n email: true,\n globalRole: true,\n name: true,\n locale: true,\n publicId: true,\n accounts: {\n select: {\n id: true,\n publicId: true,\n organization: true,\n organizationRole: true,\n },\n },\n },\n },\n },\n });\n }\n\n async createSession(args: CreateSessionArgs): Promise<SessionWithUser> {\n return await this.prisma.session.create({\n data: args,\n include: { user: true },\n });\n }\n\n async createUser(args: CreateUserArgs): Promise<User> {\n return await this.prisma.user.create({\n data: args,\n omit: { password: true },\n });\n }\n\n async deleteSession(args: DeleteSessionArgs): Promise<void> {\n return await this.prisma.session.deleteMany({\n where: { token: args.token },\n });\n }\n\n async findUserByEmailAddress(email: string, verify: boolean): Promise<User> {\n if (verify) {\n return await this.prisma.user.findUnique({\n where: { email, emailVerifiedAt: { not: null } },\n });\n }\n\n const user = await this.prisma.user.findUnique({\n where: { email },\n });\n\n return user;\n }\n\n async findSession(args: FindSessionArgs): Promise<SessionWithUser | null> {\n if (!args.token) return null;\n try {\n const session = await this.prisma.session.findUnique({\n where: {\n token: args.token,\n userAgent:\n process.env.NODE_ENV === \"development\" ? \"local\" : args.userAgent,\n },\n include: {\n user: {\n select: {\n password: false,\n id: true,\n email: true,\n globalRole: true,\n name: true,\n locale: true,\n publicId: true,\n accounts: {\n select: {\n id: true,\n publicId: true,\n organization: true,\n organizationRole: true,\n },\n },\n },\n },\n },\n });\n\n return session;\n } catch (err) {\n console.log(err);\n return null;\n }\n }\n\n async updateSession(\n args: UpdateSessionArgs,\n ): Promise<SessionWithUser | null> {\n return await this.prisma.session.update({\n where: { token: args.token },\n data: { expiresAt: args.expiresAt },\n include: {\n user: {\n select: {\n id: true,\n password: false,\n email: true,\n globalRole: true,\n name: true,\n locale: true,\n publicId: true,\n accounts: {\n select: {\n id: true,\n publicId: true,\n organization: true,\n organizationRole: true,\n },\n },\n organization: true,\n },\n },\n },\n });\n }\n\n async updateUserPassword(args: {\n id: number;\n password: string;\n }): Promise<User> {\n return await this.prisma.user.update({\n where: { id: args.id },\n data: { password: args.password },\n });\n }\n\n async createPasswordResetToken(args: CreatePasswordResetTokenArgs) {\n return await this.prisma.passwordResetToken.create({\n data: {\n user: { connect: { id: args.user.id } },\n token: args.token,\n },\n });\n }\n\n async findPasswordResetToken(\n args: FindPasswordResetTokenArgs,\n ): Promise<PasswordResetToken | null> {\n const { token } = args;\n return await this.prisma.passwordResetToken.findUnique({\n where: { token },\n include: { user: true },\n });\n }\n\n async deleteAllUserSessions(userId: number) {\n return await this.prisma.session.deleteMany({ where: { userId } });\n }\n\n async deletePasswordResetToken(args: DeletePasswordResetTokenArgs) {\n const { token } = args;\n return await this.prisma.passwordResetToken.delete({ where: { token } });\n }\n\n async createAccount(args: CreateAccountArgs) {\n return await this.prisma.account.create({\n data: {\n organizationId: args.organizationId,\n organizationRole: args.organizationRole,\n userId: args.userId,\n },\n });\n }\n\n async deleteInvitationById(invitationId: string) {\n return await this.prisma.organizationInvitation.delete({\n where: { publicId: invitationId },\n });\n }\n\n async findInvitation(invitationId: string, email: string) {\n return await this.prisma.organizationInvitation.findFirst({\n where: { publicId: invitationId, email },\n });\n }\n\n async createMagicLinkToken(args: {\n email: string;\n token: string;\n pin: string;\n }) {\n return await this.prisma.magicLinkToken.create({\n data: {\n email: args.email,\n token: args.token,\n pin: args.pin,\n },\n });\n }\n\n async findUserMagicLinkToken(args: {\n email: string;\n token?: string;\n pin?: string;\n }) {\n const { token, pin, email } = args;\n\n if (token) {\n return this.prisma.magicLinkToken.findUnique({\n where: {\n token_email: {\n email,\n token,\n },\n },\n });\n } else {\n return await this.prisma.magicLinkToken.findUnique({\n where: {\n pin_email: {\n email,\n pin,\n },\n },\n });\n }\n }\n\n async deleteMagicLinkToken(email: string) {\n return await this.prisma.magicLinkToken.deleteMany({\n where: { email },\n });\n }\n\n async createSocialAccount(args: CreateSocialAccountArgs) {\n return await this.prisma.socialAccount.create({\n data: args,\n });\n }\n}\n"
|
|
9
10
|
],
|
|
10
|
-
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "99CF0D9CD8B5B5BD64756E2164756E21",
|
|
12
13
|
"names": []
|
|
13
14
|
}
|
package/dist/server/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{F as _}from"../chunk-5ts72na6.js";import{Oa as G,Qa as H}from"../chunk-mnje5ra8.js";import{join as B}from"path";import{jsx as A}from"react/jsx-runtime";function N(n,t){let l=Object.keys(t).sort((p,w)=>w.length-p.length).map((p)=>p.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),h=new RegExp(l.join("|"),"g");return n.replace(h,(p)=>t[p])}async function O(n,t,l=[]){let h=[...l.map((e)=>`${n}/views/${e}.tsx`),`${n}/views/RootLayout.tsx`],p=new Set;for(let e of h){let r=t.moduleGraph.getModulesByFile(e);if(r)p=p.union(r)}let w=[],R=[],g={};for(let e of p)if(e)for(let r of e.importedModules){if(r.file.includes("module.css"))g[r.file]=r.ssrTransformResult.map.sourcesContent.join("");if(r.file.includes(".css"))R.push(r.file)}for(let e of R){let r=await t.transformRequest(e+"?direct"),i=e.includes("module.css"),c="";if(i)c=N(g[e],r.default);w.push({isDev:!0,id:e,content:i?c:r.code})}return w.map((e,r)=>{return A("style",{type:"text/css","data-vite-dev-id":e.id,children:e.content},r)})}async function I(n=[]){return n.map((t,l)=>{return A("style",{id:t?.id,type:"text/css",children:t.content},l)})}function k(n){return n.replace(/\x1b\[[0-9;]*m/g,"").replace(/\[[0-9;]*m/g,"").replace(/\n\s*\n/g,`
|
|
3
3
|
`).split(`
|
|
4
4
|
`).map((t)=>t.trim()).filter((t)=>t.length>0).join(`
|
|
5
5
|
`).trim()}function L(n){return`
|
|
@@ -42,12 +42,12 @@ import{E as _}from"../chunk-g0qf8xfk.js";import{Na as G,Pa as H}from"../chunk-cb
|
|
|
42
42
|
</script>
|
|
43
43
|
</body>
|
|
44
44
|
</html>
|
|
45
|
-
`}var b=process.cwd(),
|
|
46
|
-
import RefreshRuntime from "${c}//${
|
|
45
|
+
`}var b=process.cwd(),P=B(b,"app");async function J(){let n=process.cwd(),t=await(await import("vite")).createServer({root:n,logLevel:"error",server:{watch:{usePolling:!0,interval:100,ignored:["**/storage/**","**/node_modules/**","**/.**"]},hmr:{clientPort:5174}},appType:"custom",resolve:{alias:{"@/app":P}}});process.env.ROOT_DIR=b,process.env.APP_DIR=P;async function l(e){let{pathname:r,host:i,protocol:c}=new URL(e.url);if(r.startsWith("/render-error.js"))return new Response("window.render_error = true",{headers:{"Content-Type":"application/javascript"}});if(r.startsWith("/refresh.js"))return new Response(`
|
|
46
|
+
import RefreshRuntime from "${c}//${i}/@react-refresh";
|
|
47
47
|
RefreshRuntime.injectIntoGlobalHook(window);
|
|
48
48
|
window.$RefreshReg$ = () => {};
|
|
49
49
|
window.$RefreshSig$ = () => (type) => type;
|
|
50
50
|
window.__vite_plugin_react_preamble_installed__ = true;
|
|
51
|
-
`,{headers:{"Content-Type":"application/javascript"}});try{let f=await fetch(`http://localhost:5174${r}`);if(f.ok)return f}catch(f){console.log(f)}}async function h(){try{return(await t.ssrLoadModule(B(
|
|
51
|
+
`,{headers:{"Content-Type":"application/javascript"}});try{let f=await fetch(`http://localhost:5174${r}`);if(f.ok)return f}catch(f){console.log(f)}}async function h(){try{return(await t.ssrLoadModule(B(P,"bootstrap.ts"),{fixStacktrace:!0})).app}catch(e){t.ws.send({type:"error",err:{...e,message:""}}),console.error(e)}}async function p(e){let r=e.fetch.bind(e);return{fetch:async(i,c)=>{if(c.upgrade(i,{data:{headers:i.headers}}))return;if(!i.headers.get("x-forwarded-for")){let o=c.requestIP(i);i.headers.set("x-forwarded-for",o.address)}let{pathname:f}=new URL(i.url),s=await l(i);if(s instanceof Response)return s;try{let o=await r(i);if(o instanceof Response)return o;else{let u={},d={},S=(a,v)=>`"${a}": () => import("${v}")`,$=[];for(let a of["404",...e.getFlatComponentTree.call(e)]){let v=`${process.env.APP_DIR}`,m=await t.ssrLoadModule(`${v}/views/${a}.tsx`,{fixStacktrace:!0});u[a]=m.default,d[a]=m?.OpenGraph,$.push(S(a,`${v}/views/${a}.tsx`))}let D=`{${$.join(",")}}`;return await o({getStyles:async(a)=>await O(P,t,a),bootstrapModules:["/refresh.js","/app/client.tsx","/@vite/client"],viewImportMap:u,ogMap:d,loaders:D,cssManifest:{}})}}catch(o){if(f.startsWith("/api"))return new Response(JSON.stringify({error:o.message}),{status:500,headers:{"Content-Type":"application/json"}});return new Response(L(o),{headers:{"Content-Type":"text/html"}})}},idleTimeout:Number(process.env.SERVER_IDLE_TIMEOUT??10),port:process.env.PORT||5173,websocket:e.websocket}}await t.listen(5174);let w=await h(),R=await p(w),g=Bun.serve(R);return w.onPublish((e,r,i)=>{g.publish(e,r,i)}),console.log(`Server started on http://localhost:${process.env.PORT||5173}`),t.watcher.on("change",async(e)=>{let r=e.replace(b,"");if(r.startsWith("/logs"))return;if(r.startsWith("/prisma"))return;if(r.startsWith("/app/views")){console.log(`[vite] ${r} changed. \uD83C\uDF5C Hot reloading...`);return}console.log(`[vite] ${r} changed. Reloading...`);let i=t.moduleGraph.getModulesByFile(e)??[];for(let c of Array.from(i))try{t.moduleGraph.invalidateModule(c)}catch(f){}try{let c=await h(),f=await p(c);c.onPublish((s,o,u)=>{g.publish(s,o,u)}),g.reload(f),t.ws.send({type:"custom",event:"http-reload"}),t.ws.send({type:"update",updates:[]})}catch(c){console.log("Error on server reload"),console.log(t.ssrFixStacktrace(c))}}),g}import{join as j}from"path";function F(n){let t=n.toString(),l=new Bun.CryptoHasher("sha1");return l.update(t),l.digest("hex")}if(!globalThis.URLPattern)globalThis.URLPattern=_;var M=process.env.GEMI_PROJECT_DIR??"",x=j(process.cwd(),M),V=j(x,"app"),y=j(x,"dist");async function z(){let{app:n}=await import(`${y}/server/bootstrap.mjs`),t=await import(`${y}/client/.vite/manifest.json`),l=await import(`${y}/server/.vite/manifest.json`);process.env.ROOT_DIR=x,process.env.APP_DIR=V,process.env.DIST_DIR=y;let h={},p={},w={},R=(s,o)=>`"${s}": () => import("${o}")`,g=[];for(let s of["404",...n.getFlatComponentTree.call(n)]){let o=l[`app/views/${s}.tsx`];if(!o?.file){console.log(`Server file not found for ${s}`),console.log(o);let S=Object.keys(l),$=`app/views/${s}.tsx`;console.log(`${$} not found in server manifest`),console.log(S)}let u=await import(`${process.env.DIST_DIR}/server/${o?.file}`);h[s]=u.default,p[s]=u.OpenGraph;let d=t[`app/views/${s}.tsx`];if(d?.css&&d?.css.length>0)w[s]=d?.css;if(d)g.push(R(s,`/${d?.file}`))}let e=`{${g.join(",")}}`,i=await Bun.file(`${y}/client/${t["app/client.tsx"].css}`).text();async function c(s){let{pathname:o}=new URL(s.url),u=new _({pathname:"/*.:filetype(png|txt|js|css|jpg|svg|jpeg|ico|ttf)"}),d=o.startsWith("/.well-known"),S=u.test({pathname:o})||d,$=o.startsWith("/api");if(S&&!$){let a=new URL(s.url),v=s.url.replace(a.origin,"").split("?")[0];try{let m=Bun.file(`${y}/client${v.replace("/assets/assets","/assets")}`);if(!m.exists()&&a.pathname.includes(".js"))return new Response("window.location.reload();export {}",{headers:{"Content-Type":"application/javascript"}});let T=F(m.lastModified);return new Response(m.stream(),{headers:{"Content-Type":m.type,"Cache-Control":"public, max-age=31536000, must-revalidate","Content-Length":String(m.size),ETag:T}})}catch(m){return new Response("Not found",{status:404})}}let D=n.fetch.bind(n);try{let a=await D(s);if(a instanceof Response)return a;else{let v=[];return v.push({content:i}),await a({getStyles:async(T)=>{if(!T)return I([]);for(let C of T){let U=t[`app/views/${C}.tsx`];for(let E of U?.css??[]){let W=Bun.file(`${process.env.DIST_DIR}/client/${E}`);v.push({id:E,content:await W.text()})}}return I(v)},bootstrapModules:[`/${t["app/client.tsx"].file}`],loaders:e,viewImportMap:h,ogMap:p,cssManifest:w})}}catch(a){if(console.error(a),o.startsWith("/api"))return new Response(JSON.stringify({error:a.message}),{status:500,headers:{"Content-Type":"application/json"}});return new Response(a.stack,{status:500})}}let f=Bun.serve({fetch:async(s,o)=>{if(!s.headers.get("x-forwarded-for")){let u=o.requestIP(s);s.headers.set("x-forwarded-for",u.address)}return await c(s)},idleTimeout:Number(process.env.SERVER_IDLE_TIMEOUT??10),port:process.env.PORT||5173});return console.log("Production server running on",f.url.href),f}export{z as startProdServer,J as startDevServer};
|
|
52
52
|
|
|
53
|
-
//# debugId=
|
|
53
|
+
//# debugId=FB19555DEF06BBEB64756E2164756E21
|
package/dist/server/index.js.map
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
"import type { Serve } from \"bun\";\nimport { join } from \"node:path\";\n\nimport type { App } from \"../app/App\";\nimport { createDevStyles } from \"./styles\";\nimport { renderErrorPage } from \"./renderErrorPage\";\n\nconst rootDir = process.cwd();\nconst appDir = join(rootDir, \"app\");\n\nexport async function startDevServer() {\n const root = process.cwd();\n\n const vite = await (await import(\"vite\")).createServer({\n root,\n logLevel: \"error\",\n server: {\n watch: {\n usePolling: true,\n interval: 100,\n // ignore paths starts with .\n ignored: [\"**/storage/**\", \"**/node_modules/**\", \"**/.**\"],\n },\n hmr: {\n clientPort: 5174,\n },\n },\n appType: \"custom\",\n resolve: {\n alias: {\n \"@/app\": appDir,\n },\n },\n });\n\n process.env.ROOT_DIR = rootDir;\n process.env.APP_DIR = appDir;\n\n async function handleDevRequests(req: Request): Promise<Response> {\n const { pathname, host, protocol } = new URL(req.url);\n if (pathname.startsWith(\"/render-error.js\")) {\n return new Response(\"window.render_error = true\", {\n headers: {\n \"Content-Type\": \"application/javascript\",\n },\n });\n }\n if (pathname.startsWith(\"/refresh.js\")) {\n return new Response(\n `\n import RefreshRuntime from \"${protocol}//${host}/@react-refresh\";\n RefreshRuntime.injectIntoGlobalHook(window);\n window.$RefreshReg$ = () => {};\n window.$RefreshSig$ = () => (type) => type;\n window.__vite_plugin_react_preamble_installed__ = true;\n `,\n {\n headers: {\n \"Content-Type\": \"application/javascript\",\n },\n },\n );\n }\n\n try {\n const res = await fetch(`http://localhost:5174${pathname}`);\n\n if (res.ok) {\n return res;\n }\n } catch (err) {\n console.log(err);\n }\n }\n\n async function getApp(): Promise<App> {\n try {\n const module = await vite.ssrLoadModule(join(appDir, \"bootstrap.ts\"), {\n fixStacktrace: true,\n });\n return module.app;\n } catch (err) {\n vite.ws.send({ type: \"error\", err: { ...err, message: \"\" } });\n console.error(err);\n }\n }\n\n async function createServe(app: App): Promise<Serve> {\n const handler = app.fetch.bind(app);\n return {\n fetch: async (req, server) => {\n if (server.upgrade(req, { data: { headers: req.headers } })) {\n return; // do not return a Response\n }\n if (!req.headers.get(\"x-forwarded-for\")) {\n const ip = server.requestIP(req);\n req.headers.set(\"x-forwarded-for\", ip.address);\n }\n\n const { pathname } = new URL(req.url);\n\n const devResponse = await handleDevRequests(req);\n if (devResponse instanceof Response) {\n return devResponse;\n }\n\n try {\n const result = await handler(req);\n if (result instanceof Response) {\n return result;\n } else {\n const viewImportMap = {};\n const ogMap = {};\n const template = (viewName: string, path: string) =>\n `\"${viewName}\": () => import(\"${path}\")`;\n const templates = [];\n\n for (const fileName of [\n \"404\",\n ...app.getFlatComponentTree.call(app),\n ]) {\n if (process.env.NODE_ENV === \"test\") {\n break;\n }\n const appDir = `${process.env.APP_DIR}`;\n const mod = await vite.ssrLoadModule(\n `${appDir}/views/${fileName}.tsx`,\n { fixStacktrace: true },\n );\n\n viewImportMap[fileName] = mod.default;\n ogMap[fileName] = mod?.OpenGraph;\n templates.push(\n template(fileName, `${appDir}/views/${fileName}.tsx`),\n );\n }\n\n const loaders = `{${templates.join(\",\")}}`;\n\n return await result({\n getStyles: async (currentViews: string[]) =>\n await createDevStyles(appDir, vite, currentViews),\n bootstrapModules: [\n \"/refresh.js\",\n \"/app/client.tsx\",\n \"/@vite/client\",\n ],\n viewImportMap,\n ogMap,\n loaders,\n cssManifest: {},\n });\n }\n } catch (err) {\n if (pathname.startsWith(\"/api\")) {\n return new Response(JSON.stringify({ error: err.message }), {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" },\n });\n }\n\n return new Response(renderErrorPage(err), {\n headers: { \"Content-Type\": \"text/html\" },\n });\n }\n },\n\n idleTimeout: Number(process.env.SERVER_IDLE_TIMEOUT ?? 10),\n port: process.env.PORT || 5173,\n websocket: app.websocket,\n };\n }\n\n await vite.listen(5174);\n\n const app = await getApp();\n const serve = await createServe(app);\n const server = Bun.serve(serve);\n app.onPublish(\n (\n topic: string,\n data: string | ArrayBufferView | ArrayBuffer | SharedArrayBuffer,\n compress?: boolean,\n ) => {\n server.publish(topic, data, compress);\n },\n );\n\n console.log(`Server started on http://localhost:${process.env.PORT || 5173}`);\n\n vite.watcher.on(\"change\", async (file) => {\n const fileRelativePath = file.replace(rootDir, \"\");\n if (fileRelativePath.startsWith(\"/logs\")) {\n return;\n }\n\n if (fileRelativePath.startsWith(\"/prisma\")) {\n return;\n }\n\n if (fileRelativePath.startsWith(\"/app/views\")) {\n console.log(`[vite] ${fileRelativePath} changed. 🍜 Hot reloading...`);\n return;\n }\n\n console.log(`[vite] ${fileRelativePath} changed. Reloading...`);\n const modules = vite.moduleGraph.getModulesByFile(file) ?? [];\n for (const mod of Array.from(modules)) {\n try {\n vite.moduleGraph.invalidateModule(mod);\n } catch (err) {}\n }\n\n try {\n const app = await getApp();\n const serve = await createServe(app);\n app.onPublish(\n (\n topic: string,\n data: string | ArrayBufferView | ArrayBuffer | SharedArrayBuffer,\n compress?: boolean,\n ) => {\n server.publish(topic, data, compress);\n },\n );\n server.reload(serve);\n vite.ws.send({\n type: \"custom\",\n event: \"http-reload\",\n });\n vite.ws.send({\n type: \"update\",\n updates: [],\n });\n } catch (err) {\n console.log(\"Error on server reload\");\n console.log(vite.ssrFixStacktrace(err));\n }\n });\n\n return server;\n}\n",
|
|
6
6
|
"import { ModuleNode, type ViteDevServer } from \"vite\";\n\nfunction replaceStrings(text: string, record: Record<string, string>): string {\n const escapedKeys = Object.keys(record)\n .sort((a, b) => b.length - a.length)\n .map((key) => key.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n\n // Create a single regex with all keys\n const regex = new RegExp(escapedKeys.join(\"|\"), \"g\");\n\n return text.replace(regex, (match) => record[match]);\n}\n\nexport async function createDevStyles(\n appDir: string,\n vite: ViteDevServer,\n currentViews: string[] = [],\n) {\n const views = [\n ...currentViews.map((view) => `${appDir}/views/${view}.tsx`),\n `${appDir}/views/RootLayout.tsx`,\n ];\n\n let modules = new Set<ModuleNode>();\n for (const view of views) {\n const mod = vite.moduleGraph.getModulesByFile(view);\n if (mod) {\n modules = modules.union(mod);\n }\n }\n\n const styles = [];\n const cssModules = [];\n const cssModuleContent: Record<string, string> = {};\n for (const mod of modules as any) {\n if (mod) {\n for (const imported of mod.importedModules) {\n if (imported.file.includes(\"module.css\")) {\n cssModuleContent[imported.file] =\n imported.ssrTransformResult.map.sourcesContent.join(\"\");\n }\n if (imported.file.includes(\".css\")) {\n cssModules.push(imported.file);\n }\n }\n }\n }\n\n for (const cssModulePath of cssModules) {\n const transform = await vite.transformRequest(cssModulePath + \"?direct\");\n\n const isCssModule = cssModulePath.includes(\"module.css\");\n\n let transformedCssModule = \"\";\n\n if (isCssModule) {\n transformedCssModule = replaceStrings(\n cssModuleContent[cssModulePath],\n transform.default,\n );\n }\n\n styles.push({\n isDev: true,\n id: cssModulePath,\n content: isCssModule ? transformedCssModule : transform.code,\n });\n }\n\n return styles.map((style, i) => {\n return (\n <style key={i} type=\"text/css\" data-vite-dev-id={style.id}>\n {style.content}\n </style>\n );\n });\n}\n\nexport async function createStyles(styles = []) {\n return styles.map((style, i) => {\n return (\n <style key={i} id={style?.id} type=\"text/css\">\n {style.content}\n </style>\n );\n });\n}\n",
|
|
7
7
|
"function cleanupTerminalText(text) {\n return (\n text\n // Remove ANSI escape sequences (colors, formatting)\n .replace(/\\x1b\\[[0-9;]*m/g, \"\")\n // Remove ANSI escape sequences with different format\n .replace(/\\[[0-9;]*m/g, \"\")\n // Remove excessive whitespace and normalize line breaks\n .replace(/\\n\\s*\\n/g, \"\\n\")\n // Trim each line\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter((line) => line.length > 0)\n .join(\"\\n\")\n .trim()\n );\n}\n\nexport function renderErrorPage(err: any) {\n return `\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1.0\"\n />\n\n <title>Error</title>\n <style>\n body {\n font-family: Arial, sans-serif;\n padding: 20px;\n }\n h1 {\n color: red;\n }\n </style>\n </head>\n <body>\n <div id=\"overlay\"></div>\n <script type=\"module\" src=\"/refresh.js\"></script>\n <script type=\"module\" src=\"/@vite/client\"></script>\n <script>\n ${cleanupTerminalText.toString()}\n const err = ${JSON.stringify(err, Object.getOwnPropertyNames(err), 2)}\n\n window.addEventListener('load', () => {\n const container = document.getElementById('overlay')\n const ErrorOverlay = customElements.get('vite-error-overlay')\n if (ErrorOverlay) {\n const overlay = new ErrorOverlay({ ...err, message: cleanupTerminalText(err.message) });\n container.appendChild(overlay)\n }\n })\n </script>\n </body>\n</html>\n`;\n}\n",
|
|
8
|
-
"import { join } from \"path\";\n\nimport { generateETag } from \"./generateEtag\";\nimport { URLPattern } from \"urlpattern-polyfill\";\nimport { createStyles } from \"./styles\";\n\nconst projectDir = process.env.GEMI_PROJECT_DIR ?? \"\";\nconst rootDir = join(process.cwd(), projectDir);\n\nconst appDir = join(rootDir, \"app\");\nconst distDir = join(rootDir, \"dist\");\n\nexport async function startProdServer() {\n const { app } = await import(`${distDir}/server/bootstrap.mjs`);\n const manifest = await import(`${distDir}/client/.vite/manifest.json`);\n const serverManifest = await import(`${distDir}/server/.vite/manifest.json`);\n\n process.env.ROOT_DIR = rootDir;\n process.env.APP_DIR = appDir;\n process.env.DIST_DIR = distDir;\n\n const viewImportMap = {};\n const ogMap = {};\n const cssManifest = {};\n const template = (viewName: string, path: string) =>\n `\"${viewName}\": () => import(\"${path}\")`;\n const templates = [];\n\n for (const fileName of [\"404\", ...app.getFlatComponentTree.call(app)]) {\n const serverFile = serverManifest[`app/views/${fileName}.tsx`];\n if (!serverFile?.file) {\n console.log(`Server file not found for ${fileName}`);\n console.log(serverFile);\n const files = Object.keys(serverManifest);\n const path = `app/views/${fileName}.tsx`;\n console.log(`${path} not found in server manifest`);\n console.log(files);\n }\n const mod = await import(\n `${process.env.DIST_DIR}/server/${serverFile?.file}`\n );\n viewImportMap[fileName] = mod.default;\n ogMap[fileName] = mod.OpenGraph;\n const clientFile = manifest[`app/views/${fileName}.tsx`];\n\n if (clientFile?.css && clientFile?.css.length > 0) {\n cssManifest[fileName] = clientFile?.css;\n }\n if (clientFile) {\n templates.push(template(fileName, `/${clientFile?.file}`));\n }\n }\n\n const loaders = `{${templates.join(\",\")}}`;\n\n const appCssFile = Bun.file(\n `${distDir}/client/${manifest[\"app/client.tsx\"].css}`,\n );\n const appCSSContent = await appCssFile.text();\n\n async function requestHandler(req: Request) {\n const { pathname } = new URL(req.url);\n\n const pattern = new URLPattern({\n pathname: \"/*.:filetype(png|txt|js|css|jpg|svg|jpeg|ico|ttf)\",\n });\n\n const isWellKnownFile = pathname.startsWith(\"/.well-known\");\n const isFileRequest = pattern.test({ pathname }) || isWellKnownFile;\n\n const isApi = pathname.startsWith(\"/api\");\n\n if (isFileRequest && !isApi) {\n const url = new URL(req.url);\n const filePath = req.url.replace(url.origin, \"\").split(\"?\")[0];\n try {\n const file = Bun.file(\n `${distDir}/client${filePath.replace(\"/assets/assets\", \"/assets\")}`,\n );\n const etag = generateETag(file.lastModified);\n return new Response(file.stream(), {\n headers: {\n \"Content-Type\": file.type,\n \"Cache-Control\": \"public, max-age=31536000, must-revalidate\",\n \"Content-Length\": String(file.size),\n ETag: etag,\n },\n });\n } catch (error) {\n return new Response(\"Not found\", { status: 404 });\n }\n }\n\n const handler = app.fetch.bind(app);\n\n try {\n const result = await handler(req);\n if (result instanceof Response) {\n return result;\n } else {\n const styles = [];\n\n styles.push({\n content: appCSSContent,\n });\n\n const getStyles = async (currentViews: string[]) => {\n if (!currentViews) {\n return createStyles([]);\n }\n for (const view of currentViews) {\n const clientFile = manifest[`app/views/${view}.tsx`];\n for (const cssFile of clientFile?.css ?? []) {\n const css = Bun.file(`${process.env.DIST_DIR}/client/${cssFile}`);\n styles.push({\n id: cssFile,\n content: await css.text(),\n });\n }\n }\n return createStyles(styles);\n };\n\n return await result({\n getStyles,\n bootstrapModules: [`/${manifest[\"app/client.tsx\"].file}`],\n loaders,\n viewImportMap,\n ogMap,\n cssManifest,\n });\n }\n } catch (err) {\n console.error(err);\n if (pathname.startsWith(\"/api\")) {\n return new Response(JSON.stringify({ error: err.message }), {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" },\n });\n }\n return new Response(err.stack, { status: 500 });\n }\n }\n\n const server = Bun.serve({\n fetch: async (req, server) => {\n if (!req.headers.get(\"x-forwarded-for\")) {\n const ip = server.requestIP(req);\n req.headers.set(\"x-forwarded-for\", ip.address);\n }\n return await requestHandler(req);\n },\n idleTimeout: Number(process.env.SERVER_IDLE_TIMEOUT ?? 10),\n port: process.env.PORT || 5173,\n });\n\n console.log(\"Production server running on\", server.url.href);\n\n return server;\n}\n",
|
|
8
|
+
"import { join } from \"path\";\n\nimport { generateETag } from \"./generateEtag\";\nimport { URLPattern } from \"urlpattern-polyfill\";\nimport { createStyles } from \"./styles\";\nimport { refresh } from \"./refresh\";\n\nconst projectDir = process.env.GEMI_PROJECT_DIR ?? \"\";\nconst rootDir = join(process.cwd(), projectDir);\n\nconst appDir = join(rootDir, \"app\");\nconst distDir = join(rootDir, \"dist\");\n\nexport async function startProdServer() {\n const { app } = await import(`${distDir}/server/bootstrap.mjs`);\n const manifest = await import(`${distDir}/client/.vite/manifest.json`);\n const serverManifest = await import(`${distDir}/server/.vite/manifest.json`);\n\n process.env.ROOT_DIR = rootDir;\n process.env.APP_DIR = appDir;\n process.env.DIST_DIR = distDir;\n\n const viewImportMap = {};\n const ogMap = {};\n const cssManifest = {};\n const template = (viewName: string, path: string) =>\n `\"${viewName}\": () => import(\"${path}\")`;\n const templates = [];\n\n for (const fileName of [\"404\", ...app.getFlatComponentTree.call(app)]) {\n const serverFile = serverManifest[`app/views/${fileName}.tsx`];\n if (!serverFile?.file) {\n console.log(`Server file not found for ${fileName}`);\n console.log(serverFile);\n const files = Object.keys(serverManifest);\n const path = `app/views/${fileName}.tsx`;\n console.log(`${path} not found in server manifest`);\n console.log(files);\n }\n const mod = await import(\n `${process.env.DIST_DIR}/server/${serverFile?.file}`\n );\n viewImportMap[fileName] = mod.default;\n ogMap[fileName] = mod.OpenGraph;\n const clientFile = manifest[`app/views/${fileName}.tsx`];\n\n if (clientFile?.css && clientFile?.css.length > 0) {\n cssManifest[fileName] = clientFile?.css;\n }\n if (clientFile) {\n templates.push(template(fileName, `/${clientFile?.file}`));\n }\n }\n\n const loaders = `{${templates.join(\",\")}}`;\n\n const appCssFile = Bun.file(\n `${distDir}/client/${manifest[\"app/client.tsx\"].css}`,\n );\n const appCSSContent = await appCssFile.text();\n\n async function requestHandler(req: Request) {\n const { pathname } = new URL(req.url);\n\n const pattern = new URLPattern({\n pathname: \"/*.:filetype(png|txt|js|css|jpg|svg|jpeg|ico|ttf)\",\n });\n\n const isWellKnownFile = pathname.startsWith(\"/.well-known\");\n const isFileRequest = pattern.test({ pathname }) || isWellKnownFile;\n\n const isApi = pathname.startsWith(\"/api\");\n\n if (isFileRequest && !isApi) {\n const url = new URL(req.url);\n const filePath = req.url.replace(url.origin, \"\").split(\"?\")[0];\n try {\n const file = Bun.file(\n `${distDir}/client${filePath.replace(\"/assets/assets\", \"/assets\")}`,\n );\n if (!file.exists() && url.pathname.includes(\".js\")) {\n return new Response(\"window.location.reload();export {}\", {\n headers: { \"Content-Type\": \"application/javascript\" },\n });\n }\n const etag = generateETag(file.lastModified);\n return new Response(file.stream(), {\n headers: {\n \"Content-Type\": file.type,\n \"Cache-Control\": \"public, max-age=31536000, must-revalidate\",\n \"Content-Length\": String(file.size),\n ETag: etag,\n },\n });\n } catch (error) {\n return new Response(\"Not found\", { status: 404 });\n }\n }\n\n const handler = app.fetch.bind(app);\n\n try {\n const result = await handler(req);\n if (result instanceof Response) {\n return result;\n } else {\n const styles = [];\n\n styles.push({\n content: appCSSContent,\n });\n\n const getStyles = async (currentViews: string[]) => {\n if (!currentViews) {\n return createStyles([]);\n }\n for (const view of currentViews) {\n const clientFile = manifest[`app/views/${view}.tsx`];\n for (const cssFile of clientFile?.css ?? []) {\n const css = Bun.file(`${process.env.DIST_DIR}/client/${cssFile}`);\n styles.push({\n id: cssFile,\n content: await css.text(),\n });\n }\n }\n return createStyles(styles);\n };\n\n return await result({\n getStyles,\n bootstrapModules: [`/${manifest[\"app/client.tsx\"].file}`],\n loaders,\n viewImportMap,\n ogMap,\n cssManifest,\n });\n }\n } catch (err) {\n console.error(err);\n if (pathname.startsWith(\"/api\")) {\n return new Response(JSON.stringify({ error: err.message }), {\n status: 500,\n headers: { \"Content-Type\": \"application/json\" },\n });\n }\n return new Response(err.stack, { status: 500 });\n }\n }\n\n const server = Bun.serve({\n fetch: async (req, server) => {\n if (!req.headers.get(\"x-forwarded-for\")) {\n const ip = server.requestIP(req);\n req.headers.set(\"x-forwarded-for\", ip.address);\n }\n return await requestHandler(req);\n },\n idleTimeout: Number(process.env.SERVER_IDLE_TIMEOUT ?? 10),\n port: process.env.PORT || 5173,\n });\n\n console.log(\"Production server running on\", server.url.href);\n\n return server;\n}\n",
|
|
9
9
|
"export function generateETag(lastModified: number): string {\n // Assuming the last modified timestamp is in milliseconds\n const lastModifiedStr = lastModified.toString();\n\n const hasher = new Bun.CryptoHasher(\"sha1\");\n hasher.update(lastModifiedStr);\n const hash = hasher.digest(\"hex\");\n\n return hash;\n}\n",
|
|
10
10
|
"import { URLPattern } from \"./dist/urlpattern.js\";\n\nexport { URLPattern };\n\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = URLPattern;\n}\n"
|
|
11
11
|
],
|
|
12
|
-
"mappings": "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
|
|
13
|
-
"debugId": "
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "FB19555DEF06BBEB64756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ServiceProvider } from "../ServiceProvider";
|
|
2
|
-
import { FileStorageDriver } from "./drivers/FileStorageDriver";
|
|
2
|
+
import type { FileStorageDriver } from "./drivers/FileStorageDriver";
|
|
3
3
|
export declare class FileStorageServiceProvider extends ServiceProvider {
|
|
4
4
|
driver: FileStorageDriver;
|
|
5
5
|
boot(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileStorageServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/file-storage/FileStorageServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"FileStorageServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/file-storage/FileStorageServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,qBAAa,0BAA2B,SAAQ,eAAe;IAC7D,MAAM,EAAE,iBAAiB,CAA0B;IAEnD,IAAI;CACL"}
|