@better-auth/expo 1.0.11-beta.6 → 1.0.11-beta.7
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/.turbo/turbo-build.log +6 -6
- package/dist/client.js +1 -1
- package/dist/client.mjs +1 -1
- package/package.json +3 -3
- package/src/client.ts +3 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @better-auth/expo@1.0.11-beta.
|
|
2
|
+
> @better-auth/expo@1.0.11-beta.7 build /home/runner/work/better-auth/better-auth/packages/expo
|
|
3
3
|
> tsup --dts --minify --clean
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: {"index":"src/index.ts","client":"src/client.ts"}
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
[34mESM[39m Build start
|
|
12
12
|
[34mCJS[39m Build start
|
|
13
13
|
[32mESM[39m [1mdist/index.mjs [22m[32m680.00 B[39m
|
|
14
|
-
[32mESM[39m [1mdist/client.mjs [22m[32m2.
|
|
15
|
-
[32mESM[39m ⚡️ Build success in
|
|
14
|
+
[32mESM[39m [1mdist/client.mjs [22m[32m2.46 KB[39m
|
|
15
|
+
[32mESM[39m ⚡️ Build success in 20ms
|
|
16
16
|
[32mCJS[39m [1mdist/index.js [22m[32m1.13 KB[39m
|
|
17
|
-
[32mCJS[39m [1mdist/client.js [22m[32m3.
|
|
18
|
-
[32mCJS[39m ⚡️ Build success in
|
|
17
|
+
[32mCJS[39m [1mdist/client.js [22m[32m3.11 KB[39m
|
|
18
|
+
[32mCJS[39m ⚡️ Build success in 21ms
|
|
19
19
|
[34mDTS[39m Build start
|
|
20
|
-
[32mDTS[39m ⚡️ Build success in
|
|
20
|
+
[32mDTS[39m ⚡️ Build success in 4242ms
|
|
21
21
|
[32mDTS[39m [1mdist/index.d.mts [22m[32m111.00 B[39m
|
|
22
22
|
[32mDTS[39m [1mdist/client.d.mts [22m[32m4.45 KB[39m
|
|
23
23
|
[32mDTS[39m [1mdist/index.d.ts [22m[32m111.00 B[39m
|
package/dist/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var O=Object.create;var m=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var P=(e,t)=>{for(var
|
|
1
|
+
"use strict";var O=Object.create;var m=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var P=(e,t)=>{for(var s in t)m(e,s,{get:t[s],enumerable:!0})},y=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of A(t))!U.call(e,r)&&r!==s&&m(e,r,{get:()=>t[r],enumerable:!(i=R(t,r))||i.enumerable});return e};var f=(e,t,s)=>(s=e!=null?O(I(e)):{},y(t||!e||!e.__esModule?m(s,"default",{value:e,enumerable:!0}):s,e)),N=e=>y(m({},"__esModule",{value:!0}),e);var $={};P($,{expoClient:()=>D,getCookie:()=>k});module.exports=N($);var x=f(require("expo-web-browser")),b=f(require("expo-linking")),p=require("react-native"),v=f(require("expo-secure-store")),h=f(require("expo-constants"));function B(e){let t=new Map;return e.split(", ").forEach(i=>{let[r,...c]=i.split("; "),[l,u]=r.split("="),n={value:u};c.forEach(o=>{let[a,g]=o.split("=");n[a.toLowerCase()]=g}),t.set(l,n)}),t}function w(e){let t=B(e),s={};return t.forEach((i,r)=>{let c=i.expires,l=i["max-age"],u=c?new Date(String(c)):l?new Date(Date.now()+Number(l)):null;s[r]={value:i.value,expires:u}}),JSON.stringify(s)}function k(e){let t={};try{t=JSON.parse(e)}catch{}return Object.entries(t).reduce((i,[r,c])=>c.expires&&c.expires<new Date?i:`${i}; ${r}=${c.value}`,"")}function E(e){return b.createURL("",{scheme:e})}var D=e=>{let t=null,s=`${e?.storagePrefix||"better-auth"}_cookie`,i=`${e?.storagePrefix||"better-auth"}_session_data`,r=e?.storage||v,c=p.Platform.OS==="web",l=e?.scheme||h.default.expoConfig?.scheme||h.default.platform?.scheme,u=Array.isArray(l)?l[0]:l;if(!u&&!c)throw new Error("Scheme not found in app.json. Please provide a scheme in the options.");return{id:"expo",getActions(n,o){if(p.Platform.OS!=="web"){t=o;let a=r.getItem(s);a&&o.atoms.session.set({data:JSON.parse(a),error:null,isPending:!1})}return{getCookie:()=>{let a=r.getItem(s);return k(a||"{}")}}},fetchPlugins:[{id:"expo",name:"Expo",hooks:{async onSuccess(n){if(c)return;let o=n.response.headers.get("set-cookie");if(o){let a=w(o||"");await r.setItem(s,a),t?.notify("$sessionSignal")}if(n.request.url.toString().includes("/get-session")&&!e?.disableCache){let a=n.data;r.setItem(i,JSON.stringify(a))}if(n.data?.redirect&&n.request.url.toString().includes("/sign-in")&&!n.request?.body.includes("idToken")){let g=JSON.parse(n.request.body)?.callbackURL,d=n.data?.url,S=await x.openAuthSessionAsync(d,g);if(S.type!=="success")return;let L=new URL(S.url),C=String(L.searchParams.get("cookie"));if(!C)return;r.setItem(s,w(C)),t?.notify("$sessionSignal")}}},async init(n,o){if(c)return{url:n,options:{...o,signal:new AbortController().signal}};o=o||{};let a=r.getItem(s),g=k(a||"{}");if(o.credentials="omit",o.headers={...o.headers,cookie:g,"expo-origin":E(u)},o.body?.callbackURL&&o.body.callbackURL.startsWith("/")){let d=b.createURL(o.body.callbackURL,{scheme:u});o.body.callbackURL=d}return n.includes("/sign-out")&&(await r.setItem(s,"{}"),t?.atoms.session?.set({data:null,error:null,isPending:!1}),r.setItem(i,"{}")),{url:n,options:{...o,signal:new AbortController().signal}}}}]}};0&&(module.exports={expoClient,getCookie});
|
package/dist/client.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as C from"expo-web-browser";import*as f from"expo-linking";import{Platform as h}from"react-native";import*as w from"expo-secure-store";import k from"expo-constants";function x(
|
|
1
|
+
import*as C from"expo-web-browser";import*as f from"expo-linking";import{Platform as h}from"react-native";import*as w from"expo-secure-store";import k from"expo-constants";function x(r){let o=new Map;return r.split(", ").forEach(i=>{let[s,...a]=i.split("; "),[l,u]=s.split("="),t={value:u};a.forEach(e=>{let[n,g]=e.split("=");t[n.toLowerCase()]=g}),o.set(l,t)}),o}function b(r){let o=x(r),c={};return o.forEach((i,s)=>{let a=i.expires,l=i["max-age"],u=a?new Date(String(a)):l?new Date(Date.now()+Number(l)):null;c[s]={value:i.value,expires:u}}),JSON.stringify(c)}function S(r){let o={};try{o=JSON.parse(r)}catch{}return Object.entries(o).reduce((i,[s,a])=>a.expires&&a.expires<new Date?i:`${i}; ${s}=${a.value}`,"")}function L(r){return f.createURL("",{scheme:r})}var A=r=>{let o=null,c=`${r?.storagePrefix||"better-auth"}_cookie`,i=`${r?.storagePrefix||"better-auth"}_session_data`,s=r?.storage||w,a=h.OS==="web",l=r?.scheme||k.expoConfig?.scheme||k.platform?.scheme,u=Array.isArray(l)?l[0]:l;if(!u&&!a)throw new Error("Scheme not found in app.json. Please provide a scheme in the options.");return{id:"expo",getActions(t,e){if(h.OS!=="web"){o=e;let n=s.getItem(c);n&&e.atoms.session.set({data:JSON.parse(n),error:null,isPending:!1})}return{getCookie:()=>{let n=s.getItem(c);return S(n||"{}")}}},fetchPlugins:[{id:"expo",name:"Expo",hooks:{async onSuccess(t){if(a)return;let e=t.response.headers.get("set-cookie");if(e){let n=b(e||"");await s.setItem(c,n),o?.notify("$sessionSignal")}if(t.request.url.toString().includes("/get-session")&&!r?.disableCache){let n=t.data;s.setItem(i,JSON.stringify(n))}if(t.data?.redirect&&t.request.url.toString().includes("/sign-in")&&!t.request?.body.includes("idToken")){let g=JSON.parse(t.request.body)?.callbackURL,m=t.data?.url,d=await C.openAuthSessionAsync(m,g);if(d.type!=="success")return;let y=new URL(d.url),p=String(y.searchParams.get("cookie"));if(!p)return;s.setItem(c,b(p)),o?.notify("$sessionSignal")}}},async init(t,e){if(a)return{url:t,options:{...e,signal:new AbortController().signal}};e=e||{};let n=s.getItem(c),g=S(n||"{}");if(e.credentials="omit",e.headers={...e.headers,cookie:g,"expo-origin":L(u)},e.body?.callbackURL&&e.body.callbackURL.startsWith("/")){let m=f.createURL(e.body.callbackURL,{scheme:u});e.body.callbackURL=m}return t.includes("/sign-out")&&(await s.setItem(c,"{}"),o?.atoms.session?.set({data:null,error:null,isPending:!1}),s.setItem(i,"{}")),{url:t,options:{...e,signal:new AbortController().signal}}}}]}};export{A as expoClient,S as getCookie};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@better-auth/expo",
|
|
3
|
-
"version": "1.0.11-beta.
|
|
3
|
+
"version": "1.0.11-beta.7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"expo-secure-store": "~13.0.2",
|
|
29
29
|
"expo-web-browser": "~13.0.3",
|
|
30
30
|
"vitest": "^1.6.0",
|
|
31
|
-
"better-auth": "1.0.11-beta.
|
|
31
|
+
"better-auth": "1.0.11-beta.7"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"better-auth": "1.0.11-beta.
|
|
34
|
+
"better-auth": "1.0.11-beta.7"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"better-call": "^0.2.14",
|
package/src/client.ts
CHANGED
|
@@ -164,8 +164,9 @@ export const expoClient = (opts?: ExpoClientOptions) => {
|
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
if (
|
|
167
|
-
context.data
|
|
168
|
-
context.request.url.toString().includes("/sign-in")
|
|
167
|
+
context.data?.redirect &&
|
|
168
|
+
context.request.url.toString().includes("/sign-in") &&
|
|
169
|
+
!context.request?.body.includes("idToken") // id token is used for silent sign-in
|
|
169
170
|
) {
|
|
170
171
|
const callbackURL = JSON.parse(context.request.body)?.callbackURL;
|
|
171
172
|
const to = callbackURL;
|