zephyr-metro-plugin is a Metro bundler plugin designed to integrate React Native applications with Zephyr Cloud for advanced deployment features. It enables Over-the-Air (OTA) updates, supports Module Federation for dynamic code loading, and streamlines the overall deployment process for iOS and Android applications. Currently stable at version 1.0.2, the package maintains an active development status with a consistent release cadence, featuring frequent patch updates that address dependency management and minor bug fixes. It serves as a critical bridge for React Native developers aiming to leverage Zephyr Cloud's capabilities, distinguishing itself by offering comprehensive deployment and update management directly within the Metro bundling workflow, which is particularly beneficial for large-scale or continuously evolving mobile applications.
npm install zephyr-metro-pluginVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to integrate `zephyr-metro-plugin` into your `metro.config.ts` or `metro.config.js` file, enabling Zephyr Cloud features. It wraps your existing Metro configuration with `withZephyr` and requires environment variables for authentication.
Review the official migration guide or latest documentation for `zephyr-metro-plugin` when upgrading from any 0.x version to 1.x. Test your application thoroughly after upgrading and adjust your `metro.config.ts`/`.js` and Zephyr Cloud related configurations as needed.
Always ensure you are using the latest stable version of `zephyr-metro-plugin` to benefit from the most recent security remediations. Regularly update your project's dependencies and run security audits.
Ensure `ZEPHYR_APP_ID` and `ZEPHYR_API_KEY` are properly configured in your build environment (e.g., `.env` file, CI/CD pipeline variables). The `quickstart` code provides a warning if these are missing.
Run `npm install zephyr-metro-plugin` or `yarn add zephyr-metro-plugin`. Double-check the import statement in your `metro.config.ts` or `metro.config.js`.
For CommonJS, use `const withZephyr = require('zephyr-metro-plugin').default;` if using a transpiled ESM default export, or ensure you are using `import withZephyr from 'zephyr-metro-plugin';` in an ESM context.Verify that your `ZEPHYR_API_KEY` environment variable is correctly set and accessible to your Metro configuration. Ensure there are no leading/trailing spaces or typos.