Socket
Socket
Sign inDemoInstall

supports-color

Package Overview
Dependencies
1
Maintainers
2
Versions
50
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 7.2.0 to 8.0.0

23

browser.js

@@ -0,5 +1,24 @@

/* eslint-env browser */
'use strict';
function getChromeVersion() {
const matches = /(Chrome|Chromium)\/(?<chromeVersion>\d+)\./.exec(navigator.userAgent);
if (!matches) {
return;
}
return Number.parseInt(matches.groups.chromeVersion, 10);
}
const colorSupport = getChromeVersion() >= 69 ? {
level: 1,
hasBasic: true,
has256: false,
has16m: false
} : false;
module.exports = {
stdout: false,
stderr: false
stdout: colorSupport,
stderr: colorSupport
};

49

index.js

@@ -8,3 +8,3 @@ 'use strict';

let forceColor;
let flagForceColor;
if (hasFlag('no-color') ||

@@ -14,3 +14,3 @@ hasFlag('no-colors') ||

hasFlag('color=never')) {
forceColor = 0;
flagForceColor = 0;
} else if (hasFlag('color') ||

@@ -20,13 +20,16 @@ hasFlag('colors') ||

hasFlag('color=always')) {
forceColor = 1;
flagForceColor = 1;
}
let noFlagForceColor;
if ('FORCE_COLOR' in env) {
if (env.FORCE_COLOR === 'true') {
forceColor = 1;
noFlagForceColor = 1;
} else if (env.FORCE_COLOR === 'false') {
forceColor = 0;
noFlagForceColor = 0;
} else {
forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
noFlagForceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
}
flagForceColor = noFlagForceColor;
}

@@ -47,3 +50,5 @@

function supportsColor(haveStream, streamIsTTY) {
function supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
if (forceColor === 0) {

@@ -53,10 +58,12 @@ return 0;

if (hasFlag('color=16m') ||
hasFlag('color=full') ||
hasFlag('color=truecolor')) {
return 3;
}
if (sniffFlags) {
if (hasFlag('color=16m') ||
hasFlag('color=full') ||
hasFlag('color=truecolor')) {
return 3;
}
if (hasFlag('color=256')) {
return 2;
if (hasFlag('color=256')) {
return 2;
}
}

@@ -105,3 +112,3 @@

if ('TERM_PROGRAM' in env) {
const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);

@@ -132,4 +139,8 @@ switch (env.TERM_PROGRAM) {

function getSupportLevel(stream) {
const level = supportsColor(stream, stream && stream.isTTY);
function getSupportLevel(stream, options = {}) {
const level = supportsColor(stream, {
streamIsTTY: stream && stream.isTTY,
...options
});
return translateLevel(level);

@@ -140,4 +151,4 @@ }

supportsColor: getSupportLevel,
stdout: translateLevel(supportsColor(true, tty.isatty(1))),
stderr: translateLevel(supportsColor(true, tty.isatty(2)))
stdout: getSupportLevel({isTTY: tty.isatty(1)}),
stderr: getSupportLevel({isTTY: tty.isatty(2)})
};
{
"name": "supports-color",
"version": "7.2.0",
"version": "8.0.0",
"description": "Detect whether a terminal supports color",
"license": "MIT",
"repository": "chalk/supports-color",
"funding": "https://github.com/chalk/supports-color?sponsor=1",
"author": {
"name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
"url": "sindresorhus.com"
"url": "https://sindresorhus.com"
},
"engines": {
"node": ">=8"
"node": ">=10"
},

@@ -22,2 +23,6 @@ "scripts": {

],
"exports": {
"node": "./index.js",
"default": "./browser.js"
},
"keywords": [

@@ -49,7 +54,7 @@ "color",

"devDependencies": {
"ava": "^1.4.1",
"import-fresh": "^3.0.0",
"xo": "^0.24.0"
"ava": "^2.4.0",
"import-fresh": "^3.2.2",
"xo": "^0.35.0"
},
"browser": "browser.js"
}

@@ -1,6 +0,5 @@

# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color)
# supports-color
> Detect whether a terminal supports color
## Install

@@ -12,3 +11,2 @@

## Usage

@@ -32,3 +30,2 @@

## API

@@ -44,3 +41,10 @@

### `require('supports-color').supportsColor(stream, options?)`
Additionally, `supports-color` exposes the `.supportsColor()` function that takes an arbitrary write stream (e.g. `process.stdout`) and an optional options object to (re-)evaluate color support for an arbitrary stream.
For example, `require('supports-color').stdout` is the equivalent of `require('supports-color').supportsColor(process.stdout)`.
The options object supports a single boolean property `sniffFlags`. By default it is `true`, which instructs `supportsColor()` to sniff `process.argv` for the multitude of `--color` flags (see _Info_ below). If `false`, then `process.argv` is not considered when determining color support.
## Info

@@ -54,3 +58,2 @@

## Related

@@ -61,3 +64,2 @@

## Maintainers

@@ -68,3 +70,2 @@

---

@@ -71,0 +72,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc