UPDATE: Over the next few months, we will be working on a new version of CodePush that will address some of the most common performance issues our customers are facing. This updated version will allow a better experience, our team to better support CodePush moving forward and have a faster development cycle for new features. We are prioritizing this work because we believe this to be the most valuable thing we can do for our CodePush customers in the long run. Starting June 11th 2019, support will slow down, bug fixes will be limited to critical bugs, and new feature development will pause until we finish this core update.
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.
- 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), rungulp build-cli
orgulp build-sdk
.
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
- Use double quotes for strings
- Use four space tabs
- Use
camelCase
for local variables and imported modules,PascalCase
for types, anddash-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.