Skip to content

jsperf/jsperf.com

Repository files navigation

jsperf.com Build Status Test Coverage Code Climate Reviewed by Hound

How to run a local copy of jsPerf

Prerequisites

  1. Node.js (see preferred version in .nvmrc)
  2. MySQL
  3. Install 1. macOS: brew install mysql
  4. Initialize: mysql -uroot -e "CREATE DATABASE jsperf; GRANT ALL ON jsperf.* TO 'jsuser'@'localhost' IDENTIFIED BY 'jspass'; FLUSH PRIVILEGES;"
  5. Get a Browserscope.org API key by signing in and going to the settings page.
  6. Register a new OAuth GitHub application. Leave the callback URL blank. Copy the "Client ID" and "Client Secret".

Setup

  1. Install dependencies: npm install
  2. Create a .env file (will be ignored by git) with the following variables (VAR_NAME=value):
NODE_ENV=development
# from Prerequisites step 2.2
MYSQL_USER=jsuser
MYSQL_PASSWORD=jspass
MYSQL_DATABASE=jsperf
# from Prerequisites step 3
BROWSERSCOPE=
# from Prerequisites step 4
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_CALLBACK=http://localhost:3000

BELL_COOKIE_PASS=password-should-be-32-characters
COOKIE_PASS=password-should-be-32-characters

# customizable but not recommended for local development
# SCHEME=http
# DOMAIN=localhost
# PORT=3000
# MYSQL_HOST=localhost
# MYSQL_PORT=3306
# LOGGLY_TOKEN=
# LOGGLY_SUBDOMAIN=
# REDIS_HOST=
# REDIS_PORT=
# REDIS_PASSWORD=

Start

  • correct version of node
  • mysql running
  • .env created with your values
npm start

Hopefully everything smoothly started up and you're ready to start contributing. If not, check out the wiki for debugging tips.

Sponsorship

Development of jsperf.com is generously supported by contributions from individuals and corporations. If you are benefiting from jsPerf and would like to help keep the project financially sustainable, please visit https://jsperf.com/sponsor.