Ensemble is the platform that powers the Firefox Public Data Report, a weekly public report on the activity, behavior, and hardware configuration of Firefox Desktop users.
Ensemble fetches data from ensemble-transposer, a JSON server that adds metadata to the raw data hosted by Mozilla data engineers.
Ensemble is written in React with the help of the wonderful create-react-app tool from Facebook. See the create-react-app documentation for more information. Some highlights and some additional information are provided here.
Run npm start
Any of the environment variables in .env can be overridden. For example:
REACT_APP_SITE_TITLE='Firefox Public Lore Report' npm start
See the create-react-app documentation on deployment.
Any of the environment variables in .env can be overridden.
Run npm test
to run Jest, Nightwatch, and ESLint tests locally.
Nightwatch tests can optionally be run against the staging and production sites.
Run npm run test:nightwatch:stage
or npm run test:nightwatch:prod
respectively.
To analyze the size of the JavaScript bundle that will be served, run npm run size
.
We maintain a version number for this project. We try to update it when we deploy new code. The version number is specified in package.json.
The number looks like a semantic version number, but semver isn't suitable for applications. We instead follow this basic guideline: the first number is incremented for major changes, the second number is incremented for medium changes, and the third number is incremented for small changes.