@stacksjs/calendar-api 0.72.56 → 0.72.60

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.
Files changed (2) hide show
  1. package/dist/index.js +5 -5
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import{format as E}from"@stacksjs/datetime";var p="YYYYMMDD",h="YYYYMMDDThhmmss";function z($){let M="https://calendar.google.com/calendar/render?action=TEMPLATE",K=F($.from,"UTC"),J=F($.to,"UTC"),Y=$.allDay?p:h;if(M=`${M}&dates=${E(K,Y)}/${E(J,Y)}`,$.timezone)M=`${M}&ctz=${$.timezone}`;if(M=`${M}&text=${encodeURIComponent($.title)}`,$.description)M=`${M}&details=${encodeURIComponent($.description)}`;if($.address)M=`${M}&location=${encodeURIComponent($.address)}`;return M}function F($,M){let K=typeof $==="string"?new Date($):$;if(!M)return K;let J=K.toLocaleString("en-US",{timeZone:M}),Y=new Date(J);return Number.isNaN(Y.getTime())?K:Y}import{format as j}from"@stacksjs/datetime";import{createHash as m}from"crypto";function k($){return{toString:()=>m("md5").update($).digest("hex")}}function I($){return S($).join(`\r
3
- `)}function x($){return c(S($))}function S($){let J=`UID:${o($)}`,Y=`SUMMARY:${$.title}`,N=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:Spatie calendar-links","BEGIN:VEVENT",J,Y],Q=`${$.timezone||"PST"}:YYYYMMDDThhmmss`,V=$.allDay?"YYYYMMDD":Q;if($.allDay)N.push(`DTSTAMP;TZID=${j($.from,V)}`),N.push(`DTSTART:${j($.from,V)}`),N.push(`DURATION:P${Math.max(1,u($.from,$.to))}D`);else N.push(`DTSTAMP;TZID=${j($.from,V)}`),N.push(`DTSTART;TZID=${j($.from,V)}`),N.push(`DTEND;TZID=${j($.to,V)}`);if($.description)N.push(`X-ALT-DESC;FMTTYPE=text/html:${$.description}`);if($.address)N.push(`LOCATION:${$.address}`);return N.push("END:VEVENT"),N.push("END:VCALENDAR"),N}function c($){return`data:text/calendar;charset=utf8;base64,${btoa($.join(`\r
4
- `))}`}function u($,M){let J=Date.UTC($.getFullYear(),$.getMonth(),$.getDate()),Y=Date.UTC(M.getFullYear(),M.getMonth(),M.getDate());return Math.floor((Y-J)/86400000)}function o($){let K=j($.from,"YYYY-MM-DDThh:mm:ss+00:00"),J=j($.to,"YYYY-MM-DDThh:mm:ss+00:00");return k(`${K}${J}${$.title}`).toString()}import{format as q}from"@stacksjs/datetime";function v($){let Y="https://outlook.live.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent",N=T($.from,"UTC"),U=T($.to,"UTC"),Q=$.allDay?"YYYY-MM-DD":"YYYY-MM-DDThh:mm:ss";if(Y=$.allDay?`${Y}&startdt=${q(N,Q)}`:`${Y}&startdt=${q(N,Q)}Z`,Y=$.allDay?`${Y}&enddt=${q(U,Q)}`:`${Y}&enddt=${q(U,Q)}Z`,$.allDay)Y=`${Y}&allday=true`;if(Y=`${Y}&subject=${encodeURIComponent($.title)}`,$.description)Y=`${Y}&body=${encodeURIComponent($.description)}`;if($.address)Y=`${Y}&location=${encodeURIComponent($.address)}`;return Y}function T($,M){return new Date((typeof $==="string"?new Date($):$).toLocaleString("en-US",{timeZone:M}))}import{format as O}from"@stacksjs/datetime";function w($){let J="https://calendar.yahoo.com/?v=60&view=d&type=20",Y=g($.from,"UTC"),N=g($.to,"UTC"),U=$.allDay?"YYYYMMDD":"YYYYMMDDThhmmss";if($.allDay)J=`${J}&ST=${O($.from,U)}`,J=`${J}&DUR=allday`,J=`${J}&ET=${O($.to,U)}`;else J=`${J}&ST=${O(Y,U)}Z`,J=`${J}&ET=${O(N,U)}Z`;if(J=`${J}&TITLE=${encodeURIComponent($.title)}`,$.description)J=`${J}&DESC=${encodeURIComponent($.description)}`;if($.address)J=`${J}&in_loc=${encodeURIComponent($.address)}`;return J}function g($,M){return new Date((typeof $==="string"?new Date($):$).toLocaleString("en-US",{timeZone:M}))}function _($){return $.replace(/\\/g,"\\\\").replace(/;/g,"\\;").replace(/,/g,"\\,").replace(/\r?\n/g,"\\n")}function f($){if(Buffer.byteLength($,"utf8")<=75)return $;let M=[],K="";for(let J of $){let Y=M.length===0?75:74;if(Buffer.byteLength(K+J,"utf8")>Y)M.push(K),K=J;else K+=J}if(K)M.push(K);return M.map((J,Y)=>Y===0?J:` ${J}`).join(`\r
5
- `)}function b($){return`${$.toISOString().replace(/[-:]/g,"").slice(0,15)}Z`}function y($){return $.toISOString().replace(/-/g,"").slice(0,8)}function s($){let M=["BEGIN:VCALENDAR","VERSION:2.0",`PRODID:${$.prodId??"-//Stacks//calendar-api//EN"}`,"CALSCALE:GREGORIAN","METHOD:PUBLISH",`X-WR-CALNAME:${_($.name)}`];if($.timezone)M.push(`X-WR-TIMEZONE:${$.timezone}`);M.push(`REFRESH-INTERVAL;VALUE=DURATION:${$.refreshInterval??"PT1H"}`);for(let K of $.events){if(M.push("BEGIN:VEVENT"),M.push(`UID:${_(K.uid)}`),M.push(`DTSTAMP:${b(K.updatedAt??K.start)}`),M.push(`SUMMARY:${_(K.title)}`),K.allDay){M.push(`DTSTART;VALUE=DATE:${y(K.start)}`);let J=new Date(K.end);J.setUTCDate(J.getUTCDate()+1),M.push(`DTEND;VALUE=DATE:${y(J)}`)}else M.push(`DTSTART:${b(K.start)}`),M.push(`DTEND:${b(K.end)}`);if(K.rrule)M.push(`RRULE:${K.rrule.replace(/^RRULE:/i,"")}`);if(K.description)M.push(`DESCRIPTION:${_(K.description)}`);if(K.location)M.push(`LOCATION:${_(K.location)}`);if(K.url)M.push(`URL:${K.url}`);if(K.sequence!==void 0)M.push(`SEQUENCE:${K.sequence}`);M.push("END:VEVENT")}return M.push("END:VCALENDAR"),M.map(f).join(`\r
6
- `)}function d($="calendar.ics"){return{"Content-Type":"text/calendar; charset=utf-8","Content-Disposition":`inline; filename="${$}"`,"Cache-Control":"public, max-age=300"}}var L=["SU","MO","TU","WE","TH","FR","SA"];function l($){let M={};for(let Y of $.replace(/^RRULE:/i,"").split(";")){let N=Y.indexOf("=");if(N===-1)continue;M[Y.slice(0,N).toUpperCase()]=Y.slice(N+1)}let K=M.FREQ?.toUpperCase();if(K!=="DAILY"&&K!=="WEEKLY"&&K!=="MONTHLY"&&K!=="YEARLY")return null;let J={freq:K,interval:Math.max(1,Number(M.INTERVAL??1)||1)};if(M.COUNT)J.count=Math.max(1,Number(M.COUNT)||1);if(M.UNTIL){let Y=M.UNTIL.match(/^(\d{4})(\d{2})(\d{2})(?:T(\d{2})(\d{2})(\d{2})Z?)?$/);if(Y)J.until=new Date(Date.UTC(Number(Y[1]),Number(Y[2])-1,Number(Y[3]),Number(Y[4]??23),Number(Y[5]??59),Number(Y[6]??59)))}if(M.BYDAY)J.byDay=M.BYDAY.split(",").map((Y)=>Y.trim().toUpperCase()).filter(Boolean);if(M.BYMONTHDAY)J.byMonthDay=M.BYMONTHDAY.split(",").map(Number).filter((Y)=>Number.isInteger(Y)&&Y>=1&&Y<=31);return J}function C($,M){let K=new Date(M);return K.setUTCHours($.getUTCHours(),$.getUTCMinutes(),$.getUTCSeconds(),0),K}function i($,M,K,J){let Y=L.indexOf(K);if(Y===-1)return null;if(J>0){let P=new Date(Date.UTC($,M,1)),B=1+(Y-P.getUTCDay()+7)%7+(J-1)*7,G=new Date(Date.UTC($,M,B));return G.getUTCMonth()===M?G:null}let N=new Date(Date.UTC($,M+1,0)),U=(N.getUTCDay()-Y+7)%7,Q=N.getUTCDate()-U+(J+1)*7,V=new Date(Date.UTC($,M,Q));return V.getUTCMonth()===M&&Q>=1?V:null}function a($,M,K,J){let Y=[],N=1000,U=0,Q=(P)=>{if($.until&&P.getTime()>$.until.getTime())return!1;if($.count!==void 0&&U>=$.count)return!1;if(U++,P.getTime()>=K.getTime()&&P.getTime()<=J.getTime())Y.push(P);return Y.length<1000},V=(P)=>P.getTime()>J.getTime()||$.until!==void 0&&P.getTime()>$.until.getTime();if($.freq==="DAILY"){for(let P=new Date(M);;P.setUTCDate(P.getUTCDate()+$.interval))if(V(P)||!Q(new Date(P)))break;return Y}if($.freq==="WEEKLY"){let P=$.byDay?.length?$.byDay:[L[M.getUTCDay()]],X=new Date(M);X.setUTCDate(X.getUTCDate()-X.getUTCDay());$:for(let B=new Date(X);;B.setUTCDate(B.getUTCDate()+7*$.interval)){for(let G of[...P].sort((W,Z)=>L.indexOf(W)-L.indexOf(Z))){let W=L.indexOf(G);if(W===-1)continue;let Z=C(M,new Date(Date.UTC(B.getUTCFullYear(),B.getUTCMonth(),B.getUTCDate()+W)));if(Z.getTime()<M.getTime())continue;if(V(Z)||!Q(Z))break $}if(B.getTime()>J.getTime())break}return Y}if($.freq==="MONTHLY"){$:for(let P=0;;P+=$.interval){let X=M.getUTCFullYear(),B=M.getUTCMonth()+P,G=[];if($.byDay?.length)for(let H of $.byDay){let R=H.match(/^(-?\d)?([A-Z]{2})$/);if(!R)continue;let D=Number(R[1]??1),A=i(X,B,R[2],D);if(A)G.push(C(M,A))}else if($.byMonthDay?.length)for(let H of $.byMonthDay){let R=new Date(Date.UTC(X,B,H));if(R.getUTCDate()===H)G.push(C(M,R))}else{let H=new Date(Date.UTC(X,B,M.getUTCDate()));if(H.getUTCDate()===M.getUTCDate())G.push(C(M,H))}let W=!1;for(let H of G.sort((R,D)=>R.getTime()-D.getTime())){if(H.getTime()<M.getTime())continue;if(W=!0,V(H)||!Q(H))break $}if(new Date(Date.UTC(X,B,1)).getTime()>J.getTime()&&!W)break}return Y}for(let P=0;;P+=$.interval){let X=new Date(Date.UTC(M.getUTCFullYear()+P,M.getUTCMonth(),M.getUTCDate(),M.getUTCHours(),M.getUTCMinutes(),M.getUTCSeconds()));if(V(X)||!Q(X))break}return Y}function B$($){return z($)}function H$($){return x($)}function G$($){return I($)}function R$($){return v($)}function W$($){return w($)}export{l as parseRRule,f as foldIcsLine,W$ as exportCalendarYahoo,R$ as exportCalendarOutlook,G$ as exportCalendarIcsBody,H$ as exportCalendarIcs,B$ as exportCalendarGoogle,a as expandRecurrence,_ as escapeIcsText,d as calendarFeedHeaders,s as buildCalendarFeed};
2
+ import{format as I}from"@stacksjs/datetime";var Z="YYYYMMDD",B="YYYYMMDDThhmmss";function A(e){let t="https://calendar.google.com/calendar/render?action=TEMPLATE",o=M(e.from,"UTC"),r=M(e.to,"UTC"),n=e.allDay?Z:B;if(t=`${t}&dates=${I(o,n)}/${I(r,n)}`,e.timezone)t=`${t}&ctz=${e.timezone}`;if(t=`${t}&text=${encodeURIComponent(e.title)}`,e.description)t=`${t}&details=${encodeURIComponent(e.description)}`;if(e.address)t=`${t}&location=${encodeURIComponent(e.address)}`;return t}function M(e,t){let o=typeof e==="string"?new Date(e):e;if(!t)return o;let r=o.toLocaleString("en-US",{timeZone:t}),n=new Date(r);return Number.isNaN(n.getTime())?o:n}import{format as g}from"@stacksjs/datetime";import{createHash as H}from"crypto";function P(e){return{toString:()=>H("md5").update(e).digest("hex")}}function N(e){return b(e).join(`\r
3
+ `)}function S(e){return _(b(e))}function b(e){let r=`UID:${G(e)}`,n=`SUMMARY:${e.title}`,a=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:Spatie calendar-links","BEGIN:VEVENT",r,n],i=`${e.timezone||"PST"}:YYYYMMDDThhmmss`,u=e.allDay?"YYYYMMDD":i;if(e.allDay)a.push(`DTSTAMP;TZID=${g(e.from,u)}`),a.push(`DTSTART:${g(e.from,u)}`),a.push(`DURATION:P${Math.max(1,q(e.from,e.to))}D`);else a.push(`DTSTAMP;TZID=${g(e.from,u)}`),a.push(`DTSTART;TZID=${g(e.from,u)}`),a.push(`DTEND;TZID=${g(e.to,u)}`);if(e.description)a.push(`X-ALT-DESC;FMTTYPE=text/html:${e.description}`);if(e.address)a.push(`LOCATION:${e.address}`);return a.push("END:VEVENT"),a.push("END:VCALENDAR"),a}function _(e){return`data:text/calendar;charset=utf8;base64,${btoa(e.join(`\r
4
+ `))}`}function q(e,t){let r=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),n=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());return Math.floor((n-r)/86400000)}function G(e){let o=g(e.from,"YYYY-MM-DDThh:mm:ss+00:00"),r=g(e.to,"YYYY-MM-DDThh:mm:ss+00:00");return P(`${o}${r}${e.title}`).toString()}import{format as U}from"@stacksjs/datetime";function F(e){let n="https://outlook.live.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent",a=x(e.from,"UTC"),c=x(e.to,"UTC"),i=e.allDay?"YYYY-MM-DD":"YYYY-MM-DDThh:mm:ss";if(n=e.allDay?`${n}&startdt=${U(a,i)}`:`${n}&startdt=${U(a,i)}Z`,n=e.allDay?`${n}&enddt=${U(c,i)}`:`${n}&enddt=${U(c,i)}Z`,e.allDay)n=`${n}&allday=true`;if(n=`${n}&subject=${encodeURIComponent(e.title)}`,e.description)n=`${n}&body=${encodeURIComponent(e.description)}`;if(e.address)n=`${n}&location=${encodeURIComponent(e.address)}`;return n}function x(e,t){return new Date((typeof e==="string"?new Date(e):e).toLocaleString("en-US",{timeZone:t}))}import{format as E}from"@stacksjs/datetime";function v(e){let r="https://calendar.yahoo.com/?v=60&view=d&type=20",n=O(e.from,"UTC"),a=O(e.to,"UTC"),c=e.allDay?"YYYYMMDD":"YYYYMMDDThhmmss";if(e.allDay)r=`${r}&ST=${E(e.from,c)}`,r=`${r}&DUR=allday`,r=`${r}&ET=${E(e.to,c)}`;else r=`${r}&ST=${E(n,c)}Z`,r=`${r}&ET=${E(a,c)}Z`;if(r=`${r}&TITLE=${encodeURIComponent(e.title)}`,e.description)r=`${r}&DESC=${encodeURIComponent(e.description)}`;if(e.address)r=`${r}&in_loc=${encodeURIComponent(e.address)}`;return r}function O(e,t){return new Date((typeof e==="string"?new Date(e):e).toLocaleString("en-US",{timeZone:t}))}function C(e){return e.replace(/\\/g,"\\\\").replace(/;/g,"\\;").replace(/,/g,"\\,").replace(/\r?\n/g,"\\n")}function V(e){if(Buffer.byteLength(e,"utf8")<=75)return e;let t=[],o="";for(let r of e){let n=t.length===0?75:74;if(Buffer.byteLength(o+r,"utf8")>n)t.push(o),o=r;else o+=r}if(o)t.push(o);return t.map((r,n)=>n===0?r:` ${r}`).join(`\r
5
+ `)}function R(e){return`${e.toISOString().replace(/[-:]/g,"").slice(0,15)}Z`}function w(e){return e.toISOString().replace(/-/g,"").slice(0,8)}function z(e){let t=["BEGIN:VCALENDAR","VERSION:2.0",`PRODID:${e.prodId??"-//Stacks//calendar-api//EN"}`,"CALSCALE:GREGORIAN","METHOD:PUBLISH",`X-WR-CALNAME:${C(e.name)}`];if(e.timezone)t.push(`X-WR-TIMEZONE:${e.timezone}`);t.push(`REFRESH-INTERVAL;VALUE=DURATION:${e.refreshInterval??"PT1H"}`);for(let o of e.events){if(t.push("BEGIN:VEVENT"),t.push(`UID:${C(o.uid)}`),t.push(`DTSTAMP:${R(o.updatedAt??o.start)}`),t.push(`SUMMARY:${C(o.title)}`),o.allDay){t.push(`DTSTART;VALUE=DATE:${w(o.start)}`);let r=new Date(o.end);r.setUTCDate(r.getUTCDate()+1),t.push(`DTEND;VALUE=DATE:${w(r)}`)}else t.push(`DTSTART:${R(o.start)}`),t.push(`DTEND:${R(o.end)}`);if(o.rrule)t.push(`RRULE:${o.rrule.replace(/^RRULE:/i,"")}`);if(o.description)t.push(`DESCRIPTION:${C(o.description)}`);if(o.location)t.push(`LOCATION:${C(o.location)}`);if(o.url)t.push(`URL:${o.url}`);if(o.sequence!==void 0)t.push(`SEQUENCE:${o.sequence}`);t.push("END:VEVENT")}return t.push("END:VCALENDAR"),t.map(V).join(`\r
6
+ `)}function W(e="calendar.ics"){return{"Content-Type":"text/calendar; charset=utf-8","Content-Disposition":`inline; filename="${e}"`,"Cache-Control":"public, max-age=300"}}var h=["SU","MO","TU","WE","TH","FR","SA"];function j(e){let t={};for(let n of e.replace(/^RRULE:/i,"").split(";")){let a=n.indexOf("=");if(a===-1)continue;t[n.slice(0,a).toUpperCase()]=n.slice(a+1)}let o=t.FREQ?.toUpperCase();if(o!=="DAILY"&&o!=="WEEKLY"&&o!=="MONTHLY"&&o!=="YEARLY")return null;let r={freq:o,interval:Math.max(1,Number(t.INTERVAL??1)||1)};if(t.COUNT)r.count=Math.max(1,Number(t.COUNT)||1);if(t.UNTIL){let n=t.UNTIL.match(/^(\d{4})(\d{2})(\d{2})(?:T(\d{2})(\d{2})(\d{2})Z?)?$/);if(n)r.until=new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3]),Number(n[4]??23),Number(n[5]??59),Number(n[6]??59)))}if(t.BYDAY)r.byDay=t.BYDAY.split(",").map((n)=>n.trim().toUpperCase()).filter(Boolean);if(t.BYMONTHDAY)r.byMonthDay=t.BYMONTHDAY.split(",").map(Number).filter((n)=>Number.isInteger(n)&&n>=1&&n<=31);return r}function y(e,t){let o=new Date(t);return o.setUTCHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),0),o}function K(e,t,o,r){let n=h.indexOf(o);if(n===-1)return null;if(r>0){let s=new Date(Date.UTC(e,t,1)),D=1+(n-s.getUTCDay()+7)%7+(r-1)*7,d=new Date(Date.UTC(e,t,D));return d.getUTCMonth()===t?d:null}let a=new Date(Date.UTC(e,t+1,0)),c=(a.getUTCDay()-n+7)%7,i=a.getUTCDate()-c+(r+1)*7,u=new Date(Date.UTC(e,t,i));return u.getUTCMonth()===t&&i>=1?u:null}function X(e,t,o,r){let n=[],a=1000,c=0,i=(s)=>{if(e.until&&s.getTime()>e.until.getTime())return!1;if(e.count!==void 0&&c>=e.count)return!1;if(c++,s.getTime()>=o.getTime()&&s.getTime()<=r.getTime())n.push(s);return n.length<1000},u=(s)=>s.getTime()>r.getTime()||e.until!==void 0&&s.getTime()>e.until.getTime();if(e.freq==="DAILY"){for(let s=new Date(t);;s.setUTCDate(s.getUTCDate()+e.interval))if(u(s)||!i(new Date(s)))break;return n}if(e.freq==="WEEKLY"){let s=e.byDay?.length?e.byDay:[h[t.getUTCDay()]],m=new Date(t);m.setUTCDate(m.getUTCDate()-m.getUTCDay());e:for(let D=new Date(m);;D.setUTCDate(D.getUTCDate()+7*e.interval)){for(let d of[...s].sort((T,l)=>h.indexOf(T)-h.indexOf(l))){let T=h.indexOf(d);if(T===-1)continue;let l=y(t,new Date(Date.UTC(D.getUTCFullYear(),D.getUTCMonth(),D.getUTCDate()+T)));if(l.getTime()<t.getTime())continue;if(u(l)||!i(l))break e}if(D.getTime()>r.getTime())break}return n}if(e.freq==="MONTHLY"){e:for(let s=0;;s+=e.interval){let m=t.getUTCFullYear(),D=t.getUTCMonth()+s,d=[];if(e.byDay?.length)for(let f of e.byDay){let p=f.match(/^(-?\d)?([A-Z]{2})$/);if(!p)continue;let Y=Number(p[1]??1),L=K(m,D,p[2],Y);if(L)d.push(y(t,L))}else if(e.byMonthDay?.length)for(let f of e.byMonthDay){let p=new Date(Date.UTC(m,D,f));if(p.getUTCDate()===f)d.push(y(t,p))}else{let f=new Date(Date.UTC(m,D,t.getUTCDate()));if(f.getUTCDate()===t.getUTCDate())d.push(y(t,f))}let T=!1;for(let f of d.sort((p,Y)=>p.getTime()-Y.getTime())){if(f.getTime()<t.getTime())continue;if(T=!0,u(f)||!i(f))break e}if(new Date(Date.UTC(m,D,1)).getTime()>r.getTime()&&!T)break}return n}for(let s=0;;s+=e.interval){let m=new Date(Date.UTC(t.getUTCFullYear()+s,t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()));if(u(m)||!i(m))break}return n}function fe(e){return A(e)}function de(e){return S(e)}function pe(e){return N(e)}function Te(e){return F(e)}function ge(e){return v(e)}export{z as buildCalendarFeed,W as calendarFeedHeaders,C as escapeIcsText,X as expandRecurrence,fe as exportCalendarGoogle,de as exportCalendarIcs,pe as exportCalendarIcsBody,Te as exportCalendarOutlook,ge as exportCalendarYahoo,V as foldIcsLine,j as parseRRule};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/calendar-api",
3
3
  "type": "module",
4
- "version": "0.72.56",
4
+ "version": "0.72.60",
5
5
  "description": "Easily interact with calendar APIs.",
6
6
  "author": "Chris Breuer",
7
7
  "contributors": [
@@ -60,9 +60,9 @@
60
60
  "@stacksjs/stx": "^0.2.219"
61
61
  },
62
62
  "devDependencies": {
63
- "@stacksjs/browser": "0.72.56",
63
+ "@stacksjs/browser": "0.72.60",
64
64
  "better-dx": "^0.2.24",
65
- "@stacksjs/security": "0.72.56"
65
+ "@stacksjs/security": "0.72.60"
66
66
  },
67
67
  "sideEffects": false
68
68
  }