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
Handle special characters before double underscores #5178
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Thank you for your contribution! ❤️You can try out this pull request locally by installing Rollup via npm install rollup/rollup#fail-on-comment Notice: Ensure you have installed Rust nightly. If you haven't installed it yet, please first see https://www.rust-lang.org/tools/install to learn how to download Rustup and install Rust, then see https://rust-lang.github.io/rustup/concepts/channels.html to learn how to install Rust nightly. or load it into the REPL: |
Codecov Report
@@ Coverage Diff @@
## master #5178 +/- ##
=======================================
Coverage 98.86% 98.86%
=======================================
Files 230 230
Lines 8805 8805
Branches 2314 2314
=======================================
Hits 8705 8705
Misses 39 39
Partials 61 61 |
This PR has been released as part of rollup@4.0.2. You can test it via |
<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 rollup from 4.0.0 to 4.0.2.</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 **2 versions** ahead of your current version. - The recommended version was released **22 days ago**, on 2023-10-06. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>rollup</b></summary> <ul> <li> <b>4.0.2</b> - <a href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.0.2">2023-10-06</a></br><h2>4.0.2</h2> <p><em>2023-10-06</em></p> <h3>Bug Fixes</h3> <ul> <li>Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1930196242" data-permission-text="Title is private" data-url="rollup/rollup#5178" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5178/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5178">#5178</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5178" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5178/hovercard">#5178</a>: Handle special characters before double underscores (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> </ul> </li> <li> <b>4.0.1</b> - <a href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.0.1">2023-10-06</a></br><h2>4.0.1</h2> <p><em>2023-10-06</em></p> <h3>Bug Fixes</h3> <ul> <li>Do not panic on trailing semicolons after class methods (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1929429451" data-permission-text="Title is private" data-url="rollup/rollup#5173" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5173/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5173">#5173</a>)</li> <li>Add artifact for arm64 linux musl target (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1929668290" data-permission-text="Title is private" data-url="rollup/rollup#5176" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5176/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5176">#5176</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5172" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5172/hovercard">#5172</a>: chore(deps): lock file maintenance minor/patch updates (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/renovate">@ renovate</a>[bot])</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5173" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5173/hovercard">#5173</a>: fix: ignores empty statements in class body that is returned by SWC parser (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrickyPi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/TrickyPi">@ TrickyPi</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5176" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5176/hovercard">#5176</a>: Fix linux arm musl build (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> </ul> </li> <li> <b>4.0.0</b> - <a href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.0.0">2023-10-05</a></br><h2>4.0.0</h2> <p><em>2023-10-05</em></p> <h3>BREAKING CHANGES</h3> <h4>General Changes</h4> <ul> <li>The minimal required Node version is now 18.0.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1899815236" data-permission-text="Title is private" data-url="rollup/rollup#5142" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5142/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5142">#5142</a>)</li> <li>The browser build now relies on a WASM artifact that needs to be provided as well (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the <code>@ rollup/wasm-node</code> package that has the same interface as Rollup but relies on WASM artifacts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>The "with" syntax for import attributes is not yet supported, awaiting support in SWC (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>The <code>INVALID_IMPORT_ASSERTION</code> error code has been replaced with <code>INVALID_IMPORT_ATTRIBUTE</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>Rollup will now warn for <code>@ __PURE__</code> and <code>@ __NO_SIDE_EFFECTS__</code> annotations in invalid locations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1921228669" data-permission-text="Title is private" data-url="rollup/rollup#5165" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5165/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5165">#5165</a>)</li> <li>If an entry module starts with a shebang comment <code>#!...</code>, this comment will be prepended to the output for <code>es</code> and <code>cjs</code> formats (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1920177473" data-permission-text="Title is private" data-url="rollup/rollup#5163" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5163/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5163">#5163</a>)</li> <li>File hashes will now use url-safe base64 encoded hashes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1911769288" data-permission-text="Title is private" data-url="rollup/rollup#5155" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5155/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5155">#5155</a>)</li> <li>The maximum hash length has been reduced to 22 characters (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1911769288" data-permission-text="Title is private" data-url="rollup/rollup#5155" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5155/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5155">#5155</a>)</li> <li>The <code>RollupWarning</code> type has been removed in favor of the <code>RollupLog</code> type (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1906127628" data-permission-text="Title is private" data-url="rollup/rollup#5147" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5147/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5147">#5147</a>)</li> </ul> <h4>Changes to Rollup Options</h4> <ul> <li>Acorn plugins are no longer supported, the <code>acornInjectPlugins</code> option has been removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>The <code>acorn</code> option has been removed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li><code>output.externalImportAssertions</code> has been deprecated in favor of <code>output.externalImportAttributes</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li><code>inlineDynamicImports</code>, <code>manualChunks</code> and <code>preserveModules</code> have been removed on input option level: Please use the corresponding output options of the same names (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1899897351" data-permission-text="Title is private" data-url="rollup/rollup#5143" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5143/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5143">#5143</a>)</li> <li>Removed output options (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1899897351" data-permission-text="Title is private" data-url="rollup/rollup#5143" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5143/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5143">#5143</a>): <ul> <li><code>output.experimentalDeepDynamicChunkOptimization</code>: This option is no longer needed as Rollup now always runs the full chunking algorithm</li> <li><code>output.dynamicImportFunction</code>: Use the <code>renderDynamicImport</code> plugin hook instead</li> <li><code>output.namespaceToStringTag</code>: Use <code>output.generatedCode.symbols</code> instead</li> <li><code>output.preferConst</code>: Use <code>output.generatedCode.constBindings</code> instead</li> </ul> </li> </ul> <h4>Plugin API Changes</h4> <ul> <li>For <code>this.resolve</code>, the default of the <code>skipSelf</code> option is now <code>true</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1899815236" data-permission-text="Title is private" data-url="rollup/rollup#5142" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5142/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5142">#5142</a>)</li> <li><code>this.parse</code> now only supports the <code>allowReturnOutsideFunction</code> option for now (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>Import assertions now use the <a href="https://snyk.io/redirect/github/estree/estree/blob/master/experimental/import-attributes.md">new import attribute AST structure</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>"assertions" have been replaced with "attributes" in various places of the plugin interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>If the import of a module id is handled by the <code>load</code> hook of a plugin, <code>rollup.watch</code> no longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for calling <code>this.addWatchFile</code> for any dependency files (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1908157110" data-permission-text="Title is private" data-url="rollup/rollup#5150" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5150/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5150">#5150</a>)</li> <li>The normalized input options provided by <code>buildStart</code> and other hooks no longer contain an <code>onwarn</code> handler; plugins should use <code>onLog</code> instead (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1906127628" data-permission-text="Title is private" data-url="rollup/rollup#5147" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5147/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5147">#5147</a>)</li> <li><code>this.moduleIds</code> has been removed from the plugin context: Use <code>this.getModuleIds()</code> instead (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1899897351" data-permission-text="Title is private" data-url="rollup/rollup#5143" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5143/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5143">#5143</a>)</li> <li>The <code>hasModuleSideEffects</code> flag has been removed from the <code>ModuleInfo</code> returned by <code>thi s.getModuleInfo()</code>: Use <code>moduleSideEffects</code> on the <code>ModuleInfo</code> instead (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1899897351" data-permission-text="Title is private" data-url="rollup/rollup#5143" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5143/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5143">#5143</a>)</li> </ul> <h3>Features</h3> <ul> <li>Improve parsing speed by switching to a native SWC-based parser (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820063431" data-permission-text="Title is private" data-url="rollup/rollup#5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5073">#5073</a>)</li> <li>Rollup will now warn for <code>@ __PURE__</code> and <code>@ __NO_SIDE_EFFECTS__</code> annotations in invalid locations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1921228669" data-permission-text="Title is private" data-url="rollup/rollup#5165" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5165/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5165">#5165</a>)</li> <li>The parser is now exposed as a separate export <code>parseAst</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1928078406" data-permission-text="Title is private" data-url="rollup/rollup#5169" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5169/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5169">#5169</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via <code>this.addWatchFile()</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1908157110" data-permission-text="Title is private" data-url="rollup/rollup#5150" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5150/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5150">#5150</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5073" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5073/hovercard">#5073</a>: [v4.0] Switch parser to SWC and introduce native/WASM code (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5142" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5142/hovercard">#5142</a>: [v4.0] Set the default of skipSelf to true (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrickyPi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/TrickyPi">@ TrickyPi</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5143" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5143/hovercard">#5143</a>: [v4.0] Remove deprecated features (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5144" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5144/hovercard">#5144</a>: [v4.0] Imporve the performance of generating ast and rollup ast nodes (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrickyPi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/TrickyPi">@ TrickyPi</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5147" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5147/hovercard">#5147</a>: [v4.0] Remove onwarn from normalized input options (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5150" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5150/hovercard">#5150</a>: [v4.0] feat: Do not watch files anymore if their content is returned by the load hook (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrickyPi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/TrickyPi">@ TrickyPi</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5154" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5154/hovercard">#5154</a>: [v4.0] Add parse option to allow return outside function (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5155" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5155/hovercard">#5155</a>: [v4.0] feat: implement hashing content in Rust (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrickyPi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/TrickyPi">@ TrickyPi</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5157" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5157/hovercard">#5157</a>: [v4.0] Handle empty exports (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5160" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5160/hovercard">#5160</a>: chore(deps): lock file maintenance minor/patch updates (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/renovate">@ renovate</a>[bot])</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5163" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5163/hovercard">#5163</a>: [v4.0] feat: preserve shebang in entry module for CJS and ESM outputs (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrickyPi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/TrickyPi">@ TrickyPi</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5164" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5164/hovercard">#5164</a>: [v4.0] fix: also strip BOM from code strings in JS (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrickyPi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/TrickyPi">@ TrickyPi</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5165" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5165/hovercard">#5165</a>: [v4.0] warn for invalid annotations (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5168" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5168/hovercard">#5168</a>: [v4.0] Ensure we support new import attribute "with" syntax (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5169" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5169/hovercard">#5169</a>: [v4.0] Expose parser (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> </ul> </li> </ul> from <a href="https://snyk.io/redirect/github/rollup/rollup/releases">rollup GitHub release notes</a> </details> </details> <details> <summary><b>Commit messages</b></summary> </br> <details> <summary>Package name: <b>rollup</b></summary> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/3d9c833c4fcb666301967554bac7ab0a0a698efe">3d9c833</a> 4.0.2</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/b132bd43144b7699eda599ac5aa4693b7f5c0867">b132bd4</a> Handle special characters before double underscores (#5178)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/fcab1f610fefb24621ce001dfb0831dd30e59ab3">fcab1f6</a> 4.0.1</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/10eb5e8e43613ef91ee9e1bf0c46eb34dbac6110">10eb5e8</a> Fix linux arm musl build (#5176)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/4611d8170cbd70a18d9096b166db975a2118f645">4611d81</a> fix: ignores empty statements in class body that is returned by SWC parser (#5173)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/7d88ef0709e3c4719b51ee206d0b664bcb4ff8b6">7d88ef0</a> chore(deps): lock file maintenance minor/patch updates (#5172)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/95c2da8a46263b5f0f59e1e5cc85710e2fef8ea4">95c2da8</a> Fix REPL artifacts workflow</li> </ul> <a href="https://snyk.io/redirect/github/rollup/rollup/compare/2f261358c62b4f9e62cb86bf99de8d4ff3668994...3d9c833c4fcb666301967554bac7ab0a0a698efe">Compare</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=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI2ZDFmNzdkNi04ZTQ3LTQ3MmEtYTUwMy01YTAxNmY4MmMxMjMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjZkMWY3N2Q2LThlNDctNDcyYS1hNTAzLTVhMDE2ZjgyYzEyMyJ9fQ==" width="0" height="0"/> 🧐 [View latest project report](https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302?utm_source=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302/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/edb93f5a-17e2-4a56-beb9-1796f0e58302/settings/integration?pkg=rollup&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) <!--- (snyk:metadata:{"prId":"6d1f77d6-8e47-472a-a503-5a016f82c123","prPublicId":"6d1f77d6-8e47-472a-a503-5a016f82c123","dependencies":[{"name":"rollup","from":"4.0.0","to":"4.0.2"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"edb93f5a-17e2-4a56-beb9-1796f0e58302","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":2,"publishedDate":"2023-10-06T14:19:12.344Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]}) --->
<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 rollup from 4.0.2 to 4.1.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 **3 versions** ahead of your current version. - The recommended version was released **21 days ago**, on 2023-10-15. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>rollup</b></summary> <ul> <li> <b>4.1.3</b> - <a href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.1.3">2023-10-15</a></br><h2>4.1.3</h2> <p><em>2023-10-15</em></p> <h3>Bug Fixes</h3> <ul> <li>Fix WASM build as hash function was not exported (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1943384459" data-permission-text="Title is private" data-url="rollup/rollup#5203" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5203/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5203">#5203</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5203" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5203/hovercard">#5203</a>: fix: export xxhashBase64Url from wasm (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sapphi-red/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/sapphi-red">@ sapphi-red</a>)</li> </ul> </li> <li> <b>4.1.1</b> - <a href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.1.1">2023-10-15</a></br><h2>4.1.1</h2> <p><em>2023-10-15</em></p> <h3>Bug Fixes</h3> <ul> <li>Improve Node parsing performance (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1943329369" data-permission-text="Title is private" data-url="rollup/rollup#5201" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5201/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5201">#5201</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5201" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5201/hovercard">#5201</a>: perf: use mimalloc for bindings_napi (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sapphi-red/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/sapphi-red">@ sapphi-red</a>)</li> </ul> </li> <li> <b>4.1.0</b> - <a href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.1.0">2023-10-14</a></br><h2>4.1.0</h2> <p><em>2023-10-14</em></p> <h3>Features</h3> <ul> <li>Reduce memory usage of Rollup builds (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1891270290" data-permission-text="Title is private" data-url="rollup/rollup#5133" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5133/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5133">#5133</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5133" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5133/hovercard">#5133</a>: perf: reducing ast node memory overhead (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thebanjomatic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/thebanjomatic">@ thebanjomatic</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5177" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5177/hovercard">#5177</a>: chore: explicitly set rust toolchain channel (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cijiugechu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/cijiugechu">@ cijiugechu</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5179" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5179/hovercard">#5179</a>: Update migration guide for Rollup 4 (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5180" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5180/hovercard">#5180</a>: Resolve clippy errors (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cijiugechu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/cijiugechu">@ cijiugechu</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5183" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5183/hovercard">#5183</a>: Add clippy to pipeline and fix remaining issues (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5184" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5184/hovercard">#5184</a>: docs: fix code example for <code>onLog</code> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tjenkinson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/tjenkinson">@ tjenkinson</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5186" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5186/hovercard">#5186</a>: Improve wording for native artifacts in migration guide (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5190" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5190/hovercard">#5190</a>: test: add verifyAst type (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrickyPi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/TrickyPi">@ TrickyPi</a>)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5196" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5196/hovercard">#5196</a>: chore(deps): update dependency rollup to v4 (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/renovate">@ renovate</a>[bot])</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5197" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5197/hovercard">#5197</a>: chore(deps): lock file maintenance minor/patch updates (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/renovate">@ renovate</a>[bot])</li> </ul> </li> <li> <b>4.0.2</b> - <a href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.0.2">2023-10-06</a></br><h2>4.0.2</h2> <p><em>2023-10-06</em></p> <h3>Bug Fixes</h3> <ul> <li>Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1930196242" data-permission-text="Title is private" data-url="rollup/rollup#5178" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5178/hovercard" href="https://snyk.io/redirect/github/rollup/rollup/pull/5178">#5178</a>)</li> </ul> <h3>Pull Requests</h3> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5178" data-hovercard-type="pull_request" data-hovercard-url="/rollup/rollup/pull/5178/hovercard">#5178</a>: Handle special characters before double underscores (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukastaegert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://snyk.io/redirect/github/lukastaegert">@ lukastaegert</a>)</li> </ul> </li> </ul> from <a href="https://snyk.io/redirect/github/rollup/rollup/releases">rollup GitHub release notes</a> </details> </details> <details> <summary><b>Commit messages</b></summary> </br> <details> <summary>Package name: <b>rollup</b></summary> <ul> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/c61a1507a88fc71be431550642b040da4b9422b0">c61a150</a> 4.1.3</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/70f79ad2f11a45524fcb89cbbb7138d8bb828b68">70f79ad</a> Fix publish script</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/ebd96c447bab292e33b05628ec8e7d0e61bb59b8">ebd96c4</a> 4.1.2</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/ee0639e711672b552fcd2928a700bc5541a564f0">ee0639e</a> fix: export xxhashBase64Url from wasm (#5203)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/d8b31a202a246758b8d67eefe77361a894d37005">d8b31a2</a> 4.1.1</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/f3eaa288b6afbb0ea5ad60b21238e950122a1766">f3eaa28</a> perf: use mimalloc for bindings_napi (#5201)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/cb144b2be4262b3743b31983b26f7fa985be3ceb">cb144b2</a> 4.1.0</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/72c66398cd3e8d52e6812ff94b721a1a56ad7cdd">72c6639</a> perf: reducing ast node memory overhead (#5133)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/e2f947f28ef921568ae03af9b9e868b9e7c712fa">e2f947f</a> chore(deps): update dependency rollup to v4 (#5196)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/4bcf4e124b534c5fe39cee12f683028f0895a635">4bcf4e1</a> chore(deps): lock file maintenance minor/patch updates (#5197)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/dddf626a77e15d4e0baa5f1689fd233634a29a9a">dddf626</a> Reduce workflow concurrency</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/97bffa81987b72a9fe6168962bc1fe38cb948048">97bffa8</a> Enable Renovate automerge</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/d90f274832b28429bd593ad0e34791ca7c2888ba">d90f274</a> test: add verifyAst type (#5190)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/f52a2ebfdcd568b0876af3fadf9e85f7c4af6e5d">f52a2eb</a> Improve wording for native artifacts in migration guide (#5186)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/080d2245ab6b6298229ebe7258c2b96816e7c52d">080d224</a> Add clippy to pipeline and fix remaining issues (#5183)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/c45366402e1841b6a2fd1f1bd0a4319571acd09f">c453664</a> docs: fix code example for `onLog` (#5184)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/e99ff72b3a60a4f5483a401b0423704675537ca3">e99ff72</a> Resolve clippy errors (#5180)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/2a86412433bd4e1a2a344db75ad180ade62a856e">2a86412</a> Fix toolchain for REPL workflow</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/15d321bf7da5d48ed9a8ed9f87d7f88736ce837d">15d321b</a> chore: explicitly set rust toolchain channel (#5177)</li> <li><a href="https://snyk.io/redirect/github/rollup/rollup/commit/8b217ce2288bd268ed50f23990cced830f2644f2">8b217ce</a> Update migration guide for Rollup 4 (#5179)</li> </ul> <a href="https://snyk.io/redirect/github/rollup/rollup/compare/3d9c833c4fcb666301967554bac7ab0a0a698efe...c61a1507a88fc71be431550642b040da4b9422b0">Compare</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=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJjMGRjZTAxNC0wMjlhLTQ2ZTctOWMxNS02YTM0NDg0MTM4NmYiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImMwZGNlMDE0LTAyOWEtNDZlNy05YzE1LTZhMzQ0ODQxMzg2ZiJ9fQ==" width="0" height="0"/> 🧐 [View latest project report](https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302?utm_source=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302/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/edb93f5a-17e2-4a56-beb9-1796f0e58302/settings/integration?pkg=rollup&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) <!--- (snyk:metadata:{"prId":"c0dce014-029a-46e7-9c15-6a344841386f","prPublicId":"c0dce014-029a-46e7-9c15-6a344841386f","dependencies":[{"name":"rollup","from":"4.0.2","to":"4.1.3"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"edb93f5a-17e2-4a56-beb9-1796f0e58302","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":3,"publishedDate":"2023-10-15T17:48:53.269Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]}) --->
This PR contains:
Are tests included?
Breaking Changes?
List any relevant issue numbers:
“__
or”__
#5174Description
The logic to efficiently detect pure comments was assuming that the character preceding a double underscore always had a by length of 1, which is fixed here.