Grunt is used for building, including concatenating, minimizing, documenting, linting, and testing.
- Install Node.js and its package manager, NPM
sudo apt-get install nodejs npmsudo ln -s /usr/bin/nodejs /usr/bin/node
- Install Grunt
sudo npm install -g grunt-clisudo rm -rf ~/.npm ~/tmp
- Install the Grunt tasks specific to this project
cd /path/to/mypackagejs/utils/npm install .
- (Optional) To generate the documentation, you'll need to setup Java. Documentation generation is not required for patches.
echo "export JAVA_HOME=/usr/lib/jvm/default-java/jre" >> ~/.bashrcsource ~/.bashrc
- Install Node.js and its package manager, NPM
sudo apt-get install python-software-propertiessudo add-apt-repository ppa:chris-lea/node.jssudo apt-get update && sudo apt-get install nodejs phantomjs
- Install Grunt
sudo npm install -g grunt-clisudo rm -rf ~/.npm ~/tmp
- Install the Grunt tasks specific to this project
cd /path/to/mypackagejs/utils/npm install .
- (Optional) To generate the documentation, you'll need to setup Java. Documentation generation is not required for patches.
echo "export JAVA_HOME=/usr/lib/jvm/default-java/jre" >> ~/.bashrcsource ~/.bashrc
- Install Node.js and its package manager, NPM
- Go to Node.js Downloads
- Download and install the Universal pkg file.
- Install Grunt and the test runner Karma
sudo npm install -g grunt-cli karma
- Install the Grunt tasks specific to this project
cd /path/to/mypackagejs/utils/npm install .
Before proceeding, please confirm you have installed the dependencies above.
To run the build tasks:
cd /path/to/mypackagejs/utils/grunt build
grunt build will concatenate and minimize the files under src and replace ros3d.js and ros3d.min.js in the build directory. It will also run the linter and test cases. This is what Travis CI runs when a Pull Request is submitted.
grunt dev will watch for any changes to any of the src/ files and automatically concatenate and minimize the files. This is ideal for those developing as you should only have to run grunt dev once.
grunt doc will rebuild all JSDoc for the project.