Skip to content

jasonthomas/fireplace

 
 

Repository files navigation

Marketplace Frontend

Build Status

The Firefox Marketplace frontend.

screenshot of Marketplace homepage

Installation and Usage

npm install
make install
make serve

This will start a web server on http://localhost:8675.

Building for Production

Our build process bundles up our JS, minifies our CSS, compiles our templates, and extracts locales into JS modules. To run the build process:

make build

This will generate files including:

src/media/templates.js
src/media/js/include.js
src/media/js/include.js.map
src/media/css/include.css

Developing the Packaged App

To package the Marketplace frontend, run:

make package

This will output a package and output to package/archives/. You can use WebIDE to install this package in the device or simulator.

Further details can be found in the Marketplace documentation.

Marketplace Mock API

We have an instance of a mocked version of the Marketplace API at https://flue.paas.allizom.org. Documentation can be found in marketplace-mock-api's repository.

iframed Package

We currently ship with an iframed version of the Marketplace frontend. It is a package that contains an iframe pointing to the Marketplace website. See more details within the iframe package directory.

Localizing

A detailed guide to extracting strings and creating JS language packs is located on the wiki.

Tests

We use CasperJS to write tests.

Running Unit Tests

Load http://localhost:8675/tests in your browser.

Running Functional and UI Tests

Before running the functional and UI tests, your settings_local.js should contain the same API and media URL found in settings_travis.js.

make test

Running a Single Functional or UI Test

casperjs test tests/ui/<PATH_TO_TEST_FILE>

Serving with Nginx

If you wish to serve the Marketplace frontend with nginx, which is often useful for keeping all the Marketplace projects on the same domain, read about serving Fireplace with Nginx.

Packages

No packages published

Languages

  • JavaScript 66.7%
  • CSS 31.7%
  • Other 1.6%