UNPKG

next

Version:

The React Framework

58 lines (57 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "getTargets", { enumerable: true, get: function() { return getTargets; } }); 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; }, {}); } 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