diff --git a/browser.js b/browser.js index 4e75e86..1ffde64 100644 --- a/browser.js +++ b/browser.js @@ -1,15 +1,26 @@ /* eslint-env browser */ -const isBlinkBasedBrowser = navigator.userAgentData - ? navigator.userAgentData.brands.some(({brand}) => brand === 'Chromium') - : /\b(Chrome|Chromium)\//.test(navigator.userAgent); +const level = (() => { + if (navigator.userAgentData) { + const brand = navigator.userAgentData.brands.find(({brand}) => brand === 'Chromium'); + if (brand?.version > 93) { + return 3; + } + } -const colorSupport = isBlinkBasedBrowser ? { - level: 1, + if (/\b(Chrome|Chromium)\//.test(navigator.userAgent)) { + return 1; + } + + return 0; +})(); + +const colorSupport = level !== 0 && { + level, hasBasic: true, - has256: false, - has16m: false, -} : false; + has256: level >= 2, + has16m: level >= 3, +}; const supportsColor = { stdout: colorSupport, diff --git a/index.js b/index.js index 55f813c..e00f8e9 100644 --- a/index.js +++ b/index.js @@ -3,7 +3,7 @@ import os from 'node:os'; import tty from 'node:tty'; // From: https://github.com/sindresorhus/has-flag/blob/main/index.js -function hasFlag(flag, argv = process.argv) { +function hasFlag(flag, argv = globalThis.Deno?.args ?? process.argv) { const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); const position = argv.indexOf(prefix + flag); const terminatorPosition = argv.indexOf('--');