Start a Firefox OS simulator.
This is part of the node-firefox project.
git clone https://github.com/mozilla/node-firefox-start-simulator.gitcd node-firefox-start-simulatornpm install
If you want to update later on:
cd node-firefox-start-simulatorgit pull origin masternpm install
npm install node-firefox-start-simulator
var startSimulator = ;// `startSimulator` returns a Promise;
options is a plain
Object with any of the following:
detached: start the simulator as a detached process. If our script is killed, the simulator will still be running.
port: make the simulator listen to this port for debugging. If not specified, we'll find an available port.
version: start a simulator in this version. If not specified, we'll start the first simulator that we can find.
console.logmessages executed in the simulator.
simulator is an object containing:
binary: path to the simulator binary
bin: an alias to
profile: path to the simulator profile
pid: process id
process: the actual process object
port: the port where the simulator is listening for debugging connections
There is also a
startSimulator.all() utility to launch many simulators at once:
options parameter here is the same as above - these options will be
commonly applied to all the simulators launched.
The call to
startSimulator.all() returns a function that takes a list of
simulators and returns a Promise to launch them all. The result of that
launchedSimulators, a list of all the simulators that were
Note: This function returning a function may seem like a roundabout way to do
things, but take a look at the examples below to see how this works with
findSimulators() and other Promise-based APIs.
Start any simulator on the first available port
var startSimulator = ;;
Start all simulators found on your system
var findSimulators = ;var startSimulator = ;// startSimulator.all() returns a function that applies the common options to// all the simulators discovered by findSimulators()findSimulators;
Have a look at the
examples folder for more!
If you want to contribute to this module, it might be interesting to have a look at the way WebIDE launches the simulator. The code for this is in simulator-process.js. Whenever possible, we want to mimic the WebIDE experience as closely as possible.
This is based on initial work on fxos-start by Nicola Greco.