core-js-compat
Advanced tools
Comparing version 3.4.5 to 3.4.7
@@ -22,3 +22,3 @@ { | ||
"electron": "5.0", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -423,3 +423,3 @@ "es.symbol.async-iterator": { | ||
"electron": "0.20", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -540,3 +540,3 @@ "es.array.slice": { | ||
"electron": "0.20", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -666,3 +666,3 @@ "es.data-view": { | ||
"electron": "5.0", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -677,3 +677,3 @@ "es.json.stringify": { | ||
"electron": "5.0", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -1140,3 +1140,3 @@ "es.json.to-string-tag": { | ||
"electron": "5.0", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -1370,2 +1370,3 @@ "es.object.get-own-property-descriptor": { | ||
"safari": "13.0.3", | ||
"ios": "13.2.3", | ||
"edge": "74", | ||
@@ -1645,2 +1646,3 @@ "opera": "54", | ||
"chrome": "80", | ||
"safari": "13.1", | ||
"edge": "80", | ||
@@ -1744,3 +1746,3 @@ "opera": "67", | ||
"electron": "1.8", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -1756,3 +1758,3 @@ "es.string.trim-end": { | ||
"electron": "3.0", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -2331,3 +2333,3 @@ "es.string.trim-start": { | ||
"electron": "5.0", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -2425,2 +2427,3 @@ "esnext.iterator.constructor": {}, | ||
"chrome": "80", | ||
"safari": "13.1", | ||
"edge": "80", | ||
@@ -2459,2 +2462,3 @@ "opera": "67", | ||
"firefox": "60", | ||
"safari": "13.1", | ||
"edge": "74", | ||
@@ -2478,3 +2482,3 @@ "opera": "53", | ||
"electron": "5.0", | ||
"ios": "13.0" | ||
"ios": "12.2" | ||
}, | ||
@@ -2481,0 +2485,0 @@ "web.timers": { |
'use strict'; | ||
const { coerce, lte } = require('semver'); | ||
const { compare, normalizeModulesList, semver } = require('./helpers'); | ||
const modulesByVersions = require('./modules-by-versions'); | ||
module.exports = function (raw) { | ||
const corejs = coerce(String(raw)); | ||
const corejs = semver(raw); | ||
if (corejs.major !== 3) { | ||
@@ -12,7 +12,7 @@ throw RangeError('This version of `core-js-compat` works only with `core-js@3`.'); | ||
for (const version of Object.keys(modulesByVersions)) { | ||
if (lte(coerce(version), corejs)) { | ||
if (compare(version, '<=', corejs)) { | ||
result.push(...modulesByVersions[version]); | ||
} | ||
} | ||
return result; | ||
return normalizeModulesList(result); | ||
}; |
22
index.js
'use strict'; | ||
const { coerce, lt, lte } = require('semver'); | ||
const browserslist = require('browserslist'); | ||
const { compare, normalizeModulesList } = require('./helpers'); | ||
const data = require('./data'); | ||
@@ -9,5 +9,6 @@ const getModulesListForTargetVersion = require('./get-modules-list-for-target-version'); | ||
const mapping = new Map([ | ||
['ios_saf', 'ios'], | ||
['and_chr', 'chrome'], | ||
['and_ff', 'firefox'], | ||
['ie_mob', 'ie'], | ||
['ios_saf', 'ios'], | ||
]); | ||
@@ -30,10 +31,2 @@ | ||
function coercedLte(a, b) { | ||
return lte(coerce(a), coerce(b)); | ||
} | ||
function coercedLt(a, b) { | ||
return lt(coerce(a), coerce(b)); | ||
} | ||
function normalizeBrowsersList(list) { | ||
@@ -43,3 +36,3 @@ return list.map(it => { | ||
if (mapping.has(engine)) engine = mapping.get(engine); | ||
else if (engine === 'android' && !coercedLte(version, '4.4.4')) engine = 'chrome'; | ||
else if (engine === 'android' && compare(version, '>', '4.4.4')) engine = 'chrome'; | ||
return [engine, version]; | ||
@@ -52,3 +45,3 @@ }).filter(([engine]) => validTargets.has(engine)); | ||
for (const [engine, version] of list) { | ||
if (!targets.has(engine) || coercedLte(version, targets.get(engine))) { | ||
if (!targets.has(engine) || compare(version, '<=', targets.get(engine))) { | ||
targets.set(engine, version); | ||
@@ -68,3 +61,3 @@ } | ||
for (const [engine, version] of targets) { | ||
if (!has(requirements, engine) || coercedLt(version, requirements[engine])) { | ||
if (!has(requirements, engine) || compare(version, '<', requirements[engine])) { | ||
result.required = true; | ||
@@ -93,4 +86,3 @@ result.targets[engine] = version; | ||
if (version) { | ||
const availableModules = new Set(getModulesListForTargetVersion(version)); | ||
modules = modules.filter(name => availableModules.has(name)); | ||
modules = normalizeModulesList(modules, getModulesListForTargetVersion(version)); | ||
} | ||
@@ -97,0 +89,0 @@ |
{ | ||
"name": "core-js-compat", | ||
"description": "core-js compat", | ||
"version": "3.4.5", | ||
"version": "3.4.7", | ||
"repository": { | ||
@@ -11,3 +11,3 @@ "type": "git", | ||
"dependencies": { | ||
"browserslist": "^4.7.3", | ||
"browserslist": "^4.8.0", | ||
"semver": "^6.3.0" | ||
@@ -17,3 +17,3 @@ }, | ||
"detective": "^5.2.0", | ||
"electron-to-chromium": "^1.3.314", | ||
"electron-to-chromium": "^1.3.321", | ||
"glob": "^7.1.6" | ||
@@ -20,0 +20,0 @@ }, |
@@ -15,12 +15,6 @@ [`core-js-compat` package](https://github.com/zloirock/core-js/packages/core-js-compat) contains data about the necessity of [`core-js`](https://github.com/zloirock/core-js) modules and API for getting a list of required core-js modules by browserslist query. | ||
{ | ||
'es.symbol.description': { ios: '12.2-12.4' }, | ||
'es.symbol.match-all': { ios: '12.2-12.4' }, | ||
'es.array.reverse': { ios: '12.2-12.4' }, | ||
'es.array.unscopables.flat': { ios: '12.2-12.4' }, | ||
'es.array.unscopables.flat-map': { ios: '12.2-12.4' }, | ||
'es.array-buffer.slice': { ios: '12.2-12.4' }, | ||
'es.global-this': { ios: '12.2-12.4' }, | ||
'es.json.stringify': { ios: '12.2-12.4' }, | ||
'es.math.hypot': { chrome: '77' }, | ||
'es.object.from-entries': { ios: '12.2-12.4' }, | ||
'es.promise.all-settled': { firefox: '69', ios: '12.2-12.4' }, | ||
@@ -30,4 +24,2 @@ 'es.promise.finally': { ios: '12.2-12.4' }, | ||
'es.string.replace': { firefox: '69', ios: '12.2-12.4' }, | ||
'es.string.trim': { ios: '12.2-12.4' }, | ||
'es.string.trim-end': { ios: '12.2-12.4' }, | ||
'es.typed-array.float32-array': { ios: '12.2-12.4' }, | ||
@@ -46,3 +38,2 @@ 'es.typed-array.float64-array': { ios: '12.2-12.4' }, | ||
'web.immediate': { chrome: '77', firefox: '69', ios: '12.2-12.4' }, | ||
'web.queue-microtask': { ios: '12.2-12.4' }, | ||
'web.url': { ios: '12.2-12.4' }, | ||
@@ -49,0 +40,0 @@ 'web.url.to-json': { ios: '12.2-12.4' }, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
278494
9
11201
44
Updatedbrowserslist@^4.8.0