Skip to content

Instantly share code, notes, and snippets.

@denysonique
Created November 9, 2012 02:24
Show Gist options
  • Save denysonique/4043330 to your computer and use it in GitHub Desktop.
Save denysonique/4043330 to your computer and use it in GitHub Desktop.
watch and autocompile.jade and .coffee files when changed
jade = require 'jade'
fs = require 'fs'
coffee = require 'coffee-script'
path = require 'path'
file = require 'file'
watch = (fname)->
fs.watch fname, (event, filename)->
if event == 'change'
switch path.extname(filename)
when '.jade'
fs.readFile filename, (err, data)->
res = "define(function(require) {
jade = require('jade');
return #{jade.compile(data, client: true)}
})"
fs.writeFile path.basename(filename, '.jade')+'.js', res
when '.coffee'
fs.readFile filename, (err, data)->
data = data.toString()
res = coffee.compile(data)
fs.writeFile path.basename(filename, '.coffee')+'.js', res
file.walk './', (err, dirPath, dirs, files)->
files.forEach (filename)->
extname = path.extname(filename)
if ['.jade', '.coffee'].indexOf(extname) != -1
watch(filename)
@denysonique
Copy link
Author

Please not that .jade files get autocompiled in RequireJS/AMD format

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment