otago

2.2.7 • Public • Published

Otago

Push new code to your react-native and expo mobile app users without store submission.

npm-status

📚 Documentation | 📋 Changelog

Features

  • Instant patches and features deployment, without re-publishing on stores.

  • Support expo and react-native apps.

  • Integrate in minutes and check your configuration with the doctor command.

  • Compliant with App Store and Play Store.

Overview

Otago is a custom server for expo-updates library. When the SDK is installed on your mobile application, each time a user starts the app, it will check on Otago for updates. If there is a new version, it is downloaded and installed.

Architecture

  • ✓ Can be updated: Javascript code, images, fonts...
  • ✗ Cannot be updated: Native code, app config, libraries that import native code...

Getting Started

First you will need to create an account.

# 1. Follow the documentation to configure your application

# 2. Check the configuration
> OTAGO_API_KEY=[api_key] npx otago doctor --project [project_ref]

# 3. Build and publish your app...

# 4. Run your first code deployment
> OTAGO_API_KEY=[api_key] npx otago deploy --project [project_ref]

How to use

1. Help command

> npx otago help
Usage: otago [options] [command]

CLI to deploy your code pushes with Otago services.

Options:
  -v, --version                  output the version number
  -h, --help                     display help for command

Commands:
  doctor|check-config [options]
  deploy [options]               Deploy your code pushes with Otago services.
  help [command]                 display help for command

2. Doctor command

This command helps you check your configuration.

> npx otago doctor
Option name Parameter Required Description
Api Key -k, --key (or env: OTAGO_API_KEY) true API key to authenticate with Otago services.
Project ref -p, --project (or env: OTAGO_PROJECT) true Project reference you want to deploy to.

Envs automatic loading

Env var Default Description
NODE_ENV production Environnement used to load all your .env files. See override order.
EAS_PROFILE production EAS profile used to load all your env in eas.json (if file is present, lower priority).
OTAGO_LOAD_ENVS true Enable or disable env auto-loading.

3. Deploy command

This command bundles your app then run the code update for all the phones with the current resolved runtime version.

Important note:

  • If you install or upgrade a lib which includes some native code or configuration, you cannot push it as a code update with Otago. Instead you need to increment runtime version (this is automatic with fingerprint policy), then build and publish a new version of your app.
> npx otago deploy
Option name Parameter Required Description
Api Key -k, --key (or env: OTAGO_API_KEY) true API key to authenticate with Otago services.
Project ref -p, --project (or env: OTAGO_PROJECT) true Project reference you want to deploy to.
Platforms -pf, --platforms (or env: OTAGO_PLATFORMS) false Platforms to deploy, comma separated. Example: android,ios. Default: all.
Code signing private key -pk, --private-key (or env: OTAGO_PRIVATE_KEY) false
(true if code signing is configured)
Private key (or its path) to sign your update.

Envs automatic loading

Env var Default Description
NODE_ENV production Environnement used to load all your .env files. See override order.
EAS_PROFILE production EAS profile used to load all your env in eas.json (if file is present, lower priority).
OTAGO_LOAD_ENVS true Enable or disable env auto-loading.

Need Help? Report a bug?

Submit an issue to the project Github if you need any help. And, of course, feel free to submit pull requests with bug fixes or changes.

/otago/

    Package Sidebar

    Install

    npm i otago

    Homepage

    otago.dev

    Weekly Downloads

    29

    Version

    2.2.7

    License

    none

    Unpacked Size

    40.6 kB

    Total Files

    3

    Last publish

    Collaborators

    • bdav24