-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Add support for optional chain in assignments #15751
Add support for optional chain in assignments #15751
Conversation
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/55548/ |
67a2c5e
to
d7cc6cc
Compare
@@ -0,0 +1,19 @@ | |||
# @babel/plugin-transform-optional-chaining |
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.
Fyi, this README is misnamed and should be @babel/plugin-proposal-optional-chaining-assign
.
ba8dd37
to
e9ba5af
Compare
bdaa2c3
to
d975e12
Compare
|
||
> Transform optional chaining on the left-hand side of assignment expressions | ||
|
||
See our website [@babel/plugin-proposal-optional-chaining-assign](https://babeljs.io/docs/babel-plugin-proposal-optional-chaining-assign) for more information. |
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.
Can you create a docs PR for this package?
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.
The plugin looks good to me generally. Can you add test cases for private property, e.g.
a?.#b = c
with and without the class properties transform? I recall that we have to handle optional chain in the packages/babel-helper-member-expression-to-functions
, I guess we should handle the assignment as well, since the class field transform is invoked earlier than the expression.
fa8328d
to
46b0e7a
Compare
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.
@JLHwung Thanks, I fixed a?.#b = c
support and added tests.
@@ -432,44 +435,7 @@ const handle = { | |||
// MEMBER += VALUE -> _set(MEMBER, _get(MEMBER) + VALUE) | |||
// MEMBER ??= VALUE -> _get(MEMBER) ?? _set(MEMBER, VALUE) | |||
if (parentPath.isAssignmentExpression({ left: node })) { | |||
if (this.simpleSet) { |
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.
All this section is moved to the handleAssignment
function below with no changes (other than renaming this
to state
).
46b0e7a
to
5f67b4a
Compare
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.
❤️
5f67b4a
to
a5ef4e3
Compare
<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 multiple dependencies.</h3> 👯♂ The following dependencies are linked and will therefore be updated together. </br></br> :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. </br></br> Name | Versions | Released on :-------------|:-------------|:------------- **@babel/parser**</br>from 7.22.16 to 7.23.0 | **1 version** ahead of your current version | **22 days ago**</br>on 2023-09-25 **@babel/types**</br>from 7.22.19 to 7.23.0 | **1 version** ahead of your current version | **22 days ago**</br>on 2023-09-25 <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>@babel/parser</b></summary> <ul> <li> <b>7.23.0</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.23.0">2023-09-25</a></br><h2>v7.23.0 (2023-09-25)</h2> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lorenzoferre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lorenzoferre">@ lorenzoferre</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RajShukla1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/RajShukla1">@ RajShukla1</a> for your first PRs!</p> <h4>🚀 New Feature</h4> <ul> <li><code>babel-plugin-proposal-import-wasm-source</code>, <code>babel-plugin-syntax-import-source</code>, <code>babel-plugin-transform-dynamic-import</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15870" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15870/hovercard">#15870</a> Support transforming <code>import source</code> for wasm (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-helper-module-transforms</code>, <code>babel-helpers</code>, <code>babel-plugin-proposal-import-defer</code>, <code>babel-plugin-syntax-import-defer</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>, <code>babel-standalone</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15878" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15878/hovercard">#15878</a> Implement <code>import defer</code> proposal transform support (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-parser</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15845" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15845/hovercard">#15845</a> Implement <code>import defer</code> parsing support (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15829" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15829/hovercard">#15829</a> Add parsing support for the "source phase imports" proposal (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-helper-module-transforms</code>, <code>babel-parser</code>, <code>babel-plugin-transform-dynamic-import</code>, <code>babel-plugin-transform-modules-amd</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-modules-systemjs</code>, <code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15682" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15682/hovercard">#15682</a> Add <code>createImportExpressions</code> parser option (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-standalone</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15671" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15671/hovercard">#15671</a> Pass through nonce to the transformed script element (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-helper-function-name</code>, <code>babel-helper-member-expression-to-functions</code>, <code>babel-helpers</code>, <code>babel-parser</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-proposal-optional-chaining-assign</code>, <code>babel-plugin-syntax-optional-chaining-assign</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-optional-chaining</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>, <code>babel-standalone</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15751" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15751/hovercard">#15751</a> Add support for optional chain in assignments (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-helpers</code>, <code>babel-plugin-proposal-decorators</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15895" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15895/hovercard">#15895</a> Implement the "decorator metadata" proposal (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15893" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15893/hovercard">#15893</a> Add <code>t.buildUndefinedNode</code> (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-preset-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15913" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15913/hovercard">#15913</a> Add <code>rewriteImportExtensions</code> option to TS preset (<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/15896" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15896/hovercard">#15896</a> Allow TS tuples to have both labeled and unlabeled elements (<a href="https://snyk.io/redirect/github/yukukotani">@ yukukotani</a>)</li> </ul> </li> </ul> <h4>🐛 Bug Fix</h4> <ul> <li><code>babel-plugin-transform-block-scoping</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15962" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15962/hovercard">#15962</a> fix: <code>transform-block-scoping</code> captures the variables of the method in the loop (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> </ul> <h4>💅 Polish</h4> <ul> <li><code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15797" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15797/hovercard">#15797</a> Expand evaluation of global built-ins in <code>@ babel/traverse</code> (<a href="https://snyk.io/redirect/github/lorenzoferre">@ lorenzoferre</a>)</li> </ul> </li> <li><code>babel-plugin-proposal-explicit-resource-management</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15985" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15985/hovercard">#15985</a> Improve source maps for blocks with <code>using</code> declarations (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4>🔬 Output optimization</h4> <ul> <li><code>babel-core</code>, <code>babel-helper-module-transforms</code>, <code>babel-plugin-transform-async-to-generator</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-dynamic-import</code>, <code>babel-plugin-transform-function-name</code>, <code>babel-plugin-transform-modules-amd</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-modules-umd</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-plugin-transform-react-constant-elements</code>, <code>babel-plugin-transform-react-inline-elements</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-preset-env</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15984" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15984/hovercard">#15984</a> Inline <code>exports.XXX =</code> update in simple variable declarations (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4>Committers: 7</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>Lorenzo Ferretti (<a href="https://snyk.io/redirect/github/lorenzoferre">@ lorenzoferre</a>)</li> <li>Nicolò Ribaudo (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li>Raj Pawan Shukla (<a href="https://snyk.io/redirect/github/RajShukla1">@ RajShukla1</a>)</li> <li>Yuku Kotani (<a href="https://snyk.io/redirect/github/yukukotani">@ yukukotani</a>)</li> <li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a></li> </ul> </li> <li> <b>7.22.16</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.22.16">2023-09-06</a></br><h2>v7.22.16 (2023-09-06)</h2> <h4>🐛 Bug Fix</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15935" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15935/hovercard">#15935</a> fix: <code>__esModule</code> is missing from published <code>@ babel/parser</code> (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> </ul> <h4>🏠 Internal</h4> <ul> <li><code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15936" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15936/hovercard">#15936</a> Skip deprecation warning tests when in a folder named <code>@ babel</code> (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4>Committers: 3</h4> <ul> <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><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/parser GitHub release notes</a> </details> <details> <summary>Package name: <b>@babel/types</b></summary> <ul> <li> <b>7.23.0</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.23.0">2023-09-25</a></br><h2>v7.23.0 (2023-09-25)</h2> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lorenzoferre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lorenzoferre">@ lorenzoferre</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RajShukla1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/RajShukla1">@ RajShukla1</a> for your first PRs!</p> <h4>🚀 New Feature</h4> <ul> <li><code>babel-plugin-proposal-import-wasm-source</code>, <code>babel-plugin-syntax-import-source</code>, <code>babel-plugin-transform-dynamic-import</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15870" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15870/hovercard">#15870</a> Support transforming <code>import source</code> for wasm (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-helper-module-transforms</code>, <code>babel-helpers</code>, <code>babel-plugin-proposal-import-defer</code>, <code>babel-plugin-syntax-import-defer</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>, <code>babel-standalone</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15878" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15878/hovercard">#15878</a> Implement <code>import defer</code> proposal transform support (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-parser</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15845" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15845/hovercard">#15845</a> Implement <code>import defer</code> parsing support (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15829" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15829/hovercard">#15829</a> Add parsing support for the "source phase imports" proposal (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-helper-module-transforms</code>, <code>babel-parser</code>, <code>babel-plugin-transform-dynamic-import</code>, <code>babel-plugin-transform-modules-amd</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-modules-systemjs</code>, <code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15682" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15682/hovercard">#15682</a> Add <code>createImportExpressions</code> parser option (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-standalone</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15671" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15671/hovercard">#15671</a> Pass through nonce to the transformed script element (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-helper-function-name</code>, <code>babel-helper-member-expression-to-functions</code>, <code>babel-helpers</code>, <code>babel-parser</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-proposal-optional-chaining-assign</code>, <code>babel-plugin-syntax-optional-chaining-assign</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-optional-chaining</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>, <code>babel-standalone</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15751" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15751/hovercard">#15751</a> Add support for optional chain in assignments (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-helpers</code>, <code>babel-plugin-proposal-decorators</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15895" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15895/hovercard">#15895</a> Implement the "decorator metadata" proposal (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15893" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15893/hovercard">#15893</a> Add <code>t.buildUndefinedNode</code> (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-preset-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15913" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15913/hovercard">#15913</a> Add <code>rewriteImportExtensions</code> option to TS preset (<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/15896" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15896/hovercard">#15896</a> Allow TS tuples to have both labeled and unlabeled elements (<a href="https://snyk.io/redirect/github/yukukotani">@ yukukotani</a>)</li> </ul> </li> </ul> <h4>🐛 Bug Fix</h4> <ul> <li><code>babel-plugin-transform-block-scoping</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15962" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15962/hovercard">#15962</a> fix: <code>transform-block-scoping</code> captures the variables of the method in the loop (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> </ul> <h4>💅 Polish</h4> <ul> <li><code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15797" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15797/hovercard">#15797</a> Expand evaluation of global built-ins in <code>@ babel/traverse</code> (<a href="https://snyk.io/redirect/github/lorenzoferre">@ lorenzoferre</a>)</li> </ul> </li> <li><code>babel-plugin-proposal-explicit-resource-management</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15985" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15985/hovercard">#15985</a> Improve source maps for blocks with <code>using</code> declarations (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4>🔬 Output optimization</h4> <ul> <li><code>babel-core</code>, <code>babel-helper-module-transforms</code>, <code>babel-plugin-transform-async-to-generator</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-dynamic-import</code>, <code>babel-plugin-transform-function-name</code>, <code>babel-plugin-transform-modules-amd</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-modules-umd</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-plugin-transform-react-constant-elements</code>, <code>babel-plugin-transform-react-inline-elements</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-preset-env</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15984" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15984/hovercard">#15984</a> Inline <code>exports.XXX =</code> update in simple variable declarations (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4>Committers: 7</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>Lorenzo Ferretti (<a href="https://snyk.io/redirect/github/lorenzoferre">@ lorenzoferre</a>)</li> <li>Nicolò Ribaudo (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li>Raj Pawan Shukla (<a href="https://snyk.io/redirect/github/RajShukla1">@ RajShukla1</a>)</li> <li>Yuku Kotani (<a href="https://snyk.io/redirect/github/yukukotani">@ yukukotani</a>)</li> <li><a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a></li> </ul> </li> <li> <b>7.22.19</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.22.19">2023-09-14</a></br><h2>v7.22.19 (2023-09-14)</h2> <p>Re-published 7.22.18, due to a releasing error.</p> </li> </ul> from <a href="https://snyk.io/redirect/github/babel/babel/releases">@babel/types 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=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJkYTdkYzgwNS0xMDczLTQxMWEtYWM1OC1mYTZjMTcyNTJjNzgiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImRhN2RjODA1LTEwNzMtNDExYS1hYzU4LWZhNmMxNzI1MmM3OCJ9fQ==" width="0" height="0"/> 🧐 [View latest project report](https://app.snyk.io/org/woodpile37/project/e5e31077-489f-44c1-b24d-4af9a1a8d603?utm_source=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/woodpile37/project/e5e31077-489f-44c1-b24d-4af9a1a8d603/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/woodpile37/project/e5e31077-489f-44c1-b24d-4af9a1a8d603/settings/integration?pkg=@babel/parser&pkg=@babel/types&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) <!--- (snyk:metadata:{"prId":"da7dc805-1073-411a-ac58-fa6c17252c78","prPublicId":"da7dc805-1073-411a-ac58-fa6c17252c78","dependencies":[{"name":"@babel/parser","from":"7.22.16","to":"7.23.0"},{"name":"@babel/types","from":"7.22.19","to":"7.23.0"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/woodpile37/project/e5e31077-489f-44c1-b24d-4af9a1a8d603?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"e5e31077-489f-44c1-b24d-4af9a1a8d603","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2023-09-25T08:10:31.822Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]}) --->
Fixes #1, Fixes #2
Implementation of https://github.com/nicolo-ribaudo/proposal-optional-chaining-assignment, that reached stage 1 at the July 2023 TC39 meeting. During the meeting there was some debate about syntax (i.e. replacing
=
with another token), so for now I'm adding a requiredversion: "2023-07"
option that will allow us to introduce breaking changes in the future.