node-firefox

node.js modules for interacting with Firefox via the DevTools remote protocol

  • Owner: mozilla/node-firefox
  • Platform:
  • License:: Mozilla Public License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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 or cordova 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 ;)

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.

Main metrics

Overview
Name With Ownermozilla/node-firefox
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:Mozilla Public License 2.0
所有者活动
Created At2014-07-17 19:35:36
Pushed At2017-12-07 13:08:54
Last Commit At2017-12-07 13:08:52
Release Count1
Last Release Name0.1.0 (Posted on )
First Release Name0.1.0 (Posted on )
用户参与
Stargazers Count300
Watchers Count27
Fork Count18
Commits Count48
Has Issues Enabled
Issues Count32
Issue Open Count22
Pull Requests Count14
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private