You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2016/08/01 22:23:02 UTC

[43/61] [abbrv] [partial] cordova-create git commit: gitignore node modules

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/coffee-script/lib/coffee-script/command.js
----------------------------------------------------------------------
diff --git a/node_modules/coffee-script/lib/coffee-script/command.js b/node_modules/coffee-script/lib/coffee-script/command.js
deleted file mode 100644
index 623c37c..0000000
--- a/node_modules/coffee-script/lib/coffee-script/command.js
+++ /dev/null
@@ -1,610 +0,0 @@
-// Generated by CoffeeScript 1.10.0
-(function() {
-  var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compilePath, compileScript, compileStdio, exec, findDirectoryIndex, forkNode, fs, helpers, hidden, joinTimeout, makePrelude, mkdirp, notSources, optionParser, optparse, opts, outputPath, parseOptions, path, printLine, printTokens, printWarn, ref, removeSource, removeSourceDir, silentUnlink, sourceCode, sources, spawn, timeLog, usage, useWinPathSep, version, wait, watch, watchDir, watchedDirs, writeJs,
-    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
-
-  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;
-
-  useWinPathSep = path.sep === '\\';
-
-  helpers.extend(CoffeeScript, new EventEmitter);
-
-  printLine = function(line) {
-    return process.stdout.write(line + '\n');
-  };
-
-  printWarn = function(line) {
-    return process.stderr.write(line + '\n');
-  };
-
-  hidden = function(file) {
-    return /^\.|~$/.test(file);
-  };
-
-  BANNER = 'Usage: coffee [options] path/to/script.coffee -- [args]\n\nIf called without options, `coffee` will run your script.';
-
-  SWITCHES = [['-b', '--bare', 'compile without a top-level function wrapper'], ['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-e', '--eval', 'pass a string from the command line as input'], ['-h', '--help', 'display this help message'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-j', '--join [FILE]', 'concatenate the source CoffeeScript before compiling'], ['-m', '--map', 'generate source map and save as .js.map files'], ['-n', '--nodes', 'print out the parse tree that the parser produces'], ['--nodejs [ARGS]', 'pass options directly to the "node" binary'], ['--no-header', 'suppress the "Generated by" header'], ['-o', '--output [DIR]', 'set the output directory for compiled JavaScript'], ['-p', '--print', 'print out the compiled JavaScript'], ['-r', '--require [MODULE*]', 'require the given module before eval or REPL'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-l', '--literate', 'treat stdio as literate style c
 offee-script'], ['-t', '--tokens', 'print out the tokens that the lexer/rewriter produce'], ['-v', '--version', 'display the version number'], ['-w', '--watch', 'watch scripts for changes and rerun commands']];
-
-  opts = {};
-
-  sources = [];
-
-  sourceCode = [];
-
-  notSources = {};
-
-  watchedDirs = {};
-
-  optionParser = null;
-
-  exports.run = function() {
-    var i, len, literals, ref1, replCliOpts, results, source;
-    parseOptions();
-    replCliOpts = {
-      useGlobal: true
-    };
-    if (opts.require) {
-      opts.prelude = makePrelude(opts.require);
-    }
-    replCliOpts.prelude = opts.prelude;
-    if (opts.nodejs) {
-      return forkNode();
-    }
-    if (opts.help) {
-      return usage();
-    }
-    if (opts.version) {
-      return version();
-    }
-    if (opts.interactive) {
-      return require('./repl').start(replCliOpts);
-    }
-    if (opts.stdio) {
-      return compileStdio();
-    }
-    if (opts["eval"]) {
-      return compileScript(null, opts["arguments"][0]);
-    }
-    if (!opts["arguments"].length) {
-      return require('./repl').start(replCliOpts);
-    }
-    literals = opts.run ? opts["arguments"].splice(1) : [];
-    process.argv = process.argv.slice(0, 2).concat(literals);
-    process.argv[0] = 'coffee';
-    if (opts.output) {
-      opts.output = path.resolve(opts.output);
-    }
-    if (opts.join) {
-      opts.join = path.resolve(opts.join);
-      console.error('\nThe --join option is deprecated and will be removed in a future version.\n\nIf for some reason it\'s necessary to share local variables between files,\nreplace...\n\n    $ coffee --compile --join bundle.js -- a.coffee b.coffee c.coffee\n\nwith...\n\n    $ cat a.coffee b.coffee c.coffee | coffee --compile --stdio > bundle.js\n');
-    }
-    ref1 = opts["arguments"];
-    results = [];
-    for (i = 0, len = ref1.length; i < len; i++) {
-      source = ref1[i];
-      source = path.resolve(source);
-      results.push(compilePath(source, true, source));
-    }
-    return results;
-  };
-
-  makePrelude = function(requires) {
-    return requires.map(function(module) {
-      var _, match, name;
-      if (match = module.match(/^(.*)=(.*)$/)) {
-        _ = match[0], name = match[1], module = match[2];
-      }
-      name || (name = helpers.baseFileName(module, true, useWinPathSep));
-      return name + " = require('" + module + "')";
-    }).join(';');
-  };
-
-  compilePath = function(source, topLevel, base) {
-    var code, err, error, error1, error2, file, files, i, len, results, stats;
-    if (indexOf.call(sources, source) >= 0 || watchedDirs[source] || !topLevel && (notSources[source] || hidden(source))) {
-      return;
-    }
-    try {
-      stats = fs.statSync(source);
-    } catch (error) {
-      err = error;
-      if (err.code === 'ENOENT') {
-        console.error("File not found: " + source);
-        process.exit(1);
-      }
-      throw err;
-    }
-    if (stats.isDirectory()) {
-      if (path.basename(source) === 'node_modules') {
-        notSources[source] = true;
-        return;
-      }
-      if (opts.run) {
-        compilePath(findDirectoryIndex(source), topLevel, base);
-        return;
-      }
-      if (opts.watch) {
-        watchDir(source, base);
-      }
-      try {
-        files = fs.readdirSync(source);
-      } catch (error1) {
-        err = error1;
-        if (err.code === 'ENOENT') {
-          return;
-        } else {
-          throw err;
-        }
-      }
-      results = [];
-      for (i = 0, len = files.length; i < len; i++) {
-        file = files[i];
-        results.push(compilePath(path.join(source, file), false, base));
-      }
-      return results;
-    } else if (topLevel || helpers.isCoffee(source)) {
-      sources.push(source);
-      sourceCode.push(null);
-      delete notSources[source];
-      if (opts.watch) {
-        watch(source, base);
-      }
-      try {
-        code = fs.readFileSync(source);
-      } catch (error2) {
-        err = error2;
-        if (err.code === 'ENOENT') {
-          return;
-        } else {
-          throw err;
-        }
-      }
-      return compileScript(source, code.toString(), base);
-    } else {
-      return notSources[source] = true;
-    }
-  };
-
-  findDirectoryIndex = function(source) {
-    var err, error, ext, i, index, len, ref1;
-    ref1 = CoffeeScript.FILE_EXTENSIONS;
-    for (i = 0, len = ref1.length; i < len; i++) {
-      ext = ref1[i];
-      index = path.join(source, "index" + ext);
-      try {
-        if ((fs.statSync(index)).isFile()) {
-          return index;
-        }
-      } catch (error) {
-        err = error;
-        if (err.code !== 'ENOENT') {
-          throw err;
-        }
-      }
-    }
-    console.error("Missing index.coffee or index.litcoffee in " + source);
-    return process.exit(1);
-  };
-
-  compileScript = function(file, input, base) {
-    var compiled, err, error, message, o, options, t, task;
-    if (base == null) {
-      base = null;
-    }
-    o = opts;
-    options = compileOptions(file, base);
-    try {
-      t = task = {
-        file: file,
-        input: input,
-        options: options
-      };
-      CoffeeScript.emit('compile', task);
-      if (o.tokens) {
-        return printTokens(CoffeeScript.tokens(t.input, t.options));
-      } else if (o.nodes) {
-        return printLine(CoffeeScript.nodes(t.input, t.options).toString().trim());
-      } else if (o.run) {
-        CoffeeScript.register();
-        if (opts.prelude) {
-          CoffeeScript["eval"](opts.prelude, t.options);
-        }
-        return CoffeeScript.run(t.input, t.options);
-      } else if (o.join && t.file !== o.join) {
-        if (helpers.isLiterate(file)) {
-          t.input = helpers.invertLiterate(t.input);
-        }
-        sourceCode[sources.indexOf(t.file)] = t.input;
-        return compileJoin();
-      } else {
-        compiled = CoffeeScript.compile(t.input, t.options);
-        t.output = compiled;
-        if (o.map) {
-          t.output = compiled.js;
-          t.sourceMap = compiled.v3SourceMap;
-        }
-        CoffeeScript.emit('success', task);
-        if (o.print) {
-          return printLine(t.output.trim());
-        } else if (o.compile || o.map) {
-          return writeJs(base, t.file, t.output, options.jsPath, t.sourceMap);
-        }
-      }
-    } catch (error) {
-      err = error;
-      CoffeeScript.emit('failure', err, task);
-      if (CoffeeScript.listeners('failure').length) {
-        return;
-      }
-      message = err.stack || ("" + err);
-      if (o.watch) {
-        return printLine(message + '\x07');
-      } else {
-        printWarn(message);
-        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);
-    });
-  };
-
-  joinTimeout = null;
-
-  compileJoin = function() {
-    if (!opts.join) {
-      return;
-    }
-    if (!sourceCode.some(function(code) {
-      return code === null;
-    })) {
-      clearTimeout(joinTimeout);
-      return joinTimeout = wait(100, function() {
-        return compileScript(opts.join, sourceCode.join('\n'), opts.join);
-      });
-    }
-  };
-
-  watch = function(source, base) {
-    var compile, compileTimeout, err, error, prevStats, rewatch, startWatcher, watchErr, watcher;
-    watcher = null;
-    prevStats = null;
-    compileTimeout = null;
-    watchErr = function(err) {
-      var error;
-      if (err.code !== 'ENOENT') {
-        throw err;
-      }
-      if (indexOf.call(sources, source) < 0) {
-        return;
-      }
-      try {
-        rewatch();
-        return compile();
-      } catch (error) {
-        removeSource(source, base);
-        return compileJoin();
-      }
-    };
-    compile = function() {
-      clearTimeout(compileTimeout);
-      return compileTimeout = wait(25, function() {
-        return fs.stat(source, function(err, stats) {
-          if (err) {
-            return watchErr(err);
-          }
-          if (prevStats && stats.size === prevStats.size && stats.mtime.getTime() === prevStats.mtime.getTime()) {
-            return rewatch();
-          }
-          prevStats = stats;
-          return fs.readFile(source, function(err, code) {
-            if (err) {
-              return watchErr(err);
-            }
-            compileScript(source, code.toString(), base);
-            return rewatch();
-          });
-        });
-      });
-    };
-    startWatcher = function() {
-      return watcher = fs.watch(source).on('change', compile).on('error', function(err) {
-        if (err.code !== 'EPERM') {
-          throw err;
-        }
-        return removeSource(source, base);
-      });
-    };
-    rewatch = function() {
-      if (watcher != null) {
-        watcher.close();
-      }
-      return startWatcher();
-    };
-    try {
-      return startWatcher();
-    } catch (error) {
-      err = error;
-      return watchErr(err);
-    }
-  };
-
-  watchDir = function(source, base) {
-    var err, error, readdirTimeout, startWatcher, stopWatcher, watcher;
-    watcher = null;
-    readdirTimeout = null;
-    startWatcher = function() {
-      return watcher = fs.watch(source).on('error', function(err) {
-        if (err.code !== 'EPERM') {
-          throw err;
-        }
-        return stopWatcher();
-      }).on('change', function() {
-        clearTimeout(readdirTimeout);
-        return readdirTimeout = wait(25, function() {
-          var err, error, file, files, i, len, results;
-          try {
-            files = fs.readdirSync(source);
-          } catch (error) {
-            err = error;
-            if (err.code !== 'ENOENT') {
-              throw err;
-            }
-            return stopWatcher();
-          }
-          results = [];
-          for (i = 0, len = files.length; i < len; i++) {
-            file = files[i];
-            results.push(compilePath(path.join(source, file), false, base));
-          }
-          return results;
-        });
-      });
-    };
-    stopWatcher = function() {
-      watcher.close();
-      return removeSourceDir(source, base);
-    };
-    watchedDirs[source] = true;
-    try {
-      return startWatcher();
-    } catch (error) {
-      err = error;
-      if (err.code !== 'ENOENT') {
-        throw err;
-      }
-    }
-  };
-
-  removeSourceDir = function(source, base) {
-    var file, i, len, sourcesChanged;
-    delete watchedDirs[source];
-    sourcesChanged = false;
-    for (i = 0, len = sources.length; i < len; i++) {
-      file = sources[i];
-      if (!(source === path.dirname(file))) {
-        continue;
-      }
-      removeSource(file, base);
-      sourcesChanged = true;
-    }
-    if (sourcesChanged) {
-      return compileJoin();
-    }
-  };
-
-  removeSource = function(source, base) {
-    var index;
-    index = sources.indexOf(source);
-    sources.splice(index, 1);
-    sourceCode.splice(index, 1);
-    if (!opts.join) {
-      silentUnlink(outputPath(source, base));
-      silentUnlink(outputPath(source, base, '.js.map'));
-      return timeLog("removed " + source);
-    }
-  };
-
-  silentUnlink = function(path) {
-    var err, error, ref1;
-    try {
-      return fs.unlinkSync(path);
-    } catch (error) {
-      err = error;
-      if ((ref1 = err.code) !== 'ENOENT' && ref1 !== 'EPERM') {
-        throw err;
-      }
-    }
-  };
-
-  outputPath = function(source, base, extension) {
-    var basename, dir, srcDir;
-    if (extension == null) {
-      extension = ".js";
-    }
-    basename = helpers.baseFileName(source, true, useWinPathSep);
-    srcDir = path.dirname(source);
-    if (!opts.output) {
-      dir = srcDir;
-    } else if (source === base) {
-      dir = opts.output;
-    } else {
-      dir = path.join(opts.output, path.relative(base, srcDir));
-    }
-    return path.join(dir, basename + extension);
-  };
-
-  mkdirp = function(dir, fn) {
-    var mkdirs, mode;
-    mode = 0x1ff & ~process.umask();
-    return (mkdirs = function(p, fn) {
-      return fs.exists(p, function(exists) {
-        if (exists) {
-          return fn();
-        } else {
-          return mkdirs(path.dirname(p), function() {
-            return fs.mkdir(p, mode, function(err) {
-              if (err) {
-                return fn(err);
-              }
-              return fn();
-            });
-          });
-        }
-      });
-    })(dir, fn);
-  };
-
-  writeJs = function(base, sourcePath, js, jsPath, generatedSourceMap) {
-    var compile, jsDir, sourceMapPath;
-    if (generatedSourceMap == null) {
-      generatedSourceMap = null;
-    }
-    sourceMapPath = outputPath(sourcePath, base, ".js.map");
-    jsDir = path.dirname(jsPath);
-    compile = function() {
-      if (opts.compile) {
-        if (js.length <= 0) {
-          js = ' ';
-        }
-        if (generatedSourceMap) {
-          js = js + "\n//# sourceMappingURL=" + (helpers.baseFileName(sourceMapPath, false, useWinPathSep)) + "\n";
-        }
-        fs.writeFile(jsPath, js, function(err) {
-          if (err) {
-            printLine(err.message);
-            return process.exit(1);
-          } else if (opts.compile && opts.watch) {
-            return timeLog("compiled " + sourcePath);
-          }
-        });
-      }
-      if (generatedSourceMap) {
-        return fs.writeFile(sourceMapPath, generatedSourceMap, function(err) {
-          if (err) {
-            printLine("Could not write source map: " + err.message);
-            return process.exit(1);
-          }
-        });
-      }
-    };
-    return fs.exists(jsDir, function(itExists) {
-      if (itExists) {
-        return compile();
-      } else {
-        return mkdirp(jsDir, compile);
-      }
-    });
-  };
-
-  wait = function(milliseconds, func) {
-    return setTimeout(func, milliseconds);
-  };
-
-  timeLog = function(message) {
-    return console.log(((new Date).toLocaleTimeString()) + " - " + message);
-  };
-
-  printTokens = function(tokens) {
-    var strings, tag, token, value;
-    strings = (function() {
-      var i, len, results;
-      results = [];
-      for (i = 0, len = tokens.length; i < len; i++) {
-        token = tokens[i];
-        tag = token[0];
-        value = token[1].toString().replace(/\n/, '\\n');
-        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.map);
-    return o.print = !!(o.print || (o["eval"] || o.stdio && o.compile));
-  };
-
-  compileOptions = function(filename, base) {
-    var answer, cwd, jsDir, jsPath;
-    answer = {
-      filename: filename,
-      literate: opts.literate || helpers.isLiterate(filename),
-      bare: opts.bare,
-      header: opts.compile && !opts['no-header'],
-      sourceMap: opts.map
-    };
-    if (filename) {
-      if (base) {
-        cwd = process.cwd();
-        jsPath = outputPath(filename, base);
-        jsDir = path.dirname(jsPath);
-        answer = helpers.merge(answer, {
-          jsPath: jsPath,
-          sourceRoot: path.relative(jsDir, cwd),
-          sourceFiles: [path.relative(cwd, filename)],
-          generatedFile: helpers.baseFileName(jsPath, false, useWinPathSep)
-        });
-      } else {
-        answer = helpers.merge(answer, {
-          sourceRoot: "",
-          sourceFiles: [helpers.baseFileName(filename, false, useWinPathSep)],
-          generatedFile: helpers.baseFileName(filename, true, useWinPathSep) + ".js"
-        });
-      }
-    }
-    return answer;
-  };
-
-  forkNode = function() {
-    var args, nodeArgs, p;
-    nodeArgs = opts.nodejs.split(/\s+/);
-    args = process.argv.slice(1);
-    args.splice(args.indexOf('--nodejs'), 2);
-    p = spawn(process.execPath, nodeArgs.concat(args), {
-      cwd: process.cwd(),
-      env: process.env,
-      stdio: [0, 1, 2]
-    });
-    return p.on('exit', function(code) {
-      return process.exit(code);
-    });
-  };
-
-  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/cordova-create/blob/9fb2883e/node_modules/coffee-script/lib/coffee-script/grammar.js
----------------------------------------------------------------------
diff --git a/node_modules/coffee-script/lib/coffee-script/grammar.js b/node_modules/coffee-script/lib/coffee-script/grammar.js
deleted file mode 100644
index 3dc79d9..0000000
--- a/node_modules/coffee-script/lib/coffee-script/grammar.js
+++ /dev/null
@@ -1,665 +0,0 @@
-// Generated by CoffeeScript 1.10.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 addLocationDataFn, match, patternCount;
-    patternString = patternString.replace(/\s{2,}/g, ' ');
-    patternCount = patternString.split(' ').length;
-    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.$&');
-    addLocationDataFn = function(first, last) {
-      if (!last) {
-        return "yy.addLocationDataFn(@" + first + ")";
-      } else {
-        return "yy.addLocationDataFn(@" + first + ", @" + last + ")";
-      }
-    };
-    action = action.replace(/LOC\(([0-9]*)\)/g, addLocationDataFn('$1'));
-    action = action.replace(/LOC\(([0-9]*),\s*([0-9]*)\)/g, addLocationDataFn('$1', '$2'));
-    return [patternString, "$$ = " + (addLocationDataFn(1, patternCount)) + "(" + action + ");", options];
-  };
-
-  grammar = {
-    Root: [
-      o('', function() {
-        return new Block;
-      }), o('Body')
-    ],
-    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('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'), o('Throw')],
-    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')
-    ],
-    String: [
-      o('STRING', function() {
-        return new Literal($1);
-      }), o('STRING_START Body STRING_END', function() {
-        return new Parens($2);
-      })
-    ],
-    Regex: [
-      o('REGEX', function() {
-        return new Literal($1);
-      }), o('REGEX_START Invocation REGEX_END', function() {
-        return $2;
-      })
-    ],
-    Literal: [
-      o('AlphaNumeric'), o('JS', function() {
-        return new Literal($1);
-      }), o('Regex'), o('DEBUGGER', function() {
-        return new Literal($1);
-      }), o('UNDEFINED', function() {
-        return new Undefined;
-      }), o('NULL', function() {
-        return new Null;
-      }), o('BOOL', function() {
-        return new Bool($1);
-      })
-    ],
-    Assign: [
-      o('Assignable = Expression', function() {
-        return new Assign($1, $3);
-      }), o('Assignable = TERMINATOR Expression', function() {
-        return new Assign($1, $4);
-      }), 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(LOC(1)(new Value($1)), $3, 'object', {
-          operatorToken: LOC(2)(new Literal($2))
-        });
-      }), o('ObjAssignable : INDENT Expression OUTDENT', function() {
-        return new Assign(LOC(1)(new Value($1)), $4, 'object', {
-          operatorToken: LOC(2)(new Literal($2))
-        });
-      }), o('SimpleObjAssignable = Expression', function() {
-        return new Assign(LOC(1)(new Value($1)), $3, null, {
-          operatorToken: LOC(2)(new Literal($2))
-        });
-      }), o('SimpleObjAssignable = INDENT Expression OUTDENT', function() {
-        return new Assign(LOC(1)(new Value($1)), $4, null, {
-          operatorToken: LOC(2)(new Literal($2))
-        });
-      }), o('Comment')
-    ],
-    SimpleObjAssignable: [o('Identifier'), o('ThisProperty')],
-    ObjAssignable: [o('SimpleObjAssignable'), o('AlphaNumeric')],
-    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);
-      }), o('ParamList OptComma TERMINATOR Param', function() {
-        return $1.concat($4);
-      }), o('ParamList OptComma INDENT ParamList OptComma OUTDENT', function() {
-        return $1.concat($4);
-      })
-    ],
-    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);
-      }), o('...', function() {
-        return new Expansion;
-      })
-    ],
-    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.add($2);
-      }), o('Invocation Accessor', function() {
-        return new Value($1, [].concat($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 [LOC(1)(new Access(new Literal('prototype'))), LOC(2)(new Access($2))];
-      }), o('?:: Identifier', function() {
-        return [LOC(1)(new Access(new Literal('prototype'), 'soak')), LOC(2)(new Access($2))];
-      }), 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
-        });
-      })
-    ],
-    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 Expression', function() {
-        return new Class(null, $3);
-      }), o('CLASS EXTENDS Expression 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 Expression', function() {
-        return new Class($2, $4);
-      }), o('CLASS SimpleAssignable EXTENDS Expression 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(LOC(1)(new Literal('this')), [LOC(2)(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);
-      }), o('RangeDots', function() {
-        return new Range(null, null, $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'), o('...', function() {
-        return new Expansion;
-      })
-    ],
-    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];
-      }), o('CATCH Object Block', function() {
-        return [LOC(2)(new Value($2)), $3];
-      }), o('CATCH Block', function() {
-        return [null, $2];
-      })
-    ],
-    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(LOC(1)(Block.wrap([$1])));
-      }), o('Expression WhileSource', function() {
-        return $2.addBody(LOC(1)(Block.wrap([$1])));
-      }), o('Loop', function() {
-        return $1;
-      })
-    ],
-    Loop: [
-      o('LOOP Block', function() {
-        return new While(LOC(1)(new Literal('true'))).addBody($2);
-      }), o('LOOP Expression', function() {
-        return new While(LOC(1)(new Literal('true'))).addBody(LOC(2)(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: LOC(2)(new Value($2))
-        };
-      }), o('FOR Range BY Expression', function() {
-        return {
-          source: LOC(2)(new Value($2)),
-          step: $4
-        };
-      }), 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('ThisProperty'), 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(LOC(3, 5)(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, LOC(1)(Block.wrap([$1])), {
-          type: $2,
-          statement: true
-        });
-      }), o('Expression POST_IF Expression', function() {
-        return new If($3, LOC(1)(Block.wrap([$1])), {
-          type: $2,
-          statement: true
-        });
-      })
-    ],
-    Operation: [
-      o('UNARY Expression', function() {
-        return new Op($1, $2);
-      }), o('UNARY_MATH Expression', function() {
-        return new Op($1, $2);
-      }), o('-     Expression', (function() {
-        return new Op('-', $2);
-      }), {
-        prec: 'UNARY_MATH'
-      }), o('+     Expression', (function() {
-        return new Op('+', $2);
-      }), {
-        prec: 'UNARY_MATH'
-      }), o('YIELD Statement', function() {
-        return new Op($1, $2);
-      }), o('YIELD Expression', function() {
-        return new Op($1, $2);
-      }), o('YIELD FROM Expression', function() {
-        return new Op($1.concat($2), $3);
-      }), 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 **       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 COMPOUND_ASSIGN TERMINATOR Expression', 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'], ['right', '**'], ['right', 'UNARY_MATH'], ['left', 'MATH'], ['left', '+', '-'], ['left', 'SHIFT'], ['left', 'RELATION'], ['left', 'COMPARE'], ['left', 'LOGIC'], ['nonassoc', 'INDENT', 'OUTDENT'], ['right', 'YIELD'], ['right', '=', ':', 'COMPOUND_ASSIGN', 'RETURN', 'THROW', 'EXTENDS'], ['right', 'FORIN', 'FOROF', 'BY', 'WHEN'], ['right', 'IF', 'ELSE', 'FOR', 'WHILE', 'UNTIL', 'LOOP', 'SUPER', 'CLASS'], ['left', 'POST_IF']];
-
-  tokens = [];
-
-  for (name in grammar) {
-    alternatives = grammar[name];
-    grammar[name] = (function() {
-      var i, j, len, len1, ref, results;
-      results = [];
-      for (i = 0, len = alternatives.length; i < len; i++) {
-        alt = alternatives[i];
-        ref = alt[0].split(' ');
-        for (j = 0, len1 = ref.length; j < len1; 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/cordova-create/blob/9fb2883e/node_modules/coffee-script/lib/coffee-script/helpers.js
----------------------------------------------------------------------
diff --git a/node_modules/coffee-script/lib/coffee-script/helpers.js b/node_modules/coffee-script/lib/coffee-script/helpers.js
deleted file mode 100644
index 6e3d13b..0000000
--- a/node_modules/coffee-script/lib/coffee-script/helpers.js
+++ /dev/null
@@ -1,248 +0,0 @@
-// Generated by CoffeeScript 1.10.0
-(function() {
-  var buildLocationData, extend, flatten, ref, repeat, syntaxErrorToString;
-
-  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.repeat = repeat = function(str, n) {
-    var res;
-    res = '';
-    while (n > 0) {
-      if (n & 1) {
-        res += str;
-      }
-      n >>>= 1;
-      str += str;
-    }
-    return res;
-  };
-
-  exports.compact = function(array) {
-    var i, item, len1, results;
-    results = [];
-    for (i = 0, len1 = array.length; i < len1; 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, len1;
-    flattened = [];
-    for (i = 0, len1 = array.length; i < len1; i++) {
-      element = array[i];
-      if ('[object Array]' === Object.prototype.toString.call(element)) {
-        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.some = (ref = Array.prototype.some) != null ? ref : function(fn) {
-    var e, i, len1;
-    for (i = 0, len1 = this.length; i < len1; i++) {
-      e = this[i];
-      if (fn(e)) {
-        return true;
-      }
-    }
-    return false;
-  };
-
-  exports.invertLiterate = function(code) {
-    var line, lines, maybe_code;
-    maybe_code = true;
-    lines = (function() {
-      var i, len1, ref1, results;
-      ref1 = code.split('\n');
-      results = [];
-      for (i = 0, len1 = ref1.length; i < len1; i++) {
-        line = ref1[i];
-        if (maybe_code && /^([ ]{4}|[ ]{0,3}\t)/.test(line)) {
-          results.push(line);
-        } else if (maybe_code = /^\s*$/.test(line)) {
-          results.push(line);
-        } else {
-          results.push('# ' + line);
-        }
-      }
-      return results;
-    })();
-    return lines.join('\n');
-  };
-
-  buildLocationData = function(first, last) {
-    if (!last) {
-      return first;
-    } else {
-      return {
-        first_line: first.first_line,
-        first_column: first.first_column,
-        last_line: last.last_line,
-        last_column: last.last_column
-      };
-    }
-  };
-
-  exports.addLocationDataFn = function(first, last) {
-    return function(obj) {
-      if (((typeof obj) === 'object') && (!!obj['updateLocationDataIfMissing'])) {
-        obj.updateLocationDataIfMissing(buildLocationData(first, last));
-      }
-      return obj;
-    };
-  };
-
-  exports.locationDataToString = function(obj) {
-    var locationData;
-    if (("2" in obj) && ("first_line" in obj[2])) {
-      locationData = obj[2];
-    } else if ("first_line" in obj) {
-      locationData = obj;
-    }
-    if (locationData) {
-      return ((locationData.first_line + 1) + ":" + (locationData.first_column + 1) + "-") + ((locationData.last_line + 1) + ":" + (locationData.last_column + 1));
-    } else {
-      return "No location data";
-    }
-  };
-
-  exports.baseFileName = function(file, stripExt, useWinPathSep) {
-    var parts, pathSep;
-    if (stripExt == null) {
-      stripExt = false;
-    }
-    if (useWinPathSep == null) {
-      useWinPathSep = false;
-    }
-    pathSep = useWinPathSep ? /\\|\// : /\//;
-    parts = file.split(pathSep);
-    file = parts[parts.length - 1];
-    if (!(stripExt && file.indexOf('.') >= 0)) {
-      return file;
-    }
-    parts = file.split('.');
-    parts.pop();
-    if (parts[parts.length - 1] === 'coffee' && parts.length > 1) {
-      parts.pop();
-    }
-    return parts.join('.');
-  };
-
-  exports.isCoffee = function(file) {
-    return /\.((lit)?coffee|coffee\.md)$/.test(file);
-  };
-
-  exports.isLiterate = function(file) {
-    return /\.(litcoffee|coffee\.md)$/.test(file);
-  };
-
-  exports.throwSyntaxError = function(message, location) {
-    var error;
-    error = new SyntaxError(message);
-    error.location = location;
-    error.toString = syntaxErrorToString;
-    error.stack = error.toString();
-    throw error;
-  };
-
-  exports.updateSyntaxError = function(error, code, filename) {
-    if (error.toString === syntaxErrorToString) {
-      error.code || (error.code = code);
-      error.filename || (error.filename = filename);
-      error.stack = error.toString();
-    }
-    return error;
-  };
-
-  syntaxErrorToString = function() {
-    var codeLine, colorize, colorsEnabled, end, filename, first_column, first_line, last_column, last_line, marker, ref1, ref2, ref3, ref4, start;
-    if (!(this.code && this.location)) {
-      return Error.prototype.toString.call(this);
-    }
-    ref1 = this.location, first_line = ref1.first_line, first_column = ref1.first_column, last_line = ref1.last_line, last_column = ref1.last_column;
-    if (last_line == null) {
-      last_line = first_line;
-    }
-    if (last_column == null) {
-      last_column = first_column;
-    }
-    filename = this.filename || '[stdin]';
-    codeLine = this.code.split('\n')[first_line];
-    start = first_column;
-    end = first_line === last_line ? last_column + 1 : codeLine.length;
-    marker = codeLine.slice(0, start).replace(/[^\s]/g, ' ') + repeat('^', end - start);
-    if (typeof process !== "undefined" && process !== null) {
-      colorsEnabled = ((ref2 = process.stdout) != null ? ref2.isTTY : void 0) && !((ref3 = process.env) != null ? ref3.NODE_DISABLE_COLORS : void 0);
-    }
-    if ((ref4 = this.colorful) != null ? ref4 : colorsEnabled) {
-      colorize = function(str) {
-        return "\x1B[1;31m" + str + "\x1B[0m";
-      };
-      codeLine = codeLine.slice(0, start) + colorize(codeLine.slice(start, end)) + codeLine.slice(end);
-      marker = colorize(marker);
-    }
-    return filename + ":" + (first_line + 1) + ":" + (first_column + 1) + ": error: " + this.message + "\n" + codeLine + "\n" + marker;
-  };
-
-  exports.nameWhitespaceCharacter = function(string) {
-    switch (string) {
-      case ' ':
-        return 'space';
-      case '\n':
-        return 'newline';
-      case '\r':
-        return 'carriage return';
-      case '\t':
-        return 'tab';
-      default:
-        return string;
-    }
-  };
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/coffee-script/lib/coffee-script/index.js
----------------------------------------------------------------------
diff --git a/node_modules/coffee-script/lib/coffee-script/index.js b/node_modules/coffee-script/lib/coffee-script/index.js
deleted file mode 100644
index bcfc8ac..0000000
--- a/node_modules/coffee-script/lib/coffee-script/index.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// Generated by CoffeeScript 1.10.0
-(function() {
-  var key, ref, val;
-
-  ref = require('./coffee-script');
-  for (key in ref) {
-    val = ref[key];
-    exports[key] = val;
-  }
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/cordova-create/blob/9fb2883e/node_modules/coffee-script/lib/coffee-script/lexer.js
----------------------------------------------------------------------
diff --git a/node_modules/coffee-script/lib/coffee-script/lexer.js b/node_modules/coffee-script/lib/coffee-script/lexer.js
deleted file mode 100644
index 857bf29..0000000
--- a/node_modules/coffee-script/lib/coffee-script/lexer.js
+++ /dev/null
@@ -1,1011 +0,0 @@
-// Generated by CoffeeScript 1.10.0
-(function() {
-  var BOM, BOOL, CALLABLE, CODE, COFFEE_ALIASES, COFFEE_ALIAS_MAP, COFFEE_KEYWORDS, COMMENT, COMPARE, COMPOUND_ASSIGN, HERECOMMENT_ILLEGAL, HEREDOC_DOUBLE, HEREDOC_INDENT, HEREDOC_SINGLE, HEREGEX, HEREGEX_OMIT, IDENTIFIER, INDENTABLE_CLOSERS, INDEXABLE, INVALID_ESCAPE, INVERSES, JSTOKEN, JS_FORBIDDEN, JS_KEYWORDS, LEADING_BLANK_LINE, LINE_BREAK, LINE_CONTINUER, LOGIC, Lexer, MATH, MULTI_DENT, NOT_REGEX, NUMBER, OPERATOR, POSSIBLY_DIVISION, REGEX, REGEX_FLAGS, REGEX_ILLEGAL, RELATION, RESERVED, Rewriter, SHIFT, SIMPLE_STRING_OMIT, STRICT_PROSCRIBED, STRING_DOUBLE, STRING_OMIT, STRING_SINGLE, STRING_START, TRAILING_BLANK_LINE, TRAILING_SPACES, UNARY, UNARY_MATH, VALID_FLAGS, WHITESPACE, compact, count, invertLiterate, key, locationDataToString, ref, ref1, repeat, starts, throwSyntaxError,
-    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
-
-  ref = require('./rewriter'), Rewriter = ref.Rewriter, INVERSES = ref.INVERSES;
-
-  ref1 = require('./helpers'), count = ref1.count, starts = ref1.starts, compact = ref1.compact, repeat = ref1.repeat, invertLiterate = ref1.invertLiterate, locationDataToString = ref1.locationDataToString, throwSyntaxError = ref1.throwSyntaxError;
-
-  exports.Lexer = Lexer = (function() {
-    function Lexer() {}
-
-    Lexer.prototype.tokenize = function(code, opts) {
-      var consumed, end, i, ref2;
-      if (opts == null) {
-        opts = {};
-      }
-      this.literate = opts.literate;
-      this.indent = 0;
-      this.baseIndent = 0;
-      this.indebt = 0;
-      this.outdebt = 0;
-      this.indents = [];
-      this.ends = [];
-      this.tokens = [];
-      this.seenFor = false;
-      this.chunkLine = opts.line || 0;
-      this.chunkColumn = opts.column || 0;
-      code = this.clean(code);
-      i = 0;
-      while (this.chunk = code.slice(i)) {
-        consumed = this.identifierToken() || this.commentToken() || this.whitespaceToken() || this.lineToken() || this.stringToken() || this.numberToken() || this.regexToken() || this.jsToken() || this.literalToken();
-        ref2 = this.getLineAndColumnFromChunk(consumed), this.chunkLine = ref2[0], this.chunkColumn = ref2[1];
-        i += consumed;
-        if (opts.untilBalanced && this.ends.length === 0) {
-          return {
-            tokens: this.tokens,
-            index: i
-          };
-        }
-      }
-      this.closeIndentation();
-      if (end = this.ends.pop()) {
-        this.error("missing " + end.tag, end.origin[2]);
-      }
-      if (opts.rewrite === false) {
-        return this.tokens;
-      }
-      return (new Rewriter).rewrite(this.tokens);
-    };
-
-    Lexer.prototype.clean = function(code) {
-      if (code.charCodeAt(0) === BOM) {
-        code = code.slice(1);
-      }
-      code = code.replace(/\r/g, '').replace(TRAILING_SPACES, '');
-      if (WHITESPACE.test(code)) {
-        code = "\n" + code;
-        this.chunkLine--;
-      }
-      if (this.literate) {
-        code = invertLiterate(code);
-      }
-      return code;
-    };
-
-    Lexer.prototype.identifierToken = function() {
-      var alias, colon, colonOffset, forcedIdentifier, id, idLength, input, match, poppedToken, prev, ref2, ref3, ref4, ref5, tag, tagToken;
-      if (!(match = IDENTIFIER.exec(this.chunk))) {
-        return 0;
-      }
-      input = match[0], id = match[1], colon = match[2];
-      idLength = id.length;
-      poppedToken = void 0;
-      if (id === 'own' && this.tag() === 'FOR') {
-        this.token('OWN', id);
-        return id.length;
-      }
-      if (id === 'from' && this.tag() === 'YIELD') {
-        this.token('FROM', id);
-        return id.length;
-      }
-      ref2 = this.tokens, prev = ref2[ref2.length - 1];
-      forcedIdentifier = colon || (prev != null) && (((ref3 = prev[0]) === '.' || ref3 === '?.' || ref3 === '::' || ref3 === '?::') || !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' && (ref4 = this.tag(), indexOf.call(LINE_BREAK, ref4) >= 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() === '!') {
-              poppedToken = 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.error("reserved word '" + id + "'", {
-            length: id.length
-          });
-        }
-      }
-      if (!forcedIdentifier) {
-        if (indexOf.call(COFFEE_ALIASES, id) >= 0) {
-          alias = id;
-          id = COFFEE_ALIAS_MAP[id];
-        }
-        tag = (function() {
-          switch (id) {
-            case '!':
-              return 'UNARY';
-            case '==':
-            case '!=':
-              return 'COMPARE';
-            case '&&':
-            case '||':
-              return 'LOGIC';
-            case 'true':
-            case 'false':
-              return 'BOOL';
-            case 'break':
-            case 'continue':
-              return 'STATEMENT';
-            default:
-              return tag;
-          }
-        })();
-      }
-      tagToken = this.token(tag, id, 0, idLength);
-      if (alias) {
-        tagToken.origin = [tag, alias, tagToken[2]];
-      }
-      tagToken.variable = !forcedIdentifier;
-      if (poppedToken) {
-        ref5 = [poppedToken[2].first_line, poppedToken[2].first_column], tagToken[2].first_line = ref5[0], tagToken[2].first_column = ref5[1];
-      }
-      if (colon) {
-        colonOffset = input.lastIndexOf(':');
-        this.token(':', ':', colonOffset, colon.length);
-      }
-      return input.length;
-    };
-
-    Lexer.prototype.numberToken = function() {
-      var binaryLiteral, lexedLength, match, number, octalLiteral;
-      if (!(match = NUMBER.exec(this.chunk))) {
-        return 0;
-      }
-      number = match[0];
-      lexedLength = number.length;
-      if (/^0[BOX]/.test(number)) {
-        this.error("radix prefix in '" + number + "' must be lowercase", {
-          offset: 1
-        });
-      } else if (/E/.test(number) && !/^0x/.test(number)) {
-        this.error("exponential notation in '" + number + "' must be indicated with a lowercase 'e'", {
-          offset: number.indexOf('E')
-        });
-      } else if (/^0\d*[89]/.test(number)) {
-        this.error("decimal literal '" + number + "' must not be prefixed with '0'", {
-          length: lexedLength
-        });
-      } else if (/^0\d+/.test(number)) {
-        this.error("octal literal '" + number + "' must be prefixed with '0o'", {
-          length: lexedLength
-        });
-      }
-      if (octalLiteral = /^0o([0-7]+)/.exec(number)) {
-        number = '0x' + parseInt(octalLiteral[1], 8).toString(16);
-      }
-      if (binaryLiteral = /^0b([01]+)/.exec(number)) {
-        number = '0x' + parseInt(binaryLiteral[1], 2).toString(16);
-      }
-      this.token('NUMBER', number, 0, lexedLength);
-      return lexedLength;
-    };
-
-    Lexer.prototype.stringToken = function() {
-      var $, attempt, delimiter, doc, end, heredoc, i, indent, indentRegex, match, quote, ref2, ref3, regex, token, tokens;
-      quote = (STRING_START.exec(this.chunk) || [])[0];
-      if (!quote) {
-        return 0;
-      }
-      regex = (function() {
-        switch (quote) {
-          case "'":
-            return STRING_SINGLE;
-          case '"':
-            return STRING_DOUBLE;
-          case "'''":
-            return HEREDOC_SINGLE;
-          case '"""':
-            return HEREDOC_DOUBLE;
-        }
-      })();
-      heredoc = quote.length === 3;
-      ref2 = this.matchWithInterpolations(regex, quote), tokens = ref2.tokens, end = ref2.index;
-      $ = tokens.length - 1;
-      delimiter = quote.charAt(0);
-      if (heredoc) {
-        indent = null;
-        doc = ((function() {
-          var j, len, results;
-          results = [];
-          for (i = j = 0, len = tokens.length; j < len; i = ++j) {
-            token = tokens[i];
-            if (token[0] === 'NEOSTRING') {
-              results.push(token[1]);
-            }
-          }
-          return results;
-        })()).join('#{}');
-        while (match = HEREDOC_INDENT.exec(doc)) {
-          attempt = match[1];
-          if (indent === null || (0 < (ref3 = attempt.length) && ref3 < indent.length)) {
-            indent = attempt;
-          }
-        }
-        if (indent) {
-          indentRegex = RegExp("^" + indent, "gm");
-        }
-        this.mergeInterpolationTokens(tokens, {
-          delimiter: delimiter
-        }, (function(_this) {
-          return function(value, i) {
-            value = _this.formatString(value);
-            if (i === 0) {
-              value = value.replace(LEADING_BLANK_LINE, '');
-            }
-            if (i === $) {
-              value = value.replace(TRAILING_BLANK_LINE, '');
-            }
-            if (indentRegex) {
-              value = value.replace(indentRegex, '');
-            }
-            return value;
-          };
-        })(this));
-      } else {
-        this.mergeInterpolationTokens(tokens, {
-          delimiter: delimiter
-        }, (function(_this) {
-          return function(value, i) {
-            value = _this.formatString(value);
-            value = value.replace(SIMPLE_STRING_OMIT, function(match, offset) {
-              if ((i === 0 && offset === 0) || (i === $ && offset + match.length === value.length)) {
-                return '';
-              } else {
-                return ' ';
-              }
-            });
-            return value;
-          };
-        })(this));
-      }
-      return end;
-    };
-
-    Lexer.prototype.commentToken = function() {
-      var comment, here, match;
-      if (!(match = this.chunk.match(COMMENT))) {
-        return 0;
-      }
-      comment = match[0], here = match[1];
-      if (here) {
-        if (match = HERECOMMENT_ILLEGAL.exec(comment)) {
-          this.error("block comments cannot contain " + match[0], {
-            offset: match.index,
-            length: match[0].length
-          });
-        }
-        if (here.indexOf('\n') >= 0) {
-          here = here.replace(RegExp("\\n" + (repeat(' ', this.indent)), "g"), '\n');
-        }
-        this.token('HERECOMMENT', here, 0, comment.length);
-      }
-      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), 0, script.length);
-      return script.length;
-    };
-
-    Lexer.prototype.regexToken = function() {
-      var body, closed, end, flags, index, match, origin, prev, ref2, ref3, ref4, regex, tokens;
-      switch (false) {
-        case !(match = REGEX_ILLEGAL.exec(this.chunk)):
-          this.error("regular expressions cannot begin with " + match[2], {
-            offset: match.index + match[1].length
-          });
-          break;
-        case !(match = this.matchWithInterpolations(HEREGEX, '///')):
-          tokens = match.tokens, index = match.index;
-          break;
-        case !(match = REGEX.exec(this.chunk)):
-          regex = match[0], body = match[1], closed = match[2];
-          this.validateEscapes(body, {
-            isRegex: true,
-            offsetInChunk: 1
-          });
-          index = regex.length;
-          ref2 = this.tokens, prev = ref2[ref2.length - 1];
-          if (prev) {
-            if (prev.spaced && (ref3 = prev[0], indexOf.call(CALLABLE, ref3) >= 0)) {
-              if (!closed || POSSIBLY_DIVISION.test(regex)) {
-                return 0;
-              }
-            } else if (ref4 = prev[0], indexOf.call(NOT_REGEX, ref4) >= 0) {
-              return 0;
-            }
-          }
-          if (!closed) {
-            this.error('missing / (unclosed regex)');
-          }
-          break;
-        default:
-          return 0;
-      }
-      flags = REGEX_FLAGS.exec(this.chunk.slice(index))[0];
-      end = index + flags.length;
-      origin = this.makeToken('REGEX', null, 0, end);
-      switch (false) {
-        case !!VALID_FLAGS.test(flags):
-          this.error("invalid regular expression flags " + flags, {
-            offset: index,
-            length: flags.length
-          });
-          break;
-        case !(regex || tokens.length === 1):
-          if (body == null) {
-            body = this.formatHeregex(tokens[0][1]);
-          }
-          this.token('REGEX', "" + (this.makeDelimitedLiteral(body, {
-            delimiter: '/'
-          })) + flags, 0, end, origin);
-          break;
-        default:
-          this.token('REGEX_START', '(', 0, 0, origin);
-          this.token('IDENTIFIER', 'RegExp', 0, 0);
-          this.token('CALL_START', '(', 0, 0);
-          this.mergeInterpolationTokens(tokens, {
-            delimiter: '"',
-            double: true
-          }, this.formatHeregex);
-          if (flags) {
-            this.token(',', ',', index, 0);
-            this.token('STRING', '"' + flags + '"', index, flags.length);
-          }
-          this.token(')', ')', end, 0);
-          this.token('REGEX_END', ')', end, 0);
-      }
-      return end;
-    };
-
-    Lexer.prototype.lineToken = function() {
-      var diff, indent, match, noNewlines, size;
-      if (!(match = MULTI_DENT.exec(this.chunk))) {
-        return 0;
-      }
-      indent = match[0];
-      this.seenFor = false;
-      size = indent.length - 1 - indent.lastIndexOf('\n');
-      noNewlines = this.unfinished();
-      if (size - this.indebt === this.indent) {
-        if (noNewlines) {
-          this.suppressNewlines();
-        } else {
-          this.newlineToken(0);
-        }
-        return indent.length;
-      }
-      if (size > this.indent) {
-        if (noNewlines) {
-          this.indebt = size - this.indent;
-          this.suppressNewlines();
-          return indent.length;
-        }
-        if (!this.tokens.length) {
-          this.baseIndent = this.indent = size;
-          return indent.length;
-        }
-        diff = size - this.indent + this.outdebt;
-        this.token('INDENT', diff, indent.length - size, size);
-        this.indents.push(diff);
-        this.ends.push({
-          tag: 'OUTDENT'
-        });
-        this.outdebt = this.indebt = 0;
-        this.indent = size;
-      } else if (size < this.baseIndent) {
-        this.error('missing indentation', {
-          offset: indent.length
-        });
-      } else {
-        this.indebt = 0;
-        this.outdentToken(this.indent - size, noNewlines, indent.length);
-      }
-      return indent.length;
-    };
-
-    Lexer.prototype.outdentToken = function(moveOut, noNewlines, outdentLength) {
-      var decreasedIndent, dent, lastIndent, ref2;
-      decreasedIndent = this.indent - moveOut;
-      while (moveOut > 0) {
-        lastIndent = this.indents[this.indents.length - 1];
-        if (!lastIndent) {
-          moveOut = 0;
-        } else if (lastIndent === this.outdebt) {
-          moveOut -= this.outdebt;
-          this.outdebt = 0;
-        } else if (lastIndent < this.outdebt) {
-          this.outdebt -= lastIndent;
-          moveOut -= lastIndent;
-        } else {
-          dent = this.indents.pop() + this.outdebt;
-          if (outdentLength && (ref2 = this.chunk[outdentLength], indexOf.call(INDENTABLE_CLOSERS, ref2) >= 0)) {
-            decreasedIndent -= dent - moveOut;
-            moveOut = dent;
-          }
-          this.outdebt = 0;
-          this.pair('OUTDENT');
-          this.token('OUTDENT', moveOut, 0, outdentLength);
-          moveOut -= dent;
-        }
-      }
-      if (dent) {
-        this.outdebt -= moveOut;
-      }
-      while (this.value() === ';') {
-        this.tokens.pop();
-      }
-      if (!(this.tag() === 'TERMINATOR' || noNewlines)) {
-        this.token('TERMINATOR', '\n', outdentLength, 0);
-      }
-      this.indent = decreasedIndent;
-      return this;
-    };
-
-    Lexer.prototype.whitespaceToken = function() {
-      var match, nline, prev, ref2;
-      if (!((match = WHITESPACE.exec(this.chunk)) || (nline = this.chunk.charAt(0) === '\n'))) {
-        return 0;
-      }
-      ref2 = this.tokens, prev = ref2[ref2.length - 1];
-      if (prev) {
-        prev[match ? 'spaced' : 'newLine'] = true;
-      }
-      if (match) {
-        return match[0].length;
-      } else {
-        return 0;
-      }
-    };
-
-    Lexer.prototype.newlineToken = function(offset) {
-      while (this.value() === ';') {
-        this.tokens.pop();
-      }
-      if (this.tag() !== 'TERMINATOR') {
-        this.token('TERMINATOR', '\n', offset, 0);
-      }
-      return this;
-    };
-
-    Lexer.prototype.suppressNewlines = function() {
-      if (this.value() === '\\') {
-        this.tokens.pop();
-      }
-      return this;
-    };
-
-    Lexer.prototype.literalToken = function() {
-      var match, prev, ref2, ref3, ref4, ref5, ref6, tag, token, value;
-      if (match = OPERATOR.exec(this.chunk)) {
-        value = match[0];
-        if (CODE.test(value)) {
-          this.tagParameters();
-        }
-      } else {
-        value = this.chunk.charAt(0);
-      }
-      tag = value;
-      ref2 = this.tokens, prev = ref2[ref2.length - 1];
-      if (value === '=' && prev) {
-        if (!prev[1].reserved && (ref3 = prev[1], indexOf.call(JS_FORBIDDEN, ref3) >= 0)) {
-          if (prev.origin) {
-            prev = prev.origin;
-          }
-          this.error("reserved word '" + prev[1] + "' can't be assigned", prev[2]);
-        }
-        if ((ref4 = prev[1]) === '||' || ref4 === '&&') {
-          prev[0] = 'COMPOUND_ASSIGN';
-          prev[1] += '=';
-          return value.length;
-        }
-      }
-      if (value === ';') {
-        this.seenFor = false;
-        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(UNARY_MATH, value) >= 0) {
-        tag = 'UNARY_MATH';
-      } 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 === '(' && (ref5 = prev[0], indexOf.call(CALLABLE, ref5) >= 0)) {
-          if (prev[0] === '?') {
-            prev[0] = 'FUNC_EXIST';
-          }
-          tag = 'CALL_START';
-        } else if (value === '[' && (ref6 = prev[0], indexOf.call(INDEXABLE, ref6) >= 0)) {
-          tag = 'INDEX_START';
-          switch (prev[0]) {
-            case '?':
-              prev[0] = 'INDEX_SOAK';
-          }
-        }
-      }
-      token = this.makeToken(tag, value);
-      switch (value) {
-        case '(':
-        case '{':
-        case '[':
-          this.ends.push({
-            tag: INVERSES[value],
-            origin: token
-          });
-          break;
-        case ')':
-        case '}':
-        case ']':
-          this.pair(value);
-      }
-      this.tokens.push(token);
-      return value.length;
-    };
-
-    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.matchWithInterpolations = function(regex, delimiter) {
-      var close, column, firstToken, index, lastToken, line, nested, offsetInChunk, open, ref2, ref3, ref4, str, strPart, tokens;
-      tokens = [];
-      offsetInChunk = delimiter.length;
-      if (this.chunk.slice(0, offsetInChunk) !== delimiter) {
-        return null;
-      }
-      str = this.chunk.slice(offsetInChunk);
-      while (true) {
-        strPart = regex.exec(str)[0];
-        this.validateEscapes(strPart, {
-          isRegex: delimiter.charAt(0) === '/',
-          offsetInChunk: offsetInChunk
-        });
-        tokens.push(this.makeToken('NEOSTRING', strPart, offsetInChunk));
-        str = str.slice(strPart.length);
-        offsetInChunk += strPart.length;
-        if (str.slice(0, 2) !== '#{') {
-          break;
-        }
-        ref2 = this.getLineAndColumnFromChunk(offsetInChunk + 1), line = ref2[0], column = ref2[1];
-        ref3 = new Lexer().tokenize(str.slice(1), {
-          line: line,
-          column: column,
-          untilBalanced: true
-        }), nested = ref3.tokens, index = ref3.index;
-        index += 1;
-        open = nested[0], close = nested[nested.length - 1];
-        open[0] = open[1] = '(';
-        close[0] = close[1] = ')';
-        close.origin = ['', 'end of interpolation', close[2]];
-        if (((ref4 = nested[1]) != null ? ref4[0] : void 0) === 'TERMINATOR') {
-          nested.splice(1, 1);
-        }
-        tokens.push(['TOKENS', nested]);
-        str = str.slice(index);
-        offsetInChunk += index;
-      }
-      if (str.slice(0, delimiter.length) !== delimiter) {
-        this.error("missing " + delimiter, {
-          length: delimiter.length
-        });
-      }
-      firstToken = tokens[0], lastToken = tokens[tokens.length - 1];
-      firstToken[2].first_column -= delimiter.length;
-      lastToken[2].last_column += delimiter.length;
-      if (lastToken[1].length === 0) {
-        lastToken[2].last_column -= 1;
-      }
-      return {
-        tokens: tokens,
-        index: offsetInChunk + delimiter.length
-      };
-    };
-
-    Lexer.prototype.mergeInterpolationTokens = function(tokens, options, fn) {
-      var converted, firstEmptyStringIndex, firstIndex, i, j, lastToken, len, locationToken, lparen, plusToken, ref2, rparen, tag, token, tokensToPush, value;
-      if (tokens.length > 1) {
-        lparen = this.token('STRING_START', '(', 0, 0);
-      }
-      firstIndex = this.tokens.length;
-      for (i = j = 0, len = tokens.length; j < len; i = ++j) {
-        token = tokens[i];
-        tag = token[0], value = token[1];
-        switch (tag) {
-          case 'TOKENS':
-            if (value.length === 2) {
-              continue;
-            }
-            locationToken = value[0];
-            tokensToPush = value;
-            break;
-          case 'NEOSTRING':
-            converted = fn(token[1], i);
-            if (converted.length === 0) {
-              if (i === 0) {
-                firstEmptyStringIndex = this.tokens.length;
-              } else {
-                continue;
-              }
-            }
-            if (i === 2 && (firstEmptyStringIndex != null)) {
-              this.tokens.splice(firstEmptyStringIndex, 2);
-            }
-            token[0] = 'STRING';
-            token[1] = this.makeDelimitedLiteral(converted, options);
-            locationToken = token;
-            tokensToPush = [token];
-        }
-        if (this.tokens.length > firstIndex) {
-          plusToken = this.token('+', '+');
-          plusToken[2] = {
-            first_line: locationToken[2].first_line,
-            first_column: locationToken[2].first_column,
-            last_line: locationToken[2].first_line,
-            last_column: locationToken[2].first_column
-          };
-        }
-        (ref2 = this.tokens).push.apply(ref2, tokensToPush);
-      }
-      if (lparen) {
-        lastToken = tokens[tokens.length - 1];
-        lparen.origin = [
-          'STRING', null, {
-            first_line: lparen[2].first_line,
-            first_column: lparen[2].first_column,
-            last_line: lastToken[2].last_line,
-            last_column: lastToken[2].last_column
-          }
-        ];
-        rparen = this.token('STRING_END', ')');
-        return rparen[2] = {
-          first_line: lastToken[2].last_line,
-          first_column: lastToken[2].last_column,
-          last_line: lastToken[2].last_line,
-          last_column: lastToken[2].last_column
-        };
-      }
-    };
-
-    Lexer.prototype.pair = function(tag) {
-      var lastIndent, prev, ref2, ref3, wanted;
-      ref2 = this.ends, prev = ref2[ref2.length - 1];
-      if (tag !== (wanted = prev != null ? prev.tag : void 0)) {
-        if ('OUTDENT' !== wanted) {
-          this.error("unmatched " + tag);
-        }
-        ref3 = this.indents, lastIndent = ref3[ref3.length - 1];
-        this.outdentToken(lastIndent, true);
-        return this.pair(tag);
-      }
-      return this.ends.pop();
-    };
-
-    Lexer.prototype.getLineAndColumnFromChunk = function(offset) {
-      var column, lastLine, lineCount, ref2, string;
-      if (offset === 0) {
-        return [this.chunkLine, this.chunkColumn];
-      }
-      if (offset >= this.chunk.length) {
-        string = this.chunk;
-      } else {
-        string = this.chunk.slice(0, +(offset - 1) + 1 || 9e9);
-      }
-      lineCount = count(string, '\n');
-      column = this.chunkColumn;
-      if (lineCount > 0) {
-        ref2 = string.split('\n'), lastLine = ref2[ref2.length - 1];
-        column = lastLine.length;
-      } else {
-        column += string.length;
-      }
-      return [this.chunkLine + lineCount, column];
-    };
-
-    Lexer.prototype.makeToken = function(tag, value, offsetInChunk, length) {
-      var lastCharacter, locationData, ref2, ref3, token;
-      if (offsetInChunk == null) {
-        offsetInChunk = 0;
-      }
-      if (length == null) {
-        length = value.length;
-      }
-      locationData = {};
-      ref2 = this.getLineAndColumnFromChunk(offsetInChunk), locationData.first_line = ref2[0], locationData.first_column = ref2[1];
-      lastCharacter = Math.max(0, length - 1);
-      ref3 = this.getLineAndColumnFromChunk(offsetInChunk + lastCharacter), locationData.last_line = ref3[0], locationData.last_column = ref3[1];
-      token = [tag, value, locationData];
-      return token;
-    };
-
-    Lexer.prototype.token = function(tag, value, offsetInChunk, length, origin) {
-      var token;
-      token = this.makeToken(tag, value, offsetInChunk, length);
-      if (origin) {
-        token.origin = origin;
-      }
-      this.tokens.push(token);
-      return token;
-    };
-
-    Lexer.prototype.tag = function() {
-      var ref2, token;
-      ref2 = this.tokens, token = ref2[ref2.length - 1];
-      return token != null ? token[0] : void 0;
-    };
-
-    Lexer.prototype.value = function() {
-      var ref2, token;
-      ref2 = this.tokens, token = ref2[ref2.length - 1];
-      return token != null ? token[1] : void 0;
-    };
-
-    Lexer.prototype.unfinished = function() {
-      var ref2;
-      return LINE_CONTINUER.test(this.chunk) || ((ref2 = this.tag()) === '\\' || ref2 === '.' || ref2 === '?.' || ref2 === '?::' || ref2 === 'UNARY' || ref2 === 'MATH' || ref2 === 'UNARY_MATH' || ref2 === '+' || ref2 === '-' || ref2 === 'YIELD' || ref2 === '**' || ref2 === 'SHIFT' || ref2 === 'RELATION' || ref2 === 'COMPARE' || ref2 === 'LOGIC' || ref2 === 'THROW' || ref2 === 'EXTENDS');
-    };
-
-    Lexer.prototype.formatString = function(str) {
-      return str.replace(STRING_OMIT, '$1');
-    };
-
-    Lexer.prototype.formatHeregex = function(str) {
-      return str.replace(HEREGEX_OMIT, '$1$2');
-    };
-
-    Lexer.prototype.validateEscapes = function(str, options) {
-      var before, hex, invalidEscape, match, message, octal, ref2, unicode;
-      if (options == null) {
-        options = {};
-      }
-      match = INVALID_ESCAPE.exec(str);
-      if (!match) {
-        return;
-      }
-      match[0], before = match[1], octal = match[2], hex = match[3], unicode = match[4];
-      if (options.isRegex && octal && octal.charAt(0) !== '0') {
-        return;
-      }
-      message = octal ? "octal escape sequences are not allowed" : "invalid escape sequence";
-      invalidEscape = "\\" + (octal || hex || unicode);
-      return this.error(message + " " + invalidEscape, {
-        offset: ((ref2 = options.offsetInChunk) != null ? ref2 : 0) + match.index + before.length,
-        length: invalidEscape.length
-      });
-    };
-
-    Lexer.prototype.makeDelimitedLiteral = function(body, options) {
-      var regex;
-      if (options == null) {
-        options = {};
-      }
-      if (body === '' && options.delimiter === '/') {
-        body = '(?:)';
-      }
-      regex = RegExp("(\\\\\\\\)|(\\\\0(?=[1-7]))|\\\\?(" + options.delimiter + ")|\\\\?(?:(\\n)|(\\r)|(\\u2028)|(\\u2029))|(\\\\.)", "g");
-      body = body.replace(regex, function(match, backslash, nul, delimiter, lf, cr, ls, ps, other) {
-        switch (false) {
-          case !backslash:
-            if (options.double) {
-              return backslash + backslash;
-            } else {
-              return backslash;
-            }
-          case !nul:
-            return '\\x00';
-          case !delimiter:
-            return "\\" + delimiter;
-          case !lf:
-            return '\\n';
-          case !cr:
-            return '\\r';
-          case !ls:
-            return '\\u2028';
-          case !ps:
-            return '\\u2029';
-          case !other:
-            if (options.double) {
-              return "\\" + other;
-            } else {
-              return other;
-            }
-        }
-      });
-      return "" + options.delimiter + body + options.delimiter;
-    };
-
-    Lexer.prototype.error = function(message, options) {
-      var first_column, first_line, location, ref2, ref3, ref4;
-      if (options == null) {
-        options = {};
-      }
-      location = 'first_line' in options ? options : ((ref3 = this.getLineAndColumnFromChunk((ref2 = options.offset) != null ? ref2 : 0), first_line = ref3[0], first_column = ref3[1], ref3), {
-        first_line: first_line,
-        first_column: first_column,
-        last_column: first_column + ((ref4 = options.length) != null ? ref4 : 1) - 1
-      });
-      return throwSyntaxError(message, location);
-    };
-
-    return Lexer;
-
-  })();
-
-  JS_KEYWORDS = ['true', 'false', 'null', 'this', 'new', 'delete', 'typeof', 'in', 'instanceof', 'return', 'throw', 'break', 'continue', 'debugger', 'yield', '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', 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static'];
-
-  STRICT_PROSCRIBED = ['arguments', 'eval', 'yield*'];
-
-  JS_FORBIDDEN = JS_KEYWORDS.concat(RESERVED).concat(STRICT_PROSCRIBED);
-
-  exports.RESERVED = RESERVED.concat(JS_KEYWORDS).concat(COFFEE_KEYWORDS).concat(STRICT_PROSCRIBED);
-
-  exports.STRICT_PROSCRIBED = STRICT_PROSCRIBED;
-
-  BOM = 65279;
-
-  IDENTIFIER = /^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/;
-
-  NUMBER = /^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i;
-
-  OPERATOR = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/;
-
-  WHITESPACE = /^[^\n\S]+/;
-
-  COMMENT = /^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/;
-
-  CODE = /^[-=]>/;
-
-  MULTI_DENT = /^(?:\n[^\n\S]*)+/;
-
-  JSTOKEN = /^`[^\\`]*(?:\\.[^\\`]*)*`/;
-
-  STRING_START = /^(?:'''|"""|'|")/;
-
-  STRING_SINGLE = /^(?:[^\\']|\\[\s\S])*/;
-
-  STRING_DOUBLE = /^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/;
-
-  HEREDOC_SINGLE = /^(?:[^\\']|\\[\s\S]|'(?!''))*/;
-
-  HEREDOC_DOUBLE = /^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/;
-
-  STRING_OMIT = /((?:\\\\)+)|\\[^\S\n]*\n\s*/g;
-
-  SIMPLE_STRING_OMIT = /\s*\n\s*/g;
-
-  HEREDOC_INDENT = /\n+([^\n\S]*)(?=\S)/g;
-
-  REGEX = /^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/;
-
-  REGEX_FLAGS = /^\w*/;
-
-  VALID_FLAGS = /^(?!.*(.).*\1)[imgy]*$/;
-
-  HEREGEX = /^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/;
-
-  HEREGEX_OMIT = /((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g;
-
-  REGEX_ILLEGAL = /^(\/|\/{3}\s*)(\*)/;
-
-  POSSIBLY_DIVISION = /^\/=?\s/;
-
-  HERECOMMENT_ILLEGAL = /\*\//;
-
-  LINE_CONTINUER = /^\s*(?:,|\??\.(?![.\d])|::)/;
-
-  INVALID_ESCAPE = /((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u(?![\da-fA-F]{4}).{0,4}))/;
-
-  LEADING_BLANK_LINE = /^[^\n\S]*\n/;
-
-  TRAILING_BLANK_LINE = /\n[^\n\S]*$/;
-
-  TRAILING_SPACES = /\s+$/;
-
-  COMPOUND_ASSIGN = ['-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?=', '<<=', '>>=', '>>>=', '&=', '^=', '|=', '**=', '//=', '%%='];
-
-  UNARY = ['NEW', 'TYPEOF', 'DELETE', 'DO'];
-
-  UNARY_MATH = ['!', '~'];
-
-  LOGIC = ['&&', '||', '&', '|', '^'];
-
-  SHIFT = ['<<', '>>', '>>>'];
-
-  COMPARE = ['==', '!=', '<', '>', '<=', '>='];
-
-  MATH = ['*', '/', '%', '//', '%%'];
-
-  RELATION = ['IN', 'OF', 'INSTANCEOF'];
-
-  BOOL = ['TRUE', 'FALSE'];
-
-  CALLABLE = ['IDENTIFIER', ')', ']', '?', '@', 'THIS', 'SUPER'];
-
-  INDEXABLE = CALLABLE.concat(['NUMBER', 'STRING', 'STRING_END', 'REGEX', 'REGEX_END', 'BOOL', 'NULL', 'UNDEFINED', '}', '::']);
-
-  NOT_REGEX = INDEXABLE.concat(['++', '--']);
-
-  LINE_BREAK = ['INDENT', 'OUTDENT', 'TERMINATOR'];
-
-  INDENTABLE_CLOSERS = [')', '}', ']'];
-
-}).call(this);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org