core-js-compat 3.5.0 → 3.6.3
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/LICENSE +1 -1
- package/README.md +1 -1
- package/compat.js +3 -51
- package/data.json +1424 -1391
- package/entries.json +4608 -4551
- package/external.json +12 -0
- package/helpers.js +10 -1
- package/modules-by-versions.json +4 -0
- package/modules.json +2 -0
- package/package.json +4 -4
- package/targets-parser.js +72 -0
package/external.json
ADDED
package/helpers.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
const
|
|
2
|
+
const cmp = require('semver/functions/cmp');
|
|
3
|
+
const semver = require('semver/functions/coerce');
|
|
3
4
|
|
|
4
5
|
const has = Function.call.bind({}.hasOwnProperty);
|
|
5
6
|
|
|
@@ -12,9 +13,17 @@ function intersection(list, order) {
|
|
|
12
13
|
return order.filter(name => set.has(name));
|
|
13
14
|
}
|
|
14
15
|
|
|
16
|
+
function sortObjectByKey(object, fn) {
|
|
17
|
+
return Object.keys(object).sort(fn).reduce((memo, key) => {
|
|
18
|
+
memo[key] = object[key];
|
|
19
|
+
return memo;
|
|
20
|
+
}, {});
|
|
21
|
+
}
|
|
22
|
+
|
|
15
23
|
module.exports = {
|
|
16
24
|
compare,
|
|
17
25
|
has,
|
|
18
26
|
intersection,
|
|
19
27
|
semver,
|
|
28
|
+
sortObjectByKey,
|
|
20
29
|
};
|
package/modules-by-versions.json
CHANGED
package/modules.json
CHANGED
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
|
+
"version": "3.6.3",
|
|
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.8.
|
|
12
|
-
"semver": "
|
|
11
|
+
"browserslist": "^4.8.3",
|
|
12
|
+
"semver": "7.0.0"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"detective": "^5.2.0",
|
|
16
|
-
"electron-to-chromium": "^1.3.
|
|
16
|
+
"electron-to-chromium": "^1.3.327",
|
|
17
17
|
"glob": "^7.1.6"
|
|
18
18
|
},
|
|
19
19
|
"funding": {
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const browserslist = require('browserslist');
|
|
3
|
+
const { compare, has } = require('./helpers');
|
|
4
|
+
const external = require('./external');
|
|
5
|
+
|
|
6
|
+
const aliases = new Map([
|
|
7
|
+
['and_chr', 'chrome'],
|
|
8
|
+
['and_ff', 'firefox'],
|
|
9
|
+
['ie_mob', 'ie'],
|
|
10
|
+
['ios_saf', 'ios'],
|
|
11
|
+
['op_mob', 'opera_mobile'],
|
|
12
|
+
]);
|
|
13
|
+
|
|
14
|
+
const validTargets = new Set([
|
|
15
|
+
'android',
|
|
16
|
+
'chrome',
|
|
17
|
+
'edge',
|
|
18
|
+
'electron',
|
|
19
|
+
'firefox',
|
|
20
|
+
'ie',
|
|
21
|
+
'ios',
|
|
22
|
+
'node',
|
|
23
|
+
'opera',
|
|
24
|
+
'opera_mobile',
|
|
25
|
+
'phantom',
|
|
26
|
+
'safari',
|
|
27
|
+
'samsung',
|
|
28
|
+
]);
|
|
29
|
+
|
|
30
|
+
module.exports = function (targets) {
|
|
31
|
+
if (typeof targets !== 'object' || Array.isArray(targets)) {
|
|
32
|
+
targets = { browsers: targets };
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const { browsers, esmodules, node, ...rest } = targets;
|
|
36
|
+
const list = Object.entries(rest);
|
|
37
|
+
|
|
38
|
+
if (browsers) {
|
|
39
|
+
list.push(...browserslist(browsers).map(it => it.split(' ')));
|
|
40
|
+
}
|
|
41
|
+
if (esmodules) {
|
|
42
|
+
list.push(...Object.entries(external.modules));
|
|
43
|
+
}
|
|
44
|
+
if (node) {
|
|
45
|
+
list.push(['node', node === 'current' ? process.versions.node : node]);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const normalized = list.map(([engine, version]) => {
|
|
49
|
+
if (has(browserslist.aliases, engine)) {
|
|
50
|
+
engine = browserslist.aliases[engine];
|
|
51
|
+
}
|
|
52
|
+
if (aliases.has(engine)) {
|
|
53
|
+
engine = aliases.get(engine);
|
|
54
|
+
} else if (engine === 'android' && compare(version, '>', '4.4.4')) {
|
|
55
|
+
engine = 'chrome';
|
|
56
|
+
}
|
|
57
|
+
return [engine, String(version)];
|
|
58
|
+
}).filter(([engine]) => {
|
|
59
|
+
return validTargets.has(engine);
|
|
60
|
+
}).sort(([a], [b]) => {
|
|
61
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
const reducedByMinVersion = new Map();
|
|
65
|
+
for (const [engine, version] of normalized) {
|
|
66
|
+
if (!reducedByMinVersion.has(engine) || compare(version, '<=', reducedByMinVersion.get(engine))) {
|
|
67
|
+
reducedByMinVersion.set(engine, version);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return reducedByMinVersion;
|
|
72
|
+
};
|