0.2.3 • Published 10 years ago

coffee-scrunch v0.2.3

Weekly downloads
5
License
MIT
Repository
github
Last release
10 years ago

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 = require('coffee-scrunch');

var options = {
    input: 'init.coffee',
    output: 'app.js', // optional
    log: false // optional
};

scrunch(options).then(function () {
    console.log('finished');
});

Example

# a.coffee
b = require './b'
console.log('[a] running b...')
b()
# b.coffee
c = require './c'
module.exports = ->
    console.log('[b] running c...')
    c()
# c.coffee
module.exports = ->
    console.log('[c] ...being run')
$ scrunch -i a.coffee -o app.js
(function() {
  var _require;

  _require = function(index) {
    var exports, module;
    module = _require.cache[index];
    if (!module) {
      exports = {};
      module = _require.cache[index] = {
        id: index,
        exports: exports
      };
      _require.modules[index].call(exports, module, exports);
    }
    return module.exports;
  };

  _require.cache = [];

  _require.modules = [
    function(module, exports) {
      var b;
      b = _require(1);
      console.log('[a] running b...');
      return b();
    }, function(module, exports) {
      var c;
      c = _require(2);
      return module.exports = function() {
        console.log('[b] running c...');
        return c();
      };
    }, function(module, exports) {
      return module.exports = function() {
        return console.log('[c] ...being run');
      };
    }
  ];

  _require(0);

}).call(this);
$ 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 to bluebird 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
0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.5

10 years ago

0.1.4

11 years ago

0.1.3

11 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago

0.0.9

11 years ago

0.0.8

11 years ago

0.0.7

11 years ago

0.0.6

11 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.3

11 years ago