Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: zloirock/core-js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.15.0
Choose a base ref
...
head repository: zloirock/core-js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.15.1
Choose a head ref
  • 3 commits
  • 12 files changed
  • 1 contributor

Commits on Jun 21, 2021

  1. update dependencies

    zloirock committed Jun 21, 2021
    Copy the full SHA
    e8d9527 View commit details

Commits on Jun 22, 2021

  1. Copy the full SHA
    aa66fb2 View commit details
  2. 3.15.1

    zloirock committed Jun 22, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    d7409d1 View commit details
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -2,6 +2,9 @@
##### Unreleased
- Nothing

##### 3.15.1 - 2021.06.23
- Fixed cloning of regex through `RegExp` constructor, [#948](https://github.com/zloirock/core-js/issues/948)

##### 3.15.0 - 2021.06.21
- Added `RegExp` named capture groups polyfill, [#521](https://github.com/zloirock/core-js/issues/521), [#944](https://github.com/zloirock/core-js/issues/944)
- Added `RegExp` `dotAll` flag polyfill, [#792](https://github.com/zloirock/core-js/issues/792), [#944](https://github.com/zloirock/core-js/issues/944)
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -119,14 +119,14 @@ Promise.resolve(32).then(x => console.log(x)); // => 32
### Installation:[](#index)
```
// global version
npm install --save core-js@3.15.0
npm install --save core-js@3.15.1
// version without global namespace pollution
npm install --save core-js-pure@3.15.0
npm install --save core-js-pure@3.15.1
// bundled global version
npm install --save core-js-bundle@3.15.0
npm install --save core-js-bundle@3.15.1
```

Already bundled version of `core-js` [on CDN](https://unpkg.com/core-js-bundle@3.15.0) ([minified version](https://unpkg.com/core-js-bundle@3.15.0/minified.js)).
Already bundled version of `core-js` [on CDN](https://unpkg.com/core-js-bundle@3.15.1) ([minified version](https://unpkg.com/core-js-bundle@3.15.1/minified.js)).

### `postinstall` message[](#index)
The `core-js` project needs your help, so the package shows a message about it after installation. If it causes problems for you, you can disable it:
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "3.15.0",
"version": "3.15.1",
"packages": [
"packages/*"
]
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "3.15.0",
"version": "3.15.1",
"devDependencies": {
"@babel/cli": "^7.14.5",
"@babel/core": "^7.14.6",
@@ -61,7 +61,7 @@
"qunit": "^2.16.0",
"semver": "^7.3.5",
"terser": "^5.7.0",
"webpack": "^5.39.1",
"webpack": "^5.40.0",
"webpack-cli": "^4.7.2"
},
"license": "MIT",
6 changes: 3 additions & 3 deletions packages/core-js-builder/package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"name": "core-js-builder",
"description": "core-js builder",
"version": "3.15.0",
"version": "3.15.1",
"repository": {
"type": "git",
"url": "https://github.com/zloirock/core-js.git",
"directory": "packages/core-js-builder"
},
"main": "index.js",
"dependencies": {
"core-js": "3.15.0",
"core-js-compat": "3.15.0",
"core-js": "3.15.1",
"core-js-compat": "3.15.1",
"mkdirp": ">=0.5.5 <1",
"webpack": ">=4.46.0 <5"
},
2 changes: 1 addition & 1 deletion packages/core-js-bundle/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "core-js-bundle",
"description": "Standard library",
"version": "3.15.0",
"version": "3.15.1",
"repository": {
"type": "git",
"url": "https://github.com/zloirock/core-js.git",
2 changes: 1 addition & 1 deletion packages/core-js-compat/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "core-js-compat",
"description": "core-js compat",
"version": "3.15.0",
"version": "3.15.1",
"repository": {
"type": "git",
"url": "https://github.com/zloirock/core-js.git",
2 changes: 1 addition & 1 deletion packages/core-js-pure/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "core-js-pure",
"description": "Standard library",
"version": "3.15.0",
"version": "3.15.1",
"repository": {
"type": "git",
"url": "https://github.com/zloirock/core-js.git",
2 changes: 1 addition & 1 deletion packages/core-js/internals/shared.js
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
(module.exports = function (key, value) {
return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({
version: '3.15.0',
version: '3.15.1',
mode: IS_PURE ? 'pure' : 'global',
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
});
17 changes: 6 additions & 11 deletions packages/core-js/modules/es.regexp.constructor.js
Original file line number Diff line number Diff line change
@@ -113,17 +113,16 @@ if (isForced('RegExp', BASE_FORCED)) {
var patternIsRegExp = isRegExp(pattern);
var flagsAreUndefined = flags === undefined;
var groups = [];
var rawPattern, rawFlags, dotAll, sticky, handled, result, state;
var rawPattern = pattern;
var rawFlags, dotAll, sticky, handled, result, state;

if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {
return pattern;
}

if (CORRECT_NEW) {
if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
} else if (pattern instanceof RegExpWrapper) {
if (flagsAreUndefined) flags = getFlags.call(pattern);
if (patternIsRegExp || pattern instanceof RegExpWrapper) {
pattern = pattern.source;
if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags.call(rawPattern);
}

pattern = pattern === undefined ? '' : String(pattern);
@@ -148,11 +147,7 @@ if (isForced('RegExp', BASE_FORCED)) {
groups = handled[1];
}

result = inheritIfRequired(
CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
thisIsRegExp ? this : RegExpPrototype,
RegExpWrapper
);
result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);

if (dotAll || sticky || groups.length) {
state = enforceInternalState(result);
2 changes: 1 addition & 1 deletion packages/core-js/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "core-js",
"description": "Standard library",
"version": "3.15.0",
"version": "3.15.1",
"repository": {
"type": "git",
"url": "https://github.com/zloirock/core-js.git",
13 changes: 11 additions & 2 deletions tests/tests/es.regexp.constructor.js
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ if (DESCRIPTORS) {
assert.looksNative(RegExp);
assert.ok({}.toString.call(RegExp()).slice(8, -1), 'RegExp');
assert.ok({}.toString.call(new RegExp()).slice(8, -1), 'RegExp');
const regexp = /a/g;
let regexp = /a/g;
assert.notStrictEqual(regexp, new RegExp(regexp), 'new RegExp(regexp) isnt regexp');
assert.strictEqual(regexp, RegExp(regexp), 'RegExp(regexp) is regexp');
regexp[Symbol.match] = false;
@@ -26,8 +26,17 @@ if (DESCRIPTORS) {
assert.strictEqual(String(new RegExp(/a/g, 'mi')), '/a/im', 'Allows a regex with flags');
assert.ok(new RegExp(/a/g, 'im') instanceof RegExp, 'Works with instanceof');
assert.strictEqual(new RegExp(/a/g, 'im').constructor, RegExp, 'Has the right constructor');

const orig = /^https?:\/\//i;
// eslint-disable-next-line regexp/no-useless-assertions -- false positive
regexp = new RegExp(orig);
assert.ok(regexp !== orig, 'new + re + no flags #1');
assert.same(String(regexp), '/^https?:\\/\\//i', 'new + re + no flags #2');
let result = regexp.exec('http://github.com');
assert.deepEqual(result, ['http://'], 'new + re + no flags #3');

/(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)/.exec('abcdefghijklmnopq');
let result = true;
result = true;
const characters = 'bcdefghij';
for (let i = 0, { length } = characters; i < length; ++i) {
const chr = characters[i];