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

Preserve class elements comments in class transform #15406

Merged
merged 5 commits into from Feb 11, 2023

Conversation

JLHwung
Copy link
Contributor

@JLHwung JLHwung commented Feb 3, 2023

Q                       A
Fixed Issues? Fixes #8507
Patch: Bug Fix?
Major: Breaking Change?
Minor: New Feature?
Tests Added + Pass? Yes
Documentation PR Link
Any Dependency Changes?
License MIT

In this PR we try to preserve surrounding member comments in class transforms. Currently the NodePath API replaceWith and replaceWithMultiple already forward comments from the old node to new node. But in the class transform we are constructing new nodes from the immediate children of member nodes, so we have to explicitly forward such comments.

@JLHwung JLHwung added PR: Bug Fix 🐛 A type of pull request used for our changelog categories area: comments labels Feb 3, 2023
@babel-bot
Copy link
Collaborator

babel-bot commented Feb 3, 2023

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

@@ -994,6 +1042,12 @@ function isNameOrLength({ key, computed }: t.ClassProperty) {
return false;
}

function inheritPropComments<T extends t.Node>(node: T, prop: PropPath) {
t.inheritLeadingComments(node, prop.node);
t.inheritInnerComments(node, prop.node);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Unlike t.inheritsComments, the inheritPropComments only inherits leading and inner comments. For every class member except the last one, its trailing comments must be the leading comments of the next sibling. The current approach favours the JSDoc style leading comments, and will lose the trailing comments of the last member. I think it does not worth the extra efforts to recover the last trailing comments. We can fix that in the future.

Copy link
Member

Choose a reason for hiding this comment

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

Could you add the "For every class member [...] the trailing comments of the last member" part as a comment in the code? :)

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.

✔️

@@ -557,14 +557,17 @@ function buildPrivateFieldInitLoose(
const { id } = privateNamesMap.get(prop.node.key.id.name);
const value = prop.node.value || prop.scope.buildUndefinedNode();

return template.statement.ast`
return inheritPropComments(
template.statement.ast`
Object.defineProperty(${ref}, ${t.cloneNode(id)}, {
Copy link
Member

Choose a reason for hiding this comment

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

Nit: can you indent the template contents one level more, to be visually inside the template tag "call"? In various places in this file.

@@ -994,6 +1042,12 @@ function isNameOrLength({ key, computed }: t.ClassProperty) {
return false;
}

function inheritPropComments<T extends t.Node>(node: T, prop: PropPath) {
t.inheritLeadingComments(node, prop.node);
t.inheritInnerComments(node, prop.node);
Copy link
Member

Choose a reason for hiding this comment

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

Could you add the "For every class member [...] the trailing comments of the last member" part as a comment in the code? :)

@nicolo-ribaudo nicolo-ribaudo changed the title Preserve member comments in class transform Preserve class elements comments in class transform Feb 4, 2023
@JLHwung JLHwung merged commit 8d1486d into babel:main Feb 11, 2023
52 checks passed
@JLHwung JLHwung deleted the fix-8507 branch February 11, 2023 17:01
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 14, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area: comments outdated A closed issue/PR that is archived due to age. Recommended to make a new issue PR: Bug Fix 🐛 A type of pull request used for our changelog categories
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Babel transpiler dislocates comments when fat arrow functions are used!
4 participants