Front-end to complement mozilla/addons-server
Перейти к файлу
Stuart Colville 1dcb8e3c8c Merge pull request #228 from mozilla/greenkeeper-eslint-plugin-react-5.0.1
Update eslint-plugin-react to version 5.0.1 🚀
2016-04-18 16:14:34 +01:00
bin Server Tests 2016-03-29 19:26:05 +01:00
dist add initial folder layout 2016-02-22 15:03:04 +00:00
docker Production style docker environment (fixes #52) 2016-03-02 11:55:34 -06:00
public add initial folder layout 2016-02-22 15:03:04 +00:00
src Provide a bundle per app 2016-04-15 20:29:27 +01:00
tests Don't show inaccessible page numbers in some cases (fixes #200) 2016-04-13 10:24:53 -05:00
.babelrc Setup webpack-isomorphic-tools. 2016-03-09 17:32:18 +00:00
.eslintignore Setup code coverage generation 2016-03-02 19:54:47 +00:00
.eslintrc Fix up deps, upgrade babel-eslint 2016-03-23 16:40:58 +00:00
.gitignore Setup webpack-isomorphic-tools. 2016-03-09 17:32:18 +00:00
.npmrc Add .npmrc 2016-02-22 18:54:24 +00:00
.nvmrc Specify node version 2016-02-22 18:54:39 +00:00
.travis.yml Use the latest firefox for travis tests 2016-03-09 10:03:38 +00:00
Dockerfile Add forward slash to directory destination when using ADD 2016-03-21 16:20:22 -04:00
LICENSE Initial commit 2016-02-19 17:25:58 +00:00
README.md Provide a bundle per app 2016-04-15 20:29:27 +01:00
karma.conf.js Add definePlugin and environmentPlugin 2016-03-11 17:52:17 +00:00
package.json chore(package): update eslint-plugin-react to version 5.0.1 2016-04-18 16:14:16 +01:00
test-runner.js Server Tests 2016-03-29 19:26:05 +01:00

README.md

Build Status Coverage Status

Addons-frontend 🔥

Front-end infrastructure and code to complement mozilla/addons-server

Requirements

  • Node 4.x LTS
  • npm 3.x

The easiest way to manage multiple node versions in development is to use nvm. See https://github.com/creationix/nvm for more info.

Get started

  • npm install
  • npm run dev

NPM scripts

Script Description
npm start Starts the express server (prod mode all apps)
npm start:disco Starts the express server (prod mode discovery pane)
npm start:search Starts the express server (prod mode search)
npm test Runs the tests
npm run build Builds the libs (all apps)
npm run build:disco Builds the libs (discovery pane)
npm run build:search Builds the libs (search)
npm run dev Starts the dev server (Express + webpack)
npm run dev:search As above but just the search code
npm run dev:disco As above but just the discovery pane code
npm run lint Lints the files with eslint (Run in npm test)
npm run eslint An alias for npm run lint
npm run version-check Checks you have the minimum node + npm versions

Running a production build of a specific app:

Running a specific prod build is as follows:

npm run build:search && npm run start:search

Overview and rationale

This project will hold several distinct front-ends e.g:

  • Editors search tool
  • Discovery Pane
  • and beyond...

We've made a conscious decision to avoid "premature modularization" and keep this all in one repository. This will help us build out the necessary tooling to support a universal front-end infrastructure without having to worry about cutting packages and bumping versions the entire time.

At a later date if we need to move things out into their own project we still can.

Core technologies

  • Based on Redux + React
  • Code written in ES2015+
  • Universal rendering via node
  • Unit tests with high coverage (aiming for 100%)