Skip to content
This repository has been archived by the owner on Apr 25, 2019. It is now read-only.

A command line tool for working with Reaction Commerce.

Notifications You must be signed in to change notification settings

reactioncommerce/reaction-cli

Repository files navigation

reaction-cli

Deprecated as of Reaction 2.0

In Reaction 2.0 we no longer use the reaction-cli npm package. Key bits of this project have been incorporated directly back into the reactioncommerce/reaction repository.

We don't anticipate further updates to this package. Please file new feature requests in the Reaction Feature Requests repository.

Overview

A command line tool for Reaction Commerce

bitHound Overall Score bitHound Dependencies bitHound Dev Dependencies

CircleCI

Install

Before you can use Reaction or reaction-cli, you'll need to make sure you install the base requirements for your operating system.

After that, you can now install reaction-cli with...

npm install -g reaction-cli
# or
yarn global add reaction-cli

Usage

$ reaction --help

  reaction <command> [options]

  Commands:
    init        Create a new Reaction app (will create a new folder)
    run         Start Reaction in development mode
    debug       Start Reaction in debug mode
    test [unit] Run integration or unit tests
    pull        Pull Reaction updates from Github and reinstall NPM packages
    update, up  Update Atmosphere and NPM packages
    reset       Reset the database and (optionally) delete build files
    build       Build a production Docker image

    [Managed Platform Commands]
    register    * Register an account with Reaction
    login       * Login to Reaction
    logout      * Logout of Reaction
    account     * Manage your Reaction Platform account
    apps        * Manage your app deployments
    deploy      * Deploy an app
    domains     * Add a custom domain name to a deployment
    env         * Manage environment variables for an app deployment
    keys        * Manage your SSH keys
    open        * Open an app deployment in your browser
    whoami      * Check which account you are logged in as

  Options:
    -v, --version  Show app and CLI version numbers
    -h, --help     Show reaction-cli help
    --inspect      Enable remote debugger
                   --inspect=0.0.0.0:9229 to specify ip:port
    --inspect-brk  Enable remote debugger and pause immediately
                   --inspect-brk=0.0.0.0:9229 to specify ip:port

Note: Commands marked with * require being logged into the managed platform. Learn more: https://reactioncommerce.com/features#get-a-demo

Development

Install

git clone https://github.com/reactioncommerce/reaction-cli.git

cd reaction-cli

yarn

Developing

To start a live reloading watcher that recompiles the code on file changes:

yarn run watch

Keep in mind that if you previously installed reaction-cli from npm, you will need to uninstall it before that command will work. This is because it runs npm link every time and that adds a symlink to the executable that goes in the same place as the npm install (which will throw an error).

Testing a pull request locally

If there's a pull request with a branch you want to manually test, follow these steps.

  • Clone the fork
  • Check out their feature branch if necessary
    • git checkout some-branch
  • Prepare the build
    • npm install
    • npm run build
    • chmod 755 dist/main.js
  • Test in docker
    • cd into your local reaction directory
    • docker-compose run --rm --volume ~/reaction-cli/dist/main.js:/usr/local/bin/reaction --publish 9229:9229 --publish 3000:3000 reaction
      • Adjust your path to the reaction-cli working directory as needed to match your local filesystem

Releasing

  • checkout a branch for your release
  • Run npm version with the appropriate semver release level
    • This will also create a tag, and circleci will publish to npm based on that tag
  • commit the new version
  • Push your branch to github and open a pull request
  • After your PR is merged, circleci should publish to npm

Tracking

This app reports anonymous, aggregate usage data to help us improve and debug Reaction Commerce. View our Privacy Policy.