@better-auth/expo 0.7.3-beta.9 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
 
2
2
  
3
- > @better-auth/expo@0.7.3-beta.8 build /Users/apple/Desktop/development/better-auth-2/packages/expo
3
+ > @better-auth/expo@0.7.3-beta.11 build /Users/apple/Desktop/development/better-auth-2/packages/expo
4
4
  > tsup --dts --minify --clean
5
5
 
6
6
  CLI Building entry: {"index":"src/index.ts","client":"src/client.ts"}
@@ -11,15 +11,15 @@
11
11
  CLI Cleaning output folder
12
12
  ESM Build start
13
13
  CJS Build start
14
- CJS dist/index.js 1.19 KB
14
+ CJS dist/index.js 1.16 KB
15
15
  CJS dist/client.js 2.95 KB
16
- CJS ⚡️ Build success in 21ms
16
+ CJS ⚡️ Build success in 22ms
17
+ ESM dist/index.mjs 710.00 B
17
18
  ESM dist/client.mjs 2.32 KB
18
- ESM dist/index.mjs 736.00 B
19
- ESM ⚡️ Build success in 21ms
19
+ ESM ⚡️ Build success in 22ms
20
20
  DTS Build start
21
- DTS ⚡️ Build success in 3567ms
21
+ DTS ⚡️ Build success in 3693ms
22
22
  DTS dist/index.d.mts 677.00 B
23
- DTS dist/client.d.mts 6.79 KB
23
+ DTS dist/client.d.mts 3.96 KB
24
24
  DTS dist/index.d.ts 677.00 B
25
- DTS dist/client.d.ts 6.79 KB
25
+ DTS dist/client.d.ts 3.96 KB
package/dist/client.d.mts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as zod from 'zod';
2
2
  import * as _better_fetch_fetch from '@better-fetch/fetch';
3
+ import { BetterFetchOption } from '@better-fetch/fetch';
3
4
  import { Store } from 'better-auth';
4
5
 
5
6
  interface ExpoClientOptions {
@@ -75,60 +76,7 @@ declare const expoClient: (opts?: ExpoClientOptions) => {
75
76
  disableValidation?: boolean | undefined;
76
77
  } | undefined): Promise<{
77
78
  url: string;
78
- options: {
79
- signal: AbortSignal;
80
- cache?: RequestCache;
81
- credentials?: RequestCredentials;
82
- headers?: (HeadersInit & (HeadersInit | {
83
- accept: "application/json" | "text/plain" | "application/octet-stream";
84
- "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream";
85
- authorization: "Bearer" | "Basic";
86
- })) | undefined;
87
- integrity?: string;
88
- keepalive?: boolean;
89
- method?: string;
90
- mode?: RequestMode;
91
- priority?: RequestPriority;
92
- redirect?: RequestRedirect;
93
- referrer?: string;
94
- referrerPolicy?: ReferrerPolicy;
95
- window?: null;
96
- onRequest?: <T extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T>) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void;
97
- onResponse?: (context: _better_fetch_fetch.ResponseContext) => Promise<Response | void | _better_fetch_fetch.ResponseContext> | Response | _better_fetch_fetch.ResponseContext | void;
98
- onSuccess?: ((context: _better_fetch_fetch.SuccessContext<any>) => Promise<void> | void) | undefined;
99
- onError?: (context: _better_fetch_fetch.ErrorContext) => Promise<void> | void;
100
- onRetry?: (response: _better_fetch_fetch.ResponseContext) => Promise<void> | void;
101
- hookOptions?: {
102
- cloneResponse?: boolean;
103
- };
104
- timeout?: number;
105
- customFetchImpl?: _better_fetch_fetch.FetchEsque;
106
- plugins?: _better_fetch_fetch.BetterFetchPlugin[];
107
- baseURL?: string;
108
- throw?: boolean;
109
- auth?: {
110
- type: "Bearer";
111
- token: string | (() => string | undefined) | undefined;
112
- } | {
113
- type: "Basic";
114
- username: string | (() => string | undefined) | undefined;
115
- password: string | (() => string | undefined) | undefined;
116
- } | {
117
- type: "Custom";
118
- prefix: string | (() => string | undefined) | undefined;
119
- value: string | (() => string | undefined) | undefined;
120
- };
121
- body?: any;
122
- query?: any;
123
- params?: any;
124
- duplex?: "full" | "half";
125
- jsonParser?: <T>(text: string) => Promise<T | undefined>;
126
- retry?: _better_fetch_fetch.RetryOptions;
127
- retryAttempt?: number;
128
- output?: zod.ZodType | typeof Blob | typeof File;
129
- errorSchema?: zod.ZodType;
130
- disableValidation?: boolean;
131
- };
79
+ options: BetterFetchOption;
132
80
  }>;
133
81
  }[];
134
82
  };
package/dist/client.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as zod from 'zod';
2
2
  import * as _better_fetch_fetch from '@better-fetch/fetch';
3
+ import { BetterFetchOption } from '@better-fetch/fetch';
3
4
  import { Store } from 'better-auth';
4
5
 
5
6
  interface ExpoClientOptions {
@@ -75,60 +76,7 @@ declare const expoClient: (opts?: ExpoClientOptions) => {
75
76
  disableValidation?: boolean | undefined;
76
77
  } | undefined): Promise<{
77
78
  url: string;
78
- options: {
79
- signal: AbortSignal;
80
- cache?: RequestCache;
81
- credentials?: RequestCredentials;
82
- headers?: (HeadersInit & (HeadersInit | {
83
- accept: "application/json" | "text/plain" | "application/octet-stream";
84
- "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream";
85
- authorization: "Bearer" | "Basic";
86
- })) | undefined;
87
- integrity?: string;
88
- keepalive?: boolean;
89
- method?: string;
90
- mode?: RequestMode;
91
- priority?: RequestPriority;
92
- redirect?: RequestRedirect;
93
- referrer?: string;
94
- referrerPolicy?: ReferrerPolicy;
95
- window?: null;
96
- onRequest?: <T extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T>) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void;
97
- onResponse?: (context: _better_fetch_fetch.ResponseContext) => Promise<Response | void | _better_fetch_fetch.ResponseContext> | Response | _better_fetch_fetch.ResponseContext | void;
98
- onSuccess?: ((context: _better_fetch_fetch.SuccessContext<any>) => Promise<void> | void) | undefined;
99
- onError?: (context: _better_fetch_fetch.ErrorContext) => Promise<void> | void;
100
- onRetry?: (response: _better_fetch_fetch.ResponseContext) => Promise<void> | void;
101
- hookOptions?: {
102
- cloneResponse?: boolean;
103
- };
104
- timeout?: number;
105
- customFetchImpl?: _better_fetch_fetch.FetchEsque;
106
- plugins?: _better_fetch_fetch.BetterFetchPlugin[];
107
- baseURL?: string;
108
- throw?: boolean;
109
- auth?: {
110
- type: "Bearer";
111
- token: string | (() => string | undefined) | undefined;
112
- } | {
113
- type: "Basic";
114
- username: string | (() => string | undefined) | undefined;
115
- password: string | (() => string | undefined) | undefined;
116
- } | {
117
- type: "Custom";
118
- prefix: string | (() => string | undefined) | undefined;
119
- value: string | (() => string | undefined) | undefined;
120
- };
121
- body?: any;
122
- query?: any;
123
- params?: any;
124
- duplex?: "full" | "half";
125
- jsonParser?: <T>(text: string) => Promise<T | undefined>;
126
- retry?: _better_fetch_fetch.RetryOptions;
127
- retryAttempt?: number;
128
- output?: zod.ZodType | typeof Blob | typeof File;
129
- errorSchema?: zod.ZodType;
130
- disableValidation?: boolean;
131
- };
79
+ options: BetterFetchOption;
132
80
  }>;
133
81
  }[];
134
82
  };
package/dist/client.js CHANGED
@@ -1 +1 @@
1
- "use strict";var x=Object.create;var m=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var U=(e,t)=>{for(var r in t)m(e,r,{get:t[r],enumerable:!0})},S=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of R(t))!O.call(e,o)&&o!==r&&m(e,o,{get:()=>t[o],enumerable:!(i=L(t,o))||i.enumerable});return e};var d=(e,t,r)=>(r=e!=null?x(A(e)):{},S(t||!e||!e.__esModule?m(r,"default",{value:e,enumerable:!0}):r,e)),I=e=>S(m({},"__esModule",{value:!0}),e);var $={};U($,{expoClient:()=>D});module.exports=I($);var C=d(require("expo-web-browser")),k=d(require("expo-linking")),f=require("react-native"),P=d(require("expo-secure-store")),y=d(require("expo-constants"));function N(e){let t=new Map;return e.split(", ").forEach(i=>{let[o,...a]=i.split("; "),[l,n]=o.split("="),s={value:n};a.forEach(c=>{let[u,g]=c.split("=");s[u.toLowerCase()]=g}),t.set(l,s)}),t}function h(e){let t=N(e),r={};return t.forEach((i,o)=>{let a=i.expires,l=i["max-age"],n=a?new Date(String(a)):l?new Date(Date.now()+Number(l)):null;r[o]={value:i.value,expires:n}}),JSON.stringify(r)}function v(e){let t={};try{t=JSON.parse(e)}catch{}return Object.entries(t).reduce((i,[o,a])=>a.expires&&a.expires<new Date?i:`${i}; ${o}=${a.value}`,"")}function E(e){return k.createURL("",{scheme:e})}var D=e=>{let t=null,r=`${e?.storagePrefix||"better-auth"}_cookie`,i=`${e?.storagePrefix||"better-auth"}_session_data`,o=e?.storage||P,a=e?.scheme||y.default.platform?.scheme,l=f.Platform.OS==="web";if(!a&&!l)throw new Error("Scheme not found in app.json. Please provide a scheme in the options.");return{id:"expo",getActions(n,s){if(f.Platform.OS==="web")return{};t=s;let c=o.getItem(r);return c&&s.atoms.session.set({data:JSON.parse(c),error:null,isPending:!1}),{}},fetchPlugins:[{id:"expo",name:"Expo",hooks:{async onSuccess(n){if(l)return;let s=n.response.headers.get("set-cookie");if(s){let c=h(s||"");await o.setItem(r,c),t?.notify("$sessionSignal")}if(n.request.url.toString().includes("/get-session")&&!e?.disableCache){let c=n.data;o.setItem(i,JSON.stringify(c))}if(n.data.redirect&&n.request.url.toString().includes("/sign-in")){let u=JSON.parse(n.request.body)?.callbackURL,g=n.data?.url,p=await C.openAuthSessionAsync(g,u);if(p.type!=="success")return;let w=new URL(p.url),b=String(w.searchParams.get("cookie"));if(!b)return;o.setItem(r,h(b)),t?.notify("$sessionSignal")}}},async init(n,s){if(l)return{url:n,options:{...s,signal:new AbortController().signal}};s=s||{};let c=o.getItem(r),u=v(c||"{}");if(s.credentials="omit",s.headers={...s.headers,cookie:u,"expo-origin":E(a)},s.body?.callbackURL&&s.body.callbackURL.startsWith("/")){let g=k.createURL(s.body.callbackURL,{scheme:a});s.body.callbackURL=g}return n.includes("/sign-out")&&(await o.setItem(r,"{}"),t?.atoms.session?.set({data:null,error:null,isPending:!1}),o.setItem(i,"{}")),{url:n,options:{...s,signal:new AbortController().signal}}}}]}};0&&(module.exports={expoClient});
1
+ "use strict";var x=Object.create;var m=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var U=(e,t)=>{for(var r in t)m(e,r,{get:t[r],enumerable:!0})},b=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of O(t))!A.call(e,o)&&o!==r&&m(e,o,{get:()=>t[o],enumerable:!(i=L(t,o))||i.enumerable});return e};var f=(e,t,r)=>(r=e!=null?x(R(e)):{},b(t||!e||!e.__esModule?m(r,"default",{value:e,enumerable:!0}):r,e)),I=e=>b(m({},"__esModule",{value:!0}),e);var D={};U(D,{expoClient:()=>E});module.exports=I(D);var C=f(require("expo-web-browser")),p=f(require("expo-linking")),d=require("react-native"),P=f(require("expo-secure-store")),y=f(require("expo-constants"));function N(e){let t=new Map;return e.split(", ").forEach(i=>{let[o,...a]=i.split("; "),[l,n]=o.split("="),s={value:n};a.forEach(c=>{let[u,g]=c.split("=");s[u.toLowerCase()]=g}),t.set(l,s)}),t}function S(e){let t=N(e),r={};return t.forEach((i,o)=>{let a=i.expires,l=i["max-age"],n=a?new Date(String(a)):l?new Date(Date.now()+Number(l)):null;r[o]={value:i.value,expires:n}}),JSON.stringify(r)}function v(e){let t={};try{t=JSON.parse(e)}catch{}return Object.entries(t).reduce((i,[o,a])=>a.expires&&a.expires<new Date?i:`${i}; ${o}=${a.value}`,"")}function B(e){return p.createURL("",{scheme:e})}var E=e=>{let t=null,r=`${e?.storagePrefix||"better-auth"}_cookie`,i=`${e?.storagePrefix||"better-auth"}_session_data`,o=e?.storage||P,a=e?.scheme||y.default.platform?.scheme,l=d.Platform.OS==="web";if(!a&&!l)throw new Error("Scheme not found in app.json. Please provide a scheme in the options.");return{id:"expo",getActions(n,s){if(d.Platform.OS==="web")return{};t=s;let c=o.getItem(r);return c&&s.atoms.session.set({data:JSON.parse(c),error:null,isPending:!1}),{}},fetchPlugins:[{id:"expo",name:"Expo",hooks:{async onSuccess(n){if(l)return;let s=n.response.headers.get("set-cookie");if(s){let c=S(s||"");await o.setItem(r,c),t?.notify("$sessionSignal")}if(n.request.url.toString().includes("/get-session")&&!e?.disableCache){let c=n.data;o.setItem(i,JSON.stringify(c))}if(n.data.redirect&&n.request.url.toString().includes("/sign-in")){let u=JSON.parse(n.request.body)?.callbackURL,g=n.data?.url,h=await C.openAuthSessionAsync(g,u);if(h.type!=="success")return;let w=new URL(h.url),k=String(w.searchParams.get("cookie"));if(!k)return;o.setItem(r,S(k)),t?.notify("$sessionSignal")}}},async init(n,s){if(l)return{url:n,options:{...s,signal:new AbortController().signal}};s=s||{};let c=o.getItem(r),u=v(c||"{}");if(s.credentials="omit",s.headers={...s.headers,cookie:u,"expo-origin":B(a)},s.body?.callbackURL&&s.body.callbackURL.startsWith("/")){let g=p.createURL(s.body.callbackURL,{scheme:a});s.body.callbackURL=g}return n.includes("/sign-out")&&(await o.setItem(r,"{}"),t?.atoms.session?.set({data:null,error:null,isPending:!1}),o.setItem(i,"{}")),{url:n,options:{...s,signal:new AbortController().signal}}}}]}};0&&(module.exports={expoClient});
package/dist/client.mjs CHANGED
@@ -1 +1 @@
1
- import*as b from"expo-web-browser";import*as m from"expo-linking";import{Platform as k}from"react-native";import*as h from"expo-secure-store";import C from"expo-constants";function y(s){let r=new Map;return s.split(", ").forEach(n=>{let[o,...i]=n.split("; "),[l,t]=o.split("="),e={value:t};i.forEach(a=>{let[u,g]=a.split("=");e[u.toLowerCase()]=g}),r.set(l,e)}),r}function p(s){let r=y(s),c={};return r.forEach((n,o)=>{let i=n.expires,l=n["max-age"],t=i?new Date(String(i)):l?new Date(Date.now()+Number(l)):null;c[o]={value:n.value,expires:t}}),JSON.stringify(c)}function w(s){let r={};try{r=JSON.parse(s)}catch{}return Object.entries(r).reduce((n,[o,i])=>i.expires&&i.expires<new Date?n:`${n}; ${o}=${i.value}`,"")}function x(s){return m.createURL("",{scheme:s})}var A=s=>{let r=null,c=`${s?.storagePrefix||"better-auth"}_cookie`,n=`${s?.storagePrefix||"better-auth"}_session_data`,o=s?.storage||h,i=s?.scheme||C.platform?.scheme,l=k.OS==="web";if(!i&&!l)throw new Error("Scheme not found in app.json. Please provide a scheme in the options.");return{id:"expo",getActions(t,e){if(k.OS==="web")return{};r=e;let a=o.getItem(c);return a&&e.atoms.session.set({data:JSON.parse(a),error:null,isPending:!1}),{}},fetchPlugins:[{id:"expo",name:"Expo",hooks:{async onSuccess(t){if(l)return;let e=t.response.headers.get("set-cookie");if(e){let a=p(e||"");await o.setItem(c,a),r?.notify("$sessionSignal")}if(t.request.url.toString().includes("/get-session")&&!s?.disableCache){let a=t.data;o.setItem(n,JSON.stringify(a))}if(t.data.redirect&&t.request.url.toString().includes("/sign-in")){let u=JSON.parse(t.request.body)?.callbackURL,g=t.data?.url,d=await b.openAuthSessionAsync(g,u);if(d.type!=="success")return;let S=new URL(d.url),f=String(S.searchParams.get("cookie"));if(!f)return;o.setItem(c,p(f)),r?.notify("$sessionSignal")}}},async init(t,e){if(l)return{url:t,options:{...e,signal:new AbortController().signal}};e=e||{};let a=o.getItem(c),u=w(a||"{}");if(e.credentials="omit",e.headers={...e.headers,cookie:u,"expo-origin":x(i)},e.body?.callbackURL&&e.body.callbackURL.startsWith("/")){let g=m.createURL(e.body.callbackURL,{scheme:i});e.body.callbackURL=g}return t.includes("/sign-out")&&(await o.setItem(c,"{}"),r?.atoms.session?.set({data:null,error:null,isPending:!1}),o.setItem(n,"{}")),{url:t,options:{...e,signal:new AbortController().signal}}}}]}};export{A as expoClient};
1
+ import*as k from"expo-web-browser";import*as m from"expo-linking";import{Platform as p}from"react-native";import*as S from"expo-secure-store";import C from"expo-constants";function y(s){let r=new Map;return s.split(", ").forEach(n=>{let[o,...i]=n.split("; "),[l,t]=o.split("="),e={value:t};i.forEach(a=>{let[u,g]=a.split("=");e[u.toLowerCase()]=g}),r.set(l,e)}),r}function h(s){let r=y(s),c={};return r.forEach((n,o)=>{let i=n.expires,l=n["max-age"],t=i?new Date(String(i)):l?new Date(Date.now()+Number(l)):null;c[o]={value:n.value,expires:t}}),JSON.stringify(c)}function w(s){let r={};try{r=JSON.parse(s)}catch{}return Object.entries(r).reduce((n,[o,i])=>i.expires&&i.expires<new Date?n:`${n}; ${o}=${i.value}`,"")}function x(s){return m.createURL("",{scheme:s})}var R=s=>{let r=null,c=`${s?.storagePrefix||"better-auth"}_cookie`,n=`${s?.storagePrefix||"better-auth"}_session_data`,o=s?.storage||S,i=s?.scheme||C.platform?.scheme,l=p.OS==="web";if(!i&&!l)throw new Error("Scheme not found in app.json. Please provide a scheme in the options.");return{id:"expo",getActions(t,e){if(p.OS==="web")return{};r=e;let a=o.getItem(c);return a&&e.atoms.session.set({data:JSON.parse(a),error:null,isPending:!1}),{}},fetchPlugins:[{id:"expo",name:"Expo",hooks:{async onSuccess(t){if(l)return;let e=t.response.headers.get("set-cookie");if(e){let a=h(e||"");await o.setItem(c,a),r?.notify("$sessionSignal")}if(t.request.url.toString().includes("/get-session")&&!s?.disableCache){let a=t.data;o.setItem(n,JSON.stringify(a))}if(t.data.redirect&&t.request.url.toString().includes("/sign-in")){let u=JSON.parse(t.request.body)?.callbackURL,g=t.data?.url,f=await k.openAuthSessionAsync(g,u);if(f.type!=="success")return;let b=new URL(f.url),d=String(b.searchParams.get("cookie"));if(!d)return;o.setItem(c,h(d)),r?.notify("$sessionSignal")}}},async init(t,e){if(l)return{url:t,options:{...e,signal:new AbortController().signal}};e=e||{};let a=o.getItem(c),u=w(a||"{}");if(e.credentials="omit",e.headers={...e.headers,cookie:u,"expo-origin":x(i)},e.body?.callbackURL&&e.body.callbackURL.startsWith("/")){let g=m.createURL(e.body.callbackURL,{scheme:i});e.body.callbackURL=g}return t.includes("/sign-out")&&(await o.setItem(c,"{}"),r?.atoms.session?.set({data:null,error:null,isPending:!1}),o.setItem(n,"{}")),{url:t,options:{...e,signal:new AbortController().signal}}}}]}};export{R as expoClient};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var h=(t,e)=>{for(var r in e)o(t,r,{get:e[r],enumerable:!0})},p=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of g(e))!d.call(t,s)&&s!==r&&o(t,s,{get:()=>e[s],enumerable:!(i=c(e,s))||i.enumerable});return t};var l=t=>p(o({},"__esModule",{value:!0}),t);var f={};h(f,{expo:()=>O});module.exports=l(f);var O=()=>({id:"expo",init:t=>({options:{trustedOrigins:process.env.NODE_ENV==="development"?[...t.options.trustedOrigins||[],"exp://"]:t.options.trustedOrigins}}),async onRequest(t,e){let r=t.headers.get("expo-origin");if(r)return t.headers.set("origin",r),{request:t}},hooks:{after:[{matcher(t){return t.path?.startsWith("/callback")},handler:async t=>{let e=t.context.returned;if(e.status===302){let r=e.headers.get("location");if(!r||!t.context.trustedOrigins.filter(n=>!n.startsWith("http")).some(n=>r?.startsWith(n)))return;let a=e.headers.get("set-cookie");if(!a)return;console.log({location:r});let u=new URL(r);return u.searchParams.set("cookie",a),e.headers.set("location",u.toString()),{response:e}}}}]}});0&&(module.exports={expo});
1
+ "use strict";var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var h=(t,e)=>{for(var r in e)o(t,r,{get:e[r],enumerable:!0})},p=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of d(e))!g.call(t,s)&&s!==r&&o(t,s,{get:()=>e[s],enumerable:!(i=c(e,s))||i.enumerable});return t};var l=t=>p(o({},"__esModule",{value:!0}),t);var f={};h(f,{expo:()=>O});module.exports=l(f);var O=()=>({id:"expo",init:t=>({options:{trustedOrigins:process.env.NODE_ENV==="development"?[...t.options.trustedOrigins||[],"exp://"]:t.options.trustedOrigins}}),async onRequest(t,e){let r=t.headers.get("expo-origin");if(r)return t.headers.set("origin",r),{request:t}},hooks:{after:[{matcher(t){return t.path?.startsWith("/callback")},handler:async t=>{let e=t.context.returned;if(e.status===302){let r=e.headers.get("location");if(!r||!t.context.trustedOrigins.filter(n=>!n.startsWith("http")).some(n=>r?.startsWith(n)))return;let a=e.headers.get("set-cookie");if(!a)return;let u=new URL(r);return u.searchParams.set("cookie",a),e.headers.set("location",u.toString()),{response:e}}}}]}});0&&(module.exports={expo});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var u=()=>({id:"expo",init:t=>({options:{trustedOrigins:process.env.NODE_ENV==="development"?[...t.options.trustedOrigins||[],"exp://"]:t.options.trustedOrigins}}),async onRequest(t,e){let r=t.headers.get("expo-origin");if(r)return t.headers.set("origin",r),{request:t}},hooks:{after:[{matcher(t){return t.path?.startsWith("/callback")},handler:async t=>{let e=t.context.returned;if(e.status===302){let r=e.headers.get("location");if(!r||!t.context.trustedOrigins.filter(s=>!s.startsWith("http")).some(s=>r?.startsWith(s)))return;let i=e.headers.get("set-cookie");if(!i)return;console.log({location:r});let n=new URL(r);return n.searchParams.set("cookie",i),e.headers.set("location",n.toString()),{response:e}}}}]}});export{u as expo};
1
+ var u=()=>({id:"expo",init:t=>({options:{trustedOrigins:process.env.NODE_ENV==="development"?[...t.options.trustedOrigins||[],"exp://"]:t.options.trustedOrigins}}),async onRequest(t,e){let r=t.headers.get("expo-origin");if(r)return t.headers.set("origin",r),{request:t}},hooks:{after:[{matcher(t){return t.path?.startsWith("/callback")},handler:async t=>{let e=t.context.returned;if(e.status===302){let r=e.headers.get("location");if(!r||!t.context.trustedOrigins.filter(s=>!s.startsWith("http")).some(s=>r?.startsWith(s)))return;let i=e.headers.get("set-cookie");if(!i)return;let n=new URL(r);return n.searchParams.set("cookie",i),e.headers.set("location",n.toString()),{response:e}}}}]}});export{u as expo};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@better-auth/expo",
3
- "version": "0.7.3-beta.9",
3
+ "version": "0.7.3",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -20,6 +20,7 @@
20
20
  "author": "",
21
21
  "license": "ISC",
22
22
  "devDependencies": {
23
+ "@better-fetch/fetch": "1.1.12",
23
24
  "better-sqlite3": "^11.5.0",
24
25
  "expo-constants": "~16.0.2",
25
26
  "expo-crypto": "^13.0.2",
@@ -27,10 +28,10 @@
27
28
  "expo-secure-store": "~13.0.2",
28
29
  "expo-web-browser": "~13.0.3",
29
30
  "vitest": "^1.6.0",
30
- "better-auth": "0.7.3-beta.9"
31
+ "better-auth": "0.7.3"
31
32
  },
32
33
  "peerDependencies": {
33
- "better-auth": "0.7.3-beta.9"
34
+ "better-auth": "0.7.3"
34
35
  },
35
36
  "scripts": {
36
37
  "test": "vitest",
package/src/client.ts CHANGED
@@ -4,6 +4,7 @@ import * as Linking from "expo-linking";
4
4
  import { Platform } from "react-native";
5
5
  import * as SecureStore from "expo-secure-store";
6
6
  import Constants from "expo-constants";
7
+ import type { BetterFetchOption } from "@better-fetch/fetch";
7
8
 
8
9
  interface CookieAttributes {
9
10
  value: string;
@@ -161,7 +162,7 @@ export const expoClient = (opts?: ExpoClientOptions) => {
161
162
  options: {
162
163
  ...options,
163
164
  signal: new AbortController().signal,
164
- },
165
+ } as BetterFetchOption,
165
166
  };
166
167
  }
167
168
  options = options || {};
@@ -195,7 +196,7 @@ export const expoClient = (opts?: ExpoClientOptions) => {
195
196
  options: {
196
197
  ...options,
197
198
  signal: new AbortController().signal,
198
- },
199
+ } as BetterFetchOption,
199
200
  };
200
201
  },
201
202
  },
package/src/index.ts CHANGED
@@ -54,7 +54,6 @@ export const expo = () => {
54
54
  if (!cookie) {
55
55
  return;
56
56
  }
57
- console.log({ location });
58
57
  const url = new URL(location);
59
58
  url.searchParams.set("cookie", cookie);
60
59
  response.headers.set("location", url.toString());