Skip to content

Commit 486d9cf

Browse files
authored
promote to staging (#105) (#106)
* Update README Update download link in README * Update json gem dependency version to support newer rubies See: ruby/json#229 * new secrets for travis-org * add correct aws access key * Fixed Link Crash in Help Menu * Add sans-serif fallback to Helvetica styles (#37) * add npm registry setting * Move npmRegistry outside of options * Implement Show in Finder in File Tree Context Menu * Only show custom npm registries in progressbar * Use npm registry setting in install dialog * Create uninstall.sh Uninstaller script * Initial commit Uninstalling script for OSX * if watchman is already in path, do not use our own binary (#64) * Moved uninstaller moved from /desktop/uninstaller/uninstaller.sh to /desktop/deco_unpack_lib/uninstaller/uninstaller.sh * Moved it * Update uninstall.sh * Update "Project" template to RN 0.26.3 * scriptable cli-based system for building and launching in Deco (#71) * File tree matching uses full path instead of name to identify root * Remove debugging console.log * Use Electron remote for path instead of including module, workaround for missing / from paths which needs to be revisited for Windows support * Removed unused lodash imports * Updates "Project" template to RN 0.27.2 * Adds gulp task & instructions for upgrading the temporary project template * Implement cmd+w to close tab instead of window (#83) * Implement cmd+w to close tab instead of window * move close tab to compositeFileActions * copy in postinstall to Scripts path (#96) 👍 * finalize build system v1, include android support, packager switch, some misc fixes (#90) * Add focus/blur/unload events to telemetry (#97) * - [x] [iOS, Android] toggle (#98) - [x] [AVD, Genymotion] toggle - [X] Timeout = 60s, less frequent message - [X] Tweak Android launch wording - [X] Tweak packager toggle button wording - [X] Tweak 'using default config' wording - [X] Increase left sidebar original width * fix and polish error scenarios for android simulator menu (#99) 👍 * bump build number to 0.7.0
1 parent 260b8f0 commit 486d9cf

File tree

1,187 files changed

+47846
-4534
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,187 files changed

+47846
-4534
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
*.DS_Store
33

44
# Ignore project files
5-
app
6-
dist
5+
/app
6+
/dist

.travis.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ env:
77
- 'DEVELOPER_NAME="Mac Distribution: Deco Desktop Production (M5Y2HY4UM2)"'
88
- PROFILE_NAME="Deco_Desktop_Production"
99
- SIGN_DECO_PACKAGE="true"
10-
- secure: "KzIJWOowlXk3lj8NH43gVQsIXq0saqULLU2vHLLDrIceA7n0Ntj/yQuG3FNW/0JXEXMb95OnMkckeSTuXV5bcsbyQ+SwIT/xTlS6VP5AB/n3G7iNkfVQduK/L0mAiIRLLDflAKp7xwx+CojLQPP16LiQJ55OV9HA5NVAQvp3M9krRHcHkYBAdhD1M3m1ZFf87DEnEqn2wUtrK+6SB5zUcWzZfS1HYaZrfvblTwQDEOXKU86N60qB8vMww0K6dDVrkIoltWpgOMU9LkS9I+nNeyIutBSqOJckyDLoFNY64KuxR+q+VH09g/0T6vPczxuMaS0L+qLLtyQ1UbGGEUq33dy8PQ8bVEs613GYxEB0rDgRua3ErwIf9Y5nxvQmfCjQ0mX2P0ZIsYqLc2LmEhMNfphnUYx8WLt9YBukX9ZMM1asBls7rOZ5GT20AdwPgoksc/SVZhBvO+OqGmIjyERV0IDPw1nn21q//3Ks6Tq+55zVppyngC60Kl8kw6xahjcPxhVr5amnPmjUQMHvBqeJrC9rD5Nnmxj+AkLGCEFzkx85KTM3rq7JL6HGbuq8Od9ebmDDnVSNkOmmEqu6I31pDdNtbExojPKqndvdNbH3cgbtdjETUWGvZf7XCJJddVT+/dqCSAh3UVNewVsysxp0fhwOMCtR26R7QJ12pyb5NPQ="
10+
- secure: "Eukpwrzq4POdOPAmU33HstZYGRewCSeBB7lLdM7NR54LP9y6vs2ZpShx3tA7/enLJB0mrhQHUfZVStSOR/JvWef8yAkBGl7P82EaxRBDzEdMKiUSySQ89opKJxozvVLm9BwrUThnrcbxaPA0GmHraY83Rf8DRMOu50npjDe2tRVt1sSSk2ZzTsigyOo9/exXfyRs59hr4ISU/rIbfrlsmCXVXq//p8xTj1euk5oj7JXeogNwIAk/Dqr8yVDfhiwzlnzh3lhvNOKqUu0U4SV1KOdGUM0d5jWSyWewKC7bukM+gBHW7oFqXk+DIovJTQ7aJhjyVDGvwIBWmQHaXrRFe1mqBpvx1tV7d34U0dOp8GoU+qYS+1sMufucovDyHwo1LpRtoi9YI8nKHa0Hj71dMMHvetBLxsorDgUo1XyifrGnm6SDneYSNWzYNaTzLOcBEZqJ0ReI7cx2oKThirGQdE+O+KhtmJO1qLzqkQo3OWMjFBYKeLiM7wzcRJyUdKI0x605w++/u2TOrXMpUCAIwCNTxa/nyrO8IuV5jBnJLA8LRhs8UeFMgP7wF3d6rb1ulvwsd3zyBu5jO4KRMpQ0O8AapYjYf2mDrzXQCPG5PYRfqMm/5RqUJs6vHxySrfqZfNk71f+IUCQnKbVxseX6dFjHlxmZ3zHTPhZP4MJgFCw="
1111
matrix:
1212
- NODE_VERSION="5.7"
1313
before_install:
@@ -27,27 +27,27 @@ cache:
2727
- web/node_modules
2828
deploy:
2929
- provider: s3
30-
access_key_id: AKIAJS2NLE6DTHZPCBNQ
30+
access_key_id: AKIAJETVMVT2MJZNMHCQ
3131
secret_access_key:
32-
secure: "a6KSzyTF33P6rZsyMR/B98E92P76y0DqxaoR/ocy4a2b6uL5XpPYh606QIxbLe1pdpcLfGm+L9yR0uAy4R615xGbaaz4Loy16UNxBkaHAQ1sxmFMc2oZKnWgCK6eO5MCLBhKCqUYAFY6U+QLJ4nyGhV4RywdyCuIsRJjCBGGHorgUcQZw5nZ+n9fpEHaQqsFBrL4ilaK+VoUJFYVruj8ggRHzgJ7/q5XsKKqKcFuMJzLOzLgQML0Wk3d4j20D8d+dZ2mGxtaULXNjGdhttFFIlXgn2VrLQszBvEqaFaZF7X6HZ2DZfLG2TchHhpHLyXe4uf9Tnn0L+xqvsMjGS4FLfAaCPyKBkLHc315lymzYLDDRJbD4vfB0QMoK/vV/+3/kd2kDQzG/ponSoSPHZU4TipAa1BwzMp041hYpu/ziH6SRyEAGAA8LDxpVUXmTP9Y7QC5Rze0/R4zdwqr1Pyi0qr6MI9jtHIryouNIomeSXy4LiZvBWYivyrJB/eQX1BT/w/dkDpleL9DJx7y0sWP5KJpIf8F7Tgv7quNbRzHobi7pJeuC1QUqCr1Nte74GAOwg9QP/g4LG80Rhvw4Rcto67VOg5wT7FRJfip1Eli4IGev3YZWmeoy4gupOWfJai15pIQ/hU7v2ExioA9jjFdl69qU1ZVVFBzwyMYteuV75I="
32+
secure: "ANmoBOs9oDwUyzXGvLOQHx56lXXWzBSsBC4IW25bPCPOII8ONtcrCr9QdWkpWc8SaKebPSunY6HO3oEAmtudKJEymVaAopwC5xMpKbvE6WEhxK86dL9BuczDLR7u1/SMDHGZrsrkJwc4TD9sVwydlg33NIH8xYb8fGTZy6bXS8tAe7L1FQeCiQYxb0P+O7q7ywfkgbRVHc0yUmrIZzsbQovEf7jITXeMbBwAwqPtWUeY5iYVCi+W9WYAgcu0WnJ+GWkaGrucb8aalJD1o5RfSodXBUa7GKOz4JUIoDtTw/3vD4/BIKeVKd1hDRRaLbQBefLUavpvEgh61k33wfByKW+Seq48ylHm7bZ/9dNbIO6jMuV8FNkowZPjf2lINGrtW44mTQjjdpkLpPZT8EhSDWJlXC+UkObQPy9IfDhgZdDZNbC93UUj3iWWDy4x71GqnGdpcuXIPPCAQiIydcYnJN1TJtQ7T0RWFZx83PnYPzqyVEctbMw1AB4ZyhjvZmL7C3v+VqfbwhWuOTmMLbmXaA0emGOlhD4Sul0+KSdF7ddzQ6Rn9LZ0YKfsjusSudg4FiTzg6aBHRkZa2uUyjkWD/9yN6SOygYHRpfIpXj0QHfvr3bwGJqhpCo0EH9gFQvJskv6c54p8A4R0L2ESf4upw2xw0H689O8SFe6GQLiJGg="
3333
bucket: decopkgs
3434
skip_cleanup: true
3535
local_dir: dist
3636
on:
3737
branch: release
3838
- provider: s3
39-
access_key_id: AKIAJS2NLE6DTHZPCBNQ
39+
access_key_id: AKIAJETVMVT2MJZNMHCQ
4040
secret_access_key:
41-
secure: "a6KSzyTF33P6rZsyMR/B98E92P76y0DqxaoR/ocy4a2b6uL5XpPYh606QIxbLe1pdpcLfGm+L9yR0uAy4R615xGbaaz4Loy16UNxBkaHAQ1sxmFMc2oZKnWgCK6eO5MCLBhKCqUYAFY6U+QLJ4nyGhV4RywdyCuIsRJjCBGGHorgUcQZw5nZ+n9fpEHaQqsFBrL4ilaK+VoUJFYVruj8ggRHzgJ7/q5XsKKqKcFuMJzLOzLgQML0Wk3d4j20D8d+dZ2mGxtaULXNjGdhttFFIlXgn2VrLQszBvEqaFaZF7X6HZ2DZfLG2TchHhpHLyXe4uf9Tnn0L+xqvsMjGS4FLfAaCPyKBkLHc315lymzYLDDRJbD4vfB0QMoK/vV/+3/kd2kDQzG/ponSoSPHZU4TipAa1BwzMp041hYpu/ziH6SRyEAGAA8LDxpVUXmTP9Y7QC5Rze0/R4zdwqr1Pyi0qr6MI9jtHIryouNIomeSXy4LiZvBWYivyrJB/eQX1BT/w/dkDpleL9DJx7y0sWP5KJpIf8F7Tgv7quNbRzHobi7pJeuC1QUqCr1Nte74GAOwg9QP/g4LG80Rhvw4Rcto67VOg5wT7FRJfip1Eli4IGev3YZWmeoy4gupOWfJai15pIQ/hU7v2ExioA9jjFdl69qU1ZVVFBzwyMYteuV75I="
41+
secure: "ANmoBOs9oDwUyzXGvLOQHx56lXXWzBSsBC4IW25bPCPOII8ONtcrCr9QdWkpWc8SaKebPSunY6HO3oEAmtudKJEymVaAopwC5xMpKbvE6WEhxK86dL9BuczDLR7u1/SMDHGZrsrkJwc4TD9sVwydlg33NIH8xYb8fGTZy6bXS8tAe7L1FQeCiQYxb0P+O7q7ywfkgbRVHc0yUmrIZzsbQovEf7jITXeMbBwAwqPtWUeY5iYVCi+W9WYAgcu0WnJ+GWkaGrucb8aalJD1o5RfSodXBUa7GKOz4JUIoDtTw/3vD4/BIKeVKd1hDRRaLbQBefLUavpvEgh61k33wfByKW+Seq48ylHm7bZ/9dNbIO6jMuV8FNkowZPjf2lINGrtW44mTQjjdpkLpPZT8EhSDWJlXC+UkObQPy9IfDhgZdDZNbC93UUj3iWWDy4x71GqnGdpcuXIPPCAQiIydcYnJN1TJtQ7T0RWFZx83PnYPzqyVEctbMw1AB4ZyhjvZmL7C3v+VqfbwhWuOTmMLbmXaA0emGOlhD4Sul0+KSdF7ddzQ6Rn9LZ0YKfsjusSudg4FiTzg6aBHRkZa2uUyjkWD/9yN6SOygYHRpfIpXj0QHfvr3bwGJqhpCo0EH9gFQvJskv6c54p8A4R0L2ESf4upw2xw0H689O8SFe6GQLiJGg="
4242
bucket: decopkgs-staging
4343
skip_cleanup: true
4444
local_dir: dist
4545
on:
4646
branch: staging
4747
- provider: s3
48-
access_key_id: AKIAJS2NLE6DTHZPCBNQ
48+
access_key_id: AKIAJETVMVT2MJZNMHCQ
4949
secret_access_key:
50-
secure: "a6KSzyTF33P6rZsyMR/B98E92P76y0DqxaoR/ocy4a2b6uL5XpPYh606QIxbLe1pdpcLfGm+L9yR0uAy4R615xGbaaz4Loy16UNxBkaHAQ1sxmFMc2oZKnWgCK6eO5MCLBhKCqUYAFY6U+QLJ4nyGhV4RywdyCuIsRJjCBGGHorgUcQZw5nZ+n9fpEHaQqsFBrL4ilaK+VoUJFYVruj8ggRHzgJ7/q5XsKKqKcFuMJzLOzLgQML0Wk3d4j20D8d+dZ2mGxtaULXNjGdhttFFIlXgn2VrLQszBvEqaFaZF7X6HZ2DZfLG2TchHhpHLyXe4uf9Tnn0L+xqvsMjGS4FLfAaCPyKBkLHc315lymzYLDDRJbD4vfB0QMoK/vV/+3/kd2kDQzG/ponSoSPHZU4TipAa1BwzMp041hYpu/ziH6SRyEAGAA8LDxpVUXmTP9Y7QC5Rze0/R4zdwqr1Pyi0qr6MI9jtHIryouNIomeSXy4LiZvBWYivyrJB/eQX1BT/w/dkDpleL9DJx7y0sWP5KJpIf8F7Tgv7quNbRzHobi7pJeuC1QUqCr1Nte74GAOwg9QP/g4LG80Rhvw4Rcto67VOg5wT7FRJfip1Eli4IGev3YZWmeoy4gupOWfJai15pIQ/hU7v2ExioA9jjFdl69qU1ZVVFBzwyMYteuV75I="
50+
secure: "ANmoBOs9oDwUyzXGvLOQHx56lXXWzBSsBC4IW25bPCPOII8ONtcrCr9QdWkpWc8SaKebPSunY6HO3oEAmtudKJEymVaAopwC5xMpKbvE6WEhxK86dL9BuczDLR7u1/SMDHGZrsrkJwc4TD9sVwydlg33NIH8xYb8fGTZy6bXS8tAe7L1FQeCiQYxb0P+O7q7ywfkgbRVHc0yUmrIZzsbQovEf7jITXeMbBwAwqPtWUeY5iYVCi+W9WYAgcu0WnJ+GWkaGrucb8aalJD1o5RfSodXBUa7GKOz4JUIoDtTw/3vD4/BIKeVKd1hDRRaLbQBefLUavpvEgh61k33wfByKW+Seq48ylHm7bZ/9dNbIO6jMuV8FNkowZPjf2lINGrtW44mTQjjdpkLpPZT8EhSDWJlXC+UkObQPy9IfDhgZdDZNbC93UUj3iWWDy4x71GqnGdpcuXIPPCAQiIydcYnJN1TJtQ7T0RWFZx83PnYPzqyVEctbMw1AB4ZyhjvZmL7C3v+VqfbwhWuOTmMLbmXaA0emGOlhD4Sul0+KSdF7ddzQ6Rn9LZ0YKfsjusSudg4FiTzg6aBHRkZa2uUyjkWD/9yN6SOygYHRpfIpXj0QHfvr3bwGJqhpCo0EH9gFQvJskv6c54p8A4R0L2ESf4upw2xw0H689O8SFe6GQLiJGg="
5151
bucket: decopkgs-bleeding-edge
5252
skip_cleanup: true
5353
local_dir: dist

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44

55
You can get started right away on your React Native project by installing Deco and creating a new project — it's fast and there's no manual setup needed. File scaffolding handles your boilerplate. Ready-made components drop right into your code. Properties are graphically editable through the property inspector. It's an entirely new way to write, tweak, and re-use code.
66

7+
#### [Download Deco for Mac](https://www.decosoftware.com/download)
8+
79
![Deco Screenshot](http://i.imgur.com/KoZrWoF.png)
810

9-
#### [Download Deco](https://www.decosoftware.com/beta/downloads) to try out the latest release.
1011
#### [Documentation](https://www.decosoftware.com/docs) to get you started on Deco IDE.
1112
#### [Open an Issue](#opening-issues) for bug reports and feature requests.
1213
#### [Join Slack](https://decoslackin.herokuapp.com) to talk with us.

desktop/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ build/*
77
public/*
88
package/*
99
!node_modules/react-native/local-cli/setup_env.sh
10+
!deco_unpack_lib/Scripts/deco-tool/node_modules

desktop/CONFIGURE.md

Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
# Customizing Deco
2+
3+
## Introduction
4+
5+
This section specifies how to integrate custom functionality into Deco when the default behavior does not fit your React Native project.
6+
7+
Deco, by design, is built to handle the external processes of React Native development for you. This includes building the application, launching simulators, and launching the packager. Usually this is great for the average developer. It saves people time.
8+
9+
However, not all projects are created equal and occasionally these defaults
10+
will not work for your project. This is why we built Deco Config. It lets you register custom code that Deco will use instead of its default behavior.
11+
12+
*The "bye-bye" packager scenario*
13+
> *You:* Hey Deco, you're super great and all, but the packager you turn on by default keeps getting in the way. Can I please use my external one?
14+
15+
> *Deco:* Caaan Do! Register a dummy function on the 'run-packager' command and bye-bye Deco packager functionality.
16+
17+
> *Both:* BOOYAKASHA!
18+
19+
*The custom build scenario*
20+
21+
> Your React Native project is a marvel of modern software engineering. "One does not simply `react-native run-ios` my project!", you scoff. Well, Deco doesn't know what to do in this scenario, because it's basically just `react-native run-ios` under the hood — womp! Using cmd+B (Tools > Build) in Deco will lead to sour disappointment.
22+
23+
>This is where you come in. Simply register a function on the 'build-ios' command to conduct your elaborate build procedure and now cmd+B (Tools > Build) in Deco works like a charm.
24+
25+
*The custom simulator menu scenario*
26+
27+
>I want a button in the simulator menu that launches Android Studio.
28+
29+
>Done! Simply register a function on the 'list-android-sim' and 'sim-android' commands. Voilà — some clever code can make it happen.
30+
31+
> *Hint:* we use this trick for Genymotion ;).
32+
33+
## Table of Contents
34+
35+
- [Create a deco config file](#create-a-deco-config-file)
36+
- [Using deco-tool](#using-deco-tool)
37+
- [Customizing a Deco Command](#customizing-a-deco-command)
38+
- [Spawning Children](#spawning-children)
39+
- [Customizing the Simulator Menu](#customizing-the-simulator-menu)
40+
- [Injecting Settings through the Deco Settings File](#injecting-settings-through-the-deco-settings-file)
41+
- [Available Commands](#available-commands)
42+
43+
## Create a Deco Config File
44+
45+
The configure.deco.js should be in the top-level of your project
46+
```
47+
cd $PROJECT_ROOT
48+
touch configure.deco.js
49+
```
50+
51+
You can also open Deco and, in the menu bar, go to **Install > Add deco config to project**
52+
53+
This will create a template configure.deco.js that will look something like...
54+
55+
```
56+
'use strict'
57+
58+
var child_process = require('child_process')
59+
var path = require('path')
60+
61+
// You must use require for deco-tool, import/export is not supported
62+
var Deco = require('deco-tool')
63+
64+
// These are settings from the local projects .deco/.settings JSON file
65+
const iosTarget = Deco.setting.iosTarget
66+
const iosProject = Deco.setting.iosProject
67+
const iosBuildScheme = Deco.setting.iosBuildScheme
68+
const androidManifest = Deco.setting.androidManifest
69+
const packagerPort = Deco.setting.packagerPort
70+
71+
/**
72+
*
73+
* HOW TO USE THIS FILE (https://github.com/decosoftware/deco-ide/blob/master/desktop/CONFIGURE.MD)
74+
....
75+
```
76+
77+
## Using deco-tool
78+
79+
Deco will look for the 'deco-tool' alias in your configure.deco.js file, all you need to do is require it.
80+
```
81+
var Deco = require('deco-tool')
82+
```
83+
84+
The 'deco-tool' object has two properties
85+
86+
```
87+
/**
88+
* Register a custom command
89+
*
90+
* @type {Function}
91+
* @param command {String} name of the command
92+
* @param do {Function} function run for command, must return a Promise
93+
* @return {undefined}
94+
*/
95+
Deco.on(command, do) {...}
96+
97+
/**
98+
* Access the local project .settings JSON
99+
* @type {Object}
100+
*/
101+
Deco.setting
102+
```
103+
104+
### Customizing a Deco command
105+
106+
You can register a function to be used when a certain action has taken place by registering that function on the actions corresponding command.
107+
108+
eg.
109+
```
110+
Deco.on('sim-ios', function(args) {
111+
console.log(args)
112+
return Promise.resolve()
113+
})
114+
```
115+
116+
Once the configure.deco.js is saved, Deco will recognize a new function has been registered. When you click on 'iPhone 6' in the simulator menu, for example, this new function will be called instead of the default function.
117+
118+
The behavior of our new function is the args are simply printed into the packager output. The default Deco behavior of launching the iOS simulator has been successfully overridden!
119+
120+
#### Spawning Children
121+
122+
ChildProcesses that are spawned inside a function should be returned in the Promise.
123+
124+
**Example**
125+
```
126+
const myChild = child_process.spawn(...)
127+
return Promise.resolve({ child: myChild })
128+
```
129+
130+
This ensures that the child process is properly handled on exit. Failing to do so, may result in unpredictable behavior.
131+
132+
#### Customizing the Simulator Menu
133+
134+
The commands '*list-ios-sim*' and '*list-android-sim*' are special functions
135+
because they return objects back to Deco to display in the simulator menu.
136+
137+
The example below demonstrates how to use these functions...
138+
```
139+
Deco.on('list-android-sim', function(args) {
140+
try {
141+
// some logic to find android simulators
142+
// ...
143+
// ...
144+
return Promise.resolve({
145+
payload: [{
146+
name: 'AndroidSim', // Deco looks for name key to display in Simulator Menu
147+
deviceId: 's0me-dev1c3-1D',
148+
version: '6.0',
149+
}]
150+
})
151+
} catch (e) {
152+
return Promise.reject({
153+
// Separate entries in the array are spaced for readability
154+
// This error text will be displayed instead of simulator buttons
155+
payload: ['This is a custom', 'error message']
156+
})
157+
}
158+
})
159+
160+
Deco.on('sim-android', function(args) {
161+
console.log(args)
162+
// clicking 'AndroidSim' in Deco simulator menu should print to console
163+
// { name: 'AndroidSim', deviceId: 's0me-dev1c3-1D', version: '6.0'}
164+
return Promise.resolve()
165+
})
166+
```
167+
168+
#### Injecting Settings through the Deco Settings File
169+
170+
Each project used by Deco allows a $PROJECT_ROOT/.deco/.settings file.
171+
172+
The .settings file is a JSON file. This file is parsed by Deco each time a
173+
command is run and is accessible through deco-tool.
174+
175+
You can access this file manually, or in Deco by going to **Deco > Project Settings**
176+
177+
**Default .setting file**
178+
```
179+
// relative path from project root to the .app binary that is generated after building iOS
180+
"iosTarget": "ios/build/Build/Products/Debug-iphonesimulator/Project.app",
181+
182+
// relative path from project root to the xcode project or workspace file for iOS build
183+
"iosProject": "ios/Project.xcodeproj",
184+
185+
// scheme name to use when building in Deco
186+
"iosBuildScheme": "Project",
187+
188+
// relative path from project to the AndroidManifest.xml file for your application
189+
"androidManifest": "android/app/src/main/AndroidManifest.xml",
190+
191+
// port for the packager to run on
192+
"packagerPort": 8081
193+
```
194+
195+
**Usage example**
196+
```
197+
var Deco = require('deco-tool')
198+
console.log(Deco.setting.packagerPort)
199+
// > 8081
200+
```
201+
202+
203+
### Available Commands
204+
205+
*run-packager*
206+
207+
> Run the react-native packager.
208+
209+
*list-ios-sim*
210+
211+
> Return a list of iOS simulators available.
212+
213+
*sim-ios*
214+
215+
> Launch an iOS simulator and load the .app binary.
216+
217+
*reload-ios-app*
218+
219+
> Hard reload the current iOS application in the simulator
220+
221+
*build-ios*
222+
223+
> Build the projects iOS application
224+
225+
*list-android-sim*
226+
227+
> Return a list of Android emulators available.
228+
229+
*reload-android-app*
230+
231+
> Hard reload the current Android application in the emulator.
232+
233+
*sim-android*
234+
235+
> Build projects Android app, launch the Android emulator, and load the app onto the emulator.

desktop/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,22 @@ the package will be output to `./dist/osx/Deco-$VERSION.pkg`
2020

2121
- The `npm run start` task passes in a 'developer' flag to the main process. Certain things are turned off as a result, paths are changed, etc. depending on whether the `__DEV__` variable is set to true. Mainly, `__DEV__` turns OFF the update mechanism, turns ON the developer tools, and loads the web code from a localhost webpack server rather than from a static file.
2222

23+
#### Upgrading the temporary Project template
24+
25+
1. Create a "temp" RN project on the latest stable release by running `react-native init Project` somewhere outside of the `deco-ide` project
26+
2. Build the iOS app in Xcode (**Note**: You don’t even need to run the RN packager, we just need the binary.)
27+
3. Open “Window > Projects” in Xcode and follow the link to the “Derived Data” for the Project. Dig down until you find the `Debug-iphonesimulator/Project.app` file.
28+
4. Copy that file into the root of your "temp" RN project: ie. `~/Path/To/Project/Project.app`
29+
5. Navigate to the `deco-ide/desktop` directory and run:
30+
31+
```
32+
npm run upgrade-project-template -- --projectPath ~/Path/To/Project
33+
```
34+
35+
6. You may have to enter your password at some point during the last step.
36+
7. Open Deco, press "New Project"
37+
8. Enjoy your freshly updated RN template 👍
38+
2339
#### Architecture Overview
2440
2541
##### Actions
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
[android]
3+
target = Google Inc.:Google APIs:23
4+
5+
[maven_repositories]
6+
central = https://repo1.maven.org/maven2

0 commit comments

Comments
 (0)