core-js-compat 3.4.5 → 3.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,22 +12,14 @@ const {
12
12
  console.log(targets);
13
13
  /* =>
14
14
  {
15
- 'es.symbol.description': { ios: '12.2-12.4' },
16
15
  'es.symbol.match-all': { ios: '12.2-12.4' },
17
- 'es.array.reverse': { ios: '12.2-12.4' },
18
16
  'es.array.unscopables.flat': { ios: '12.2-12.4' },
19
17
  'es.array.unscopables.flat-map': { ios: '12.2-12.4' },
20
- 'es.array-buffer.slice': { ios: '12.2-12.4' },
21
- 'es.global-this': { ios: '12.2-12.4' },
22
- 'es.json.stringify': { ios: '12.2-12.4' },
23
18
  'es.math.hypot': { chrome: '77' },
24
- 'es.object.from-entries': { ios: '12.2-12.4' },
25
19
  'es.promise.all-settled': { firefox: '69', ios: '12.2-12.4' },
26
20
  'es.promise.finally': { ios: '12.2-12.4' },
27
21
  'es.string.match-all': { chrome: '77', firefox: '69', ios: '12.2-12.4' },
28
22
  'es.string.replace': { firefox: '69', ios: '12.2-12.4' },
29
- 'es.string.trim': { ios: '12.2-12.4' },
30
- 'es.string.trim-end': { ios: '12.2-12.4' },
31
23
  'es.typed-array.float32-array': { ios: '12.2-12.4' },
32
24
  'es.typed-array.float64-array': { ios: '12.2-12.4' },
33
25
  'es.typed-array.int8-array': { ios: '12.2-12.4' },
@@ -41,7 +33,6 @@ console.log(targets);
41
33
  'es.typed-array.of': { ios: '12.2-12.4' },
42
34
  'web.dom-collections.iterator': { ios: '12.2-12.4' },
43
35
  'web.immediate': { chrome: '77', firefox: '69', ios: '12.2-12.4' },
44
- 'web.queue-microtask': { ios: '12.2-12.4' },
45
36
  'web.url': { ios: '12.2-12.4' },
46
37
  'web.url.to-json': { ios: '12.2-12.4' },
47
38
  'web.url-search-params': { ios: '12.2-12.4' }
package/data.json CHANGED
@@ -19,7 +19,7 @@
19
19
  "node": "11.0",
20
20
  "samsung": "10.2",
21
21
  "electron": "5.0",
22
- "ios": "13.0"
22
+ "ios": "12.2"
23
23
  },
24
24
  "es.symbol.async-iterator": {
25
25
  "chrome": "63",
@@ -419,7 +419,7 @@
419
419
  "samsung": "2.1",
420
420
  "android": "4.4",
421
421
  "electron": "0.20",
422
- "ios": "13.0"
422
+ "ios": "12.2"
423
423
  },
424
424
  "es.array.slice": {
425
425
  "edge": "13",
@@ -535,7 +535,7 @@
535
535
  "samsung": "2.1",
536
536
  "android": "4.4.3",
537
537
  "electron": "0.20",
538
- "ios": "13.0"
538
+ "ios": "12.2"
539
539
  },
540
540
  "es.data-view": {
541
541
  "ie": "10",
@@ -660,7 +660,7 @@
660
660
  "node": "12.0",
661
661
  "samsung": "10.2",
662
662
  "electron": "5.0",
663
- "ios": "13.0"
663
+ "ios": "12.2"
664
664
  },
665
665
  "es.json.stringify": {
666
666
  "chrome": "72",
@@ -670,7 +670,7 @@
670
670
  "opera": "59",
671
671
  "node": "12.0",
672
672
  "electron": "5.0",
673
- "ios": "13.0"
673
+ "ios": "12.2"
674
674
  },
675
675
  "es.json.to-string-tag": {
676
676
  "edge": "15",
@@ -1132,7 +1132,7 @@
1132
1132
  "opera": "60",
1133
1133
  "node": "12.0",
1134
1134
  "electron": "5.0",
1135
- "ios": "13.0"
1135
+ "ios": "12.2"
1136
1136
  },
1137
1137
  "es.object.get-own-property-descriptor": {
1138
1138
  "edge": "13",
@@ -1361,6 +1361,7 @@
1361
1361
  "chrome": "67",
1362
1362
  "firefox": "69",
1363
1363
  "safari": "13.0.3",
1364
+ "ios": "13.2.3",
1364
1365
  "edge": "74",
1365
1366
  "opera": "54",
1366
1367
  "node": "10.4",
@@ -1635,6 +1636,7 @@
1635
1636
  },
1636
1637
  "es.string.match-all": {
1637
1638
  "chrome": "80",
1639
+ "safari": "13.1",
1638
1640
  "edge": "80",
1639
1641
  "opera": "67",
1640
1642
  "electron": "8.0"
@@ -1733,7 +1735,7 @@
1733
1735
  "node": "8.3",
1734
1736
  "samsung": "7.2",
1735
1737
  "electron": "1.8",
1736
- "ios": "13.0"
1738
+ "ios": "12.2"
1737
1739
  },
1738
1740
  "es.string.trim-end": {
1739
1741
  "chrome": "66",
@@ -1744,7 +1746,7 @@
1744
1746
  "node": "10.0",
1745
1747
  "samsung": "9.2",
1746
1748
  "electron": "3.0",
1747
- "ios": "13.0"
1749
+ "ios": "12.2"
1748
1750
  },
1749
1751
  "es.string.trim-start": {
1750
1752
  "chrome": "66",
@@ -2318,7 +2320,7 @@
2318
2320
  "node": "12.0",
2319
2321
  "samsung": "10.2",
2320
2322
  "electron": "5.0",
2321
- "ios": "13.0"
2323
+ "ios": "12.2"
2322
2324
  },
2323
2325
  "esnext.iterator.constructor": {},
2324
2326
  "esnext.iterator.as-indexed-pairs": {},
@@ -2411,6 +2413,7 @@
2411
2413
  "esnext.string.code-points": {},
2412
2414
  "esnext.string.match-all": {
2413
2415
  "chrome": "80",
2416
+ "safari": "13.1",
2414
2417
  "edge": "80",
2415
2418
  "opera": "67",
2416
2419
  "electron": "8.0"
@@ -2444,6 +2447,7 @@
2444
2447
  "chrome": "66",
2445
2448
  "node": "0.10",
2446
2449
  "firefox": "60",
2450
+ "safari": "13.1",
2447
2451
  "edge": "74",
2448
2452
  "opera": "53",
2449
2453
  "samsung": "9.2",
@@ -2462,7 +2466,7 @@
2462
2466
  "opera": "58",
2463
2467
  "samsung": "10.2",
2464
2468
  "electron": "5.0",
2465
- "ios": "13.0"
2469
+ "ios": "12.2"
2466
2470
  },
2467
2471
  "web.timers": {
2468
2472
  "ie": "10",
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
- const { coerce, lte } = require('semver');
2
+ const { compare, normalizeModulesList, semver } = require('./helpers');
3
3
  const modulesByVersions = require('./modules-by-versions');
4
4
 
5
5
  module.exports = function (raw) {
6
- const corejs = coerce(String(raw));
6
+ const corejs = semver(raw);
7
7
  if (corejs.major !== 3) {
8
8
  throw RangeError('This version of `core-js-compat` works only with `core-js@3`.');
9
9
  }
10
10
  const result = [];
11
11
  for (const version of Object.keys(modulesByVersions)) {
12
- if (lte(coerce(version), corejs)) {
12
+ if (compare(version, '<=', corejs)) {
13
13
  result.push(...modulesByVersions[version]);
14
14
  }
15
15
  }
16
- return result;
16
+ return normalizeModulesList(result);
17
17
  };
package/helpers.js ADDED
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+ const { coerce: semver, cmp } = require('semver');
3
+ const data = require('./data');
4
+
5
+ const modules = Object.keys(data);
6
+
7
+ function compare(a, operator, b) {
8
+ return cmp(semver(a), operator, semver(b));
9
+ }
10
+
11
+ function normalizeModulesList(list, order) {
12
+ const set = new Set(list);
13
+ return (Array.isArray(order) ? order : modules).filter(name => set.has(name));
14
+ }
15
+
16
+ module.exports = {
17
+ compare,
18
+ normalizeModulesList,
19
+ semver,
20
+ };
package/index.js CHANGED
@@ -1,14 +1,15 @@
1
1
  'use strict';
2
- const { coerce, lt, lte } = require('semver');
3
2
  const browserslist = require('browserslist');
3
+ const { compare, normalizeModulesList } = require('./helpers');
4
4
  const data = require('./data');
5
5
  const getModulesListForTargetVersion = require('./get-modules-list-for-target-version');
6
6
  const has = Function.call.bind({}.hasOwnProperty);
7
7
 
8
8
  const mapping = new Map([
9
- ['ios_saf', 'ios'],
10
9
  ['and_chr', 'chrome'],
11
10
  ['and_ff', 'firefox'],
11
+ ['ie_mob', 'ie'],
12
+ ['ios_saf', 'ios'],
12
13
  ]);
13
14
 
14
15
  const validTargets = new Set([
@@ -26,19 +27,11 @@ const validTargets = new Set([
26
27
  'samsung',
27
28
  ]);
28
29
 
29
- function coercedLte(a, b) {
30
- return lte(coerce(a), coerce(b));
31
- }
32
-
33
- function coercedLt(a, b) {
34
- return lt(coerce(a), coerce(b));
35
- }
36
-
37
30
  function normalizeBrowsersList(list) {
38
31
  return list.map(it => {
39
32
  let [engine, version] = it.split(' ');
40
33
  if (mapping.has(engine)) engine = mapping.get(engine);
41
- else if (engine === 'android' && !coercedLte(version, '4.4.4')) engine = 'chrome';
34
+ else if (engine === 'android' && compare(version, '>', '4.4.4')) engine = 'chrome';
42
35
  return [engine, version];
43
36
  }).filter(([engine]) => validTargets.has(engine));
44
37
  }
@@ -46,7 +39,7 @@ function normalizeBrowsersList(list) {
46
39
  function reduceByMinVersion(list) {
47
40
  const targets = new Map();
48
41
  for (const [engine, version] of list) {
49
- if (!targets.has(engine) || coercedLte(version, targets.get(engine))) {
42
+ if (!targets.has(engine) || compare(version, '<=', targets.get(engine))) {
50
43
  targets.set(engine, version);
51
44
  }
52
45
  }
@@ -61,7 +54,7 @@ function checkModule(name, targets) {
61
54
  targets: {},
62
55
  };
63
56
  for (const [engine, version] of targets) {
64
- if (!has(requirements, engine) || coercedLt(version, requirements[engine])) {
57
+ if (!has(requirements, engine) || compare(version, '<', requirements[engine])) {
65
58
  result.required = true;
66
59
  result.targets[engine] = version;
67
60
  }
@@ -85,8 +78,7 @@ function compat({ targets, filter, version }) {
85
78
  else if (typeof filter == 'string') modules = modules.filter(it => it.startsWith(filter));
86
79
 
87
80
  if (version) {
88
- const availableModules = new Set(getModulesListForTargetVersion(version));
89
- modules = modules.filter(name => availableModules.has(name));
81
+ modules = normalizeModulesList(modules, getModulesListForTargetVersion(version));
90
82
  }
91
83
 
92
84
  modules.forEach(key => {
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "core-js-compat",
3
3
  "description": "core-js compat",
4
- "version": "3.4.5",
4
+ "version": "3.4.7",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/zloirock/core-js.git"
8
8
  },
9
9
  "main": "index.js",
10
10
  "dependencies": {
11
- "browserslist": "^4.7.3",
11
+ "browserslist": "^4.8.0",
12
12
  "semver": "^6.3.0"
13
13
  },
14
14
  "devDependencies": {
15
15
  "detective": "^5.2.0",
16
- "electron-to-chromium": "^1.3.314",
16
+ "electron-to-chromium": "^1.3.321",
17
17
  "glob": "^7.1.6"
18
18
  },
19
19
  "funding": {