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
Improve printing of [no LineTerminator here] with comments #15118
Improve printing of [no LineTerminator here] with comments #15118
Conversation
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/53341/ |
d8856fe
to
e8c7779
Compare
e8c7779
to
feb96a7
Compare
@@ -22,6 +22,7 @@ const SCIENTIFIC_NOTATION = /e/i; | |||
const ZERO_DECIMAL_INTEGER = /\.0+$/; | |||
const NON_DECIMAL_LITERAL = /^0[box]/; | |||
const PURE_ANNOTATION_RE = /^\s*[@#]__PURE__\s*$/; | |||
const NEWLINE = /\r\n|[\n\r\u2028\u2029]/; |
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.
It seems that [\n\r\u2028\u2029]
is sufficient.
if (this._noLineTerminator && NEWLINE.test(comment.value)) { | ||
this._printedComments.delete(comment); | ||
return; | ||
} | ||
|
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 we move this to L910? This merges the addition logic.
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.
I moved it even earlier, before the shouldPrintComment
check.
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.
I personally prefer to put it after isBlockComment
to avoid detection of line comments, but the actual impact should be small.
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.
Since shouldPrintComment
is an user-provided function, I think we should only call it if we know for sure that we are going to print the comment.
lastLine = commentEndLine; | ||
|
||
this.newline(offset); | ||
if (!_noLineTerminator) this.newline(offset); | ||
this._printComment(comment, COMMENT_SKIP_NEWLINE.SKIP_ALL); | ||
|
||
if (i + 1 === len) { | ||
if (!_noLineTerminator && i + 1 === len) { | ||
this.newline(Math.min(1, nodeEndLine - lastLine)); // TODO: Improve here when inner comments processing is stronger | ||
lastLine = nodeEndLine; | ||
} |
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.
lastLine
is only partially set, which seems a little dangerous, since this might be used elsewhere.
I prefer to always not set it (don't assign it to this._lastCommentLine
at the end) or to always set it.
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.
Amazing work!
The above review can be ignored, I may open a new PR after this PR is merged to optimize the comments position logic based on this PR.
This case is a bit weird, but #15118 (review) , of course any good ideas you have to include in this PR would be nice too! |
Uhm, I can preserve the order of comments. |
#15118 (comment) This repl doesn't seem to be fixed. |
Oops I forgot about this. |
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 also update
this.word("accessor"); |
? We should disable LT after
accessor
.
<h3>Snyk has created this PR to upgrade multiple dependencies.</h3>👯♂ The following dependencies are linked and will therefore be updated together. </br></br>ℹ️ 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/core**</br>from 7.19.6 to 7.20.2 | **1 version** ahead of your current version | **21 days ago**</br>on 2022-11-04 **@babel/preset-env**</br>from 7.19.4 to 7.20.2 | **1 version** ahead of your current version | **21 days ago**</br>on 2022-11-04 <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>@babel/core</b></summary> <ul> <li> <b>7.20.2</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.20.2">2022-11-04</a></br><h2>v7.20.2 (2022-11-04)</h2> <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-core</code>, <code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-simple-access</code>, <code>babel-node</code>, <code>babel-plugin-transform-block-scoping</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-react-constant-elements</code>, <code>babel-preset-env</code>, <code>babel-standalone</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15124" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15124/hovercard">#15124</a> fix: <code>@ babel/node</code> repl and enable <code>no-use-before-define</code> rule (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15121" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15121/hovercard">#15121</a> fix: <code>tsSatisfiesExpression</code> check with different duplicated <code>@ babel/types</code> versions (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15094" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15094/hovercard">#15094</a> fix: <code>parser</code> typings for plugins (<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/15118" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15118/hovercard">#15118</a> Improve printing of [no LineTerminator here] with comments (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-object-rest-spread</code>, <code>babel-plugin-transform-jscript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15113" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15113/hovercard">#15113</a> fix: wrap anonymous class expression within statement (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-plugin-transform-destructuring</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15104" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15104/hovercard">#15104</a> fix: Destructuring exceptions <code>for ( let { } = 0 ; 0 ; ) </code> (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</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> <li> <b>7.19.6</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.19.6">2022-10-20</a></br><h2>v7.19.6 (2022-10-20)</h2> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lomirus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lomirus">@ lomirus</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-plugin-proposal-decorators</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15059" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15059/hovercard">#15059</a> Ensure non-static decorators are applied when a class is instantiated. (<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/15062" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15062/hovercard">#15062</a> Fix parsing of block comments nested in flow comments (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15052" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15052/hovercard">#15052</a> fix: improve module block program location tracking (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-plugin-transform-runtime</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15060" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15060/hovercard">#15060</a> Ensure <code>@ babel/runtime-corejs3/core-js/*.js</code> can be imported on Node.js 17+ (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-preset-env</code>, <code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15043" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15043/hovercard">#15043</a> fix: preserve this for <code>super.*</code> template tags (<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-generator</code>, <code>babel-plugin-transform-flow-comments</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15037" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15037/hovercard">#15037</a> Improve generation of comments without location (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> </ul> <h4><g-emoji class="g-emoji" alias="memo" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4dd.png">📝 </g-emoji> Documentation</h4> <ul> <li><code>babel-standalone</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15055" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15055/hovercard">#15055</a> Fix missing <code>transformSync</code> function name (<a href="https://snyk.io/redirect/github/lomirus">@ lomirus</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-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15056" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15056/hovercard">#15056</a> Use <code>startLoc.index</code> instead of carrying around <code>start</code> (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li>Other <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15035" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15035/hovercard">#15035</a> chore: Update yarn 3.2.4 (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</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-core</code>, <code>babel-standalone</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15023" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15023/hovercard">#15023</a> Don't bundle unnecessary plugins in <code>@ babel/standalone</code> (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4>Committers: 4</h4> <ul> <li>Huáng Jùnliàng (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> <li>Lomírus (<a href="https://snyk.io/redirect/github/lomirus">@ lomirus</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/core GitHub release notes</a> </details> <details> <summary>Package name: <b>@babel/preset-env</b></summary> <ul> <li> <b>7.20.2</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.20.2">2022-11-04</a></br><h2>v7.20.2 (2022-11-04)</h2> <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-core</code>, <code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-simple-access</code>, <code>babel-node</code>, <code>babel-plugin-transform-block-scoping</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-react-constant-elements</code>, <code>babel-preset-env</code>, <code>babel-standalone</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15124" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15124/hovercard">#15124</a> fix: <code>@ babel/node</code> repl and enable <code>no-use-before-define</code> rule (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15121" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15121/hovercard">#15121</a> fix: <code>tsSatisfiesExpression</code> check with different duplicated <code>@ babel/types</code> versions (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15094" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15094/hovercard">#15094</a> fix: <code>parser</code> typings for plugins (<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/15118" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15118/hovercard">#15118</a> Improve printing of [no LineTerminator here] with comments (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-object-rest-spread</code>, <code>babel-plugin-transform-jscript</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15113" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15113/hovercard">#15113</a> fix: wrap anonymous class expression within statement (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-plugin-transform-destructuring</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15104" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15104/hovercard">#15104</a> fix: Destructuring exceptions <code>for ( let { } = 0 ; 0 ; ) </code> (<a href="https://snyk.io/redirect/github/liuxingbaoyu">@ liuxingbaoyu</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> <li> <b>7.19.4</b> - <a href="https://snyk.io/redirect/github/babel/babel/releases/tag/v7.19.4">2022-10-10</a></br><h2>v7.19.4 (2022-10-10)</h2> <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-plugin-transform-block-scoping</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15019" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15019/hovercard">#15019</a> fix: check constant violation inside loops (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-helpers</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-proposal-object-rest-spread</code>, <code>babel-plugin-transform-destructuring</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/14985" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/14985/hovercard">#14985</a> Disallow rest object destructuring of null/undefined (<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-react-jsx-development</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/14109" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/14109/hovercard">#14109</a> Fix: properly scope variables in TSModuleBlock (<a href="https://snyk.io/redirect/github/The-x-Theorist">@ The-x-Theorist</a>)</li> </ul> </li> <li><code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-react-constant-elements</code>, <code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15027" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15027/hovercard">#15027</a> fix: mark <code>var</code> declarations in loops as not constant (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-helper-string-parser</code>, <code>babel-parser</code>, <code>babel-types</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/14964" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/14964/hovercard">#14964</a> Never throw for invalid escapes in tagged templates (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-parser</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/14980" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/14980/hovercard">#14980</a> Improve module expression parsing/printing (<a href="https://snyk.io/redirect/github/JLHwung">@ JLHwung</a>)</li> </ul> </li> <li><code>babel-plugin-transform-destructuring</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/14984" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/14984/hovercard">#14984</a> Fix holes handling in optimized array destructuring (<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-cli</code>, <code>babel-core</code>, <code>babel-generator</code>, <code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-fixtures</code>, <code>babel-helper-simple-access</code>, <code>babel-helper-transform-fixture-test-runner</code>, <code>babel-helpers</code>, <code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>, <code>babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining</code>, <code>babel-plugin-external-helpers</code>, <code>babel-plugin-proposal-async-do-expressions</code>, <code>babel-plugin-proposal-async-generator-functions</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-class-static-block</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-proposal-do-expressions</code>, <code>babel-plugin-proposal-duplicate-named-capturing-groups-regex</code>, <code>babel-plugin-proposal-dynamic-import</code>, <code>babel-plugin-proposal-function-bind</code>, <code>babel-plugin-proposal-function-sent</code>, <code>babel-plugin-proposal-json-strings</code>, <code>babel-plugin-proposal-logical-assignment-operators</code>, <code>babel-plugin-proposal-nullish-coalescing-operator</code>, <code>babel-plugin-proposal-object-rest-spread</code>, <code>babel-plugin-proposal-optional-chaining</code>, <code>babel-plugin-proposal-partial-application</code>, <code>babel-plugin-proposal-pipeline-operator</code>, <code>babel-plugin-proposal-private-methods</code>, <code>babel-plugin-proposal-private-property-in-object</code>, <code>babel-plugin-proposal-record-and-tuple</code>, <code>babel-plugin-syntax-typescript</code>, <code>babel-plugin-transform-arrow-functions</code>, <code>babel-plugin-transform-async-to-generator</code>, <code>babel-plugin-transform-block-scoping</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-computed-properties</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-duplicate-keys</code>, <code>babel-plugin-transform-exponentiation-operator</code>, <code>babel-plugin-transform-flow-comments</code>, <code>babel-plugin-transform-flow-strip-types</code>, <code>babel-plugin-transform-for-of</code>, <code>babel-plugin-transform-function-name</code>, <code>babel-plugin-transform-jscript</code>, <code>babel-plugin-transform-modules-amd</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-modules-systemjs</code>, <code>babel-plugin-transform-modules-umd</code>, <code>babel-plugin-transform-new-target</code>, <code>babel-plugin-transform-object-super</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-plugin-transform-proto-to-assign</code>, <code>babel-plugin-transform-react-constant-elements</code>, <code>babel-plugin-transform-react-inline-elements</code>, <code>babel-plugin-transform-react-jsx-development</code>, <code>babel-plugin-transform-react-jsx-self</code>, <code>babel-plugin-transform-react-jsx</code>, <code>babel-plugin-transform-react-pure-annotations</code>, <code>babel-plugin-transform-regenerator</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-plugin-transform-shorthand-properties</code>, <code>babel-plugin-transform-spread</code>, <code>babel-plugin-transform-strict-mode</code>, <code>babel-plugin-transform-template-literals</code>, <code>babel-plugin-transform-typeof-symbol</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-plugin-transform-unicode-escapes</code>, <code>babel-preset-env</code>, <code>babel-preset-react</code>, <code>babel-preset-typescript</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/14979" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/14979/hovercard">#14979</a> Improve comments generation (<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-helper-fixtures</code>, <code>babel-helper-transform-fixture-test-runner</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-traverse</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/14967" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/14967/hovercard">#14967</a> Improve source map generation (<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>Other <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/15001" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/15001/hovercard">#15001</a> Run test262 again (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> <li><code>babel-compat-data</code>, <code>babel-preset-env</code> <ul> <li><a href="https://snyk.io/redirect/github/babel/babel/pull/14976" data-hovercard-type="pull_request" data-hovercard-url="/babel/babel/pull/14976/hovercard">#14976</a> Internally rename <code>proposal-*</code> to <code>transform-*</code> in preset-env (<a href="https://snyk.io/redirect/github/nicolo-ribaudo">@ nicolo-ribaudo</a>)</li> </ul> </li> </ul> <h4>Committers: 5</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>Sneh Khatri (<a href="https://snyk.io/redirect/github/The-x-Theorist">@ The-x-Theorist</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/preset-env 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=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJlMmVmY2U2Zi04MDVjLTQwNzMtOWIyMS0wYWIzOGU2NzYzNWUiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImUyZWZjZTZmLTgwNWMtNDA3My05YjIxLTBhYjM4ZTY3NjM1ZSJ9fQ==" 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&pkg=@babel/preset-env&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) <!--- (snyk:metadata:{"prId":"e2efce6f-805c-4073-9b21-0ab38e67635e","prPublicId":"e2efce6f-805c-4073-9b21-0ab38e67635e","dependencies":[{"name":"@babel/core","from":"7.19.6","to":"7.20.2"},{"name":"@babel/preset-env","from":"7.19.4","to":"7.20.2"}],"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-11-04T18:51:11.563Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]}) ---> Co-authored-by: snyk-bot <snyk-bot@snyk.io>
_noLineTerminator = true
now lasts for a single token, rather than until it's set to false. This is because the[no LineTerminator here]
annotation in the spec is used two disallow line terminators between two tokens, not across a whole section.noLineTerminatorAfter
parameter tothis.word
, which setsthis._noLineTerminator
before printing the inner comments right after the word. It's similar to the same parameter thatthis.print
already had.