@chaibuilder/sdk 1.2.101 → 1.2.103

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/render.cjs CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("lodash-es"),a=require("./STRINGS-Yl7cSWDc.cjs"),p=require("./jsx-runtime-JYMCiFoE.cjs"),h=require("react"),w=require("tailwind-merge"),x=require("@chaibuilder/runtime"),B=require("@mhsdesign/jit-browser-tailwindcss"),C=require("@tailwindcss/forms"),Y=require("@tailwindcss/typography"),q=require("@tailwindcss/aspect-ratio"),E=require("./plugin-3Y9Uv3RT.cjs");require("tailwindcss-palette-generator");require("./plugin-KIpT3NWi.cjs");const _=(e,n="")=>{const s=e.replace(a.STYLES_KEY,"").split(",").map(i=>i.split(" ").map(l=>{if(l==="")return"";if(l.includes(":")){const o=l.split(":");return o[o.length-1]=n+r.last(o),o.join(":")}return`${n}${l}`}).join(" "));return r.flattenDeep(s).join(" ")},O=e=>{if(!e)return[];try{return JSON.parse(R(e)).filter(t=>!t._type.startsWith("@chai"))}catch{return[{_type:"Paragraph",_id:"error",content:"Invalid JSON. Please check the JSON string."}]}};function R(e){const n=/(asset:\/\/|https:\/\/asset\.localhost\/)(?:localhost\/)?[^"']+/g;return e.replace(n,t=>{const s=decodeURIComponent(t),i=s.indexOf("public");return i!==-1?s.substring(i+6):s})}const K=e=>{const n={};return Object.keys(e).forEach(t=>{r.isString(e[t])&&e[t].startsWith(a.SLOT_KEY)&&(n[t]=e[t].replace(a.SLOT_KEY,"").split(","))}),n},A=r.memoize((e,n)=>{const t=e.replace(a.STYLES_KEY,"").split(","),s=w.twMerge(t[0],t[1]);return n===""?s.replace(a.STYLES_KEY,"").trim():_(s,n).replace(a.STYLES_KEY,"").trim()});function L(e,n){const t=r.get(e,`${n}_attrs`,{});r.has(t,"data-ai-key")&&delete t["data-ai-key"];const s=r.keys(t).join(" ");return r.includes(s,"x-show")&&!r.includes(s,"x-transition")&&(t["x-transition"]=""),t}function N(e,n){const t={};return Object.keys(e).forEach(s=>{if(r.isString(e[s])&&e[s].startsWith(a.STYLES_KEY)){const i=A(e[s],n);t[s]={className:i,...L(e,s)}}}),t}function P(e,n){const t=r.get(e,"_bindings",{});return r.isEmpty(t)?{...e}:(r.each(t,(s,i)=>{r.isString(s)&&r.get(n,s,null)&&(e[i]=r.get(n,s,null))}),e)}function m({blocks:e,parent:n,classPrefix:t="",externalData:s={},blockModifierCallback:i}){const u=e,y=o=>N(o,t),l=n?r.filter(e,{_parent:n}):r.filter(e,o=>r.isEmpty(o._parent));return p.jsxRuntimeExports.jsx(p.jsxRuntimeExports.Fragment,{children:h.Children.toArray(l.map((o,j)=>{const d=K(o),g={};r.isEmpty(d)||Object.keys(d).forEach(c=>{g[c]=h.Children.toArray(d[c].map(S=>p.jsxRuntimeExports.jsx(m,{externalData:s,classPrefix:t,blocks:u,parent:S})))});const T=r.filter(u,{_parent:o._id});g.children=T.length>0?p.jsxRuntimeExports.jsx(m,{externalData:s,classPrefix:t,parent:o._id,blocks:u}):null;const f=x.getBlockComponent(o._type);if(f!==null){let c=o;const S=f.component;return c={...f.defaults,...o},i&&(c=i(c)),h.createElement(S,r.omit({blockProps:{},inBuilder:!1,...c,index:j,...P(o,s),...y(c),...g},["_parent"]))}return p.jsxRuntimeExports.jsxs("noscript",{children:[o._type," not found"]})}))})}async function $(e,n,t=[],s="",i=!1){return await B.createTailwindcss({tailwindConfig:{darkMode:"class",safelist:t,theme:E.getChaiBuilderTheme(e),plugins:[C,Y,q,E.chaiBuilderPlugin],corePlugins:{preflight:i},...s?{prefix:`${s}`}:{}}}).generateStylesFromContent(` ${i?"@tailwind base;":""}
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("lodash-es"),a=require("./STRINGS-Yl7cSWDc.cjs"),d=require("./jsx-runtime-JYMCiFoE.cjs"),E=require("react"),x=require("tailwind-merge"),B=require("@chaibuilder/runtime"),C=require("@mhsdesign/jit-browser-tailwindcss"),Y=require("@tailwindcss/forms"),q=require("@tailwindcss/typography"),O=require("@tailwindcss/aspect-ratio"),j=require("./plugin-3Y9Uv3RT.cjs");require("tailwindcss-palette-generator");require("./plugin-KIpT3NWi.cjs");const _=(t,r="")=>{const s=t.replace(a.STYLES_KEY,"").split(",").map(i=>i.split(" ").map(l=>{if(l==="")return"";if(l.includes(":")){const u=l.split(":");return u[u.length-1]=r+n.last(u),u.join(":")}return`${r}${l}`}).join(" "));return n.flattenDeep(s).join(" ")},R=t=>{if(!t)return[];try{return JSON.parse(K(t)).filter(e=>!e._type.startsWith("@chai"))}catch{return[{_type:"Paragraph",_id:"error",content:"Invalid JSON. Please check the JSON string."}]}};function K(t){const r=/(asset:\/\/|https:\/\/asset\.localhost\/)(?:localhost\/)?[^"']+/g;return t.replace(r,e=>{const s=decodeURIComponent(e),i=s.indexOf("public");return i!==-1?s.substring(i+6):s})}const L=t=>{const r={};return Object.keys(t).forEach(e=>{n.isString(t[e])&&t[e].startsWith(a.SLOT_KEY)&&(r[e]=t[e].replace(a.SLOT_KEY,"").split(","))}),r},A=n.memoize((t,r)=>{const e=t.replace(a.STYLES_KEY,"").split(","),s=x.twMerge(e[0],e[1]);return r===""?s.replace(a.STYLES_KEY,"").trim():_(s,r).replace(a.STYLES_KEY,"").trim()});function N(t,r){const e=n.get(t,`${r}_attrs`,{});n.has(e,"data-ai-key")&&delete e["data-ai-key"];const s=n.keys(e).join(" ");return n.includes(s,"x-show")&&!n.includes(s,"x-transition")&&(e["x-transition"]=""),e}function $(t,r){const e={};return Object.keys(t).forEach(s=>{if(n.isString(t[s])&&t[s].startsWith(a.STYLES_KEY)){const i=A(t[s],r);e[s]={className:i,...N(t,s)}}}),e}function P(t,r){const e=n.get(t,"_bindings",{});return n.isEmpty(e)?{...t}:(n.each(e,(s,i)=>{n.isString(s)&&n.get(r,s,null)&&(t[i]=n.get(r,s,null))}),t)}function v(t,r,e){if(n.isEmpty(r))return t;const s=n.cloneDeep(t);return n.forEach(n.keys(s),i=>{n.get(e,["props",i,"i18n"])&&!n.isEmpty(r)&&(s[i]=n.get(s,`${i}-${r}`,s[i]))}),s}function y({blocks:t,parent:r,classPrefix:e="",externalData:s={},blockModifierCallback:i,lang:p}){const f=t,l=o=>$(o,e),u=r?n.filter(t,{_parent:r}):n.filter(t,o=>n.isEmpty(o._parent));return d.jsxRuntimeExports.jsx(d.jsxRuntimeExports.Fragment,{children:E.Children.toArray(u.map((o,T)=>{const S=L(o),h={};n.isEmpty(S)||Object.keys(S).forEach(c=>{h[c]=E.Children.toArray(S[c].map(m=>d.jsxRuntimeExports.jsx(y,{externalData:s,classPrefix:e,blocks:f,parent:m,lang:p})))});const w=n.filter(f,{_parent:o._id});h.children=w.length>0?d.jsxRuntimeExports.jsx(y,{externalData:s,classPrefix:e,parent:o._id,blocks:f,lang:p}):null;const g=B.getBlockComponent(o._type);if(g!==null){let c=o;const m=g.component;return c={...g.defaults,...o},i&&(c=i(c)),E.createElement(m,n.omit({blockProps:{},inBuilder:!1,...c,index:T,...P(v(o,p,g),s),...l(c),...h},["_parent"]))}return d.jsxRuntimeExports.jsxs("noscript",{children:[o._type," not found"]})}))})}async function I(t,r,e=[],s="",i=!1){return await C.createTailwindcss({tailwindConfig:{darkMode:"class",safelist:e,theme:{extend:j.getChaiBuilderTheme(t)},plugins:[Y,q,O,j.chaiBuilderPlugin],corePlugins:{preflight:i},...s?{prefix:`${s}`}:{}}}).generateStylesFromContent(` ${i?"@tailwind base;":""}
2
2
  @tailwind components;
3
- @tailwind utilities;`,n)}const v=(e,n)=>e.map(t=>{const s={};return Object.keys(t).forEach(i=>{r.startsWith(t[i],a.STYLES_KEY)&&(s[i]=_(t[i],n))}),s}),I=(e,n,t="",s=!1)=>$(n,[r.replace(JSON.stringify(v(e,t)),/#styles:/g,"")],[],t,s),J=async(e,n={},t="",s=!0)=>await I(e,n,t,s);exports.RenderChaiBlocks=m;exports.convertToBlocks=O;exports.getStylesForBlocks=J;
3
+ @tailwind utilities;`,r)}const J=(t,r)=>t.map(e=>{const s={};return Object.keys(e).forEach(i=>{n.startsWith(e[i],a.STYLES_KEY)&&(s[i]=_(e[i],r))}),s}),W=(t,r,e="",s=!1)=>I(r,[n.replace(JSON.stringify(J(t,e)),/#styles:,?/g,"")],[],e,s),F=async(t,r={},e="",s=!0)=>await W(t,r,e,s);exports.RenderChaiBlocks=y;exports.convertToBlocks=R;exports.getStylesForBlocks=F;
package/dist/render.d.ts CHANGED
@@ -26,14 +26,15 @@ declare type ChaiBuilderTailwindTheme<T extends Record<string, unknown> = {}> =
26
26
  */
27
27
  export declare const convertToBlocks: (chaiFormatContent: string) => ChaiBlock[];
28
28
 
29
- export declare const getStylesForBlocks: (blocks: ChaiBlock[], theme?: ChaiBuilderTailwindTheme | {}, classPrefix?: string, includeBaseStyles?: boolean) => Promise<string>;
29
+ export declare const getStylesForBlocks: (blocks: ChaiBlock[], theme?: ChaiBuilderTailwindTheme | Record<string, string>, classPrefix?: string, includeBaseStyles?: boolean) => Promise<string>;
30
30
 
31
- export declare function RenderChaiBlocks({ blocks, parent, classPrefix, externalData, blockModifierCallback, }: {
31
+ export declare function RenderChaiBlocks({ blocks, parent, classPrefix, externalData, blockModifierCallback, lang, }: {
32
32
  blocks: ChaiBlock[];
33
33
  parent?: string;
34
34
  classPrefix?: string;
35
35
  externalData?: Record<string, any>;
36
36
  blockModifierCallback?: (block: ChaiBlock) => ChaiBlock;
37
+ lang?: string;
37
38
  }): JSX_2.Element;
38
39
 
39
40
  export { }
package/dist/render.js CHANGED
@@ -1,144 +1,155 @@
1
- import { last as T, flattenDeep as A, memoize as N, filter as h, isEmpty as S, omit as P, isString as _, get as u, each as R, has as $, keys as J, includes as j, replace as W, startsWith as I } from "lodash-es";
2
- import { S as c, a as C } from "./STRINGS-Xxstm-7I.js";
3
- import { j as p } from "./jsx-runtime-Sp0orL4X.js";
4
- import y from "react";
5
- import { twMerge as K } from "tailwind-merge";
6
- import { getBlockComponent as Y } from "@chaibuilder/runtime";
7
- import { createTailwindcss as v } from "@mhsdesign/jit-browser-tailwindcss";
8
- import F from "@tailwindcss/forms";
9
- import L from "@tailwindcss/typography";
10
- import U from "@tailwindcss/aspect-ratio";
11
- import { g as z, c as M } from "./plugin-LKCHtO27.js";
1
+ import { last as $, flattenDeep as N, memoize as P, filter as _, isEmpty as d, omit as R, isString as j, get as l, each as J, cloneDeep as W, forEach as I, keys as x, has as K, includes as C, replace as L, startsWith as Y } from "lodash-es";
2
+ import { S as p, a as B } from "./STRINGS-Xxstm-7I.js";
3
+ import { j as f } from "./jsx-runtime-Sp0orL4X.js";
4
+ import w from "react";
5
+ import { twMerge as v } from "tailwind-merge";
6
+ import { getBlockComponent as F } from "@chaibuilder/runtime";
7
+ import { createTailwindcss as U } from "@mhsdesign/jit-browser-tailwindcss";
8
+ import z from "@tailwindcss/forms";
9
+ import M from "@tailwindcss/typography";
10
+ import q from "@tailwindcss/aspect-ratio";
11
+ import { g as D, c as G } from "./plugin-LKCHtO27.js";
12
12
  import "tailwindcss-palette-generator";
13
13
  import "./plugin-ooqqxWRQ.js";
14
- const E = (s, r = "") => {
15
- const e = s.replace(c, "").split(",").map((n) => n.split(" ").map((a) => {
14
+ const O = (t, r = "") => {
15
+ const e = t.replace(p, "").split(",").map((n) => n.split(" ").map((a) => {
16
16
  if (a === "")
17
17
  return "";
18
18
  if (a.includes(":")) {
19
- const i = a.split(":");
20
- return i[i.length - 1] = r + T(i), i.join(":");
19
+ const c = a.split(":");
20
+ return c[c.length - 1] = r + $(c), c.join(":");
21
21
  }
22
22
  return `${r}${a}`;
23
23
  }).join(" "));
24
- return A(e).join(" ");
25
- }, ft = (s) => {
26
- if (!s)
24
+ return N(e).join(" ");
25
+ }, ht = (t) => {
26
+ if (!t)
27
27
  return [];
28
28
  try {
29
- return JSON.parse(q(s)).filter((t) => !t._type.startsWith("@chai"));
29
+ return JSON.parse(H(t)).filter((s) => !s._type.startsWith("@chai"));
30
30
  } catch {
31
31
  return [{ _type: "Paragraph", _id: "error", content: "Invalid JSON. Please check the JSON string." }];
32
32
  }
33
33
  };
34
- function q(s) {
34
+ function H(t) {
35
35
  const r = /(asset:\/\/|https:\/\/asset\.localhost\/)(?:localhost\/)?[^"']+/g;
36
- return s.replace(r, (t) => {
37
- const e = decodeURIComponent(t), n = e.indexOf("public");
36
+ return t.replace(r, (s) => {
37
+ const e = decodeURIComponent(s), n = e.indexOf("public");
38
38
  return n !== -1 ? e.substring(n + 6) : e;
39
39
  });
40
40
  }
41
- const G = (s) => {
41
+ const Q = (t) => {
42
42
  const r = {};
43
- return Object.keys(s).forEach((t) => {
44
- _(s[t]) && s[t].startsWith(C) && (r[t] = s[t].replace(C, "").split(","));
43
+ return Object.keys(t).forEach((s) => {
44
+ j(t[s]) && t[s].startsWith(B) && (r[s] = t[s].replace(B, "").split(","));
45
45
  }), r;
46
- }, H = N((s, r) => {
47
- const t = s.replace(c, "").split(","), e = K(t[0], t[1]);
48
- return r === "" ? e.replace(c, "").trim() : E(e, r).replace(c, "").trim();
46
+ }, V = P((t, r) => {
47
+ const s = t.replace(p, "").split(","), e = v(s[0], s[1]);
48
+ return r === "" ? e.replace(p, "").trim() : O(e, r).replace(p, "").trim();
49
49
  });
50
- function Q(s, r) {
51
- const t = u(s, `${r}_attrs`, {});
52
- $(t, "data-ai-key") && delete t["data-ai-key"];
53
- const e = J(t).join(" ");
54
- return j(e, "x-show") && !j(e, "x-transition") && (t["x-transition"] = ""), t;
50
+ function X(t, r) {
51
+ const s = l(t, `${r}_attrs`, {});
52
+ K(s, "data-ai-key") && delete s["data-ai-key"];
53
+ const e = x(s).join(" ");
54
+ return C(e, "x-show") && !C(e, "x-transition") && (s["x-transition"] = ""), s;
55
55
  }
56
- function V(s, r) {
57
- const t = {};
58
- return Object.keys(s).forEach((e) => {
59
- if (_(s[e]) && s[e].startsWith(c)) {
60
- const n = H(s[e], r);
61
- t[e] = {
56
+ function Z(t, r) {
57
+ const s = {};
58
+ return Object.keys(t).forEach((e) => {
59
+ if (j(t[e]) && t[e].startsWith(p)) {
60
+ const n = V(t[e], r);
61
+ s[e] = {
62
62
  className: n,
63
- ...Q(s, e)
63
+ ...X(t, e)
64
64
  };
65
65
  }
66
- }), t;
66
+ }), s;
67
67
  }
68
- function X(s, r) {
69
- const t = u(s, "_bindings", {});
70
- return S(t) ? { ...s } : (R(t, (e, n) => {
71
- _(e) && u(r, e, null) && (s[n] = u(r, e, null));
72
- }), s);
68
+ function b(t, r) {
69
+ const s = l(t, "_bindings", {});
70
+ return d(s) ? { ...t } : (J(s, (e, n) => {
71
+ j(e) && l(r, e, null) && (t[n] = l(r, e, null));
72
+ }), t);
73
73
  }
74
- function B({
75
- blocks: s,
74
+ function k(t, r, s) {
75
+ if (d(r))
76
+ return t;
77
+ const e = W(t);
78
+ return I(x(e), (n) => {
79
+ l(s, ["props", n, "i18n"]) && !d(r) && (e[n] = l(e, `${n}-${r}`, e[n]));
80
+ }), e;
81
+ }
82
+ function E({
83
+ blocks: t,
76
84
  parent: r,
77
- classPrefix: t = "",
85
+ classPrefix: s = "",
78
86
  externalData: e = {},
79
- blockModifierCallback: n
87
+ blockModifierCallback: n,
88
+ lang: u
80
89
  }) {
81
- const l = s, w = (i) => V(i, t), a = r ? h(s, { _parent: r }) : h(s, (i) => S(i._parent));
82
- return /* @__PURE__ */ p.jsx(p.Fragment, { children: y.Children.toArray(
83
- a.map((i, O) => {
84
- const f = G(i), m = {};
85
- S(f) || Object.keys(f).forEach((o) => {
86
- m[o] = y.Children.toArray(
87
- f[o].map((g) => /* @__PURE__ */ p.jsx(
88
- B,
90
+ const m = t, a = (i) => Z(i, s), c = r ? _(t, { _parent: r }) : _(t, (i) => d(i._parent));
91
+ return /* @__PURE__ */ f.jsx(f.Fragment, { children: w.Children.toArray(
92
+ c.map((i, T) => {
93
+ const h = Q(i), y = {};
94
+ d(h) || Object.keys(h).forEach((o) => {
95
+ y[o] = w.Children.toArray(
96
+ h[o].map((S) => /* @__PURE__ */ f.jsx(
97
+ E,
89
98
  {
90
99
  externalData: e,
91
- classPrefix: t,
92
- blocks: l,
93
- parent: g
100
+ classPrefix: s,
101
+ blocks: m,
102
+ parent: S,
103
+ lang: u
94
104
  }
95
105
  ))
96
106
  );
97
107
  });
98
- const x = h(l, { _parent: i._id });
99
- m.children = x.length > 0 ? /* @__PURE__ */ p.jsx(
100
- B,
108
+ const A = _(m, { _parent: i._id });
109
+ y.children = A.length > 0 ? /* @__PURE__ */ f.jsx(
110
+ E,
101
111
  {
102
112
  externalData: e,
103
- classPrefix: t,
113
+ classPrefix: s,
104
114
  parent: i._id,
105
- blocks: l
115
+ blocks: m,
116
+ lang: u
106
117
  }
107
118
  ) : null;
108
- const d = Y(i._type);
109
- if (d !== null) {
119
+ const g = F(i._type);
120
+ if (g !== null) {
110
121
  let o = i;
111
- const g = d.component;
112
- return o = { ...d.defaults, ...i }, n && (o = n(o)), y.createElement(
113
- g,
114
- P(
122
+ const S = g.component;
123
+ return o = { ...g.defaults, ...i }, n && (o = n(o)), w.createElement(
124
+ S,
125
+ R(
115
126
  {
116
127
  blockProps: {},
117
128
  inBuilder: !1,
118
129
  ...o,
119
- index: O,
120
- ...X(i, e),
121
- ...w(o),
122
- ...m
130
+ index: T,
131
+ ...b(k(i, u, g), e),
132
+ ...a(o),
133
+ ...y
123
134
  },
124
135
  ["_parent"]
125
136
  )
126
137
  );
127
138
  }
128
- return /* @__PURE__ */ p.jsxs("noscript", { children: [
139
+ return /* @__PURE__ */ f.jsxs("noscript", { children: [
129
140
  i._type,
130
141
  " not found"
131
142
  ] });
132
143
  })
133
144
  ) });
134
145
  }
135
- async function Z(s, r, t = [], e = "", n = !1) {
136
- return await v({
146
+ async function tt(t, r, s = [], e = "", n = !1) {
147
+ return await U({
137
148
  tailwindConfig: {
138
149
  darkMode: "class",
139
- safelist: t,
140
- theme: z(s),
141
- plugins: [F, L, U, M],
150
+ safelist: s,
151
+ theme: { extend: D(t) },
152
+ plugins: [z, M, q, G],
142
153
  corePlugins: { preflight: n },
143
154
  ...e ? { prefix: `${e}` } : {}
144
155
  }
@@ -149,20 +160,20 @@ async function Z(s, r, t = [], e = "", n = !1) {
149
160
  r
150
161
  );
151
162
  }
152
- const D = (s, r) => s.map((t) => {
163
+ const st = (t, r) => t.map((s) => {
153
164
  const e = {};
154
- return Object.keys(t).forEach((n) => {
155
- I(t[n], c) && (e[n] = E(t[n], r));
165
+ return Object.keys(s).forEach((n) => {
166
+ Y(s[n], p) && (e[n] = O(s[n], r));
156
167
  }), e;
157
- }), b = (s, r, t = "", e = !1) => Z(
168
+ }), et = (t, r, s = "", e = !1) => tt(
158
169
  r,
159
- [W(JSON.stringify(D(s, t)), /#styles:/g, "")],
170
+ [L(JSON.stringify(st(t, s)), /#styles:,?/g, "")],
160
171
  [],
161
- t,
172
+ s,
162
173
  e
163
- ), mt = async (s, r = {}, t = "", e = !0) => await b(s, r, t, e);
174
+ ), yt = async (t, r = {}, s = "", e = !0) => await et(t, r, s, e);
164
175
  export {
165
- B as RenderChaiBlocks,
166
- ft as convertToBlocks,
167
- mt as getStylesForBlocks
176
+ E as RenderChaiBlocks,
177
+ ht as convertToBlocks,
178
+ yt as getStylesForBlocks
168
179
  };
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "author": "Suraj Air",
6
6
  "license": "BSD-3-Clause",
7
7
  "homepage": "https://chaibuilder.com",
8
- "version": "1.2.101",
8
+ "version": "1.2.103",
9
9
  "type": "module",
10
10
  "repository": {
11
11
  "type": "git",
@@ -147,7 +147,6 @@
147
147
  "@tanstack/eslint-plugin-query": "^5.8.4",
148
148
  "@testing-library/react": "^16.0.0",
149
149
  "@testing-library/react-hooks": "^8.0.1",
150
- "@types/better-sqlite3": "^7.6.7",
151
150
  "@types/jest": "^29.5.7",
152
151
  "@types/lodash": "^4.14.200",
153
152
  "@types/node": "^20.8.10",
@@ -160,7 +159,6 @@
160
159
  "autoprefixer": "^10.4.16",
161
160
  "axios": "^1.7.7",
162
161
  "better-docs": "^2.7.2",
163
- "better-sqlite3": "^9.1.1",
164
162
  "cheerio": "1.0.0-rc.12",
165
163
  "dotenv": "^16.4.5",
166
164
  "drizzle-kit": "^0.20.4",