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
[ts] Handle exponentiation operator in constant folding #15418
[ts] Handle exponentiation operator in constant folding #15418
Conversation
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/53895/ |
(I wasn't sure whether to label this as a bug fix or a new feature: it's technically a new feature but I doubt it's something that would warrant a minor release, and it's also a "parity with TypeScript" bug fix) |
Trying the code from the playground link in #15410 (comment), the Edit: Hmm, somehow I get different defaults in the playground if I click on that link now than earlier. Either way, the constants are folded: |
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.
Thanks!
<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>
As suggested in #15410, adds support for constant-folding constants like
2 ** 33
. I spent a while looking for the original function in the TypeScript repository and ended up making 3 commits:evaluate
now exists on the same level ascomputeConstantValue
), but I wanted to keep this change small.+
,-
,*
and/
and unary-
). I did keep the existing testcase for multiple operators.