From 49c50dd43398e4787ed2898c9e7e2aac57d87aef Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Fri, 8 Jul 2022 23:34:49 +0700 Subject: [PATCH 1/5] add Bun compat tests runner --- CONTRIBUTING.md | 2 ++ package.json | 5 +++-- packages/core-js-compat/README.md | 1 + packages/core-js-compat/src/external.mjs | 1 + packages/core-js-compat/targets-parser.js | 1 + tests/compat-tools/targets-parser.mjs | 2 ++ tests/compat/browsers-runner.js | 1 + tests/compat/bun-runner.js | 7 +++++++ 8 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 tests/compat/bun-runner.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 536cb70235a3..0a68aaafde6f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,6 +25,7 @@ For updating `core-js-compat` data: - If you want to add new data for NodeJS, run `npm run compat-node` with the installed required NodeJS version and you will see the results in the console. Use `npm run compat-node-json` if you want to get the result as JSON. - If you want to add new data for Deno, run `npm run compat-deno` with the installed required Deno version and you will see the results in the console. Use `npm run compat-deno-json` if you want to get the result as JSON. +- If you want to add new data for Bun, run `npm run compat-bun` with the installed required Bun version and you will see the results in the console. - If you want to add new data for Rhino, set the required Rhino version in `compat-rhino-prepare` NPM script in [`package.json`](./package.json), run `npm run compat-rhino` and you will see the results in the console. - If you want to add new data for Hermes, run `npm run compat-hermes -- YOR_PATH_TO_HERMES` and you will see the results in the console. - After getting this data, add it to [`packages/core-js-compat/src/data.mjs`](./packages/core-js-compat/src/data.mjs). @@ -33,6 +34,7 @@ For updating `core-js-compat` data: engine | mandatory check | how to run tests | base data inherits from | mapping for a new version --- | --- | --- | --- | --- `android` | | browser runner | `chrome` | +`bun` | features | bun runner | | `chrome` | features | browser runner | | `deno` | non-ES features | deno runner | `chrome` (only ES) | required `edge` | features | browser runner | `ie` (<=18), `chrome` (>=74) | diff --git a/package.json b/package.json index 6bbee0608ff8..a37fcd330e2d 100644 --- a/package.json +++ b/package.json @@ -103,11 +103,12 @@ "check-unused-modules": "zx scripts/check-unused-modules.mjs", "check-v8-protectors": "node --trace-protector-invalidation packages/core-js", "check": "run-s check-v8-protectors check-unused-modules check-compat-tests check-modules-by-versions check-mapping check-dependencies", - "compat-node": "node tests/compat/node-runner", - "compat-node-json": "node tests/compat/node-runner --mode=JSON", + "compat-bun": "bun tests/compat/bun-runner.js", "compat-deno": "deno run --allow-read tests/compat/deno-runner.mjs", "compat-deno-json": "deno run --allow-read tests/compat/deno-runner.mjs --mode=JSON", "compat-hermes": "zx tests/compat/hermes-adapter.mjs", + "compat-node": "node tests/compat/node-runner", + "compat-node-json": "node tests/compat/node-runner --mode=JSON", "compat-rhino": "run-s compat-rhino-prepare compat-rhino-run", "compat-rhino-prepare": "zx tests/compat/rhino-prepare.mjs --version=1.7.14", "compat-rhino-run": "java -jar tests/compat/rhino.jar -version 200 -require tests/compat/rhino-runner.js", diff --git a/packages/core-js-compat/README.md b/packages/core-js-compat/README.md index 649771b9762c..45276ec13911 100644 --- a/packages/core-js-compat/README.md +++ b/packages/core-js-compat/README.md @@ -66,6 +66,7 @@ console.log(targets); // object: { android: '4.0', // Android WebView version + bun: '0.2', // Bun version chrome: '38', // Chrome version deno: '1.12', // Deno version edge: '13', // Edge version diff --git a/packages/core-js-compat/src/external.mjs b/packages/core-js-compat/src/external.mjs index 713a73c820a8..aa48cb3c6b57 100644 --- a/packages/core-js-compat/src/external.mjs +++ b/packages/core-js-compat/src/external.mjs @@ -1,5 +1,6 @@ export default { modules: { + bun: '0.1', chrome: '61', deno: '1.0', edge: '16', diff --git a/packages/core-js-compat/targets-parser.js b/packages/core-js-compat/targets-parser.js index 97789bc5ab4e..0011eac754ce 100644 --- a/packages/core-js-compat/targets-parser.js +++ b/packages/core-js-compat/targets-parser.js @@ -13,6 +13,7 @@ const aliases = new Map([ const validTargets = new Set([ 'android', + 'bun', 'chrome', 'deno', 'edge', diff --git a/tests/compat-tools/targets-parser.mjs b/tests/compat-tools/targets-parser.mjs index cfd43ac5d7ca..a922bca7368e 100644 --- a/tests/compat-tools/targets-parser.mjs +++ b/tests/compat-tools/targets-parser.mjs @@ -25,6 +25,7 @@ deepStrictEqual(targetsParser({ browsers: 'ie 11, chrome 56, ios_saf 12.2' }), n deepStrictEqual(targetsParser({ esmodules: true }), new Map([ ['android', '61'], + ['bun', '0.1'], ['chrome', '61'], ['deno', '1.0'], ['edge', '16'], @@ -78,6 +79,7 @@ deepStrictEqual(targetsParser({ random: 42, }), new Map([ ['android', '4.2'], + ['bun', '0.1'], ['chrome', '56'], ['deno', '1.0'], ['edge', '13'], diff --git a/tests/compat/browsers-runner.js b/tests/compat/browsers-runner.js index d4fb44f0888a..c0add2e61838 100644 --- a/tests/compat/browsers-runner.js +++ b/tests/compat/browsers-runner.js @@ -5,6 +5,7 @@ var i; var engines = [ 'android', + 'bun', 'chrome', 'deno', 'edge', diff --git a/tests/compat/bun-runner.js b/tests/compat/bun-runner.js new file mode 100644 index 000000000000..a4eb032b6b76 --- /dev/null +++ b/tests/compat/bun-runner.js @@ -0,0 +1,7 @@ +require('./tests'); +require('./compat-data'); +require('./common-runner'); + +/* global showResults -- safe */ +// eslint-disable-next-line no-console -- output +showResults('bun', console.log); From fa0b0308809aee3232f9700605a041f0e6f18a34 Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Fri, 8 Jul 2022 23:52:07 +0700 Subject: [PATCH 2/5] add Bun 0.1.1 compat data --- packages/core-js-compat/src/data.mjs | 261 +++++++++++++++++++++++++++ 1 file changed, 261 insertions(+) diff --git a/packages/core-js-compat/src/data.mjs b/packages/core-js-compat/src/data.mjs index 73364724d679..ddea69279ba9 100644 --- a/packages/core-js-compat/src/data.mjs +++ b/packages/core-js-compat/src/data.mjs @@ -1,6 +1,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's split to modules listed below 'es.symbol': { + bun: '0.1.1', chrome: '49', edge: '15', firefox: '51', @@ -8,6 +9,7 @@ export const data = { safari: '10.0', }, 'es.symbol.constructor': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '36', @@ -16,16 +18,19 @@ export const data = { rhino: '1.7.14', }, 'es.symbol.description': { + bun: '0.1.1', chrome: '70', firefox: '63', safari: '12.1', }, 'es.symbol.async-iterator': { + bun: '0.1.1', chrome: '63', firefox: '55', safari: '12.0', }, 'es.symbol.for': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '36', @@ -34,6 +39,7 @@ export const data = { rhino: '1.7.14', }, 'es.symbol.has-instance': { + bun: '0.1.1', chrome: '50', edge: '15', firefox: '49', @@ -42,6 +48,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.is-concat-spreadable': { + bun: '0.1.1', chrome: '48', edge: '15', firefox: '48', @@ -50,6 +57,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.iterator': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '36', @@ -58,6 +66,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.key-for': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '36', @@ -66,6 +75,7 @@ export const data = { rhino: '1.7.14', }, 'es.symbol.match': { + bun: '0.1.1', chrome: '50', firefox: '40', hermes: '0.1', @@ -73,12 +83,14 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.match-all': { + bun: '0.1.1', chrome: '73', firefox: '67', hermes: '0.6', safari: '13', }, 'es.symbol.replace': { + bun: '0.1.1', chrome: '50', firefox: '49', hermes: '0.1', @@ -86,6 +98,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.search': { + bun: '0.1.1', chrome: '50', firefox: '49', hermes: '0.1', @@ -93,6 +106,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.species': { + bun: '0.1.1', chrome: '51', edge: '13', firefox: '41', @@ -100,6 +114,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.split': { + bun: '0.1.1', chrome: '50', firefox: '49', hermes: '0.1', @@ -107,6 +122,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.to-primitive': { + bun: '0.1.1', chrome: '47', edge: '15', firefox: '44', @@ -115,6 +131,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.to-string-tag': { + bun: '0.1.1', chrome: '49', edge: '15', firefox: '51', @@ -123,6 +140,7 @@ export const data = { rhino: '1.7.13', }, 'es.symbol.unscopables': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '48', @@ -130,12 +148,14 @@ export const data = { rhino: '1.7.13', }, 'es.error.cause': { + bun: '0.1.1', chrome: '94', firefox: '91', hermes: '0.8', safari: '15.0', }, 'es.error.to-string': { + bun: '0.1.1', chrome: '33', firefox: '11', hermes: '0.1', @@ -146,33 +166,39 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's replaced to module below 'es.aggregate-error': null, 'es.aggregate-error.constructor': { + bun: '0.1.1', chrome: '85', firefox: '79', safari: '14.0', }, 'es.aggregate-error.cause': { + bun: '0.1.1', chrome: '94', firefox: '91', safari: '15.0', }, 'es.array.at': { + bun: '0.1.1', chrome: '92', firefox: '90', safari: '15.4', }, 'es.array.concat': { + bun: '0.1.1', chrome: '51', edge: '15', firefox: '48', safari: '10.0', }, 'es.array.copy-within': { + bun: '0.1.1', chrome: '45', edge: '12', firefox: '48', safari: '9.0', }, 'es.array.every': { + bun: '0.1.1', chrome: '26', firefox: '4', hermes: '0.1', @@ -181,52 +207,61 @@ export const data = { rhino: '1.7.13', }, 'es.array.fill': { + bun: '0.1.1', chrome: '45', edge: '12', firefox: '48', safari: '9.0', }, 'es.array.filter': { + bun: '0.1.1', chrome: '51', edge: '15', firefox: '48', safari: '10.0', }, 'es.array.find': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '48', safari: '9.0', }, 'es.array.find-index': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '48', safari: '9.0', }, 'es.array.find-last': { + bun: '0.1.1', chrome: '97', hermes: '0.11', safari: '15.4', }, 'es.array.find-last-index': { + bun: '0.1.1', chrome: '97', hermes: '0.11', safari: '15.4', }, 'es.array.flat': { + bun: '0.1.1', chrome: '69', firefox: '62', hermes: '0.4', safari: '12.0', }, 'es.array.flat-map': { + bun: '0.1.1', chrome: '69', firefox: '62', hermes: '0.4', safari: '12.0', }, 'es.array.for-each': { + bun: '0.1.1', chrome: '26', firefox: '4', hermes: '0.1', @@ -235,6 +270,7 @@ export const data = { rhino: '1.7.13', }, 'es.array.from': { + bun: '0.1.1', chrome: '51', edge: '15', firefox: '53', @@ -242,6 +278,7 @@ export const data = { rhino: '1.7.13', }, 'es.array.includes': { + bun: '0.1.1', chrome: '53', edge: '14', // FF99-101 broken on sparse arrays @@ -249,6 +286,7 @@ export const data = { safari: '10.0', }, 'es.array.index-of': { + bun: '0.1.1', chrome: '51', firefox: '47', hermes: '0.1', @@ -257,6 +295,7 @@ export const data = { rhino: '1.7.13', }, 'es.array.is-array': { + bun: '0.1.1', chrome: '5', firefox: '4', hermes: '0.1', @@ -266,12 +305,14 @@ export const data = { rhino: '1.7.13', }, 'es.array.iterator': { + bun: '0.1.1', chrome: '66', edge: '15', firefox: '60', safari: '10.0', }, 'es.array.join': { + bun: '0.1.1', chrome: '26', edge: '13', firefox: '4', @@ -280,6 +321,7 @@ export const data = { rhino: '1.7.13', }, 'es.array.last-index-of': { + bun: '0.1.1', chrome: '51', firefox: '47', hermes: '0.1', @@ -288,12 +330,14 @@ export const data = { rhino: '1.7.13', }, 'es.array.map': { + bun: '0.1.1', chrome: '51', edge: '13', firefox: '50', safari: '10.0', }, 'es.array.of': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '25', @@ -302,6 +346,7 @@ export const data = { rhino: '1.7.13', }, 'es.array.push': { + bun: '0.1.1', // bug with setting length // chrome: '103', // edge: '15', @@ -311,6 +356,7 @@ export const data = { // safari: '15.4', }, 'es.array.reduce': { + bun: '0.1.1', chrome: '83', // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 firefox: '4', hermes: '0.1', @@ -320,6 +366,7 @@ export const data = { rhino: '1.7.13', }, 'es.array.reduce-right': { + bun: '0.1.1', chrome: '83', // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 firefox: '4', hermes: '0.1', @@ -329,6 +376,7 @@ export const data = { rhino: '1.7.13', }, 'es.array.reverse': { + bun: '0.1.1', chrome: '1', firefox: '1', hermes: '0.1', @@ -339,12 +387,14 @@ export const data = { rhino: '1.7.13', }, 'es.array.slice': { + bun: '0.1.1', chrome: '51', edge: '13', firefox: '48', safari: '10.0', }, 'es.array.some': { + bun: '0.1.1', chrome: '26', firefox: '4', hermes: '0.1', @@ -353,34 +403,40 @@ export const data = { rhino: '1.7.13', }, 'es.array.sort': { + bun: '0.1.1', chrome: '70', firefox: '4', hermes: '0.10', safari: '12.0', }, 'es.array.species': { + bun: '0.1.1', chrome: '51', edge: '13', firefox: '48', safari: '10.0', }, 'es.array.splice': { + bun: '0.1.1', chrome: '51', edge: '13', firefox: '49', safari: '10.0', }, 'es.array.unscopables.flat': { + bun: '0.1.1', chrome: '73', firefox: '67', safari: '13', }, 'es.array.unscopables.flat-map': { + bun: '0.1.1', chrome: '73', firefox: '67', safari: '13', }, 'es.array.unshift': { + bun: '0.1.1', chrome: '71', firefox: '23', hermes: '0.1', @@ -389,6 +445,7 @@ export const data = { // safari: '15.4', }, 'es.array-buffer.constructor': { + bun: '0.1.1', chrome: '26', edge: '14', firefox: '44', @@ -396,6 +453,7 @@ export const data = { safari: '12.0', }, 'es.array-buffer.is-view': { + bun: '0.1.1', chrome: '32', firefox: '29', hermes: '0.1', @@ -403,6 +461,7 @@ export const data = { safari: '7.1', }, 'es.array-buffer.slice': { + bun: '0.1.1', chrome: '31', firefox: '46', hermes: '0.1', @@ -413,6 +472,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's replaced to module below 'es.data-view': null, 'es.data-view.constructor': { + bun: '0.1.1', chrome: '26', firefox: '15', hermes: '0.1', @@ -421,6 +481,7 @@ export const data = { rhino: '1.7.13', }, 'es.date.get-year': { + bun: '0.1.1', chrome: '1', firefox: '1', hermes: '0.1', @@ -431,6 +492,7 @@ export const data = { }, // TODO: Remove from `core-js@4` 'es.date.now': { + bun: '0.1.1', chrome: '5', firefox: '2', hermes: '0.1', @@ -440,6 +502,7 @@ export const data = { rhino: '1.7.13', }, 'es.date.set-year': { + bun: '0.1.1', chrome: '1', firefox: '1', hermes: '0.1', @@ -449,6 +512,7 @@ export const data = { rhino: '1.7.13', }, 'es.date.to-gmt-string': { + bun: '0.1.1', chrome: '1', firefox: '1', hermes: '0.1', @@ -458,6 +522,7 @@ export const data = { rhino: '1.7.13', }, 'es.date.to-iso-string': { + bun: '0.1.1', chrome: '26', firefox: '7', hermes: '0.1', @@ -466,6 +531,7 @@ export const data = { rhino: '1.7.13', }, 'es.date.to-json': { + bun: '0.1.1', chrome: '26', firefox: '4', hermes: '0.1', @@ -474,6 +540,7 @@ export const data = { rhino: '1.7.13', }, 'es.date.to-primitive': { + bun: '0.1.1', chrome: '47', edge: '15', firefox: '44', @@ -482,6 +549,7 @@ export const data = { }, // TODO: Remove from `core-js@4` 'es.date.to-string': { + bun: '0.1.1', chrome: '5', firefox: '2', hermes: '0.1', @@ -491,6 +559,7 @@ export const data = { rhino: '1.7.13', }, 'es.escape': { + bun: '0.1.1', chrome: '1', firefox: '1', hermes: '0.1', @@ -500,6 +569,7 @@ export const data = { rhino: '1.7.13', }, 'es.function.bind': { + bun: '0.1.1', chrome: '7', firefox: '4', hermes: '0.1', @@ -509,6 +579,7 @@ export const data = { rhino: '1.7.13', }, 'es.function.has-instance': { + bun: '0.1.1', chrome: '51', edge: '15', firefox: '50', @@ -516,6 +587,7 @@ export const data = { safari: '10.0', }, 'es.function.name': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -525,6 +597,7 @@ export const data = { rhino: '1.7.13', }, 'es.global-this': { + bun: '0.1.1', chrome: '71', firefox: '65', hermes: '0.2', @@ -532,11 +605,13 @@ export const data = { rhino: '1.7.14', }, 'es.json.stringify': { + bun: '0.1.1', chrome: '72', firefox: '64', safari: '12.1', }, 'es.json.to-string-tag': { + bun: '0.1.1', chrome: '50', edge: '15', firefox: '51', @@ -546,6 +621,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's replaced to module below 'es.map': null, 'es.map.constructor': { + bun: '0.1.1', chrome: '51', edge: '15', firefox: '53', @@ -553,6 +629,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.acosh': { + bun: '0.1.1', chrome: '54', edge: '13', firefox: '25', @@ -560,6 +637,7 @@ export const data = { safari: '7.1', }, 'es.math.asinh': { + bun: '0.1.1', chrome: '38', edge: '13', firefox: '25', @@ -568,6 +646,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.atanh': { + bun: '0.1.1', chrome: '38', edge: '13', firefox: '25', @@ -576,6 +655,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.cbrt': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '25', @@ -584,6 +664,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.clz32': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '31', @@ -592,6 +673,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.cosh': { + bun: '0.1.1', chrome: '39', edge: '13', firefox: '25', @@ -600,6 +682,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.expm1': { + bun: '0.1.1', chrome: '39', edge: '13', firefox: '46', @@ -608,6 +691,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.fround': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '26', @@ -616,6 +700,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.hypot': { + bun: '0.1.1', // https://bugs.chromium.org/p/v8/issues/detail?id=9546 chrome: '78', // '38', edge: '12', @@ -625,6 +710,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.imul': { + bun: '0.1.1', chrome: '28', edge: '13', firefox: '20', @@ -633,6 +719,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.log10': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '25', @@ -641,6 +728,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.log1p': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '25', @@ -649,6 +737,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.log2': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '25', @@ -657,6 +746,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.sign': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '25', @@ -665,6 +755,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.sinh': { + bun: '0.1.1', chrome: '39', edge: '13', firefox: '25', @@ -673,6 +764,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.tanh': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '25', @@ -681,6 +773,7 @@ export const data = { rhino: '1.7.13', }, 'es.math.to-string-tag': { + bun: '0.1.1', chrome: '50', edge: '15', firefox: '51', @@ -688,6 +781,7 @@ export const data = { safari: '10.0', }, 'es.math.trunc': { + bun: '0.1.1', chrome: '38', edge: '12', firefox: '25', @@ -696,6 +790,7 @@ export const data = { rhino: '1.7.13', }, 'es.number.constructor': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '46', @@ -704,6 +799,7 @@ export const data = { rhino: '1.7.13', }, 'es.number.epsilon': { + bun: '0.1.1', chrome: '34', edge: '12', firefox: '25', @@ -713,6 +809,7 @@ export const data = { }, 'es.number.is-finite': { android: '4.1', + bun: '0.1.1', chrome: '19', edge: '12', firefox: '16', @@ -721,6 +818,7 @@ export const data = { rhino: '1.7.13', }, 'es.number.is-integer': { + bun: '0.1.1', chrome: '34', edge: '12', firefox: '16', @@ -730,6 +828,7 @@ export const data = { }, 'es.number.is-nan': { android: '4.1', + bun: '0.1.1', chrome: '19', edge: '12', firefox: '15', @@ -738,6 +837,7 @@ export const data = { rhino: '1.7.13', }, 'es.number.is-safe-integer': { + bun: '0.1.1', chrome: '34', edge: '12', firefox: '32', @@ -746,6 +846,7 @@ export const data = { rhino: '1.7.13', }, 'es.number.max-safe-integer': { + bun: '0.1.1', chrome: '34', edge: '12', firefox: '31', @@ -754,6 +855,7 @@ export const data = { rhino: '1.7.13', }, 'es.number.min-safe-integer': { + bun: '0.1.1', chrome: '34', edge: '12', firefox: '31', @@ -762,6 +864,7 @@ export const data = { rhino: '1.7.13', }, 'es.number.parse-float': { + bun: '0.1.1', chrome: '35', firefox: '39', hermes: '0.1', @@ -769,6 +872,7 @@ export const data = { rhino: '1.7.14', }, 'es.number.parse-int': { + bun: '0.1.1', chrome: '35', firefox: '39', hermes: '0.1', @@ -776,6 +880,7 @@ export const data = { rhino: '1.7.14', }, 'es.number.to-exponential': { + bun: '0.1.1', chrome: '51', edge: '18', firefox: '87', @@ -784,6 +889,7 @@ export const data = { rhino: '1.7.14', }, 'es.number.to-fixed': { + bun: '0.1.1', chrome: '26', firefox: '4', hermes: '0.1', @@ -791,6 +897,7 @@ export const data = { rhino: '1.7.13', }, 'es.number.to-precision': { + bun: '0.1.1', chrome: '26', firefox: '4', hermes: '0.1', @@ -799,6 +906,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.assign': { + bun: '0.1.1', chrome: '49', // order of operations bug // edge: '13', @@ -808,6 +916,7 @@ export const data = { }, // TODO: Remove from `core-js@4` 'es.object.create': { + bun: '0.1.1', chrome: '5', firefox: '4', hermes: '0.1', @@ -817,6 +926,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.define-getter': { + bun: '0.1.1', chrome: '62', edge: '16', firefox: '48', @@ -825,6 +935,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.define-properties': { + bun: '0.1.1', chrome: '37', firefox: '4', hermes: '0.1', @@ -834,6 +945,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.define-property': { + bun: '0.1.1', chrome: '37', firefox: '4', hermes: '0.1', @@ -843,6 +955,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.define-setter': { + bun: '0.1.1', chrome: '62', edge: '16', firefox: '48', @@ -851,6 +964,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.entries': { + bun: '0.1.1', chrome: '54', edge: '14', firefox: '47', @@ -859,6 +973,7 @@ export const data = { rhino: '1.7.14', }, 'es.object.freeze': { + bun: '0.1.1', chrome: '44', edge: '13', firefox: '35', @@ -867,6 +982,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.from-entries': { + bun: '0.1.1', chrome: '73', firefox: '63', hermes: '0.4', @@ -874,6 +990,7 @@ export const data = { rhino: '1.7.14', }, 'es.object.get-own-property-descriptor': { + bun: '0.1.1', chrome: '44', edge: '13', firefox: '35', @@ -882,6 +999,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.get-own-property-descriptors': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '50', @@ -889,6 +1007,7 @@ export const data = { safari: '10.0', }, 'es.object.get-own-property-names': { + bun: '0.1.1', chrome: '40', edge: '13', firefox: '34', @@ -897,6 +1016,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.get-own-property-symbols': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '36', @@ -905,6 +1025,7 @@ export const data = { rhino: '1.7.14', }, 'es.object.get-prototype-of': { + bun: '0.1.1', chrome: '44', edge: '13', firefox: '35', @@ -913,6 +1034,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.has-own': { + bun: '0.1.1', chrome: '93', firefox: '92', hermes: '0.10', @@ -920,6 +1042,7 @@ export const data = { }, 'es.object.is': { android: '4.1', + bun: '0.1.1', chrome: '19', edge: '12', firefox: '22', @@ -928,6 +1051,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.is-extensible': { + bun: '0.1.1', chrome: '44', edge: '13', firefox: '35', @@ -936,6 +1060,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.is-frozen': { + bun: '0.1.1', chrome: '44', edge: '13', firefox: '35', @@ -944,6 +1069,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.is-sealed': { + bun: '0.1.1', chrome: '44', edge: '13', firefox: '35', @@ -952,6 +1078,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.keys': { + bun: '0.1.1', chrome: '40', edge: '13', firefox: '35', @@ -960,6 +1087,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.lookup-getter': { + bun: '0.1.1', chrome: '62', edge: '16', firefox: '48', @@ -968,6 +1096,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.lookup-setter': { + bun: '0.1.1', chrome: '62', edge: '16', firefox: '48', @@ -976,6 +1105,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.prevent-extensions': { + bun: '0.1.1', chrome: '44', edge: '13', firefox: '35', @@ -984,6 +1114,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.seal': { + bun: '0.1.1', chrome: '44', edge: '13', firefox: '35', @@ -992,6 +1123,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.set-prototype-of': { + bun: '0.1.1', chrome: '34', firefox: '31', hermes: '0.1', @@ -1000,6 +1132,7 @@ export const data = { rhino: '1.7.13', }, 'es.object.to-string': { + bun: '0.1.1', chrome: '49', edge: '15', firefox: '51', @@ -1007,6 +1140,7 @@ export const data = { safari: '10.0', }, 'es.object.values': { + bun: '0.1.1', chrome: '54', edge: '14', firefox: '47', @@ -1015,6 +1149,7 @@ export const data = { rhino: '1.7.14', }, 'es.parse-float': { + bun: '0.1.1', chrome: '35', edge: '74', firefox: '8', @@ -1024,6 +1159,7 @@ export const data = { rhino: '1.7.13', }, 'es.parse-int': { + bun: '0.1.1', chrome: '35', edge: '74', firefox: '21', @@ -1034,6 +1170,7 @@ export const data = { }, // TODO: Remove this module from `core-js@4` since it's split to modules listed below 'es.promise': { + bun: '0.1.1', // V8 6.6 has a serious bug chrome: '67', // '51', // `unhandledrejection` event support was added in Deno@1.24 @@ -1043,6 +1180,7 @@ export const data = { rhino: '1.7.14', }, 'es.promise.constructor': { + bun: '0.1.1', // V8 6.6 has a serious bug chrome: '67', // '51', // `unhandledrejection` event support was added in Deno@1.24 @@ -1052,6 +1190,7 @@ export const data = { rhino: '1.7.14', }, 'es.promise.all': { + bun: '0.1.1', chrome: '67', // `unhandledrejection` event support was added in Deno@1.24 deno: '1.24', @@ -1060,6 +1199,7 @@ export const data = { rhino: '1.7.14', }, 'es.promise.all-settled': { + bun: '0.1.1', chrome: '76', // `unhandledrejection` event support was added in Deno@1.24 deno: '1.24', @@ -1067,6 +1207,7 @@ export const data = { safari: '13', }, 'es.promise.any': { + bun: '0.1.1', chrome: '85', // `unhandledrejection` event support was added in Deno@1.24 deno: '1.24', @@ -1074,6 +1215,7 @@ export const data = { safari: '14.0', }, 'es.promise.catch': { + bun: '0.1.1', chrome: '67', // `unhandledrejection` event support was added in Deno@1.24 deno: '1.24', @@ -1082,6 +1224,7 @@ export const data = { rhino: '1.7.14', }, 'es.promise.finally': { + bun: '0.1.1', // V8 6.6 has a serious bug chrome: '67', // '63', // `unhandledrejection` event support was added in Deno@1.24 @@ -1094,6 +1237,7 @@ export const data = { rhino: '1.7.14', }, 'es.promise.race': { + bun: '0.1.1', chrome: '67', // `unhandledrejection` event support was added in Deno@1.24 deno: '1.24', @@ -1102,6 +1246,7 @@ export const data = { rhino: '1.7.14', }, 'es.promise.reject': { + bun: '0.1.1', chrome: '67', // `unhandledrejection` event support was added in Deno@1.24 deno: '1.24', @@ -1110,6 +1255,7 @@ export const data = { rhino: '1.7.14', }, 'es.promise.resolve': { + bun: '0.1.1', chrome: '67', // `unhandledrejection` event support was added in Deno@1.24 deno: '1.24', @@ -1118,6 +1264,7 @@ export const data = { rhino: '1.7.14', }, 'es.reflect.apply': { + bun: '0.1.1', chrome: '49', edge: '15', firefox: '42', @@ -1125,6 +1272,7 @@ export const data = { safari: '10.0', }, 'es.reflect.construct': { + bun: '0.1.1', chrome: '49', edge: '15', firefox: '44', @@ -1132,6 +1280,7 @@ export const data = { safari: '10.0', }, 'es.reflect.define-property': { + bun: '0.1.1', chrome: '49', edge: '13', firefox: '42', @@ -1139,6 +1288,7 @@ export const data = { safari: '10.0', }, 'es.reflect.delete-property': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1146,6 +1296,7 @@ export const data = { safari: '10.0', }, 'es.reflect.get': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1153,6 +1304,7 @@ export const data = { safari: '10.0', }, 'es.reflect.get-own-property-descriptor': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1160,6 +1312,7 @@ export const data = { safari: '10.0', }, 'es.reflect.get-prototype-of': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1167,6 +1320,7 @@ export const data = { safari: '10.0', }, 'es.reflect.has': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1174,6 +1328,7 @@ export const data = { safari: '10.0', }, 'es.reflect.is-extensible': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1181,6 +1336,7 @@ export const data = { safari: '10.0', }, 'es.reflect.own-keys': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1188,6 +1344,7 @@ export const data = { safari: '10.0', }, 'es.reflect.prevent-extensions': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1195,6 +1352,7 @@ export const data = { safari: '10.0', }, 'es.reflect.set': { + bun: '0.1.1', // MS Edge 17-18 Reflect.set allows setting the property to object // with non-writable property on the prototype // edge: '12', @@ -1204,6 +1362,7 @@ export const data = { safari: '10.0', }, 'es.reflect.set-prototype-of': { + bun: '0.1.1', chrome: '49', edge: '12', firefox: '42', @@ -1211,28 +1370,33 @@ export const data = { safari: '10.0', }, 'es.reflect.to-string-tag': { + bun: '0.1.1', chrome: '86', firefox: '82', hermes: '0.7', safari: '14.0', }, 'es.regexp.constructor': { + bun: '0.1.1', chrome: '64', firefox: '78', safari: '11.1', }, 'es.regexp.dot-all': { + bun: '0.1.1', chrome: '62', firefox: '78', hermes: '0.4', safari: '11.1', }, 'es.regexp.exec': { + bun: '0.1.1', chrome: '64', firefox: '78', safari: '11.1', }, 'es.regexp.flags': { + bun: '0.1.1', // modern V8 has a bug with the order getting of flags // chrome: '62', firefox: '78', @@ -1240,6 +1404,7 @@ export const data = { safari: '11.1', }, 'es.regexp.sticky': { + bun: '0.1.1', chrome: '49', edge: '13', firefox: '3', @@ -1247,11 +1412,13 @@ export const data = { safari: '10.0', }, 'es.regexp.test': { + bun: '0.1.1', chrome: '51', firefox: '46', safari: '10.0', }, 'es.regexp.to-string': { + bun: '0.1.1', chrome: '50', firefox: '46', hermes: '0.1', @@ -1260,6 +1427,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's replaced to module below 'es.set': null, 'es.set.constructor': { + bun: '0.1.1', chrome: '51', edge: '15', firefox: '53', @@ -1267,11 +1435,13 @@ export const data = { rhino: '1.7.13', }, 'es.string.at-alternative': { + bun: '0.1.1', chrome: '92', firefox: '90', safari: '15.4', }, 'es.string.code-point-at': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '29', @@ -1280,12 +1450,14 @@ export const data = { rhino: '1.7.13', }, 'es.string.ends-with': { + bun: '0.1.1', chrome: '51', firefox: '40', hermes: '0.1', safari: '10.0', }, 'es.string.from-code-point': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '29', @@ -1294,12 +1466,14 @@ export const data = { rhino: '1.7.13', }, 'es.string.includes': { + bun: '0.1.1', chrome: '51', firefox: '40', hermes: '0.1', safari: '10.0', }, 'es.string.iterator': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '36', @@ -1308,12 +1482,14 @@ export const data = { rhino: '1.7.13', }, 'es.string.match': { + bun: '0.1.1', chrome: '51', firefox: '49', hermes: '0.1', safari: '10.0', }, 'es.string.match-all': { + bun: '0.1.1', // Early implementations does not throw an error on non-global regex chrome: '80', // 73 firefox: '73', // 67 @@ -1321,6 +1497,7 @@ export const data = { safari: '13.1', // 13 }, 'es.string.pad-end': { + bun: '0.1.1', chrome: '57', edge: '15', firefox: '48', @@ -1329,6 +1506,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.pad-start': { + bun: '0.1.1', chrome: '57', edge: '15', firefox: '48', @@ -1337,6 +1515,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.raw': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '34', @@ -1345,6 +1524,7 @@ export const data = { rhino: '1.7.14', }, 'es.string.repeat': { + bun: '0.1.1', chrome: '41', edge: '13', firefox: '24', @@ -1353,34 +1533,40 @@ export const data = { rhino: '1.7.13', }, 'es.string.replace': { + bun: '0.1.1', chrome: '64', firefox: '78', safari: '14.0', }, 'es.string.replace-all': { + bun: '0.1.1', chrome: '85', firefox: '77', hermes: '0.7', safari: '13.1', }, 'es.string.search': { + bun: '0.1.1', chrome: '51', firefox: '49', hermes: '0.1', safari: '10.0', }, 'es.string.split': { + bun: '0.1.1', chrome: '54', firefox: '49', safari: '10.0', }, 'es.string.starts-with': { + bun: '0.1.1', chrome: '51', firefox: '40', hermes: '0.1', safari: '10.0', }, 'es.string.substr': { + bun: '0.1.1', chrome: '1', ie: '9', firefox: '1', @@ -1390,6 +1576,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.trim': { + bun: '0.1.1', chrome: '59', edge: '15', firefox: '52', @@ -1397,30 +1584,35 @@ export const data = { safari: '12.1', }, 'es.string.trim-end': { + bun: '0.1.1', chrome: '66', firefox: '61', hermes: '0.3', safari: '12.1', }, 'es.string.trim-left': { + bun: '0.1.1', chrome: '66', firefox: '61', hermes: '0.3', safari: '12.0', }, 'es.string.trim-right': { + bun: '0.1.1', chrome: '66', firefox: '61', hermes: '0.3', safari: '12.1', }, 'es.string.trim-start': { + bun: '0.1.1', chrome: '66', firefox: '61', hermes: '0.3', safari: '12.0', }, 'es.string.anchor': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '17', @@ -1428,6 +1620,7 @@ export const data = { rhino: '1.7.14', }, 'es.string.big': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1436,6 +1629,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.blink': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1444,6 +1638,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.bold': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1452,6 +1647,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.fixed': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1460,6 +1656,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.fontcolor': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '17', @@ -1467,6 +1664,7 @@ export const data = { rhino: '1.7.14', }, 'es.string.fontsize': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '17', @@ -1474,6 +1672,7 @@ export const data = { rhino: '1.7.14', }, 'es.string.italics': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1482,6 +1681,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.link': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '17', @@ -1489,6 +1689,7 @@ export const data = { rhino: '1.7.14', }, 'es.string.small': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1497,6 +1698,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.strike': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1505,6 +1707,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.sub': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1513,6 +1716,7 @@ export const data = { rhino: '1.7.13', }, 'es.string.sup': { + bun: '0.1.1', chrome: '5', edge: '12', firefox: '2', @@ -1521,65 +1725,76 @@ export const data = { rhino: '1.7.13', }, 'es.typed-array.float32-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.float64-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.int8-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.int16-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.int32-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.uint8-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.uint8-clamped-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.uint16-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.uint32-array': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.at': { + bun: '0.1.1', chrome: '92', firefox: '90', safari: '15.4', }, 'es.typed-array.copy-within': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '34', @@ -1587,6 +1802,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.every': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1594,12 +1810,14 @@ export const data = { safari: '10.0', }, 'es.typed-array.fill': { + bun: '0.1.1', chrome: '58', firefox: '55', hermes: '0.1', safari: '14.1', }, 'es.typed-array.filter': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '38', @@ -1607,6 +1825,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.find': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1614,6 +1833,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.find-index': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1621,16 +1841,19 @@ export const data = { safari: '10.0', }, 'es.typed-array.find-last': { + bun: '0.1.1', chrome: '97', hermes: '0.11', safari: '15.4', }, 'es.typed-array.find-last-index': { + bun: '0.1.1', chrome: '97', hermes: '0.11', safari: '15.4', }, 'es.typed-array.for-each': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '38', @@ -1638,12 +1861,14 @@ export const data = { safari: '10.0', }, 'es.typed-array.from': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.includes': { + bun: '0.1.1', chrome: '49', edge: '14', firefox: '43', @@ -1651,6 +1876,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.index-of': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1658,6 +1884,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.iterator': { + bun: '0.1.1', chrome: '51', edge: '13', firefox: '37', @@ -1665,6 +1892,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.join': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1672,6 +1900,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.last-index-of': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1679,6 +1908,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.map': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '38', @@ -1686,12 +1916,14 @@ export const data = { safari: '10.0', }, 'es.typed-array.of': { + bun: '0.1.1', chrome: '54', edge: '15', firefox: '55', safari: '14.0', }, 'es.typed-array.reduce': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1699,6 +1931,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.reduce-right': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1706,6 +1939,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.reverse': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1713,6 +1947,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.set': { + bun: '0.1.1', chrome: '95', // '26', // edge: '13', // proper in Chakra Edge 13, but buggy in Chromium < 95 firefox: '54', // '15', @@ -1720,6 +1955,7 @@ export const data = { safari: '14.1', // '7.1', }, 'es.typed-array.slice': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '38', @@ -1727,6 +1963,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.some': { + bun: '0.1.1', chrome: '45', edge: '13', firefox: '37', @@ -1734,6 +1971,7 @@ export const data = { safari: '10.0', }, 'es.typed-array.sort': { + bun: '0.1.1', chrome: '74', firefox: '67', hermes: '0.10', @@ -1741,6 +1979,7 @@ export const data = { safari: '14.1', }, 'es.typed-array.subarray': { + bun: '0.1.1', chrome: '26', edge: '13', firefox: '15', @@ -1748,12 +1987,14 @@ export const data = { safari: '7.1', }, 'es.typed-array.to-locale-string': { + bun: '0.1.1', chrome: '45', firefox: '51', hermes: '0.1', safari: '10.0', }, 'es.typed-array.to-string': { + bun: '0.1.1', chrome: '51', edge: '13', firefox: '51', @@ -1761,6 +2002,7 @@ export const data = { safari: '10.0', }, 'es.unescape': { + bun: '0.1.1', chrome: '1', firefox: '1', hermes: '0.1', @@ -1772,6 +2014,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's replaced to module below 'es.weak-map': null, 'es.weak-map.constructor': { + bun: '0.1.1', chrome: '51', edge: '15', firefox: '53', @@ -1781,6 +2024,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's replaced to module below 'es.weak-set': null, 'es.weak-set.constructor': { + bun: '0.1.1', chrome: '51', edge: '15', firefox: '53', @@ -1821,14 +2065,18 @@ export const data = { 'esnext.array.last-item': { }, 'esnext.array.to-reversed': { + bun: '0.1.1', }, 'esnext.array.to-sorted': { + bun: '0.1.1', }, 'esnext.array.to-spliced': { + bun: '0.1.1', }, 'esnext.array.unique-by': { }, 'esnext.array.with': { + bun: '0.1.1', }, 'esnext.async-iterator.constructor': { }, @@ -2117,8 +2365,10 @@ export const data = { 'esnext.typed-array.group-by': { }, 'esnext.typed-array.to-reversed': { + bun: '0.1.1', }, 'esnext.typed-array.to-sorted': { + bun: '0.1.1', }, 'esnext.typed-array.to-spliced': { }, @@ -2146,6 +2396,7 @@ export const data = { 'esnext.weak-set.of': { }, 'web.atob': { + bun: '0.1.1', chrome: '34', deno: '1.0', // older have wrong arity @@ -2159,6 +2410,7 @@ export const data = { safari: '10.1', }, 'web.btoa': { + bun: '0.1.1', chrome: '4', deno: '1.0', // older have wrong arity @@ -2175,6 +2427,7 @@ export const data = { node: '0.9.1', }, 'web.dom-collections.for-each': { + bun: '0.1.1', chrome: '58', deno: '1.0', edge: '16', @@ -2185,6 +2438,7 @@ export const data = { rhino: '1.7.13', }, 'web.dom-collections.iterator': { + bun: '0.1.1', chrome: '66', deno: '1.0', firefox: '60', @@ -2194,6 +2448,7 @@ export const data = { rhino: '1.7.13', }, 'web.dom-exception.constructor': { + bun: '0.1.1', chrome: '46', deno: '1.7', firefox: '37', @@ -2206,6 +2461,7 @@ export const data = { node: '17.0', }, 'web.dom-exception.to-string-tag': { + bun: '0.1.1', chrome: '49', deno: '1.7', firefox: '51', @@ -2218,6 +2474,7 @@ export const data = { node: '0.9.1', }, 'web.queue-microtask': { + bun: '0.1.1', chrome: '71', deno: '1.0', firefox: '69', @@ -2263,6 +2520,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's split to submodules 'web.timers': { android: '1.5', + bun: '0.1.1', chrome: '1', deno: '1.0', firefox: '1', @@ -2276,6 +2534,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's replaced to module below 'web.url': null, 'web.url.constructor': { + bun: '0.1.1', chrome: '67', deno: '1.0', firefox: '57', @@ -2283,6 +2542,7 @@ export const data = { safari: '14.0', }, 'web.url.to-json': { + bun: '0.1.1', chrome: '71', deno: '1.0', firefox: '57', @@ -2292,6 +2552,7 @@ export const data = { // TODO: Remove this module from `core-js@4` since it's replaced to module below 'web.url-search-params': null, 'web.url-search-params.constructor': { + bun: '0.1.1', chrome: '67', deno: '1.0', firefox: '57', From 69cacde9c4a65a872010b5c3dd42ad88c5c4f77f Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Mon, 11 Jul 2022 22:52:10 +0700 Subject: [PATCH 3/5] some fixes --- packages/core-js-compat/README.md | 2 +- packages/core-js-compat/src/external.mjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core-js-compat/README.md b/packages/core-js-compat/README.md index 45276ec13911..0983f110c259 100644 --- a/packages/core-js-compat/README.md +++ b/packages/core-js-compat/README.md @@ -66,7 +66,7 @@ console.log(targets); // object: { android: '4.0', // Android WebView version - bun: '0.2', // Bun version + bun: '0.1.2', // Bun version chrome: '38', // Chrome version deno: '1.12', // Deno version edge: '13', // Edge version diff --git a/packages/core-js-compat/src/external.mjs b/packages/core-js-compat/src/external.mjs index aa48cb3c6b57..74c6f8616627 100644 --- a/packages/core-js-compat/src/external.mjs +++ b/packages/core-js-compat/src/external.mjs @@ -1,6 +1,6 @@ export default { modules: { - bun: '0.1', + bun: '0.1.1', chrome: '61', deno: '1.0', edge: '16', From 1e114f9162b0f4346c5dbac58e18010a3b30b781 Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Mon, 11 Jul 2022 22:52:14 +0700 Subject: [PATCH 4/5] update the changelog --- CHANGELOG.md | 1 + tests/compat-tools/targets-parser.mjs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6954ea0372d5..f074fc1271c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ## Changelog ##### Unreleased - Polyfill `Promise` with `unhandledrejection` event support (browser style) in Deno < [1.24](https://github.com/denoland/deno/releases/tag/v1.24.0) +- Added compat data for Bun, [#1103](https://github.com/zloirock/core-js/issues/1103) - Added compat data for Hermes, [#1099](https://github.com/zloirock/core-js/issues/1099) - Added compat data for Oculus Browser, [#1098](https://github.com/zloirock/core-js/issues/1098) diff --git a/tests/compat-tools/targets-parser.mjs b/tests/compat-tools/targets-parser.mjs index a922bca7368e..ea8786a7bba5 100644 --- a/tests/compat-tools/targets-parser.mjs +++ b/tests/compat-tools/targets-parser.mjs @@ -25,7 +25,7 @@ deepStrictEqual(targetsParser({ browsers: 'ie 11, chrome 56, ios_saf 12.2' }), n deepStrictEqual(targetsParser({ esmodules: true }), new Map([ ['android', '61'], - ['bun', '0.1'], + ['bun', '0.1.1'], ['chrome', '61'], ['deno', '1.0'], ['edge', '16'], @@ -79,7 +79,7 @@ deepStrictEqual(targetsParser({ random: 42, }), new Map([ ['android', '4.2'], - ['bun', '0.1'], + ['bun', '0.1.1'], ['chrome', '56'], ['deno', '1.0'], ['edge', '13'], From b8f5eee21bc4f16ffb4855a181d9d02aff2cd430 Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Sun, 24 Jul 2022 15:18:40 +0700 Subject: [PATCH 5/5] update compat data after rebasing --- packages/core-js-compat/src/data.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/core-js-compat/src/data.mjs b/packages/core-js-compat/src/data.mjs index ddea69279ba9..eb95963181cc 100644 --- a/packages/core-js-compat/src/data.mjs +++ b/packages/core-js-compat/src/data.mjs @@ -2488,6 +2488,7 @@ export const data = { }, 'web.set-interval': { android: '1.5', + bun: '0.1.1', chrome: '1', deno: '1.0', firefox: '1', @@ -2500,6 +2501,7 @@ export const data = { }, 'web.set-timeout': { android: '1.5', + bun: '0.1.1', chrome: '1', deno: '1.0', firefox: '1',