Skip to content

Commit f1c8d38

Browse files
authored
Use ReactNativeAsyncStorage from community package. (#7128)
1 parent 1af178f commit f1c8d38

File tree

6 files changed

+25
-41
lines changed

6 files changed

+25
-41
lines changed

.changeset/two-bags-jog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/auth': major
3+
'firebase': major
4+
---
5+
6+
Change `getAuth()` in the React Native bundle to default to importing `AsyncStorage` from `@react-native-async-storage/async-storage` instead of from the `react-native` core package (which has recently removed it).

docs-devsite/auth.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ Firebase Authentication
157157
| [OperationType](./auth.md#operationtype) | Enumeration of supported operation types. |
158158
| [prodErrorMap](./auth.md#proderrormap) | A minimal error map with all verbose error messages stripped.<!-- -->See discussion at [AuthErrorMap](./auth.autherrormap.md#autherrormap_interface) |
159159
| [ProviderId](./auth.md#providerid) | Enumeration of supported providers. |
160-
| [reactNativeLocalPersistence](./auth.md#reactnativelocalpersistence) | An implementation of [Persistence](./auth.persistence.md#persistence_interface) of type 'LOCAL' for use in React Native environments. |
161160
| [SignInMethod](./auth.md#signinmethod) | Enumeration of supported sign-in methods. |
162161

163162
## Type Aliases
@@ -1997,16 +1996,6 @@ ProviderId: {
19971996
}
19981997
```
19991998

2000-
## reactNativeLocalPersistence
2001-
2002-
An implementation of [Persistence](./auth.persistence.md#persistence_interface) of type 'LOCAL' for use in React Native environments.
2003-
2004-
<b>Signature:</b>
2005-
2006-
```typescript
2007-
reactNativeLocalPersistence: Persistence
2008-
```
2009-
20101999
## SignInMethod
20112000

20122001
Enumeration of supported sign-in methods.

packages/auth/index.doc.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,4 @@
2828
export * from './index';
2929

3030
export { cordovaPopupRedirectResolver } from './index.cordova';
31-
export {
32-
reactNativeLocalPersistence,
33-
getReactNativePersistence
34-
} from './index.rn';
31+
export { getReactNativePersistence } from './index.rn';

packages/auth/index.rn.ts

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,14 @@
2222
* just use index.ts
2323
*/
2424

25-
import * as ReactNative from 'react-native';
26-
2725
import { FirebaseApp, getApp, _getProvider } from '@firebase/app';
28-
import { Auth, Persistence } from './src/model/public_types';
26+
import { Auth } from './src/model/public_types';
2927

3028
import { initializeAuth } from './src';
3129
import { registerAuth } from './src/core/auth/register';
3230
import { ClientPlatform } from './src/core/util/version';
3331
import { getReactNativePersistence } from './src/platform_react_native/persistence/react_native';
32+
import ReactNativeAsyncStorage from '@react-native-async-storage/async-storage';
3433

3534
// Core functionality shared by all clients
3635
export * from './index.shared';
@@ -50,28 +49,6 @@ export {
5049
// MFA
5150
export { PhoneMultiFactorGenerator } from './src/platform_browser/mfa/assertions/phone';
5251

53-
/**
54-
* An implementation of {@link Persistence} of type 'LOCAL' for use in React
55-
* Native environments.
56-
*
57-
* @public
58-
*/
59-
export const reactNativeLocalPersistence: Persistence =
60-
getReactNativePersistence({
61-
getItem(...args) {
62-
// Called inline to avoid deprecation warnings on startup.
63-
return ReactNative.AsyncStorage.getItem(...args);
64-
},
65-
setItem(...args) {
66-
// Called inline to avoid deprecation warnings on startup.
67-
return ReactNative.AsyncStorage.setItem(...args);
68-
},
69-
removeItem(...args) {
70-
// Called inline to avoid deprecation warnings on startup.
71-
return ReactNative.AsyncStorage.removeItem(...args);
72-
}
73-
});
74-
7552
export { getReactNativePersistence };
7653

7754
export function getAuth(app: FirebaseApp = getApp()): Auth {
@@ -82,7 +59,7 @@ export function getAuth(app: FirebaseApp = getApp()): Auth {
8259
}
8360

8461
return initializeAuth(app, {
85-
persistence: reactNativeLocalPersistence
62+
persistence: getReactNativePersistence(ReactNativeAsyncStorage)
8663
});
8764
}
8865

packages/auth/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
"@firebase/component": "0.6.4",
115115
"@firebase/logger": "0.4.0",
116116
"@firebase/util": "1.9.3",
117+
"@react-native-async-storage/async-storage": "1.17.12",
117118
"node-fetch": "2.6.7",
118119
"tslib": "^2.1.0"
119120
},

yarn.lock

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3070,6 +3070,13 @@
30703070
resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
30713071
integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
30723072

3073+
"@react-native-async-storage/[email protected]":
3074+
version "1.17.12"
3075+
resolved "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.17.12.tgz#a39e4df5b06795ce49b2ca5b7ca9b8faadf8e621"
3076+
integrity sha512-BXg4OxFdjPTRt+8MvN6jz4muq0/2zII3s7HeT/11e4Zeh3WCgk/BleLzUcDfVqF3OzFHUqEkSrb76d6Ndjd/Nw==
3077+
dependencies:
3078+
merge-options "^3.0.4"
3079+
30733080
30743081
version "3.1.9"
30753082
resolved "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz#a5d267548fe48441f34be8323fb64d1d4a1b3fdf"
@@ -12306,6 +12313,13 @@ [email protected]:
1230612313
resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
1230712314
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
1230812315

12316+
merge-options@^3.0.4:
12317+
version "3.0.4"
12318+
resolved "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7"
12319+
integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==
12320+
dependencies:
12321+
is-plain-obj "^2.1.0"
12322+
1230912323
merge-stream@^2.0.0:
1231012324
version "2.0.0"
1231112325
resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"

0 commit comments

Comments
 (0)