Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Frontend for the Firefox Marketplace
JavaScript CSS HTML Other

Commit from Mozilla Verbatim by user gialloporpora.: 326 of 326 strin…

…gs translated (0 fuzzy).
latest commit b5bfcf10f2
gialloporpora authored verbatim updates user committed
Failed to load latest commit information.
bin Update/Add translations for all error messages in the iframed app (bu…
locale Commit from Mozilla Verbatim by user gialloporpora.: 326 of 326 strin…
package Remove workaround for old *feature bug and test hasFeature before usi…
src Handle failure/success when installing an ACL app from the activity (…
tests Use "Install" button text for purchased apps (bug 1183072)
.bowerrc add bowerrc to not ask about usage stats
.gitignore refresh collection and op shelf background and curves (bug 1103301/11…
.travis.yml I AM SHERLOCKED (bug 1125417)
Dockerfile Revert "Replace 'RUN node_modules/.bin/bower install' with 'make inst…
LICENSE Add license (closes issue #62)
Makefile I AM SHERLOCKED (bug 1125417)
README.md Corrected link to Packages Apps Documentation
bower.json Lazily translate content filter strings (bug 1182227)
config.js Revert instant games
fabfile.py Remove package_update from build step in fabfile.
gulpfile.js don't prefix iframe packages with i anymore
karma.conf.js mcm v2.4 bump (bug 985552/1144437)
package.json Revert instant games
sherlocked.js Investigate the categories menu in Arabic
test-main.js Use "Install" button text for purchased apps (bug 1183072)

README.md

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-api-mock'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 UI tests and mocha, chai and sinon for unit tests.

Running Unit Tests

make unittest

This will launch the karma test runner that will run the unit tests in a new instance of Firefox.

Running Functional and UI Tests

Before running the functional and UI tests, your settings_local.js should have api_url and media_url pointing to an instance of marketplace-api-mock. You can easily achieve this by setting the API environment variable when calling make serve, this will overwrite your current api_url and media_url settings.

First, start a server with:

API=mock make serve

Then, run the tests against it. We support both PhantomJS and SlimerJS to run tests in WebKit and Gecko, respectively. To run both use make uitest, if you just want to run them in one browser make uitest-phantom or make uitest-slimer.

make uitest-phantom

Running Functional and UI Tests in SlimerJS

SlimerJS requires a path to a firefox binary. make uitest-slimer will try to use /Applications/Firefox.app/Contents/MacOS/firefox which is the path to your default Firefox on Mac. This path might not work for you and best results are achieved by using Firefox 30. You can download a copy of Firefox 30 on ftp.mozilla.org. To set the path to your firefox use the SLIMERJSLAUNCHER environment variable. You might want to call export SLIMERJSLAUNCHER=/path/to/firefox in your shell's setup script.

SLIMERJSLAUNCHER=/Applications/Firefox-30.app/Contents/MacOS/firefox make uitest-slimer

Running a Single Functional or UI Test

UITEST_FILE=tests/ui/<PATH_TO_TEST_FILE> make uitest

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.

Something went wrong with that request. Please try again.