You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ti...@apache.org on 2015/09/15 09:10:28 UTC

[2/2] cordova-browser git commit: CB-9654 'cordova run browser' -> duplicate 'CTRL + C' messages.

CB-9654 'cordova run browser' -> duplicate 'CTRL + C' messages.

Utilize cordova-serve's 'noServerInfo' flag to prevent it from displaying this info, since cordova-browser wants to display specific info that includes the correct html file.

Also bump required cordova-serve version to the version that supports this flag.


Project: http://git-wip-us.apache.org/repos/asf/cordova-browser/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-browser/commit/62b72ca7
Tree: http://git-wip-us.apache.org/repos/asf/cordova-browser/tree/62b72ca7
Diff: http://git-wip-us.apache.org/repos/asf/cordova-browser/diff/62b72ca7

Branch: refs/heads/master
Commit: 62b72ca7a0749ea69453f37173a02f9263db9e26
Parents: 8059c5d
Author: Tim Barham <ti...@microsoft.com>
Authored: Mon Sep 14 19:26:04 2015 +1000
Committer: Tim Barham <ti...@microsoft.com>
Committed: Mon Sep 14 19:26:48 2015 +1000

----------------------------------------------------------------------
 bin/templates/project/cordova/run               |   2 +-
 node_modules/cordova-serve/RELEASENOTES.md      |   6 +
 .../cordova-serve/node_modules/chalk/index.js   | 116 ++++++++++
 .../cordova-serve/node_modules/chalk/license    |  21 ++
 .../chalk/node_modules/ansi-styles/index.js     |  65 ++++++
 .../chalk/node_modules/ansi-styles/license      |  21 ++
 .../chalk/node_modules/ansi-styles/package.json |  80 +++++++
 .../chalk/node_modules/ansi-styles/readme.md    |  86 ++++++++
 .../node_modules/escape-string-regexp/index.js  |  11 +
 .../node_modules/escape-string-regexp/license   |  21 ++
 .../escape-string-regexp/package.json           |  70 ++++++
 .../node_modules/escape-string-regexp/readme.md |  27 +++
 .../chalk/node_modules/has-ansi/index.js        |   4 +
 .../chalk/node_modules/has-ansi/license         |  21 ++
 .../has-ansi/node_modules/ansi-regex/index.js   |   4 +
 .../has-ansi/node_modules/ansi-regex/license    |  21 ++
 .../node_modules/ansi-regex/package.json        |  86 ++++++++
 .../has-ansi/node_modules/ansi-regex/readme.md  |  31 +++
 .../chalk/node_modules/has-ansi/package.json    |  85 ++++++++
 .../chalk/node_modules/has-ansi/readme.md       |  36 ++++
 .../chalk/node_modules/strip-ansi/index.js      |   6 +
 .../chalk/node_modules/strip-ansi/license       |  21 ++
 .../strip-ansi/node_modules/ansi-regex/index.js |   4 +
 .../strip-ansi/node_modules/ansi-regex/license  |  21 ++
 .../node_modules/ansi-regex/package.json        |  86 ++++++++
 .../node_modules/ansi-regex/readme.md           |  31 +++
 .../chalk/node_modules/strip-ansi/package.json  |  85 ++++++++
 .../chalk/node_modules/strip-ansi/readme.md     |  33 +++
 .../chalk/node_modules/supports-color/index.js  |  50 +++++
 .../chalk/node_modules/supports-color/license   |  21 ++
 .../node_modules/supports-color/package.json    |  79 +++++++
 .../chalk/node_modules/supports-color/readme.md |  36 ++++
 .../node_modules/chalk/package.json             | 103 +++++++++
 .../cordova-serve/node_modules/chalk/readme.md  | 213 +++++++++++++++++++
 .../node_modules/shelljs/README.md              |   8 +-
 .../node_modules/shelljs/package.json           |  16 +-
 .../node_modules/shelljs/src/exec.js            |  10 +-
 node_modules/cordova-serve/package.json         |  33 +--
 node_modules/cordova-serve/src/browser.js       |  20 +-
 node_modules/cordova-serve/src/platform.js      |   9 +-
 node_modules/cordova-serve/src/server.js        |  28 ++-
 node_modules/cordova-serve/src/stream.js        |  15 +-
 package.json                                    |   4 +-
 43 files changed, 1679 insertions(+), 67 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/bin/templates/project/cordova/run
----------------------------------------------------------------------
diff --git a/bin/templates/project/cordova/run b/bin/templates/project/cordova/run
index a211ab4..c0e9c1e 100755
--- a/bin/templates/project/cordova/run
+++ b/bin/templates/project/cordova/run
@@ -44,7 +44,7 @@ function start(argv) {
         configXML = fs.readFileSync(configFile, 'utf8'),
         sourceFile = /<content[\s]+?src\s*=\s*"(.*?)"/i.exec(configXML);
 
-    serve.servePlatform('browser', {port: args.port}).then(function (serverInfo) {
+    serve.servePlatform('browser', {port: args.port, noServerInfo: true}).then(function (serverInfo) {
         var projectUrl = url.resolve('http://localhost:' + serverInfo.port + '/', sourceFile ? sourceFile[1] : 'index.html');
         console.log('Static file server running @ ' + projectUrl + '\nCTRL + C to shut down');
         return serve.launchBrowser({target: args.target, url: projectUrl});

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/RELEASENOTES.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/RELEASENOTES.md b/node_modules/cordova-serve/RELEASENOTES.md
index 14e1142..1ddd400 100644
--- a/node_modules/cordova-serve/RELEASENOTES.md
+++ b/node_modules/cordova-serve/RELEASENOTES.md
@@ -20,5 +20,11 @@
 -->
 # Cordova-serve Release Notes
 
+### 0.1.3 (Aug 22, 2015)
+* Clean up cordova-serve console output.
+* CB-9546 cordova-serve.servePlatform() should provide project folders
+* CB-9545 Cordova-serve's 'noCache' option does not work in IE.
+* Add support for --target=edge to launch app in Edge browser.
+
 ### 0.1.2 (June 15, 2015)
 Initial release

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/index.js b/node_modules/cordova-serve/node_modules/chalk/index.js
new file mode 100644
index 0000000..2d85a91
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/index.js
@@ -0,0 +1,116 @@
+'use strict';
+var escapeStringRegexp = require('escape-string-regexp');
+var ansiStyles = require('ansi-styles');
+var stripAnsi = require('strip-ansi');
+var hasAnsi = require('has-ansi');
+var supportsColor = require('supports-color');
+var defineProps = Object.defineProperties;
+var isSimpleWindowsTerm = process.platform === 'win32' && !/^xterm/i.test(process.env.TERM);
+
+function Chalk(options) {
+	// detect mode if not set manually
+	this.enabled = !options || options.enabled === undefined ? supportsColor : options.enabled;
+}
+
+// use bright blue on Windows as the normal blue color is illegible
+if (isSimpleWindowsTerm) {
+	ansiStyles.blue.open = '\u001b[94m';
+}
+
+var styles = (function () {
+	var ret = {};
+
+	Object.keys(ansiStyles).forEach(function (key) {
+		ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
+
+		ret[key] = {
+			get: function () {
+				return build.call(this, this._styles.concat(key));
+			}
+		};
+	});
+
+	return ret;
+})();
+
+var proto = defineProps(function chalk() {}, styles);
+
+function build(_styles) {
+	var builder = function () {
+		return applyStyle.apply(builder, arguments);
+	};
+
+	builder._styles = _styles;
+	builder.enabled = this.enabled;
+	// __proto__ is used because we must return a function, but there is
+	// no way to create a function with a different prototype.
+	/* eslint-disable no-proto */
+	builder.__proto__ = proto;
+
+	return builder;
+}
+
+function applyStyle() {
+	// support varags, but simply cast to string in case there's only one arg
+	var args = arguments;
+	var argsLen = args.length;
+	var str = argsLen !== 0 && String(arguments[0]);
+
+	if (argsLen > 1) {
+		// don't slice `arguments`, it prevents v8 optimizations
+		for (var a = 1; a < argsLen; a++) {
+			str += ' ' + args[a];
+		}
+	}
+
+	if (!this.enabled || !str) {
+		return str;
+	}
+
+	var nestedStyles = this._styles;
+	var i = nestedStyles.length;
+
+	// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,
+	// see https://github.com/chalk/chalk/issues/58
+	// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.
+	var originalDim = ansiStyles.dim.open;
+	if (isSimpleWindowsTerm && (nestedStyles.indexOf('gray') !== -1 || nestedStyles.indexOf('grey') !== -1)) {
+		ansiStyles.dim.open = '';
+	}
+
+	while (i--) {
+		var code = ansiStyles[nestedStyles[i]];
+
+		// Replace any instances already present with a re-opening code
+		// otherwise only the part of the string until said closing code
+		// will be colored, and the rest will simply be 'plain'.
+		str = code.open + str.replace(code.closeRe, code.open) + code.close;
+	}
+
+	// Reset the original 'dim' if we changed it to work around the Windows dimmed gray issue.
+	ansiStyles.dim.open = originalDim;
+
+	return str;
+}
+
+function init() {
+	var ret = {};
+
+	Object.keys(styles).forEach(function (name) {
+		ret[name] = {
+			get: function () {
+				return build.call(this, [name]);
+			}
+		};
+	});
+
+	return ret;
+}
+
+defineProps(Chalk.prototype, init());
+
+module.exports = new Chalk();
+module.exports.styles = ansiStyles;
+module.exports.hasColor = hasAnsi;
+module.exports.stripColor = stripAnsi;
+module.exports.supportsColor = supportsColor;

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/license
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/license b/node_modules/cordova-serve/node_modules/chalk/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+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.

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/index.js b/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/index.js
new file mode 100644
index 0000000..7894527
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/index.js
@@ -0,0 +1,65 @@
+'use strict';
+
+function assembleStyles () {
+	var styles = {
+		modifiers: {
+			reset: [0, 0],
+			bold: [1, 22], // 21 isn't widely supported and 22 does the same thing
+			dim: [2, 22],
+			italic: [3, 23],
+			underline: [4, 24],
+			inverse: [7, 27],
+			hidden: [8, 28],
+			strikethrough: [9, 29]
+		},
+		colors: {
+			black: [30, 39],
+			red: [31, 39],
+			green: [32, 39],
+			yellow: [33, 39],
+			blue: [34, 39],
+			magenta: [35, 39],
+			cyan: [36, 39],
+			white: [37, 39],
+			gray: [90, 39]
+		},
+		bgColors: {
+			bgBlack: [40, 49],
+			bgRed: [41, 49],
+			bgGreen: [42, 49],
+			bgYellow: [43, 49],
+			bgBlue: [44, 49],
+			bgMagenta: [45, 49],
+			bgCyan: [46, 49],
+			bgWhite: [47, 49]
+		}
+	};
+
+	// fix humans
+	styles.colors.grey = styles.colors.gray;
+
+	Object.keys(styles).forEach(function (groupName) {
+		var group = styles[groupName];
+
+		Object.keys(group).forEach(function (styleName) {
+			var style = group[styleName];
+
+			styles[styleName] = group[styleName] = {
+				open: '\u001b[' + style[0] + 'm',
+				close: '\u001b[' + style[1] + 'm'
+			};
+		});
+
+		Object.defineProperty(styles, groupName, {
+			value: group,
+			enumerable: false
+		});
+	});
+
+	return styles;
+}
+
+Object.defineProperty(module, 'exports', {
+	enumerable: true,
+	get: assembleStyles
+});

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/license
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/license b/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+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.

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/package.json b/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/package.json
new file mode 100644
index 0000000..b6a9cea
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/package.json
@@ -0,0 +1,80 @@
+{
+  "name": "ansi-styles",
+  "version": "2.1.0",
+  "description": "ANSI escape codes for styling strings in the terminal",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/chalk/ansi-styles.git"
+  },
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "maintainers": [
+    {
+      "name": "sindresorhus",
+      "email": "sindresorhus@gmail.com"
+    },
+    {
+      "name": "jbnicolai",
+      "email": "jappelman@xebia.com"
+    }
+  ],
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "scripts": {
+    "test": "mocha"
+  },
+  "files": [
+    "index.js"
+  ],
+  "keywords": [
+    "ansi",
+    "styles",
+    "color",
+    "colour",
+    "colors",
+    "terminal",
+    "console",
+    "cli",
+    "string",
+    "tty",
+    "escape",
+    "formatting",
+    "rgb",
+    "256",
+    "shell",
+    "xterm",
+    "log",
+    "logging",
+    "command-line",
+    "text"
+  ],
+  "devDependencies": {
+    "mocha": "*"
+  },
+  "gitHead": "18421cbe4a2d93359ec2599a894f704be126d066",
+  "bugs": {
+    "url": "https://github.com/chalk/ansi-styles/issues"
+  },
+  "homepage": "https://github.com/chalk/ansi-styles",
+  "_id": "ansi-styles@2.1.0",
+  "_shasum": "990f747146927b559a932bf92959163d60c0d0e2",
+  "_from": "ansi-styles@>=2.1.0 <3.0.0",
+  "_npmVersion": "2.10.1",
+  "_nodeVersion": "0.12.4",
+  "_npmUser": {
+    "name": "jbnicolai",
+    "email": "jappelman@xebia.com"
+  },
+  "dist": {
+    "shasum": "990f747146927b559a932bf92959163d60c0d0e2",
+    "tarball": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/readme.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/readme.md b/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/readme.md
new file mode 100644
index 0000000..3f933f6
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/ansi-styles/readme.md
@@ -0,0 +1,86 @@
+# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles)
+
+> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal
+
+You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings.
+
+![](screenshot.png)
+
+
+## Install
+
+```
+$ npm install --save ansi-styles
+```
+
+
+## Usage
+
+```js
+var ansi = require('ansi-styles');
+
+console.log(ansi.green.open + 'Hello world!' + ansi.green.close);
+```
+
+
+## API
+
+Each style has an `open` and `close` property.
+
+
+## Styles
+
+### Modifiers
+
+- `reset`
+- `bold`
+- `dim`
+- `italic` *(not widely supported)*
+- `underline`
+- `inverse`
+- `hidden`
+- `strikethrough` *(not widely supported)*
+
+### Colors
+
+- `black`
+- `red`
+- `green`
+- `yellow`
+- `blue`
+- `magenta`
+- `cyan`
+- `white`
+- `gray`
+
+### Background colors
+
+- `bgBlack`
+- `bgRed`
+- `bgGreen`
+- `bgYellow`
+- `bgBlue`
+- `bgMagenta`
+- `bgCyan`
+- `bgWhite`
+
+
+## Advanced usage
+
+By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module.
+
+- `ansi.modifiers`
+- `ansi.colors`
+- `ansi.bgColors`
+
+
+###### Example
+
+```js
+console.log(ansi.colors.green.open);
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/index.js b/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/index.js
new file mode 100644
index 0000000..ac6572c
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/index.js
@@ -0,0 +1,11 @@
+'use strict';
+
+var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
+
+module.exports = function (str) {
+	if (typeof str !== 'string') {
+		throw new TypeError('Expected a string');
+	}
+
+	return str.replace(matchOperatorsRe,  '\\$&');
+};

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/license
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/license b/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+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.

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/package.json b/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/package.json
new file mode 100644
index 0000000..813c908
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/package.json
@@ -0,0 +1,70 @@
+{
+  "name": "escape-string-regexp",
+  "version": "1.0.3",
+  "description": "Escape RegExp special characters",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/escape-string-regexp.git"
+  },
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "http://sindresorhus.com"
+  },
+  "maintainers": [
+    {
+      "name": "sindresorhus",
+      "email": "sindresorhus@gmail.com"
+    },
+    {
+      "name": "jbnicolai",
+      "email": "jappelman@xebia.com"
+    }
+  ],
+  "engines": {
+    "node": ">=0.8.0"
+  },
+  "scripts": {
+    "test": "mocha"
+  },
+  "files": [
+    "index.js"
+  ],
+  "keywords": [
+    "regex",
+    "regexp",
+    "re",
+    "regular",
+    "expression",
+    "escape",
+    "string",
+    "str",
+    "special",
+    "characters"
+  ],
+  "devDependencies": {
+    "mocha": "*"
+  },
+  "gitHead": "1e446e6b4449b5f1f8868cd31bf8fd25ee37fb4b",
+  "bugs": {
+    "url": "https://github.com/sindresorhus/escape-string-regexp/issues"
+  },
+  "homepage": "https://github.com/sindresorhus/escape-string-regexp",
+  "_id": "escape-string-regexp@1.0.3",
+  "_shasum": "9e2d8b25bc2555c3336723750e03f099c2735bb5",
+  "_from": "escape-string-regexp@>=1.0.2 <2.0.0",
+  "_npmVersion": "2.1.16",
+  "_nodeVersion": "0.10.35",
+  "_npmUser": {
+    "name": "jbnicolai",
+    "email": "jappelman@xebia.com"
+  },
+  "dist": {
+    "shasum": "9e2d8b25bc2555c3336723750e03f099c2735bb5",
+    "tarball": "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/readme.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/readme.md b/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/readme.md
new file mode 100644
index 0000000..808a963
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/escape-string-regexp/readme.md
@@ -0,0 +1,27 @@
+# escape-string-regexp [![Build Status](https://travis-ci.org/sindresorhus/escape-string-regexp.svg?branch=master)](https://travis-ci.org/sindresorhus/escape-string-regexp)
+
+> Escape RegExp special characters
+
+
+## Install
+
+```sh
+$ npm install --save escape-string-regexp
+```
+
+
+## Usage
+
+```js
+var escapeStringRegexp = require('escape-string-regexp');
+
+var escapedString = escapeStringRegexp('how much $ for a unicorn?');
+//=> how much \$ for a unicorn\?
+
+new RegExp(escapedString);
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/index.js b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/index.js
new file mode 100644
index 0000000..98fae06
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/index.js
@@ -0,0 +1,4 @@
+'use strict';
+var ansiRegex = require('ansi-regex');
+var re = new RegExp(ansiRegex().source); // remove the `g` flag
+module.exports = re.test.bind(re);

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/license
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/license b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+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.

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js
new file mode 100644
index 0000000..4906755
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js
@@ -0,0 +1,4 @@
+'use strict';
+module.exports = function () {
+	return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
+};

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+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.

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json
new file mode 100644
index 0000000..7fc0767
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json
@@ -0,0 +1,86 @@
+{
+  "name": "ansi-regex",
+  "version": "2.0.0",
+  "description": "Regular expression for matching ANSI escape codes",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/ansi-regex.git"
+  },
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "maintainers": [
+    {
+      "name": "sindresorhus",
+      "email": "sindresorhus@gmail.com"
+    },
+    {
+      "name": "jbnicolai",
+      "email": "jappelman@xebia.com"
+    }
+  ],
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "scripts": {
+    "test": "mocha test/test.js",
+    "view-supported": "node test/viewCodes.js"
+  },
+  "files": [
+    "index.js"
+  ],
+  "keywords": [
+    "ansi",
+    "styles",
+    "color",
+    "colour",
+    "colors",
+    "terminal",
+    "console",
+    "cli",
+    "string",
+    "tty",
+    "escape",
+    "formatting",
+    "rgb",
+    "256",
+    "shell",
+    "xterm",
+    "command-line",
+    "text",
+    "regex",
+    "regexp",
+    "re",
+    "match",
+    "test",
+    "find",
+    "pattern"
+  ],
+  "devDependencies": {
+    "mocha": "*"
+  },
+  "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f",
+  "bugs": {
+    "url": "https://github.com/sindresorhus/ansi-regex/issues"
+  },
+  "homepage": "https://github.com/sindresorhus/ansi-regex",
+  "_id": "ansi-regex@2.0.0",
+  "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
+  "_from": "ansi-regex@>=2.0.0 <3.0.0",
+  "_npmVersion": "2.11.2",
+  "_nodeVersion": "0.12.5",
+  "_npmUser": {
+    "name": "sindresorhus",
+    "email": "sindresorhus@gmail.com"
+  },
+  "dist": {
+    "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
+    "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md
new file mode 100644
index 0000000..1a4894e
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md
@@ -0,0 +1,31 @@
+# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex)
+
+> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
+
+
+## Install
+
+```
+$ npm install --save ansi-regex
+```
+
+
+## Usage
+
+```js
+var ansiRegex = require('ansi-regex');
+
+ansiRegex().test('\u001b[4mcake\u001b[0m');
+//=> true
+
+ansiRegex().test('cake');
+//=> false
+
+'\u001b[4mcake\u001b[0m'.match(ansiRegex());
+//=> ['\u001b[4m', '\u001b[0m']
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/package.json b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/package.json
new file mode 100644
index 0000000..d39a62e
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/package.json
@@ -0,0 +1,85 @@
+{
+  "name": "has-ansi",
+  "version": "2.0.0",
+  "description": "Check if a string has ANSI escape codes",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/has-ansi.git"
+  },
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "maintainers": [
+    {
+      "name": "sindresorhus",
+      "email": "sindresorhus@gmail.com"
+    },
+    {
+      "name": "jbnicolai",
+      "email": "jappelman@xebia.com"
+    }
+  ],
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "scripts": {
+    "test": "node test.js"
+  },
+  "files": [
+    "index.js"
+  ],
+  "keywords": [
+    "ansi",
+    "styles",
+    "color",
+    "colour",
+    "colors",
+    "terminal",
+    "console",
+    "string",
+    "tty",
+    "escape",
+    "shell",
+    "xterm",
+    "command-line",
+    "text",
+    "regex",
+    "regexp",
+    "re",
+    "match",
+    "test",
+    "find",
+    "pattern",
+    "has"
+  ],
+  "dependencies": {
+    "ansi-regex": "^2.0.0"
+  },
+  "devDependencies": {
+    "ava": "0.0.4"
+  },
+  "gitHead": "0722275e1bef139fcd09137da6e5550c3cd368b9",
+  "bugs": {
+    "url": "https://github.com/sindresorhus/has-ansi/issues"
+  },
+  "homepage": "https://github.com/sindresorhus/has-ansi",
+  "_id": "has-ansi@2.0.0",
+  "_shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
+  "_from": "has-ansi@>=2.0.0 <3.0.0",
+  "_npmVersion": "2.11.2",
+  "_nodeVersion": "0.12.5",
+  "_npmUser": {
+    "name": "sindresorhus",
+    "email": "sindresorhus@gmail.com"
+  },
+  "dist": {
+    "shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
+    "tarball": "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/readme.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/readme.md b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/readme.md
new file mode 100644
index 0000000..02bc7c2
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/has-ansi/readme.md
@@ -0,0 +1,36 @@
+# has-ansi [![Build Status](https://travis-ci.org/sindresorhus/has-ansi.svg?branch=master)](https://travis-ci.org/sindresorhus/has-ansi)
+
+> Check if a string has [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
+
+
+## Install
+
+```
+$ npm install --save has-ansi
+```
+
+
+## Usage
+
+```js
+var hasAnsi = require('has-ansi');
+
+hasAnsi('\u001b[4mcake\u001b[0m');
+//=> true
+
+hasAnsi('cake');
+//=> false
+```
+
+
+## Related
+
+- [has-ansi-cli](https://github.com/sindresorhus/has-ansi-cli) - CLI for this module
+- [strip-ansi](https://github.com/sindresorhus/strip-ansi) - Strip ANSI escape codes
+- [ansi-regex](https://github.com/sindresorhus/ansi-regex) - Regular expression for matching ANSI escape codes
+- [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling done right
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/index.js b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/index.js
new file mode 100644
index 0000000..099480f
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/index.js
@@ -0,0 +1,6 @@
+'use strict';
+var ansiRegex = require('ansi-regex')();
+
+module.exports = function (str) {
+	return typeof str === 'string' ? str.replace(ansiRegex, '') : str;
+};

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/license
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/license b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+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.

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js
new file mode 100644
index 0000000..4906755
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js
@@ -0,0 +1,4 @@
+'use strict';
+module.exports = function () {
+	return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
+};

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+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.

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json
new file mode 100644
index 0000000..7fc0767
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json
@@ -0,0 +1,86 @@
+{
+  "name": "ansi-regex",
+  "version": "2.0.0",
+  "description": "Regular expression for matching ANSI escape codes",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/ansi-regex.git"
+  },
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "maintainers": [
+    {
+      "name": "sindresorhus",
+      "email": "sindresorhus@gmail.com"
+    },
+    {
+      "name": "jbnicolai",
+      "email": "jappelman@xebia.com"
+    }
+  ],
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "scripts": {
+    "test": "mocha test/test.js",
+    "view-supported": "node test/viewCodes.js"
+  },
+  "files": [
+    "index.js"
+  ],
+  "keywords": [
+    "ansi",
+    "styles",
+    "color",
+    "colour",
+    "colors",
+    "terminal",
+    "console",
+    "cli",
+    "string",
+    "tty",
+    "escape",
+    "formatting",
+    "rgb",
+    "256",
+    "shell",
+    "xterm",
+    "command-line",
+    "text",
+    "regex",
+    "regexp",
+    "re",
+    "match",
+    "test",
+    "find",
+    "pattern"
+  ],
+  "devDependencies": {
+    "mocha": "*"
+  },
+  "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f",
+  "bugs": {
+    "url": "https://github.com/sindresorhus/ansi-regex/issues"
+  },
+  "homepage": "https://github.com/sindresorhus/ansi-regex",
+  "_id": "ansi-regex@2.0.0",
+  "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
+  "_from": "ansi-regex@>=2.0.0 <3.0.0",
+  "_npmVersion": "2.11.2",
+  "_nodeVersion": "0.12.5",
+  "_npmUser": {
+    "name": "sindresorhus",
+    "email": "sindresorhus@gmail.com"
+  },
+  "dist": {
+    "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
+    "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
new file mode 100644
index 0000000..1a4894e
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
@@ -0,0 +1,31 @@
+# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex)
+
+> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
+
+
+## Install
+
+```
+$ npm install --save ansi-regex
+```
+
+
+## Usage
+
+```js
+var ansiRegex = require('ansi-regex');
+
+ansiRegex().test('\u001b[4mcake\u001b[0m');
+//=> true
+
+ansiRegex().test('cake');
+//=> false
+
+'\u001b[4mcake\u001b[0m'.match(ansiRegex());
+//=> ['\u001b[4m', '\u001b[0m']
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/package.json b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/package.json
new file mode 100644
index 0000000..2871d03
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/package.json
@@ -0,0 +1,85 @@
+{
+  "name": "strip-ansi",
+  "version": "3.0.0",
+  "description": "Strip ANSI escape codes",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/strip-ansi.git"
+  },
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "maintainers": [
+    {
+      "name": "sindresorhus",
+      "email": "sindresorhus@gmail.com"
+    },
+    {
+      "name": "jbnicolai",
+      "email": "jappelman@xebia.com"
+    }
+  ],
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "scripts": {
+    "test": "node test.js"
+  },
+  "files": [
+    "index.js"
+  ],
+  "keywords": [
+    "strip",
+    "trim",
+    "remove",
+    "ansi",
+    "styles",
+    "color",
+    "colour",
+    "colors",
+    "terminal",
+    "console",
+    "string",
+    "tty",
+    "escape",
+    "formatting",
+    "rgb",
+    "256",
+    "shell",
+    "xterm",
+    "log",
+    "logging",
+    "command-line",
+    "text"
+  ],
+  "dependencies": {
+    "ansi-regex": "^2.0.0"
+  },
+  "devDependencies": {
+    "ava": "0.0.4"
+  },
+  "gitHead": "3f05b9810e1438f946e2eb84ee854cc00b972e9e",
+  "bugs": {
+    "url": "https://github.com/sindresorhus/strip-ansi/issues"
+  },
+  "homepage": "https://github.com/sindresorhus/strip-ansi",
+  "_id": "strip-ansi@3.0.0",
+  "_shasum": "7510b665567ca914ccb5d7e072763ac968be3724",
+  "_from": "strip-ansi@>=3.0.0 <4.0.0",
+  "_npmVersion": "2.11.2",
+  "_nodeVersion": "0.12.5",
+  "_npmUser": {
+    "name": "sindresorhus",
+    "email": "sindresorhus@gmail.com"
+  },
+  "dist": {
+    "shasum": "7510b665567ca914ccb5d7e072763ac968be3724",
+    "tarball": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/readme.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/readme.md b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/readme.md
new file mode 100644
index 0000000..7609151
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/strip-ansi/readme.md
@@ -0,0 +1,33 @@
+# strip-ansi [![Build Status](https://travis-ci.org/sindresorhus/strip-ansi.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-ansi)
+
+> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
+
+
+## Install
+
+```
+$ npm install --save strip-ansi
+```
+
+
+## Usage
+
+```js
+var stripAnsi = require('strip-ansi');
+
+stripAnsi('\u001b[4mcake\u001b[0m');
+//=> 'cake'
+```
+
+
+## Related
+
+- [strip-ansi-cli](https://github.com/sindresorhus/strip-ansi-cli) - CLI for this module
+- [has-ansi](https://github.com/sindresorhus/has-ansi) - Check if a string has ANSI escape codes
+- [ansi-regex](https://github.com/sindresorhus/ansi-regex) - Regular expression for matching ANSI escape codes
+- [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling done right
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/index.js b/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/index.js
new file mode 100644
index 0000000..4346e27
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/index.js
@@ -0,0 +1,50 @@
+'use strict';
+var argv = process.argv;
+
+var terminator = argv.indexOf('--');
+var hasFlag = function (flag) {
+	flag = '--' + flag;
+	var pos = argv.indexOf(flag);
+	return pos !== -1 && (terminator !== -1 ? pos < terminator : true);
+};
+
+module.exports = (function () {
+	if ('FORCE_COLOR' in process.env) {
+		return true;
+	}
+
+	if (hasFlag('no-color') ||
+		hasFlag('no-colors') ||
+		hasFlag('color=false')) {
+		return false;
+	}
+
+	if (hasFlag('color') ||
+		hasFlag('colors') ||
+		hasFlag('color=true') ||
+		hasFlag('color=always')) {
+		return true;
+	}
+
+	if (process.stdout && !process.stdout.isTTY) {
+		return false;
+	}
+
+	if (process.platform === 'win32') {
+		return true;
+	}
+
+	if ('COLORTERM' in process.env) {
+		return true;
+	}
+
+	if (process.env.TERM === 'dumb') {
+		return false;
+	}
+
+	if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) {
+		return true;
+	}
+
+	return false;
+})();

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/license
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/license b/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <si...@gmail.com> (sindresorhus.com)
+
+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.

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/package.json b/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/package.json
new file mode 100644
index 0000000..38a1ecb
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/package.json
@@ -0,0 +1,79 @@
+{
+  "name": "supports-color",
+  "version": "2.0.0",
+  "description": "Detect whether a terminal supports color",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/chalk/supports-color.git"
+  },
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "maintainers": [
+    {
+      "name": "sindresorhus",
+      "email": "sindresorhus@gmail.com"
+    },
+    {
+      "name": "jbnicolai",
+      "email": "jappelman@xebia.com"
+    }
+  ],
+  "engines": {
+    "node": ">=0.8.0"
+  },
+  "scripts": {
+    "test": "mocha"
+  },
+  "files": [
+    "index.js"
+  ],
+  "keywords": [
+    "color",
+    "colour",
+    "colors",
+    "terminal",
+    "console",
+    "cli",
+    "ansi",
+    "styles",
+    "tty",
+    "rgb",
+    "256",
+    "shell",
+    "xterm",
+    "command-line",
+    "support",
+    "supports",
+    "capability",
+    "detect"
+  ],
+  "devDependencies": {
+    "mocha": "*",
+    "require-uncached": "^1.0.2"
+  },
+  "gitHead": "8400d98ade32b2adffd50902c06d9e725a5c6588",
+  "bugs": {
+    "url": "https://github.com/chalk/supports-color/issues"
+  },
+  "homepage": "https://github.com/chalk/supports-color",
+  "_id": "supports-color@2.0.0",
+  "_shasum": "535d045ce6b6363fa40117084629995e9df324c7",
+  "_from": "supports-color@>=2.0.0 <3.0.0",
+  "_npmVersion": "2.11.2",
+  "_nodeVersion": "0.12.5",
+  "_npmUser": {
+    "name": "sindresorhus",
+    "email": "sindresorhus@gmail.com"
+  },
+  "dist": {
+    "shasum": "535d045ce6b6363fa40117084629995e9df324c7",
+    "tarball": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/readme.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/readme.md b/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/readme.md
new file mode 100644
index 0000000..b4761f1
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/node_modules/supports-color/readme.md
@@ -0,0 +1,36 @@
+# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color)
+
+> Detect whether a terminal supports color
+
+
+## Install
+
+```
+$ npm install --save supports-color
+```
+
+
+## Usage
+
+```js
+var supportsColor = require('supports-color');
+
+if (supportsColor) {
+	console.log('Terminal supports color');
+}
+```
+
+It obeys the `--color` and `--no-color` CLI flags.
+
+For situations where using `--color` is not possible, add an environment variable `FORCE_COLOR` with any value to force color. Trumps `--no-color`.
+
+
+## Related
+
+- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module
+- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/package.json b/node_modules/cordova-serve/node_modules/chalk/package.json
new file mode 100644
index 0000000..dc5e754
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/package.json
@@ -0,0 +1,103 @@
+{
+  "name": "chalk",
+  "version": "1.1.1",
+  "description": "Terminal string styling done right. Much color.",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/chalk/chalk.git"
+  },
+  "maintainers": [
+    {
+      "name": "sindresorhus",
+      "email": "sindresorhus@gmail.com"
+    },
+    {
+      "name": "jbnicolai",
+      "email": "jappelman@xebia.com"
+    },
+    {
+      "name": "unicorn",
+      "email": "sindresorhus+unicorn@gmail.com"
+    }
+  ],
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "scripts": {
+    "test": "xo && mocha",
+    "bench": "matcha benchmark.js",
+    "coverage": "nyc npm test && nyc report",
+    "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls"
+  },
+  "files": [
+    "index.js"
+  ],
+  "keywords": [
+    "color",
+    "colour",
+    "colors",
+    "terminal",
+    "console",
+    "cli",
+    "string",
+    "str",
+    "ansi",
+    "style",
+    "styles",
+    "tty",
+    "formatting",
+    "rgb",
+    "256",
+    "shell",
+    "xterm",
+    "log",
+    "logging",
+    "command-line",
+    "text"
+  ],
+  "dependencies": {
+    "ansi-styles": "^2.1.0",
+    "escape-string-regexp": "^1.0.2",
+    "has-ansi": "^2.0.0",
+    "strip-ansi": "^3.0.0",
+    "supports-color": "^2.0.0"
+  },
+  "devDependencies": {
+    "coveralls": "^2.11.2",
+    "matcha": "^0.6.0",
+    "mocha": "*",
+    "nyc": "^3.0.0",
+    "require-uncached": "^1.0.2",
+    "resolve-from": "^1.0.0",
+    "semver": "^4.3.3",
+    "xo": "*"
+  },
+  "xo": {
+    "envs": [
+      "node",
+      "mocha"
+    ]
+  },
+  "gitHead": "8b554e254e89c85c1fd04dcc444beeb15824e1a5",
+  "bugs": {
+    "url": "https://github.com/chalk/chalk/issues"
+  },
+  "homepage": "https://github.com/chalk/chalk#readme",
+  "_id": "chalk@1.1.1",
+  "_shasum": "509afb67066e7499f7eb3535c77445772ae2d019",
+  "_from": "chalk@>=1.1.1 <2.0.0",
+  "_npmVersion": "2.13.5",
+  "_nodeVersion": "0.12.7",
+  "_npmUser": {
+    "name": "sindresorhus",
+    "email": "sindresorhus@gmail.com"
+  },
+  "dist": {
+    "shasum": "509afb67066e7499f7eb3535c77445772ae2d019",
+    "tarball": "http://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz"
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/chalk/readme.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/chalk/readme.md b/node_modules/cordova-serve/node_modules/chalk/readme.md
new file mode 100644
index 0000000..5cf111e
--- /dev/null
+++ b/node_modules/cordova-serve/node_modules/chalk/readme.md
@@ -0,0 +1,213 @@
+<h1 align="center">
+	<br>
+	<br>
+	<img width="360" src="https://cdn.rawgit.com/chalk/chalk/19935d6484811c5e468817f846b7b3d417d7bf4a/logo.svg" alt="chalk">
+	<br>
+	<br>
+	<br>
+</h1>
+
+> Terminal string styling done right
+
+[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk)
+[![Coverage Status](https://coveralls.io/repos/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/r/chalk/chalk?branch=master)
+[![](http://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4)
+
+
+[colors.js](https://github.com/Marak/colors.js) used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68). Although there are other ones, they either do too much or not enough.
+
+**Chalk is a clean and focused alternative.**
+
+![](https://github.com/chalk/ansi-styles/raw/master/screenshot.png)
+
+
+## Why
+
+- Highly performant
+- Doesn't extend `String.prototype`
+- Expressive API
+- Ability to nest styles
+- Clean and focused
+- Auto-detects color support
+- Actively maintained
+- [Used by ~4500 modules](https://www.npmjs.com/browse/depended/chalk) as of July 15, 2015
+
+
+## Install
+
+```
+$ npm install --save chalk
+```
+
+
+## Usage
+
+Chalk comes with an easy to use composable API where you just chain and nest the styles you want.
+
+```js
+var chalk = require('chalk');
+
+// style a string
+chalk.blue('Hello world!');
+
+// combine styled and normal strings
+chalk.blue('Hello') + 'World' + chalk.red('!');
+
+// compose multiple styles using the chainable API
+chalk.blue.bgRed.bold('Hello world!');
+
+// pass in multiple arguments
+chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz');
+
+// nest styles
+chalk.red('Hello', chalk.underline.bgBlue('world') + '!');
+
+// nest styles of the same type even (color, underline, background)
+chalk.green(
+	'I am a green line ' +
+	chalk.blue.underline.bold('with a blue substring') +
+	' that becomes green again!'
+);
+```
+
+Easily define your own themes.
+
+```js
+var chalk = require('chalk');
+var error = chalk.bold.red;
+console.log(error('Error!'));
+```
+
+Take advantage of console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data).
+
+```js
+var name = 'Sindre';
+console.log(chalk.green('Hello %s'), name);
+//=> Hello Sindre
+```
+
+
+## API
+
+### chalk.`<style>[.<style>...](string, [string...])`
+
+Example: `chalk.red.bold.underline('Hello', 'world');`
+
+Chain [styles](#styles) and call the last one as a method with a string argument. Order doesn't matter, and later styles take precedent in case of a conflict. This simply means that `Chalk.red.yellow.green` is equivalent to `Chalk.green`.
+
+Multiple arguments will be separated by space.
+
+### chalk.enabled
+
+Color support is automatically detected, but you can override it by setting the `enabled` property. You should however only do this in your own code as it applies globally to all chalk consumers.
+
+If you need to change this in a reusable module create a new instance:
+
+```js
+var ctx = new chalk.constructor({enabled: false});
+```
+
+### chalk.supportsColor
+
+Detect whether the terminal [supports color](https://github.com/chalk/supports-color). Used internally and handled for you, but exposed for convenience.
+
+Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, add an environment variable `FORCE_COLOR` with any value to force color. Trumps `--no-color`.
+
+### chalk.styles
+
+Exposes the styles as [ANSI escape codes](https://github.com/chalk/ansi-styles).
+
+Generally not useful, but you might need just the `.open` or `.close` escape code if you're mixing externally styled strings with your own.
+
+```js
+var chalk = require('chalk');
+
+console.log(chalk.styles.red);
+//=> {open: '\u001b[31m', close: '\u001b[39m'}
+
+console.log(chalk.styles.red.open + 'Hello' + chalk.styles.red.close);
+```
+
+### chalk.hasColor(string)
+
+Check whether a string [has color](https://github.com/chalk/has-ansi).
+
+### chalk.stripColor(string)
+
+[Strip color](https://github.com/chalk/strip-ansi) from a string.
+
+Can be useful in combination with `.supportsColor` to strip color on externally styled text when it's not supported.
+
+Example:
+
+```js
+var chalk = require('chalk');
+var styledString = getText();
+
+if (!chalk.supportsColor) {
+	styledString = chalk.stripColor(styledString);
+}
+```
+
+
+## Styles
+
+### Modifiers
+
+- `reset`
+- `bold`
+- `dim`
+- `italic` *(not widely supported)*
+- `underline`
+- `inverse`
+- `hidden`
+- `strikethrough` *(not widely supported)*
+
+### Colors
+
+- `black`
+- `red`
+- `green`
+- `yellow`
+- `blue` *(on Windows the bright version is used as normal blue is illegible)*
+- `magenta`
+- `cyan`
+- `white`
+- `gray`
+
+### Background colors
+
+- `bgBlack`
+- `bgRed`
+- `bgGreen`
+- `bgYellow`
+- `bgBlue`
+- `bgMagenta`
+- `bgCyan`
+- `bgWhite`
+
+
+## 256-colors
+
+Chalk does not support anything other than the base eight colors, which guarantees it will work on all terminals and systems. Some terminals, specifically `xterm` compliant ones, will support the full range of 8-bit colors. For this the lower level [ansi-256-colors](https://github.com/jbnicolai/ansi-256-colors) package can be used.
+
+
+## Windows
+
+If you're on Windows, do yourself a favor and use [`cmder`](http://bliker.github.io/cmder/) instead of `cmd.exe`.
+
+
+## Related
+
+- [chalk-cli](https://github.com/chalk/chalk-cli) - CLI for this module
+- [ansi-styles](https://github.com/chalk/ansi-styles/) - ANSI escape codes for styling strings in the terminal
+- [supports-color](https://github.com/chalk/supports-color/) - Detect whether a terminal supports color
+- [strip-ansi](https://github.com/chalk/strip-ansi) - Strip ANSI escape codes
+- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
+- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
+- [wrap-ansi](https://github.com/chalk/wrap-ansi) - Wordwrap a string with ANSI escape codes
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/shelljs/README.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/shelljs/README.md b/node_modules/cordova-serve/node_modules/shelljs/README.md
index 0000ad2..d08d13e 100644
--- a/node_modules/cordova-serve/node_modules/shelljs/README.md
+++ b/node_modules/cordova-serve/node_modules/shelljs/README.md
@@ -146,11 +146,7 @@ target.bundle = function(argsArray) {
 ```
 
 
-<!-- 
-
-  DO NOT MODIFY BEYOND THIS POINT - IT'S AUTOMATICALLY GENERATED
-
--->
+<!-- DO NOT MODIFY BEYOND THIS POINT - IT'S AUTOMATICALLY GENERATED -->
 
 
 ## Command reference
@@ -278,7 +274,7 @@ Available expression primaries:
 + `'-d', 'path'`: true if path is a directory
 + `'-e', 'path'`: true if path exists
 + `'-f', 'path'`: true if path is a regular file
-+ `'-L', 'path'`: true if path is a symboilc link
++ `'-L', 'path'`: true if path is a symbolic link
 + `'-p', 'path'`: true if path is a pipe (FIFO)
 + `'-S', 'path'`: true if path is a socket
 

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/shelljs/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/shelljs/package.json b/node_modules/cordova-serve/node_modules/shelljs/package.json
index ae0f5e9..0e7b832 100644
--- a/node_modules/cordova-serve/node_modules/shelljs/package.json
+++ b/node_modules/cordova-serve/node_modules/shelljs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "shelljs",
-  "version": "0.5.1",
+  "version": "0.5.3",
   "author": {
     "name": "Artur Adib",
     "email": "arturadib@gmail.com"
@@ -35,13 +35,13 @@
   "engines": {
     "node": ">=0.8.0"
   },
-  "gitHead": "fe6dedcf40741f66912c2c608987eba67bb76f29",
+  "gitHead": "22d0975040b9b8234755dc6e692d6869436e8485",
   "bugs": {
     "url": "https://github.com/arturadib/shelljs/issues"
   },
-  "_id": "shelljs@0.5.1",
-  "_shasum": "0fc0c3f90f87184023a125a7bbcde31447b4f464",
-  "_from": "shelljs@>=0.5.1 <0.6.0",
+  "_id": "shelljs@0.5.3",
+  "_shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113",
+  "_from": "shelljs@>=0.5.3 <0.6.0",
   "_npmVersion": "2.5.1",
   "_nodeVersion": "1.2.0",
   "_npmUser": {
@@ -55,10 +55,10 @@
     }
   ],
   "dist": {
-    "shasum": "0fc0c3f90f87184023a125a7bbcde31447b4f464",
-    "tarball": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.1.tgz"
+    "shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113",
+    "tarball": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz"
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.1.tgz",
+  "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
   "readme": "ERROR: No README data found!"
 }

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/node_modules/shelljs/src/exec.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/node_modules/shelljs/src/exec.js b/node_modules/cordova-serve/node_modules/shelljs/src/exec.js
index 9d09e9c..d259a9f 100644
--- a/node_modules/cordova-serve/node_modules/shelljs/src/exec.js
+++ b/node_modules/cordova-serve/node_modules/shelljs/src/exec.js
@@ -59,10 +59,14 @@ function execSync(cmd, opts) {
       "  fs.writeFileSync('"+escape(codeFile)+"', err ? err.code.toString() : '0');",
       "});",
       "var stdoutStream = fs.createWriteStream('"+escape(stdoutFile)+"');",
-      "childProcess.stdout.pipe(stdoutStream);",
-      "childProcess.stderr.pipe(stdoutStream);",
+      "childProcess.stdout.pipe(stdoutStream, {end: false});",
+      "childProcess.stderr.pipe(stdoutStream, {end: false});",
       "childProcess.stdout.pipe(process.stdout);",
-      "childProcess.stderr.pipe(process.stderr);"
+      "childProcess.stderr.pipe(process.stderr);",
+      "var stdoutEnded = false, stderrEnded = false;",
+      "function tryClosing(){ if(stdoutEnded && stderrEnded){ stdoutStream.end(); } }",
+      "childProcess.stdout.on('end', function(){ stdoutEnded = true; tryClosing(); });",
+      "childProcess.stderr.on('end', function(){ stderrEnded = true; tryClosing(); });"
     ].join('\n');
 
     fs.writeFileSync(scriptFile, script);

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/package.json b/node_modules/cordova-serve/package.json
index 77f33ec..25d0c9d 100644
--- a/node_modules/cordova-serve/package.json
+++ b/node_modules/cordova-serve/package.json
@@ -1,6 +1,6 @@
 {
   "name": "cordova-serve",
-  "version": "0.1.2",
+  "version": "0.1.3",
   "description": "Apache Cordova server support for cordova-lib and cordova-browser.",
   "main": "serve.js",
   "repository": {
@@ -21,11 +21,12 @@
     "email": "dev@cordova.apache.org"
   },
   "dependencies": {
+    "chalk": "^1.1.1",
     "combined-stream": "^1.0.3",
     "d8": "^0.4.4",
     "mime": "^1.2.11",
     "q": "^1.4.1",
-    "shelljs": "^0.5.1"
+    "shelljs": "^0.5.3"
   },
   "devDependencies": {
     "jshint": "^2.8.0"
@@ -37,26 +38,10 @@
     "node": ">= 0.12.0",
     "npm": ">= 2.5.1"
   },
-  "_id": "cordova-serve@0.1.2",
-  "_shasum": "79225e85f6085c811baf7b4993bf2b6ae5720ee2",
-  "_resolved": "https://registry.npmjs.org/cordova-serve/-/cordova-serve-0.1.2.tgz",
-  "_from": "cordova-serve@>=0.1.1 <0.2.0",
-  "_npmVersion": "2.7.4",
-  "_nodeVersion": "0.12.2",
-  "_npmUser": {
-    "name": "timbarham",
-    "email": "npmjs@barhams.info"
-  },
-  "dist": {
-    "shasum": "79225e85f6085c811baf7b4993bf2b6ae5720ee2",
-    "tarball": "http://registry.npmjs.org/cordova-serve/-/cordova-serve-0.1.2.tgz"
-  },
-  "maintainers": [
-    {
-      "name": "timbarham",
-      "email": "npmjs@barhams.info"
-    }
-  ],
-  "directories": {},
-  "readme": "ERROR: No README data found!"
+  "readme": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n#  KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n-->\n\n# cordova-serve\nThis module can be used to serve up a Cordova application in the browser. It has no command-line, but rather is intended\nto be called using the
  following API:\n\n``` js\nvar serve = require('cordova-serve');\nserve.launchServer(opts);\nserve.servePlatform(platform, opts);\nserve.launchBrowser(ops);\nserve.sendStream(filePath, request, response[, readStream][, noCache]);\n```\n\n## launchServer()\n\n``` js\nlaunchServer(opts);\n```\n\nLaunches a server with the specified options. Parameters:\n\n* **opts**: Options, as described below.\n\n## servePlatform()\n\n``` js\nservePlatform(platform, opts);\n```\n\nLaunches a server that serves up any Cordova platform (e.g. `browser`, `android` etc) from the current project.\nParameters:\n\n* **opts**: Options, as described below. Note that for `servePlatform()`, the `root` value should be a Cordova project's\n  root folder, or any folder within it - `servePlatform()` will replace it with the platform's `www_dir` folder. If this\n  value is not specified, the *cwd* will be used.\n\n## launchBrowser()\n\n``` js\nlaunchBrowser(opts);\n```\n\nLaunches a browser window pointing to the sp
 ecified URL. The single parameter is an options object that supports the\nfollowing values (both optional):\n\n* **url**: The URL to open in the browser.\n* **target**: The name of the browser to launch. Can be any of the following: `chrome`, `chromium`, `firefox`, `ie`,\n  `opera`, `safari`. If no browser is specified, \n\n## sendStream()\n\n``` js\nsendStream(filePath, request, response[, readStream][, noCache]);\n```\n\nThe server uses this method to stream files, and it is provided as a convenience method you can use if you are\ncustomizing the stream by specifying `opts.streamHandler`. Parameters:\n\n* **filePath**: The absolute path to the file to be served (which will have been passed to your `streamHandler`).\n* **request**: The request object (which will have been passed to your `streamHandler`).\n* **response**: The response object (which will have been passed to your `streamHandler`).\n* **readStream**: (optional) A custom read stream, if required.\n* **noCache**: (option
 al) If true, browser caching will be disabled for this file (by setting response header\n  Cache-Control will be set to 'no-cache')\n\n## The *opts* Options Object\nThe opts object passed to `launchServer()` and `servePlatform()` supports the following values (all optional):\n\n* **root**: The file path on the local file system that is used as the root for the server, for default mapping of URL\n  path to local file system path.   \n* **port**: The port for the server. Note that if this port is already in use, it will be incremented until a free port\n  is found.\n* **urlPathHandler**: An optional method to provide custom handling for processing URLs and serving up the resulting data.\n  Can serve up the data itself using `response.write()`, or determine a custom local file path and call `serveFile()` to\n  serve it up, or do no processing and call `serveFile` with no params to treat `urlPath` as relative to the root.\n* **streamHandler**: An optional custom stream handler - `cordov
 a-serve` will by default stream files using\n  `sendStream()`, described above, which just streams files, but will first call this method, if provided, to\n  support custom streaming. This method is described in more detail below.\n* **serverExtender**: This method is called as soon as the server is created, so that the caller can do\n  additional things with the server (like attach to certain events, for example). This method is described in more\n  detail below.\n\n## urlPathHandler()\nProvide this method if you need to do custom processing of URL paths (that is, custom mapping of URL path to local file\npath) and potentially directly handle serving up the resulting data. The signature of this method is as follows:\n\n``` js\nurlPathHandler(urlPath, request, response, do302, do404, serveFile)\n```\n\nParameters:\n\n* **urlPath**: The URL path to process. It is the value of `url.parse(request.url).pathname`.\n* **request**: The server request object.\n* **response**: The server res
 ponse object.\n* **do302**: A helper method to do a 302 HTTP response (redirection). It takes a single parameter - the URL to redirect to.\n* **do404**: A helper method to do a 404 HTTP response (not found).\n* **serveFile**: A helper method to serve up the resulting file. If `urlPathHandler()` doesn't write the response itself,\n  it should call this method either passing it the local file path to be served, or passing it nothing. In the latter case,\n  it will treat `urlPath` as relative to the root.\n\n## streamHandler()\nProvide this method if you wish to perform custom stream handling. The signature of this method is as follows:\n\n``` js\nstreamHandler(filePath, request, response)\n```\n\nParameters:\n\n* **filePath**: This is the path to the local file that will be streamed. It might be the value you returned from\n  urlPathProcessor(), in which case it doesn't necessarily have to reference an actual file: it might just be an\n  identifier string that your custom stream handl
 er will recognize. If you are going to end up calling `sendStream()`,\n  it is useful if even a fake file name has a file extension, as that is used for mime type lookup.\n* **request**: The server request object.\n* **response**: The serve response object.\n\nReturn value:\n\nReturn `true` if you have handled the stream request, otherwise `false`.\n\n## serverExtender()\n\nIf you provide this method, it will be called as soon as the server is created. It allows you to attach additional\nfunctionality to the server, such has event handlers, web sockets etc.  The signature of this method is as follows:\n\n``` js\nserverExtender(server, root)\n```\n\nParameters:\n\n* **server**: A reference to the server (the result of calling `http.createServer()`).\n* **root**: The file path on the local file system that is used as the root for the server (if it was provided), for\n  default mapping of URL path to local file system path.\n\n",
+  "readmeFilename": "README.md",
+  "_id": "cordova-serve@0.1.3",
+  "_shasum": "0c843197342cd4e85bdcd78d22887ec63a1a1dbf",
+  "_resolved": "file:CB-9547\\cordova-serve-0.1.3.tgz",
+  "_from": "cordova-serve@>=0.1.3 <0.2.0"
 }

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/src/browser.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/src/browser.js b/node_modules/cordova-serve/src/browser.js
index 5b3b40e..c701ca0 100644
--- a/node_modules/cordova-serve/src/browser.js
+++ b/node_modules/cordova-serve/src/browser.js
@@ -30,12 +30,13 @@ var exec = require('./exec'),
  * @return {Q} Promise to launch the specified browser
  */
 module.exports = function (opts) {
-    //target, url, dataDir
     var target = opts.target || 'chrome';
     var url = opts.url || '';
 
     return getBrowser(target, opts.dataDir).then(function (browser) {
         var args;
+
+        var urlAdded = false;
         switch (process.platform) {
             case 'darwin':
                 args = ['open'];
@@ -51,7 +52,13 @@ module.exports = function (opts) {
                 // responsibility to "cmd /c", which has that logic built in. 
                 // 
                 // Furthermore, if "cmd /c" double-quoted the first parameter, then "start" will interpret it as a window title, 
-                // so we need to add a dummy empty-string window title: http://stackoverflow.com/a/154090/3191 
+                // so we need to add a dummy empty-string window title: http://stackoverflow.com/a/154090/3191
+
+                if (target === 'edge') {
+                    browser += ':' + url;
+                    urlAdded = true;
+                }
+
                 args = ['cmd /c start ""', browser];
                 break;
             case 'linux':
@@ -60,9 +67,11 @@ module.exports = function (opts) {
                 args = [browser];
                 break;
         }
-        args.push(url);
+
+        if (!urlAdded) {
+            args.push(url);
+        }
         var command = args.join(' ');
-        console.log('Executing command: ' + command);
         return exec(command);
     });
 };
@@ -77,7 +86,8 @@ function getBrowser(target, dataDir) {
             'chrome': 'chrome --user-data-dir=%TEMP%\\' + dataDir,
             'safari': 'safari',
             'opera': 'opera',
-            'firefox': 'firefox'
+            'firefox': 'firefox',
+            'edge': 'microsoft-edge'
         },
         'darwin': {
             'chrome': '"Google Chrome" --args' + chromeArgs,

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/src/platform.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/src/platform.js b/node_modules/cordova-serve/src/platform.js
index 12b169b..940b71b 100644
--- a/node_modules/cordova-serve/src/platform.js
+++ b/node_modules/cordova-serve/src/platform.js
@@ -37,12 +37,17 @@ module.exports = function (platform, opts) {
         }
 
         opts = opts || {};
-        opts.root = util.getPlatformWwwRoot(findProjectRoot(opts.root), platform);
+        var projectRoot = findProjectRoot(opts.root);
+        var platformRoot = opts.root = util.getPlatformWwwRoot(projectRoot, platform);
         if (!fs.existsSync(opts.root)) {
             throw new Error('Project does not include the specified platform: ' + platform);
         }
 
-        return server(opts);
+        return server(opts).then(function (serverInfo) {
+            serverInfo.projectRoot = projectRoot;
+            serverInfo.platformRoot = platformRoot;
+            return serverInfo;
+        });
     });
 };
 

http://git-wip-us.apache.org/repos/asf/cordova-browser/blob/62b72ca7/node_modules/cordova-serve/src/server.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-serve/src/server.js b/node_modules/cordova-serve/src/server.js
index eafacc1..ea31831 100644
--- a/node_modules/cordova-serve/src/server.js
+++ b/node_modules/cordova-serve/src/server.js
@@ -17,16 +17,16 @@
  under the License.
  */
 
-var fs     = require('fs'),
+var chalk  = require('chalk'),
+    fs     = require('fs'),
     http   = require('http'),
     url    = require('url'),
     path   = require('path'),
-    Q      = require('q'),
-    stream = require('./stream');
+    Q      = require('q');
 
 /**
  * @desc Launches a server with the specified options and optional custom handlers.
- * @param {{root: ?string, port: ?number, urlPathHandler: ?function, streamHandler: ?function, serverExtender: ?function}} opts
+ * @param {{root: ?string, port: ?number, noLogOutput: ?bool, noServerInfo: ?bool, urlPathHandler: ?function, streamHandler: ?function, serverExtender: ?function}} opts
  *     urlPathHandler(urlPath, request, response, do302, do404, serveFile) - an optional method to provide custom handling for
  *         processing URLs and serving up the resulting data. Can serve up the data itself using response.write(), or determine
  *         a custom local file path and call serveFile to serve it up, or do no processing and call serveFile with no params to
@@ -43,23 +43,29 @@ module.exports = function (opts) {
     var root = opts.root;
     var port = opts.port || 8000;
 
+    var log = module.exports.log = function () {
+        if (!opts.noLogOutput) {
+            console.log.apply(console, arguments);
+        }
+    };
+
     var server = http.createServer(function (request, response) {
         function do404() {
-            console.log('404 ' + request.url);
+            log(chalk.red('404 ') + request.url);
             response.writeHead(404, {'Content-Type': 'text/plain'});
             response.write('404 Not Found\n');
             response.end();
         }
 
         function do302(where) {
-            console.log('302 ' + request.url);
+            log(chalk.green('302 ') + request.url);
             response.setHeader('Location', where);
             response.writeHead(302, {'Content-Type': 'text/plain'});
             response.end();
         }
 
         function do304() {
-            console.log('304 ' + request.url);
+            log(chalk.green('304 ') + request.url);
             response.writeHead(304, {'Content-Type': 'text/plain'});
             response.end();
         }
@@ -102,7 +108,7 @@ module.exports = function (opts) {
                         do302(request.url + '/');
                         return;
                     }
-                    console.log('200 ' + request.url);
+                    log(chalk.green('200 ') + request.url);
                     response.writeHead(200, {'Content-Type': 'text/html'});
                     response.write('<html><head><title>Directory listing of ' + urlPath + '</title></head>');
                     response.write('<h3>Items in this directory</h3>');
@@ -116,13 +122,15 @@ module.exports = function (opts) {
                 } else if (!isFileChanged(filePath)) {
                     do304();
                 } else {
-                    var streamHandler = opts.streamHandler || stream;
+                    var streamHandler = opts.streamHandler || require('./stream');
                     streamHandler(filePath, request, response);
                 }
             });
         }
     }).on('listening', function () {
-        console.log('Static file server running on port ' + port + ' (i.e. http://localhost:' + port + ')\nCTRL + C to shut down');
+        if (!opts.noServerInfo) {
+            log('Static file server running on: ' + chalk.green('http://localhost:' + port) + ' (CTRL + C to shut down)');
+        }
         deferred.resolve({server: server, port: port});
     }).on('error', function (e) {
         if (e && e.toString().indexOf('EADDRINUSE') !== -1) {


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