Skip to content

Latest commit

 

History

History
91 lines (63 loc) · 2.7 KB

DEVELOPER.md

File metadata and controls

91 lines (63 loc) · 2.7 KB

Building and Testing Rekord

This document describes how to set up your development environment to build and test Rekord. It also explains the basic mechanics of using git, node, and npm.

See the contribution guidelines if you'd like to contribute to Rekord.

Prerequisite Software

Before you can build and test Rekord, you must install and configure the following products on your development machine:

  • Git and/or the GitHub app (for Mac or Windows); GitHub's Guide to Installing Git is a good source of information.

  • Node.js, (version >=4.2.1 <6) which is used to run tests and generate distributable files. We also use Node's Package Manager, npm (version >=3.3.8 <4.0), which comes with Node. Depending on your system, you can install Node either from source or as a pre-packaged bundle.

Getting the Sources

Fork and clone the Rekord repository:

  1. Login to your GitHub account or create one by following the instructions given here.
  2. Fork the main Rekord repository.
  3. Clone your fork of the Rekord repository and define an upstream remote pointing back to the Rekord repository that you forked in the first place.
# Clone your GitHub repository:
git clone git@github.com:<github username>/rekord.git

# Go to the Rekord directory:
cd rekord

# Add the main Rekord repository as an upstream remote to your repository:
git remote add upstream https://github.com/Rekord/rekord.git

Installing NPM Modules

Next, install the JavaScript modules needed to build and test Rekord:

# Install Rekord project dependencies (package.json)
npm install

Build commands

To build Rekord and prepare tests, run:

gulp build

Notes:

  • Results are put in the build folder.

To clean out the build folder, run:

gulp clean

Running Tests Locally

Test are written using QUnit. You can run just the unit tests as follows:

gulp test

Project Information

Folder structure

  • src/*: contains all Rekord source files.
  • build/*: build files are placed here.
  • examples/*: example applications exist here.
  • test/*: unit tests exist here.