react-native-stallion 2.4.0-alpha.4 β 2.4.0-alpha.6
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 +178 -32
- package/android/src/main/cpp/CMakeLists.txt +4 -0
- package/android/src/main/java/com/stallion/StallionModule.java +9 -0
- package/ios/main/Stallion.m +22 -0
- package/package.json +1 -1
- package/src/index.js +2 -0
- package/src/index.js.map +1 -1
- package/src/main/utils/StallionNativeUtils.js +3 -0
- package/src/main/utils/StallionNativeUtils.js.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/main/utils/StallionNativeUtils.d.ts +2 -1
- package/types/main/utils/StallionNativeUtils.d.ts.map +1 -1
- package/types/types/utils.types.d.ts +1 -0
- package/types/types/utils.types.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -1,76 +1,222 @@
|
|
|
1
1
|
[](https://stalliontech.io/)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
# Stallion β React Native OTA Updates Made Simple
|
|
3
|
+
# React Native Stallion β Best CodePush Alternative & Expo Updates Replacement
|
|
6
4
|
|
|
7
5
|
[](https://www.npmjs.com/package/react-native-stallion)
|
|
8
6
|
[](https://www.npmjs.com/package/react-native-stallion)
|
|
9
7
|
|
|
10
|
-
**Stallion** is
|
|
8
|
+
**React Native Stallion** is the modern **CodePush alternative** and **App Center replacement** for React Native apps. Ship app updates instantly with **98% smaller patches**βno App Store delays. The best **Expo Updates alternative** with advanced OTA controls, patch-based updates, and enterprise-grade security.
|
|
9
|
+
|
|
10
|
+
π **[Sign up with Stallion](https://console.stalliontech.io/)** to start shipping OTA updates today
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Why Choose React Native Stallion?
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
16
|
+
React Native Stallion is the **best CodePush alternative** for teams that need modern OTA update capabilities:
|
|
17
|
+
|
|
18
|
+
- **98% Smaller Patch Updates** β Binary-safe differential updates, not full bundles
|
|
19
|
+
- **Automatic Rollback & Crash Recovery** β Instant rollback on crashes or failures
|
|
20
|
+
- **Enterprise-Grade Security** β Cryptographic bundle signing with customer keys
|
|
21
|
+
- **Zero App Store Delays** β Ship JavaScript updates instantly, no review needed
|
|
22
|
+
- **CodePush Compatible** β Easy migration from CodePush or App Center
|
|
23
|
+
- **Advanced Analytics** β Release-wise adoption and failure tracking
|
|
24
|
+
- **On-Premise Option** β Self-hosted deployment for enterprise security
|
|
25
|
+
- **Free Tier Available** β Perfect for indie devs and small teams
|
|
24
26
|
|
|
25
27
|
---
|
|
26
28
|
|
|
27
|
-
##
|
|
29
|
+
## Quick Start
|
|
28
30
|
|
|
29
|
-
###
|
|
31
|
+
### Installation
|
|
30
32
|
|
|
31
33
|
```bash
|
|
32
|
-
npm install
|
|
34
|
+
npm install react-native-stallion@latest
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Basic Usage
|
|
38
|
+
|
|
39
|
+
```javascript
|
|
40
|
+
import { useStallionUpdate, restart } from 'react-native-stallion'
|
|
41
|
+
|
|
42
|
+
const UpdateModal = () => {
|
|
43
|
+
const { isRestartRequired, newReleaseBundle } = useStallionUpdate()
|
|
44
|
+
|
|
45
|
+
if (!isRestartRequired) return null
|
|
46
|
+
|
|
47
|
+
return (
|
|
48
|
+
<Modal visible>
|
|
49
|
+
<Text>{newReleaseBundle?.releaseNote || 'Update ready!'}</Text>
|
|
50
|
+
<Button onPress={restart} title="Restart App" />
|
|
51
|
+
</Modal>
|
|
52
|
+
)
|
|
53
|
+
}
|
|
33
54
|
```
|
|
34
55
|
|
|
35
|
-
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Key Features
|
|
59
|
+
|
|
60
|
+
### Patch Updates (98% Smaller)
|
|
61
|
+
|
|
62
|
+
React Native Stallion uses **binary-safe differential updates** instead of full bundles. Ship only what changedβtiny patches that are cryptographically verified and applied atomically.
|
|
63
|
+
|
|
64
|
+
- **Differential/Patch Updates** β Binary-safe diffs, 98% smaller than full bundles
|
|
65
|
+
- **Bandwidth Efficiency** β Minimal data transfer for faster installs
|
|
66
|
+
- **Instant Updates** β Users never notice the update process
|
|
67
|
+
|
|
68
|
+
### Automatic Rollback & Crash Recovery
|
|
69
|
+
|
|
70
|
+
Protect your users with automatic rollback capabilities:
|
|
71
|
+
|
|
72
|
+
- **Automatic Rollback** β Instant rollback on crashes or failures
|
|
73
|
+
- **Crash Loop Prevention** β Prevents bad updates from breaking your app
|
|
74
|
+
- **Manual Rollback** β Device-level revert for installed updates
|
|
75
|
+
- **Rollback Analytics** β Track rollback rates and reasons
|
|
76
|
+
|
|
77
|
+
### Enterprise Security
|
|
78
|
+
|
|
79
|
+
Enterprise-grade security features for production apps:
|
|
80
|
+
|
|
81
|
+
- **Bundle Signing** β Cryptographic verification with customer-managed keys
|
|
82
|
+
- **Integrity Verification** β SHA-256 checksums for tamper-proof updates
|
|
83
|
+
- **On-Premise Hosting** β Deploy behind your firewall with full control
|
|
84
|
+
- **GDPR & Regional Compliance** β Data residency options
|
|
85
|
+
|
|
86
|
+
### Advanced OTA Controls
|
|
87
|
+
|
|
88
|
+
Granular control over update deployment:
|
|
89
|
+
|
|
90
|
+
- **Mandatory & Optional Updates** β CodePush-style update flows
|
|
91
|
+
- **Phased Rollout** β Gradual deployment with percentage controls
|
|
92
|
+
- **Custom Update UI** β Build custom modals, banners, or prompts
|
|
93
|
+
- **Update Strategy Control** β Granular install strategies
|
|
94
|
+
- **Background Updates** β Automatic checks when app moves to foreground
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## π§ Installation & Setup
|
|
99
|
+
|
|
100
|
+
### Step 1: Install the Package
|
|
36
101
|
|
|
37
102
|
```bash
|
|
38
|
-
|
|
103
|
+
npm install react-native-stallion@latest
|
|
104
|
+
# or
|
|
105
|
+
yarn add react-native-stallion@latest
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Step 2: Native Integration
|
|
109
|
+
|
|
110
|
+
For complete setup instructions, native integration steps, and environment configurations, visit:
|
|
111
|
+
|
|
112
|
+
**π [Full Installation Guide](https://learn.stalliontech.io/docs/sdk/installation)**
|
|
113
|
+
|
|
114
|
+
### Step 3: Configure Stallion
|
|
115
|
+
|
|
116
|
+
```javascript
|
|
117
|
+
import { withStallion } from 'react-native-stallion'
|
|
118
|
+
|
|
119
|
+
export default withStallion(RootComponent);
|
|
39
120
|
```
|
|
40
121
|
|
|
41
122
|
---
|
|
42
123
|
|
|
43
|
-
##
|
|
124
|
+
## Documentation & Resources
|
|
125
|
+
|
|
126
|
+
### Complete Documentation
|
|
127
|
+
|
|
128
|
+
- **[Full Documentation](https://learn.stalliontech.io)** β Complete API reference and guides
|
|
129
|
+
- **[SDK Installation](https://learn.stalliontech.io/docs/sdk/installation)** β Step-by-step setup
|
|
130
|
+
- **[Bundle Signing](https://learn.stalliontech.io/docs/bundle-signing)** β Security best practices
|
|
131
|
+
- **[Custom Update UI](https://learn.stalliontech.io/blogs/react-native-over-the-air-updates-with-custom-ui)** β Build custom flows
|
|
132
|
+
- **[CI/CD Integration](https://learn.stalliontech.io/docs/release-automation)** β Automate deployments
|
|
133
|
+
|
|
134
|
+
### Migration Guides
|
|
135
|
+
|
|
136
|
+
- **[CodePush Migration](https://learn.stalliontech.io/docs/migrating-from-codepush)** β Migrate from CodePush
|
|
137
|
+
- **[App Center Migration](https://stalliontech.io/app-center-alternative)** β Replace App Center
|
|
138
|
+
- **[Expo Updates Migration](https://stalliontech.io/expo-eas-update)** β Switch from Expo Updates
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Use Cases
|
|
143
|
+
|
|
144
|
+
### CodePush Alternative
|
|
145
|
+
|
|
146
|
+
React Native Stallion is the **best CodePush alternative** for teams migrating from deprecated CodePush or App Center:
|
|
147
|
+
|
|
148
|
+
- β
CodePush-compatible API
|
|
149
|
+
- β
Patch updates (CodePush doesn't support)
|
|
150
|
+
- β
Active development and support
|
|
151
|
+
- β
Modern features and security
|
|
152
|
+
|
|
153
|
+
### Expo Updates Replacement
|
|
154
|
+
|
|
155
|
+
The best **Expo Updates alternative** with more features:
|
|
156
|
+
|
|
157
|
+
- β
Patch updates (98% smaller)
|
|
158
|
+
- β
Advanced OTA controls
|
|
159
|
+
- β
More affordable pricing
|
|
160
|
+
- β
Works with Expo SDK 52+ and bare React Native
|
|
161
|
+
|
|
162
|
+
### Enterprise OTA Updates
|
|
163
|
+
|
|
164
|
+
Enterprise-grade OTA update solution:
|
|
165
|
+
|
|
166
|
+
- β
On-premise hosting
|
|
167
|
+
- β
SOC 2 compliant
|
|
168
|
+
- β
Bundle signing with customer keys
|
|
169
|
+
- β
Regional compliance options
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Security Features
|
|
44
174
|
|
|
45
|
-
|
|
46
|
-
**
|
|
175
|
+
- **Cryptographic Bundle Signing** β Customer-managed keys for tamper-proof updates
|
|
176
|
+
- **SHA-256 Integrity Verification** β Automatic checksum validation
|
|
177
|
+
- **Automatic Crash Detection** β Instant rollback on crashes
|
|
178
|
+
- **On-Premise Deployment** β Full infrastructure control
|
|
179
|
+
- **Audit Logging** β Complete audit trails for compliance
|
|
47
180
|
|
|
48
181
|
---
|
|
49
182
|
|
|
50
|
-
##
|
|
183
|
+
## Enterprise & On-Premise
|
|
184
|
+
|
|
185
|
+
### On-Premise Hosting
|
|
186
|
+
|
|
187
|
+
Take full control with self-hosted deployment:
|
|
188
|
+
|
|
189
|
+
- **Enterprise-Grade Security** β Behind your firewall
|
|
190
|
+
- **Complete Infrastructure Control** β Your data centers
|
|
191
|
+
- **Regional Compliance** β GDPR & data residency
|
|
192
|
+
- **Seamless CI/CD** β REST APIs and webhooks
|
|
193
|
+
- **Zero Vendor Lock-in** β Full access to logs and metrics
|
|
51
194
|
|
|
52
|
-
|
|
53
|
-
**https://learn.stalliontech.io**
|
|
195
|
+
**[Contact sales for on-premise hosting](https://stalliontech.io/)**
|
|
54
196
|
|
|
55
197
|
---
|
|
56
198
|
|
|
57
|
-
##
|
|
199
|
+
## Contributing
|
|
58
200
|
|
|
59
|
-
Please see the [CONTRIBUTING.md](./CONTRIBUTING.md) file to get started
|
|
201
|
+
We welcome contributions! Please see the [CONTRIBUTING.md](./CONTRIBUTING.md) file to get started.
|
|
60
202
|
|
|
61
203
|
---
|
|
62
204
|
|
|
63
|
-
##
|
|
205
|
+
## Issues & Support
|
|
64
206
|
|
|
65
|
-
|
|
207
|
+
- **[Open Issues](https://github.com/stallion-tech/react-native-stallion/issues)** β Report bugs or request features
|
|
208
|
+
- **[Documentation](https://learn.stalliontech.io)** β Complete guides and API reference
|
|
209
|
+
- **[Contact Support](https://stalliontech.io/)** β Get help from our team
|
|
66
210
|
|
|
67
211
|
---
|
|
68
212
|
|
|
69
|
-
##
|
|
213
|
+
## π Links
|
|
70
214
|
|
|
71
|
-
|
|
215
|
+
- **Website:** [https://stalliontech.io](https://stalliontech.io)
|
|
216
|
+
- **Documentation:** [https://learn.stalliontech.io](https://learn.stalliontech.io)
|
|
217
|
+
- **Console:** [https://console.stalliontech.io](https://console.stalliontech.io)
|
|
218
|
+
- **NPM Package:** [https://www.npmjs.com/package/react-native-stallion](https://www.npmjs.com/package/react-native-stallion)
|
|
72
219
|
|
|
73
220
|
---
|
|
74
221
|
|
|
75
|
-
> **Stallion
|
|
76
|
-
> Learn more at: **https://stalliontech.io**
|
|
222
|
+
> **React Native Stallion** β The fastest, safest way to manage React Native OTA updates. The best **CodePush alternative** and **Expo Updates replacement** with patch-based updates, enterprise security, and 98% smaller deployments.
|
|
@@ -183,6 +183,15 @@ public class StallionModule extends ReactContextBaseJavaModule implements Lifecy
|
|
|
183
183
|
ProcessPhoenix.triggerRebirth(getReactApplicationContext());
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
+
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
187
|
+
public String getActiveReleaseHash() {
|
|
188
|
+
try {
|
|
189
|
+
return stallionStateManager.stallionMeta.getActiveReleaseHash();
|
|
190
|
+
} catch (Exception e) {
|
|
191
|
+
return "";
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
186
195
|
@ReactMethod
|
|
187
196
|
public void addListener(String eventName) {
|
|
188
197
|
// No-op: required for RN event emitter contract
|
package/ios/main/Stallion.m
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#import <React/RCTBridgeModule.h>
|
|
2
2
|
#import <React/RCTEventEmitter.h>
|
|
3
|
+
#import "StallionStateManager.h"
|
|
4
|
+
#import "StallionMeta.h"
|
|
3
5
|
|
|
4
6
|
@interface RCT_EXTERN_MODULE(Stallion, NSObject)
|
|
5
7
|
|
|
@@ -40,3 +42,23 @@ RCT_EXTERN_METHOD(restart)
|
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
@end
|
|
45
|
+
|
|
46
|
+
// Forward declare the class (implemented in Swift)
|
|
47
|
+
@class Stallion;
|
|
48
|
+
|
|
49
|
+
@interface Stallion (Sync)
|
|
50
|
+
@end
|
|
51
|
+
|
|
52
|
+
@implementation Stallion (Sync)
|
|
53
|
+
|
|
54
|
+
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(getActiveReleaseHash)
|
|
55
|
+
{
|
|
56
|
+
StallionStateManager *stateManager = [StallionStateManager sharedInstance];
|
|
57
|
+
if (stateManager && stateManager.stallionMeta) {
|
|
58
|
+
NSString *hash = [stateManager.stallionMeta getActiveReleaseHash];
|
|
59
|
+
return hash ? hash : @"";
|
|
60
|
+
}
|
|
61
|
+
return @"";
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@end
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import useStallionModalNoop from './noop/useStallionModal';
|
|
|
8
8
|
import withStallionMain from './main/utils/withStallion';
|
|
9
9
|
import useStallionModalMain from './main/utils/useStallionModal';
|
|
10
10
|
import { stallionEventEmitter } from './main/utils/StallionEventEmitter';
|
|
11
|
+
import { getActiveReleaseHashNative } from './main/utils/StallionNativeUtils';
|
|
11
12
|
export let withStallion;
|
|
12
13
|
export let useStallionModal;
|
|
13
14
|
if (StallionNativeModule !== null && StallionNativeModule !== void 0 && StallionNativeModule.getStallionConfig) {
|
|
@@ -22,4 +23,5 @@ export { sync, restart } from './main/utils/StallionNativeUtils';
|
|
|
22
23
|
export { useStallionUpdate } from './main/utils/useStallionUpdate';
|
|
23
24
|
export const addEventListener = stallionEventEmitter.addEventListener.bind(stallionEventEmitter);
|
|
24
25
|
export const removeEventListener = stallionEventEmitter.removeEventListener.bind(stallionEventEmitter);
|
|
26
|
+
export const ACTIVE_RELEASE_HASH = getActiveReleaseHashNative();
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StallionNativeModule","STALLION_DISABLED_ERROR","withStallionNoop","useStallionModalNoop","withStallionMain","useStallionModalMain","stallionEventEmitter","withStallion","useStallionModal","getStallionConfig","console","warn","sync","restart","useStallionUpdate","addEventListener","bind","removeEventListener"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,OAAOA,oBAAoB,IACzBC,uBAAuB,QAClB,wBAAwB;;AAE/B;AACA,OAAOC,gBAAgB,MAAM,qBAAqB;AAClD,OAAOC,oBAAoB,MAAM,yBAAyB;;AAE1D;AACA,OAAOC,gBAAgB,MAAM,2BAA2B;AACxD,OAAOC,oBAAoB,MAAM,+BAA+B;AAGhE,SAASC,oBAAoB,QAAQ,mCAAmC;
|
|
1
|
+
{"version":3,"names":["StallionNativeModule","STALLION_DISABLED_ERROR","withStallionNoop","useStallionModalNoop","withStallionMain","useStallionModalMain","stallionEventEmitter","getActiveReleaseHashNative","withStallion","useStallionModal","getStallionConfig","console","warn","sync","restart","useStallionUpdate","addEventListener","bind","removeEventListener","ACTIVE_RELEASE_HASH"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,OAAOA,oBAAoB,IACzBC,uBAAuB,QAClB,wBAAwB;;AAE/B;AACA,OAAOC,gBAAgB,MAAM,qBAAqB;AAClD,OAAOC,oBAAoB,MAAM,yBAAyB;;AAE1D;AACA,OAAOC,gBAAgB,MAAM,2BAA2B;AACxD,OAAOC,oBAAoB,MAAM,+BAA+B;AAGhE,SAASC,oBAAoB,QAAQ,mCAAmC;AACxE,SAASC,0BAA0B,QAAQ,kCAAkC;AAE7E,OAAO,IAAIC,YAA2B;AACtC,OAAO,IAAIC,gBAAyC;AAEpD,IAAIT,oBAAoB,aAApBA,oBAAoB,eAApBA,oBAAoB,CAAEU,iBAAiB,EAAE;EAC3CF,YAAY,GAAGJ,gBAAgB;EAC/BK,gBAAgB,GAAGJ,oBAAoB;AACzC,CAAC,MAAM;EACLM,OAAO,CAACC,IAAI,CAACX,uBAAuB,CAAC;EACrCO,YAAY,GAAGN,gBAAgB;EAC/BO,gBAAgB,GAAGN,oBAAoB;AACzC;AAEA,SAASU,IAAI,EAAEC,OAAO,QAAQ,kCAAkC;AAChE,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,OAAO,MAAMC,gBAAgB,GAC3BV,oBAAoB,CAACU,gBAAgB,CAACC,IAAI,CAACX,oBAAoB,CAAC;AAClE,OAAO,MAAMY,mBAAmB,GAC9BZ,oBAAoB,CAACY,mBAAmB,CAACD,IAAI,CAACX,oBAAoB,CAAC;AAErE,OAAO,MAAMa,mBAAmB,GAAGZ,0BAA0B,CAAC,CAAC"}
|
|
@@ -36,4 +36,7 @@ export const restart = () => {
|
|
|
36
36
|
var _StallionNativeModule;
|
|
37
37
|
StallionNativeModule === null || StallionNativeModule === void 0 ? void 0 : (_StallionNativeModule = StallionNativeModule.restart) === null || _StallionNativeModule === void 0 ? void 0 : _StallionNativeModule.call(StallionNativeModule);
|
|
38
38
|
};
|
|
39
|
+
export const getActiveReleaseHashNative = () => {
|
|
40
|
+
return (StallionNativeModule === null || StallionNativeModule === void 0 ? void 0 : StallionNativeModule.getActiveReleaseHash()) || null;
|
|
41
|
+
};
|
|
39
42
|
//# sourceMappingURL=StallionNativeUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StallionNativeModule","setSdkTokenNative","updateSdkToken","getStallionMetaNative","Promise","resolve","reject","getStallionMeta","then","metaString","JSON","parse","_","catch","getStallionConfigNative","getStallionConfig","configString","toggleStallionSwitchNative","toggleStallionSwitch","downloadBundleNative","downloadStageBundle","onLaunchNative","onLaunch","sync","popEventsNative","popEvents","acknowledgeEventsNative","acknowledgeEvents","restart","_StallionNativeModule","call"],"sourceRoot":"../../../../src","sources":["main/utils/StallionNativeUtils.ts"],"mappings":"AAAA,OAAOA,oBAAoB,MAAM,4BAA4B;
|
|
1
|
+
{"version":3,"names":["StallionNativeModule","setSdkTokenNative","updateSdkToken","getStallionMetaNative","Promise","resolve","reject","getStallionMeta","then","metaString","JSON","parse","_","catch","getStallionConfigNative","getStallionConfig","configString","toggleStallionSwitchNative","toggleStallionSwitch","downloadBundleNative","downloadStageBundle","onLaunchNative","onLaunch","sync","popEventsNative","popEvents","acknowledgeEventsNative","acknowledgeEvents","restart","_StallionNativeModule","call","getActiveReleaseHashNative","getActiveReleaseHash"],"sourceRoot":"../../../../src","sources":["main/utils/StallionNativeUtils.ts"],"mappings":"AAAA,OAAOA,oBAAoB,MAAM,4BAA4B;AAY7D,OAAO,MAAMC,iBAAqC,GAChDD,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEE,cAAc;AAEtC,OAAO,MAAMC,qBAA6C,GAAGA,CAAA,KAAM;EACjE,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCN,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEO,eAAe,CAAC,CAAC,CACpCC,IAAI,CAAEC,UAAkB,IAAK;MAC5B,IAAI;QACFJ,OAAO,CAACK,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC,CAAC;MACjC,CAAC,CAAC,OAAOG,CAAC,EAAE;QACVN,MAAM,CAAC,qBAAqB,CAAC;MAC/B;IACF,CAAC,CAAC,CACDO,KAAK,CAAC,MAAM;MACXP,MAAM,CAAC,6BAA6B,CAAC;IACvC,CAAC,CAAC;EACN,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMQ,uBAAiD,GAAGA,CAAA,KAAM;EACrE,OAAO,IAAIV,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCN,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEe,iBAAiB,CAAC,CAAC,CACtCP,IAAI,CAAEQ,YAAoB,IAAK;MAC9B,IAAI;QACFX,OAAO,CAACK,IAAI,CAACC,KAAK,CAACK,YAAY,CAAC,CAAC;MACnC,CAAC,CAAC,OAAOJ,CAAC,EAAE;QACVN,MAAM,CAAC,uBAAuB,CAAC;MACjC;IACF,CAAC,CAAC,CACDO,KAAK,CAAC,MAAM;MACXP,MAAM,CAAC,+BAA+B,CAAC;IACzC,CAAC,CAAC;EACN,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMW,0BAAuD,GAClEjB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEkB,oBAAoB;AAE5C,OAAO,MAAMC,oBAA2C,GACtDnB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEoB,mBAAmB;AAE3C,OAAO,MAAMC,cAAqC,GAChDrB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEsB,QAAQ;AAEhC,OAAO,MAAMC,IAAgB,GAAGvB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEuB,IAAI;AAE1D,OAAO,MAAMC,eAAsC,GACjDxB,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEyB,SAAS;AAEjC,OAAO,MAAMC,uBAA8D,GACzE1B,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAE2B,iBAAiB;AAEzC,OAAO,MAAMC,OAAO,GAAGA,CAAA,KAAM;EAAA,IAAAC,qBAAA;EAC3B7B,oBAAoB,aAApBA,oBAAoB,wBAAA6B,qBAAA,GAApB7B,oBAAoB,CAAE4B,OAAO,cAAAC,qBAAA,uBAA7BA,qBAAA,CAAAC,IAAA,CAAA9B,oBAAgC,CAAC;AACnC,CAAC;AAED,OAAO,MAAM+B,0BAAuD,GAAGA,CAAA,KAAM;EAC3E,OAAO,CAAA/B,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEgC,oBAAoB,CAAC,CAAC,KAAI,IAAI;AAC7D,CAAC"}
|
package/types/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { sync, restart } from './main/utils/StallionNativeUtils';
|
|
|
5
5
|
export { useStallionUpdate } from './main/utils/useStallionUpdate';
|
|
6
6
|
export declare const addEventListener: (listener: (data?: import("./main/state/useStallionEvents").IStallionNativeEventData | undefined) => void) => void;
|
|
7
7
|
export declare const removeEventListener: (listenerToRemove: (data?: import("./main/state/useStallionEvents").IStallionNativeEventData | undefined) => void) => void;
|
|
8
|
+
export declare const ACTIVE_RELEASE_HASH: string | null;
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIvE,eAAO,IAAI,YAAY,EAAE,aAAa,CAAC;AACvC,eAAO,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,eAAO,MAAM,gBAAgB,oHACqC,CAAC;AACnE,eAAO,MAAM,mBAAmB,4HACqC,CAAC;AAEtE,eAAO,MAAM,mBAAmB,eAA+B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TDownloadBundleNative, TSetSdkTokenNative, TGetStallionMetaNative, TToggleStallionSwitchNative, TOnLaunchBundleNative, TGetStallionConfigNative } from 'src/types/utils.types';
|
|
1
|
+
import { TDownloadBundleNative, TSetSdkTokenNative, TGetStallionMetaNative, TToggleStallionSwitchNative, TOnLaunchBundleNative, TGetStallionConfigNative, TGetActiveReleaseHashNative } from 'src/types/utils.types';
|
|
2
2
|
export declare const setSdkTokenNative: TSetSdkTokenNative;
|
|
3
3
|
export declare const getStallionMetaNative: TGetStallionMetaNative;
|
|
4
4
|
export declare const getStallionConfigNative: TGetStallionConfigNative;
|
|
@@ -9,4 +9,5 @@ export declare const sync: () => void;
|
|
|
9
9
|
export declare const popEventsNative: () => Promise<string>;
|
|
10
10
|
export declare const acknowledgeEventsNative: (eventIds: string) => Promise<string>;
|
|
11
11
|
export declare const restart: () => void;
|
|
12
|
+
export declare const getActiveReleaseHashNative: TGetActiveReleaseHashNative;
|
|
12
13
|
//# sourceMappingURL=StallionNativeUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StallionNativeUtils.d.ts","sourceRoot":"","sources":["../../../../src/main/utils/StallionNativeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"StallionNativeUtils.d.ts","sourceRoot":"","sources":["../../../../src/main/utils/StallionNativeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,iBAAiB,EAAE,kBACM,CAAC;AAEvC,eAAO,MAAM,qBAAqB,EAAE,sBAcnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,wBAcrC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,2BACG,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,qBACQ,CAAC;AAE5C,eAAO,MAAM,cAAc,EAAE,qBACG,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,MAAM,IAAiC,CAAC;AAE3D,eAAO,MAAM,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CACjB,CAAC;AAElC,eAAO,MAAM,uBAAuB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CACjC,CAAC;AAE1C,eAAO,MAAM,OAAO,YAEnB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,2BAExC,CAAC"}
|
|
@@ -24,6 +24,7 @@ export type TGetStallionConfigNative = () => Promise<IStallionConfigJson>;
|
|
|
24
24
|
export type TToggleStallionSwitchNative = (switchState: SWITCH_STATES) => Promise<string>;
|
|
25
25
|
export type TDownloadBundleNative = (bundleInfo: IBundleInfo) => Promise<string>;
|
|
26
26
|
export type TOnLaunchBundleNative = (stallionInitParams: string) => void;
|
|
27
|
+
export type TGetActiveReleaseHashNative = () => string | null;
|
|
27
28
|
export interface IUseStallionUpdate {
|
|
28
29
|
isRestartRequired: boolean;
|
|
29
30
|
currentlyRunningBundle: IUpdateMeta | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.types.d.ts","sourceRoot":"","sources":["../../../src/types/utils.types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;CAAG;AAEvC,MAAM,MAAM,aAAa,GAAG,CAC1B,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,SAAS,CAAC,EAAE,mBAAmB,KAC5B,KAAK,CAAC,aAAa,CAAC;AAEzB,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAC7B,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;AAElE,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE1E,MAAM,MAAM,2BAA2B,GAAG,CACxC,WAAW,EAAE,aAAa,KACvB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,CAClC,UAAU,EAAE,WAAW,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC"}
|
|
1
|
+
{"version":3,"file":"utils.types.d.ts","sourceRoot":"","sources":["../../../src/types/utils.types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;CAAG;AAEvC,MAAM,MAAM,aAAa,GAAG,CAC1B,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,SAAS,CAAC,EAAE,mBAAmB,KAC5B,KAAK,CAAC,aAAa,CAAC;AAEzB,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAC7B,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;AAElE,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE1E,MAAM,MAAM,2BAA2B,GAAG,CACxC,WAAW,EAAE,aAAa,KACvB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,CAClC,UAAU,EAAE,WAAW,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzE,MAAM,MAAM,2BAA2B,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC"}
|