"use strict"; require("core-js/modules/es.object.from-entries"); Object.defineProperty(exports, "__esModule", { value: true }); exports.reverseTargetMappings = reverseTargetMappings; exports.default = DetermineTargetsFromConfig; exports.Versioning = Versioning; exports.STANDARD_TARGET_NAME_MAPPING = void 0; var _browserslist = _interopRequireDefault(require("browserslist")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* eslint no-nested-ternary: off */ const STANDARD_TARGET_NAME_MAPPING = { chrome: "Chrome", firefox: "Firefox", safari: "Safari", ios_saf: "iOS Safari", ie: "IE", ie_mob: "IE Mobile", edge: "Edge", baidu: "Baidu", electron: "Electron", blackberry_browser: "Blackberry Browser", edge_mobile: "Edge Mobile", and_uc: "Android UC Browser", and_chrome: "Android Chrome", and_firefox: "Android Firefox", and_webview: "Android Webview", and_samsung: "Samsung Browser", and_opera: "Opera Android", opera: "Opera", opera_mini: "Opera Mini", opera_mobile: "Opera Mobile", node: "Node.js", kaios: "KaiOS" }; exports.STANDARD_TARGET_NAME_MAPPING = STANDARD_TARGET_NAME_MAPPING; function reverseTargetMappings(targetMappings) { const reversedEntries = Object.entries(targetMappings).map(entry => entry.reverse()); return Object.fromEntries(reversedEntries); } /** * Determine the targets based on the browserslist config object * * @param configPath - The file or a directory path to look for the browserslist config file */ function DetermineTargetsFromConfig(configPath, config) { const browserslistOpts = { path: configPath }; if (Array.isArray(config) || typeof config === "string") { return (0, _browserslist.default)(config, browserslistOpts); } if (config && typeof config === "object") { return (0, _browserslist.default)([...(config.production || []), ...(config.development || [])], browserslistOpts); } return (0, _browserslist.default)(undefined, browserslistOpts); } /** * Take a list of targets returned from browserslist api, return the lowest version * version of each target */ function Versioning(targetslist) { return targetslist // Sort the targets by target name and then version number in ascending order .map(e => { const [target, version] = e.split(" "); return { target, version, parsedVersion: version === "all" ? 0 : version.includes("-") ? parseFloat(version.split("-")[0]) : parseFloat(version) }; }) // Sort the targets by target name and then version number in descending order // ex. [a@3, b@3, a@1] => [a@3, a@1, b@3] .sort((a, b) => { if (b.target === a.target) { // If any version === 'all', return 0. The only version of op_mini is 'all' // Otherwise, compare the versions return typeof b.parsedVersion === "string" || typeof a.parsedVersion === "string" ? 0 : b.parsedVersion - a.parsedVersion; } return b.target > a.target ? 1 : -1; }) // First last target always has the latest version .filter((e, i, items) => // Check if the current target is the last of its kind. If it is, then it // is most recent version i + 1 === items.length || e.target !== items[i + 1].target); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9WZXJzaW9uaW5nLmpzIl0sIm5hbWVzIjpbIlNUQU5EQVJEX1RBUkdFVF9OQU1FX01BUFBJTkciLCJjaHJvbWUiLCJmaXJlZm94Iiwic2FmYXJpIiwiaW9zX3NhZiIsImllIiwiaWVfbW9iIiwiZWRnZSIsImJhaWR1IiwiZWxlY3Ryb24iLCJibGFja2JlcnJ5X2Jyb3dzZXIiLCJlZGdlX21vYmlsZSIsImFuZF91YyIsImFuZF9jaHJvbWUiLCJhbmRfZmlyZWZveCIsImFuZF93ZWJ2aWV3IiwiYW5kX3NhbXN1bmciLCJhbmRfb3BlcmEiLCJvcGVyYSIsIm9wZXJhX21pbmkiLCJvcGVyYV9tb2JpbGUiLCJub2RlIiwia2Fpb3MiLCJyZXZlcnNlVGFyZ2V0TWFwcGluZ3MiLCJ0YXJnZXRNYXBwaW5ncyIsInJldmVyc2VkRW50cmllcyIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJlbnRyeSIsInJldmVyc2UiLCJmcm9tRW50cmllcyIsIkRldGVybWluZVRhcmdldHNGcm9tQ29uZmlnIiwiY29uZmlnUGF0aCIsImNvbmZpZyIsImJyb3dzZXJzbGlzdE9wdHMiLCJwYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwicHJvZHVjdGlvbiIsImRldmVsb3BtZW50IiwidW5kZWZpbmVkIiwiVmVyc2lvbmluZyIsInRhcmdldHNsaXN0IiwiZSIsInRhcmdldCIsInZlcnNpb24iLCJzcGxpdCIsInBhcnNlZFZlcnNpb24iLCJpbmNsdWRlcyIsInBhcnNlRmxvYXQiLCJzb3J0IiwiYSIsImIiLCJmaWx0ZXIiLCJpIiwiaXRlbXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBRkE7QUFLTyxNQUFNQSw0QkFBNEIsR0FBRztBQUMxQ0MsRUFBQUEsTUFBTSxFQUFFLFFBRGtDO0FBRTFDQyxFQUFBQSxPQUFPLEVBQUUsU0FGaUM7QUFHMUNDLEVBQUFBLE1BQU0sRUFBRSxRQUhrQztBQUkxQ0MsRUFBQUEsT0FBTyxFQUFFLFlBSmlDO0FB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QUFPSSxDQUFDLENBQUNKLGFBQVQsS0FBMkIsUUFEdEIsR0FFSCxDQUZHLEdBR0hLLENBQUMsQ0FBQ0wsYUFBRixHQUFrQkksQ0FBQyxDQUFDSixhQUh4QjtBQUlEOztBQUNELFdBQU9LLENBQUMsQ0FBQ1IsTUFBRixHQUFXTyxDQUFDLENBQUNQLE1BQWIsR0FBc0IsQ0FBdEIsR0FBMEIsQ0FBQyxDQUFsQztBQUNELEdBM0JILEVBNEJFO0FBNUJGLEdBNkJHUyxNQTdCSCxDQThCSSxDQUFDVixDQUFELEVBQW9CVyxDQUFwQixFQUErQkMsS0FBL0IsS0FDRTtBQUNBO0FBQ0FELEVBQUFBLENBQUMsR0FBRyxDQUFKLEtBQVVDLEtBQUssQ0FBQ0MsTUFBaEIsSUFBMEJiLENBQUMsQ0FBQ0MsTUFBRixLQUFhVyxLQUFLLENBQUNELENBQUMsR0FBRyxDQUFMLENBQUwsQ0FBYVYsTUFqQzFELENBREY7QUFxQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbmVzdGVkLXRlcm5hcnk6IG9mZiAqL1xuLy8gQGZsb3dcbmltcG9ydCBicm93c2Vyc2xpc3QgZnJvbSBcImJyb3dzZXJzbGlzdFwiO1xuaW1wb3J0IHR5cGUgeyBCcm93c2VyTGlzdENvbmZpZyB9IGZyb20gXCIuL0xpbnRUeXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU1RBTkRBUkRfVEFSR0VUX05BTUVfTUFQUElORyA9IHtcbiAgY2hyb21lOiBcIkNocm9tZVwiLFxuICBmaXJlZm94OiBcIkZpcmVmb3hcIixcbiAgc2FmYXJpOiBcIlNhZmFyaVwiLFxuICBpb3Nfc2FmOiBcImlPUyBTYWZhcmlcIixcbiAgaWU6IFwiSUVcIixcbiAgaWVfbW9iOiBcIklFIE1vYmlsZVwiLFxuICBlZGdlOiBcIkVkZ2VcIixcbiAgYmFpZHU6IFwiQmFpZHVcIixcbiAgZWxlY3Ryb246IFwiRWxlY3Ryb25cIixcbiAgYmxhY2tiZXJyeV9icm93c2VyOiBcIkJsYWNrYmVycnkgQnJvd3NlclwiLFxuICBlZGdlX21vYmlsZTogXCJFZGdlIE1vYmlsZVwiLFxuICBhbmRfdWM6IFwiQW5kcm9pZCBVQyBCcm93c2VyXCIsXG4gIGFuZF9jaHJvbWU6IFwiQW5kcm9pZCBDaHJvbWVcIixcbiAgYW5kX2ZpcmVmb3g6IFwiQW5kcm9pZCBGaXJlZm94XCIsXG4gIGFuZF93ZWJ2aWV3OiBcIkFuZHJvaWQgV2Vidmlld1wiLFxuICBhbmRfc2Ftc3VuZzogXCJTYW1zdW5nIEJyb3dzZXJcIixcbiAgYW5kX29wZXJhOiBcIk9wZXJhIEFuZHJvaWRcIixcbiAgb3BlcmE6IFwiT3BlcmFcIixcbiAgb3BlcmFfbWluaTogXCJPcGVyYSBNaW5pXCIsXG4gIG9wZXJhX21vYmlsZTogXCJPcGVyYSBNb2JpbGVcIixcbiAgbm9kZTogXCJOb2RlLmpzXCIsXG4gIGthaW9zOiBcIkthaU9TXCJcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXZlcnNlVGFyZ2V0TWFwcGluZ3ModGFyZ2V0TWFwcGluZ3MpIHtcbiAgY29uc3QgcmV2ZXJzZWRFbnRyaWVzID0gT2JqZWN0LmVudHJpZXModGFyZ2V0TWFwcGluZ3MpLm1hcChlbnRyeSA9PlxuICAgIGVudHJ5LnJldmVyc2UoKVxuICApO1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKHJldmVyc2VkRW50cmllcyk7XG59XG5cbnR5cGUgVGFyZ2V0TGlzdEl0ZW0gPSB7XG4gIHRhcmdldDogc3RyaW5nLFxuICBwYXJzZWRWZXJzaW9uOiBudW1iZXIsXG4gIHZlcnNpb246IHN0cmluZyB8IFwiYWxsXCJcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSB0YXJnZXRzIGJhc2VkIG9uIHRoZSBicm93c2Vyc2xpc3QgY29uZmlnIG9iamVjdFxuICpcbiAqIEBwYXJhbSBjb25maWdQYXRoIC0gVGhlIGZpbGUgb3IgYSBkaXJlY3RvcnkgcGF0aCB0byBsb29rIGZvciB0aGUgYnJvd3NlcnNsaXN0IGNvbmZpZyBmaWxlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERldGVybWluZVRhcmdldHNGcm9tQ29uZmlnKFxuICBjb25maWdQYXRoOiBzdHJpbmcsXG4gIGNvbmZpZz86IEJyb3dzZXJMaXN0Q29uZmlnXG4pOiBBcnJheTxzdHJpbmc+IHtcbiAgY29uc3QgYnJvd3NlcnNsaXN0T3B0cyA9IHsgcGF0aDogY29uZmlnUGF0aCB9O1xuXG4gIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZykgfHwgdHlwZW9mIGNvbmZpZyA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBicm93c2Vyc2xpc3QoY29uZmlnLCBicm93c2Vyc2xpc3RPcHRzKTtcbiAgfVxuXG4gIGlmIChjb25maWcgJiYgdHlwZW9mIGNvbmZpZyA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBicm93c2Vyc2xpc3QoXG4gICAgICBbLi4uKGNvbmZpZy5wcm9kdWN0aW9uIHx8IFtdKSwgLi4uKGNvbmZpZy5kZXZlbG9wbWVudCB8fCBbXSldLFxuICAgICAgYnJvd3NlcnNsaXN0T3B0c1xuICAgICk7XG4gIH1cblxuICByZXR1cm4gYnJvd3NlcnNsaXN0KHVuZGVmaW5lZCwgYnJvd3NlcnNsaXN0T3B0cyk7XG59XG5cbi8qKlxuICogVGFrZSBhIGxpc3Qgb2YgdGFyZ2V0cyByZXR1cm5lZCBmcm9tIGJyb3dzZXJzbGlzdCBhcGksIHJldHVybiB0aGUgbG93ZXN0IHZlcnNpb25cbiAqIHZlcnNpb24gb2YgZWFjaCB0YXJnZXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFZlcnNpb25pbmcodGFyZ2V0c2xpc3Q6IEFycmF5PHN0cmluZz4pOiBBcnJheTxUYXJnZXRMaXN0SXRlbT4ge1xuICByZXR1cm4gKFxuICAgIHRhcmdldHNsaXN0XG4gICAgICAvLyBTb3J0IHRoZSB0YXJnZXRzIGJ5IHRhcmdldCBuYW1lIGFuZCB0aGVuIHZlcnNpb24gbnVtYmVyIGluIGFzY2VuZGluZyBvcmRlclxuICAgICAgLm1hcCgoZTogc3RyaW5nKTogVGFyZ2V0TGlzdEl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBbdGFyZ2V0LCB2ZXJzaW9uXSA9IGUuc3BsaXQoXCIgXCIpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgIHBhcnNlZFZlcnNpb246XG4gICAgICAgICAgICB2ZXJzaW9uID09PSBcImFsbFwiXG4gICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICA6IHZlcnNpb24uaW5jbHVkZXMoXCItXCIpXG4gICAgICAgICAgICAgID8gcGFyc2VGbG9hdCh2ZXJzaW9uLnNwbGl0KFwiLVwiKVswXSlcbiAgICAgICAgICAgICAgOiBwYXJzZUZsb2F0KHZlcnNpb24pXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICAgLy8gU29ydCB0aGUgdGFyZ2V0cyBieSB0YXJnZXQgbmFtZSBhbmQgdGhlbiB2ZXJzaW9uIG51bWJlciBpbiBkZXNjZW5kaW5nIG9yZGVyXG4gICAgICAvLyBleC4gW2FAMywgYkAzLCBhQDFdID0+IFthQDMsIGFAMSwgYkAzXVxuICAgICAgLnNvcnQoKGE6IFRhcmdldExpc3RJdGVtLCBiOiBUYXJnZXRMaXN0SXRlbSk6IG51bWJlciA9PiB7XG4gICAgICAgIGlmIChiLnRhcmdldCA9PT0gYS50YXJnZXQpIHtcbiAgICAgICAgICAvLyBJZiBhbnkgdmVyc2lvbiA9PT0gJ2FsbCcsIHJldHVybiAwLiBUaGUgb25seSB2ZXJzaW9uIG9mIG9wX21pbmkgaXMgJ2FsbCdcbiAgICAgICAgICAvLyBPdGhlcndpc2UsIGNvbXBhcmUgdGhlIHZlcnNpb25zXG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiBiLnBhcnNlZFZlcnNpb24gPT09IFwic3RyaW5nXCIgfHxcbiAgICAgICAgICAgIHR5cGVvZiBhLnBhcnNlZFZlcnNpb24gPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiBiLnBhcnNlZFZlcnNpb24gLSBhLnBhcnNlZFZlcnNpb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGIudGFyZ2V0ID4gYS50YXJnZXQgPyAxIDogLTE7XG4gICAgICB9KVxuICAgICAgLy8gRmlyc3QgbGFzdCB0YXJnZXQgYWx3YXlzIGhhcyB0aGUgbGF0ZXN0IHZlcnNpb25cbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChlOiBUYXJnZXRMaXN0SXRlbSwgaTogbnVtYmVyLCBpdGVtczogQXJyYXk8VGFyZ2V0TGlzdEl0ZW0+KTogYm9vbGVhbiA9PlxuICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IHRhcmdldCBpcyB0aGUgbGFzdCBvZiBpdHMga2luZC4gSWYgaXQgaXMsIHRoZW4gaXRcbiAgICAgICAgICAvLyBpcyBtb3N0IHJlY2VudCB2ZXJzaW9uXG4gICAgICAgICAgaSArIDEgPT09IGl0ZW1zLmxlbmd0aCB8fCBlLnRhcmdldCAhPT0gaXRlbXNbaSArIDFdLnRhcmdldFxuICAgICAgKVxuICApO1xufVxuIl19