fcecc4c2cc
debug protocol page updated |
||
---|---|---|
tests | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
gulpfile.js | ||
index.js | ||
package.json |
README.md
node-firefox
As an overall project, node-firefox is a family of modules made for interacting with Firefox via the DevTools Remote Protocol.
As a module, node-firefox
serves as a table of contents for the rest of the
modules in the node-firefox family.
Installation
npm
npm install node-firefox
From git
git clone https://github.com/mozilla/node-firefox.git
cd node-firefox
npm install
If you want to update later on:
cd node-firefox
git pull origin master
npm install
Usage
Using require('node-firefox')
yields an object with properties that contain
instances of all the other modules in the node-firefox
family installed as
dependencies.
For example:
> var firefox = require('node-firefox');
> Object.keys(firefox)
[ 'findPorts',
'findDevices',
'forwardPorts',
'findSimulators',
'startSimulator',
'connect',
'findApp',
'installApp',
'uninstallApp',
'launchApp',
'reloadCss' ]
Some of our grand goals
- Simplify app development for Firefox OS--make it look more like "normal" app development by enabling developers to use tools like Gulp to do things such as deploying to the device.
- "Close the circle" with Cordova + Firefox OS and make it possible to run
cordova emulate
orcordova deploy
. (In progress here.) - Provide a command line tool which supports features of the WebIDE, for people who like typing more than clicking.
- Mega grand goal: control/debug any browser on the command line via DevTools via Valence.
Current status
We're code reviewing and auditing the existing modules, and figuring out how to have them testable against a number of platforms (this includes both simulators and real, physical devices). We're using the node-firefox-ports module as the base to help us devise a framework that works well. For more details, you can ask sole or tofumatt in irc.mozilla.org
#apps.
Supported platforms
Here's a very early stages support matrix. Bear with us as we make more progress ;)
Module / Platforms | Linux | Mac OS | Windows |
---|---|---|---|
node-firefox-find-ports |
|
|
|
node-firefox-find-devices |
|
|
|
node-firefox-forward-ports |
|
|
|
node-firefox-find-simulators |
|
|
|
node-firefox-start-simulator |
|
|
|
node-firefox-connect |
|
|
|
node-firefox-find-app |
|
|
|
node-firefox-install-app |
|
|
|
node-firefox-uninstall-app |
|
|
|
node-firefox-launch-app |
|
|
|
node-firefox-reload-css |
|
|
|
Note: Linux testing used Ubuntu 14.
Examples
Installing a packaged app
node-firefox-examples-install-packaged is a full project that shows how to install a packaged app using node-firefox
.
Building with gulp + browserify
node-firefox-examples-gulp shows how to build, push and watch a packaged app using node-firefox
with gulp and browserify.
Dependencies
These are the dependencies between modules in the project (or closely related, like firefox-client
).
We're only representing required dependencies to run a given module, not dependencies required for running the examples. Those are in the devDependencies
section each module's package.json
.
node-firefox-find-ports +--> firefox-client
node-firefox-find-simulators +--> (no dependencies)
node-firefox-start-simulator +--> firefox-client
|
+--> node-firefox-find-simulators
node-firefox-connect +--> firefox-client
node-firefox-find-app +--> (no dependencies)
node-firefox-install-app +--> (no dependencies)
node-firefox-launch-app +--> (no dependencies)
node-firefox-reload-css +--> (no dependencies)
Contributing
It's still early stages, but we'd love to get you onboard, so we wrote some guidelines for contributing.
History
Based on early work on node-fxos by Nicola Greco.