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

Parse using[foo] as computed member expression #15225

Merged
merged 13 commits into from Nov 28, 2022

Conversation

JLHwung
Copy link
Contributor

@JLHwung JLHwung commented Nov 25, 2022

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

This PR fixes a regression introduced in #14968.

The using declaration forbids binding pattern. Previously we tried to recover from using [. However, unlike let [, using [foo] is already a valid expression statement (computed member expression). In this PR we only check if a name token is following using.

I suggest reviewing this PR by commits. First we refactor the interface of parseStatement and parseFunction, then we create a separate branch for the using handling. The hasFollowingIdentifier method is now split into hasFollowingBindingAtom (for let) and hasFollowingBindingIdentifier (for using) so that we can implement the check without extra lookahead.

@JLHwung JLHwung added PR: Bug Fix 🐛 A type of pull request used for our changelog categories pkg: parser i: regression labels Nov 25, 2022
@babel-bot
Copy link
Collaborator

babel-bot commented Nov 25, 2022

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

? context.indexOf("label") === -1
? context + "label"
: context
: "label",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The context variable is now replaced by an option bag ParseStatementFlag. Personally I was constantly confused by the dynamic context string, which seems to be an overkill as we are not using that string for error reports.

"type": "File",
"start":0,"end":33,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":33,"index":33}},
"errors": [
"SyntaxError: Async functions can only be declared at the top level or inside a block. (1:10)"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently Babel reports two errors, the first one is as above and the second one is from the generator *. Here we only report the first error.

@@ -0,0 +1,2 @@
while (0) let
\u0061 = 1;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently Babel parses it as a WhileStatement including let variable declaration. This is incorrect as it should share the AST structure with

while (0) let
a = 1;

which consists of a WhileStatement and an ExpressionStatement.

@JLHwung JLHwung marked this pull request as draft Nov 25, 2022
@JLHwung JLHwung marked this pull request as ready for review Nov 26, 2022
@@ -2,7 +2,7 @@
"type": "File",
"start":0,"end":13,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":13,"index":13}},
"errors": [
"SyntaxError: Missing semicolon. (1:8)"
"SyntaxError: Lexical declaration cannot appear in a single-statement context. (1:5)"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The input is

foo: let bar;

Now we throw a better error here.

Copy link
Member

Choose a reason for hiding this comment

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

Yes, this improves the parsed AST result at the same time.

Copy link
Member

@liuxingbaoyu liuxingbaoyu left a comment

Choose a reason for hiding this comment

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

Good work!

nicolo-ribaudo
nicolo-ribaudo previously approved these changes Nov 27, 2022
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.

Can you also add a test for using %%x%% = y with placeholders enabled?

if (!allowDeclaration) {
this.raise(Errors.UnexpectedLexicalDeclaration, {
at: this.state.startLoc,
});
}
if (!this.scope.inModule && this.scope.inTopLevel) {
this.raise(Errors.UnexpectedUsingDeclaration, {
at: this.state.startLoc,
});
}
Copy link
Member

Choose a reason for hiding this comment

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

Will this report a double error when parsing label: using x = y as a script?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch! In this case I lean to the UnexpectedUsingDeclaration because it's more specific than the other.

@nicolo-ribaudo nicolo-ribaudo dismissed their stale review Nov 27, 2022

I didn't finish reviewing all the commits 😅

@@ -0,0 +1,3 @@
{
"throws": "Unexpected token (2:16)"
Copy link
Member

Choose a reason for hiding this comment

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

Could we continue parsing using [no LineTerminator here] { with the old logic, to provide the good error message, and only use the new logic for using [?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

using { x } = 1 would be a valid lhs assignment under the extractors proposal. In the future if we implement that proposal, it will throw the missing plugin error. So I removed the recoverable error here.

@nicolo-ribaudo nicolo-ribaudo merged commit 4369b33 into babel:main Nov 28, 2022
54 checks passed
@nicolo-ribaudo nicolo-ribaudo deleted the fix-15221 branch Nov 28, 2022
cbush pushed a commit to mongodb/docs-realm that referenced this pull request Jan 13, 2023
<h3>Snyk has created this PR to upgrade @babel/core from 7.20.5 to
7.20.7.</h3>

ℹ️ 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 2022-12-22.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>@babel/core</b></summary>
    <ul>
      <li>
<b>7.20.7</b> - <a
href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.20.7">2022-12-22</a></br><h2>v7.20.7
(2022-12-22)</h2>
<p>Thanks <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/wsypower/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/wsypower">@ wsypower</a> for your
first PR!</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-helper-member-expression-to-functions</code>,
<code>babel-helper-replace-supers</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-transform-classes</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15223"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15223/hovercard">#15223</a> fix:
Deleting super property should throw (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-object-super</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15241"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15241/hovercard">#15241</a> fix:
Throw correct error types from sed ant class TDZ helpers (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</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>,
<code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15209"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15209/hovercard">#15209</a> fix:
Support auto accessors with TypeScript annotations (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15287"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15287/hovercard">#15287</a> Fix
<code>.parentPath</code> after rename in <code>SwitchCase</code> (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-typescript</code>,
<code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15284"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15284/hovercard">#15284</a> fix:
Ts import type and func with duplicate name (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15278"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15278/hovercard">#15278</a> Fix
tdz analysis for reassigned captured for bindings (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-plugin-proposal-async-generator-functions</code>,
<code>babel-preset-env</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15235"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15235/hovercard">#15235</a> fix:
Transform <code>for await</code> with shadowed variables (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>,
<code>babel-plugin-proposal-optional-chaining</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15258"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15258/hovercard">#15258</a> fix:
Correctly generate <code>(a ?? b) as T</code> (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-react-jsx</code>,
<code>babel-types</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15233"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15233/hovercard">#15233</a> fix:
Emit correct sourcemap ranges for <code>JSXText</code> (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-core</code>, <code>babel-helpers</code>,
<code>babel-plugin-transform-computed-properties</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/15232"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15232/hovercard">#15232</a> fix:
Computed properties should keep original definition order (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</a>)</li>
</ul>
</li>
<li><code>babel-helper-member-expression-to-functions</code>,
<code>babel-helper-replace-supers</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-transform-classes</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15223"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15223/hovercard">#15223</a> fix:
Deleting super property should throw (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15216"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15216/hovercard">#15216</a> fix:
Print newlines for leading Comments of <code>TSEnumMember</code> (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</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-plugin-transform-block-scoping</code>,
<code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15275"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15275/hovercard">#15275</a>
Improve relative execution tracking in fn exprs (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</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-helper-define-map</code>,
<code>babel-plugin-transform-property-mutators</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15274"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15274/hovercard">#15274</a> Inline
&amp; simplify <code>@ babel/helper-define-map</code> (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-core</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-transform-block-scoping</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-destructuring</code>,
<code>babel-plugin-transform-parameters</code>,
<code>babel-plugin-transform-regenerator</code>,
<code>babel-plugin-transform-runtime</code>,
<code>babel-preset-env</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15200"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15200/hovercard">#15200</a>
Rewrite <code>transform-block-scoping</code> plugin (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4><g-emoji class="g-emoji" alias="running_woman"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3c3-2640.png">🏃‍♀️</g-emoji>
Performance</h4>
<ul>
<li><code>babel-helper-compilation-targets</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15228"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15228/hovercard">#15228</a> perf:
Speed up <code>getTargets</code> (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 6</h4>
<ul>
<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>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>
<li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a></li>
<li>魏 (<a href="https://snyk.io/redirect/github/wsypower">@
wsypower</a>)</li>
</ul>
      </li>
      <li>
<b>7.20.5</b> - <a
href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.20.5">2022-11-28</a></br><h2>v7.20.5
(2022-11-28)</h2>
<p>Thanks <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/davydof/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/davydof">@ davydof</a> and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/SuperSodaSea/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/SuperSodaSea">@ SuperSodaSea</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-helpers</code>,
<code>babel-plugin-transform-destructuring</code>,
<code>babel-plugin-transform-modules-commonjs</code>,
<code>babel-preset-env</code>, <code>babel-runtime-corejs2</code>,
<code>babel-runtime-corejs3</code>, <code>babel-runtime</code>,
<code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15183"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15183/hovercard">#15183</a>
Improve array destructuring spec compliance (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</a>)</li>
</ul>
</li>
<li><code>babel-cli</code>, <code>babel-helpers</code>,
<code>babel-plugin-proposal-class-properties</code>,
<code>babel-plugin-proposal-class-static-block</code>,
<code>babel-plugin-transform-classes</code>,
<code>babel-plugin-transform-runtime</code>,
<code>babel-preset-env</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15182"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15182/hovercard">#15182</a> fix:
apply toPropertyKey when defining class members (<a
href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-helpers</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-proposal-private-property-in-object</code>,
<code>babel-preset-env</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/15133"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15133/hovercard">#15133</a> fix:
validate rhs of <code>in</code> when transpiling <code>#p in C</code>
(<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/15225"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15225/hovercard">#15225</a> Parse
<code>using[foo]</code> as computed member expression (<a
href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15207"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15207/hovercard">#15207</a> Export
<code>ParseResult</code> type (<a
href="https://snyk.io/redirect/github/davydof">@ davydof</a>)</li>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15198"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15198/hovercard">#15198</a> fix:
parse <code>import module, ...</code> (<a
href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-helper-wrap-function</code>,
<code>babel-preset-env</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15181"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15181/hovercard">#15181</a> fix:
Edge cases for async functions and <code>noNewArrow</code> assumption
(<a href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-arrow-functions</code>,
<code>babel-plugin-transform-parameters</code>,
<code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15163"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15163/hovercard">#15163</a> fix:
Throw error when compiling <code>super()</code> in arrow functions with
default / rest parameters (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>, <code>babel-node</code>,
<code>babel-plugin-proposal-async-generator-functions</code>,
<code>babel-plugin-transform-regenerator</code>,
<code>babel-preset-env</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/15194"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15194/hovercard">#15194</a> fix:
Bump <code>regenerator</code> and add tests (<a
href="https://snyk.io/redirect/github/SuperSodaSea">@
SuperSodaSea</a>)</li>
</ul>
</li>
<li><code>babel-helper-create-regexp-features-plugin</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15192"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15192/hovercard">#15192</a> fix:
Update <code>regjsparser</code> for <code>@ babel/standalone</code> (<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/15109"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15109/hovercard">#15109</a> fix:
Babel 8 types (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15143"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15143/hovercard">#15143</a> Don't
print inner comments as leading when wrapping in <code>(``)</code> (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>,
<code>babel-traverse</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15167"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15167/hovercard">#15167</a>
Register <code>switch</code>'s <code>discriminant</code> in the outer
scope (<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-generator</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15173"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15173/hovercard">#15173</a>
Improve generator behavior when <code>comments:false</code> (<a
href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15164"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15164/hovercard">#15164</a> Only
extract IDs for TDZ checks in assign when necessary (<a
href="https://snyk.io/redirect/github/nicolo-ribaudo">@
nicolo-ribaudo</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>, <code>babel-parser</code>
<ul>
<li><a href="https://snyk.io/redirect/github/babel/babel/pull/15202"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/15202/hovercard">#15202</a> Bump
typescript to 4.9.3 (<a href="https://snyk.io/redirect/github/JLHwung">@
JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 6</h4>
<ul>
<li>Alexander Davydov (<a
href="https://snyk.io/redirect/github/davydof">@ davydof</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>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>
<li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@
liuxingbaoyu</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=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJiMmQyZGFlZi1hOTc4LTRkMTMtOWVlNS05ZjQ4MjA3ZDRlNDkiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImIyZDJkYWVmLWE5NzgtNGQxMy05ZWU1LTlmNDgyMDdkNGU0OSJ9fQ=="
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":"b2d2daef-a978-4d13-9ee5-9f48207d4e49","prPublicId":"b2d2daef-a978-4d13-9ee5-9f48207d4e49","dependencies":[{"name":"@babel/core","from":"7.20.5","to":"7.20.7"}],"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":"2022-12-22T09:45:37.638Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]})
--->

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
i: regression pkg: parser 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.

[Bug]: Babel throws on computed property access using[x]
4 participants