Loop/Development: Difference between revisions

no edit summary
(In progress page for how to get started on Loop.)
 
No edit summary
Line 18: Line 18:
== Getting started with Firefox Desktop and Standalone development ==
== Getting started with Firefox Desktop and Standalone development ==


=== Directories ===
All files, apart from desktop locales are in [http://hg.mozilla.org/mozilla-central/ mozilla-central], under <code>browser/components/loop/</code>. Within that directory there is:
* *.jsm - Various modules used within Firefox desktop
* build-jsx used to build the required jsx files
* content/ - These files are all used on the desktop for the Loop panel and conversation window. They are loaded into content space rather than chrome
* content/shared - Used for Firefox desktop, but also used for the standalone UI
* standalone/ - Files used by the standalone application, including commands to make and run a standalone server (see below)
* standalone/content - The content files for the standalone application
* ui/ - A UI showcase, used to aid development and layout of styles for the various parts of the UI
=== Firefox Desktop ===
First, [https://developer.mozilla.org/en-US/docs/Simple_Firefox_build build Firefox].
First, [https://developer.mozilla.org/en-US/docs/Simple_Firefox_build build Firefox].
Make sure you have npm installed, and install react:
npm install -g react-tools
=== Standalone (aka link clicker) client ===
This also needs npm to run.
To run the server on localhost, do:
cd browser/components/loop/standalone
make install
Then to run the server:
make runserver
You'll also need to run a [https://github.com/mozilla-services/loop-server Loop server]:
git checkout https://github.com/mozilla-services/loop-server
cd loop-server
make install
You'll then need to copy sample.json to dev.json. Ask in #loop if you need help. Then run:
make runserver
In a Firefox profile, you'll need to set the <code>loop.server</code> pref to <code>http://localhost:5000</code>
=== Developing ===
If you're altering any of the javascript files, you need to make sure you alter the jsx versions if they exist. Running:
cd browser/components/loop
./build-jsx
will generate the js versions of the file. Even better you can use:
./build-jsx -w
to keep watching the jsx files and updating them as the change.
canmove, Confirmed users, Bureaucrats and Sysops emeriti
3,628

edits