incubator-callback-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bows...@apache.org
Subject [13/18] android commit: dont check in node_modules peepz!
Date Mon, 07 May 2012 22:57:57 GMT
dont check in node_modules peepz!


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/ea8d6b17
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/ea8d6b17
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/ea8d6b17

Branch: refs/heads/CordovaWebView
Commit: ea8d6b17ec5d5febb478934c573e1954de899462
Parents: a087116
Author: Fil Maj <maj.fil@gmail.com>
Authored: Mon May 7 12:29:08 2012 -0700
Committer: Fil Maj <maj.fil@gmail.com>
Committed: Mon May 7 12:29:08 2012 -0700

----------------------------------------------------------------------
 bin/node_modules/.bin/cake                         |    1 -
 bin/node_modules/.bin/coffee                       |    1 -
 bin/node_modules/.bin/nodeunit                     |    1 -
 bin/node_modules/coffee-script/.npmignore          |   11 -
 bin/node_modules/coffee-script/LICENSE             |   22 -
 bin/node_modules/coffee-script/README              |   48 -
 bin/node_modules/coffee-script/Rakefile            |   78 -
 bin/node_modules/coffee-script/bin/cake            |    7 -
 bin/node_modules/coffee-script/bin/coffee          |    7 -
 bin/node_modules/coffee-script/extras/jsl.conf     |   44 -
 bin/node_modules/coffee-script/lib/browser.js      |   75 -
 bin/node_modules/coffee-script/lib/cake.js         |   76 -
 .../coffee-script/lib/coffee-script.js             |  135 -
 bin/node_modules/coffee-script/lib/command.js      |  301 --
 bin/node_modules/coffee-script/lib/grammar.js      |  591 ----
 bin/node_modules/coffee-script/lib/helpers.js      |   66 -
 bin/node_modules/coffee-script/lib/index.js        |    8 -
 bin/node_modules/coffee-script/lib/lexer.js        |  656 -----
 bin/node_modules/coffee-script/lib/nodes.js        | 2289 ---------------
 bin/node_modules/coffee-script/lib/optparse.js     |  111 -
 bin/node_modules/coffee-script/lib/parser.js       |  676 -----
 bin/node_modules/coffee-script/lib/repl.js         |  123 -
 bin/node_modules/coffee-script/lib/rewriter.js     |  363 ---
 bin/node_modules/coffee-script/lib/scope.js        |  120 -
 bin/node_modules/coffee-script/package.json        |   27 -
 bin/node_modules/nodeunit/.gitignore               |    5 -
 bin/node_modules/nodeunit/.npmignore               |    3 -
 bin/node_modules/nodeunit/CONTRIBUTORS.md          |   60 -
 bin/node_modules/nodeunit/LICENSE                  |   19 -
 bin/node_modules/nodeunit/Makefile                 |  126 -
 bin/node_modules/nodeunit/README.md                |  432 ---
 bin/node_modules/nodeunit/bin/nodeunit             |  120 -
 bin/node_modules/nodeunit/bin/nodeunit.json        |   10 -
 bin/node_modules/nodeunit/deps/async.js            |  623 ----
 bin/node_modules/nodeunit/deps/console.log.js      |   55 -
 bin/node_modules/nodeunit/deps/ejs.js              |  125 -
 bin/node_modules/nodeunit/deps/json2.js            |  483 ---
 bin/node_modules/nodeunit/doc/nodeunit.md          |   60 -
 .../nodeunit/examples/browser/nodeunit.js          | 1757 -----------
 .../nodeunit/examples/browser/suite1.js            |   12 -
 .../nodeunit/examples/browser/suite2.js            |   13 -
 .../nodeunit/examples/browser/test.html            |   16 -
 bin/node_modules/nodeunit/img/example_fail.png     |  Bin 38642 -> 0 bytes
 bin/node_modules/nodeunit/img/example_pass.png     |  Bin 14133 -> 0 bytes
 bin/node_modules/nodeunit/index.js                 |    3 -
 bin/node_modules/nodeunit/lib/assert.js            |  316 --
 bin/node_modules/nodeunit/lib/core.js              |  260 --
 bin/node_modules/nodeunit/lib/nodeunit.js          |   82 -
 bin/node_modules/nodeunit/lib/reporters/browser.js |  119 -
 bin/node_modules/nodeunit/lib/reporters/default.js |  123 -
 bin/node_modules/nodeunit/lib/reporters/html.js    |  107 -
 bin/node_modules/nodeunit/lib/reporters/index.js   |    9 -
 bin/node_modules/nodeunit/lib/reporters/junit.js   |  183 --
 bin/node_modules/nodeunit/lib/reporters/minimal.js |  112 -
 .../nodeunit/lib/reporters/skip_passed.js          |  105 -
 bin/node_modules/nodeunit/lib/track.js             |   48 -
 bin/node_modules/nodeunit/lib/types.js             |  187 --
 bin/node_modules/nodeunit/lib/utils.js             |  209 --
 bin/node_modules/nodeunit/man1/nodeunit.1          |   95 -
 bin/node_modules/nodeunit/nodelint.cfg             |    4 -
 bin/node_modules/nodeunit/package.json             |   56 -
 bin/node_modules/nodeunit/share/junit.xml.ejs      |   19 -
 bin/node_modules/nodeunit/share/license.js         |   11 -
 bin/node_modules/nodeunit/share/nodeunit.css       |   70 -
 64 files changed, 0 insertions(+), 11874 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/.bin/cake
----------------------------------------------------------------------
diff --git a/bin/node_modules/.bin/cake b/bin/node_modules/.bin/cake
deleted file mode 120000
index d95f32a..0000000
--- a/bin/node_modules/.bin/cake
+++ /dev/null
@@ -1 +0,0 @@
-../coffee-script/bin/cake
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/.bin/coffee
----------------------------------------------------------------------
diff --git a/bin/node_modules/.bin/coffee b/bin/node_modules/.bin/coffee
deleted file mode 120000
index b57f275..0000000
--- a/bin/node_modules/.bin/coffee
+++ /dev/null
@@ -1 +0,0 @@
-../coffee-script/bin/coffee
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/.bin/nodeunit
----------------------------------------------------------------------
diff --git a/bin/node_modules/.bin/nodeunit b/bin/node_modules/.bin/nodeunit
deleted file mode 120000
index f31cdbe..0000000
--- a/bin/node_modules/.bin/nodeunit
+++ /dev/null
@@ -1 +0,0 @@
-../nodeunit/bin/nodeunit
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/.npmignore
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/.npmignore b/bin/node_modules/coffee-script/.npmignore
deleted file mode 100644
index 21e430d..0000000
--- a/bin/node_modules/coffee-script/.npmignore
+++ /dev/null
@@ -1,11 +0,0 @@
-*.coffee
-*.html
-.DS_Store
-.git*
-Cakefile
-documentation/
-examples/
-extras/coffee-script.js
-raw/
-src/
-test/

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/LICENSE
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/LICENSE b/bin/node_modules/coffee-script/LICENSE
deleted file mode 100644
index 8cb3cfd..0000000
--- a/bin/node_modules/coffee-script/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2011 Jeremy Ashkenas
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/README
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/README b/bin/node_modules/coffee-script/README
deleted file mode 100644
index 08f17df..0000000
--- a/bin/node_modules/coffee-script/README
+++ /dev/null
@@ -1,48 +0,0 @@
-=
-            {
-         }   }   {
-        {   {  }  }
-         }   }{  {
-        {  }{  }  }                    _____       __  __
-       ( }{ }{  { )                   / ____|     / _|/ _|
-     .- { { }  { }} -.               | |     ___ | |_| |_ ___  ___
-    (  ( } { } { } }  )              | |    / _ \|  _|  _/ _ \/ _ \
-    |`-..________ ..-'|              | |___| (_) | | | ||  __/  __/
-    |                 |               \_____\___/|_| |_| \___|\___|
-    |                 ;--.
-    |                (__  \            _____           _       _
-    |                 | )  )          / ____|         (_)     | |
-    |                 |/  /          | (___   ___ _ __ _ _ __ | |_
-    |                 (  /            \___ \ / __| '__| | '_ \| __|
-    |                 |/              ____) | (__| |  | | |_) | |_
-    |                 |              |_____/ \___|_|  |_| .__/ \__|
-     `-.._________..-'                                  | |
-                                                        |_|
-
-
-  CoffeeScript is a little language that compiles into JavaScript.
-
-  Install Node.js, and then the CoffeeScript compiler:
-  sudo bin/cake install
-
-  Or, if you have the Node Package Manager installed:
-  npm install -g coffee-script
-  (Leave off the -g if you don't wish to install globally.)
-
-  Compile a script:
-  coffee /path/to/script.coffee
-
-  For documentation, usage, and examples, see:
-  http://coffeescript.org/
-
-  To suggest a feature, report a bug, or general discussion:
-  http://github.com/jashkenas/coffee-script/issues/
-
-  If you'd like to chat, drop by #coffeescript on Freenode IRC,
-  or on webchat.freenode.net.
-
-  The source repository:
-  git://github.com/jashkenas/coffee-script.git
-
-  All contributors are listed here:
-  http://github.com/jashkenas/coffee-script/contributors

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/Rakefile
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/Rakefile b/bin/node_modules/coffee-script/Rakefile
deleted file mode 100644
index dfb85da..0000000
--- a/bin/node_modules/coffee-script/Rakefile
+++ /dev/null
@@ -1,78 +0,0 @@
-require 'rubygems'
-require 'erb'
-require 'fileutils'
-require 'rake/testtask'
-require 'json'
-
-desc "Build the documentation page"
-task :doc do
-  source = 'documentation/index.html.erb'
-  child = fork { exec "bin/coffee -bcw -o documentation/js documentation/coffee/*.coffee" }
-  at_exit { Process.kill("INT", child) }
-  Signal.trap("INT") { exit }
-  loop do
-    mtime = File.stat(source).mtime
-    if !@mtime || mtime > @mtime
-      rendered = ERB.new(File.read(source)).result(binding)
-      File.open('index.html', 'w+') {|f| f.write(rendered) }
-    end
-    @mtime = mtime
-    sleep 1
-  end
-end
-
-desc "Build coffee-script-source gem"
-task :gem do
-  require 'rubygems'
-  require 'rubygems/package'
-
-  gemspec = Gem::Specification.new do |s|
-    s.name      = 'coffee-script-source'
-    s.version   = JSON.parse(File.read('package.json'))["version"]
-    s.date      = Time.now.strftime("%Y-%m-%d")
-
-    s.homepage    = "http://jashkenas.github.com/coffee-script/"
-    s.summary     = "The CoffeeScript Compiler"
-    s.description = <<-EOS
-      CoffeeScript is a little language that compiles into JavaScript.
-      Underneath all of those embarrassing braces and semicolons,
-      JavaScript has always had a gorgeous object model at its heart.
-      CoffeeScript is an attempt to expose the good parts of JavaScript
-      in a simple way.
-    EOS
-
-    s.files = [
-      'lib/coffee_script/coffee-script.js',
-      'lib/coffee_script/source.rb'
-    ]
-
-    s.authors           = ['Jeremy Ashkenas']
-    s.email             = 'jashkenas@gmail.com'
-    s.rubyforge_project = 'coffee-script-source'
-  end
-
-  file = File.open("coffee-script-source.gem", "w")
-  Gem::Package.open(file, 'w') do |pkg|
-    pkg.metadata = gemspec.to_yaml
-
-    path = "lib/coffee_script/source.rb"
-    contents = <<-ERUBY
-module CoffeeScript
-  module Source
-    def self.bundled_path
-      File.expand_path("../coffee-script.js", __FILE__)
-    end
-  end
-end
-    ERUBY
-    pkg.add_file_simple(path, 0644, contents.size) do |tar_io|
-      tar_io.write(contents)
-    end
-
-    contents = File.read("extras/coffee-script.js")
-    path = "lib/coffee_script/coffee-script.js"
-    pkg.add_file_simple(path, 0644, contents.size) do |tar_io|
-      tar_io.write(contents)
-    end
-  end
-end

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/bin/cake
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/bin/cake b/bin/node_modules/coffee-script/bin/cake
deleted file mode 100755
index e92e752..0000000
--- a/bin/node_modules/coffee-script/bin/cake
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env node
-
-var path = require('path');
-var fs   = require('fs');
-var lib  = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');
-
-require(lib + '/cake').run();

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/bin/coffee
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/bin/coffee b/bin/node_modules/coffee-script/bin/coffee
deleted file mode 100755
index 4dc0a5e..0000000
--- a/bin/node_modules/coffee-script/bin/coffee
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env node
-
-var path = require('path');
-var fs   = require('fs');
-var lib  = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');
-
-require(lib + '/command').run();

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/extras/jsl.conf
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/extras/jsl.conf b/bin/node_modules/coffee-script/extras/jsl.conf
deleted file mode 100644
index 1190da5..0000000
--- a/bin/node_modules/coffee-script/extras/jsl.conf
+++ /dev/null
@@ -1,44 +0,0 @@
-# JavaScriptLint configuration file for CoffeeScript.
-
-+no_return_value              # function {0} does not always return a value
-+duplicate_formal             # duplicate formal argument {0}
--equal_as_assign              # test for equality (==) mistyped as assignment (=)?{0}
-+var_hides_arg                # variable {0} hides argument
-+redeclared_var               # redeclaration of {0} {1}
--anon_no_return_value         # anonymous function does not always return a value
-+missing_semicolon            # missing semicolon
-+meaningless_block            # meaningless block; curly braces have no impact
--comma_separated_stmts        # multiple statements separated by commas (use semicolons?)
-+unreachable_code             # unreachable code
-+missing_break                # missing break statement
--missing_break_for_last_case  # missing break statement for last case in switch
--comparison_type_conv         # comparisons against null, 0, true, false, or an empty string allowing implicit type conversion (use === or !==)
--inc_dec_within_stmt          # increment (++) and decrement (--) operators used as part of greater statement
--useless_void                 # use of the void type may be unnecessary (void is always undefined)
-+multiple_plus_minus          # unknown order of operations for successive plus (e.g. x+++y) or minus (e.g. x---y) signs
-+use_of_label                 # use of label
--block_without_braces         # block statement without curly braces
-+leading_decimal_point        # leading decimal point may indicate a number or an object member
-+trailing_decimal_point       # trailing decimal point may indicate a number or an object member
-+octal_number                 # leading zeros make an octal number
-+nested_comment               # nested comment
-+misplaced_regex              # regular expressions should be preceded by a left parenthesis, assignment, colon, or comma
-+ambiguous_newline            # unexpected end of line; it is ambiguous whether these lines are part of the same statement
-+empty_statement              # empty statement or extra semicolon
--missing_option_explicit      # the "option explicit" control comment is missing
-+partial_option_explicit      # the "option explicit" control comment, if used, must be in the first script tag
-+dup_option_explicit          # duplicate "option explicit" control comment
-+useless_assign               # useless assignment
-+ambiguous_nested_stmt        # block statements containing block statements should use curly braces to resolve ambiguity
-+ambiguous_else_stmt          # the else statement could be matched with one of multiple if statements (use curly braces to indicate intent)
--missing_default_case         # missing default case in switch statement
-+duplicate_case_in_switch     # duplicate case in switch statements
-+default_not_at_end           # the default case is not at the end of the switch statement
-+legacy_cc_not_understood     # couldn't understand control comment using /*@keyword@*/ syntax
-+jsl_cc_not_understood        # couldn't understand control comment using /*jsl:keyword*/ syntax
-+useless_comparison           # useless comparison; comparing identical expressions
-+with_statement               # with statement hides undeclared variables; use temporary variable instead
-+trailing_comma_in_array      # extra comma is not recommended in array initializers
-+assign_to_function_call      # assignment to a function call
-+parseint_missing_radix       # parseInt missing radix parameter
-+lambda_assign_requires_semicolon

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/lib/browser.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/lib/browser.js b/bin/node_modules/coffee-script/lib/browser.js
deleted file mode 100644
index 2fb7b2e..0000000
--- a/bin/node_modules/coffee-script/lib/browser.js
+++ /dev/null
@@ -1,75 +0,0 @@
-(function() {
-  var CoffeeScript, runScripts;
-  CoffeeScript = require('./coffee-script');
-  CoffeeScript.require = require;
-  CoffeeScript.eval = function(code, options) {
-    return eval(CoffeeScript.compile(code, options));
-  };
-  CoffeeScript.run = function(code, options) {
-    if (options == null) {
-      options = {};
-    }
-    options.bare = true;
-    return Function(CoffeeScript.compile(code, options))();
-  };
-  if (typeof window === "undefined" || window === null) {
-    return;
-  }
-  CoffeeScript.load = function(url, callback) {
-    var xhr;
-    xhr = new (window.ActiveXObject || XMLHttpRequest)('Microsoft.XMLHTTP');
-    xhr.open('GET', url, true);
-    if ('overrideMimeType' in xhr) {
-      xhr.overrideMimeType('text/plain');
-    }
-    xhr.onreadystatechange = function() {
-      var _ref;
-      if (xhr.readyState === 4) {
-        if ((_ref = xhr.status) === 0 || _ref === 200) {
-          CoffeeScript.run(xhr.responseText);
-        } else {
-          throw new Error("Could not load " + url);
-        }
-        if (callback) {
-          return callback();
-        }
-      }
-    };
-    return xhr.send(null);
-  };
-  runScripts = function() {
-    var coffees, execute, index, length, s, scripts;
-    scripts = document.getElementsByTagName('script');
-    coffees = (function() {
-      var _i, _len, _results;
-      _results = [];
-      for (_i = 0, _len = scripts.length; _i < _len; _i++) {
-        s = scripts[_i];
-        if (s.type === 'text/coffeescript') {
-          _results.push(s);
-        }
-      }
-      return _results;
-    })();
-    index = 0;
-    length = coffees.length;
-    (execute = function() {
-      var script;
-      script = coffees[index++];
-      if ((script != null ? script.type : void 0) === 'text/coffeescript') {
-        if (script.src) {
-          return CoffeeScript.load(script.src, execute);
-        } else {
-          CoffeeScript.run(script.innerHTML);
-          return execute();
-        }
-      }
-    })();
-    return null;
-  };
-  if (window.addEventListener) {
-    addEventListener('DOMContentLoaded', runScripts, false);
-  } else {
-    attachEvent('onload', runScripts);
-  }
-}).call(this);

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/lib/cake.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/lib/cake.js b/bin/node_modules/coffee-script/lib/cake.js
deleted file mode 100755
index 6619934..0000000
--- a/bin/node_modules/coffee-script/lib/cake.js
+++ /dev/null
@@ -1,76 +0,0 @@
-(function() {
-  var CoffeeScript, fs, helpers, missingTask, oparse, options, optparse, path, printTasks, switches, tasks;
-  fs = require('fs');
-  path = require('path');
-  helpers = require('./helpers');
-  optparse = require('./optparse');
-  CoffeeScript = require('./coffee-script');
-  tasks = {};
-  options = {};
-  switches = [];
-  oparse = null;
-  helpers.extend(global, {
-    task: function(name, description, action) {
-      var _ref;
-      if (!action) {
-        _ref = [description, action], action = _ref[0], description = _ref[1];
-      }
-      return tasks[name] = {
-        name: name,
-        description: description,
-        action: action
-      };
-    },
-    option: function(letter, flag, description) {
-      return switches.push([letter, flag, description]);
-    },
-    invoke: function(name) {
-      if (!tasks[name]) {
-        missingTask(name);
-      }
-      return tasks[name].action(options);
-    }
-  });
-  exports.run = function() {
-    return path.exists('Cakefile', function(exists) {
-      var arg, args, _i, _len, _ref, _results;
-      if (!exists) {
-        throw new Error("Cakefile not found in " + (process.cwd()));
-      }
-      args = process.argv.slice(2);
-      CoffeeScript.run(fs.readFileSync('Cakefile').toString(), {
-        filename: 'Cakefile'
-      });
-      oparse = new optparse.OptionParser(switches);
-      if (!args.length) {
-        return printTasks();
-      }
-      options = oparse.parse(args);
-      _ref = options.arguments;
-      _results = [];
-      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-        arg = _ref[_i];
-        _results.push(invoke(arg));
-      }
-      return _results;
-    });
-  };
-  printTasks = function() {
-    var desc, name, spaces, task;
-    console.log('');
-    for (name in tasks) {
-      task = tasks[name];
-      spaces = 20 - name.length;
-      spaces = spaces > 0 ? Array(spaces + 1).join(' ') : '';
-      desc = task.description ? "# " + task.description : '';
-      console.log("cake " + name + spaces + " " + desc);
-    }
-    if (switches.length) {
-      return console.log(oparse.help());
-    }
-  };
-  missingTask = function(task) {
-    console.log("No such task: \"" + task + "\"");
-    return process.exit(1);
-  };
-}).call(this);

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/lib/coffee-script.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/lib/coffee-script.js b/bin/node_modules/coffee-script/lib/coffee-script.js
deleted file mode 100755
index 2871279..0000000
--- a/bin/node_modules/coffee-script/lib/coffee-script.js
+++ /dev/null
@@ -1,135 +0,0 @@
-(function() {
-  var Lexer, RESERVED, compile, fs, lexer, parser, path, _ref;
-  var __hasProp = Object.prototype.hasOwnProperty;
-  fs = require('fs');
-  path = require('path');
-  _ref = require('./lexer'), Lexer = _ref.Lexer, RESERVED = _ref.RESERVED;
-  parser = require('./parser').parser;
-  if (require.extensions) {
-    require.extensions['.coffee'] = function(module, filename) {
-      var content;
-      content = compile(fs.readFileSync(filename, 'utf8'), {
-        filename: filename
-      });
-      return module._compile(content, filename);
-    };
-  } else if (require.registerExtension) {
-    require.registerExtension('.coffee', function(content) {
-      return compile(content);
-    });
-  }
-  exports.VERSION = '1.1.2';
-  exports.RESERVED = RESERVED;
-  exports.helpers = require('./helpers');
-  exports.compile = compile = function(code, options) {
-    if (options == null) {
-      options = {};
-    }
-    try {
-      return (parser.parse(lexer.tokenize(code))).compile(options);
-    } catch (err) {
-      if (options.filename) {
-        err.message = "In " + options.filename + ", " + err.message;
-      }
-      throw err;
-    }
-  };
-  exports.tokens = function(code, options) {
-    return lexer.tokenize(code, options);
-  };
-  exports.nodes = function(source, options) {
-    if (typeof source === 'string') {
-      return parser.parse(lexer.tokenize(source, options));
-    } else {
-      return parser.parse(source);
-    }
-  };
-  exports.run = function(code, options) {
-    var Module, mainModule;
-    mainModule = require.main;
-    mainModule.filename = process.argv[1] = options.filename ? fs.realpathSync(options.filename) : '.';
-    mainModule.moduleCache && (mainModule.moduleCache = {});
-    if (process.binding('natives').module) {
-      Module = require('module').Module;
-      mainModule.paths = Module._nodeModulePaths(path.dirname(options.filename));
-    }
-    if (path.extname(mainModule.filename) !== '.coffee' || require.extensions) {
-      return mainModule._compile(compile(code, options), mainModule.filename);
-    } else {
-      return mainModule._compile(code, mainModule.filename);
-    }
-  };
-  exports.eval = function(code, options) {
-    var Module, Script, js, k, o, r, sandbox, v, _i, _len, _module, _ref2, _ref3, _ref4, _require;
-    if (options == null) {
-      options = {};
-    }
-    if (!(code = code.trim())) {
-      return;
-    }
-    if (_ref2 = require('vm'), Script = _ref2.Script, _ref2) {
-      sandbox = Script.createContext();
-      sandbox.global = sandbox.root = sandbox.GLOBAL = sandbox;
-      if (options.sandbox != null) {
-        if (options.sandbox instanceof sandbox.constructor) {
-          sandbox = options.sandbox;
-        } else {
-          _ref3 = options.sandbox;
-          for (k in _ref3) {
-            if (!__hasProp.call(_ref3, k)) continue;
-            v = _ref3[k];
-            sandbox[k] = v;
-          }
-        }
-      }
-      sandbox.__filename = options.filename || 'eval';
-      sandbox.__dirname = path.dirname(sandbox.__filename);
-      if (!(sandbox.module || sandbox.require)) {
-        Module = require('module');
-        sandbox.module = _module = new Module(options.modulename || 'eval');
-        sandbox.require = _require = function(path) {
-          return Module._load(path, _module);
-        };
-        _module.filename = sandbox.__filename;
-        _ref4 = Object.getOwnPropertyNames(require);
-        for (_i = 0, _len = _ref4.length; _i < _len; _i++) {
-          r = _ref4[_i];
-          _require[r] = require[r];
-        }
-        _require.paths = _module.paths = Module._nodeModulePaths(process.cwd());
-        _require.resolve = function(request) {
-          return Module._resolveFilename(request, _module);
-        };
-      }
-    }
-    o = {};
-    for (k in options) {
-      if (!__hasProp.call(options, k)) continue;
-      v = options[k];
-      o[k] = v;
-    }
-    o.bare = true;
-    js = compile(code, o);
-    if (Script) {
-      return Script.runInContext(js, sandbox);
-    } else {
-      return eval(js);
-    }
-  };
-  lexer = new Lexer;
-  parser.lexer = {
-    lex: function() {
-      var tag, _ref2;
-      _ref2 = this.tokens[this.pos++] || [''], tag = _ref2[0], this.yytext = _ref2[1], this.yylineno = _ref2[2];
-      return tag;
-    },
-    setInput: function(tokens) {
-      this.tokens = tokens;
-      return this.pos = 0;
-    },
-    upcomingInput: function() {
-      return "";
-    }
-  };
-  parser.yy = require('./nodes');
-}).call(this);

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/lib/command.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/lib/command.js b/bin/node_modules/coffee-script/lib/command.js
deleted file mode 100644
index ca25502..0000000
--- a/bin/node_modules/coffee-script/lib/command.js
+++ /dev/null
@@ -1,301 +0,0 @@
-(function() {
-  var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compileScript, compileScripts, compileStdio, contents, exec, forkNode, fs, helpers, lint, loadRequires, optionParser, optparse, opts, parseOptions, path, printLine, printTokens, printWarn, sources, spawn, usage, version, watch, writeJs, _ref;
-  fs = require('fs');
-  path = require('path');
-  helpers = require('./helpers');
-  optparse = require('./optparse');
-  CoffeeScript = require('./coffee-script');
-  _ref = require('child_process'), spawn = _ref.spawn, exec = _ref.exec;
-  EventEmitter = require('events').EventEmitter;
-  helpers.extend(CoffeeScript, new EventEmitter);
-  printLine = function(line) {
-    return process.stdout.write(line + '\n');
-  };
-  printWarn = function(line) {
-    return process.binding('stdio').writeError(line + '\n');
-  };
-  BANNER = 'Usage: coffee [options] path/to/script.coffee';
-  SWITCHES = [['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-o', '--output [DIR]', 'set the directory for compiled JavaScript'], ['-j', '--join [FILE]', 'concatenate the scripts before compiling'], ['-w', '--watch', 'watch scripts for changes, and recompile'], ['-p', '--print', 'print the compiled JavaScript to stdout'], ['-l', '--lint', 'pipe the compiled JavaScript through JavaScript Lint'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-e', '--eval', 'compile a string from the command line'], ['-r', '--require [FILE*]', 'require a library before executing your script'], ['-b', '--bare', 'compile without the top-level function wrapper'], ['-t', '--tokens', 'print the tokens that the lexer produces'], ['-n', '--nodes', 'print the parse tree that Jison produces'], ['--nodejs [ARGS]', 'pass options through to the "node" binary'], ['-v', '--version', 'display CoffeeScript versi
 on'], ['-h', '--help', 'display this help message']];
-  opts = {};
-  sources = [];
-  contents = [];
-  optionParser = null;
-  exports.run = function() {
-    parseOptions();
-    if (opts.nodejs) {
-      return forkNode();
-    }
-    if (opts.help) {
-      return usage();
-    }
-    if (opts.version) {
-      return version();
-    }
-    if (opts.require) {
-      loadRequires();
-    }
-    if (opts.interactive) {
-      return require('./repl');
-    }
-    if (opts.stdio) {
-      return compileStdio();
-    }
-    if (opts.eval) {
-      return compileScript(null, sources[0]);
-    }
-    if (!sources.length) {
-      return require('./repl');
-    }
-    if (opts.run) {
-      opts.literals = sources.splice(1).concat(opts.literals);
-    }
-    process.ARGV = process.argv = process.argv.slice(0, 2).concat(opts.literals);
-    process.argv[0] = 'coffee';
-    process.execPath = require.main.filename;
-    return compileScripts();
-  };
-  compileScripts = function() {
-    var base, compile, source, unprocessed, _i, _j, _len, _len2, _results;
-    unprocessed = [];
-    for (_i = 0, _len = sources.length; _i < _len; _i++) {
-      source = sources[_i];
-      unprocessed[sources.indexOf(source)] = 1;
-    }
-    _results = [];
-    for (_j = 0, _len2 = sources.length; _j < _len2; _j++) {
-      source = sources[_j];
-      base = path.join(source);
-      compile = function(source, sourceIndex, topLevel) {
-        var remaining_files;
-        remaining_files = function() {
-          var total, x, _k, _len3;
-          total = 0;
-          for (_k = 0, _len3 = unprocessed.length; _k < _len3; _k++) {
-            x = unprocessed[_k];
-            total += x;
-          }
-          return total;
-        };
-        return path.exists(source, function(exists) {
-          if (topLevel && !exists && source.slice(-7) !== '.coffee') {
-            return compile("" + source + ".coffee", sourceIndex, topLevel);
-          }
-          if (topLevel && !exists) {
-            throw new Error("File not found: " + source);
-          }
-          return fs.stat(source, function(err, stats) {
-            if (err) {
-              throw err;
-            }
-            if (stats.isDirectory()) {
-              return fs.readdir(source, function(err, files) {
-                var file, _k, _len3;
-                if (err) {
-                  throw err;
-                }
-                unprocessed[sourceIndex] += files.length;
-                for (_k = 0, _len3 = files.length; _k < _len3; _k++) {
-                  file = files[_k];
-                  compile(path.join(source, file), sourceIndex);
-                }
-                return unprocessed[sourceIndex] -= 1;
-              });
-            } else if (topLevel || path.extname(source) === '.coffee') {
-              fs.readFile(source, function(err, code) {
-                if (err) {
-                  throw err;
-                }
-                unprocessed[sourceIndex] -= 1;
-                if (opts.join) {
-                  contents[sourceIndex] = helpers.compact([contents[sourceIndex], code.toString()]).join('\n');
-                  if (helpers.compact(contents).length > 0 && remaining_files() === 0) {
-                    return compileJoin();
-                  }
-                } else {
-                  return compileScript(source, code.toString(), base);
-                }
-              });
-              if (opts.watch && !opts.join) {
-                return watch(source, base);
-              }
-            } else {
-              return unprocessed[sourceIndex] -= 1;
-            }
-          });
-        });
-      };
-      _results.push(compile(source, sources.indexOf(source), true));
-    }
-    return _results;
-  };
-  compileScript = function(file, input, base) {
-    var o, options, t, task;
-    o = opts;
-    options = compileOptions(file);
-    try {
-      t = task = {
-        file: file,
-        input: input,
-        options: options
-      };
-      CoffeeScript.emit('compile', task);
-      if (o.tokens) {
-        return printTokens(CoffeeScript.tokens(t.input));
-      } else if (o.nodes) {
-        return printLine(CoffeeScript.nodes(t.input).toString().trim());
-      } else if (o.run) {
-        return CoffeeScript.run(t.input, t.options);
-      } else {
-        t.output = CoffeeScript.compile(t.input, t.options);
-        CoffeeScript.emit('success', task);
-        if (o.print) {
-          return printLine(t.output.trim());
-        } else if (o.compile) {
-          return writeJs(t.file, t.output, base);
-        } else if (o.lint) {
-          return lint(t.file, t.output);
-        }
-      }
-    } catch (err) {
-      CoffeeScript.emit('failure', err, task);
-      if (CoffeeScript.listeners('failure').length) {
-        return;
-      }
-      if (o.watch) {
-        return printLine(err.message);
-      }
-      printWarn(err.stack);
-      return process.exit(1);
-    }
-  };
-  compileStdio = function() {
-    var code, stdin;
-    code = '';
-    stdin = process.openStdin();
-    stdin.on('data', function(buffer) {
-      if (buffer) {
-        return code += buffer.toString();
-      }
-    });
-    return stdin.on('end', function() {
-      return compileScript(null, code);
-    });
-  };
-  compileJoin = function() {
-    var code;
-    code = contents.join('\n');
-    return compileScript(opts.join, code, opts.join);
-  };
-  loadRequires = function() {
-    var realFilename, req, _i, _len, _ref2;
-    realFilename = module.filename;
-    module.filename = '.';
-    _ref2 = opts.require;
-    for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
-      req = _ref2[_i];
-      require(req);
-    }
-    return module.filename = realFilename;
-  };
-  watch = function(source, base) {
-    return fs.watchFile(source, {
-      persistent: true,
-      interval: 500
-    }, function(curr, prev) {
-      if (curr.size === prev.size && curr.mtime.getTime() === prev.mtime.getTime()) {
-        return;
-      }
-      return fs.readFile(source, function(err, code) {
-        if (err) {
-          throw err;
-        }
-        return compileScript(source, code.toString(), base);
-      });
-    });
-  };
-  writeJs = function(source, js, base) {
-    var baseDir, compile, dir, filename, jsPath, srcDir;
-    filename = path.basename(source, path.extname(source)) + '.js';
-    srcDir = path.dirname(source);
-    baseDir = base === '.' ? srcDir : srcDir.substring(base.length);
-    dir = opts.output ? path.join(opts.output, baseDir) : srcDir;
-    jsPath = path.join(dir, filename);
-    compile = function() {
-      if (js.length <= 0) {
-        js = ' ';
-      }
-      return fs.writeFile(jsPath, js, function(err) {
-        if (err) {
-          return printLine(err.message);
-        } else if (opts.compile && opts.watch) {
-          return console.log("" + ((new Date).toLocaleTimeString()) + " - compiled " + source);
-        }
-      });
-    };
-    return path.exists(dir, function(exists) {
-      if (exists) {
-        return compile();
-      } else {
-        return exec("mkdir -p " + dir, compile);
-      }
-    });
-  };
-  lint = function(file, js) {
-    var conf, jsl, printIt;
-    printIt = function(buffer) {
-      return printLine(file + ':\t' + buffer.toString().trim());
-    };
-    conf = __dirname + '/../extras/jsl.conf';
-    jsl = spawn('jsl', ['-nologo', '-stdin', '-conf', conf]);
-    jsl.stdout.on('data', printIt);
-    jsl.stderr.on('data', printIt);
-    jsl.stdin.write(js);
-    return jsl.stdin.end();
-  };
-  printTokens = function(tokens) {
-    var strings, tag, token, value;
-    strings = (function() {
-      var _i, _len, _ref2, _results;
-      _results = [];
-      for (_i = 0, _len = tokens.length; _i < _len; _i++) {
-        token = tokens[_i];
-        _ref2 = [token[0], token[1].toString().replace(/\n/, '\\n')], tag = _ref2[0], value = _ref2[1];
-        _results.push("[" + tag + " " + value + "]");
-      }
-      return _results;
-    })();
-    return printLine(strings.join(' '));
-  };
-  parseOptions = function() {
-    var o;
-    optionParser = new optparse.OptionParser(SWITCHES, BANNER);
-    o = opts = optionParser.parse(process.argv.slice(2));
-    o.compile || (o.compile = !!o.output);
-    o.run = !(o.compile || o.print || o.lint);
-    o.print = !!(o.print || (o.eval || o.stdio && o.compile));
-    return sources = o.arguments;
-  };
-  compileOptions = function(filename) {
-    return {
-      filename: filename,
-      bare: opts.bare
-    };
-  };
-  forkNode = function() {
-    var args, nodeArgs;
-    nodeArgs = opts.nodejs.split(/\s+/);
-    args = process.argv.slice(1);
-    args.splice(args.indexOf('--nodejs'), 2);
-    return spawn(process.execPath, nodeArgs.concat(args), {
-      cwd: process.cwd(),
-      env: process.env,
-      customFds: [0, 1, 2]
-    });
-  };
-  usage = function() {
-    return printLine((new optparse.OptionParser(SWITCHES, BANNER)).help());
-  };
-  version = function() {
-    return printLine("CoffeeScript version " + CoffeeScript.VERSION);
-  };
-}).call(this);

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/lib/grammar.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/lib/grammar.js b/bin/node_modules/coffee-script/lib/grammar.js
deleted file mode 100644
index e0bc41f..0000000
--- a/bin/node_modules/coffee-script/lib/grammar.js
+++ /dev/null
@@ -1,591 +0,0 @@
-(function() {
-  var Parser, alt, alternatives, grammar, name, o, operators, token, tokens, unwrap;
-  Parser = require('jison').Parser;
-  unwrap = /^function\s*\(\)\s*\{\s*return\s*([\s\S]*);\s*\}/;
-  o = function(patternString, action, options) {
-    var match;
-    patternString = patternString.replace(/\s{2,}/g, ' ');
-    if (!action) {
-      return [patternString, '$$ = $1;', options];
-    }
-    action = (match = unwrap.exec(action)) ? match[1] : "(" + action + "())";
-    action = action.replace(/\bnew /g, '$&yy.');
-    action = action.replace(/\b(?:Block\.wrap|extend)\b/g, 'yy.$&');
-    return [patternString, "$$ = " + action + ";", options];
-  };
-  grammar = {
-    Root: [
-      o('', function() {
-        return new Block;
-      }), o('Body'), o('Block TERMINATOR')
-    ],
-    Body: [
-      o('Line', function() {
-        return Block.wrap([$1]);
-      }), o('Body TERMINATOR Line', function() {
-        return $1.push($3);
-      }), o('Body TERMINATOR')
-    ],
-    Line: [o('Expression'), o('Statement')],
-    Statement: [
-      o('Return'), o('Throw'), o('Comment'), o('STATEMENT', function() {
-        return new Literal($1);
-      })
-    ],
-    Expression: [o('Value'), o('Invocation'), o('Code'), o('Operation'), o('Assign'), o('If'), o('Try'), o('While'), o('For'), o('Switch'), o('Class')],
-    Block: [
-      o('INDENT OUTDENT', function() {
-        return new Block;
-      }), o('INDENT Body OUTDENT', function() {
-        return $2;
-      })
-    ],
-    Identifier: [
-      o('IDENTIFIER', function() {
-        return new Literal($1);
-      })
-    ],
-    AlphaNumeric: [
-      o('NUMBER', function() {
-        return new Literal($1);
-      }), o('STRING', function() {
-        return new Literal($1);
-      })
-    ],
-    Literal: [
-      o('AlphaNumeric'), o('JS', function() {
-        return new Literal($1);
-      }), o('REGEX', function() {
-        return new Literal($1);
-      }), o('BOOL', function() {
-        var val;
-        val = new Literal($1);
-        if ($1 === 'undefined') {
-          val.isUndefined = true;
-        }
-        return val;
-      })
-    ],
-    Assign: [
-      o('Assignable = Expression', function() {
-        return new Assign($1, $3);
-      }), o('Assignable = INDENT Expression OUTDENT', function() {
-        return new Assign($1, $4);
-      })
-    ],
-    AssignObj: [
-      o('ObjAssignable', function() {
-        return new Value($1);
-      }), o('ObjAssignable : Expression', function() {
-        return new Assign(new Value($1), $3, 'object');
-      }), o('ObjAssignable :\
-       INDENT Expression OUTDENT', function() {
-        return new Assign(new Value($1), $4, 'object');
-      }), o('Comment')
-    ],
-    ObjAssignable: [o('Identifier'), o('AlphaNumeric'), o('ThisProperty')],
-    Return: [
-      o('RETURN Expression', function() {
-        return new Return($2);
-      }), o('RETURN', function() {
-        return new Return;
-      })
-    ],
-    Comment: [
-      o('HERECOMMENT', function() {
-        return new Comment($1);
-      })
-    ],
-    Code: [
-      o('PARAM_START ParamList PARAM_END FuncGlyph Block', function() {
-        return new Code($2, $5, $4);
-      }), o('FuncGlyph Block', function() {
-        return new Code([], $2, $1);
-      })
-    ],
-    FuncGlyph: [
-      o('->', function() {
-        return 'func';
-      }), o('=>', function() {
-        return 'boundfunc';
-      })
-    ],
-    OptComma: [o(''), o(',')],
-    ParamList: [
-      o('', function() {
-        return [];
-      }), o('Param', function() {
-        return [$1];
-      }), o('ParamList , Param', function() {
-        return $1.concat($3);
-      })
-    ],
-    Param: [
-      o('ParamVar', function() {
-        return new Param($1);
-      }), o('ParamVar ...', function() {
-        return new Param($1, null, true);
-      }), o('ParamVar = Expression', function() {
-        return new Param($1, $3);
-      })
-    ],
-    ParamVar: [o('Identifier'), o('ThisProperty'), o('Array'), o('Object')],
-    Splat: [
-      o('Expression ...', function() {
-        return new Splat($1);
-      })
-    ],
-    SimpleAssignable: [
-      o('Identifier', function() {
-        return new Value($1);
-      }), o('Value Accessor', function() {
-        return $1.push($2);
-      }), o('Invocation Accessor', function() {
-        return new Value($1, [$2]);
-      }), o('ThisProperty')
-    ],
-    Assignable: [
-      o('SimpleAssignable'), o('Array', function() {
-        return new Value($1);
-      }), o('Object', function() {
-        return new Value($1);
-      })
-    ],
-    Value: [
-      o('Assignable'), o('Literal', function() {
-        return new Value($1);
-      }), o('Parenthetical', function() {
-        return new Value($1);
-      }), o('Range', function() {
-        return new Value($1);
-      }), o('This')
-    ],
-    Accessor: [
-      o('.  Identifier', function() {
-        return new Access($2);
-      }), o('?. Identifier', function() {
-        return new Access($2, 'soak');
-      }), o(':: Identifier', function() {
-        return new Access($2, 'proto');
-      }), o('::', function() {
-        return new Access(new Literal('prototype'));
-      }), o('Index')
-    ],
-    Index: [
-      o('INDEX_START IndexValue INDEX_END', function() {
-        return $2;
-      }), o('INDEX_SOAK  Index', function() {
-        return extend($2, {
-          soak: true
-        });
-      }), o('INDEX_PROTO Index', function() {
-        return extend($2, {
-          proto: true
-        });
-      })
-    ],
-    IndexValue: [
-      o('Expression', function() {
-        return new Index($1);
-      }), o('Slice', function() {
-        return new Slice($1);
-      })
-    ],
-    Object: [
-      o('{ AssignList OptComma }', function() {
-        return new Obj($2, $1.generated);
-      })
-    ],
-    AssignList: [
-      o('', function() {
-        return [];
-      }), o('AssignObj', function() {
-        return [$1];
-      }), o('AssignList , AssignObj', function() {
-        return $1.concat($3);
-      }), o('AssignList OptComma TERMINATOR AssignObj', function() {
-        return $1.concat($4);
-      }), o('AssignList OptComma INDENT AssignList OptComma OUTDENT', function() {
-        return $1.concat($4);
-      })
-    ],
-    Class: [
-      o('CLASS', function() {
-        return new Class;
-      }), o('CLASS Block', function() {
-        return new Class(null, null, $2);
-      }), o('CLASS EXTENDS Value', function() {
-        return new Class(null, $3);
-      }), o('CLASS EXTENDS Value Block', function() {
-        return new Class(null, $3, $4);
-      }), o('CLASS SimpleAssignable', function() {
-        return new Class($2);
-      }), o('CLASS SimpleAssignable Block', function() {
-        return new Class($2, null, $3);
-      }), o('CLASS SimpleAssignable EXTENDS Value', function() {
-        return new Class($2, $4);
-      }), o('CLASS SimpleAssignable EXTENDS Value Block', function() {
-        return new Class($2, $4, $5);
-      })
-    ],
-    Invocation: [
-      o('Value OptFuncExist Arguments', function() {
-        return new Call($1, $3, $2);
-      }), o('Invocation OptFuncExist Arguments', function() {
-        return new Call($1, $3, $2);
-      }), o('SUPER', function() {
-        return new Call('super', [new Splat(new Literal('arguments'))]);
-      }), o('SUPER Arguments', function() {
-        return new Call('super', $2);
-      })
-    ],
-    OptFuncExist: [
-      o('', function() {
-        return false;
-      }), o('FUNC_EXIST', function() {
-        return true;
-      })
-    ],
-    Arguments: [
-      o('CALL_START CALL_END', function() {
-        return [];
-      }), o('CALL_START ArgList OptComma CALL_END', function() {
-        return $2;
-      })
-    ],
-    This: [
-      o('THIS', function() {
-        return new Value(new Literal('this'));
-      }), o('@', function() {
-        return new Value(new Literal('this'));
-      })
-    ],
-    ThisProperty: [
-      o('@ Identifier', function() {
-        return new Value(new Literal('this'), [new Access($2)], 'this');
-      })
-    ],
-    Array: [
-      o('[ ]', function() {
-        return new Arr([]);
-      }), o('[ ArgList OptComma ]', function() {
-        return new Arr($2);
-      })
-    ],
-    RangeDots: [
-      o('..', function() {
-        return 'inclusive';
-      }), o('...', function() {
-        return 'exclusive';
-      })
-    ],
-    Range: [
-      o('[ Expression RangeDots Expression ]', function() {
-        return new Range($2, $4, $3);
-      })
-    ],
-    Slice: [
-      o('Expression RangeDots Expression', function() {
-        return new Range($1, $3, $2);
-      }), o('Expression RangeDots', function() {
-        return new Range($1, null, $2);
-      }), o('RangeDots Expression', function() {
-        return new Range(null, $2, $1);
-      })
-    ],
-    ArgList: [
-      o('Arg', function() {
-        return [$1];
-      }), o('ArgList , Arg', function() {
-        return $1.concat($3);
-      }), o('ArgList OptComma TERMINATOR Arg', function() {
-        return $1.concat($4);
-      }), o('INDENT ArgList OptComma OUTDENT', function() {
-        return $2;
-      }), o('ArgList OptComma INDENT ArgList OptComma OUTDENT', function() {
-        return $1.concat($4);
-      })
-    ],
-    Arg: [o('Expression'), o('Splat')],
-    SimpleArgs: [
-      o('Expression'), o('SimpleArgs , Expression', function() {
-        return [].concat($1, $3);
-      })
-    ],
-    Try: [
-      o('TRY Block', function() {
-        return new Try($2);
-      }), o('TRY Block Catch', function() {
-        return new Try($2, $3[0], $3[1]);
-      }), o('TRY Block FINALLY Block', function() {
-        return new Try($2, null, null, $4);
-      }), o('TRY Block Catch FINALLY Block', function() {
-        return new Try($2, $3[0], $3[1], $5);
-      })
-    ],
-    Catch: [
-      o('CATCH Identifier Block', function() {
-        return [$2, $3];
-      })
-    ],
-    Throw: [
-      o('THROW Expression', function() {
-        return new Throw($2);
-      })
-    ],
-    Parenthetical: [
-      o('( Body )', function() {
-        return new Parens($2);
-      }), o('( INDENT Body OUTDENT )', function() {
-        return new Parens($3);
-      })
-    ],
-    WhileSource: [
-      o('WHILE Expression', function() {
-        return new While($2);
-      }), o('WHILE Expression WHEN Expression', function() {
-        return new While($2, {
-          guard: $4
-        });
-      }), o('UNTIL Expression', function() {
-        return new While($2, {
-          invert: true
-        });
-      }), o('UNTIL Expression WHEN Expression', function() {
-        return new While($2, {
-          invert: true,
-          guard: $4
-        });
-      })
-    ],
-    While: [
-      o('WhileSource Block', function() {
-        return $1.addBody($2);
-      }), o('Statement  WhileSource', function() {
-        return $2.addBody(Block.wrap([$1]));
-      }), o('Expression WhileSource', function() {
-        return $2.addBody(Block.wrap([$1]));
-      }), o('Loop', function() {
-        return $1;
-      })
-    ],
-    Loop: [
-      o('LOOP Block', function() {
-        return new While(new Literal('true')).addBody($2);
-      }), o('LOOP Expression', function() {
-        return new While(new Literal('true')).addBody(Block.wrap([$2]));
-      })
-    ],
-    For: [
-      o('Statement  ForBody', function() {
-        return new For($1, $2);
-      }), o('Expression ForBody', function() {
-        return new For($1, $2);
-      }), o('ForBody    Block', function() {
-        return new For($2, $1);
-      })
-    ],
-    ForBody: [
-      o('FOR Range', function() {
-        return {
-          source: new Value($2)
-        };
-      }), o('ForStart ForSource', function() {
-        $2.own = $1.own;
-        $2.name = $1[0];
-        $2.index = $1[1];
-        return $2;
-      })
-    ],
-    ForStart: [
-      o('FOR ForVariables', function() {
-        return $2;
-      }), o('FOR OWN ForVariables', function() {
-        $3.own = true;
-        return $3;
-      })
-    ],
-    ForValue: [
-      o('Identifier'), o('Array', function() {
-        return new Value($1);
-      }), o('Object', function() {
-        return new Value($1);
-      })
-    ],
-    ForVariables: [
-      o('ForValue', function() {
-        return [$1];
-      }), o('ForValue , ForValue', function() {
-        return [$1, $3];
-      })
-    ],
-    ForSource: [
-      o('FORIN Expression', function() {
-        return {
-          source: $2
-        };
-      }), o('FOROF Expression', function() {
-        return {
-          source: $2,
-          object: true
-        };
-      }), o('FORIN Expression WHEN Expression', function() {
-        return {
-          source: $2,
-          guard: $4
-        };
-      }), o('FOROF Expression WHEN Expression', function() {
-        return {
-          source: $2,
-          guard: $4,
-          object: true
-        };
-      }), o('FORIN Expression BY Expression', function() {
-        return {
-          source: $2,
-          step: $4
-        };
-      }), o('FORIN Expression WHEN Expression BY Expression', function() {
-        return {
-          source: $2,
-          guard: $4,
-          step: $6
-        };
-      }), o('FORIN Expression BY Expression WHEN Expression', function() {
-        return {
-          source: $2,
-          step: $4,
-          guard: $6
-        };
-      })
-    ],
-    Switch: [
-      o('SWITCH Expression INDENT Whens OUTDENT', function() {
-        return new Switch($2, $4);
-      }), o('SWITCH Expression INDENT Whens ELSE Block OUTDENT', function() {
-        return new Switch($2, $4, $6);
-      }), o('SWITCH INDENT Whens OUTDENT', function() {
-        return new Switch(null, $3);
-      }), o('SWITCH INDENT Whens ELSE Block OUTDENT', function() {
-        return new Switch(null, $3, $5);
-      })
-    ],
-    Whens: [
-      o('When'), o('Whens When', function() {
-        return $1.concat($2);
-      })
-    ],
-    When: [
-      o('LEADING_WHEN SimpleArgs Block', function() {
-        return [[$2, $3]];
-      }), o('LEADING_WHEN SimpleArgs Block TERMINATOR', function() {
-        return [[$2, $3]];
-      })
-    ],
-    IfBlock: [
-      o('IF Expression Block', function() {
-        return new If($2, $3, {
-          type: $1
-        });
-      }), o('IfBlock ELSE IF Expression Block', function() {
-        return $1.addElse(new If($4, $5, {
-          type: $3
-        }));
-      })
-    ],
-    If: [
-      o('IfBlock'), o('IfBlock ELSE Block', function() {
-        return $1.addElse($3);
-      }), o('Statement  POST_IF Expression', function() {
-        return new If($3, Block.wrap([$1]), {
-          type: $2,
-          statement: true
-        });
-      }), o('Expression POST_IF Expression', function() {
-        return new If($3, Block.wrap([$1]), {
-          type: $2,
-          statement: true
-        });
-      })
-    ],
-    Operation: [
-      o('UNARY Expression', function() {
-        return new Op($1, $2);
-      }), o('-     Expression', (function() {
-        return new Op('-', $2);
-      }), {
-        prec: 'UNARY'
-      }), o('+     Expression', (function() {
-        return new Op('+', $2);
-      }), {
-        prec: 'UNARY'
-      }), o('-- SimpleAssignable', function() {
-        return new Op('--', $2);
-      }), o('++ SimpleAssignable', function() {
-        return new Op('++', $2);
-      }), o('SimpleAssignable --', function() {
-        return new Op('--', $1, null, true);
-      }), o('SimpleAssignable ++', function() {
-        return new Op('++', $1, null, true);
-      }), o('Expression ?', function() {
-        return new Existence($1);
-      }), o('Expression +  Expression', function() {
-        return new Op('+', $1, $3);
-      }), o('Expression -  Expression', function() {
-        return new Op('-', $1, $3);
-      }), o('Expression MATH     Expression', function() {
-        return new Op($2, $1, $3);
-      }), o('Expression SHIFT    Expression', function() {
-        return new Op($2, $1, $3);
-      }), o('Expression COMPARE  Expression', function() {
-        return new Op($2, $1, $3);
-      }), o('Expression LOGIC    Expression', function() {
-        return new Op($2, $1, $3);
-      }), o('Expression RELATION Expression', function() {
-        if ($2.charAt(0) === '!') {
-          return new Op($2.slice(1), $1, $3).invert();
-        } else {
-          return new Op($2, $1, $3);
-        }
-      }), o('SimpleAssignable COMPOUND_ASSIGN\
-       Expression', function() {
-        return new Assign($1, $3, $2);
-      }), o('SimpleAssignable COMPOUND_ASSIGN\
-       INDENT Expression OUTDENT', function() {
-        return new Assign($1, $4, $2);
-      }), o('SimpleAssignable EXTENDS Expression', function() {
-        return new Extends($1, $3);
-      })
-    ]
-  };
-  operators = [['left', '.', '?.', '::'], ['left', 'CALL_START', 'CALL_END'], ['nonassoc', '++', '--'], ['left', '?'], ['right', 'UNARY'], ['left', 'MATH'], ['left', '+', '-'], ['left', 'SHIFT'], ['left', 'RELATION'], ['left', 'COMPARE'], ['left', 'LOGIC'], ['nonassoc', 'INDENT', 'OUTDENT'], ['right', '=', ':', 'COMPOUND_ASSIGN', 'RETURN', 'THROW', 'EXTENDS'], ['right', 'FORIN', 'FOROF', 'BY', 'WHEN'], ['right', 'IF', 'ELSE', 'FOR', 'DO', 'WHILE', 'UNTIL', 'LOOP', 'SUPER', 'CLASS'], ['right', 'POST_IF']];
-  tokens = [];
-  for (name in grammar) {
-    alternatives = grammar[name];
-    grammar[name] = (function() {
-      var _i, _j, _len, _len2, _ref, _results;
-      _results = [];
-      for (_i = 0, _len = alternatives.length; _i < _len; _i++) {
-        alt = alternatives[_i];
-        _ref = alt[0].split(' ');
-        for (_j = 0, _len2 = _ref.length; _j < _len2; _j++) {
-          token = _ref[_j];
-          if (!grammar[token]) {
-            tokens.push(token);
-          }
-        }
-        if (name === 'Root') {
-          alt[1] = "return " + alt[1];
-        }
-        _results.push(alt);
-      }
-      return _results;
-    })();
-  }
-  exports.parser = new Parser({
-    tokens: tokens.join(' '),
-    bnf: grammar,
-    operators: operators.reverse(),
-    startSymbol: 'Root'
-  });
-}).call(this);

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/lib/helpers.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/lib/helpers.js b/bin/node_modules/coffee-script/lib/helpers.js
deleted file mode 100644
index 89be573..0000000
--- a/bin/node_modules/coffee-script/lib/helpers.js
+++ /dev/null
@@ -1,66 +0,0 @@
-(function() {
-  var extend, flatten;
-  exports.starts = function(string, literal, start) {
-    return literal === string.substr(start, literal.length);
-  };
-  exports.ends = function(string, literal, back) {
-    var len;
-    len = literal.length;
-    return literal === string.substr(string.length - len - (back || 0), len);
-  };
-  exports.compact = function(array) {
-    var item, _i, _len, _results;
-    _results = [];
-    for (_i = 0, _len = array.length; _i < _len; _i++) {
-      item = array[_i];
-      if (item) {
-        _results.push(item);
-      }
-    }
-    return _results;
-  };
-  exports.count = function(string, substr) {
-    var num, pos;
-    num = pos = 0;
-    if (!substr.length) {
-      return 1 / 0;
-    }
-    while (pos = 1 + string.indexOf(substr, pos)) {
-      num++;
-    }
-    return num;
-  };
-  exports.merge = function(options, overrides) {
-    return extend(extend({}, options), overrides);
-  };
-  extend = exports.extend = function(object, properties) {
-    var key, val;
-    for (key in properties) {
-      val = properties[key];
-      object[key] = val;
-    }
-    return object;
-  };
-  exports.flatten = flatten = function(array) {
-    var element, flattened, _i, _len;
-    flattened = [];
-    for (_i = 0, _len = array.length; _i < _len; _i++) {
-      element = array[_i];
-      if (element instanceof Array) {
-        flattened = flattened.concat(flatten(element));
-      } else {
-        flattened.push(element);
-      }
-    }
-    return flattened;
-  };
-  exports.del = function(obj, key) {
-    var val;
-    val = obj[key];
-    delete obj[key];
-    return val;
-  };
-  exports.last = function(array, back) {
-    return array[array.length - (back || 0) - 1];
-  };
-}).call(this);

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/lib/index.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/lib/index.js b/bin/node_modules/coffee-script/lib/index.js
deleted file mode 100644
index 38f7c1e..0000000
--- a/bin/node_modules/coffee-script/lib/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-(function() {
-  var key, val, _ref;
-  _ref = require('./coffee-script');
-  for (key in _ref) {
-    val = _ref[key];
-    exports[key] = val;
-  }
-}).call(this);

http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/ea8d6b17/bin/node_modules/coffee-script/lib/lexer.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/coffee-script/lib/lexer.js b/bin/node_modules/coffee-script/lib/lexer.js
deleted file mode 100644
index 4764bf6..0000000
--- a/bin/node_modules/coffee-script/lib/lexer.js
+++ /dev/null
@@ -1,656 +0,0 @@
-(function() {
-  var ASSIGNED, BOOL, CALLABLE, CODE, COFFEE_ALIASES, COFFEE_ALIAS_MAP, COFFEE_KEYWORDS, COMMENT, COMPARE, COMPOUND_ASSIGN, HEREDOC, HEREDOC_ILLEGAL, HEREDOC_INDENT, HEREGEX, HEREGEX_OMIT, IDENTIFIER, INDEXABLE, JSTOKEN, JS_FORBIDDEN, JS_KEYWORDS, LINE_BREAK, LINE_CONTINUER, LOGIC, Lexer, MATH, MULTILINER, MULTI_DENT, NOT_REGEX, NOT_SPACED_REGEX, NO_NEWLINE, NUMBER, OPERATOR, REGEX, RELATION, RESERVED, Rewriter, SHIFT, SIMPLESTR, TRAILING_SPACES, UNARY, WHITESPACE, compact, count, key, last, starts, _ref;
-  var __indexOf = Array.prototype.indexOf || function(item) {
-    for (var i = 0, l = this.length; i < l; i++) {
-      if (this[i] === item) return i;
-    }
-    return -1;
-  };
-  Rewriter = require('./rewriter').Rewriter;
-  _ref = require('./helpers'), count = _ref.count, starts = _ref.starts, compact = _ref.compact, last = _ref.last;
-  exports.Lexer = Lexer = (function() {
-    function Lexer() {}
-    Lexer.prototype.tokenize = function(code, opts) {
-      var i;
-      if (opts == null) {
-        opts = {};
-      }
-      if (WHITESPACE.test(code)) {
-        code = "\n" + code;
-      }
-      code = code.replace(/\r/g, '').replace(TRAILING_SPACES, '');
-      this.code = code;
-      this.line = opts.line || 0;
-      this.indent = 0;
-      this.indebt = 0;
-      this.outdebt = 0;
-      this.indents = [];
-      this.tokens = [];
-      i = 0;
-      while (this.chunk = code.slice(i)) {
-        i += this.identifierToken() || this.commentToken() || this.whitespaceToken() || this.lineToken() || this.heredocToken() || this.stringToken() || this.numberToken() || this.regexToken() || this.jsToken() || this.literalToken();
-      }
-      this.closeIndentation();
-      if (opts.rewrite === false) {
-        return this.tokens;
-      }
-      return (new Rewriter).rewrite(this.tokens);
-    };
-    Lexer.prototype.identifierToken = function() {
-      var colon, forcedIdentifier, id, input, match, prev, tag, _ref2, _ref3;
-      if (!(match = IDENTIFIER.exec(this.chunk))) {
-        return 0;
-      }
-      input = match[0], id = match[1], colon = match[2];
-      if (id === 'own' && this.tag() === 'FOR') {
-        this.token('OWN', id);
-        return id.length;
-      }
-      forcedIdentifier = colon || (prev = last(this.tokens)) && (((_ref2 = prev[0]) === '.' || _ref2 === '?.' || _ref2 === '::') || !prev.spaced && prev[0] === '@');
-      tag = 'IDENTIFIER';
-      if (!forcedIdentifier && (__indexOf.call(JS_KEYWORDS, id) >= 0 || __indexOf.call(COFFEE_KEYWORDS, id) >= 0)) {
-        tag = id.toUpperCase();
-        if (tag === 'WHEN' && (_ref3 = this.tag(), __indexOf.call(LINE_BREAK, _ref3) >= 0)) {
-          tag = 'LEADING_WHEN';
-        } else if (tag === 'FOR') {
-          this.seenFor = true;
-        } else if (tag === 'UNLESS') {
-          tag = 'IF';
-        } else if (__indexOf.call(UNARY, tag) >= 0) {
-          tag = 'UNARY';
-        } else if (__indexOf.call(RELATION, tag) >= 0) {
-          if (tag !== 'INSTANCEOF' && this.seenFor) {
-            tag = 'FOR' + tag;
-            this.seenFor = false;
-          } else {
-            tag = 'RELATION';
-            if (this.value() === '!') {
-              this.tokens.pop();
-              id = '!' + id;
-            }
-          }
-        }
-      }
-      if (__indexOf.call(JS_FORBIDDEN, id) >= 0) {
-        if (forcedIdentifier) {
-          tag = 'IDENTIFIER';
-          id = new String(id);
-          id.reserved = true;
-        } else if (__indexOf.call(RESERVED, id) >= 0) {
-          this.identifierError(id);
-        }
-      }
-      if (!forcedIdentifier) {
-        if (__indexOf.call(COFFEE_ALIASES, id) >= 0) {
-          id = COFFEE_ALIAS_MAP[id];
-        }
-        tag = (function() {
-          switch (id) {
-            case '!':
-              return 'UNARY';
-            case '==':
-            case '!=':
-              return 'COMPARE';
-            case '&&':
-            case '||':
-              return 'LOGIC';
-            case 'true':
-            case 'false':
-            case 'null':
-            case 'undefined':
-              return 'BOOL';
-            case 'break':
-            case 'continue':
-            case 'debugger':
-              return 'STATEMENT';
-            default:
-              return tag;
-          }
-        })();
-      }
-      this.token(tag, id);
-      if (colon) {
-        this.token(':', ':');
-      }
-      return input.length;
-    };
-    Lexer.prototype.numberToken = function() {
-      var match, number;
-      if (!(match = NUMBER.exec(this.chunk))) {
-        return 0;
-      }
-      number = match[0];
-      this.token('NUMBER', number);
-      return number.length;
-    };
-    Lexer.prototype.stringToken = function() {
-      var match, string;
-      switch (this.chunk.charAt(0)) {
-        case "'":
-          if (!(match = SIMPLESTR.exec(this.chunk))) {
-            return 0;
-          }
-          this.token('STRING', (string = match[0]).replace(MULTILINER, '\\\n'));
-          break;
-        case '"':
-          if (!(string = this.balancedString(this.chunk, '"'))) {
-            return 0;
-          }
-          if (0 < string.indexOf('#{', 1)) {
-            this.interpolateString(string.slice(1, -1));
-          } else {
-            this.token('STRING', this.escapeLines(string));
-          }
-          break;
-        default:
-          return 0;
-      }
-      this.line += count(string, '\n');
-      return string.length;
-    };
-    Lexer.prototype.heredocToken = function() {
-      var doc, heredoc, match, quote;
-      if (!(match = HEREDOC.exec(this.chunk))) {
-        return 0;
-      }
-      heredoc = match[0];
-      quote = heredoc.charAt(0);
-      doc = this.sanitizeHeredoc(match[2], {
-        quote: quote,
-        indent: null
-      });
-      if (quote === '"' && 0 <= doc.indexOf('#{')) {
-        this.interpolateString(doc, {
-          heredoc: true
-        });
-      } else {
-        this.token('STRING', this.makeString(doc, quote, true));
-      }
-      this.line += count(heredoc, '\n');
-      return heredoc.length;
-    };
-    Lexer.prototype.commentToken = function() {
-      var comment, here, match;
-      if (!(match = this.chunk.match(COMMENT))) {
-        return 0;
-      }
-      comment = match[0], here = match[1];
-      if (here) {
-        this.token('HERECOMMENT', this.sanitizeHeredoc(here, {
-          herecomment: true,
-          indent: Array(this.indent + 1).join(' ')
-        }));
-        this.token('TERMINATOR', '\n');
-      }
-      this.line += count(comment, '\n');
-      return comment.length;
-    };
-    Lexer.prototype.jsToken = function() {
-      var match, script;
-      if (!(this.chunk.charAt(0) === '`' && (match = JSTOKEN.exec(this.chunk)))) {
-        return 0;
-      }
-      this.token('JS', (script = match[0]).slice(1, -1));
-      return script.length;
-    };
-    Lexer.prototype.regexToken = function() {
-      var length, match, prev, regex, _ref2;
-      if (this.chunk.charAt(0) !== '/') {
-        return 0;
-      }
-      if (match = HEREGEX.exec(this.chunk)) {
-        length = this.heregexToken(match);
-        this.line += count(match[0], '\n');
-        return length;
-      }
-      prev = last(this.tokens);
-      if (prev && (_ref2 = prev[0], __indexOf.call((prev.spaced ? NOT_REGEX : NOT_SPACED_REGEX), _ref2) >= 0)) {
-        return 0;
-      }
-      if (!(match = REGEX.exec(this.chunk))) {
-        return 0;
-      }
-      regex = match[0];
-      this.token('REGEX', regex === '//' ? '/(?:)/' : regex);
-      return regex.length;
-    };
-    Lexer.prototype.heregexToken = function(match) {
-      var body, flags, heregex, re, tag, tokens, value, _i, _len, _ref2, _ref3, _ref4, _ref5;
-      heregex = match[0], body = match[1], flags = match[2];
-      if (0 > body.indexOf('#{')) {
-        re = body.replace(HEREGEX_OMIT, '').replace(/\//g, '\\/');
-        this.token('REGEX', "/" + (re || '(?:)') + "/" + flags);
-        return heregex.length;
-      }
-      this.token('IDENTIFIER', 'RegExp');
-      this.tokens.push(['CALL_START', '(']);
-      tokens = [];
-      _ref2 = this.interpolateString(body, {
-        regex: true
-      });
-      for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
-        _ref3 = _ref2[_i], tag = _ref3[0], value = _ref3[1];
-        if (tag === 'TOKENS') {
-          tokens.push.apply(tokens, value);
-        } else {
-          if (!(value = value.replace(HEREGEX_OMIT, ''))) {
-            continue;
-          }
-          value = value.replace(/\\/g, '\\\\');
-          tokens.push(['STRING', this.makeString(value, '"', true)]);
-        }
-        tokens.push(['+', '+']);
-      }
-      tokens.pop();
-      if (((_ref4 = tokens[0]) != null ? _ref4[0] : void 0) !== 'STRING') {
-        this.tokens.push(['STRING', '""'], ['+', '+']);
-      }
-      (_ref5 = this.tokens).push.apply(_ref5, tokens);
-      if (flags) {
-        this.tokens.push([',', ','], ['STRING', '"' + flags + '"']);
-      }
-      this.token(')', ')');
-      return heregex.length;
-    };
-    Lexer.prototype.lineToken = function() {
-      var diff, indent, match, noNewlines, prev, size;
-      if (!(match = MULTI_DENT.exec(this.chunk))) {
-        return 0;
-      }
-      indent = match[0];
-      this.line += count(indent, '\n');
-      prev = last(this.tokens, 1);
-      size = indent.length - 1 - indent.lastIndexOf('\n');
-      noNewlines = this.unfinished();
-      if (size - this.indebt === this.indent) {
-        if (noNewlines) {
-          this.suppressNewlines();
-        } else {
-          this.newlineToken();
-        }
-        return indent.length;
-      }
-      if (size > this.indent) {
-        if (noNewlines) {
-          this.indebt = size - this.indent;
-          this.suppressNewlines();
-          return indent.length;
-        }
-        diff = size - this.indent + this.outdebt;
-        this.token('INDENT', diff);
-        this.indents.push(diff);
-        this.outdebt = this.indebt = 0;
-      } else {
-        this.indebt = 0;
-        this.outdentToken(this.indent - size, noNewlines);
-      }
-      this.indent = size;
-      return indent.length;
-    };
-    Lexer.prototype.outdentToken = function(moveOut, noNewlines, close) {
-      var dent, len;
-      while (moveOut > 0) {
-        len = this.indents.length - 1;
-        if (this.indents[len] === void 0) {
-          moveOut = 0;
-        } else if (this.indents[len] === this.outdebt) {
-          moveOut -= this.outdebt;
-          this.outdebt = 0;
-        } else if (this.indents[len] < this.outdebt) {
-          this.outdebt -= this.indents[len];
-          moveOut -= this.indents[len];
-        } else {
-          dent = this.indents.pop() - this.outdebt;
-          moveOut -= dent;
-          this.outdebt = 0;
-          this.token('OUTDENT', dent);
-        }
-      }
-      if (dent) {
-        this.outdebt -= moveOut;
-      }
-      if (!(this.tag() === 'TERMINATOR' || noNewlines)) {
-        this.token('TERMINATOR', '\n');
-      }
-      return this;
-    };
-    Lexer.prototype.whitespaceToken = function() {
-      var match, nline, prev;
-      if (!((match = WHITESPACE.exec(this.chunk)) || (nline = this.chunk.charAt(0) === '\n'))) {
-        return 0;
-      }
-      prev = last(this.tokens);
-      if (prev) {
-        prev[match ? 'spaced' : 'newLine'] = true;
-      }
-      if (match) {
-        return match[0].length;
-      } else {
-        return 0;
-      }
-    };
-    Lexer.prototype.newlineToken = function() {
-      if (this.tag() !== 'TERMINATOR') {
-        this.token('TERMINATOR', '\n');
-      }
-      return this;
-    };
-    Lexer.prototype.suppressNewlines = function() {
-      if (this.value() === '\\') {
-        this.tokens.pop();
-      }
-      return this;
-    };
-    Lexer.prototype.literalToken = function() {
-      var match, prev, tag, value, _ref2, _ref3, _ref4, _ref5;
-      if (match = OPERATOR.exec(this.chunk)) {
-        value = match[0];
-        if (CODE.test(value)) {
-          this.tagParameters();
-        }
-      } else {
-        value = this.chunk.charAt(0);
-      }
-      tag = value;
-      prev = last(this.tokens);
-      if (value === '=' && prev) {
-        if (!prev[1].reserved && (_ref2 = prev[1], __indexOf.call(JS_FORBIDDEN, _ref2) >= 0)) {
-          this.assignmentError();
-        }
-        if ((_ref3 = prev[1]) === '||' || _ref3 === '&&') {
-          prev[0] = 'COMPOUND_ASSIGN';
-          prev[1] += '=';
-          return value.length;
-        }
-      }
-      if (value === ';') {
-        tag = 'TERMINATOR';
-      } else if (__indexOf.call(MATH, value) >= 0) {
-        tag = 'MATH';
-      } else if (__indexOf.call(COMPARE, value) >= 0) {
-        tag = 'COMPARE';
-      } else if (__indexOf.call(COMPOUND_ASSIGN, value) >= 0) {
-        tag = 'COMPOUND_ASSIGN';
-      } else if (__indexOf.call(UNARY, value) >= 0) {
-        tag = 'UNARY';
-      } else if (__indexOf.call(SHIFT, value) >= 0) {
-        tag = 'SHIFT';
-      } else if (__indexOf.call(LOGIC, value) >= 0 || value === '?' && (prev != null ? prev.spaced : void 0)) {
-        tag = 'LOGIC';
-      } else if (prev && !prev.spaced) {
-        if (value === '(' && (_ref4 = prev[0], __indexOf.call(CALLABLE, _ref4) >= 0)) {
-          if (prev[0] === '?') {
-            prev[0] = 'FUNC_EXIST';
-          }
-          tag = 'CALL_START';
-        } else if (value === '[' && (_ref5 = prev[0], __indexOf.call(INDEXABLE, _ref5) >= 0)) {
-          tag = 'INDEX_START';
-          switch (prev[0]) {
-            case '?':
-              prev[0] = 'INDEX_SOAK';
-              break;
-            case '::':
-              prev[0] = 'INDEX_PROTO';
-          }
-        }
-      }
-      this.token(tag, value);
-      return value.length;
-    };
-    Lexer.prototype.sanitizeHeredoc = function(doc, options) {
-      var attempt, herecomment, indent, match, _ref2;
-      indent = options.indent, herecomment = options.herecomment;
-      if (herecomment) {
-        if (HEREDOC_ILLEGAL.test(doc)) {
-          throw new Error("block comment cannot contain \"*/\", starting on line " + (this.line + 1));
-        }
-        if (doc.indexOf('\n') <= 0) {
-          return doc;
-        }
-      } else {
-        while (match = HEREDOC_INDENT.exec(doc)) {
-          attempt = match[1];
-          if (indent === null || (0 < (_ref2 = attempt.length) && _ref2 < indent.length)) {
-            indent = attempt;
-          }
-        }
-      }
-      if (indent) {
-        doc = doc.replace(RegExp("\\n" + indent, "g"), '\n');
-      }
-      if (!herecomment) {
-        doc = doc.replace(/^\n/, '');
-      }
-      return doc;
-    };
-    Lexer.prototype.tagParameters = function() {
-      var i, stack, tok, tokens;
-      if (this.tag() !== ')') {
-        return this;
-      }
-      stack = [];
-      tokens = this.tokens;
-      i = tokens.length;
-      tokens[--i][0] = 'PARAM_END';
-      while (tok = tokens[--i]) {
-        switch (tok[0]) {
-          case ')':
-            stack.push(tok);
-            break;
-          case '(':
-          case 'CALL_START':
-            if (stack.length) {
-              stack.pop();
-            } else if (tok[0] === '(') {
-              tok[0] = 'PARAM_START';
-              return this;
-            } else {
-              return this;
-            }
-        }
-      }
-      return this;
-    };
-    Lexer.prototype.closeIndentation = function() {
-      return this.outdentToken(this.indent);
-    };
-    Lexer.prototype.identifierError = function(word) {
-      throw SyntaxError("Reserved word \"" + word + "\" on line " + (this.line + 1));
-    };
-    Lexer.prototype.assignmentError = function() {
-      throw SyntaxError("Reserved word \"" + (this.value()) + "\" on line " + (this.line + 1) + " can't be assigned");
-    };
-    Lexer.prototype.balancedString = function(str, end) {
-      var i, letter, match, prev, stack, _ref2;
-      stack = [end];
-      for (i = 1, _ref2 = str.length; 1 <= _ref2 ? i < _ref2 : i > _ref2; 1 <= _ref2 ? i++ : i--) {
-        switch (letter = str.charAt(i)) {
-          case '\\':
-            i++;
-            continue;
-          case end:
-            stack.pop();
-            if (!stack.length) {
-              return str.slice(0, i + 1);
-            }
-            end = stack[stack.length - 1];
-            continue;
-        }
-        if (end === '}' && (letter === '"' || letter === "'")) {
-          stack.push(end = letter);
-        } else if (end === '}' && letter === '/' && (match = HEREGEX.exec(str.slice(i)) || REGEX.exec(str.slice(i)))) {
-          i += match[0].length - 1;
-        } else if (end === '}' && letter === '{') {
-          stack.push(end = '}');
-        } else if (end === '"' && prev === '#' && letter === '{') {
-          stack.push(end = '}');
-        }
-        prev = letter;
-      }
-      throw new Error("missing " + (stack.pop()) + ", starting on line " + (this.line + 1));
-    };
-    Lexer.prototype.interpolateString = function(str, options) {
-      var expr, heredoc, i, inner, interpolated, len, letter, nested, pi, regex, tag, tokens, value, _len, _ref2, _ref3, _ref4;
-      if (options == null) {
-        options = {};
-      }
-      heredoc = options.heredoc, regex = options.regex;
-      tokens = [];
-      pi = 0;
-      i = -1;
-      while (letter = str.charAt(i += 1)) {
-        if (letter === '\\') {
-          i += 1;
-          continue;
-        }
-        if (!(letter === '#' && str.charAt(i + 1) === '{' && (expr = this.balancedString(str.slice(i + 1), '}')))) {
-          continue;
-        }
-        if (pi < i) {
-          tokens.push(['NEOSTRING', str.slice(pi, i)]);
-        }
-        inner = expr.slice(1, -1);
-        if (inner.length) {
-          nested = new Lexer().tokenize(inner, {
-            line: this.line,
-            rewrite: false
-          });
-          nested.pop();
-          if (((_ref2 = nested[0]) != null ? _ref2[0] : void 0) === 'TERMINATOR') {
-            nested.shift();
-          }
-          if (len = nested.length) {
-            if (len > 1) {
-              nested.unshift(['(', '(']);
-              nested.push([')', ')']);
-            }
-            tokens.push(['TOKENS', nested]);
-          }
-        }
-        i += expr.length;
-        pi = i + 1;
-      }
-      if ((i > pi && pi < str.length)) {
-        tokens.push(['NEOSTRING', str.slice(pi)]);
-      }
-      if (regex) {
-        return tokens;
-      }
-      if (!tokens.length) {
-        return this.token('STRING', '""');
-      }
-      if (tokens[0][0] !== 'NEOSTRING') {
-        tokens.unshift(['', '']);
-      }
-      if (interpolated = tokens.length > 1) {
-        this.token('(', '(');
-      }
-      for (i = 0, _len = tokens.length; i < _len; i++) {
-        _ref3 = tokens[i], tag = _ref3[0], value = _ref3[1];
-        if (i) {
-          this.token('+', '+');
-        }
-        if (tag === 'TOKENS') {
-          (_ref4 = this.tokens).push.apply(_ref4, value);
-        } else {
-          this.token('STRING', this.makeString(value, '"', heredoc));
-        }
-      }
-      if (interpolated) {
-        this.token(')', ')');
-      }
-      return tokens;
-    };
-    Lexer.prototype.token = function(tag, value) {
-      return this.tokens.push([tag, value, this.line]);
-    };
-    Lexer.prototype.tag = function(index, tag) {
-      var tok;
-      return (tok = last(this.tokens, index)) && (tag ? tok[0] = tag : tok[0]);
-    };
-    Lexer.prototype.value = function(index, val) {
-      var tok;
-      return (tok = last(this.tokens, index)) && (val ? tok[1] = val : tok[1]);
-    };
-    Lexer.prototype.unfinished = function() {
-      var prev, value;
-      return LINE_CONTINUER.test(this.chunk) || (prev = last(this.tokens, 1)) && prev[0] !== '.' && (value = this.value()) && !value.reserved && NO_NEWLINE.test(value) && !CODE.test(value) && !ASSIGNED.test(this.chunk);
-    };
-    Lexer.prototype.escapeLines = function(str, heredoc) {
-      return str.replace(MULTILINER, heredoc ? '\\n' : '');
-    };
-    Lexer.prototype.makeString = function(body, quote, heredoc) {
-      if (!body) {
-        return quote + quote;
-      }
-      body = body.replace(/\\([\s\S])/g, function(match, contents) {
-        if (contents === '\n' || contents === quote) {
-          return contents;
-        } else {
-          return match;
-        }
-      });
-      body = body.replace(RegExp("" + quote, "g"), '\\$&');
-      return quote + this.escapeLines(body, heredoc) + quote;
-    };
-    return Lexer;
-  })();
-  JS_KEYWORDS = ['true', 'false', 'null', 'this', 'new', 'delete', 'typeof', 'in', 'instanceof', 'return', 'throw', 'break', 'continue', 'debugger', 'if', 'else', 'switch', 'for', 'while', 'do', 'try', 'catch', 'finally', 'class', 'extends', 'super'];
-  COFFEE_KEYWORDS = ['undefined', 'then', 'unless', 'until', 'loop', 'of', 'by', 'when'];
-  COFFEE_ALIAS_MAP = {
-    and: '&&',
-    or: '||',
-    is: '==',
-    isnt: '!=',
-    not: '!',
-    yes: 'true',
-    no: 'false',
-    on: 'true',
-    off: 'false'
-  };
-  COFFEE_ALIASES = (function() {
-    var _results;
-    _results = [];
-    for (key in COFFEE_ALIAS_MAP) {
-      _results.push(key);
-    }
-    return _results;
-  })();
-  COFFEE_KEYWORDS = COFFEE_KEYWORDS.concat(COFFEE_ALIASES);
-  RESERVED = ['case', 'default', 'function', 'var', 'void', 'with', 'const', 'let', 'enum', 'export', 'import', 'native', '__hasProp', '__extends', '__slice', '__bind', '__indexOf'];
-  JS_FORBIDDEN = JS_KEYWORDS.concat(RESERVED);
-  exports.RESERVED = RESERVED.concat(JS_KEYWORDS).concat(COFFEE_KEYWORDS);
-  IDENTIFIER = /^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/;
-  NUMBER = /^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i;
-  HEREDOC = /^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/;
-  OPERATOR = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?\.|\.{2,3})/;
-  WHITESPACE = /^[^\n\S]+/;
-  COMMENT = /^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)?$)|^(?:\s*#(?!##[^#]).*)+/;
-  CODE = /^[-=]>/;
-  MULTI_DENT = /^(?:\n[^\n\S]*)+/;
-  SIMPLESTR = /^'[^\\']*(?:\\.[^\\']*)*'/;
-  JSTOKEN = /^`[^\\`]*(?:\\.[^\\`]*)*`/;
-  REGEX = /^\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/[imgy]{0,4}(?!\w)/;
-  HEREGEX = /^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/;
-  HEREGEX_OMIT = /\s+(?:#.*)?/g;
-  MULTILINER = /\n/g;
-  HEREDOC_INDENT = /\n+([^\n\S]*)/g;
-  HEREDOC_ILLEGAL = /\*\//;
-  ASSIGNED = /^\s*@?([$A-Za-z_][$\w\x7f-\uffff]*|['"].*['"])[^\n\S]*?[:=][^:=>]/;
-  LINE_CONTINUER = /^\s*(?:,|\??\.(?![.\d])|::)/;
-  TRAILING_SPACES = /\s+$/;
-  NO_NEWLINE = /^(?:[-+*&|\/%=<>!.\\][<>=&|]*|and|or|is(?:nt)?|n(?:ot|ew)|delete|typeof|instanceof)$/;
-  COMPOUND_ASSIGN = ['-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?=', '<<=', '>>=', '>>>=', '&=', '^=', '|='];
-  UNARY = ['!', '~', 'NEW', 'TYPEOF', 'DELETE', 'DO'];
-  LOGIC = ['&&', '||', '&', '|', '^'];
-  SHIFT = ['<<', '>>', '>>>'];
-  COMPARE = ['==', '!=', '<', '>', '<=', '>='];
-  MATH = ['*', '/', '%'];
-  RELATION = ['IN', 'OF', 'INSTANCEOF'];
-  BOOL = ['TRUE', 'FALSE', 'NULL', 'UNDEFINED'];
-  NOT_REGEX = ['NUMBER', 'REGEX', 'BOOL', '++', '--', ']'];
-  NOT_SPACED_REGEX = NOT_REGEX.concat(')', '}', 'THIS', 'IDENTIFIER', 'STRING');
-  CALLABLE = ['IDENTIFIER', 'STRING', 'REGEX', ')', ']', '}', '?', '::', '@', 'THIS', 'SUPER'];
-  INDEXABLE = CALLABLE.concat('NUMBER', 'BOOL');
-  LINE_BREAK = ['INDENT', 'OUTDENT', 'TERMINATOR'];
-}).call(this);


Mime
View raw message