0.1.1 • Published 9 years ago
ninja-star v0.1.1
NinjaStar
This repository is currently work in progress.
Inspired by
Installation
$ npm install -g ninja-star
Usage
Just generate `build.ninja'
$ ninjastar configure.coffee
With building (run ninja
)
$ ninjastar configure.coffee --build
Automation
$ ninjastar configure.coffee --build --autobuild
configure
module.exports =
buildlines: [
['coffee', 'src/coffee/*.coffee', '$builddir/js']
]
rules:
coffee:
to_ext: '.js'
command: 'coffee -cs < $in > $out'
description: "Compile CoffeeScript '$in' to '$out'."
watchDir: 'src'
More complicated configure
process.env.PATH = process.env.PATH + ":./node_modules/.bin"
module.exports =
buildlines: [
['coffee', 'src/coffee/*.coffee', '$builddir/js']
['stylus', 'src/stylus/*.+(stylus|styl)', '$builddir/css']
['jade', 'src/jade/*.jade', '$builddir/html']
['copy', 'src/js/*.js', '$builddir']
['copy', '$builddir/html/*.html', 'site/']
[
'uglifyjs', [
'bower_components/jQuery/dist/jquery.js'
'bower_components/moment/moment.js'
'$builddir/js/*.js'
], 'site/js/all.js']
[
'uglifycss', [
'$builddir/css/*.css'
], 'site/css/all.css']
]
rules:
copy:
command: 'cp -p $in $out'
description: "Copy '$in' to '$out'"
coffee:
to_ext: '.js'
command: 'coffee -cs < $in > $out'
description: "Compile CoffeeScript '$in' to '$out'."
stylus:
to_ext: '.css'
command: 'stylus < $in > $out'
description: "Compile Stylus '$in' to '$out'."
jade:
to_ext: '.html'
command: 'jade < $in > $out'
description: "Compile Jade '$in' to '$out'."
yaml:
to_ext: '.json'
command: "yaml2json $in > $out"
description: "Compile YAML '$in' to '$out'."
catenate:
type: 'aggregate'
command: 'cat $in > $out'
uglifyjs:
type: 'aggregate'
command: 'uglifyjs $in > $out'
description: "Minify '$in' to '$out' ."
uglifycss:
type: 'aggregate'
command: 'cat $in | minify > $out'
description: "Minify '$in' to '$out' ."
watchDir: 'src'