General:
- https://github.com/jashkenas/coffee-script/wiki/Text-editor-plugins
- https://github.com/jashkenas/coffee-script/wiki/Web-framework-plugins
- https://github.com/jashkenas/coffee-script/wiki/Build-tools
TextMate:
- https://github.com/jashkenas/coffee-script-tmbundle → https://github.com/aseemk/coffee-script-tmbundle
Node:
--watch
vs.coffee app
orrequire('coffee-script'); require('./app');
"prepublish": "coffee -c lib/"
or"postinstall": "coffee -c lib/"
"npm install coffee-script@{semver}"
if CS is adevDependency
"postinstall": "if [ \"$NODE_ENV\" = production ]; then ...; fi"
for production-only (e.g. Heroku), and"npm uninstall coffee-script"
too for robustness
Connect/Express:
- https://github.com/TrevorBurnham/connect-assets
- https://github.com/sstephenson/eco
- http://coffeekup.org/ → https://github.com/gradus/coffeecup
Gotchas:
a ? b : c
→if a then b else c
for key in obj
→for key of obj
- variable shadowing; avoid (generic) globals and see jashkenas/coffeescript#712
- version conflicts; avoid using in prod and see jashkenas/coffeescript#2323
var
when porting (TODO error message)
Extras:
- https://gist.github.com/1081702
- https://gist.github.com/2506270
- https://github.com/aseemk/express-blocks
- https://github.com/fgnass/node-dev
- https://github.com/Sage/streamlinejs
- https://gist.github.com/1068606 (TODO publish as module)
- https://github.com/aseemk/cash
Examples: