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
Conversation
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); |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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? :)
There was a problem hiding this 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)}, { |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
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? :)
<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=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?utm_source=github&utm_medium=referral&page=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=@babel/core&utm_source=github&utm_medium=referral&page=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>
<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=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/scudette/project/76f4d127-566b-42ef-86f4-bdcbc92b90b4/settings/integration?utm_source=github&utm_medium=referral&page=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=@babel/core&utm_source=github&utm_medium=referral&page=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>
In this PR we try to preserve surrounding member comments in class transforms. Currently the NodePath API
replaceWith
andreplaceWithMultiple
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.