You just need to have Node.js and Git. Optionally you also need PhantomJS if you want to run test units.
(optional, just for running unit tests)
- Install PhantomJS
- In modern Debian/Ubuntu systems PhantomJS can be installed via
apt-get install phantomjs
Clone a copy of the main SIP.js git repository by running:
$ git clone https://github.com/onsip/SIP.js.git
Install grunt-cli globally:
$ npm install -g grunt-cli
Enter the directory and install the Node.js dependencies:
$ cd SIP.js && npm install
Make sure you have grunt
installed by testing:
$ grunt -version
Finally, run grunt
command with no arguments to get a complete version of SIP.js:
$ grunt
The built version of SIP.js will be available in the dist/
subdirectory in both flavors: normal (uncompressed) and minified, both linted with JSLint. There will be also a file named dist/sip-devel.js
which is an exact copy of the uncompressed file.
Run grunt devel
for just generating the dist/sip-devel.js
file. An uncompressed SIP.js source file named sip-devel.js
will be created in dist
directory.
SIP.js includes test units based on Jasmine. Test units use the dist/sip-devel.js
file. Run the tests as follows:
$ grunt test
Running "jasmine:components" (jasmine) task
Testing jasmine specs via phantom
...
672 specs in 2.757s.
>> 0 failures
If you modify src/Grammar/src/Grammar.pegjs
then you need to recompile SIP.js grammar files. For that run the following task:
$ grunt grammar
And then build SIP.js again as explained above.