@sudobility/auth_lib 0.0.102 → 0.0.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.
@@ -1,4 +1,4 @@
1
1
  export * from './types';
2
2
  export { createFirebaseAuthContext, type FirebaseAuthContext } from './context';
3
- export { useFirebaseAuthJs } from './useFirebaseAuth';
3
+ export { loadFirebaseJsAuth, useFirebaseAuthJs } from './useFirebaseAuth';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export * from './types';
2
2
  export { createFirebaseAuthContext } from './context';
3
- export { useFirebaseAuthJs } from './useFirebaseAuth';
3
+ export { loadFirebaseJsAuth, useFirebaseAuthJs } from './useFirebaseAuth';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAA4B,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAA4B,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { OAuthClientConfig, WebAuthBridge } from '../oauth/webAuthFlow';
2
2
  import type { SignInConfig, SignInPlatform } from '../signin/config';
3
+ import type { FirebaseWebConfig, ServiceFileSources } from '../signin/firebase-config';
3
4
  import type { AppleAuthAndroidBridge, AppleAuthBridge, GoogleSignInBridge, ModuleGetter } from '../signin/credentials';
4
5
  export interface AuthUser {
5
6
  uid: string;
@@ -33,10 +34,11 @@ export type GoogleSigninLike = GoogleSignInBridge;
33
34
  export type AppleAuthLike = AppleAuthBridge;
34
35
  export type AppleAuthAndroidLike = AppleAuthAndroidBridge;
35
36
  export interface FirebaseAuthConfig {
36
- firebaseConfig?: Record<string, unknown>;
37
+ firebaseConfig?: FirebaseWebConfig;
37
38
  asyncStorage?: unknown;
38
39
  platform?: SignInPlatform;
39
40
  signIn?: SignInConfig;
41
+ serviceFiles?: ServiceFileSources;
40
42
  googleOAuth?: OAuthClientConfig;
41
43
  webAuth?: WebAuthBridge;
42
44
  googleNative?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAkHA,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAgIA,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { type Auth } from 'firebase/auth';
1
2
  import { type AuthContextValue, type FirebaseAuthConfig } from './types';
3
+ export declare function loadFirebaseJsAuth(config: FirebaseAuthConfig): Promise<Auth | null>;
2
4
  export declare function useFirebaseAuthJs(config: FirebaseAuthConfig): AuthContextValue;
3
5
  //# sourceMappingURL=useFirebaseAuth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFirebaseAuth.d.ts","sourceRoot":"","sources":["../../src/auth/useFirebaseAuth.ts"],"names":[],"mappings":"AA4BA,OAAO,EACL,KAAK,gBAAgB,EAGrB,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AA4CjB,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,GACzB,gBAAgB,CAmRlB"}
1
+ {"version":3,"file":"useFirebaseAuth.d.ts","sourceRoot":"","sources":["../../src/auth/useFirebaseAuth.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,IAAI,EASV,MAAM,eAAe,CAAC;AAavB,OAAO,EACL,KAAK,gBAAgB,EAGrB,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AAoBjB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CA+BtB;AAuCD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,GACzB,gBAAgB,CA0RlB"}
@@ -4,24 +4,50 @@ import { signInWithGoogleOAuthDesktop } from '../oauth/google';
4
4
  import { buildAppleCredential } from '../oauth/credentials';
5
5
  import { appleCredential, googleCredential } from '../signin/credentials';
6
6
  import { createFirebaseJsAuth, } from '../signin/firebase-js-auth';
7
+ import { loadServiceFileFirebaseConfig, } from '../signin/firebase-config';
7
8
  import { DEFAULT_REFRESH_INTERVAL_MS, } from './types';
8
9
  let firebaseAuth = null;
9
- function resolveAuth(config) {
10
- const firebaseConfig = config.firebaseConfig;
11
- if (!firebaseConfig || !firebaseConfig.apiKey)
10
+ let authPromise = null;
11
+ let serviceFileConfig = null;
12
+ export function loadFirebaseJsAuth(config) {
13
+ if (authPromise)
14
+ return authPromise;
15
+ const storage = config.asyncStorage ?? null;
16
+ authPromise = (async () => {
17
+ if ((config.platform === 'ios' || config.platform === 'android') &&
18
+ config.serviceFiles) {
19
+ serviceFileConfig = await loadServiceFileFirebaseConfig(config.serviceFiles);
20
+ if (!serviceFileConfig?.firebase.apiKey)
21
+ return null;
22
+ firebaseAuth = createFirebaseJsAuth(serviceFileConfig.firebase, storage);
23
+ return firebaseAuth;
24
+ }
25
+ const firebaseConfig = config.firebaseConfig;
26
+ if (!firebaseConfig || !firebaseConfig.apiKey)
27
+ return null;
28
+ firebaseAuth = createFirebaseJsAuth(firebaseConfig, storage);
29
+ return firebaseAuth;
30
+ })().catch(error => {
31
+ console.error('[Auth] Could not configure Firebase:', error);
32
+ authPromise = null;
12
33
  return null;
13
- if (!firebaseAuth) {
14
- firebaseAuth = createFirebaseJsAuth(firebaseConfig, config.asyncStorage ?? null);
15
- }
16
- return firebaseAuth;
34
+ });
35
+ return authPromise;
17
36
  }
18
37
  function signInConfigOf(cfg) {
19
- return (cfg.signIn ?? {
38
+ const base = cfg.signIn ?? {
20
39
  googleIosClientId: cfg.googleOAuth?.clientId ?? cfg.googleNative?.iosClientId ?? '',
21
40
  googleWebClientId: cfg.googleNative?.webClientId ?? '',
22
41
  appleServiceId: cfg.appleAndroid?.serviceId ?? '',
23
42
  appleRedirectUri: cfg.appleAndroid?.redirectUri ?? '',
24
- });
43
+ };
44
+ if (!serviceFileConfig)
45
+ return base;
46
+ return {
47
+ ...base,
48
+ googleIosClientId: serviceFileConfig.googleIosClientId || base.googleIosClientId,
49
+ googleWebClientId: serviceFileConfig.googleWebClientId || base.googleWebClientId,
50
+ };
25
51
  }
26
52
  function toAuthUser(firebaseUser) {
27
53
  if (!firebaseUser)
@@ -45,50 +71,58 @@ export function useFirebaseAuthJs(config) {
45
71
  const prevUidRef = useRef(null);
46
72
  useEffect(() => {
47
73
  const cfg = configRef.current;
48
- const auth = resolveAuth(cfg);
74
+ let unsubscribe = null;
75
+ let cancelled = false;
49
76
  cfg.onInit?.();
50
- if (!auth) {
51
- setIsLoading(false);
52
- setIsReady(true);
53
- return;
54
- }
55
- const unsubscribe = onAuthStateChanged(auth, async (firebaseUser) => {
56
- if (!firebaseUser && configRef.current.autoSignInAnonymously) {
57
- try {
58
- await firebaseSignInAnonymously(auth);
59
- }
60
- catch (error) {
61
- console.error('[Auth] Anonymous sign-in failed:', error);
62
- setIsLoading(false);
63
- setIsReady(true);
64
- }
77
+ void loadFirebaseJsAuth(cfg).then(auth => {
78
+ if (cancelled)
79
+ return;
80
+ if (!auth) {
81
+ setIsLoading(false);
82
+ setIsReady(true);
65
83
  return;
66
84
  }
67
- const mapped = toAuthUser(firebaseUser);
68
- const nextUid = mapped?.uid ?? null;
69
- if (prevUidRef.current !== nextUid) {
70
- configRef.current.onIdentityChange?.(prevUidRef.current, nextUid);
71
- prevUidRef.current = nextUid;
72
- }
73
- setUser(mapped);
74
- setRawUser(firebaseUser);
75
- configRef.current.onUserChanged?.(mapped);
76
- if (firebaseUser) {
77
- try {
78
- setToken(await firebaseUser.getIdToken());
85
+ unsubscribe = onAuthStateChanged(auth, async (firebaseUser) => {
86
+ if (!firebaseUser && configRef.current.autoSignInAnonymously) {
87
+ try {
88
+ await firebaseSignInAnonymously(auth);
89
+ }
90
+ catch (error) {
91
+ console.error('[Auth] Anonymous sign-in failed:', error);
92
+ setIsLoading(false);
93
+ setIsReady(true);
94
+ }
95
+ return;
79
96
  }
80
- catch (error) {
81
- console.error('[Auth] Error getting ID token:', error);
97
+ const mapped = toAuthUser(firebaseUser);
98
+ const nextUid = mapped?.uid ?? null;
99
+ if (prevUidRef.current !== nextUid) {
100
+ configRef.current.onIdentityChange?.(prevUidRef.current, nextUid);
101
+ prevUidRef.current = nextUid;
102
+ }
103
+ setUser(mapped);
104
+ setRawUser(firebaseUser);
105
+ configRef.current.onUserChanged?.(mapped);
106
+ if (firebaseUser) {
107
+ try {
108
+ setToken(await firebaseUser.getIdToken());
109
+ }
110
+ catch (error) {
111
+ console.error('[Auth] Error getting ID token:', error);
112
+ setToken(null);
113
+ }
114
+ }
115
+ else {
82
116
  setToken(null);
83
117
  }
84
- }
85
- else {
86
- setToken(null);
87
- }
88
- setIsLoading(false);
89
- setIsReady(true);
118
+ setIsLoading(false);
119
+ setIsReady(true);
120
+ });
90
121
  });
91
- return unsubscribe;
122
+ return () => {
123
+ cancelled = true;
124
+ unsubscribe?.();
125
+ };
92
126
  }, []);
93
127
  useEffect(() => {
94
128
  const intervalMs = configRef.current.refreshIntervalMs;
@@ -104,8 +138,8 @@ export function useFirebaseAuthJs(config) {
104
138
  }, intervalMs ?? DEFAULT_REFRESH_INTERVAL_MS);
105
139
  return () => clearInterval(refreshInterval);
106
140
  }, [rawUser]);
107
- const requireAuth = useCallback(() => {
108
- const auth = resolveAuth(configRef.current);
141
+ const requireAuth = useCallback(async () => {
142
+ const auth = await loadFirebaseJsAuth(configRef.current);
109
143
  if (!auth)
110
144
  throw new Error('Firebase not configured');
111
145
  return auth;
@@ -119,7 +153,7 @@ export function useFirebaseAuthJs(config) {
119
153
  }, []);
120
154
  const signInWithGoogle = useCallback(async () => {
121
155
  requireProvider('google');
122
- const auth = requireAuth();
156
+ const auth = await requireAuth();
123
157
  const cfg = configRef.current;
124
158
  setIsLoading(true);
125
159
  try {
@@ -145,7 +179,7 @@ export function useFirebaseAuthJs(config) {
145
179
  }, [requireAuth, requireProvider]);
146
180
  const signInWithApple = useCallback(async () => {
147
181
  requireProvider('apple');
148
- const auth = requireAuth();
182
+ const auth = await requireAuth();
149
183
  const cfg = configRef.current;
150
184
  if (cfg.platform) {
151
185
  setIsLoading(true);
@@ -187,7 +221,7 @@ export function useFirebaseAuthJs(config) {
187
221
  }, [requireAuth, requireProvider]);
188
222
  const signInAnonymously = useCallback(async () => {
189
223
  requireProvider('anonymous');
190
- const auth = requireAuth();
224
+ const auth = await requireAuth();
191
225
  setIsLoading(true);
192
226
  try {
193
227
  await firebaseSignInAnonymously(auth);
@@ -198,7 +232,7 @@ export function useFirebaseAuthJs(config) {
198
232
  }, [requireAuth, requireProvider]);
199
233
  const signInWithEmail = useCallback(async (email, password) => {
200
234
  requireProvider('emailPassword');
201
- const auth = requireAuth();
235
+ const auth = await requireAuth();
202
236
  setIsLoading(true);
203
237
  try {
204
238
  await signInWithEmailAndPassword(auth, email, password);
@@ -209,7 +243,7 @@ export function useFirebaseAuthJs(config) {
209
243
  }, [requireAuth, requireProvider]);
210
244
  const signUpWithEmail = useCallback(async (email, password) => {
211
245
  requireProvider('emailPassword');
212
- const auth = requireAuth();
246
+ const auth = await requireAuth();
213
247
  setIsLoading(true);
214
248
  try {
215
249
  await createUserWithEmailAndPassword(auth, email, password);
@@ -219,7 +253,7 @@ export function useFirebaseAuthJs(config) {
219
253
  }
220
254
  }, [requireAuth, requireProvider]);
221
255
  const signOut = useCallback(async () => {
222
- const auth = resolveAuth(configRef.current);
256
+ const auth = await loadFirebaseJsAuth(configRef.current);
223
257
  if (!auth)
224
258
  return;
225
259
  setIsLoading(true);
@@ -231,7 +265,7 @@ export function useFirebaseAuthJs(config) {
231
265
  }
232
266
  }, []);
233
267
  const sendPasswordResetEmail = useCallback(async (email) => {
234
- const auth = resolveAuth(configRef.current);
268
+ const auth = await loadFirebaseJsAuth(configRef.current);
235
269
  if (!auth)
236
270
  throw new Error('Firebase not configured');
237
271
  await firebaseSendPasswordResetEmail(auth, email);
@@ -1 +1 @@
1
- {"version":3,"file":"useFirebaseAuth.js","sourceRoot":"","sources":["../../src/auth/useFirebaseAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFirebaseAuth.js","sourceRoot":"","sources":["../../src/auth/useFirebaseAuth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { ModuleGetter } from './credentials';
2
+ export interface FirebaseWebConfig {
3
+ [option: string]: unknown;
4
+ apiKey: string;
5
+ authDomain: string;
6
+ projectId: string;
7
+ storageBucket: string;
8
+ messagingSenderId: string;
9
+ appId: string;
10
+ measurementId: string;
11
+ }
12
+ export interface NativeFirebaseOptions {
13
+ apiKey?: string;
14
+ appId: string;
15
+ projectId: string;
16
+ storageBucket?: string;
17
+ messagingSenderId?: string;
18
+ measurementId?: string;
19
+ clientId?: string;
20
+ }
21
+ export interface ServiceFileSources {
22
+ nativeFirebaseOptions: ModuleGetter<NativeFirebaseOptions>;
23
+ googleServicesJson?: unknown;
24
+ }
25
+ export interface ServiceFileFirebaseConfig {
26
+ firebase: FirebaseWebConfig;
27
+ googleIosClientId: string;
28
+ googleWebClientId: string;
29
+ }
30
+ export declare function googleWebClientIdFromServicesJson(json: unknown): string;
31
+ export declare function firebaseConfigFromNativeOptions(options: NativeFirebaseOptions, googleServicesJson?: unknown): ServiceFileFirebaseConfig;
32
+ export declare function loadServiceFileFirebaseConfig(sources: ServiceFileSources): Promise<ServiceFileFirebaseConfig>;
33
+ //# sourceMappingURL=firebase-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firebase-config.d.ts","sourceRoot":"","sources":["../../src/signin/firebase-config.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD,MAAM,WAAW,iBAAiB;IAChC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1B,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE,MAAM,CAAC;IAEtB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,KAAK,EAAE,MAAM,CAAC;IAEd,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,kBAAkB;IAEjC,qBAAqB,EAAE,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAE3D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,iBAAiB,CAAC;IAE5B,iBAAiB,EAAE,MAAM,CAAC;IAE1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAMD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAkBvE;AAGD,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,qBAAqB,EAC9B,kBAAkB,CAAC,EAAE,OAAO,GAC3B,yBAAyB,CAmB3B;AAGD,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAGpC"}
@@ -0,0 +1,37 @@
1
+ export function googleWebClientIdFromServicesJson(json) {
2
+ const clients = json?.client ?? [];
3
+ for (const client of clients) {
4
+ const oauth = client['oauth_client'] ??
5
+ [];
6
+ const services = client['services'];
7
+ const other = services?.['appinvite_service']?.['other_platform_oauth_client'] ?? [];
8
+ const web = [...oauth, ...other].find(c => c['client_type'] === 3);
9
+ if (web && typeof web['client_id'] === 'string')
10
+ return web['client_id'];
11
+ }
12
+ return '';
13
+ }
14
+ export function firebaseConfigFromNativeOptions(options, googleServicesJson) {
15
+ return {
16
+ firebase: {
17
+ apiKey: options.apiKey ?? '',
18
+ authDomain: options.projectId
19
+ ? `${options.projectId}.firebaseapp.com`
20
+ : '',
21
+ projectId: options.projectId,
22
+ storageBucket: options.storageBucket ?? '',
23
+ messagingSenderId: options.messagingSenderId ?? '',
24
+ appId: options.appId,
25
+ measurementId: options.measurementId ?? '',
26
+ },
27
+ googleIosClientId: options.clientId ?? '',
28
+ googleWebClientId: googleServicesJson === undefined
29
+ ? ''
30
+ : googleWebClientIdFromServicesJson(googleServicesJson),
31
+ };
32
+ }
33
+ export async function loadServiceFileFirebaseConfig(sources) {
34
+ const options = await sources.nativeFirebaseOptions();
35
+ return firebaseConfigFromNativeOptions(options, sources.googleServicesJson);
36
+ }
37
+ //# sourceMappingURL=firebase-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firebase-config.js","sourceRoot":"","sources":["../../src/signin/firebase-config.ts"],"names":[],"mappings":"AAkFA,MAAM,UAAU,iCAAiC,CAAC,IAAa;IAC7D,MAAM,OAAO,GACV,IAA2D,EAAE,MAAM,IAAI,EAAE,CAAC;IAC7E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GACR,MAAM,CAAC,cAAc,CAAgD;YACtE,EAAE,CAAC;QACL,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAErB,CAAC;QACd,MAAM,KAAK,GACR,QAAQ,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,6BAA6B,CAElD,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAGD,MAAM,UAAU,+BAA+B,CAC7C,OAA8B,EAC9B,kBAA4B;IAE5B,OAAO;QACL,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC3B,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,kBAAkB;gBACxC,CAAC,CAAC,EAAE;YACN,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;YAClD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;SAC3C;QACD,iBAAiB,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QACzC,iBAAiB,EACf,kBAAkB,KAAK,SAAS;YAC9B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,iCAAiC,CAAC,kBAAkB,CAAC;KAC5D,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAA2B;IAE3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACtD,OAAO,+BAA+B,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9E,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './config';
2
2
  export * from './credentials';
3
3
  export * from './firebase-js-auth';
4
+ export * from './firebase-config';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signin/index.ts"],"names":[],"mappings":"AAQA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signin/index.ts"],"names":[],"mappings":"AAQA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './config';
2
2
  export * from './credentials';
3
3
  export * from './firebase-js-auth';
4
+ export * from './firebase-config';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signin/index.ts"],"names":[],"mappings":"AAQA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signin/index.ts"],"names":[],"mappings":"AAQA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/auth_lib",
3
- "version": "0.0.102",
3
+ "version": "0.0.103",
4
4
  "description": "Firebase authentication utilities with token refresh handling",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -23,10 +23,6 @@
23
23
  "import": "./dist/signin/index.js",
24
24
  "types": "./dist/signin/index.d.ts"
25
25
  },
26
- "./build/firebase-service-config": {
27
- "require": "./build/firebase-service-config.cjs",
28
- "default": "./build/firebase-service-config.cjs"
29
- },
30
26
  "./account": {
31
27
  "import": "./dist/account/index.js",
32
28
  "types": "./dist/account/index.d.ts"
@@ -42,7 +38,6 @@
42
38
  },
43
39
  "files": [
44
40
  "dist",
45
- "build/firebase-service-config.cjs",
46
41
  "README.md"
47
42
  ],
48
43
  "scripts": {
@@ -78,7 +73,6 @@
78
73
  }
79
74
  },
80
75
  "devDependencies": {
81
- "@babel/core": "^7",
82
76
  "@eslint/js": "^9.0.0",
83
77
  "@sudobility/di": "^1.5.67",
84
78
  "@sudobility/types": "^1.9.68",
@@ -1,184 +0,0 @@
1
- /**
2
- * Firebase's web config, read at BUILD time from the app's native services
3
- * files and written into the bundle — so a React Native app on Firebase's JS
4
- * SDK is configured from `GoogleService-Info.plist` / `google-services.json`,
5
- * the same files native Firebase (analytics, crashlytics, messaging, remote
6
- * config, performance) already reads, rather than from a second copy of the
7
- * same values in `.env`.
8
- *
9
- * Used from an app's `babel.config.js`:
10
- *
11
- * const { firebaseServiceConfigPlugin } =
12
- * require('@sudobility/auth_lib/build/firebase-service-config');
13
- * ...
14
- * plugins: [
15
- * firebaseServiceConfigPlugin(api, {
16
- * ios: 'ios/MyApp/GoogleService-Info.plist',
17
- * android: 'android/app/google-services.json',
18
- * androidPackage: 'com.example.myapp',
19
- * }),
20
- * ...
21
- * ]
22
- *
23
- * The plugin replaces these `process.env` references with literals for the
24
- * platform Metro is bundling (Babel's `caller.platform`):
25
- *
26
- * FIREBASE_API_KEY, FIREBASE_AUTH_DOMAIN, FIREBASE_PROJECT_ID,
27
- * FIREBASE_STORAGE_BUCKET, FIREBASE_MESSAGING_SENDER_ID, FIREBASE_APP_ID,
28
- * GOOGLE_OAUTH_CLIENT_ID (the iOS-type client), GOOGLE_WEB_CLIENT_ID
29
- *
30
- * Each platform gets its OWN app's values — the iOS app's API key and app id
31
- * on iOS, the Android app's on Android — which the Auth API accepts from the
32
- * JS SDK (checked for every app in the family). macOS and Windows read the
33
- * iOS file — always, even where a macOS plist exists: a desktop signs in with
34
- * the iOS-type Google client, and one file for the Apple-and-desktop family
35
- * means one set of values to keep right. With no platform
36
- * (jest) every name becomes `undefined`, so the code's defaults apply.
37
- *
38
- * The library reads only the files the app names; it reads no environment.
39
- */
40
- 'use strict';
41
-
42
- const fs = require('fs');
43
- const path = require('path');
44
-
45
- const NAMES = [
46
- 'FIREBASE_API_KEY',
47
- 'FIREBASE_AUTH_DOMAIN',
48
- 'FIREBASE_PROJECT_ID',
49
- 'FIREBASE_STORAGE_BUCKET',
50
- 'FIREBASE_MESSAGING_SENDER_ID',
51
- 'FIREBASE_APP_ID',
52
- 'GOOGLE_OAUTH_CLIENT_ID',
53
- 'GOOGLE_WEB_CLIENT_ID',
54
- ];
55
-
56
- /** `<key>K</key><string>V</string>` pairs — all a GoogleService-Info.plist holds. */
57
- function parsePlist(text) {
58
- const out = {};
59
- const re = /<key>([^<]+)<\/key>\s*<string>([^<]*)<\/string>/g;
60
- let m;
61
- while ((m = re.exec(text)) !== null) out[m[1]] = m[2];
62
- return out;
63
- }
64
-
65
- /** The values a GoogleService-Info.plist gives. */
66
- function fromPlist(file) {
67
- const p = parsePlist(fs.readFileSync(file, 'utf8'));
68
- const projectId = p.PROJECT_ID || '';
69
- return {
70
- FIREBASE_API_KEY: p.API_KEY || '',
71
- FIREBASE_AUTH_DOMAIN: projectId ? `${projectId}.firebaseapp.com` : '',
72
- FIREBASE_PROJECT_ID: projectId,
73
- FIREBASE_STORAGE_BUCKET: p.STORAGE_BUCKET || '',
74
- FIREBASE_MESSAGING_SENDER_ID: p.GCM_SENDER_ID || '',
75
- FIREBASE_APP_ID: p.GOOGLE_APP_ID || '',
76
- GOOGLE_OAUTH_CLIENT_ID: p.CLIENT_ID || '',
77
- GOOGLE_WEB_CLIENT_ID: '',
78
- };
79
- }
80
-
81
- /**
82
- * The values a google-services.json gives, for the client registered to
83
- * `androidPackage` (a file may list several apps of one project).
84
- */
85
- function fromServicesJson(file, androidPackage) {
86
- const j = JSON.parse(fs.readFileSync(file, 'utf8'));
87
- const clients = j.client || [];
88
- const client =
89
- clients.find(
90
- c =>
91
- c.client_info &&
92
- c.client_info.android_client_info &&
93
- c.client_info.android_client_info.package_name === androidPackage
94
- ) || (androidPackage ? null : clients[0]);
95
- if (!client) {
96
- throw new Error(
97
- `google-services.json (${file}) has no client for package "${androidPackage}"`
98
- );
99
- }
100
- const projectId = (j.project_info && j.project_info.project_id) || '';
101
- const oauth = client.oauth_client || [];
102
- const other =
103
- (client.services &&
104
- client.services.appinvite_service &&
105
- client.services.appinvite_service.other_platform_oauth_client) ||
106
- [];
107
- const web = [...oauth, ...other].find(c => c.client_type === 3);
108
- const ios = [...oauth, ...other].find(c => c.client_type === 2);
109
- return {
110
- FIREBASE_API_KEY: (client.api_key && client.api_key[0] && client.api_key[0].current_key) || '',
111
- FIREBASE_AUTH_DOMAIN: projectId ? `${projectId}.firebaseapp.com` : '',
112
- FIREBASE_PROJECT_ID: projectId,
113
- FIREBASE_STORAGE_BUCKET: (j.project_info && j.project_info.storage_bucket) || '',
114
- FIREBASE_MESSAGING_SENDER_ID: (j.project_info && j.project_info.project_number) || '',
115
- FIREBASE_APP_ID: (client.client_info && client.client_info.mobilesdk_app_id) || '',
116
- GOOGLE_OAUTH_CLIENT_ID: (ios && ios.client_id) || '',
117
- GOOGLE_WEB_CLIENT_ID: (web && web.client_id) || '',
118
- };
119
- }
120
-
121
- /**
122
- * The values for one platform, or null when the platform is unknown.
123
- * `files` paths are relative to `root` (the app; default: cwd).
124
- */
125
- function firebaseServiceConfig(platform, files, root) {
126
- const base = root || process.cwd();
127
- const at = p => path.resolve(base, p);
128
- switch (platform) {
129
- case 'ios':
130
- return fromPlist(at(files.ios));
131
- case 'android':
132
- return fromServicesJson(at(files.android), files.androidPackage);
133
- case 'macos':
134
- case 'windows':
135
- return fromPlist(at(files.ios));
136
- default:
137
- return null;
138
- }
139
- }
140
-
141
- const cache = new Map();
142
-
143
- /**
144
- * A Babel plugin entry that inlines the platform's values. Reads the files
145
- * once per platform per process.
146
- */
147
- function firebaseServiceConfigPlugin(api, files) {
148
- const platform = api.caller(caller => (caller && caller.platform) || null);
149
- const root = files.root || process.cwd();
150
- const key = `${root}|${platform}`;
151
- if (!cache.has(key)) cache.set(key, firebaseServiceConfig(platform, files, root));
152
- const values = cache.get(key);
153
-
154
- return function inlineFirebaseServiceConfig({ types: t }) {
155
- return {
156
- name: 'inline-firebase-service-config',
157
- visitor: {
158
- MemberExpression(p) {
159
- const node = p.node;
160
- if (
161
- !t.isMemberExpression(node.object) ||
162
- !t.isIdentifier(node.object.object, { name: 'process' }) ||
163
- !t.isIdentifier(node.object.property, { name: 'env' })
164
- ) {
165
- return;
166
- }
167
- const name = node.computed
168
- ? t.isStringLiteral(node.property) && node.property.value
169
- : t.isIdentifier(node.property) && node.property.name;
170
- if (!name || !NAMES.includes(name)) return;
171
- const value = values && values[name];
172
- p.replaceWith(value ? t.stringLiteral(value) : t.identifier('undefined'));
173
- },
174
- },
175
- };
176
- };
177
- }
178
-
179
- module.exports = {
180
- FIREBASE_SERVICE_CONFIG_NAMES: NAMES,
181
- firebaseServiceConfig,
182
- firebaseServiceConfigPlugin,
183
- parsePlist,
184
- };