Automated website check/build system, within nodejs
JavaScript CoffeeScript
Pull request Compare This branch is 2 commits behind proximitybbdo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
node_modules
src
test/fixtures
.gitignore
CHANGELOG.md
Cakefile
README.md
TODO.md
package.json
voodoo.js

README.md

Voodoo

Build system for our sites. When invoked, it performs so called 'needles', which contain a series of tasks such as link checking, javascript checking, css minification, ...

It is build on top of the wonderful grunt.

Since Voodoo was primary build for our own projects, the default voodoo.js config file (this is actually just the grunt config.js file) will execute a series of tasks tailor made for our framework. This following needles are stung:

    task.registerTask("default", "clean lint:files concat min");
  • the clean needle, removing assets/js/app.js and assets/js/libs.js if they existed from a previous run
  • the lint needle, checking all *.js files inside assets/js/ (NOT inside the subsequent libs folder) against jshint. Options are set in the voodoo.js
  • the concat needle, concatenating assets/js/*.js into assets/js/app.js (which is why we needed the clean needle), and all assets/js/libs/*.js files into assets/js/libs.js
  • the min needle, minifying the previous two js files
  • the pulverize needle, squeezing your images to save bytes

Install

Installation is through npm, and straightforward: npm install -g voodoo

Run voodoo -h afterwards to get more help.

Usage

Inside your website directory, just execute voodoo without params to perform the basic tasks, as predefined for our framework (see config.js inside the repo). The default voodoo.js will be created at the path where you execute the command, and is very similar to the gruntfile found in grunt.

Optionally, you can run voodoo -g or voodoo --generate to create the default voodoo.js file without running voodoo itself. This gives you the change to first change the config.

The following parameters are available

  • -b, --base - working directory for your site (where assets folder is in )
  • -v, --verbose - verbose output
  • -f, --force - a way to force your way past warnings. Want a suggestion? Don't use this option, fix your code
  • -g, --generate - generate a default voodoo.js file