I am working in CoffeeScript (writing a Cakefile). I would like to compile some other CoffeeScript files, à la
coffee -o lib -c src
I could launch the above command in a child process, but this approach has cross-platform issues and makes error handling difficult. I’d much rather use an API.
I’d be happy to use the exact functions from command.coffee, but I can’t work out how.
Addendum: I see require('coffee-script').compile, which compiles a string to another string. That would still leave me to do the grunt work of looping over files and subfolders and writing the output.
The API you’re looking for is in coffee-script.coffee. It exports a
compilefunction that does what it says on the tin.To use command.coffee’s
runfunction directly you’d have to first overwriteprocess.argvwith the options you would have passed on the command line.