Cool, thanks for joining in and welcome aboard! If you have Node.js and make
installed, you are ready to start.
Before you start editing: If you don’t directly fix an already reported issue, please do open a new one before! Otherwise there might be the chance, that your work is not fully aligned with Hyperform’s goals, and your time wasted.
Log in to GitHub and fork Hyperform (button in the upper-right corner). Then switch to your terminal:
$ git clone [email protected]:YourUserName/hyperform.git
$ cd hyperform
$ npm install
# now you're ready to go. Try your first build to see if everything works:
$ make -B && git statusGit should show no file changes. Start editing the files in src and build
again with make.
For this you need a SauceLabs account. It’s free to register and allows testing in a bunch of browsers concurrently. Export your SauceLabs API token from your profile page to your shell:
$ export SAUCE_USERNAME=your_saucelabs_user
$ export SAUCE_ACCESS_KEY=your_api_keyThen you can run all tests with a single command:
$ make testIf you do not want to create a SauceLabs account, you can also do the tests manually:
$ make test-syntax
$ make test-unitand then open test/functional/index.html in your browser and verify, that
all tests return green.
Attention: The functional tests are performed on dist/hyperform.js. Don’t
forget to make that file prior to testing!
If you have gnuplot installed, try
$ make cmpsizeThis produces a nice little chart of how the size of dist/hyperform.min.js
changed over time. If you notice a huge peak at the very end, maybe there could
be one or the other byte shoved off before you commit 😉.
See Github’s help page on how that works exactly (with screenshots!). Please try to make title and description of the change request meaningful.
If you encounter any problem, grab Manuel on Twitter or via e-mail.