Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deoptimize all parameters when losing track of a function #5158

Merged
merged 1 commit into from Sep 28, 2023

Conversation

lukastaegert
Copy link
Member

This PR contains:

  • bugfix
  • feature
  • refactor
  • documentation
  • other

Are tests included?

  • yes (bugfixes and features will not be merged without tests)
  • no

Breaking Changes?

  • yes (breaking changes will not be merged unless absolutely necessary)
  • no

List any relevant issue numbers:

Description

I wonder why this did not turn up earlier. Basically we need to assume a function can be called with arbitrary values when we lose track of it e.g. because it is exported.

@vercel
Copy link

vercel bot commented Sep 26, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
rollup ✅ Ready (Inspect) Visit Preview Sep 26, 2023 7:51pm

@github-actions
Copy link

github-actions bot commented Sep 26, 2023

Thank you for your contribution! ❤️

You can try out this pull request locally by installing Rollup via

npm install rollup/rollup#gh-5156-treeshake-if

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:
https://rollup-f79uiog3x-rollup-js.vercel.app/repl/?pr=5158

@codecov
Copy link

codecov bot commented Sep 26, 2023

Codecov Report

Merging #5158 (1141013) into master (801ffd1) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #5158      +/-   ##
==========================================
+ Coverage   98.93%   98.94%   +0.01%     
==========================================
  Files         226      226              
  Lines        8444     8447       +3     
  Branches     2319     2319              
==========================================
+ Hits         8354     8358       +4     
  Misses         32       32              
+ Partials       58       57       -1     
Files Coverage Δ
src/ast/nodes/shared/FunctionBase.ts 98.43% <100.00%> (+0.07%) ⬆️

... and 1 file with indirect coverage changes

@lukastaegert lukastaegert merged commit 4e92d60 into master Sep 28, 2023
12 checks passed
@lukastaegert lukastaegert deleted the gh-5156-treeshake-if branch September 28, 2023 04:51
@rollup-bot
Copy link
Collaborator

This PR has been released as part of rollup@3.29.4. You can test it via npm install rollup.

Woodpile37 added a commit to Woodpile37/ethers.js that referenced this pull request Oct 27, 2023
<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
3.29.4 to 4.0.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
<hr/>

*Warning:* This is a major version upgrade, and may be a breaking
change.
- The recommended version is **25 versions** ahead of your current
version.
- The recommended version was released **21 days ago**, on 2023-10-05.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>rollup</b></summary>
    <ul>
      <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>
      <li>
<b>4.0.0-25</b> - <a
href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.0.0-25">2023-10-05</a></br><p>4.0.0-25</p>
      </li>
      <li>
        <b>4.0.0-24</b> - 2023-10-03
      </li>
      <li>
        <b>4.0.0-23</b> - 2023-09-26
      </li>
      <li>
        <b>4.0.0-22</b> - 2023-09-26
      </li>
      <li>
        <b>4.0.0-21</b> - 2023-09-24
      </li>
      <li>
        <b>4.0.0-20</b> - 2023-09-24
      </li>
      <li>
        <b>4.0.0-19</b> - 2023-09-15
      </li>
      <li>
        <b>4.0.0-18</b> - 2023-09-15
      </li>
      <li>
        <b>4.0.0-17</b> - 2023-09-15
      </li>
      <li>
        <b>4.0.0-16</b> - 2023-09-15
      </li>
      <li>
        <b>4.0.0-15</b> - 2023-09-15
      </li>
      <li>
        <b>4.0.0-14</b> - 2023-09-15
      </li>
      <li>
        <b>4.0.0-13</b> - 2023-08-24
      </li>
      <li>
        <b>4.0.0-12</b> - 2023-08-23
      </li>
      <li>
        <b>4.0.0-10</b> - 2023-08-21
      </li>
      <li>
        <b>4.0.0-9</b> - 2023-08-20
      </li>
      <li>
        <b>4.0.0-8</b> - 2023-08-20
      </li>
      <li>
        <b>4.0.0-7</b> - 2023-08-20
      </li>
      <li>
<b>4.0.0-6</b> - <a
href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v4.0.0-6">2023-08-20</a></br><p>Check
publish</p>
      </li>
      <li>
        <b>4.0.0-5</b> - 2023-08-20
      </li>
      <li>
        <b>4.0.0-4</b> - 2023-08-04
      </li>
      <li>
        <b>4.0.0-3</b> - 2023-08-04
      </li>
      <li>
        <b>4.0.0-2</b> - 2023-08-01
      </li>
      <li>
        <b>4.0.0-1</b> - 2023-08-01
      </li>
      <li>
<b>3.29.4</b> - <a
href="https://snyk.io/redirect/github/rollup/rollup/releases/tag/v3.29.4">2023-09-28</a></br><h2>3.29.4</h2>
<p><em>2023-09-28</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Fix static analysis when an exported function uses callbacks (<a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="1914196648" data-permission-text="Title is private"
data-url="rollup/rollup#5158"
data-hovercard-type="pull_request"
data-hovercard-url="/rollup/rollup/pull/5158/hovercard"
href="https://snyk.io/redirect/github/rollup/rollup/pull/5158">#5158</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a href="https://snyk.io/redirect/github/rollup/rollup/pull/5158"
data-hovercard-type="pull_request"
data-hovercard-url="/rollup/rollup/pull/5158/hovercard">#5158</a>:
Deoptimize all parameters when losing track of a 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>
</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/2f261358c62b4f9e62cb86bf99de8d4ff3668994">2f26135</a>
4.0.0</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/4e8e5b40cf6eb1be278c9e2146c073db8ea603ec">4e8e5b4</a>
[v4.0] Expose parser (#5169)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/cade24fbf3390a31734301a1f803b24e34b6cedd">cade24f</a>
[v4.0] Ensure we support new import attribute &quot;with&quot; syntax
(#5168)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/dd709c3fab369232c7c08089162981e1a44bdd60">dd709c3</a>
[v4.0] warn for invalid annotations (#5165)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/bfbea66569491f5466fbba99de2ba6a0225f851b">bfbea66</a>
[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs
(#5163)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/4e562e52db3f55832de17ce02fabcc05c292861f">4e562e5</a>
[v4.0] fix: also strip BOM from code strings in JS (#5164)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/fbc25afcc2e494b562358479524a88ab8fe0f1bf">fbc25af</a>
[v4.0] feat: implement hashing content in Rust (#5155)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/0b0eabd8cd93de7c6b69c95a4cac24559c040b80">0b0eabd</a>
[v4.0] Handle empty exports (#5157)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/fda977bb38ab31638c3a4a18e0c4f8b9c8482e6c">fda977b</a>
[v4.0] Add parse option to allow return outside function (#5154)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/7325320ad95955540e1bb38dab9d600f569d915c">7325320</a>
[v4.0] Remove onwarn from normalized input options (#5147)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/accd66a4247dfdb4d7f2605b399d12d001e5a3ed">accd66a</a>
[v4.0] feat: Do not watch files anymore if their content is returned by
the load hook (#5150)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/55abe0fbf7116c9160a53da6a27cc9bce2eafd40">55abe0f</a>
[v4.0] Remove deprecated features (#5143)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/62cbff4a20030c5d787f3162ea29981e40525030">62cbff4</a>
[v4.0] Imporve the performance of generating ast and rollup ast nodes
(#5144)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/92864d48896dd09c0381d4b1cbef769a03c3f7d1">92864d4</a>
[v4.0] Set the default of skipSelf to true (#5142)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/643272e0d11a28bd56491719b75f95147bb66ac7">643272e</a>
[v4.0] Switch parser to SWC and introduce native/WASM code (#5073)</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/4576ef3dfaf83415b319c851acd1a85b100e4ad1">4576ef3</a>
[v4.0] Set minimum Node version to 18</li>
<li><a
href="https://snyk.io/redirect/github/rollup/rollup/commit/fac5f1c1c12dc0409ff090664e305586747dc2f7">fac5f1c</a>
chore(deps): lock file maintenance minor/patch updates (#5160)</li>
    </ul>

<a
href="https://snyk.io/redirect/github/rollup/rollup/compare/a6448b99f725d457e35821b73a865b5c4d4c6a61...2f261358c62b4f9e62cb86bf99de8d4ff3668994">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=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIwNGFkNWFlMS01YjE4LTQ3N2MtOGZiOC05MzI3MzQ0MjJlYmEiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjA0YWQ1YWUxLTViMTgtNDc3Yy04ZmI4LTkzMjczNDQyMmViYSJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/woodpile37/project/edb93f5a-17e2-4a56-beb9-1796f0e58302/settings/integration?pkg&#x3D;rollup&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"04ad5ae1-5b18-477c-8fb8-932734422eba","prPublicId":"04ad5ae1-5b18-477c-8fb8-932734422eba","dependencies":[{"name":"rollup","from":"3.29.4","to":"4.0.0"}],"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":25,"publishedDate":"2023-10-05T15:15:21.062Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":true,"isBreakingChange":true,"priorityScoreList":[]})
--->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Treeshaking wrongly removes if statement
2 participants