Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parser option to allow new.target outside functions #15114

Merged
merged 3 commits into from Feb 18, 2023

Conversation

overlookmotel
Copy link
Contributor

@overlookmotel overlookmotel commented Nov 2, 2022

Q                       A
Fixed Issues? n/a
Patch: Bug Fix? No
Major: Breaking Change? No
Minor: New Feature? Yes
Tests Added + Pass? Yes
Documentation PR Link babel/website#2724
Any Dependency Changes? No
License MIT

This PR adds an option for parse to allow new.target outside of functions.

There are 2 places this can be useful:

  1. In CommonJS code, new.target at top level is legal (if fairly pointless) as CommonJS code is compiled in a function wrapper.
  2. When parsing code which will be wrapped in a function or execute in eval() where it inherits new.target from the outer scope.

I've called the option allowNewTargetOutsideFunction to match allowAwaitOutsideFunction and allowReturnOutsideFunction.

If accepted, I'll make a 2nd PR on the website repo to document this new option.

@liuxingbaoyu liuxingbaoyu added pkg: parser PR: New Feature 🚀 A type of pull request used for our changelog categories labels Nov 2, 2022
Copy link
Member

@liuxingbaoyu liuxingbaoyu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, we generally need two approves and see what other people think.

@fisker
Copy link
Contributor

fisker commented Nov 2, 2022

I think this will make Prettier able to format this

@fisker
Copy link
Contributor

fisker commented Nov 2, 2022

Maybe allowNewTargetOutsideClass? Bad idea, class is also a function.

@liuxingbaoyu
Copy link
Member

liuxingbaoyu commented Nov 2, 2022

@fisker
I test this in the babel repl without errors, and also the prettier doesn't use recoverable exceptions?

UPDATED: It seems that prettier is parsing some of the statements.

@fisker
Copy link
Contributor

fisker commented Nov 2, 2022

That example is a "range format" feature. Only take few lines to format.

@fisker
Copy link
Contributor

fisker commented Nov 2, 2022

I just realize, it seems we are doing things wrong, we should not re-parse the string in range, should directly print the node in range.

@liuxingbaoyu
Copy link
Member

Personally it seems to me that it is normal to parse only part of it (eg pasting inside vscode), but this exception should be ignored by prettier.

Copy link
Member

@nicolo-ribaudo nicolo-ribaudo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems ok. I would eventually like to replace all these allow* options with something like context: "async function", or context: "class method", etc.

We just released 7.20.0, so it will be a while before the 7.21.0 (which will include this PR).

@fisker You have to parse the whole file (and just print the specific section) regardless of this, otherwise you cannot properly format this example: https://prettier.io/playground/#N4Igxg9gdgLgprEAuEAzArlMMCW0BUABKgBQCUhwAOlIYQIyEDUhJAnjnADYAmRAzGRoBfEABoQEAA65oAZ2SgAhgCcVEAO4AFVQgUolXDUrYKJAIxVKwAazgwAykoC2cADI4ocZKkNy4Fla29g5S1p4A5sgwKugBIHDO5nA8PCluSlAR6EoRcABiECrOSjC4WcggSugwEOIgABYwzlwA6g048HJhYHAOep04AG6dbJVgcmYgnv4qMFpWESU+fvEAVnIAHg6RXHAAiugQ8Ctc-hJhKrOV5krJXPVSKp4wrTg8MA3IABwADBfqfytKxSSpPOCzIbeCQARyO8AW0n0VTkAFovCkUvUVHA4TgcQtcsskL4zvF-M4cNFYuTdgd4d4SasJDA7m8Pl8kAAmFlWHBcSIAYQgzmJCTkAFZ6uh-AAVO76UnnEBDOIASSgaVgDjAzxkAEFNQ4YGw9qdlVYsn1WXNkPRvhJLXkAKKa5D8LnCYRAA

@nicolo-ribaudo nicolo-ribaudo added the PR: Ready to be Merged A pull request with already two approvals, but waiting for the next minor release label Nov 2, 2022
@nicolo-ribaudo nicolo-ribaudo added this to the v7.21.0 milestone Nov 2, 2022
@fisker
Copy link
Contributor

fisker commented Nov 2, 2022

Good example, I'll try to fix that later.

@overlookmotel
Copy link
Contributor Author

Thanks for the review. What's the process for submitting PR to update docs? Do it now, wait until this PR is merged, or wait until 7.21.0 is ready for release?

@liuxingbaoyu
Copy link
Member

liuxingbaoyu commented Nov 2, 2022

Usually now, we'll merge this PR together when it's released.

@@ -41,6 +42,9 @@ export const defaultOptions: Options = {
// When enabled, a return at the top level is not considered an
// error.
allowReturnOutsideFunction: false,
// When enabled, new.target at the top level is not considered an
// error.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current implementation also allows new.target within an arrow function. If it is desired, can you update the note and add a new test?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To clarify: Are you saying that "top level" here is the wrong words to use because inside an arrow function is not top level?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that

function fn() {
  () => new.target
} 

is valid, I would expect () => new.target to be valid with this option, right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think "top level" is wrong. But maybe it is incomplete in this case, since () => new.target will also be allowed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, intent with this option was to allow new.target anywhere. If the file was wrapped in a function e.g. if it's a CommonJS file, I'm not aware of anywhere where new.target can't be used - because there's always a function above it.

Have added tests for new.target in an arrow function and updated the description of the option accordingly.

@babel-bot
Copy link
Collaborator

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/53955/

@nicolo-ribaudo nicolo-ribaudo merged commit 2a7495f into babel:main Feb 18, 2023
cbush pushed a commit to mongodb/docs-realm that referenced this pull request Mar 17, 2023
<h3>Snyk has created this PR to upgrade @babel/core from 7.20.12 to
7.21.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
<hr/>

- The recommended version is **1 version** ahead of your current
version.
- The recommended version was released **24 days ago**, on 2023-02-20.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>@babel/core</b></summary>
    <ul>
      <li>
<b>7.21.0</b> - <a
href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.21.0">2023-02-20</a></br><h2>v7.21.0
(2023-02-20)</h2>
<p>Thanks <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/azizghuloum/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/azizghuloum">@ azizghuloum</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/ehoogeveen-medweb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/ehoogeveen-medweb">@
ehoogeveen-medweb</a>, <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/fwienber/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>, and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Lioness100/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Lioness100">@ Lioness100</a> for
your first PRs!</p>
<h4><g-emoji class="g-emoji" alias="rocket"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f680.png">🚀</g-emoji>
New Feature</h4>
<ul>
<li><code>babel-core</code>,
<code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-proposal-private-methods</code>,
<code>babel-plugin-proposal-private-property-in-object</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15435"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15435/hovercard">#15435</a> feat:
Implement <code>privateFieldsAsSymbols</code> assumption for classes (<a
href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>)</li>
</ul>
</li>
<li><code>babel-helper-create-regexp-features-plugin</code>,
<code>babel-plugin-proposal-regexp-modifiers</code>,
<code>babel-standalone</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15226"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15226/hovercard">#15226</a> feat:
Support regexp modifiers proposal (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-cli</code>, <code>babel-core</code>,
<code>babel-generator</code>,
<code>babel-plugin-transform-destructuring</code>,
<code>babel-plugin-transform-modules-commonjs</code>,
<code>babel-plugin-transform-react-jsx</code>,
<code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15022"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15022/hovercard">#15022</a> feat:
Generate sourcemaps of friendly call frames (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-parser</code>, <code>babel-types</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15384"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15384/hovercard">#15384</a> [ts]
Support <code>const</code> modifier in type parameters (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>, <code>babel-helpers</code>,
<code>babel-parser</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-syntax-decorators</code>,
<code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>,
<code>babel-runtime</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15405"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15405/hovercard">#15405</a>
Implement decorators as presented at <code>2023-01</code> TC39 meeting
(<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15114"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15114/hovercard">#15114</a> Parser
option to allow <code>new.target</code> outside functions (<a
href="https://snyk.io/redirect/github/overlookmotel">@
overlookmotel</a>)</li>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15320"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15320/hovercard">#15320</a> Add
<code>annexb: false</code> parser option to disable Annex B (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-core</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15283"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15283/hovercard">#15283</a> feat:
Support <code>.cts</code> as configuration file (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>, <code>babel-parser</code>,
<code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15381"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15381/hovercard">#15381</a> [ts]
Support <code>export type * from</code> (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="bug"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji>
Bug Fix</h4>
<ul>
<li><code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15379"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15379/hovercard">#15379</a>
[ts5.0] Better inlining of constants in enums (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-core</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15366"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15366/hovercard">#15366</a>
handling circular/shared structures in deep-clone (<a
href="https://snyk.io/redirect/github/azizghuloum">@
azizghuloum</a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-proposal-class-static-block</code>,
<code>babel-plugin-proposal-private-methods</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-new-target</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15406"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15406/hovercard">#15406</a>
Preserve class elements comments in class transform (<a
href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-parser</code>,
<code>babel-plugin-transform-flow-comments</code>,
<code>babel-plugin-transform-flow-strip-types</code>,
<code>babel-types</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15414"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15414/hovercard">#15414</a> [ts]
Fix restrictions for optional parameters (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="nail_care"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png">💅</g-emoji>
Polish</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15400"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15400/hovercard">#15400</a>
polish: improve "<code>await</code> as identifier" error in modules (<a
href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="house"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji>
Internal</h4>
<ul>
<li><code>babel-core</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15137"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15137/hovercard">#15137</a>
Improve CJS compat with ESM-based <code>@ babel/core</code> (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="microscope"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f52c.png">🔬</g-emoji>
Output optimization</h4>
<ul>
<li><code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15418"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15418/hovercard">#15418</a> [ts]
Handle exponentiation operator in constant folding (<a
href="https://snyk.io/redirect/github/ehoogeveen-medweb">@
ehoogeveen-medweb</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 11</h4>
<ul>
<li>Abdulaziz Ghuloum (<a
href="https://snyk.io/redirect/github/azizghuloum">@
azizghuloum</a>)</li>
<li>Babel Bot (<a href="https://snyk.io/redirect/github/babel-bot">@
babel-bot</a>)</li>
<li>Emanuel Hoogeveen (<a
href="https://snyk.io/redirect/github/ehoogeveen-medweb">@
ehoogeveen-medweb</a>)</li>
<li>Frank Wienberg (<a href="https://snyk.io/redirect/github/fwienber">@
fwienber</a>)</li>
<li>Huáng Jùnliàng (<a href="https://snyk.io/redirect/github/JLHwung">@
JLHwung</a>)</li>
<li>Mateusz Burzyński (<a
href="https://snyk.io/redirect/github/Andarist">@ Andarist</a>)</li>
<li>Nicolò Ribaudo (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
<li><a href="https://snyk.io/redirect/github/Lioness100">@
Lioness100</a></li>
<li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a></li>
<li><a href="https://snyk.io/redirect/github/overlookmotel">@
overlookmotel</a></li>
<li>fisker Cheung (<a href="https://snyk.io/redirect/github/fisker">@
fisker</a>)</li>
</ul>
      </li>
      <li>
<b>7.20.12</b> - <a
href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.20.12">2023-01-04</a></br><h2>v7.20.12
(2023-01-04)</h2>
<p>Thanks <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/cross19xx/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/cross19xx">@ cross19xx</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/JBYoshi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/JBYoshi">@ JBYoshi</a> and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/nmn/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/nmn">@ nmn</a> for your first
PRs!</p>
<h4><g-emoji class="g-emoji" alias="bug"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji>
Bug Fix</h4>
<ul>
<li><code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15224"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15224/hovercard">#15224</a> Fix
<code>TaggedTemplateLiteral</code> evaluation (<a
href="https://snyk.io/redirect/github/nmn">@ nmn</a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-class-properties</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15312"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15312/hovercard">#15312</a> fix:
<code>delete this</code> in static class properties initialization (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="nail_care"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png">💅</g-emoji>
Polish</h4>
<ul>
<li><code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15313"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15313/hovercard">#15313</a>
Implement support for evaluating computed properties. (<a
href="https://snyk.io/redirect/github/JBYoshi">@ JBYoshi</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 5</h4>
<ul>
<li>Jonathan Browne (<a href="https://snyk.io/redirect/github/JBYoshi">@
JBYoshi</a>)</li>
<li>Kenneth Kwakye-Gyamfi (<a
href="https://snyk.io/redirect/github/cross19xx">@ cross19xx</a>)</li>
<li>Naman Goel (<a href="https://snyk.io/redirect/github/nmn">@
nmn</a>)</li>
<li>Nicolò Ribaudo (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
<li>Tianlan Zhou (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</a>)</li>
</ul>
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/babel/babel/releases">@babel/core
GitHub release notes</a>
  </details>
</details>
<hr/>

**Note:** *You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs.*

For more information: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIxMjFlNDk2Mi01NjQ2LTRjNzEtYmY1My02ZTg1MWE1YzNiMTciLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjEyMWU0OTYyLTU2NDYtNGM3MS1iZjUzLTZlODUxYTVjM2IxNyJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?pkg&#x3D;@babel/core&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"121e4962-5646-4c71-bf53-6e851a5c3b17","prPublicId":"121e4962-5646-4c71-bf53-6e851a5c3b17","dependencies":[{"name":"@babel/core","from":"7.20.12","to":"7.21.0"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"852e6e4f-be96-45c8-b370-1060f5ebee55","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2023-02-20T15:31:22.823Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]})
--->

---------

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
scudette added a commit to Velocidex/velociraptor that referenced this pull request Apr 5, 2023
<p>This PR was automatically created by Snyk using the credentials of a
real user.</p><br /><h3>Snyk has created this PR to upgrade @babel/core
from 7.21.0 to 7.21.3.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
<hr/>

- The recommended version is **1 version** ahead of your current
version.
- The recommended version was released **22 days ago**, on 2023-03-14.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>@babel/core</b></summary>
    <ul>
      <li>
<b>7.21.3</b> - <a
href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.21.3">2023-03-14</a></br><h2>v7.21.3
(2023-03-14)</h2>
<p>Thanks <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/amoeller/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/amoeller">@ amoeller</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Harpica/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Harpica">@ Harpica</a>, and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/nzakas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/nzakas">@ nzakas</a> for your
first PRs!</p>
<h4><g-emoji class="g-emoji" alias="eyeglasses"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f453.png">👓</g-emoji>
Spec Compliance</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15479"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15479/hovercard">#15479</a>
disallow mixins/implements in flow interface (<a
href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="bug"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji>
Bug Fix</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15423"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15423/hovercard">#15423</a> [ts]
Allow keywords in tuple labels (<a
href="https://snyk.io/redirect/github/Harpica">@ Harpica</a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15489"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15489/hovercard">#15489</a>
Register <code>var</code> decls generated by <code>import ... =</code>
TS transform (<a href="https://snyk.io/redirect/github/amoeller">@
amoeller</a>)</li>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15494"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15494/hovercard">#15494</a> fix:
Consider <code>export { type foo }</code> as type-only usage (<a
href="https://snyk.io/redirect/github/magic-akari">@
magic-akari</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="nail_care"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png">💅</g-emoji>
Polish</h4>
<ul>
<li><code>babel-traverse</code>, <code>babel-types</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15484"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15484/hovercard">#15484</a> Skip
node deprecation warnings when used by an old <code>@ babel</code>
package (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15480"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15480/hovercard">#15480</a> chore:
Improve <code>jsonCompatibleStrings</code> deprecation (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="house"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji>
Internal</h4>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15465"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15465/hovercard">#15465</a> Add
ESLint-readable package name (<a
href="https://snyk.io/redirect/github/nzakas">@ nzakas</a>)</li>
</ul>
<h4><g-emoji class="g-emoji" alias="microscope"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f52c.png">🔬</g-emoji>
Output optimization</h4>
<ul>
<li><code>babel-plugin-transform-typescript</code>,
<code>babel-preset-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15467"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15467/hovercard">#15467</a>
Optimize TS enums output (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 8</h4>
<ul>
<li>Alexandra Kadykova (<a
href="https://snyk.io/redirect/github/Harpica">@ Harpica</a>)</li>
<li>Anders Møller (<a href="https://snyk.io/redirect/github/amoeller">@
amoeller</a>)</li>
<li>Babel Bot (<a href="https://snyk.io/redirect/github/babel-bot">@
babel-bot</a>)</li>
<li>Huáng Jùnliàng (<a href="https://snyk.io/redirect/github/JLHwung">@
JLHwung</a>)</li>
<li>Nicholas C. Zakas (<a
href="https://snyk.io/redirect/github/nzakas">@ nzakas</a>)</li>
<li>Nicolò Ribaudo (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
<li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a></li>
<li>magic-akari (<a href="https://snyk.io/redirect/github/magic-akari">@
magic-akari</a>)</li>
</ul>
      </li>
      <li>
<b>7.21.0</b> - <a
href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.21.0">2023-02-20</a></br><h2>v7.21.0
(2023-02-20)</h2>
<p>Thanks <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/azizghuloum/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/azizghuloum">@ azizghuloum</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/ehoogeveen-medweb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/ehoogeveen-medweb">@
ehoogeveen-medweb</a>, <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/fwienber/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>, and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Lioness100/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Lioness100">@ Lioness100</a> for
your first PRs!</p>
<h4><g-emoji class="g-emoji" alias="rocket"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f680.png">🚀</g-emoji>
New Feature</h4>
<ul>
<li><code>babel-core</code>,
<code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-proposal-private-methods</code>,
<code>babel-plugin-proposal-private-property-in-object</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15435"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15435/hovercard">#15435</a> feat:
Implement <code>privateFieldsAsSymbols</code> assumption for classes (<a
href="https://snyk.io/redirect/github/fwienber">@ fwienber</a>)</li>
</ul>
</li>
<li><code>babel-helper-create-regexp-features-plugin</code>,
<code>babel-plugin-proposal-regexp-modifiers</code>,
<code>babel-standalone</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15226"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15226/hovercard">#15226</a> feat:
Support regexp modifiers proposal (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-cli</code>, <code>babel-core</code>,
<code>babel-generator</code>,
<code>babel-plugin-transform-destructuring</code>,
<code>babel-plugin-transform-modules-commonjs</code>,
<code>babel-plugin-transform-react-jsx</code>,
<code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15022"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15022/hovercard">#15022</a> feat:
Generate sourcemaps of friendly call frames (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-parser</code>, <code>babel-types</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15384"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15384/hovercard">#15384</a> [ts]
Support <code>const</code> modifier in type parameters (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>, <code>babel-helpers</code>,
<code>babel-parser</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-syntax-decorators</code>,
<code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>,
<code>babel-runtime</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15405"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15405/hovercard">#15405</a>
Implement decorators as presented at <code>2023-01</code> TC39 meeting
(<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-parser</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15114"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15114/hovercard">#15114</a> Parser
option to allow <code>new.target</code> outside functions (<a
href="https://snyk.io/redirect/github/overlookmotel">@
overlookmotel</a>)</li>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15320"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15320/hovercard">#15320</a> Add
<code>annexb: false</code> parser option to disable Annex B (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-core</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15283"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15283/hovercard">#15283</a> feat:
Support <code>.cts</code> as configuration file (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>, <code>babel-parser</code>,
<code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15381"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15381/hovercard">#15381</a> [ts]
Support <code>export type * from</code> (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="bug"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji>
Bug Fix</h4>
<ul>
<li><code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15379"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15379/hovercard">#15379</a>
[ts5.0] Better inlining of constants in enums (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-core</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15366"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15366/hovercard">#15366</a>
handling circular/shared structures in deep-clone (<a
href="https://snyk.io/redirect/github/azizghuloum">@
azizghuloum</a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-proposal-class-static-block</code>,
<code>babel-plugin-proposal-private-methods</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-new-target</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15406"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15406/hovercard">#15406</a>
Preserve class elements comments in class transform (<a
href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-parser</code>,
<code>babel-plugin-transform-flow-comments</code>,
<code>babel-plugin-transform-flow-strip-types</code>,
<code>babel-types</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15414"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15414/hovercard">#15414</a> [ts]
Fix restrictions for optional parameters (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="nail_care"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f485.png">💅</g-emoji>
Polish</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15400"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15400/hovercard">#15400</a>
polish: improve "<code>await</code> as identifier" error in modules (<a
href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="house"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji>
Internal</h4>
<ul>
<li><code>babel-core</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15137"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15137/hovercard">#15137</a>
Improve CJS compat with ESM-based <code>@ babel/core</code> (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="microscope"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f52c.png">🔬</g-emoji>
Output optimization</h4>
<ul>
<li><code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15418"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15418/hovercard">#15418</a> [ts]
Handle exponentiation operator in constant folding (<a
href="https://snyk.io/redirect/github/ehoogeveen-medweb">@
ehoogeveen-medweb</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 11</h4>
<ul>
<li>Abdulaziz Ghuloum (<a
href="https://snyk.io/redirect/github/azizghuloum">@
azizghuloum</a>)</li>
<li>Babel Bot (<a href="https://snyk.io/redirect/github/babel-bot">@
babel-bot</a>)</li>
<li>Emanuel Hoogeveen (<a
href="https://snyk.io/redirect/github/ehoogeveen-medweb">@
ehoogeveen-medweb</a>)</li>
<li>Frank Wienberg (<a href="https://snyk.io/redirect/github/fwienber">@
fwienber</a>)</li>
<li>Huáng Jùnliàng (<a href="https://snyk.io/redirect/github/JLHwung">@
JLHwung</a>)</li>
<li>Mateusz Burzyński (<a
href="https://snyk.io/redirect/github/Andarist">@ Andarist</a>)</li>
<li>Nicolò Ribaudo (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
<li><a href="https://snyk.io/redirect/github/Lioness100">@
Lioness100</a></li>
<li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a></li>
<li><a href="https://snyk.io/redirect/github/overlookmotel">@
overlookmotel</a></li>
<li>fisker Cheung (<a href="https://snyk.io/redirect/github/fisker">@
fisker</a>)</li>
</ul>
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/babel/babel/releases">@babel/core
GitHub release notes</a>
  </details>
</details>
<hr/>

**Note:** *You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs.*

For more information: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI4ZDVkNTAxNi0zZGY0LTRhN2QtOGEwZC1mMGYyZDUyMTg4YTgiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjhkNWQ1MDE2LTNkZjQtNGE3ZC04YTBkLWYwZjJkNTIxODhhOCJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4/settings/integration?pkg&#x3D;@babel/core&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"8d5d5016-3df4-4a7d-8a0d-f0f2d52188a8","prPublicId":"8d5d5016-3df4-4a7d-8a0d-f0f2d52188a8","dependencies":[{"name":"@babel/core","from":"7.21.0","to":"7.21.3"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"76f4d127-566b-42ef-86f4-bdcbc92b90b4","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2023-03-14T14:59:44.759Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]})
--->

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
@github-actions github-actions bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label May 21, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated A closed issue/PR that is archived due to age. Recommended to make a new issue pkg: parser PR: New Feature 🚀 A type of pull request used for our changelog categories PR: Ready to be Merged A pull request with already two approvals, but waiting for the next minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants