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

chore: bump up rollup version to v4 #5202

Merged
merged 1 commit into from
Dec 8, 2023
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 5, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
rollup (source) ^3.29.4 -> ^4.0.0 age adoption passing confidence

Release Notes

rollup/rollup (rollup)

v4.6.1

Compare Source

2023-11-30

Bug Fixes
  • Resolve a situation where declaring the same var several times was considered a conflict (#​5276)
Pull Requests

v4.6.0

Compare Source

2023-11-26

Features
  • Allow this.addWatchFile in all plugin hooks (#​5270)
Bug Fixes
  • Show helpful error when native binaries are not installed due to an npm issue (#​5267)
  • Do not access this context in this.addWatchFile so it does not need to be bound when passed around (#​5270)
Pull Requests

v4.5.2

Compare Source

2023-11-24

Bug Fixes
  • Handle files with UTF-8 BOM when using the commonjs plugin (#​5268)
Pull Requests

v4.5.1

Compare Source

2023-11-21

Bug Fixes
  • Do not error when a function expression uses the same name for a parameter and its id (#​5262)
Pull Requests

v4.5.0

Compare Source

2023-11-18

Bug Fixes
  • Show a proper error when using native Rollup on armv7 musl Linux (#​5255)
Pull Requests

v4.4.1

Compare Source

2023-11-14

Bug Fixes
  • Do not flag duplicate function declarations in function scopes as syntax errors (#​5248)
Pull Requests

v4.4.0

Compare Source

2023-11-12

Features
  • Replace SWC linting with faster internal linting to error on duplicate declarations etc. (#​5207)
Bug Fixes
  • Show proper error when an entry exports non-existing bindings (#​5207)
Pull Requests

v4.3.1

Compare Source

2023-11-11

Bug Fixes
  • Fix rename error when handling errors in watch mode (#​5240)
  • Prevent warning when using --forceExit (#​5245)
Pull Requests

v4.3.0

Compare Source

2023-11-03

Features
  • Add forceExit CLI flag for situations where the CLI does not exit gracefully (#​5195)
Bug Fixes
  • Properly catch errors when removing a temporary config file fails (#​5198)
Pull Requests

v4.2.0

Compare Source

2023-10-31

Features
  • Run parsing in multiple threads and introduce parseAstAsync helper function (#​5202)
Pull Requests

v4.1.6

Compare Source

2023-10-31

Bug Fixes
  • Fix a bug where emtpy block comments in certain positions could freeze Rollup (#​5231)
Pull Requests

v4.1.5

Compare Source

2023-10-28

Bug Fixes
  • Fix an issue where actual entries that were also implicit entries could remain implicit (#​5220)
Pull Requests

v4.1.4

Compare Source

2023-10-16

Bug Fixes
Pull Requests

v4.1.3

Compare Source

2023-10-15

Bug Fixes
  • Fix WASM build as hash function was not exported (#​5203)
Pull Requests

v4.1.1

Compare Source

2023-10-15

Bug Fixes
  • Improve Node parsing performance (#​5201)
Pull Requests

v4.1.0

Compare Source

2023-10-14

Features
  • Reduce memory usage of Rollup builds (#​5133)
Pull Requests

v4.0.2

Compare Source

2023-10-06

Bug Fixes
  • Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore (#​5178)
Pull Requests

v4.0.1

Compare Source

2023-10-06

Bug Fixes
  • Do not panic on trailing semicolons after class methods (#​5173)
  • Add artifact for arm64 linux musl target (#​5176)
Pull Requests

v4.0.0

Compare Source

2023-10-05

BREAKING CHANGES
General Changes
  • The minimal required Node version is now 18.0.0 (#​5142)
  • The browser build now relies on a WASM artifact that needs to be provided as well (#​5073)
  • The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the @rollup/wasm-node package that has the same interface as Rollup but relies on WASM artifacts (#​5073)
  • The INVALID_IMPORT_ASSERTION error code has been replaced with INVALID_IMPORT_ATTRIBUTE (#​5073)
  • Rollup will now warn for @__PURE__ and @__NO_SIDE_EFFECTS__ annotations in invalid locations (#​5165)
  • If an entry module starts with a shebang comment #!..., this comment will be prepended to the output for es and cjs formats (#​5163)
  • File hashes will now use url-safe base64 encoded hashes (#​5155)
  • The maximum hash length has been reduced to 22 characters (#​5155)
  • The RollupWarning type has been removed in favor of the RollupLog type (#​5147)
Changes to Rollup Options
  • Acorn plugins are no longer supported, the acornInjectPlugins option has been removed (#​5073)
  • The acorn option has been removed (#​5073)
  • output.externalImportAssertions has been deprecated in favor of output.externalImportAttributes (#​5073)
  • inlineDynamicImports, manualChunks and preserveModules have been removed on input option level: Please use the corresponding output options of the same names (#​5143)
  • Removed output options (#​5143):
    • output.experimentalDeepDynamicChunkOptimization: This option is no longer needed as Rollup now always runs the full chunking algorithm
    • output.dynamicImportFunction: Use the renderDynamicImport plugin hook instead
    • output.namespaceToStringTag: Use output.generatedCode.symbols instead
    • output.preferConst: Use output.generatedCode.constBindings instead
Plugin API Changes
  • For this.resolve, the default of the skipSelf option is now true (#​5142)
  • this.parse now only supports the allowReturnOutsideFunction option for now (#​5073)
  • Import assertions now use the new import attribute AST structure (#​5073)
  • "assertions" have been replaced with "attributes" in various places of the plugin interface (#​5073)
  • If the import of a module id is handled by the load hook of a plugin, rollup.watch 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 this.addWatchFile for any dependency files (#​5150)
  • The normalized input options provided by buildStart and other hooks no longer contain an onwarn handler; plugins should use onLog instead (#​5147)
  • this.moduleIds has been removed from the plugin context: Use this.getModuleIds() instead (#​5143)
  • The hasModuleSideEffects flag has been removed from the ModuleInfo returned by this.getModuleInfo(): Use moduleSideEffects on the ModuleInfo instead (#​5143)
Features
  • Improve parsing speed by switching to a native SWC-based parser (#​5073)
  • Rollup will now warn for @__PURE__ and @__NO_SIDE_EFFECTS__ annotations in invalid locations (#​5165)
  • The parser is now exposed as a separate export parseAst (#​5169)
Bug Fixes
  • Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via this.addWatchFile() (#​5150)
Pull Requests

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Dec 5, 2023
Copy link

codecov bot commented Dec 5, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (e93b497) 55.56% compared to head (37a32d1) 55.56%.

Additional details and impacted files
@@           Coverage Diff           @@
##           canary    #5202   +/-   ##
=======================================
  Coverage   55.56%   55.56%           
=======================================
  Files         508      508           
  Lines       21158    21158           
  Branches     1963     1963           
=======================================
  Hits        11757    11757           
  Misses       9077     9077           
  Partials      324      324           
Flag Coverage Δ
e2e-plugin-test 32.94% <ø> (+0.06%) ⬆️
server-test 69.40% <ø> (ø)
unittest 50.30% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@renovate renovate bot force-pushed the renovate/rollup-4.x branch from 24440e0 to 4b35de2 Compare December 5, 2023 10:26
@renovate renovate bot force-pushed the renovate/rollup-4.x branch from 4b35de2 to b82c3c9 Compare December 6, 2023 08:19
Copy link

graphite-app bot commented Dec 6, 2023

Merge activity

Brooooooklyn added a commit that referenced this pull request Dec 6, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [rollup](https://rollupjs.org/) ([source](https://github.com/rollup/rollup)) | [`^3.29.4` -> `^4.0.0`](https://renovatebot.com/diffs/npm/rollup/3.29.4/4.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/rollup/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rollup/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rollup/3.29.4/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rollup/3.29.4/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>rollup/rollup (rollup)</summary>

### [`v4.6.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#461)

[Compare Source](https://github.com/rollup/rollup/compare/v4.6.0...v4.6.1)

*2023-11-30*

##### Bug Fixes

-   Resolve a situation where declaring the same `var` several times was considered a conflict ([#&#8203;5276](https://github.com/rollup/rollup/issues/5276))

##### Pull Requests

-   [#&#8203;5275](https://github.com/rollup/rollup/pull/5275): Add TNG as special sponsor ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5276](https://github.com/rollup/rollup/pull/5276): Allow to redeclare parameters multiple times in nested scopes ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.6.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#460)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.2...v4.6.0)

*2023-11-26*

##### Features

-   Allow `this.addWatchFile` in all plugin hooks ([#&#8203;5270](https://github.com/rollup/rollup/issues/5270))

##### Bug Fixes

-   Show helpful error when native binaries are not installed due to an `npm` issue ([#&#8203;5267](https://github.com/rollup/rollup/issues/5267))
-   Do not access `this` context in `this.addWatchFile` so it does not need to be bound when passed around ([#&#8203;5270](https://github.com/rollup/rollup/issues/5270))

##### Pull Requests

-   [#&#8203;5267](https://github.com/rollup/rollup/pull/5267): Add friendly error for npm bug ([@&#8203;sapphi-red](https://github.com/sapphi-red))
-   [#&#8203;5270](https://github.com/rollup/rollup/pull/5270): Allow this.addWatchFile in all hooks ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5272](https://github.com/rollup/rollup/pull/5272): Debug deployed graphs ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.5.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#452)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.1...v4.5.2)

*2023-11-24*

##### Bug Fixes

-   Handle files with UTF-8 BOM when using the commonjs plugin ([#&#8203;5268](https://github.com/rollup/rollup/issues/5268))

##### Pull Requests

-   [#&#8203;5268](https://github.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5269](https://github.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.5.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#451)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.0...v4.5.1)

*2023-11-21*

##### Bug Fixes

-   Do not error when a function expression uses the same name for a parameter and its id ([#&#8203;5262](https://github.com/rollup/rollup/issues/5262))

##### Pull Requests

-   [#&#8203;5257](https://github.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5262](https://github.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.5.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#450)

[Compare Source](https://github.com/rollup/rollup/compare/v4.4.1...v4.5.0)

*2023-11-18*

##### Bug Fixes

-   Show a proper error when using native Rollup on armv7 musl Linux ([#&#8203;5255](https://github.com/rollup/rollup/issues/5255))

##### Pull Requests

-   [#&#8203;5251](https://github.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page ([@&#8203;lhapaipai](https://github.com/lhapaipai))
-   [#&#8203;5253](https://github.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5255](https://github.com/rollup/rollup/pull/5255): Error for armv7 musl build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.4.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#441)

[Compare Source](https://github.com/rollup/rollup/compare/v4.4.0...v4.4.1)

*2023-11-14*

##### Bug Fixes

-   Do not flag duplicate function declarations in function scopes as syntax errors ([#&#8203;5248](https://github.com/rollup/rollup/issues/5248))

##### Pull Requests

-   [#&#8203;5248](https://github.com/rollup/rollup/pull/5248): Allow functions to redeclare vars and functions in function scopes ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.4.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#440)

[Compare Source](https://github.com/rollup/rollup/compare/v4.3.1...v4.4.0)

*2023-11-12*

##### Features

-   Replace SWC linting with faster internal linting to error on duplicate declarations etc. ([#&#8203;5207](https://github.com/rollup/rollup/issues/5207))

##### Bug Fixes

-   Show proper error when an entry exports non-existing bindings ([#&#8203;5207](https://github.com/rollup/rollup/issues/5207))

##### Pull Requests

-   [#&#8203;5207](https://github.com/rollup/rollup/pull/5207): perf: run lint while constructing nodes ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.3.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#431)

[Compare Source](https://github.com/rollup/rollup/compare/v4.3.0...v4.3.1)

*2023-11-11*

##### Bug Fixes

-   Fix rename error when handling errors in watch mode ([#&#8203;5240](https://github.com/rollup/rollup/issues/5240))
-   Prevent warning when using `--forceExit` ([#&#8203;5245](https://github.com/rollup/rollup/issues/5245))

##### Pull Requests

-   [#&#8203;5240](https://github.com/rollup/rollup/pull/5240): fix: allow the name of Rollup Error to be modified ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5243](https://github.com/rollup/rollup/pull/5243): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5245](https://github.com/rollup/rollup/pull/5245): Ensure --forceExit works without warning ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.3.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#430)

[Compare Source](https://github.com/rollup/rollup/compare/v4.2.0...v4.3.0)

*2023-11-03*

##### Features

-   Add `forceExit` CLI flag for situations where the CLI does not exit gracefully ([#&#8203;5195](https://github.com/rollup/rollup/issues/5195))

##### Bug Fixes

-   Properly catch errors when removing a temporary config file fails ([#&#8203;5198](https://github.com/rollup/rollup/issues/5198))

##### Pull Requests

-   [#&#8203;5195](https://github.com/rollup/rollup/pull/5195): Add `forceExit` CLI flag ([@&#8203;raphael-theriault-swi](https://github.com/raphael-theriault-swi))
-   [#&#8203;5198](https://github.com/rollup/rollup/pull/5198): fix: prevent `ENOENT` error on temp config removal ([@&#8203;jzempel](https://github.com/jzempel))
-   [#&#8203;5237](https://github.com/rollup/rollup/pull/5237): chore: remove unused files and deps ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5238](https://github.com/rollup/rollup/pull/5238): chore(deps): update dependency eslint-plugin-unicorn to v49 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5239](https://github.com/rollup/rollup/pull/5239): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.2.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#420)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.6...v4.2.0)

*2023-10-31*

##### Features

-   Run parsing in multiple threads and introduce `parseAstAsync` helper function ([#&#8203;5202](https://github.com/rollup/rollup/issues/5202))

##### Pull Requests

-   [#&#8203;5202](https://github.com/rollup/rollup/pull/5202): perf: introduce `parseAstAsync` and parallelize parsing AST ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.6`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#416)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.5...v4.1.6)

*2023-10-31*

##### Bug Fixes

-   Fix a bug where emtpy block comments in certain positions could freeze Rollup ([#&#8203;5231](https://github.com/rollup/rollup/issues/5231))

##### Pull Requests

-   [#&#8203;5228](https://github.com/rollup/rollup/pull/5228): build: ensure rust toolchain components for linting are installed ([@&#8203;jerome-benoit](https://github.com/jerome-benoit))
-   [#&#8203;5231](https://github.com/rollup/rollup/pull/5231): Render emtpy block comments after tree-shaken statements ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5232](https://github.com/rollup/rollup/pull/5232): Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.1.5`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#415)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.4...v4.1.5)

*2023-10-28*

##### Bug Fixes

-   Fix an issue where actual entries that were also implicit entries could remain implicit ([#&#8203;5220](https://github.com/rollup/rollup/issues/5220))

##### Pull Requests

-   [#&#8203;5209](https://github.com/rollup/rollup/pull/5209): Document Vite workaround for browser build ([@&#8203;curran](https://github.com/curran))
-   [#&#8203;5215](https://github.com/rollup/rollup/pull/5215): chore(deps): update dependency lint-staged to v15 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5216](https://github.com/rollup/rollup/pull/5216): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5218](https://github.com/rollup/rollup/pull/5218): Update license plugin ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5219](https://github.com/rollup/rollup/pull/5219): Fix error highlight in REPL ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5220](https://github.com/rollup/rollup/pull/5220): Fix race condition when emitting implicitly dependent entries ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5224](https://github.com/rollup/rollup/pull/5224): chore(deps): update actions/setup-node action to v4 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5225](https://github.com/rollup/rollup/pull/5225): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.1.4`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#414)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.3...v4.1.4)

*2023-10-16*

##### Bug Fixes

-   Reduce sizes [@&#8203;rollup/browser](https://github.com/rollup/browser) and [@&#8203;rollup/wasm-node](https://github.com/rollup/wasm-node) WASM artifacts ([#&#8203;5204](https://github.com/rollup/rollup/issues/5204))

##### Pull Requests

-   [#&#8203;5204](https://github.com/rollup/rollup/pull/5204): perf: shrink wasm size by avoid importing browserslist ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.3`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#413)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.1...v4.1.3)

*2023-10-15*

##### Bug Fixes

-   Fix WASM build as hash function was not exported ([#&#8203;5203](https://github.com/rollup/rollup/issues/5203))

##### Pull Requests

-   [#&#8203;5203](https://github.com/rollup/rollup/pull/5203): fix: export xxhashBase64Url from wasm ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#411)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.0...v4.1.1)

*2023-10-15*

##### Bug Fixes

-   Improve Node parsing performance ([#&#8203;5201](https://github.com/rollup/rollup/issues/5201))

##### Pull Requests

-   [#&#8203;5201](https://github.com/rollup/rollup/pull/5201): perf: use mimalloc for bindings_napi ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#410)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.2...v4.1.0)

*2023-10-14*

##### Features

-   Reduce memory usage of Rollup builds ([#&#8203;5133](https://github.com/rollup/rollup/issues/5133))

##### Pull Requests

-   [#&#8203;5133](https://github.com/rollup/rollup/pull/5133): perf: reducing ast node memory overhead ([@&#8203;thebanjomatic](https://github.com/thebanjomatic))
-   [#&#8203;5177](https://github.com/rollup/rollup/pull/5177): chore: explicitly set rust toolchain channel ([@&#8203;cijiugechu](https://github.com/cijiugechu))
-   [#&#8203;5179](https://github.com/rollup/rollup/pull/5179): Update migration guide for Rollup 4 ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5180](https://github.com/rollup/rollup/pull/5180): Resolve clippy errors ([@&#8203;cijiugechu](https://github.com/cijiugechu))
-   [#&#8203;5183](https://github.com/rollup/rollup/pull/5183): Add clippy to pipeline and fix remaining issues ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5184](https://github.com/rollup/rollup/pull/5184): docs: fix code example for `onLog` ([@&#8203;tjenkinson](https://github.com/tjenkinson))
-   [#&#8203;5186](https://github.com/rollup/rollup/pull/5186): Improve wording for native artifacts in migration guide ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5190](https://github.com/rollup/rollup/pull/5190): test: add verifyAst type ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5196](https://github.com/rollup/rollup/pull/5196): chore(deps): update dependency rollup to v4 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5197](https://github.com/rollup/rollup/pull/5197): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.0.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#402)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.1...v4.0.2)

*2023-10-06*

##### Bug Fixes

-   Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore ([#&#8203;5178](https://github.com/rollup/rollup/issues/5178))

##### Pull Requests

-   [#&#8203;5178](https://github.com/rollup/rollup/pull/5178): Handle special characters before double underscores ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.0.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#401)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.0...v4.0.1)

*2023-10-06*

##### Bug Fixes

-   Do not panic on trailing semicolons after class methods ([#&#8203;5173](https://github.com/rollup/rollup/issues/5173))
-   Add artifact for arm64 linux musl target ([#&#8203;5176](https://github.com/rollup/rollup/issues/5176))

##### Pull Requests

-   [#&#8203;5172](https://github.com/rollup/rollup/pull/5172): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5173](https://github.com/rollup/rollup/pull/5173): fix: ignores empty statements in class body that is returned by SWC parser ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5176](https://github.com/rollup/rollup/pull/5176): Fix linux arm musl build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.0.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#400)

[Compare Source](https://github.com/rollup/rollup/compare/v3.29.4...v4.0.0)

*2023-10-05*

##### BREAKING CHANGES

##### General Changes

-   The minimal required Node version is now 18.0.0 ([#&#8203;5142](https://github.com/rollup/rollup/issues/5142))
-   The browser build now relies on a WASM artifact that needs to be provided as well ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the `@rollup/wasm-node` package that has the same interface as Rollup but relies on WASM artifacts ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The `INVALID_IMPORT_ASSERTION` error code has been replaced with `INVALID_IMPORT_ATTRIBUTE` ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#&#8203;5165](https://github.com/rollup/rollup/issues/5165))
-   If an entry module starts with a shebang comment `#!...`, this comment will be prepended to the output for `es` and `cjs` formats ([#&#8203;5163](https://github.com/rollup/rollup/issues/5163))
-   File hashes will now use url-safe base64 encoded hashes ([#&#8203;5155](https://github.com/rollup/rollup/issues/5155))
-   The maximum hash length has been reduced to 22 characters ([#&#8203;5155](https://github.com/rollup/rollup/issues/5155))
-   The `RollupWarning` type has been removed in favor of the `RollupLog` type ([#&#8203;5147](https://github.com/rollup/rollup/issues/5147))

##### Changes to Rollup Options

-   Acorn plugins are no longer supported, the `acornInjectPlugins` option has been removed ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The `acorn` option has been removed ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   `output.externalImportAssertions` has been deprecated in favor of `output.externalImportAttributes` ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   `inlineDynamicImports`, `manualChunks` and `preserveModules` have been removed on input option level: Please use the corresponding output options of the same names ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))
-   Removed output options ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143)):
    -   `output.experimentalDeepDynamicChunkOptimization`: This option is no longer needed as Rollup now always runs the full chunking algorithm
    -   `output.dynamicImportFunction`: Use the `renderDynamicImport` plugin hook instead
    -   `output.namespaceToStringTag`: Use `output.generatedCode.symbols` instead
    -   `output.preferConst`: Use `output.generatedCode.constBindings` instead

##### Plugin API Changes

-   For `this.resolve`, the default of the `skipSelf` option is now `true` ([#&#8203;5142](https://github.com/rollup/rollup/issues/5142))
-   `this.parse` now only supports the `allowReturnOutsideFunction` option for now ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Import assertions now use the [new import attribute AST structure](https://github.com/estree/estree/blob/master/experimental/import-attributes.md) ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   "assertions" have been replaced with "attributes" in various places of the plugin interface ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   If the import of a module id is handled by the `load` hook of a plugin, `rollup.watch` 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 `this.addWatchFile` for any dependency files ([#&#8203;5150](https://github.com/rollup/rollup/issues/5150))
-   The normalized input options provided by `buildStart` and other hooks no longer contain an `onwarn` handler; plugins should use `onLog` instead ([#&#8203;5147](https://github.com/rollup/rollup/issues/5147))
-   `this.moduleIds` has been removed from the plugin context: Use `this.getModuleIds()` instead ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))
-   The `hasModuleSideEffects` flag has been removed from the `ModuleInfo` returned by `this.getModuleInfo()`: Use `moduleSideEffects` on the `ModuleInfo` instead ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))

##### Features

-   Improve parsing speed by switching to a native SWC-based parser ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#&#8203;5165](https://github.com/rollup/rollup/issues/5165))
-   The parser is now exposed as a separate export `parseAst` ([#&#8203;5169](https://github.com/rollup/rollup/issues/5169))

##### Bug Fixes

-   Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via `this.addWatchFile()` ([#&#8203;5150](https://github.com/rollup/rollup/issues/5150))

##### Pull Requests

-   [#&#8203;5073](https://github.com/rollup/rollup/pull/5073): \[v4.0] Switch parser to SWC and introduce native/WASM code ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5142](https://github.com/rollup/rollup/pull/5142): \[v4.0] Set the default of skipSelf to true ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5143](https://github.com/rollup/rollup/pull/5143): \[v4.0] Remove deprecated features ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5144](https://github.com/rollup/rollup/pull/5144): \[v4.0] Imporve the performance of generating ast and rollup ast nodes ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5147](https://github.com/rollup/rollup/pull/5147): \[v4.0] Remove onwarn from normalized input options ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5150](https://github.com/rollup/rollup/pull/5150): \[v4.0] feat: Do not watch files anymore if their content is returned by the load hook ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5154](https://github.com/rollup/rollup/pull/5154): \[v4.0] Add parse option to allow return outside function ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5155](https://github.com/rollup/rollup/pull/5155): \[v4.0] feat: implement hashing content in Rust ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5157](https://github.com/rollup/rollup/pull/5157): \[v4.0] Handle empty exports ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5160](https://github.com/rollup/rollup/pull/5160): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5163](https://github.com/rollup/rollup/pull/5163): \[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5164](https://github.com/rollup/rollup/pull/5164): \[v4.0] fix: also strip BOM from code strings in JS ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5165](https://github.com/rollup/rollup/pull/5165): \[v4.0] warn for invalid annotations ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5168](https://github.com/rollup/rollup/pull/5168): \[v4.0] Ensure we support new import attribute "with" syntax ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5169](https://github.com/rollup/rollup/pull/5169): \[v4.0] Expose parser ([@&#8203;lukastaegert](https://github.com/lukastaegert))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSJ9-->
@renovate renovate bot force-pushed the renovate/rollup-4.x branch from 0294679 to e3b4e9a Compare December 8, 2023 05:37
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [rollup](https://rollupjs.org/) ([source](https://github.com/rollup/rollup)) | [`^3.29.4` -> `^4.0.0`](https://renovatebot.com/diffs/npm/rollup/3.29.4/4.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/rollup/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rollup/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rollup/3.29.4/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rollup/3.29.4/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>rollup/rollup (rollup)</summary>

### [`v4.6.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#461)

[Compare Source](https://github.com/rollup/rollup/compare/v4.6.0...v4.6.1)

*2023-11-30*

##### Bug Fixes

-   Resolve a situation where declaring the same `var` several times was considered a conflict ([#&#8203;5276](https://github.com/rollup/rollup/issues/5276))

##### Pull Requests

-   [#&#8203;5275](https://github.com/rollup/rollup/pull/5275): Add TNG as special sponsor ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5276](https://github.com/rollup/rollup/pull/5276): Allow to redeclare parameters multiple times in nested scopes ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.6.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#460)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.2...v4.6.0)

*2023-11-26*

##### Features

-   Allow `this.addWatchFile` in all plugin hooks ([#&#8203;5270](https://github.com/rollup/rollup/issues/5270))

##### Bug Fixes

-   Show helpful error when native binaries are not installed due to an `npm` issue ([#&#8203;5267](https://github.com/rollup/rollup/issues/5267))
-   Do not access `this` context in `this.addWatchFile` so it does not need to be bound when passed around ([#&#8203;5270](https://github.com/rollup/rollup/issues/5270))

##### Pull Requests

-   [#&#8203;5267](https://github.com/rollup/rollup/pull/5267): Add friendly error for npm bug ([@&#8203;sapphi-red](https://github.com/sapphi-red))
-   [#&#8203;5270](https://github.com/rollup/rollup/pull/5270): Allow this.addWatchFile in all hooks ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5272](https://github.com/rollup/rollup/pull/5272): Debug deployed graphs ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.5.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#452)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.1...v4.5.2)

*2023-11-24*

##### Bug Fixes

-   Handle files with UTF-8 BOM when using the commonjs plugin ([#&#8203;5268](https://github.com/rollup/rollup/issues/5268))

##### Pull Requests

-   [#&#8203;5268](https://github.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5269](https://github.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.5.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#451)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.0...v4.5.1)

*2023-11-21*

##### Bug Fixes

-   Do not error when a function expression uses the same name for a parameter and its id ([#&#8203;5262](https://github.com/rollup/rollup/issues/5262))

##### Pull Requests

-   [#&#8203;5257](https://github.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5262](https://github.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.5.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#450)

[Compare Source](https://github.com/rollup/rollup/compare/v4.4.1...v4.5.0)

*2023-11-18*

##### Bug Fixes

-   Show a proper error when using native Rollup on armv7 musl Linux ([#&#8203;5255](https://github.com/rollup/rollup/issues/5255))

##### Pull Requests

-   [#&#8203;5251](https://github.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page ([@&#8203;lhapaipai](https://github.com/lhapaipai))
-   [#&#8203;5253](https://github.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5255](https://github.com/rollup/rollup/pull/5255): Error for armv7 musl build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.4.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#441)

[Compare Source](https://github.com/rollup/rollup/compare/v4.4.0...v4.4.1)

*2023-11-14*

##### Bug Fixes

-   Do not flag duplicate function declarations in function scopes as syntax errors ([#&#8203;5248](https://github.com/rollup/rollup/issues/5248))

##### Pull Requests

-   [#&#8203;5248](https://github.com/rollup/rollup/pull/5248): Allow functions to redeclare vars and functions in function scopes ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.4.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#440)

[Compare Source](https://github.com/rollup/rollup/compare/v4.3.1...v4.4.0)

*2023-11-12*

##### Features

-   Replace SWC linting with faster internal linting to error on duplicate declarations etc. ([#&#8203;5207](https://github.com/rollup/rollup/issues/5207))

##### Bug Fixes

-   Show proper error when an entry exports non-existing bindings ([#&#8203;5207](https://github.com/rollup/rollup/issues/5207))

##### Pull Requests

-   [#&#8203;5207](https://github.com/rollup/rollup/pull/5207): perf: run lint while constructing nodes ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.3.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#431)

[Compare Source](https://github.com/rollup/rollup/compare/v4.3.0...v4.3.1)

*2023-11-11*

##### Bug Fixes

-   Fix rename error when handling errors in watch mode ([#&#8203;5240](https://github.com/rollup/rollup/issues/5240))
-   Prevent warning when using `--forceExit` ([#&#8203;5245](https://github.com/rollup/rollup/issues/5245))

##### Pull Requests

-   [#&#8203;5240](https://github.com/rollup/rollup/pull/5240): fix: allow the name of Rollup Error to be modified ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5243](https://github.com/rollup/rollup/pull/5243): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5245](https://github.com/rollup/rollup/pull/5245): Ensure --forceExit works without warning ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.3.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#430)

[Compare Source](https://github.com/rollup/rollup/compare/v4.2.0...v4.3.0)

*2023-11-03*

##### Features

-   Add `forceExit` CLI flag for situations where the CLI does not exit gracefully ([#&#8203;5195](https://github.com/rollup/rollup/issues/5195))

##### Bug Fixes

-   Properly catch errors when removing a temporary config file fails ([#&#8203;5198](https://github.com/rollup/rollup/issues/5198))

##### Pull Requests

-   [#&#8203;5195](https://github.com/rollup/rollup/pull/5195): Add `forceExit` CLI flag ([@&#8203;raphael-theriault-swi](https://github.com/raphael-theriault-swi))
-   [#&#8203;5198](https://github.com/rollup/rollup/pull/5198): fix: prevent `ENOENT` error on temp config removal ([@&#8203;jzempel](https://github.com/jzempel))
-   [#&#8203;5237](https://github.com/rollup/rollup/pull/5237): chore: remove unused files and deps ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5238](https://github.com/rollup/rollup/pull/5238): chore(deps): update dependency eslint-plugin-unicorn to v49 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5239](https://github.com/rollup/rollup/pull/5239): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.2.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#420)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.6...v4.2.0)

*2023-10-31*

##### Features

-   Run parsing in multiple threads and introduce `parseAstAsync` helper function ([#&#8203;5202](https://github.com/rollup/rollup/issues/5202))

##### Pull Requests

-   [#&#8203;5202](https://github.com/rollup/rollup/pull/5202): perf: introduce `parseAstAsync` and parallelize parsing AST ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.6`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#416)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.5...v4.1.6)

*2023-10-31*

##### Bug Fixes

-   Fix a bug where emtpy block comments in certain positions could freeze Rollup ([#&#8203;5231](https://github.com/rollup/rollup/issues/5231))

##### Pull Requests

-   [#&#8203;5228](https://github.com/rollup/rollup/pull/5228): build: ensure rust toolchain components for linting are installed ([@&#8203;jerome-benoit](https://github.com/jerome-benoit))
-   [#&#8203;5231](https://github.com/rollup/rollup/pull/5231): Render emtpy block comments after tree-shaken statements ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5232](https://github.com/rollup/rollup/pull/5232): Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.1.5`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#415)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.4...v4.1.5)

*2023-10-28*

##### Bug Fixes

-   Fix an issue where actual entries that were also implicit entries could remain implicit ([#&#8203;5220](https://github.com/rollup/rollup/issues/5220))

##### Pull Requests

-   [#&#8203;5209](https://github.com/rollup/rollup/pull/5209): Document Vite workaround for browser build ([@&#8203;curran](https://github.com/curran))
-   [#&#8203;5215](https://github.com/rollup/rollup/pull/5215): chore(deps): update dependency lint-staged to v15 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5216](https://github.com/rollup/rollup/pull/5216): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5218](https://github.com/rollup/rollup/pull/5218): Update license plugin ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5219](https://github.com/rollup/rollup/pull/5219): Fix error highlight in REPL ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5220](https://github.com/rollup/rollup/pull/5220): Fix race condition when emitting implicitly dependent entries ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5224](https://github.com/rollup/rollup/pull/5224): chore(deps): update actions/setup-node action to v4 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5225](https://github.com/rollup/rollup/pull/5225): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.1.4`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#414)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.3...v4.1.4)

*2023-10-16*

##### Bug Fixes

-   Reduce sizes [@&#8203;rollup/browser](https://github.com/rollup/browser) and [@&#8203;rollup/wasm-node](https://github.com/rollup/wasm-node) WASM artifacts ([#&#8203;5204](https://github.com/rollup/rollup/issues/5204))

##### Pull Requests

-   [#&#8203;5204](https://github.com/rollup/rollup/pull/5204): perf: shrink wasm size by avoid importing browserslist ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.3`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#413)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.1...v4.1.3)

*2023-10-15*

##### Bug Fixes

-   Fix WASM build as hash function was not exported ([#&#8203;5203](https://github.com/rollup/rollup/issues/5203))

##### Pull Requests

-   [#&#8203;5203](https://github.com/rollup/rollup/pull/5203): fix: export xxhashBase64Url from wasm ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#411)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.0...v4.1.1)

*2023-10-15*

##### Bug Fixes

-   Improve Node parsing performance ([#&#8203;5201](https://github.com/rollup/rollup/issues/5201))

##### Pull Requests

-   [#&#8203;5201](https://github.com/rollup/rollup/pull/5201): perf: use mimalloc for bindings_napi ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#410)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.2...v4.1.0)

*2023-10-14*

##### Features

-   Reduce memory usage of Rollup builds ([#&#8203;5133](https://github.com/rollup/rollup/issues/5133))

##### Pull Requests

-   [#&#8203;5133](https://github.com/rollup/rollup/pull/5133): perf: reducing ast node memory overhead ([@&#8203;thebanjomatic](https://github.com/thebanjomatic))
-   [#&#8203;5177](https://github.com/rollup/rollup/pull/5177): chore: explicitly set rust toolchain channel ([@&#8203;cijiugechu](https://github.com/cijiugechu))
-   [#&#8203;5179](https://github.com/rollup/rollup/pull/5179): Update migration guide for Rollup 4 ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5180](https://github.com/rollup/rollup/pull/5180): Resolve clippy errors ([@&#8203;cijiugechu](https://github.com/cijiugechu))
-   [#&#8203;5183](https://github.com/rollup/rollup/pull/5183): Add clippy to pipeline and fix remaining issues ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5184](https://github.com/rollup/rollup/pull/5184): docs: fix code example for `onLog` ([@&#8203;tjenkinson](https://github.com/tjenkinson))
-   [#&#8203;5186](https://github.com/rollup/rollup/pull/5186): Improve wording for native artifacts in migration guide ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5190](https://github.com/rollup/rollup/pull/5190): test: add verifyAst type ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5196](https://github.com/rollup/rollup/pull/5196): chore(deps): update dependency rollup to v4 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5197](https://github.com/rollup/rollup/pull/5197): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.0.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#402)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.1...v4.0.2)

*2023-10-06*

##### Bug Fixes

-   Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore ([#&#8203;5178](https://github.com/rollup/rollup/issues/5178))

##### Pull Requests

-   [#&#8203;5178](https://github.com/rollup/rollup/pull/5178): Handle special characters before double underscores ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.0.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#401)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.0...v4.0.1)

*2023-10-06*

##### Bug Fixes

-   Do not panic on trailing semicolons after class methods ([#&#8203;5173](https://github.com/rollup/rollup/issues/5173))
-   Add artifact for arm64 linux musl target ([#&#8203;5176](https://github.com/rollup/rollup/issues/5176))

##### Pull Requests

-   [#&#8203;5172](https://github.com/rollup/rollup/pull/5172): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5173](https://github.com/rollup/rollup/pull/5173): fix: ignores empty statements in class body that is returned by SWC parser ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5176](https://github.com/rollup/rollup/pull/5176): Fix linux arm musl build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.0.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#400)

[Compare Source](https://github.com/rollup/rollup/compare/v3.29.4...v4.0.0)

*2023-10-05*

##### BREAKING CHANGES

##### General Changes

-   The minimal required Node version is now 18.0.0 ([#&#8203;5142](https://github.com/rollup/rollup/issues/5142))
-   The browser build now relies on a WASM artifact that needs to be provided as well ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the `@rollup/wasm-node` package that has the same interface as Rollup but relies on WASM artifacts ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The `INVALID_IMPORT_ASSERTION` error code has been replaced with `INVALID_IMPORT_ATTRIBUTE` ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#&#8203;5165](https://github.com/rollup/rollup/issues/5165))
-   If an entry module starts with a shebang comment `#!...`, this comment will be prepended to the output for `es` and `cjs` formats ([#&#8203;5163](https://github.com/rollup/rollup/issues/5163))
-   File hashes will now use url-safe base64 encoded hashes ([#&#8203;5155](https://github.com/rollup/rollup/issues/5155))
-   The maximum hash length has been reduced to 22 characters ([#&#8203;5155](https://github.com/rollup/rollup/issues/5155))
-   The `RollupWarning` type has been removed in favor of the `RollupLog` type ([#&#8203;5147](https://github.com/rollup/rollup/issues/5147))

##### Changes to Rollup Options

-   Acorn plugins are no longer supported, the `acornInjectPlugins` option has been removed ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The `acorn` option has been removed ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   `output.externalImportAssertions` has been deprecated in favor of `output.externalImportAttributes` ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   `inlineDynamicImports`, `manualChunks` and `preserveModules` have been removed on input option level: Please use the corresponding output options of the same names ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))
-   Removed output options ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143)):
    -   `output.experimentalDeepDynamicChunkOptimization`: This option is no longer needed as Rollup now always runs the full chunking algorithm
    -   `output.dynamicImportFunction`: Use the `renderDynamicImport` plugin hook instead
    -   `output.namespaceToStringTag`: Use `output.generatedCode.symbols` instead
    -   `output.preferConst`: Use `output.generatedCode.constBindings` instead

##### Plugin API Changes

-   For `this.resolve`, the default of the `skipSelf` option is now `true` ([#&#8203;5142](https://github.com/rollup/rollup/issues/5142))
-   `this.parse` now only supports the `allowReturnOutsideFunction` option for now ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Import assertions now use the [new import attribute AST structure](https://github.com/estree/estree/blob/master/experimental/import-attributes.md) ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   "assertions" have been replaced with "attributes" in various places of the plugin interface ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   If the import of a module id is handled by the `load` hook of a plugin, `rollup.watch` 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 `this.addWatchFile` for any dependency files ([#&#8203;5150](https://github.com/rollup/rollup/issues/5150))
-   The normalized input options provided by `buildStart` and other hooks no longer contain an `onwarn` handler; plugins should use `onLog` instead ([#&#8203;5147](https://github.com/rollup/rollup/issues/5147))
-   `this.moduleIds` has been removed from the plugin context: Use `this.getModuleIds()` instead ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))
-   The `hasModuleSideEffects` flag has been removed from the `ModuleInfo` returned by `this.getModuleInfo()`: Use `moduleSideEffects` on the `ModuleInfo` instead ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))

##### Features

-   Improve parsing speed by switching to a native SWC-based parser ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#&#8203;5165](https://github.com/rollup/rollup/issues/5165))
-   The parser is now exposed as a separate export `parseAst` ([#&#8203;5169](https://github.com/rollup/rollup/issues/5169))

##### Bug Fixes

-   Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via `this.addWatchFile()` ([#&#8203;5150](https://github.com/rollup/rollup/issues/5150))

##### Pull Requests

-   [#&#8203;5073](https://github.com/rollup/rollup/pull/5073): \[v4.0] Switch parser to SWC and introduce native/WASM code ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5142](https://github.com/rollup/rollup/pull/5142): \[v4.0] Set the default of skipSelf to true ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5143](https://github.com/rollup/rollup/pull/5143): \[v4.0] Remove deprecated features ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5144](https://github.com/rollup/rollup/pull/5144): \[v4.0] Imporve the performance of generating ast and rollup ast nodes ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5147](https://github.com/rollup/rollup/pull/5147): \[v4.0] Remove onwarn from normalized input options ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5150](https://github.com/rollup/rollup/pull/5150): \[v4.0] feat: Do not watch files anymore if their content is returned by the load hook ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5154](https://github.com/rollup/rollup/pull/5154): \[v4.0] Add parse option to allow return outside function ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5155](https://github.com/rollup/rollup/pull/5155): \[v4.0] feat: implement hashing content in Rust ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5157](https://github.com/rollup/rollup/pull/5157): \[v4.0] Handle empty exports ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5160](https://github.com/rollup/rollup/pull/5160): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5163](https://github.com/rollup/rollup/pull/5163): \[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5164](https://github.com/rollup/rollup/pull/5164): \[v4.0] fix: also strip BOM from code strings in JS ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5165](https://github.com/rollup/rollup/pull/5165): \[v4.0] warn for invalid annotations ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5168](https://github.com/rollup/rollup/pull/5168): \[v4.0] Ensure we support new import attribute "with" syntax ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5169](https://github.com/rollup/rollup/pull/5169): \[v4.0] Expose parser ([@&#8203;lukastaegert](https://github.com/lukastaegert))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODcuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSJ9-->
Copy link
Contributor Author

renovate bot commented Dec 8, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

@graphite-app graphite-app bot merged commit 37a32d1 into canary Dec 8, 2023
@graphite-app graphite-app bot deleted the renovate/rollup-4.x branch December 8, 2023 06:19
joooye34 pushed a commit that referenced this pull request Dec 8, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [rollup](https://rollupjs.org/) ([source](https://github.com/rollup/rollup)) | [`^3.29.4` -> `^4.0.0`](https://renovatebot.com/diffs/npm/rollup/3.29.4/4.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/rollup/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rollup/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rollup/3.29.4/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rollup/3.29.4/4.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>rollup/rollup (rollup)</summary>

### [`v4.6.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#461)

[Compare Source](https://github.com/rollup/rollup/compare/v4.6.0...v4.6.1)

*2023-11-30*

##### Bug Fixes

-   Resolve a situation where declaring the same `var` several times was considered a conflict ([#&#8203;5276](https://github.com/rollup/rollup/issues/5276))

##### Pull Requests

-   [#&#8203;5275](https://github.com/rollup/rollup/pull/5275): Add TNG as special sponsor ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5276](https://github.com/rollup/rollup/pull/5276): Allow to redeclare parameters multiple times in nested scopes ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.6.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#460)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.2...v4.6.0)

*2023-11-26*

##### Features

-   Allow `this.addWatchFile` in all plugin hooks ([#&#8203;5270](https://github.com/rollup/rollup/issues/5270))

##### Bug Fixes

-   Show helpful error when native binaries are not installed due to an `npm` issue ([#&#8203;5267](https://github.com/rollup/rollup/issues/5267))
-   Do not access `this` context in `this.addWatchFile` so it does not need to be bound when passed around ([#&#8203;5270](https://github.com/rollup/rollup/issues/5270))

##### Pull Requests

-   [#&#8203;5267](https://github.com/rollup/rollup/pull/5267): Add friendly error for npm bug ([@&#8203;sapphi-red](https://github.com/sapphi-red))
-   [#&#8203;5270](https://github.com/rollup/rollup/pull/5270): Allow this.addWatchFile in all hooks ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5272](https://github.com/rollup/rollup/pull/5272): Debug deployed graphs ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.5.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#452)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.1...v4.5.2)

*2023-11-24*

##### Bug Fixes

-   Handle files with UTF-8 BOM when using the commonjs plugin ([#&#8203;5268](https://github.com/rollup/rollup/issues/5268))

##### Pull Requests

-   [#&#8203;5268](https://github.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5269](https://github.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.5.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#451)

[Compare Source](https://github.com/rollup/rollup/compare/v4.5.0...v4.5.1)

*2023-11-21*

##### Bug Fixes

-   Do not error when a function expression uses the same name for a parameter and its id ([#&#8203;5262](https://github.com/rollup/rollup/issues/5262))

##### Pull Requests

-   [#&#8203;5257](https://github.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5262](https://github.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.5.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#450)

[Compare Source](https://github.com/rollup/rollup/compare/v4.4.1...v4.5.0)

*2023-11-18*

##### Bug Fixes

-   Show a proper error when using native Rollup on armv7 musl Linux ([#&#8203;5255](https://github.com/rollup/rollup/issues/5255))

##### Pull Requests

-   [#&#8203;5251](https://github.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page ([@&#8203;lhapaipai](https://github.com/lhapaipai))
-   [#&#8203;5253](https://github.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5255](https://github.com/rollup/rollup/pull/5255): Error for armv7 musl build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.4.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#441)

[Compare Source](https://github.com/rollup/rollup/compare/v4.4.0...v4.4.1)

*2023-11-14*

##### Bug Fixes

-   Do not flag duplicate function declarations in function scopes as syntax errors ([#&#8203;5248](https://github.com/rollup/rollup/issues/5248))

##### Pull Requests

-   [#&#8203;5248](https://github.com/rollup/rollup/pull/5248): Allow functions to redeclare vars and functions in function scopes ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.4.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#440)

[Compare Source](https://github.com/rollup/rollup/compare/v4.3.1...v4.4.0)

*2023-11-12*

##### Features

-   Replace SWC linting with faster internal linting to error on duplicate declarations etc. ([#&#8203;5207](https://github.com/rollup/rollup/issues/5207))

##### Bug Fixes

-   Show proper error when an entry exports non-existing bindings ([#&#8203;5207](https://github.com/rollup/rollup/issues/5207))

##### Pull Requests

-   [#&#8203;5207](https://github.com/rollup/rollup/pull/5207): perf: run lint while constructing nodes ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.3.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#431)

[Compare Source](https://github.com/rollup/rollup/compare/v4.3.0...v4.3.1)

*2023-11-11*

##### Bug Fixes

-   Fix rename error when handling errors in watch mode ([#&#8203;5240](https://github.com/rollup/rollup/issues/5240))
-   Prevent warning when using `--forceExit` ([#&#8203;5245](https://github.com/rollup/rollup/issues/5245))

##### Pull Requests

-   [#&#8203;5240](https://github.com/rollup/rollup/pull/5240): fix: allow the name of Rollup Error to be modified ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5243](https://github.com/rollup/rollup/pull/5243): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5245](https://github.com/rollup/rollup/pull/5245): Ensure --forceExit works without warning ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.3.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#430)

[Compare Source](https://github.com/rollup/rollup/compare/v4.2.0...v4.3.0)

*2023-11-03*

##### Features

-   Add `forceExit` CLI flag for situations where the CLI does not exit gracefully ([#&#8203;5195](https://github.com/rollup/rollup/issues/5195))

##### Bug Fixes

-   Properly catch errors when removing a temporary config file fails ([#&#8203;5198](https://github.com/rollup/rollup/issues/5198))

##### Pull Requests

-   [#&#8203;5195](https://github.com/rollup/rollup/pull/5195): Add `forceExit` CLI flag ([@&#8203;raphael-theriault-swi](https://github.com/raphael-theriault-swi))
-   [#&#8203;5198](https://github.com/rollup/rollup/pull/5198): fix: prevent `ENOENT` error on temp config removal ([@&#8203;jzempel](https://github.com/jzempel))
-   [#&#8203;5237](https://github.com/rollup/rollup/pull/5237): chore: remove unused files and deps ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5238](https://github.com/rollup/rollup/pull/5238): chore(deps): update dependency eslint-plugin-unicorn to v49 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5239](https://github.com/rollup/rollup/pull/5239): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.2.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#420)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.6...v4.2.0)

*2023-10-31*

##### Features

-   Run parsing in multiple threads and introduce `parseAstAsync` helper function ([#&#8203;5202](https://github.com/rollup/rollup/issues/5202))

##### Pull Requests

-   [#&#8203;5202](https://github.com/rollup/rollup/pull/5202): perf: introduce `parseAstAsync` and parallelize parsing AST ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.6`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#416)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.5...v4.1.6)

*2023-10-31*

##### Bug Fixes

-   Fix a bug where emtpy block comments in certain positions could freeze Rollup ([#&#8203;5231](https://github.com/rollup/rollup/issues/5231))

##### Pull Requests

-   [#&#8203;5228](https://github.com/rollup/rollup/pull/5228): build: ensure rust toolchain components for linting are installed ([@&#8203;jerome-benoit](https://github.com/jerome-benoit))
-   [#&#8203;5231](https://github.com/rollup/rollup/pull/5231): Render emtpy block comments after tree-shaken statements ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5232](https://github.com/rollup/rollup/pull/5232): Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.1.5`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#415)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.4...v4.1.5)

*2023-10-28*

##### Bug Fixes

-   Fix an issue where actual entries that were also implicit entries could remain implicit ([#&#8203;5220](https://github.com/rollup/rollup/issues/5220))

##### Pull Requests

-   [#&#8203;5209](https://github.com/rollup/rollup/pull/5209): Document Vite workaround for browser build ([@&#8203;curran](https://github.com/curran))
-   [#&#8203;5215](https://github.com/rollup/rollup/pull/5215): chore(deps): update dependency lint-staged to v15 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5216](https://github.com/rollup/rollup/pull/5216): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5218](https://github.com/rollup/rollup/pull/5218): Update license plugin ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5219](https://github.com/rollup/rollup/pull/5219): Fix error highlight in REPL ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5220](https://github.com/rollup/rollup/pull/5220): Fix race condition when emitting implicitly dependent entries ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5224](https://github.com/rollup/rollup/pull/5224): chore(deps): update actions/setup-node action to v4 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5225](https://github.com/rollup/rollup/pull/5225): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.1.4`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#414)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.3...v4.1.4)

*2023-10-16*

##### Bug Fixes

-   Reduce sizes [@&#8203;rollup/browser](https://github.com/rollup/browser) and [@&#8203;rollup/wasm-node](https://github.com/rollup/wasm-node) WASM artifacts ([#&#8203;5204](https://github.com/rollup/rollup/issues/5204))

##### Pull Requests

-   [#&#8203;5204](https://github.com/rollup/rollup/pull/5204): perf: shrink wasm size by avoid importing browserslist ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.3`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#413)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.1...v4.1.3)

*2023-10-15*

##### Bug Fixes

-   Fix WASM build as hash function was not exported ([#&#8203;5203](https://github.com/rollup/rollup/issues/5203))

##### Pull Requests

-   [#&#8203;5203](https://github.com/rollup/rollup/pull/5203): fix: export xxhashBase64Url from wasm ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#411)

[Compare Source](https://github.com/rollup/rollup/compare/v4.1.0...v4.1.1)

*2023-10-15*

##### Bug Fixes

-   Improve Node parsing performance ([#&#8203;5201](https://github.com/rollup/rollup/issues/5201))

##### Pull Requests

-   [#&#8203;5201](https://github.com/rollup/rollup/pull/5201): perf: use mimalloc for bindings_napi ([@&#8203;sapphi-red](https://github.com/sapphi-red))

### [`v4.1.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#410)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.2...v4.1.0)

*2023-10-14*

##### Features

-   Reduce memory usage of Rollup builds ([#&#8203;5133](https://github.com/rollup/rollup/issues/5133))

##### Pull Requests

-   [#&#8203;5133](https://github.com/rollup/rollup/pull/5133): perf: reducing ast node memory overhead ([@&#8203;thebanjomatic](https://github.com/thebanjomatic))
-   [#&#8203;5177](https://github.com/rollup/rollup/pull/5177): chore: explicitly set rust toolchain channel ([@&#8203;cijiugechu](https://github.com/cijiugechu))
-   [#&#8203;5179](https://github.com/rollup/rollup/pull/5179): Update migration guide for Rollup 4 ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5180](https://github.com/rollup/rollup/pull/5180): Resolve clippy errors ([@&#8203;cijiugechu](https://github.com/cijiugechu))
-   [#&#8203;5183](https://github.com/rollup/rollup/pull/5183): Add clippy to pipeline and fix remaining issues ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5184](https://github.com/rollup/rollup/pull/5184): docs: fix code example for `onLog` ([@&#8203;tjenkinson](https://github.com/tjenkinson))
-   [#&#8203;5186](https://github.com/rollup/rollup/pull/5186): Improve wording for native artifacts in migration guide ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5190](https://github.com/rollup/rollup/pull/5190): test: add verifyAst type ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5196](https://github.com/rollup/rollup/pull/5196): chore(deps): update dependency rollup to v4 ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5197](https://github.com/rollup/rollup/pull/5197): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])

### [`v4.0.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#402)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.1...v4.0.2)

*2023-10-06*

##### Bug Fixes

-   Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore ([#&#8203;5178](https://github.com/rollup/rollup/issues/5178))

##### Pull Requests

-   [#&#8203;5178](https://github.com/rollup/rollup/pull/5178): Handle special characters before double underscores ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.0.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#401)

[Compare Source](https://github.com/rollup/rollup/compare/v4.0.0...v4.0.1)

*2023-10-06*

##### Bug Fixes

-   Do not panic on trailing semicolons after class methods ([#&#8203;5173](https://github.com/rollup/rollup/issues/5173))
-   Add artifact for arm64 linux musl target ([#&#8203;5176](https://github.com/rollup/rollup/issues/5176))

##### Pull Requests

-   [#&#8203;5172](https://github.com/rollup/rollup/pull/5172): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5173](https://github.com/rollup/rollup/pull/5173): fix: ignores empty statements in class body that is returned by SWC parser ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5176](https://github.com/rollup/rollup/pull/5176): Fix linux arm musl build ([@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.0.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#400)

[Compare Source](https://github.com/rollup/rollup/compare/v3.29.4...v4.0.0)

*2023-10-05*

##### BREAKING CHANGES

##### General Changes

-   The minimal required Node version is now 18.0.0 ([#&#8203;5142](https://github.com/rollup/rollup/issues/5142))
-   The browser build now relies on a WASM artifact that needs to be provided as well ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the `@rollup/wasm-node` package that has the same interface as Rollup but relies on WASM artifacts ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The `INVALID_IMPORT_ASSERTION` error code has been replaced with `INVALID_IMPORT_ATTRIBUTE` ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#&#8203;5165](https://github.com/rollup/rollup/issues/5165))
-   If an entry module starts with a shebang comment `#!...`, this comment will be prepended to the output for `es` and `cjs` formats ([#&#8203;5163](https://github.com/rollup/rollup/issues/5163))
-   File hashes will now use url-safe base64 encoded hashes ([#&#8203;5155](https://github.com/rollup/rollup/issues/5155))
-   The maximum hash length has been reduced to 22 characters ([#&#8203;5155](https://github.com/rollup/rollup/issues/5155))
-   The `RollupWarning` type has been removed in favor of the `RollupLog` type ([#&#8203;5147](https://github.com/rollup/rollup/issues/5147))

##### Changes to Rollup Options

-   Acorn plugins are no longer supported, the `acornInjectPlugins` option has been removed ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   The `acorn` option has been removed ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   `output.externalImportAssertions` has been deprecated in favor of `output.externalImportAttributes` ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   `inlineDynamicImports`, `manualChunks` and `preserveModules` have been removed on input option level: Please use the corresponding output options of the same names ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))
-   Removed output options ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143)):
    -   `output.experimentalDeepDynamicChunkOptimization`: This option is no longer needed as Rollup now always runs the full chunking algorithm
    -   `output.dynamicImportFunction`: Use the `renderDynamicImport` plugin hook instead
    -   `output.namespaceToStringTag`: Use `output.generatedCode.symbols` instead
    -   `output.preferConst`: Use `output.generatedCode.constBindings` instead

##### Plugin API Changes

-   For `this.resolve`, the default of the `skipSelf` option is now `true` ([#&#8203;5142](https://github.com/rollup/rollup/issues/5142))
-   `this.parse` now only supports the `allowReturnOutsideFunction` option for now ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Import assertions now use the [new import attribute AST structure](https://github.com/estree/estree/blob/master/experimental/import-attributes.md) ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   "assertions" have been replaced with "attributes" in various places of the plugin interface ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   If the import of a module id is handled by the `load` hook of a plugin, `rollup.watch` 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 `this.addWatchFile` for any dependency files ([#&#8203;5150](https://github.com/rollup/rollup/issues/5150))
-   The normalized input options provided by `buildStart` and other hooks no longer contain an `onwarn` handler; plugins should use `onLog` instead ([#&#8203;5147](https://github.com/rollup/rollup/issues/5147))
-   `this.moduleIds` has been removed from the plugin context: Use `this.getModuleIds()` instead ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))
-   The `hasModuleSideEffects` flag has been removed from the `ModuleInfo` returned by `this.getModuleInfo()`: Use `moduleSideEffects` on the `ModuleInfo` instead ([#&#8203;5143](https://github.com/rollup/rollup/issues/5143))

##### Features

-   Improve parsing speed by switching to a native SWC-based parser ([#&#8203;5073](https://github.com/rollup/rollup/issues/5073))
-   Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#&#8203;5165](https://github.com/rollup/rollup/issues/5165))
-   The parser is now exposed as a separate export `parseAst` ([#&#8203;5169](https://github.com/rollup/rollup/issues/5169))

##### Bug Fixes

-   Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via `this.addWatchFile()` ([#&#8203;5150](https://github.com/rollup/rollup/issues/5150))

##### Pull Requests

-   [#&#8203;5073](https://github.com/rollup/rollup/pull/5073): \[v4.0] Switch parser to SWC and introduce native/WASM code ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5142](https://github.com/rollup/rollup/pull/5142): \[v4.0] Set the default of skipSelf to true ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5143](https://github.com/rollup/rollup/pull/5143): \[v4.0] Remove deprecated features ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5144](https://github.com/rollup/rollup/pull/5144): \[v4.0] Imporve the performance of generating ast and rollup ast nodes ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5147](https://github.com/rollup/rollup/pull/5147): \[v4.0] Remove onwarn from normalized input options ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5150](https://github.com/rollup/rollup/pull/5150): \[v4.0] feat: Do not watch files anymore if their content is returned by the load hook ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5154](https://github.com/rollup/rollup/pull/5154): \[v4.0] Add parse option to allow return outside function ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5155](https://github.com/rollup/rollup/pull/5155): \[v4.0] feat: implement hashing content in Rust ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5157](https://github.com/rollup/rollup/pull/5157): \[v4.0] Handle empty exports ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5160](https://github.com/rollup/rollup/pull/5160): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot])
-   [#&#8203;5163](https://github.com/rollup/rollup/pull/5163): \[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5164](https://github.com/rollup/rollup/pull/5164): \[v4.0] fix: also strip BOM from code strings in JS ([@&#8203;TrickyPi](https://github.com/TrickyPi))
-   [#&#8203;5165](https://github.com/rollup/rollup/pull/5165): \[v4.0] warn for invalid annotations ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5168](https://github.com/rollup/rollup/pull/5168): \[v4.0] Ensure we support new import attribute "with" syntax ([@&#8203;lukastaegert](https://github.com/lukastaegert))
-   [#&#8203;5169](https://github.com/rollup/rollup/pull/5169): \[v4.0] Expose parser ([@&#8203;lukastaegert](https://github.com/lukastaegert))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODcuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file mod:plugin-cli
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

1 participant