/edge-ide

The React Native IDE

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Edge Native IDE

Table of Contents

Setup for Development

Environment

OSX

It is recommended that you use node v5.x and npm 3.x for best results. This project also requires the Ruby 'Bundler' gem.

Installing these on your Mac is easy with Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Now that Homebrew is installed you can run these commands:

brew install node
brew install ruby
gem install bundler

Linux

Linux is not supported at this time.

Windows

Windows is not supported at this time.

Clone and Install Dependencies

$ git clone git@github.com:decosoftware/deco-ide
$ cd ./deco-ide/web
$ npm install
$ bundle install
$ cd ../desktop
$ npm install
$ npm run copy-libs
$ cd ../shared
$ npm install

Development

Deco core is split into three sub-projects...

  1. Web
  • A webpack bundle that assumes it's been loaded by Electron's BrowserWindow.
  1. Desktop
  • A webpack bundle that runs in Electron's NodeJS environment and controls the desktop APIs.
  1. Shared
  • Shared constants for communicating over our IPC (inter-process communication) abstraction layer.

Quick Start

$ cd ./deco-ide
$ ./run-dev.js

Manual Start

Occasionally it is helpful to stop and restart the desktop gulp task without stopping the web gulp task. To do this you can run the following commands...

$ cd ./web
$ npm run watch

This command will:

  1. Watch the ./web/src directory and re-build on any changes to the code
  2. Serve the build on localhost:8080
# Open a new terminal window
$ cd ./desktop
$ npm run start

This command will:

  1. Build ./desktop/src and place the result into ./desktop/build/app.js
  2. Launch a local Electron binary and load in the bundle from desktop/build/app.js

Testing a Production Build

$ cd ./desktop
$ npm run pack

The resulting .pkg file will be output to ./dist/osx/Deco-$VERSION.pkg

This build is for local testing only. When you install, the system will generate a warning about this being from an unapproved developer — this is because the package is not signed when building locally.