Switch branches/tags
Nothing to show
Clone or download
salbertson and maxbeatty Add "Reviewed by Hound" badge (#496)
* Add "Reviewed by Hound" badge

* Remove broken greenkeeper.io image
Latest commit f4643b8 Oct 23, 2018
Permalink
Failed to load latest commit information.
client Update dependencies to enable Greenkeeper 🌴 (#405) Jul 10, 2017
public Remove timeout for loading `jsapi` Mar 29, 2017
server use github username for my tests link closes #473 Oct 9, 2018
templates use github username for my tests link closes #473 Oct 9, 2018
test Use github login info to associate pages/comments with a user (#467) Oct 9, 2018
.codeclimate.yml ignore client js for codeclimate (until changed) Jul 14, 2015
.editorconfig Port advertisements to the new version Apr 12, 2016
.eslintignore End 2 end tests (#134) Jul 14, 2016
.eslintrc use semistandard style Oct 11, 2015
.gitattributes hello world Feb 19, 2015
.gitignore add e2e test to login and create page (#319) Jan 15, 2017
.hound.yml Update hapi to version 15.0.2 πŸš€ (#176) Aug 30, 2016
.nvmrc Use `package-lock.json` instead of `npm-shrinkwrap.json` (#400) Jun 4, 2017
.travis.yml add separate config for prod deploys (#493) Oct 9, 2018
CONTRIBUTING.md Update dependencies (#430) Oct 14, 2017
Dockerfile add separate config for prod deploys (#493) Oct 9, 2018
LICENSE-MIT.txt Add license Jan 7, 2017
README.md Add "Reviewed by Hound" badge (#496) Oct 22, 2018
config.js Fix cache start (#453) Dec 12, 2017
gulpfile.js Update dependencies to enable Greenkeeper 🌴 (#405) Jul 10, 2017
index.js use semistandard style Oct 11, 2015
manifest.js Fix cache start (#453) Dec 12, 2017
now.json add separate config for prod deploys (#493) Oct 9, 2018
now.prod.json add separate config for prod deploys (#493) Oct 9, 2018
package-lock.json minor dep updates Oct 9, 2018
package.json minor dep updates Oct 9, 2018
server.js dockerize node app, mysql, and load balancer with dynamic configuration Apr 12, 2016

README.md

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.