Skip to content

Commit 8c77615

Browse files
committed
3.29.0
1 parent 615d44e commit 8c77615

File tree

15 files changed

+107
-66
lines changed

15 files changed

+107
-66
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
## Changelog
22
##### Unreleased
3+
- Nothing
4+
5+
##### [3.29.0 - 2023.02.27](https://github.com/zloirock/core-js/releases/tag/v3.29.0)
36
- Added `URLSearchParams.prototype.size` getter, [url/734](https://github.com/whatwg/url/pull/734)
47
- Allowed cloning resizable `ArrayBuffer`s in the `structuredClone` polyfill
58
- Fixed wrong export in `/(stable|actual|full)/instance/unshift` entries, [#1207](https://github.com/zloirock/core-js/issues/1207)

ORIGINAL_README.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -208,11 +208,11 @@ structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3])
208208
### Installation:[](#index)
209209
```sh
210210
// global version
211-
npm install --save core-js@3.28.0
211+
npm install --save core-js@3.29.0
212212
// version without global namespace pollution
213-
npm install --save core-js-pure@3.28.0
213+
npm install --save core-js-pure@3.29.0
214214
// bundled global version
215-
npm install --save core-js-bundle@3.28.0
215+
npm install --save core-js-bundle@3.29.0
216216
```
217217

218218
Or you can use `core-js` [from CDN](https://www.jsdelivr.com/package/npm/core-js-bundle).
@@ -309,9 +309,9 @@ import 'regenerator-runtime/runtime';
309309

310310
#### `@babel/preset-env`[](#index)
311311

312-
[`@babel/preset-env`](https://github.com/babel/babel/tree/master/packages/babel-preset-env) has `useBuiltIns` option, which optimizes working with global version of `core-js`. With `useBuiltIns` option, you should also set `corejs` option to used version of `core-js`, like `corejs: '3.28'`.
312+
[`@babel/preset-env`](https://github.com/babel/babel/tree/master/packages/babel-preset-env) has `useBuiltIns` option, which optimizes working with global version of `core-js`. With `useBuiltIns` option, you should also set `corejs` option to used version of `core-js`, like `corejs: '3.29'`.
313313

314-
> **Warning!** Recommended to specify used minor `core-js` version, like `corejs: '3.28'`, instead of `corejs: 3`, since with `corejs: 3` will not be injected modules which were added in minor `core-js` releases.
314+
> **Warning!** Recommended to specify used minor `core-js` version, like `corejs: '3.29'`, instead of `corejs: 3`, since with `corejs: 3` will not be injected modules which were added in minor `core-js` releases.
315315
316316
- `useBuiltIns: 'entry'` replaces imports of `core-js` to import only required for a target environment modules. So, for example,
317317
```js
@@ -366,7 +366,7 @@ import 'core-js/modules/es.array.of';
366366
var array = Array.of(1, 2, 3);
367367
```
368368

369-
By default, `@babel/preset-env` with `useBuiltIns: 'usage'` option only polyfills stable features, but you can enable polyfilling of proposals by `proposals` option, as `corejs: { version: '3.28', proposals: true }`.
369+
By default, `@babel/preset-env` with `useBuiltIns: 'usage'` option only polyfills stable features, but you can enable polyfilling of proposals by `proposals` option, as `corejs: { version: '3.29', proposals: true }`.
370370

371371
> **Warning!** In the case of `useBuiltIns: 'usage'`, you should not add `core-js` imports by yourself, they will be added automatically.
372372
@@ -402,7 +402,7 @@ Fast JavaScript transpiler `swc` [contains integration with `core-js`](https://s
402402
"env": {
403403
"targets": "> 0.25%, not dead",
404404
"mode": "entry",
405-
"coreJs": "3.28"
405+
"coreJs": "3.29"
406406
}
407407
}
408408
```

deno/corejs/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
*Example*:
3030
```js
31-
import 'https://deno.land/x/corejs@v3.28.0/index.js'; // <- at the top of your entry point
31+
import 'https://deno.land/x/corejs@v3.29.0/index.js'; // <- at the top of your entry point
3232

3333
Object.hasOwn({ foo: 42 }, 'foo'); // => true
3434

deno/corejs/index.js

+47-27
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
2-
* core-js 3.28.0
2+
* core-js 3.29.0
33
* © 2014-2023 Denis Pushkarev (zloirock.ru)
4-
* license: https://github.com/zloirock/core-js/blob/v3.28.0/LICENSE
4+
* license: https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE
55
* source: https://github.com/zloirock/core-js
66
*/
77
!function (undefined) { 'use strict'; /******/ (function(modules) { // webpackBootstrap
@@ -277,7 +277,8 @@ __webpack_require__(433);
277277
__webpack_require__(434);
278278
__webpack_require__(435);
279279
__webpack_require__(440);
280-
module.exports = __webpack_require__(441);
280+
__webpack_require__(441);
281+
module.exports = __webpack_require__(442);
281282

282283

283284
/***/ }),
@@ -942,10 +943,10 @@ var store = __webpack_require__(36);
942943
(module.exports = function (key, value) {
943944
return store[key] || (store[key] = value !== undefined ? value : {});
944945
})('versions', []).push({
945-
version: '3.28.0',
946+
version: '3.29.0',
946947
mode: IS_PURE ? 'pure' : 'global',
947948
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
948-
license: 'https://github.com/zloirock/core-js/blob/v3.28.0/LICENSE',
949+
license: 'https://github.com/zloirock/core-js/blob/v3.29.0/LICENSE',
949950
source: 'https://github.com/zloirock/core-js'
950951
});
951952

@@ -9435,31 +9436,21 @@ Context.prototype = {
94359436
var i = this.skip(IS_WHITESPACE, this.index);
94369437
var fork = this.fork(i);
94379438
var chr = at(source, i);
9438-
var result;
9439-
if (exec(IS_NUMBER_START, chr)) result = fork.number();
9440-
else switch (chr) {
9439+
if (exec(IS_NUMBER_START, chr)) return fork.number();
9440+
switch (chr) {
94419441
case '{':
9442-
result = fork.object();
9443-
break;
9442+
return fork.object();
94449443
case '[':
9445-
result = fork.array();
9446-
break;
9444+
return fork.array();
94479445
case '"':
9448-
result = fork.string();
9449-
break;
9446+
return fork.string();
94509447
case 't':
9451-
result = fork.keyword(true);
9452-
break;
9448+
return fork.keyword(true);
94539449
case 'f':
9454-
result = fork.keyword(false);
9455-
break;
9450+
return fork.keyword(false);
94569451
case 'n':
9457-
result = fork.keyword(null);
9458-
break;
9459-
default:
9460-
throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
9461-
}
9462-
return result;
9452+
return fork.keyword(null);
9453+
} throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
94639454
},
94649455
node: function (type, value, start, end, nodes) {
94659456
return new Node(value, end, type ? null : slice(this.source, start, end), nodes);
@@ -13951,7 +13942,7 @@ var structuredCloneInternal = function (value, map) {
1395113942

1395213943
var type = classof(value);
1395313944
var deep = false;
13954-
var C, name, cloned, dataTransfer, i, length, keys, key, source, target;
13945+
var C, name, cloned, dataTransfer, i, length, keys, key, source, target, options;
1395513946

1395613947
switch (type) {
1395713948
case 'Array':
@@ -14106,11 +14097,12 @@ var structuredCloneInternal = function (value, map) {
1410614097
if (!C && typeof value.slice != 'function') throwUnpolyfillable(type);
1410714098
// detached buffers throws in `DataView` and `.slice`
1410814099
try {
14109-
if (typeof value.slice == 'function') {
14100+
if (typeof value.slice == 'function' && !value.resizable) {
1411014101
cloned = value.slice(0);
1411114102
} else {
1411214103
length = value.byteLength;
14113-
cloned = new ArrayBuffer(length);
14104+
options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined;
14105+
cloned = new ArrayBuffer(length, options);
1411414106
source = new C(value);
1411514107
target = new C(cloned);
1411614108
for (i = 0; i < length; i++) {
@@ -14305,5 +14297,33 @@ $({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLA
1430514297
});
1430614298

1430714299

14300+
/***/ }),
14301+
/* 442 */
14302+
/***/ (function(module, exports, __webpack_require__) {
14303+
14304+
"use strict";
14305+
14306+
var DESCRIPTORS = __webpack_require__(5);
14307+
var uncurryThis = __webpack_require__(13);
14308+
var defineBuiltInAccessor = __webpack_require__(119);
14309+
14310+
var URLSearchParamsPrototype = URLSearchParams.prototype;
14311+
var forEach = uncurryThis(URLSearchParamsPrototype.forEach);
14312+
14313+
// `URLSearchParams.prototype.size` getter
14314+
// https://github.com/whatwg/url/pull/734
14315+
if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {
14316+
defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {
14317+
get: function size() {
14318+
var count = 0;
14319+
forEach(this, function () { count++; });
14320+
return count;
14321+
},
14322+
configurable: true,
14323+
enumerable: true
14324+
});
14325+
}
14326+
14327+
1430814328
/***/ })
1430914329
/******/ ]); }();

docs/compat/compat-data.js

+23-8
Original file line numberDiff line numberDiff line change
@@ -5981,22 +5981,34 @@
59815981
"esnext.set.filter": {},
59825982
"esnext.set.find": {},
59835983
"esnext.set.from": {},
5984-
"esnext.set.intersection.v2": {},
5984+
"esnext.set.intersection.v2": {
5985+
"bun": "0.5.7"
5986+
},
59855987
"esnext.set.intersection": {},
5986-
"esnext.set.is-disjoint-from.v2": {},
5988+
"esnext.set.is-disjoint-from.v2": {
5989+
"bun": "0.5.7"
5990+
},
59875991
"esnext.set.is-disjoint-from": {},
5988-
"esnext.set.is-subset-of.v2": {},
5992+
"esnext.set.is-subset-of.v2": {
5993+
"bun": "0.5.7"
5994+
},
59895995
"esnext.set.is-subset-of": {},
5990-
"esnext.set.is-superset-of.v2": {},
5996+
"esnext.set.is-superset-of.v2": {
5997+
"bun": "0.5.7"
5998+
},
59915999
"esnext.set.is-superset-of": {},
59926000
"esnext.set.join": {},
59936001
"esnext.set.map": {},
59946002
"esnext.set.of": {},
59956003
"esnext.set.reduce": {},
59966004
"esnext.set.some": {},
5997-
"esnext.set.symmetric-difference.v2": {},
6005+
"esnext.set.symmetric-difference.v2": {
6006+
"bun": "0.5.7"
6007+
},
59986008
"esnext.set.symmetric-difference": {},
5999-
"esnext.set.union.v2": {},
6009+
"esnext.set.union.v2": {
6010+
"bun": "0.5.7"
6011+
},
60006012
"esnext.set.union": {},
60016013
"esnext.string.at": {},
60026014
"esnext.string.cooked": {},
@@ -6049,7 +6061,9 @@
60496061
"safari": "13.1",
60506062
"samsung": "14.0"
60516063
},
6052-
"esnext.string.to-well-formed": {},
6064+
"esnext.string.to-well-formed": {
6065+
"bun": "0.5.7"
6066+
},
60536067
"esnext.symbol.async-dispose": {},
60546068
"esnext.symbol.dispose": {},
60556069
"esnext.symbol.is-registered": {},
@@ -6535,5 +6549,6 @@
65356549
"quest": "6.0",
65366550
"safari": "14.0",
65376551
"samsung": "9.0"
6538-
}
6552+
},
6553+
"web.url-search-params.size": {}
65396554
}

docs/compat/tests.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1945,5 +1945,8 @@ GLOBAL.tests = {
19451945
'web.url.to-json': [URL_AND_URL_SEARCH_PARAMS_SUPPORT, function () {
19461946
return URL.prototype.toJSON;
19471947
}],
1948-
'web.url-search-params.constructor': URL_AND_URL_SEARCH_PARAMS_SUPPORT
1948+
'web.url-search-params.constructor': URL_AND_URL_SEARCH_PARAMS_SUPPORT,
1949+
'web.url-search-params.size': [URL_AND_URL_SEARCH_PARAMS_SUPPORT, function () {
1950+
return 'size' in URLSearchParams.prototype;
1951+
}]
19491952
};

package-lock.json

+9-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "3.28.0",
2+
"version": "3.29.0",
33
"repository": {
44
"type": "git",
55
"url": "https://github.com/zloirock/core-js.git"

packages/core-js-builder/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "core-js-builder",
3-
"version": "3.28.0",
3+
"version": "3.29.0",
44
"description": "core-js builder",
55
"repository": {
66
"type": "git",
@@ -21,8 +21,8 @@
2121
"main": "index.js",
2222
"types": "index.d.ts",
2323
"dependencies": {
24-
"core-js": "3.28.0",
25-
"core-js-compat": "3.28.0",
24+
"core-js": "3.29.0",
25+
"core-js-compat": "3.29.0",
2626
"mkdirp": ">=0.5.5 <1",
2727
"webpack": ">=4.46.0 <5"
2828
},

packages/core-js-bundle/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "core-js-bundle",
3-
"version": "3.28.0",
3+
"version": "3.29.0",
44
"description": "Standard library",
55
"keywords": [
66
"ES3",

packages/core-js-compat/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const {
2727
exclude: [ // optional list / filter of modules to exclude, the signature is similar to `modules` option
2828
'web.atob',
2929
],
30-
version: '3.28', // used `core-js` version, by default - the latest
30+
version: '3.29', // used `core-js` version, by default - the latest
3131
inverse: false, // inverse of the result - shows modules that are NOT required for the target environment
3232
});
3333

@@ -125,9 +125,9 @@ require('core-js-compat/modules'); // => Array<ModuleName>
125125
require('core-js-compat').modules; // => Array<ModuleName>
126126

127127
// the subset of modules which available in the passed `core-js` version:
128-
require('core-js-compat/get-modules-list-for-target-version')('3.28'); // => Array<ModuleName>
128+
require('core-js-compat/get-modules-list-for-target-version')('3.29'); // => Array<ModuleName>
129129
// or
130-
require('core-js-compat').getModulesListForTargetVersion('3.28'); // => Array<ModuleName>
130+
require('core-js-compat').getModulesListForTargetVersion('3.29'); // => Array<ModuleName>
131131
```
132132

133133
If you wanna help to improve this data, you could take a look at the related section of [`CONTRIBUTING.md`](https://github.com/zloirock/core-js/blob/master/CONTRIBUTING.md#how-to-update-core-js-compat-data). The visualization of compatibility data and the browser tests runner is available [here](http://zloirock.github.io/core-js/compat/), the example:

packages/core-js-compat/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "core-js-compat",
3-
"version": "3.28.0",
3+
"version": "3.29.0",
44
"description": "core-js compat",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)