Scrunch
Assembles coffee-script files.
It's like browserify, but only for coffee-script and doesn't package npm
dependencies (like fs
and http
).
Command Line Usage
$ sudo npm install -g coffee-scrunch
$ scrunch--help
Usage: scrunch.js [options]
Options:
-h, --help output usage information
-V, --version output the version number
-v, --verbose Detailed logs
-i, --in [file] Input file
-o, --out [file] Write to file
API Usage
var scrunch = ; var options = input: 'init.coffee' output: 'app.js' // optional log: false // optional; ;
Example
# a.coffee b = require './b'consolelog'[a] running b...'b
# b.coffee c = require './c'= -> consolelog'[b] running c...' c
# c.coffee = -> consolelog'[c] ...being run'
$ scrunch -i a.coffee -o app.js
function var _require; _require = functionindex var exportsmodule; module = _requirecacheindex; if !module exports = ; module = _requirecacheindex= id: index exports: exports ; _requiremodulesindexcallexportsmoduleexports; return moduleexports; ; _require.cache = ; _require.modules = functionmoduleexports var b; b = _require1; consolelog'[a] running b...'; return b; functionmoduleexports var c; c = _require2; return module.exports = function consolelog'[b] running c...'; return c; ; functionmoduleexports return module.exports = function return consolelog'[c] ...being run'; ; ; _require0; callthis;
$ coffee app.coffee
[a] running b...
[b] running c...
[c] ...being run
Changelog
0.2.3
- Use Substacks
node-resolve
to resolve dependencies.
0.2.2
- Add support for
options.log
. If set, it will log what it is doing. Useful for debugging. - Switch from
kew
tobluebird
for promises.
0.2.1
- Fix bug with files being loaded when they don't exist
- Log errors in bin/scrunch.js
0.2.0
- Breaking: Rewrite api to be way easier to use
- Use async IO and promises
- Clean up code and add more comments
- Write tests for most things
- Replace require() calls to keep code size down
- Use the same require() function as pure-cjs