Helper for efficiently running Coffee-Streamline files.
Note that Streamline does natively support caching compiled code, but it only caches the Streamline compilation; CoffeeScript is compiled every time there. This module caches both types of compilation.
This module is also robust to version changes (upgrades) to both CoffeeScript and Streamline; files will be properly recompiled in those cases.
npm install coffee-streamline
Note that CoffeeScript and Streamline should also be installed like normal, e.g. your package.json should specify the desired versions of those.
You can simply
require() this module in place of both CoffeeScript and
Streamline; all proper
require() handlers will be registered:
You can then
require() CoffeeScript and/or Streamline files like normal, and
they'll be compiled and cached automatically:
require'./foo'; // e.g. foo.coffeerequire'./bar'; // e.g. bar._jsrequire'./baz'; // e.g. baz._coffee
Cached files are stored in a
.cache directory under the current working
directory at runtime (
process.cwd()). This is to support deploying the
compiled files alongside the source ones, e.g. via rsync.
Currently, Streamline compilation happens under "callback" mode.
Support configuration/options, e.g. cache directory location and Streamline compilation mode (callbacks or fibers).
Can/should some of this be integrated into Streamline directly?
MIT. © 2012 Aseem Kishore.