
Product
Introducing Rust Support in Socket
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
coffee-streamline
Advanced tools
Helper for efficiently require()
'ing CoffeeScript and/or Streamline
files. The key word is "efficiently": compiled code is cached to prevent
recompilation on subsequent runs.
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:
require('coffee-streamline');
You can then require()
CoffeeScript and/or Streamline files like normal, and
they'll be compiled and cached automatically:
require('./foo'); // e.g. foo.coffee
require('./bar'); // e.g. bar._js
require('./baz'); // e.g. baz._coffee
You can also run a CoffeeScript and/or Streamline file as if it were the main file being executed:
require('coffee-streamline').run('./app'); // e.g. app._coffee
// within app._coffee, `module === require.main` will be true
Relative paths like ./app
will be resolved relative to the parent module
just like require()
.
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?
0.1.3 - Minor improvement to run()
to better support node-dev.
0.1.2 - New feature: run()
files as main!
0.1.1 - Ported to JS for simplicity.
0.1.0 - Initial release.
MIT. © 2012 Aseem Kishore.
Jeremy Ashkenas for the awesome CoffeeScript, and Bruno Jouhier for the awesome Streamline.
FAQs
Helper for efficiently running Coffee-Streamline files.
We found that coffee-streamline demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.