Skip to content


Repository files navigation



The app is made up of HTML, CSS and JavaScript. We're using ES2015 modules and we use webpack to bundle the application. The core of the application is pure JavaScript and the user interface uses React.

We use Prettier to ensure consistent code formatting and ESLint with Airbnb's JavaScript style guide to automatically find and fix problems as well as enforcing a particular code style in our JavaScript.

Install nvm and node

$ brew install nvm
$ source ~/.nvm/
$ # Follow instructions to configure your bash config

Install node

$ cd /path/to/lightbox
$ nvm install
$ nvm use
Found '/path/to/lightbox/.nvmrc' with version <v10.19.0>
Now using node v10.19.0 (npm v6.13.4)

Install packages

$ npm install

Running tests

The tests are written using Jest.

$ npm test

Starting app in development

$ npm start

Deploy Preview

Netlify automatically runs a build on a non-master branch when a GitHub pull request is opened for that branch. If the build passes then Netlify automatically deploys the changes to a "Deploy Preview" whose URL is publicly accessible, but "secure" by being an obscure/unguessable URL. Deploy Previews are listed here.


Netlify automatically runs a build when commits are pushed to the master branch. If the build passes then Netlify automatically deploys the changes to the production website, Production deployments are listed here.


Please note that this repository is participating in a study into sustainability of open source projects. Data will be gathered about this repository for approximately the next 12 months, starting from 4 June 2021.

Data collected will include number of contributors, number of PRs, time taken to close/merge these PRs, and issues closed.

For more information, please visit our informational page or download our participant information sheet.