mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-10-14 02:48:06 +08:00
32 lines
808 B
TypeScript
32 lines
808 B
TypeScript
interface Config {
|
|
targets?: Record<string, string>;
|
|
}
|
|
|
|
interface TargetsAndBrowsersListResult {
|
|
targets: Record<string, string>;
|
|
browserslist: string[];
|
|
}
|
|
|
|
export default function getTargetsAndBrowsersList({ config }: { config: Config }): TargetsAndBrowsersListResult {
|
|
let targets: Record<string, string> = config.targets || {};
|
|
|
|
targets = Object.keys(targets)
|
|
.reduce((memo, key) => {
|
|
memo[key] = targets[key];
|
|
return memo;
|
|
}, {} as Record<string, string>);
|
|
|
|
let browserslist: string[];
|
|
if (Array.isArray(targets.browsers)) {
|
|
browserslist = targets.browsers;
|
|
}
|
|
else {
|
|
browserslist = Object.keys(targets).map(key => `${key} >= ${targets[key]}`);
|
|
}
|
|
|
|
return {
|
|
targets,
|
|
browserslist,
|
|
};
|
|
}
|