feat(cli): add expo framework support to bundle command #73
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 Overview
Adds Expo project support to the code-push CLI, enabling CodePush functionality for Expo projects alongside existing React Native projects.
✨ What's Added
-f, --framework
parameter with choicesexpo
(only expo)runExpoBundleCommand
function usingexpo export:embed
bundle
andrelease
commands now support both project types🔧 Changes Made
1. Enhanced CLI Commands
Bundle Command (
cli/commands/bundleCommand/index.js
)--framework
option withexpo
choicesreact-native
for backward compatibilityRelease Command (
cli/commands/releaseCommand/index.js
)--framework
option support2. Core Bundle Logic (
cli/commands/bundleCommand/bundleCodePush.js
)framework
parameter tobundleCodePush
functionreact-native
(default): Uses existingrunReactNativeBundleCommand
expo
: Uses newrunExpoBundleCommand
3. New Expo Bundle Function (
cli/functions/runExpoBundleCommand.js
)expo export:embed
4. Release Pipeline Updates (
cli/commands/releaseCommand/release.js
)release
function to accept and pass throughtype
parameter5. Documentation Updates (
README.md
)--framework
parameter bundle, release cli description🎯 Usage Examples
For React Native Projects (unchanged)
For Expo Projects (new)
✅ Testing
expo export:embed
🔄 Breaking Changes
None - This is a fully backward compatible addition. All existing commands continue to work exactly as before.
📋 Related Work