Files
vercel_dashboard_example/.pnpm-store/v11/files/00/a83fb8a907fbf0290b8476367950b4a346d74e6cdd4bf309e3f84cd69707e7e6130e4144ee85bad56e48e1e459adbcac3e703da30a97d7c3d478eee695320f
T
2026-05-12 14:53:15 +00:00

48 lines
1.5 KiB
Plaintext

let targetsCache = {};
/**
* Convert a version number to a single 24-bit number
*
* https://github.com/lumeland/lume/blob/4cc75599006df423a14befc06d3ed8493c645b09/plugins/lightningcss.ts#L160
*/ function version(major, minor = 0, patch = 0) {
return major << 16 | minor << 8 | patch;
}
function parseVersion(v) {
return v.split('.').reduce((acc, val)=>{
if (!acc) {
return null;
}
const parsed = parseInt(val, 10);
if (isNaN(parsed)) {
return null;
}
acc.push(parsed);
return acc;
}, []);
}
function browserslistToTargets(targets) {
return targets.reduce((acc, value)=>{
const [name, v] = value.split(' ');
const parsedVersion = parseVersion(v);
if (!parsedVersion) {
return acc;
}
const versionDigit = version(parsedVersion[0], parsedVersion[1], parsedVersion[2]);
if (name === 'and_qq' || name === 'and_uc' || name === 'baidu' || name === 'bb' || name === 'kaios' || name === 'op_mini') {
return acc;
}
if (acc[name] == null || versionDigit < acc[name]) {
acc[name] = versionDigit;
}
return acc;
}, {});
}
export const getTargets = (opts)=>{
const cache = targetsCache[opts.key];
if (cache) {
return cache;
}
const result = browserslistToTargets(opts.targets ?? []);
return targetsCache[opts.key] = result;
};
//# sourceMappingURL=utils.js.map