@paywithglide/glide-react 0.0.10 → 0.0.11

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.
@@ -77,8 +77,14 @@ export type GlideDepositWalletProvider = {
77
77
  export type GlideDepositOptions = {
78
78
  app: string;
79
79
  recipient?: Hex;
80
- mode?: "deposit" | "withdraw" | "pay";
80
+ mode?: "deposit" | "withdraw" | "pay" | "call";
81
81
  amount?: string;
82
+ evm?: {
83
+ chainId: number;
84
+ to: Hex;
85
+ data?: Hex;
86
+ value?: bigint;
87
+ };
82
88
  preferGaslessPayment?: boolean;
83
89
  walletProvider?: GlideDepositWalletProvider;
84
90
  onSuccess?: (hash: Hex) => void;
@@ -88,6 +94,7 @@ export declare class GlideDeposit {
88
94
  opts: GlideDepositOptions;
89
95
  constructor(opts: GlideDepositOptions);
90
96
  open: () => void;
97
+ get externalUrl(): string;
91
98
  private initialize;
92
99
  private destroy;
93
100
  private get baseUrl();
Binary file
package/dist/glide.js CHANGED
@@ -1,12 +1,168 @@
1
- var E = Object.defineProperty;
2
- var I = (i, t, e) => t in i ? E(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
- var p = (i, t, e) => I(i, typeof t != "symbol" ? t + "" : t, e);
4
- import { useMemo as P } from "react";
5
- class D {
1
+ var C = Object.defineProperty;
2
+ var G = (s, t, e) => t in s ? C(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
+ var p = (s, t, e) => G(s, typeof t != "symbol" ? t + "" : t, e);
4
+ import { useMemo as m } from "react";
5
+ function H(s, { strict: t = !0 } = {}) {
6
+ return !s || typeof s != "string" ? !1 : t ? /^0x[0-9a-fA-F]*$/.test(s) : s.startsWith("0x");
7
+ }
8
+ function z(s) {
9
+ return H(s, { strict: !1 }) ? Math.ceil((s.length - 2) / 2) : s.length;
10
+ }
11
+ const T = "2.21.51";
12
+ let u = {
13
+ getDocsUrl: ({ docsBaseUrl: s, docsPath: t = "", docsSlug: e }) => t ? `${s ?? "https://viem.sh"}${t}${e ? `#${e}` : ""}` : void 0,
14
+ version: `viem@${T}`
15
+ };
16
+ class l extends Error {
17
+ constructor(t, e = {}) {
18
+ var a;
19
+ const i = (() => {
20
+ var d;
21
+ return e.cause instanceof l ? e.cause.details : (d = e.cause) != null && d.message ? e.cause.message : e.details;
22
+ })(), n = e.cause instanceof l && e.cause.docsPath || e.docsPath, r = (a = u.getDocsUrl) == null ? void 0 : a.call(u, { ...e, docsPath: n }), o = [
23
+ t || "An error occurred.",
24
+ "",
25
+ ...e.metaMessages ? [...e.metaMessages, ""] : [],
26
+ ...r ? [`Docs: ${r}`] : [],
27
+ ...i ? [`Details: ${i}`] : [],
28
+ ...u.version ? [`Version: ${u.version}`] : []
29
+ ].join(`
30
+ `);
31
+ super(o, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
32
+ enumerable: !0,
33
+ configurable: !0,
34
+ writable: !0,
35
+ value: void 0
36
+ }), Object.defineProperty(this, "docsPath", {
37
+ enumerable: !0,
38
+ configurable: !0,
39
+ writable: !0,
40
+ value: void 0
41
+ }), Object.defineProperty(this, "metaMessages", {
42
+ enumerable: !0,
43
+ configurable: !0,
44
+ writable: !0,
45
+ value: void 0
46
+ }), Object.defineProperty(this, "shortMessage", {
47
+ enumerable: !0,
48
+ configurable: !0,
49
+ writable: !0,
50
+ value: void 0
51
+ }), Object.defineProperty(this, "version", {
52
+ enumerable: !0,
53
+ configurable: !0,
54
+ writable: !0,
55
+ value: void 0
56
+ }), Object.defineProperty(this, "name", {
57
+ enumerable: !0,
58
+ configurable: !0,
59
+ writable: !0,
60
+ value: "BaseError"
61
+ }), this.details = i, this.docsPath = n, this.metaMessages = e.metaMessages, this.name = e.name ?? this.name, this.shortMessage = t, this.version = T;
62
+ }
63
+ walk(t) {
64
+ return U(this, t);
65
+ }
66
+ }
67
+ function U(s, t) {
68
+ return t != null && t(s) ? s : s && typeof s == "object" && "cause" in s && s.cause !== void 0 ? U(s.cause, t) : t ? null : s;
69
+ }
70
+ class A extends l {
71
+ constructor({ size: t, targetSize: e, type: i }) {
72
+ super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${t}) exceeds padding size (${e}).`, { name: "SizeExceedsPaddingSizeError" });
73
+ }
74
+ }
75
+ function f(s, { dir: t, size: e = 32 } = {}) {
76
+ return typeof s == "string" ? k(s, { dir: t, size: e }) : L(s, { dir: t, size: e });
77
+ }
78
+ function k(s, { dir: t, size: e = 32 } = {}) {
79
+ if (e === null)
80
+ return s;
81
+ const i = s.replace("0x", "");
82
+ if (i.length > e * 2)
83
+ throw new A({
84
+ size: Math.ceil(i.length / 2),
85
+ targetSize: e,
86
+ type: "hex"
87
+ });
88
+ return `0x${i[t === "right" ? "padEnd" : "padStart"](e * 2, "0")}`;
89
+ }
90
+ function L(s, { dir: t, size: e = 32 } = {}) {
91
+ if (e === null)
92
+ return s;
93
+ if (s.length > e)
94
+ throw new A({
95
+ size: s.length,
96
+ targetSize: e,
97
+ type: "bytes"
98
+ });
99
+ const i = new Uint8Array(e);
100
+ for (let n = 0; n < e; n++) {
101
+ const r = t === "right";
102
+ i[r ? n : e - n - 1] = s[r ? n : s.length - n - 1];
103
+ }
104
+ return i;
105
+ }
106
+ class W extends l {
107
+ constructor({ max: t, min: e, signed: i, size: n, value: r }) {
108
+ super(`Number "${r}" is not in safe ${n ? `${n * 8}-bit ${i ? "signed" : "unsigned"} ` : ""}integer range ${t ? `(${e} to ${t})` : `(above ${e})`}`, { name: "IntegerOutOfRangeError" });
109
+ }
110
+ }
111
+ class j extends l {
112
+ constructor({ givenSize: t, maxSize: e }) {
113
+ super(`Size cannot exceed ${e} bytes. Given size: ${t} bytes.`, { name: "SizeOverflowError" });
114
+ }
115
+ }
116
+ function D(s, { size: t }) {
117
+ if (z(s) > t)
118
+ throw new j({
119
+ givenSize: z(s),
120
+ maxSize: t
121
+ });
122
+ }
123
+ const O = /* @__PURE__ */ Array.from({ length: 256 }, (s, t) => t.toString(16).padStart(2, "0"));
124
+ function S(s, t = {}) {
125
+ return typeof s == "number" || typeof s == "bigint" ? N(s, t) : typeof s == "string" ? R(s, t) : typeof s == "boolean" ? B(s, t) : M(s, t);
126
+ }
127
+ function B(s, t = {}) {
128
+ const e = `0x${Number(s)}`;
129
+ return typeof t.size == "number" ? (D(e, { size: t.size }), f(e, { size: t.size })) : e;
130
+ }
131
+ function M(s, t = {}) {
132
+ let e = "";
133
+ for (let n = 0; n < s.length; n++)
134
+ e += O[s[n]];
135
+ const i = `0x${e}`;
136
+ return typeof t.size == "number" ? (D(i, { size: t.size }), f(i, { dir: "right", size: t.size })) : i;
137
+ }
138
+ function N(s, t = {}) {
139
+ const { signed: e, size: i } = t, n = BigInt(s);
140
+ let r;
141
+ i ? e ? r = (1n << BigInt(i) * 8n - 1n) - 1n : r = 2n ** (BigInt(i) * 8n) - 1n : typeof s == "number" && (r = BigInt(Number.MAX_SAFE_INTEGER));
142
+ const o = typeof r == "bigint" && e ? -r - 1n : 0;
143
+ if (r && n > r || n < o) {
144
+ const d = typeof s == "bigint" ? "n" : "";
145
+ throw new W({
146
+ max: r ? `${r}${d}` : void 0,
147
+ min: `${o}${d}`,
148
+ signed: e,
149
+ size: i,
150
+ value: `${s}${d}`
151
+ });
152
+ }
153
+ const a = `0x${(e && n < 0 ? (1n << BigInt(i * 8)) + BigInt(n) : n).toString(16)}`;
154
+ return i ? f(a, { size: i }) : a;
155
+ }
156
+ const q = /* @__PURE__ */ new TextEncoder();
157
+ function R(s, t = {}) {
158
+ const e = q.encode(s);
159
+ return M(e, t);
160
+ }
161
+ class g {
6
162
  constructor(t) {
7
163
  p(this, "opts");
8
164
  p(this, "open", () => {
9
- var t, e, s, o;
165
+ var t, e, i, n;
10
166
  if (!document.body.classList.contains("glide-deposit-open")) {
11
167
  if (document.body.classList.add("glide-deposit-open"), this.opts.mode === "deposit" && !this.opts.recipient)
12
168
  throw new Error("recipient is required for deposit mode");
@@ -14,18 +170,18 @@ class D {
14
170
  throw new Error(
15
171
  "walletProvider.signTypedDataAsync is required when preferGaslessPayment=true"
16
172
  );
17
- const r = this.opts.recipient, a = (t = this.opts.walletProvider) == null ? void 0 : t.address, d = (e = this.opts.walletProvider) == null ? void 0 : e.availableChainIds, l = (s = this.opts.walletProvider) == null ? void 0 : s.currentChainId, c = this.opts.preferGaslessPayment || !!((o = this.opts.walletProvider) != null && o.signTypedDataAsync);
173
+ const r = this.opts.recipient, o = (t = this.opts.walletProvider) == null ? void 0 : t.address, a = (e = this.opts.walletProvider) == null ? void 0 : e.availableChainIds, d = (i = this.opts.walletProvider) == null ? void 0 : i.currentChainId, h = this.opts.preferGaslessPayment || !!((n = this.opts.walletProvider) != null && n.signTypedDataAsync);
18
174
  this.openUrl(
19
- `${this.baseUrl}${this.opts.app}?embed=true${r ? `&recipient=${r}` : ""}${a ? `&connectedWalletAddress=${a}` : ""}${l ? `&currentChainId=${l}` : ""}${d ? `&availableChainIds=${d.join(",")}` : ""}${c ? "&preferGaslessPayment=true" : ""}${this.opts.mode ? `&mode=${this.opts.mode}` : ""}${this.opts.amount ? `&amount=${this.opts.amount}` : ""}`
175
+ `${this.baseUrl}${this.opts.app}?embed=true${r ? `&recipient=${r}` : ""}${o ? `&connectedWalletAddress=${o}` : ""}${d ? `&currentChainId=${d}` : ""}${a ? `&availableChainIds=${a.join(",")}` : ""}${h ? "&preferGaslessPayment=true" : ""}${this.opts.mode ? `&mode=${this.opts.mode}` : ""}${this.opts.amount ? `&amount=${this.opts.amount}` : ""}${this.opts.evm ? `&evm.chainId=${this.opts.evm.chainId}&evm.to=${this.opts.evm.to}&evm.data=${this.opts.evm.data || "0x0"}&evm.value=${S(this.opts.evm.value || 0n)}` : ""}`
20
176
  ), this.initialize();
21
177
  }
22
178
  });
23
179
  p(this, "iframeEventHandler", async (t) => {
24
- var s, o, r, a, d, l, c, h, m, y, w, u, f, g, v, b;
180
+ var i, n, r, o, a, d, h, y, w, b, v, $, x, P, E, I;
25
181
  const e = t.data;
26
182
  switch (e.type) {
27
183
  case "success":
28
- (o = (s = this.opts) == null ? void 0 : s.onSuccess) == null || o.call(s, e.hash);
184
+ (n = (i = this.opts) == null ? void 0 : i.onSuccess) == null || n.call(i, e.hash);
29
185
  break;
30
186
  case "close":
31
187
  this.removeIframe(), this.hideLoader(), this.destroy();
@@ -36,7 +192,7 @@ class D {
36
192
  try {
37
193
  await this.opts.walletProvider.switchChainAsync({
38
194
  chainId: e.chainId
39
- }), (a = (r = this.iframe) == null ? void 0 : r.contentWindow) == null || a.postMessage(
195
+ }), (o = (r = this.iframe) == null ? void 0 : r.contentWindow) == null || o.postMessage(
40
196
  {
41
197
  type: "didSwitchChain",
42
198
  success: !0,
@@ -44,12 +200,12 @@ class D {
44
200
  },
45
201
  this.baseUrl
46
202
  );
47
- } catch (n) {
48
- (l = (d = this.iframe) == null ? void 0 : d.contentWindow) == null || l.postMessage(
203
+ } catch (c) {
204
+ (d = (a = this.iframe) == null ? void 0 : a.contentWindow) == null || d.postMessage(
49
205
  {
50
206
  type: "didSwitchChain",
51
207
  success: !1,
52
- error: n
208
+ error: c
53
209
  },
54
210
  this.baseUrl
55
211
  );
@@ -60,23 +216,23 @@ class D {
60
216
  if (!this.opts.walletProvider)
61
217
  throw new Error("walletProvider is not set");
62
218
  try {
63
- const n = await this.opts.walletProvider.sendTransactionAsync(
219
+ const c = await this.opts.walletProvider.sendTransactionAsync(
64
220
  e.tx
65
221
  );
66
- (h = (c = this.iframe) == null ? void 0 : c.contentWindow) == null || h.postMessage(
222
+ (y = (h = this.iframe) == null ? void 0 : h.contentWindow) == null || y.postMessage(
67
223
  {
68
224
  type: "didSendTransaction",
69
225
  success: !0,
70
- txHash: n
226
+ txHash: c
71
227
  },
72
228
  this.baseUrl
73
229
  );
74
- } catch (n) {
75
- (y = (m = this.iframe) == null ? void 0 : m.contentWindow) == null || y.postMessage(
230
+ } catch (c) {
231
+ (b = (w = this.iframe) == null ? void 0 : w.contentWindow) == null || b.postMessage(
76
232
  {
77
233
  type: "didSendTransaction",
78
234
  success: !1,
79
- error: n
235
+ error: c
80
236
  },
81
237
  this.baseUrl
82
238
  );
@@ -88,7 +244,7 @@ class D {
88
244
  if (!this.opts.walletProvider)
89
245
  throw new Error("walletProvider is not set");
90
246
  if (!this.opts.walletProvider.signTypedDataAsync) {
91
- (u = (w = this.iframe) == null ? void 0 : w.contentWindow) == null || u.postMessage(
247
+ ($ = (v = this.iframe) == null ? void 0 : v.contentWindow) == null || $.postMessage(
92
248
  {
93
249
  type: "didSignTypedData",
94
250
  success: !1,
@@ -99,23 +255,23 @@ class D {
99
255
  return;
100
256
  }
101
257
  try {
102
- const n = await this.opts.walletProvider.signTypedDataAsync(
258
+ const c = await this.opts.walletProvider.signTypedDataAsync(
103
259
  e.data
104
260
  );
105
- (g = (f = this.iframe) == null ? void 0 : f.contentWindow) == null || g.postMessage(
261
+ (P = (x = this.iframe) == null ? void 0 : x.contentWindow) == null || P.postMessage(
106
262
  {
107
263
  type: "didSignTypedData",
108
264
  success: !0,
109
- signature: n
265
+ signature: c
110
266
  },
111
267
  this.baseUrl
112
268
  );
113
- } catch (n) {
114
- (b = (v = this.iframe) == null ? void 0 : v.contentWindow) == null || b.postMessage(
269
+ } catch (c) {
270
+ (I = (E = this.iframe) == null ? void 0 : E.contentWindow) == null || I.postMessage(
115
271
  {
116
272
  type: "didSignTypedData",
117
273
  success: !1,
118
- error: n
274
+ error: c
119
275
  },
120
276
  this.baseUrl
121
277
  );
@@ -126,6 +282,9 @@ class D {
126
282
  });
127
283
  this.opts = t;
128
284
  }
285
+ get externalUrl() {
286
+ return `${this.baseUrl}${this.opts.app}?${this.opts.recipient ? `&recipient=${this.opts.recipient}` : ""}${this.opts.preferGaslessPayment ? "&preferGaslessPayment=true" : ""}${this.opts.mode ? `&mode=${this.opts.mode}` : ""}${this.opts.amount ? `&amount=${this.opts.amount}` : ""}${this.opts.evm ? `&evm.chainId=${this.opts.evm.chainId}&evm.to=${this.opts.evm.to}&evm.data=${this.opts.evm.data || "0x0"}&evm.value=${S(this.opts.evm.value || 0n)}` : ""}`;
287
+ }
129
288
  initialize() {
130
289
  window.addEventListener("message", this.iframeEventHandler);
131
290
  }
@@ -148,8 +307,8 @@ class D {
148
307
  "style",
149
308
  "z-index: 2147483647; display: block; background-color: transparent; border: 0px none transparent; overflow-x: hidden; overflow-y: auto; visibility: visible; margin: 0px; padding: 0px; -webkit-tap-highlight-color: transparent; position: fixed; left: 0px; top: 0px; width: 100%; height: 100%;"
150
309
  ), e.src = t, e.allow = "payment *; clipboard-write *", document.body.appendChild(e), window.setTimeout(() => {
151
- var s;
152
- (s = e == null ? void 0 : e.contentWindow) == null || s.focus();
310
+ var i;
311
+ (i = e == null ? void 0 : e.contentWindow) == null || i.focus();
153
312
  }, 100);
154
313
  }
155
314
  removeIframe() {
@@ -161,62 +320,92 @@ class D {
161
320
  t.innerHTML = "@keyframes pulse { 0% { opacity: 1; transform: scale(0.1); } 100% { opacity: 0; transform: scale(1); } }", document.head.appendChild(t);
162
321
  const e = document.createElement("div");
163
322
  e.setAttribute("class", "glide-deposit-loader");
164
- const s = document.createElement("main");
165
- s.setAttribute(
323
+ const i = document.createElement("main");
324
+ i.setAttribute(
166
325
  "style",
167
326
  "display: flex; align-items: center; justify-content: center; flex-direction: column; width: 100%; height: 100%;"
168
- ), e.appendChild(s), document.body.appendChild(e);
327
+ ), e.appendChild(i), document.body.appendChild(e);
169
328
  }
170
329
  hideLoader() {
171
330
  document.querySelectorAll(".glide-deposit-loader").forEach((t) => t.remove());
172
331
  }
173
332
  }
174
- const x = ({
175
- app: i,
333
+ const X = ({
334
+ app: s,
176
335
  recipient: t,
177
336
  preferGaslessPayment: e,
178
- mode: s,
179
- walletProvider: o,
337
+ mode: i,
338
+ walletProvider: n,
180
339
  onSuccess: r,
181
- baseUrl: a
182
- }) => ({
183
- openGlideDeposit: P(() => new D({
184
- app: i,
340
+ baseUrl: o
341
+ }) => {
342
+ const a = m(() => new g({
343
+ app: s,
185
344
  recipient: t,
186
345
  preferGaslessPayment: e,
187
- mode: s,
188
- walletProvider: o,
346
+ mode: i,
347
+ walletProvider: n,
189
348
  onSuccess: r,
190
- baseUrl: a
349
+ baseUrl: o
191
350
  }), [
192
- i,
351
+ s,
193
352
  t,
194
353
  e,
195
- s,
196
- o,
354
+ i,
355
+ n,
197
356
  r,
198
- a
199
- ]).open
200
- }), A = ({
201
- app: i,
357
+ o
358
+ ]);
359
+ return {
360
+ openGlideDeposit: a.open,
361
+ externalUrl: a.externalUrl
362
+ };
363
+ }, J = ({
364
+ app: s,
202
365
  preferGaslessPayment: t,
203
366
  amount: e,
204
- walletProvider: s,
205
- onSuccess: o,
367
+ walletProvider: i,
368
+ onSuccess: n,
206
369
  baseUrl: r
207
- }) => ({
208
- openGlidePay: P(() => new D({
209
- app: i,
370
+ }) => {
371
+ const o = m(() => new g({
372
+ app: s,
210
373
  preferGaslessPayment: t,
211
374
  mode: "pay",
212
375
  amount: e,
213
- walletProvider: s,
214
- onSuccess: o,
376
+ walletProvider: i,
377
+ onSuccess: n,
215
378
  baseUrl: r
216
- }), [i, t, s, r, e, o]).open
217
- });
379
+ }), [s, t, i, r, e, n]);
380
+ return {
381
+ openGlidePay: o.open,
382
+ externalUrl: o.externalUrl
383
+ };
384
+ }, K = ({
385
+ app: s,
386
+ evm: t,
387
+ preferGaslessPayment: e,
388
+ walletProvider: i,
389
+ onSuccess: n,
390
+ baseUrl: r
391
+ }) => {
392
+ const o = m(() => new g({
393
+ app: s,
394
+ evm: t,
395
+ preferGaslessPayment: e,
396
+ mode: "call",
397
+ walletProvider: i,
398
+ onSuccess: n,
399
+ baseUrl: r
400
+ }), [s, t, e, i, n, r]);
401
+ return {
402
+ openGlideCall: o.open,
403
+ externalUrl: o.externalUrl
404
+ };
405
+ };
218
406
  export {
219
- D as GlideDeposit,
220
- x as useGlideDeposit,
221
- A as useGlidePay
407
+ g as GlideDeposit,
408
+ K as useGlideCall,
409
+ X as useGlideDeposit,
410
+ J as useGlidePay
222
411
  };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './GlideDeposit.ts';
2
2
  export * from './useGlideDeposit.ts';
3
3
  export * from './useGlidePay.ts';
4
+ export * from './useGlideCall.ts';
@@ -0,0 +1,19 @@
1
+ import { GlideDepositWalletProvider, Hex } from './GlideDeposit.ts';
2
+ interface UseGlideCallProps {
3
+ app: string;
4
+ evm: {
5
+ chainId: number;
6
+ to: Hex;
7
+ data?: Hex;
8
+ value?: bigint;
9
+ };
10
+ preferGaslessPayment?: boolean;
11
+ walletProvider?: GlideDepositWalletProvider;
12
+ onSuccess?: (hash: Hex) => void;
13
+ baseUrl?: string;
14
+ }
15
+ export declare const useGlideCall: ({ app, evm, preferGaslessPayment, walletProvider, onSuccess, baseUrl, }: UseGlideCallProps) => {
16
+ openGlideCall: () => void;
17
+ externalUrl: string;
18
+ };
19
+ export {};
@@ -10,5 +10,6 @@ interface UseGlideDepositProps {
10
10
  }
11
11
  export declare const useGlideDeposit: ({ app, recipient, preferGaslessPayment, mode, walletProvider, onSuccess, baseUrl, }: UseGlideDepositProps) => {
12
12
  openGlideDeposit: () => void;
13
+ externalUrl: string;
13
14
  };
14
15
  export {};
@@ -10,5 +10,6 @@ interface UseGlidePayProps {
10
10
  }
11
11
  export declare const useGlidePay: ({ app, preferGaslessPayment, amount, walletProvider, onSuccess, baseUrl, }: UseGlidePayProps) => {
12
12
  openGlidePay: () => void;
13
+ externalUrl: string;
13
14
  };
14
15
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paywithglide/glide-react",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -18,19 +18,20 @@
18
18
  "scripts": {
19
19
  "dev": "vite",
20
20
  "build": "tsc --p ./tsconfig.build.json && vite build",
21
+ "build-web": "tsc --p ./tsconfig.build.json && vite build --mode web",
21
22
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
22
23
  "preview": "vite preview",
23
24
  "prepublishOnly": "npm run build"
24
25
  },
25
26
  "dependencies": {
26
- "@paywithglide/glide-js": "^0.10.0",
27
+ "@paywithglide/glide-js": "^0.10.0"
28
+ },
29
+ "devDependencies": {
27
30
  "@tanstack/react-query": "^5.61.5",
28
31
  "react": "^18.3.1",
29
32
  "react-dom": "^18.3.1",
30
33
  "viem": "^2.21.51",
31
- "wagmi": "^2.13.0"
32
- },
33
- "devDependencies": {
34
+ "wagmi": "^2.13.0",
34
35
  "@antiwork/shortest": "^0.2.1",
35
36
  "@eslint/js": "^9.15.0",
36
37
  "@types/react": "^18.3.12",