こんな状況 coffeeフォルダの*.coffeeファイルを監視して, jsフォルダに*.jsとして出力する。 module.exports = function(grunt) { grunt.initConfig({ watch: { files: 'coffee/*.coffee', tasks: 'coffee' }, coffee: { compile: { expand: true, cwd: 'coffee', src: ['*.coffee'], dest: 'js', ext: '.js' } } } }; これが問題 coffee/test01.coffeeを編集すると自動的にjs/test01.jsに変換される。 ただし変更ファイル以外も含め監視下のすべてのcoffeeファイルがコンパイルされる。 # ll coffee/ | awk '{print $8 " " $9