@teardown/react-native 2.0.80 → 2.0.85

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @teardown/react-native
1
+ # @teardown/force-updates
2
2
 
3
3
  Comprehensive SDK for managing device identity, force updates, logging, and analytics in React Native and Expo applications.
4
4
 
@@ -17,11 +17,11 @@ Comprehensive SDK for managing device identity, force updates, logging, and anal
17
17
  ## Installation
18
18
 
19
19
  ```bash
20
- npm install @teardown/react-native
20
+ npm install @teardown/force-updates
21
21
  # or
22
- yarn add @teardown/react-native
22
+ yarn add @teardown/force-updates
23
23
  # or
24
- bun add @teardown/react-native
24
+ bun add @teardown/force-updates
25
25
  ```
26
26
 
27
27
  ### Peer Dependencies
@@ -61,9 +61,9 @@ Create a file (e.g., `lib/teardown.ts`):
61
61
 
62
62
  **Expo Setup:**
63
63
  ```tsx
64
- import { TeardownCore } from '@teardown/react-native';
65
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
66
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
64
+ import { TeardownCore } from '@teardown/force-updates';
65
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
66
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
67
67
 
68
68
  export const teardown = new TeardownCore({
69
69
  org_id: 'your-org-id',
@@ -76,9 +76,9 @@ export const teardown = new TeardownCore({
76
76
 
77
77
  **Bare React Native Setup:**
78
78
  ```tsx
79
- import { TeardownCore } from '@teardown/react-native';
80
- import { DeviceInfoAdapter } from '@teardown/react-native/adapters/device-info';
81
- import { AsyncStorageAdapter } from '@teardown/react-native/adapters/async-storage';
79
+ import { TeardownCore } from '@teardown/force-updates';
80
+ import { DeviceInfoAdapter } from '@teardown/force-updates/adapters/device-info';
81
+ import { AsyncStorageAdapter } from '@teardown/force-updates/adapters/async-storage';
82
82
 
83
83
  export const teardown = new TeardownCore({
84
84
  org_id: 'your-org-id',
@@ -92,7 +92,7 @@ export const teardown = new TeardownCore({
92
92
  ### 2. Wrap your app with TeardownProvider
93
93
 
94
94
  ```tsx
95
- import { TeardownProvider } from '@teardown/react-native';
95
+ import { TeardownProvider } from '@teardown/force-updates';
96
96
  import { teardown } from './lib/teardown';
97
97
 
98
98
  export default function App() {
@@ -107,7 +107,7 @@ export default function App() {
107
107
  ### 3. Use in components
108
108
 
109
109
  ```tsx
110
- import { useTeardown, useForceUpdate, useSession } from '@teardown/react-native';
110
+ import { useTeardown, useForceUpdate, useSession } from '@teardown/force-updates';
111
111
 
112
112
  function YourComponent() {
113
113
  const { core } = useTeardown();
@@ -149,10 +149,10 @@ new TeardownCore({
149
149
 
150
150
  | Adapter | Import Path | Use Case |
151
151
  |---------|-------------|----------|
152
- | `ExpoDeviceAdapter` | `@teardown/react-native/adapters/expo` | Expo projects |
153
- | `DeviceInfoAdapter` | `@teardown/react-native/adapters/device-info` | Bare RN projects |
154
- | `MMKVStorageAdapter` | `@teardown/react-native/adapters/mmkv` | Fast sync storage |
155
- | `AsyncStorageAdapter` | `@teardown/react-native/adapters/async-storage` | Standard async storage |
152
+ | `ExpoDeviceAdapter` | `@teardown/force-updates/adapters/expo` | Expo projects |
153
+ | `DeviceInfoAdapter` | `@teardown/force-updates/adapters/device-info` | Bare RN projects |
154
+ | `MMKVStorageAdapter` | `@teardown/force-updates/adapters/mmkv` | Fast sync storage |
155
+ | `AsyncStorageAdapter` | `@teardown/force-updates/adapters/async-storage` | Standard async storage |
156
156
 
157
157
  ## Documentation
158
158
 
@@ -8,9 +8,9 @@ The `BasicAdapter` provides minimal device information without external dependen
8
8
  ## Usage
9
9
 
10
10
  ```typescript
11
- import { TeardownCore } from '@teardown/react-native';
12
- import { BasicAdapter } from '@teardown/react-native/adapters/basic';
13
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
11
+ import { TeardownCore } from '@teardown/force-updates';
12
+ import { BasicAdapter } from '@teardown/force-updates/adapters/basic';
13
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
14
14
 
15
15
  export const teardown = new TeardownCore({
16
16
  org_id: 'your-org-id',
@@ -24,7 +24,7 @@ export const teardown = new TeardownCore({
24
24
  ## Import Path
25
25
 
26
26
  ```typescript
27
- import { BasicAdapter } from '@teardown/react-native/adapters/basic';
27
+ import { BasicAdapter } from '@teardown/force-updates/adapters/basic';
28
28
  ```
29
29
 
30
30
  ## Collected Data
@@ -21,9 +21,9 @@ cd ios && pod install
21
21
  ## Usage
22
22
 
23
23
  ```typescript
24
- import { TeardownCore } from '@teardown/react-native';
25
- import { DeviceInfoAdapter } from '@teardown/react-native/adapters/device-info';
26
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
24
+ import { TeardownCore } from '@teardown/force-updates';
25
+ import { DeviceInfoAdapter } from '@teardown/force-updates/adapters/device-info';
26
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
27
27
 
28
28
  export const teardown = new TeardownCore({
29
29
  org_id: 'your-org-id',
@@ -37,7 +37,7 @@ export const teardown = new TeardownCore({
37
37
  ## Import Path
38
38
 
39
39
  ```typescript
40
- import { DeviceInfoAdapter } from '@teardown/react-native/adapters/device-info';
40
+ import { DeviceInfoAdapter } from '@teardown/force-updates/adapters/device-info';
41
41
  ```
42
42
 
43
43
  ## Collected Data
@@ -14,9 +14,9 @@ npx expo install expo-device expo-application
14
14
  ## Usage
15
15
 
16
16
  ```typescript
17
- import { TeardownCore } from '@teardown/react-native';
18
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
19
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
17
+ import { TeardownCore } from '@teardown/force-updates';
18
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
19
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
20
20
 
21
21
  export const teardown = new TeardownCore({
22
22
  org_id: 'your-org-id',
@@ -30,7 +30,7 @@ export const teardown = new TeardownCore({
30
30
  ## Import Path
31
31
 
32
32
  ```typescript
33
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
33
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
34
34
  ```
35
35
 
36
36
  ## Collected Data
@@ -64,9 +64,9 @@ enum DevicePlatformEnum {
64
64
  ## Usage
65
65
 
66
66
  ```typescript
67
- import { TeardownCore } from '@teardown/react-native';
68
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
69
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
67
+ import { TeardownCore } from '@teardown/force-updates';
68
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
69
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
70
70
 
71
71
  const teardown = new TeardownCore({
72
72
  org_id: 'your-org-id',
@@ -104,7 +104,7 @@ import {
104
104
  type ApplicationInfo,
105
105
  type HardwareInfo,
106
106
  type OSInfo,
107
- } from '@teardown/react-native';
107
+ } from '@teardown/force-updates';
108
108
 
109
109
  class CustomDeviceAdapter extends DeviceInfoAdapter {
110
110
  get applicationInfo(): ApplicationInfo {
@@ -62,9 +62,9 @@ const teardown = new TeardownCore({
62
62
  ### Expo Project
63
63
 
64
64
  ```typescript
65
- import { TeardownCore } from '@teardown/react-native';
66
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
67
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
65
+ import { TeardownCore } from '@teardown/force-updates';
66
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
67
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
68
68
 
69
69
  export const teardown = new TeardownCore({
70
70
  org_id: 'your-org-id',
@@ -78,9 +78,9 @@ export const teardown = new TeardownCore({
78
78
  ### Bare React Native Project
79
79
 
80
80
  ```typescript
81
- import { TeardownCore } from '@teardown/react-native';
82
- import { DeviceInfoAdapter } from '@teardown/react-native/adapters/device-info';
83
- import { AsyncStorageAdapter } from '@teardown/react-native/adapters/async-storage';
81
+ import { TeardownCore } from '@teardown/force-updates';
82
+ import { DeviceInfoAdapter } from '@teardown/force-updates/adapters/device-info';
83
+ import { AsyncStorageAdapter } from '@teardown/force-updates/adapters/async-storage';
84
84
 
85
85
  export const teardown = new TeardownCore({
86
86
  org_id: 'your-org-id',
@@ -16,10 +16,10 @@ npx expo install expo-notifications expo-device expo-constants
16
16
  ## Usage
17
17
 
18
18
  ```typescript
19
- import { TeardownCore } from '@teardown/react-native';
20
- import { ExpoNotificationsAdapter } from '@teardown/react-native/expo';
21
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
22
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
19
+ import { TeardownCore } from '@teardown/force-updates';
20
+ import { ExpoNotificationsAdapter } from '@teardown/force-updates/expo';
21
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
22
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
23
23
 
24
24
  const teardown = new TeardownCore({
25
25
  org_id: 'your-org-id',
@@ -43,7 +43,7 @@ if (teardown.notifications) {
43
43
  ## Import Path
44
44
 
45
45
  ```typescript
46
- import { ExpoNotificationsAdapter } from '@teardown/react-native/expo';
46
+ import { ExpoNotificationsAdapter } from '@teardown/force-updates/expo';
47
47
  ```
48
48
 
49
49
  ## API
@@ -23,10 +23,10 @@ cd ios && pod install
23
23
  ## Usage
24
24
 
25
25
  ```typescript
26
- import { TeardownCore } from '@teardown/react-native';
27
- import { FirebaseMessagingAdapter } from '@teardown/react-native/firebase';
28
- import { DeviceInfoAdapter } from '@teardown/react-native/adapters/device-info';
29
- import { AsyncStorageAdapter } from '@teardown/react-native/adapters/async-storage';
26
+ import { TeardownCore } from '@teardown/force-updates';
27
+ import { FirebaseMessagingAdapter } from '@teardown/force-updates/firebase';
28
+ import { DeviceInfoAdapter } from '@teardown/force-updates/adapters/device-info';
29
+ import { AsyncStorageAdapter } from '@teardown/force-updates/adapters/async-storage';
30
30
 
31
31
  const teardown = new TeardownCore({
32
32
  org_id: 'your-org-id',
@@ -50,7 +50,7 @@ if (teardown.notifications) {
50
50
  ## Import Path
51
51
 
52
52
  ```typescript
53
- import { FirebaseMessagingAdapter } from '@teardown/react-native/firebase';
53
+ import { FirebaseMessagingAdapter } from '@teardown/force-updates/firebase';
54
54
  ```
55
55
 
56
56
  ## API
@@ -21,10 +21,10 @@ Notification adapters handle push notification token registration, permission re
21
21
  Notification adapters are passed to `TeardownCore` to enable push notification support:
22
22
 
23
23
  ```typescript
24
- import { TeardownCore } from '@teardown/react-native';
25
- import { ExpoNotificationsAdapter } from '@teardown/react-native/expo';
26
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
27
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
24
+ import { TeardownCore } from '@teardown/force-updates';
25
+ import { ExpoNotificationsAdapter } from '@teardown/force-updates/expo';
26
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
27
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
28
28
 
29
29
  const teardown = new TeardownCore({
30
30
  org_id: 'your-org-id',
@@ -130,7 +130,7 @@ import {
130
130
  type PushNotification,
131
131
  type DataMessage,
132
132
  type Unsubscribe,
133
- } from '@teardown/react-native';
133
+ } from '@teardown/force-updates';
134
134
 
135
135
  class CustomNotificationsAdapter extends NotificationAdapter {
136
136
  get platform(): NotificationPlatformEnum {
@@ -23,10 +23,10 @@ cd ios && pod install
23
23
  ## Usage
24
24
 
25
25
  ```typescript
26
- import { TeardownCore } from '@teardown/react-native';
27
- import { WixNotificationsAdapter } from '@teardown/react-native/wix';
28
- import { DeviceInfoAdapter } from '@teardown/react-native/adapters/device-info';
29
- import { AsyncStorageAdapter } from '@teardown/react-native/adapters/async-storage';
26
+ import { TeardownCore } from '@teardown/force-updates';
27
+ import { WixNotificationsAdapter } from '@teardown/force-updates/wix';
28
+ import { DeviceInfoAdapter } from '@teardown/force-updates/adapters/device-info';
29
+ import { AsyncStorageAdapter } from '@teardown/force-updates/adapters/async-storage';
30
30
 
31
31
  const teardown = new TeardownCore({
32
32
  org_id: 'your-org-id',
@@ -50,7 +50,7 @@ if (teardown.notifications) {
50
50
  ## Import Path
51
51
 
52
52
  ```typescript
53
- import { WixNotificationsAdapter } from '@teardown/react-native/wix';
53
+ import { WixNotificationsAdapter } from '@teardown/force-updates/wix';
54
54
  ```
55
55
 
56
56
  ## API
@@ -21,9 +21,9 @@ npx expo install @react-native-async-storage/async-storage
21
21
  ## Usage
22
22
 
23
23
  ```typescript
24
- import { TeardownCore } from '@teardown/react-native';
25
- import { DeviceInfoAdapter } from '@teardown/react-native/adapters/device-info';
26
- import { AsyncStorageAdapter } from '@teardown/react-native/adapters/async-storage';
24
+ import { TeardownCore } from '@teardown/force-updates';
25
+ import { DeviceInfoAdapter } from '@teardown/force-updates/adapters/device-info';
26
+ import { AsyncStorageAdapter } from '@teardown/force-updates/adapters/async-storage';
27
27
 
28
28
  export const teardown = new TeardownCore({
29
29
  org_id: 'your-org-id',
@@ -37,7 +37,7 @@ export const teardown = new TeardownCore({
37
37
  ## Import Path
38
38
 
39
39
  ```typescript
40
- import { AsyncStorageAdapter } from '@teardown/react-native/adapters/async-storage';
40
+ import { AsyncStorageAdapter } from '@teardown/force-updates/adapters/async-storage';
41
41
  ```
42
42
 
43
43
  ## When to Use
@@ -53,7 +53,7 @@ teardown:{org_id}:{project_id}:device:device_id
53
53
  Extend `StorageAdapter` for custom implementations:
54
54
 
55
55
  ```typescript
56
- import { StorageAdapter, type SupportedStorage } from '@teardown/react-native';
56
+ import { StorageAdapter, type SupportedStorage } from '@teardown/force-updates';
57
57
 
58
58
  class CustomStorageAdapter extends StorageAdapter {
59
59
  createStorage(storageKey: string): SupportedStorage {
@@ -21,9 +21,9 @@ cd ios && pod install
21
21
  ## Usage
22
22
 
23
23
  ```typescript
24
- import { TeardownCore } from '@teardown/react-native';
25
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
26
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
24
+ import { TeardownCore } from '@teardown/force-updates';
25
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
26
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
27
27
 
28
28
  export const teardown = new TeardownCore({
29
29
  org_id: 'your-org-id',
@@ -37,7 +37,7 @@ export const teardown = new TeardownCore({
37
37
  ## Import Path
38
38
 
39
39
  ```typescript
40
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
40
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
41
41
  ```
42
42
 
43
43
  ## Benefits
package/docs/advanced.mdx CHANGED
@@ -36,9 +36,9 @@ export const teardown = new TeardownCore({
36
36
  Enable push notifications by providing a notification adapter:
37
37
 
38
38
  ```typescript
39
- import { TeardownCore } from '@teardown/react-native';
40
- import { ExpoNotificationsAdapter, ExpoDeviceAdapter } from '@teardown/react-native/expo';
41
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
39
+ import { TeardownCore } from '@teardown/force-updates';
40
+ import { ExpoNotificationsAdapter, ExpoDeviceAdapter } from '@teardown/force-updates/expo';
41
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
42
42
 
43
43
  const teardown = new TeardownCore({
44
44
  org_id: 'your-org-id',
@@ -206,7 +206,7 @@ function App() {
206
206
  ### Mock the SDK
207
207
 
208
208
  ```typescript
209
- // __mocks__/@teardown/react-native.ts
209
+ // __mocks__/@teardown/force-updates.ts
210
210
  export const TeardownProvider = ({ children }) => children;
211
211
 
212
212
  export const useTeardown = () => ({
@@ -353,7 +353,7 @@ import type {
353
353
  VersionStatus,
354
354
  Persona,
355
355
  AsyncResult,
356
- } from '@teardown/react-native';
356
+ } from '@teardown/force-updates';
357
357
  ```
358
358
 
359
359
  ### Type Guards
@@ -34,7 +34,7 @@ Update status types include an optional `releaseNotes` field containing notes se
34
34
  ### Using the Hook
35
35
 
36
36
  ```typescript
37
- import { useForceUpdate } from '@teardown/react-native';
37
+ import { useForceUpdate } from '@teardown/force-updates';
38
38
 
39
39
  function App() {
40
40
  const { versionStatus, isUpdateRequired, isUpdateAvailable, isUpdateRecommended, releaseNotes } = useForceUpdate();
@@ -9,11 +9,11 @@ icon: Rocket
9
9
  Install the core package:
10
10
 
11
11
  ```bash
12
- bun add @teardown/react-native
12
+ bun add @teardown/force-updates
13
13
  # or
14
- npm install @teardown/react-native
14
+ npm install @teardown/force-updates
15
15
  # or
16
- yarn add @teardown/react-native
16
+ yarn add @teardown/force-updates
17
17
  ```
18
18
 
19
19
  ### Peer Dependencies
@@ -53,9 +53,9 @@ Create a file to initialize the Teardown SDK (e.g., `lib/teardown.ts`):
53
53
 
54
54
  **Expo Setup:**
55
55
  ```typescript
56
- import { TeardownCore } from '@teardown/react-native';
57
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
58
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
56
+ import { TeardownCore } from '@teardown/force-updates';
57
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
58
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
59
59
 
60
60
  export const teardown = new TeardownCore({
61
61
  org_id: 'your-org-id',
@@ -68,9 +68,9 @@ export const teardown = new TeardownCore({
68
68
 
69
69
  **Bare React Native Setup:**
70
70
  ```typescript
71
- import { TeardownCore } from '@teardown/react-native';
72
- import { DeviceInfoAdapter } from '@teardown/react-native/adapters/device-info';
73
- import { AsyncStorageAdapter } from '@teardown/react-native/adapters/async-storage';
71
+ import { TeardownCore } from '@teardown/force-updates';
72
+ import { DeviceInfoAdapter } from '@teardown/force-updates/adapters/device-info';
73
+ import { AsyncStorageAdapter } from '@teardown/force-updates/adapters/async-storage';
74
74
 
75
75
  export const teardown = new TeardownCore({
76
76
  org_id: 'your-org-id',
@@ -86,7 +86,7 @@ export const teardown = new TeardownCore({
86
86
  In your root layout file (e.g., `app/_layout.tsx` for Expo Router):
87
87
 
88
88
  ```typescript
89
- import { TeardownProvider } from '@teardown/react-native';
89
+ import { TeardownProvider } from '@teardown/force-updates';
90
90
  import { teardown } from '../lib/teardown';
91
91
 
92
92
  export default function RootLayout() {
@@ -101,7 +101,7 @@ export default function RootLayout() {
101
101
  ### 3. Use in Components
102
102
 
103
103
  ```typescript
104
- import { useTeardown, useSession, useForceUpdate } from '@teardown/react-native';
104
+ import { useTeardown, useSession, useForceUpdate } from '@teardown/force-updates';
105
105
 
106
106
  function MyComponent() {
107
107
  const { core } = useTeardown();
@@ -144,10 +144,10 @@ function MyComponent() {
144
144
 
145
145
  | Adapter | Import Path | Use Case |
146
146
  |---------|-------------|----------|
147
- | `ExpoDeviceAdapter` | `@teardown/react-native/adapters/expo` | Expo projects |
148
- | `DeviceInfoAdapter` | `@teardown/react-native/adapters/device-info` | Bare RN projects |
149
- | `MMKVStorageAdapter` | `@teardown/react-native/adapters/mmkv` | Fast sync storage |
150
- | `AsyncStorageAdapter` | `@teardown/react-native/adapters/async-storage` | Standard async storage |
147
+ | `ExpoDeviceAdapter` | `@teardown/force-updates/adapters/expo` | Expo projects |
148
+ | `DeviceInfoAdapter` | `@teardown/force-updates/adapters/device-info` | Bare RN projects |
149
+ | `MMKVStorageAdapter` | `@teardown/force-updates/adapters/mmkv` | Fast sync storage |
150
+ | `AsyncStorageAdapter` | `@teardown/force-updates/adapters/async-storage` | Standard async storage |
151
151
 
152
152
  ## Next Steps
153
153
 
@@ -11,7 +11,7 @@ The SDK provides React hooks for reactive access to SDK state.
11
11
  Context provider that makes the SDK available to all child components.
12
12
 
13
13
  ```tsx
14
- import { TeardownProvider } from '@teardown/react-native';
14
+ import { TeardownProvider } from '@teardown/force-updates';
15
15
  import { teardown } from './lib/teardown';
16
16
 
17
17
  function App() {
@@ -37,7 +37,7 @@ function App() {
37
37
  Access the TeardownCore instance from any component.
38
38
 
39
39
  ```typescript
40
- import { useTeardown } from '@teardown/react-native';
40
+ import { useTeardown } from '@teardown/force-updates';
41
41
 
42
42
  function MyComponent() {
43
43
  const { core } = useTeardown();
@@ -67,7 +67,7 @@ Throws an error if used outside of `TeardownProvider`.
67
67
  Get the current session with reactive updates.
68
68
 
69
69
  ```typescript
70
- import { useSession } from '@teardown/react-native';
70
+ import { useSession } from '@teardown/force-updates';
71
71
 
72
72
  function ProfileScreen() {
73
73
  const session = useSession();
@@ -115,7 +115,7 @@ The hook subscribes to `identity.onIdentifyStateChange()` and re-renders when:
115
115
  Get version status with reactive updates.
116
116
 
117
117
  ```typescript
118
- import { useForceUpdate } from '@teardown/react-native';
118
+ import { useForceUpdate } from '@teardown/force-updates';
119
119
 
120
120
  function App() {
121
121
  const {
package/docs/index.mdx CHANGED
@@ -18,13 +18,13 @@ The Teardown React Native SDK provides everything you need to manage device iden
18
18
  ## Quick Start
19
19
 
20
20
  ```bash
21
- bun add @teardown/react-native
21
+ bun add @teardown/force-updates
22
22
  ```
23
23
 
24
24
  ```tsx
25
- import { TeardownCore, TeardownProvider } from '@teardown/react-native';
26
- import { ExpoDeviceAdapter } from '@teardown/react-native/adapters/expo';
27
- import { MMKVStorageAdapter } from '@teardown/react-native/adapters/mmkv';
25
+ import { TeardownCore, TeardownProvider } from '@teardown/force-updates';
26
+ import { ExpoDeviceAdapter } from '@teardown/force-updates/adapters/expo';
27
+ import { MMKVStorageAdapter } from '@teardown/force-updates/adapters/mmkv';
28
28
 
29
29
  const teardown = new TeardownCore({
30
30
  org_id: 'your-org-id',
package/docs/meta.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "title": "React Native SDK",
2
+ "title": "Force Updates",
3
3
  "pages": [
4
4
  "getting-started",
5
5
  "core-concepts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teardown/react-native",
3
- "version": "2.0.80",
3
+ "version": "2.0.85",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -52,18 +52,18 @@
52
52
  "prepublishOnly": "bun run build"
53
53
  },
54
54
  "dependencies": {
55
- "@teardown/ingest-api": "2.0.80",
56
- "@teardown/schemas": "2.0.80",
57
- "@teardown/types": "2.0.80",
55
+ "@teardown/ingest-api": "2.0.85",
56
+ "@teardown/schemas": "2.0.85",
57
+ "@teardown/types": "2.0.85",
58
58
  "eventemitter3": "^5.0.1",
59
59
  "react-native-get-random-values": "^2.0.0",
60
60
  "uuid": "^13.0.0",
61
- "zod": "4.2.1"
61
+ "zod": "4.3.6"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@biomejs/biome": "2.3.11",
65
65
  "@react-native-firebase/messaging": "*",
66
- "@teardown/tsconfig": "2.0.80",
66
+ "@teardown/tsconfig": "2.0.85",
67
67
  "@types/bun": "1.3.5",
68
68
  "@types/react": "~19.1.0",
69
69
  "@types/uuid": "^11.0.0",
@@ -14,8 +14,8 @@ import {
14
14
  *
15
15
  * @example
16
16
  * ```typescript
17
- * import { NotificationsClient } from "@teardown/react-native";
18
- * import { ExpoNotificationsAdapter } from "@teardown/react-native/expo-notifications";
17
+ * import { NotificationsClient } from "@teardown/force-updates";
18
+ * import { ExpoNotificationsAdapter } from "@teardown/force-updates/expo-notifications";
19
19
  *
20
20
  * const notifications = new NotificationsClient(logging, storage, {
21
21
  * adapter: new ExpoNotificationsAdapter()
@@ -14,8 +14,8 @@ import {
14
14
  *
15
15
  * @example
16
16
  * ```typescript
17
- * import { NotificationsClient } from "@teardown/react-native";
18
- * import { FirebaseMessagingAdapter } from "@teardown/react-native/firebase-messaging";
17
+ * import { NotificationsClient } from "@teardown/force-updates";
18
+ * import { FirebaseMessagingAdapter } from "@teardown/force-updates/firebase-messaging";
19
19
  *
20
20
  * const notifications = new NotificationsClient(logging, storage, {
21
21
  * adapter: new FirebaseMessagingAdapter()
@@ -55,7 +55,7 @@ export abstract class NotificationAdapter {
55
55
  constructor() {
56
56
  if (__DEV__) {
57
57
  console.warn(
58
- "[@teardown/react-native] Notification adapters are a work in progress and may change in future releases."
58
+ "[@teardown/force-updates] Notification adapters are a work in progress and may change in future releases."
59
59
  );
60
60
  }
61
61
  }
@@ -18,8 +18,8 @@ import {
18
18
  *
19
19
  * @example
20
20
  * ```typescript
21
- * import { NotificationsClient } from "@teardown/react-native";
22
- * import { WixNotificationsAdapter } from "@teardown/react-native/wix-notifications";
21
+ * import { NotificationsClient } from "@teardown/force-updates";
22
+ * import { WixNotificationsAdapter } from "@teardown/force-updates/wix-notifications";
23
23
  *
24
24
  * const notifications = new NotificationsClient(logging, storage, {
25
25
  * adapter: new WixNotificationsAdapter()
@@ -32,8 +32,8 @@ export interface NotificationsClientOptions {
32
32
  *
33
33
  * @example
34
34
  * ```typescript
35
- * import { NotificationsClient } from "@teardown/react-native";
36
- * import { ExpoNotificationsAdapter } from "@teardown/react-native/expo-notifications";
35
+ * import { NotificationsClient } from "@teardown/force-updates";
36
+ * import { ExpoNotificationsAdapter } from "@teardown/force-updates/expo-notifications";
37
37
  *
38
38
  * const notifications = new NotificationsClient(logging, storage, {
39
39
  * adapter: new ExpoNotificationsAdapter()
@@ -1,3 +1,17 @@
1
+ // Deprecation warning - only log in development
2
+ if (typeof __DEV__ !== "undefined" && __DEV__) {
3
+ console.warn(
4
+ "[@teardown/react-native] This package has been renamed to @teardown/force-updates.\n" +
5
+ "This is the final version of @teardown/react-native.\n" +
6
+ "Please migrate to @teardown/force-updates:\n\n" +
7
+ " npm uninstall @teardown/react-native\n" +
8
+ " npm install @teardown/force-updates\n\n" +
9
+ "Then update your imports:\n" +
10
+ " - import { ... } from '@teardown/react-native'\n" +
11
+ " + import { ... } from '@teardown/force-updates'"
12
+ );
13
+ }
14
+
1
15
  // Clients
2
16
  export * from "../clients/api";
3
17
  export * from "../clients/device/device.client";