Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A cloud service that enables Cordova and React Native developers to deploy mobile app updates directly to their users’ devices.

Subscribe to updates I use code-push

Statistics on code-push

Number of watchers on Github 3252
Number of open issues 14
Average time to close an issue 10 days
Main language TypeScript
Average time to merge a PR 1 day
Open pull requests 15+
Closed pull requests 8+
Last commit over 2 years ago
Repo Created almost 5 years ago
Repo Last Updated over 2 years ago
Size 11.3 MB
Homepage http://codepush.t...
Organization / Authormicrosoft
Latest Releasev2.1.6
Page Updated
Do you use code-push? Leave a review!
View open issues (14)
View code-push activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating code-push for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)



CodePush is a cloud service that enables Cordova and React Native developers to deploy mobile app updates directly to their users' devices. It works by acting as a central repository that developers can publish updates to (JS, HTML, CSS and images), and that apps can query for updates from (using provided client SDKs for Cordova and React Native). This allows you to have a more deterministic and direct engagement model with your userbase, when addressing bugs and/or adding small features that don't require you to re-build a binary and re-distribute it through the respective app stores.

This repo includes the management CLI and Node.js management SDK, which allows you to manage and automate the needs of your Cordova and React Native apps. To get started using CodePush, refer to our documentation, otherwise, read the following steps if you'd like to build/contribute to the project from source.

Dev Setup

  • Install Node.js
  • Install Git
  • Install Gulp: npm install -g gulp
  • Clone the Repository: git clone https://github.com/Microsoft/code-push.git


  • Run npm install from the root of the repository.
  • Run gulp install to install the NPM dependencies of each module within the project.
  • Run gulp link to link CLI and SDK for local development. It is advisable to do this step if you are making changes to the SDK and want the CLI to pick those changes.
  • Run gulp build to build all of the modules. To build just one of the modules (e.g. cli or sdk), run gulp build-cli or gulp build-sdk.

Running Tests

To run all tests, run gulp test script from the root of the project.

To test just one of the projects (e.g. cli or sdk), run gulp test-cli or gulp test-sdk

Coding Conventions

  • Use double quotes for strings
  • Use four space tabs
  • Use camelCase for local variables and imported modules, PascalCase for types, and dash-case for file names

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

code-push open issues Ask a question     (View All Issues)
  • over 3 years New Website Logo:ε€©εΌ˜ηˆ±η†θ΄’
  • over 3 years Exclude (or include specified) files with code-push release command
  • over 3 years Make you typescript definition file available
  • over 3 years Can not perform rollback if deployment name is same as CodePush CLI command
  • over 3 years How have all users update to latest version
  • almost 4 years Full deployment history?
  • almost 4 years `release-react` should work if `react-native` is not a dependency in package.json
  • almost 4 years Installing update can not finish
  • almost 4 years code-push debug command and GenyMotion
  • almost 4 years Code Signing Feature
  • almost 4 years Support wildcards in deployment ls
  • almost 4 years CodePush service is unavailable in China
  • almost 4 years WebHook for install metrics
  • about 4 years Is it possible to refresh the label of your builds
  • about 4 years CI strategies when using code-push in Cordova apps
  • about 4 years Arbitrary deployment metadata
  • about 4 years [enhancement] Allow app add to specify the names of the deployments
  • about 4 years Can I promote a specific label?
  • about 4 years [feature-request] RN - check if the native changes has been made
  • about 4 years CodePush support for NativeScript apps
  • about 4 years Custom function that decides whether a code update should be pushed to a user
  • over 4 years Rollback a first CodePush release after a binary release
code-push open pull requests (View All Pulls)
  • Change `cordova prepare` to `cordova build`
  • use the fact that deployment names are now stored in the rest app object
  • End-to-End Testing (incomplete)
  • Add option to sign releases with a private key
  • Keep temp folder around when using release-react command
  • Allow folder releases from management SDK
  • Fix spelling
  • command-executor: search for gradle properties across all `gradle.pro…
  • Update yargs to 6.5.0
  • package: update `gradle-to-js` package version to `0.2.5`
  • Plain integer number
  • update cli README-cn
  • CodePush support for NativeScript apps
  • Acquisition SDK Modifications
code-push questions on Stackoverflow (View All Questions)
  • Development with react-native-code-push plugin?
  • Visual Studio Code push automatically
  • Meteor: Hold Splash Screen During Wait for Hot Code Push on Mobile Cordova
  • Github authenticates but will not allow code push
  • Parse Cloud Code Push + Client-initiated push isn't enabled
  • Meteor control over hot code push and the selection of remote-server from within an app
  • Which setting is responsible for Hot Code Push in Meteor app
  • How to manage code push in AWS application setup?
  • UINavigationController code push to UIViewController not working correctly
  • Parse Cloud Code Push Notifications
  • Meteor hot-code push destroys login
  • Hot code push is breaking application
  • How to know from the client-side that a hot code push is occuring?
  • parse cloud code push notifications not working
  • Parse Cloud Code Push to Android Not Working
  • meteor cordova build vs production server (no hot code push)
  • Meteor on mobile: Hot Code Push broken?
  • Meteor: disable hot code push
  • How do I code push notifications internally
  • Hot Code Push doesn't work on device in Meteor
  • Layout/Template for meteors hot code push
  • Meteor Cordova Status Bar on Hot Code Push
  • Parse Cloud Code: Push Notifications w/ Multiple Users on One Installation
  • Data context in Meteor's Template.rendered callback randomly disappears on hot code push
  • How to retain value of text Inputs after hot code push
  • code push to heroku not working
  • Meteor deployed to aws servers hot code push restart fails
  • Meteor on windows - Server crashes on code push
  • How to disable Hot Code Push in Meteor JS in Development?
  • Can I preserve files input at Meteor hot code push?
code-push list of languages used
code-push latest release notes
v2.1.6 v2.1.6

Bug fixes:

  1. [Cordova] Update assets manifest file location for release-cordova command #548
v2.1.5 v2.1.5

Bug fixes:

  1. Update superagent version to fix possible DoS zip attack #543
  2. Fix issue with outputDir in case of using code-signing #545
v2.1.4 v2.1.4

We are happy to announce that CodePush is moving out of beta! The CodePush team would like to thank all of you for your feedback and contributions. You have made CodePush better and none of this would be possible without support from such an amazing community.

Our next steps are a closer integration with App Center in an effort to combine the power of CodePush with cloud-hosted builds, automated UI tests, crash reports, analytics, and push services. The future of CodePush is bright and were excited to constantly improve and give you more features.

New Features

  1. Update return type of management sdk promote method (#538) Thanks @belemaire
Other projects in TypeScript