blob: f44d4190957a60ac8172a1460e1e577b39673be5 [file]
import { fileURLToPath } from 'node:url';
import browserslist from 'browserslist';
import nodepath from 'node:path';
const { dirname } = nodepath;
/** @typedef {{overrideBrowserslist?: string | string[] | undefined, stats?: browserslist.Options["stats"], path?: browserslist.Options["path"], env?: browserslist.Options["env"]}} OurOptions
/**
* @param {string | null} [query]
* @param {OurOptions} [options]
* @param {browserslist.Options["stats"]} [stats]
* @param {string|undefined} [from]
* @param {string} [file]
* @param {browserslist.Options["env"]} [env]
* @returns {string[]}
*/
function computeBrowsersToSupport(query, options, stats, from, file, env) {
if (!query) {
return browserslist(
/** @type {OurOptions} */ (options).overrideBrowserslist,
{
stats: /** @type {OurOptions} */ (options).stats || stats,
path:
/** @type {OurOptions} */ (options).path ||
dirname(from || file || fileURLToPath(import.meta.url)),
env: /** @type {OurOptions} */ (options).env || env,
}
);
}
return browserslist(query);
}
export default computeBrowsersToSupport;