c9-core/plugins/c9.fs/mock
c9bot 106832d7b6 c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
..
.c9/runners c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
dir c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
plugins c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
python c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
toString c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
README.md c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
__lookupSetter__ c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
__proto__ c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
constructor c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
debug.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
dirLink c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
example.png c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
file.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
file.txt c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
fileLink.txt c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
language.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
less.less c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
listing.json c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
live.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test blah$.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test.browser.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test.css c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test.js.map c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test.php c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test.sh c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test.ts c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test.unicode.txt c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test2.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test_broken.go c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test_broken.php c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test_broken.rb c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test_broken.sh c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
test_es6.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
valueOf c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00
very_large_file.js c9-auto-bump 3.1.2814 2016-06-26 13:53:19 +02:00

README.md

Cloud9 3.0

The new VFS based Cloud9.

Installation

Installing newclient is super simple.

git clone git@github.com:ajaxorg/newclient.git
cd newclient
npm install

Installing the node-webkit based newclient has more steps:

  1. Download the OSX node-webkit https://s3.amazonaws.com/node-webkit/v0.5.1/node-webkit-v0.5.1-osx-ia32.zip.
  2. Install nw-gyp (via your favorite package manager)
  3. Run scripts/install-nw-pty.sh

Starting the VFS server

node server.js

The following options can be used:

-t          Start in Testing Mode
-d          Start in Debug Mode
-k          Don't kill tmux at startup (only relevant when -t is set)
-w [path]   Use [path] as workspace root dir. Defaults to root dir of project.
-p [port]   Set the port to [port]. Defaults to 8181.
-l [host]   Set the host to [host]. Defaults to 0.0.0.0.

Starting node webkit version

Assuming node-webkit is installed and the nw command is the alias for node-webkit.

nw local

There's support for -w to specify the workspace directory and an arbitrary number of args specifying the files to open:

nw local -w `pwd` server.js

You can also open via bin/c9

bin/c9 open -w . server.js

Building the local version

Run the following command to build a .app file for OSX:

cd build; ./node-webkit-osx.sh

This will create a cloud9.app in the build/output directory. You can also specify the following options

dmg     This creates a cloud9.dmg in the build/output directory
install This will create a cloud9.app in ~/Applications

To create an update package run

cd build; ./local-update.sh

This will build a new .tar.gz and .zip file and point build/output/latest.tar.gz (and .zip) to those files.

Load full UI in the browser

http://localhost:8181/static/index.html

The plugin configuration for development mode is in configs/client-default.js.

To start the full UI in development mode use the following url:

http://localhost:8181/static/index.html?devel=1

The plugin configuration for development mode is in configs/client-devel.js.

Running Tests

In the following example the server name is localhost. Change this to your server name or ip address.

Running all tests:

http://localhost:8181/static/test.html

Running one specific test (in this case of the ace plugin):

http://localhost:8181/static/test.html?plugins/c9.ace/ace_test.js

Running multiple tests:

http://localhost:8181/static/test.html?plugins/c9.ace/ace_test.js&plugins/c9.ace.gotoline/gotoline_test.js

Keeping the UI after the test ran

http://localhost:8181/static/test.html?plugins/c9.ace/ace_test.js&remain=1

Committing back to SubTree repositories

Newclient uses git subtree as a way to manage the underlying repositories that are managed by us. To commit back to those repositories keep in mind that commits should not cross repository boundaries. Split up your commits per sub repo. The sub repos are all in the node_modules folder.

To pull from a repo use the following command:

git fetch <name> master
git subtree pull --prefix node_modules/<name> <name> master --squash

To push back to a repo use the following command:

git subtree push --prefix=node_modules/<name> <name> <branch_name>

For instance:

git subtree push --prefix=node_modules/ace ace fix/multi-cursor-weirdness

For more info see: http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/

Installing a new version of git using nix

Older versions of git don't have the subtree command. You can use nix to install the latest version of git:

scripts/install-git-subtree.sh