A base template for Grunt build tool for vanilla JavaScript projects.
This is based on the defualt jQuery template which includes unit tests and various other default tasks along with a simple pattern/example to get you started. The example that is being used here is similar to those being used on other popular libraries such as Modernizr,Socialite and many more.
Clone the entire repo and place this in /grunt/tasks/init/ on your local pc. For further instructions or more info on the appropriate paths and working with custom tasks, please see the Grunt Template Docs. I hope to add this to NPM soon which will make installing this template much easier.
Once the above has been done, change to a new directory, and type in grunt init:vanillajs
. Answer the questions. Watch grunt do it's thing. Done. Now you have fully initialized project scaffolding.
If you are new to Grunt, then see below basic guide on installing and setting up Grunt.
This assumes you have node.js and npm installed already.
- Test that grunt is installed globally by running
grunt --version
at the command-line. - If grunt isn't installed globally, run
npm install -g grunt
to install the latest version. You may need to runsudo npm install -g grunt
. - From the root directory of this project, run
npm install
to install the project's dependencies.
In order for the qunit task to work properly, PhantomJS must be installed and in the system PATH (if you can run "phantomjs" at the command line, this task should work).
Unfortunately, PhantomJS cannot be installed automatically via npm or grunt, so you need to install it yourself. There are a number of ways to install PhantomJS.
- PhantomJS and Mac OS X
- PhantomJS Installation (PhantomJS wiki)
Note that the phantomjs
executable needs to be in the system PATH
for grunt to see it.
- How to set the path and environment variables in Windows
- Where does $PATH get set in OS X 10.6 Snow Leopard?
- How do I change the PATH variable in Linux
(Nothing yet)
Copyright (c) 2012 Nic da Costa
Licensed under the MIT, GPL licenses.