All files / node_modules/supports-color index.js

100% Statements 6/6
76.92% Branches 10/13
100% Functions 2/2
100% Lines 6/6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 511x 1x   1x 1x   7x       1x                                                                                
'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;
})();