coffeeify-cached v3.0.0
coffeeify 
CoffeeScript browserify transform. Mix and match .coffee and .js files in the same project.
Difference
The difference between this package and the original coffeeify is that this module caches coffeescript compilations according to the files' hashes and stores them to disk so that next time a file with the same hash will be processed re-compilation won't be needed.
Example
Given some files written in a mix of js and coffee:
foo.coffee:
console.log require './bar.js'bar.js:
module.exports = require('./baz.coffee')(5)baz.coffee:
module.exports = (n) -> n ** nInstall coffeeify into your app:
$ npm install coffeeifyWhen you compile your app, just pass -t coffeeify to browserify:
$ browserify -t coffeeify foo.coffee > bundle.js
$ node bundle.js
3125You can omit the .coffee extension from your requires if you add the extension to browserify's module extensions:
module.exports = require('./baz')(5)$ browserify -t coffeeify --extension=".coffee" foo.coffee > bundle.js
$ node bundle.js
3125You can also pass options to the CoffeeScript compiler:
$ browserify -t [ coffeeify --bare false --header true ] --extension=".coffee" foo.coffee
..
// Generated by CoffeeScript 1.10.0
(function() {
console.log(require('./bar.js'));
}).call(this);
..Options
| Name | Default | Description |
|---|---|---|
| sourceMap | null | Generate source maps, deteremined from browserify's --debug option if not set. |
| bare | true | Omit the (function(){ .. }).call(this); wrapper. |
| header | false | Include the // Generated by CoffeeScript <version> header in every file processed. |
When using browserify programatically options can be passed as an object, example:
browserify = require 'browserify'
coffeeify = require 'coffeeify'
bundle = browserify
extensions: ['.coffee']
bundle.transform coffeeify,
bare: false
header: true
bundle.add 'foo.coffee'
bundle.bundle (error, result) ->
throw error if error?
process.stdout.write resultInstall
With npm do:
npm install coffeeifyLicense
MIT