@radhya/mach 2.0.40 → 2.0.42
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 +10 -2
- package/dist/index.js +178 -162
- package/docs/ota.md +69 -0
- package/expo-plugin/index.js +9 -5
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -145,13 +145,21 @@ mach ota rollback --update-id <updateId>
|
|
|
145
145
|
mach ota promote --update-id <updateId>
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
-
|
|
148
|
+
`mach ota setup` uses the open-source `expo-updates` runtime for both Expo and bare React Native apps while keeping publishing, manifests, assets, channels, metrics, and rollback on Mach. It writes the `ota` config, installs the compatible runtime when approved, and wires `@radhya/mach/expo-plugin`. Updates are served from Mach instead of EAS Update.
|
|
149
|
+
|
|
150
|
+
For bare React Native, setup first installs Expo Modules when needed, then uses the installed `expo-updates configuration:syncnative` tool to update the committed Android and iOS projects. It does not run Expo prebuild or replace the native folders. Run setup from a clean branch so you can review the package and native integration changes.
|
|
151
|
+
|
|
152
|
+
Create and install one new native build after the initial setup. Previously installed binaries keep the update URL embedded when they were built and cannot be retrofitted by an OTA publish.
|
|
153
|
+
|
|
154
|
+
With the default `ON_LOAD` behavior, the first cold launch checks for and downloads a compatible update. The next cold launch runs it. Mach records unique downloaded, applied, and failed devices automatically from Expo Updates requests; app code does not call a metrics endpoint and never receives storage credentials.
|
|
149
155
|
|
|
150
156
|
Command flags always win over config values. For example, `mach ota publish --channel staging --runtime-version 1.2.0` overrides `ota.channel` and `ota.runtimeVersion`.
|
|
151
157
|
|
|
152
158
|
Runtime version is the OTA compatibility boundary. Mach resolves Expo-style `appVersion`, `sdkVersion`, and `nativeVersion` policies, stores the resolved runtime on each build, and serves OTA updates only to matching platform/channel/runtime combinations.
|
|
153
159
|
|
|
154
|
-
|
|
160
|
+
Bare React Native uses the same Expo Updates protocol and the same Mach endpoint as Expo. `mach-react-native` remains reserved for a future Mach-owned native runtime and cannot currently be selected for publishing.
|
|
161
|
+
|
|
162
|
+
See [OTA Updates](docs/ota.md) for setup behavior, bare React Native requirements, runtime matching, and validation.
|
|
155
163
|
|
|
156
164
|
## Deep Links
|
|
157
165
|
|