rollup/rollup (rollup)
### [`v4.9.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#495)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.4...v4.9.5)
*2024-01-12*
##### Bug Fixes
- Fix issue where on Windows, Rollup would not load due to problems with the MSVC executable ([#5335](https://togithub.com/rollup/rollup/issues/5335))
##### Pull Requests
- [#5334](https://togithub.com/rollup/rollup/pull/5334): Fix typo in commondir.ts ([@akiomik](https://togithub.com/akiomik))
- [#5335](https://togithub.com/rollup/rollup/pull/5335): build: static link msvc runtime on Windows x64 platform ([@Brooooooklyn](https://togithub.com/Brooooooklyn))
- [#5338](https://togithub.com/rollup/rollup/pull/5338): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.9.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#494)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.3...v4.9.4)
*2024-01-06*
##### Bug Fixes
- Use quotes for keys in namespaces that are only numbers but are not valid integers ([#5328](https://togithub.com/rollup/rollup/issues/5328))
- Allow to have comments between pure annotations and the annoted node ([#5332](https://togithub.com/rollup/rollup/issues/5332))
##### Pull Requests
- [#5328](https://togithub.com/rollup/rollup/pull/5328): Correctly handling number key ([@LongTengDao](https://togithub.com/LongTengDao))
- [#5332](https://togithub.com/rollup/rollup/pull/5332): Handle pure annotations that are separated by a comment ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.9.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#493)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.2...v4.9.3)
*2024-01-05*
##### Bug Fixes
- Support `__proto__` as export/import name ([#5313](https://togithub.com/rollup/rollup/issues/5313))
- Use ESTree AST type over custom type in user-facing types ([#5323](https://togithub.com/rollup/rollup/issues/5323))
##### Pull Requests
- [#5313](https://togithub.com/rollup/rollup/pull/5313): Correctly handling **proto** export as module object key ([@LongTengDao](https://togithub.com/LongTengDao))
- [#5323](https://togithub.com/rollup/rollup/pull/5323): fix: Add estree.Program type to rollup.d.ts ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5326](https://togithub.com/rollup/rollup/pull/5326): docs: fix grammar ([@gigabites19](https://togithub.com/gigabites19))
- [#5329](https://togithub.com/rollup/rollup/pull/5329): chore(deps): update dependency [@vue/eslint-config-prettier](https://togithub.com/vue/eslint-config-prettier) to v9 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5330](https://togithub.com/rollup/rollup/pull/5330): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.9.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#492)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.1...v4.9.2)
*2023-12-30*
##### Bug Fixes
- Extend support for arbitrary namespace identifiers in SystemJS ([#5321](https://togithub.com/rollup/rollup/issues/5321))
- Do not wrongly flag functions without side effects as side effects if moduleSideEffects is false ([#5322](https://togithub.com/rollup/rollup/issues/5322))
##### Pull Requests
- [#5305](https://togithub.com/rollup/rollup/pull/5305): Add JSDoc types to internal scripts ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5309](https://togithub.com/rollup/rollup/pull/5309): chore(deps): update actions/download-artifact action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5311](https://togithub.com/rollup/rollup/pull/5311): chode: add node badge ([@btea](https://togithub.com/btea))
- [#5312](https://togithub.com/rollup/rollup/pull/5312): Remove rollup-plugin-thatworks from devDeps ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5318](https://togithub.com/rollup/rollup/pull/5318): chore(deps): update dependency eslint-plugin-unicorn to v50 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5319](https://togithub.com/rollup/rollup/pull/5319): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5321](https://togithub.com/rollup/rollup/pull/5321): Handle arbitrary namespace identifiers in some SystemJS scenarios ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5322](https://togithub.com/rollup/rollup/pull/5322): Do not handle declarations in modules without side effects as TDZ ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.9.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#491)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.0...v4.9.1)
*2023-12-17*
##### Bug Fixes
- Fix an issue where break statements could include the wrong label ([#5297](https://togithub.com/rollup/rollup/issues/5297))
##### Pull Requests
- [#5297](https://togithub.com/rollup/rollup/pull/5297): fix: use a new includedLabels in the body of the LabeledStatement ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5300](https://togithub.com/rollup/rollup/pull/5300): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.9.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#490)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.8.0...v4.9.0)
*2023-12-13*
##### Features
- Fully support arbitrary strings as import and export identifiers ([#5298](https://togithub.com/rollup/rollup/issues/5298))
##### Pull Requests
- [#5296](https://togithub.com/rollup/rollup/pull/5296): Do not assume setTimeout return type ([@kapouer](https://togithub.com/kapouer))
- [#5298](https://togithub.com/rollup/rollup/pull/5298): Fully support arbitrary module namespace identifiers for all formats ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.8.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#480)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.7.0...v4.8.0)
*2023-12-11*
##### Features
- Improve `experimentalMinChunkSize` to take already loaded modules from dynamic imports into account ([#5294](https://togithub.com/rollup/rollup/issues/5294))
##### Pull Requests
- [#5294](https://togithub.com/rollup/rollup/pull/5294): Find more merge targets for experimentalMinChunkSize ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.7.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#470)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.6.1...v4.7.0)
*2023-12-08*
##### Features
- Add build for Linux riscv64 architecture ([#5288](https://togithub.com/rollup/rollup/issues/5288))
##### Bug Fixes
- Improve error message when native Windows build does not start ([#5284](https://togithub.com/rollup/rollup/issues/5284))
##### Pull Requests
- [#5278](https://togithub.com/rollup/rollup/pull/5278): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5281](https://togithub.com/rollup/rollup/pull/5281): Add logs and experimentalLogSideEffects to REPL ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5284](https://togithub.com/rollup/rollup/pull/5284): Add friendly error for missing MSVC redistributable ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5285](https://togithub.com/rollup/rollup/pull/5285): chore(deps): update dependency vite to v5.0.5 \[security] ([@renovate](https://togithub.com/renovate)\[bot])
- [#5288](https://togithub.com/rollup/rollup/pull/5288): Add support for linux riscv64 gnu ([@kxxt](https://togithub.com/kxxt))
- [#5290](https://togithub.com/rollup/rollup/pull/5290): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.6.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#461)
[Compare Source](https://togithub.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 ([#5276](https://togithub.com/rollup/rollup/issues/5276))
##### Pull Requests
- [#5275](https://togithub.com/rollup/rollup/pull/5275): Add TNG as special sponsor ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5276](https://togithub.com/rollup/rollup/pull/5276): Allow to redeclare parameters multiple times in nested scopes ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.6.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#460)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.5.2...v4.6.0)
*2023-11-26*
##### Features
- Allow `this.addWatchFile` in all plugin hooks ([#5270](https://togithub.com/rollup/rollup/issues/5270))
##### Bug Fixes
- Show helpful error when native binaries are not installed due to an `npm` issue ([#5267](https://togithub.com/rollup/rollup/issues/5267))
- Do not access `this` context in `this.addWatchFile` so it does not need to be bound when passed around ([#5270](https://togithub.com/rollup/rollup/issues/5270))
##### Pull Requests
- [#5267](https://togithub.com/rollup/rollup/pull/5267): Add friendly error for npm bug ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5270](https://togithub.com/rollup/rollup/pull/5270): Allow this.addWatchFile in all hooks ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5272](https://togithub.com/rollup/rollup/pull/5272): Debug deployed graphs ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.5.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#452)
[Compare Source](https://togithub.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 ([#5268](https://togithub.com/rollup/rollup/issues/5268))
##### Pull Requests
- [#5268](https://togithub.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5269](https://togithub.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.5.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#451)
[Compare Source](https://togithub.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 ([#5262](https://togithub.com/rollup/rollup/issues/5262))
##### Pull Requests
- [#5257](https://togithub.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5262](https://togithub.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.5.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#450)
[Compare Source](https://togithub.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 ([#5255](https://togithub.com/rollup/rollup/issues/5255))
##### Pull Requests
- [#5251](https://togithub.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page ([@lhapaipai](https://togithub.com/lhapaipai))
- [#5253](https://togithub.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5255](https://togithub.com/rollup/rollup/pull/5255): Error for armv7 musl build ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.4.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#441)
[Compare Source](https://togithub.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 ([#5248](https://togithub.com/rollup/rollup/issues/5248))
##### Pull Requests
- [#5248](https://togithub.com/rollup/rollup/pull/5248): Allow functions to redeclare vars and functions in function scopes ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.4.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#440)
[Compare Source](https://togithub.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. ([#5207](https://togithub.com/rollup/rollup/issues/5207))
##### Bug Fixes
- Show proper error when an entry exports non-existing bindings ([#5207](https://togithub.com/rollup/rollup/issues/5207))
##### Pull Requests
- [#5207](https://togithub.com/rollup/rollup/pull/5207): perf: run lint while constructing nodes ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.3.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#431)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.3.0...v4.3.1)
*2023-11-11*
##### Bug Fixes
- Fix rename error when handling errors in watch mode ([#5240](https://togithub.com/rollup/rollup/issues/5240))
- Prevent warning when using `--forceExit` ([#5245](https://togithub.com/rollup/rollup/issues/5245))
##### Pull Requests
- [#5240](https://togithub.com/rollup/rollup/pull/5240): fix: allow the name of Rollup Error to be modified ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5243](https://togithub.com/rollup/rollup/pull/5243): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5245](https://togithub.com/rollup/rollup/pull/5245): Ensure --forceExit works without warning ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.3.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#430)
[Compare Source](https://togithub.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 ([#5195](https://togithub.com/rollup/rollup/issues/5195))
##### Bug Fixes
- Properly catch errors when removing a temporary config file fails ([#5198](https://togithub.com/rollup/rollup/issues/5198))
##### Pull Requests
- [#5195](https://togithub.com/rollup/rollup/pull/5195): Add `forceExit` CLI flag ([@raphael-theriault-swi](https://togithub.com/raphael-theriault-swi))
- [#5198](https://togithub.com/rollup/rollup/pull/5198): fix: prevent `ENOENT` error on temp config removal ([@jzempel](https://togithub.com/jzempel))
- [#5237](https://togithub.com/rollup/rollup/pull/5237): chore: remove unused files and deps ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5238](https://togithub.com/rollup/rollup/pull/5238): chore(deps): update dependency eslint-plugin-unicorn to v49 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5239](https://togithub.com/rollup/rollup/pull/5239): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.2.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#420)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.6...v4.2.0)
*2023-10-31*
##### Features
- Run parsing in multiple threads and introduce `parseAstAsync` helper function ([#5202](https://togithub.com/rollup/rollup/issues/5202))
##### Pull Requests
- [#5202](https://togithub.com/rollup/rollup/pull/5202): perf: introduce `parseAstAsync` and parallelize parsing AST ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.1.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#416)
[Compare Source](https://togithub.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 ([#5231](https://togithub.com/rollup/rollup/issues/5231))
##### Pull Requests
- [#5228](https://togithub.com/rollup/rollup/pull/5228): build: ensure rust toolchain components for linting are installed ([@jerome-benoit](https://togithub.com/jerome-benoit))
- [#5231](https://togithub.com/rollup/rollup/pull/5231): Render emtpy block comments after tree-shaken statements ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5232](https://togithub.com/rollup/rollup/pull/5232): Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.1.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#415)
[Compare Source](https://togithub.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 ([#5220](https://togithub.com/rollup/rollup/issues/5220))
##### Pull Requests
- [#5209](https://togithub.com/rollup/rollup/pull/5209): Document Vite workaround for browser build ([@curran](https://togithub.com/curran))
- [#5215](https://togithub.com/rollup/rollup/pull/5215): chore(deps): update dependency lint-staged to v15 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5216](https://togithub.com/rollup/rollup/pull/5216): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5218](https://togithub.com/rollup/rollup/pull/5218): Update license plugin ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5219](https://togithub.com/rollup/rollup/pull/5219): Fix error highlight in REPL ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5220](https://togithub.com/rollup/rollup/pull/5220): Fix race condition when emitting implicitly dependent entries ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5224](https://togithub.com/rollup/rollup/pull/5224): chore(deps): update actions/setup-node action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5225](https://togithub.com/rollup/rollup/pull/5225): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.1.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#414)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.3...v4.1.4)
*2023-10-16*
##### Bug Fixes
- Reduce sizes [@rollup/browser](https://togithub.com/rollup/browser) and [@rollup/wasm-node](https://togithub.com/rollup/wasm-node) WASM artifacts ([#5204](https://togithub.com/rollup/rollup/issues/5204))
##### Pull Requests
- [#5204](https://togithub.com/rollup/rollup/pull/5204): perf: shrink wasm size by avoid importing browserslist ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.1.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#413)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.1...v4.1.3)
*2023-10-15*
##### Bug Fixes
- Fix WASM build as hash function was not exported ([#5203](https://togithub.com/rollup/rollup/issues/5203))
##### Pull Requests
- [#5203](https://togithub.com/rollup/rollup/pull/5203): fix: export xxhashBase64Url from wasm ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.1.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#411)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.0...v4.1.1)
*2023-10-15*
##### Bug Fixes
- Improve Node parsing performance ([#5201](https://togithub.com/rollup/rollup/issues/5201))
##### Pull Requests
- [#5201](https://togithub.com/rollup/rollup/pull/5201): perf: use mimalloc for bindings_napi ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.1.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#410)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.2...v4.1.0)
*2023-10-14*
##### Features
- Reduce memory usage of Rollup builds ([#5133](https://togithub.com/rollup/rollup/issues/5133))
##### Pull Requests
- [#5133](https://togithub.com/rollup/rollup/pull/5133): perf: reducing ast node memory overhead ([@thebanjomatic](https://togithub.com/thebanjomatic))
- [#5177](https://togithub.com/rollup/rollup/pull/5177): chore: explicitly set rust toolchain channel ([@cijiugechu](https://togithub.com/cijiugechu))
- [#5179](https://togithub.com/rollup/rollup/pull/5179): Update migration guide for Rollup 4 ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5180](https://togithub.com/rollup/rollup/pull/5180): Resolve clippy errors ([@cijiugechu](https://togithub.com/cijiugechu))
- [#5183](https://togithub.com/rollup/rollup/pull/5183): Add clippy to pipeline and fix remaining issues ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5184](https://togithub.com/rollup/rollup/pull/5184): docs: fix code example for `onLog` ([@tjenkinson](https://togithub.com/tjenkinson))
- [#5186](https://togithub.com/rollup/rollup/pull/5186): Improve wording for native artifacts in migration guide ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5190](https://togithub.com/rollup/rollup/pull/5190): test: add verifyAst type ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5196](https://togithub.com/rollup/rollup/pull/5196): chore(deps): update dependency rollup to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5197](https://togithub.com/rollup/rollup/pull/5197): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.0.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#402)
[Compare Source](https://togithub.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 ([#5178](https://togithub.com/rollup/rollup/issues/5178))
##### Pull Requests
- [#5178](https://togithub.com/rollup/rollup/pull/5178): Handle special characters before double underscores ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.0.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#401)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.0...v4.0.1)
*2023-10-06*
##### Bug Fixes
- Do not panic on trailing semicolons after class methods ([#5173](https://togithub.com/rollup/rollup/issues/5173))
- Add artifact for arm64 linux musl target ([#5176](https://togithub.com/rollup/rollup/issues/5176))
##### Pull Requests
- [#5172](https://togithub.com/rollup/rollup/pull/5172): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5173](https://togithub.com/rollup/rollup/pull/5173): fix: ignores empty statements in class body that is returned by SWC parser ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5176](https://togithub.com/rollup/rollup/pull/5176): Fix linux arm musl build ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.0.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#400)
[Compare Source](https://togithub.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 ([#5142](https://togithub.com/rollup/rollup/issues/5142))
- The browser build now relies on a WASM artifact that needs to be provided as well ([#5073](https://togithub.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 ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- The `INVALID_IMPORT_ASSERTION` error code has been replaced with `INVALID_IMPORT_ATTRIBUTE` ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#5165](https://togithub.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 ([#5163](https://togithub.com/rollup/rollup/issues/5163))
- File hashes will now use url-safe base64 encoded hashes ([#5155](https://togithub.com/rollup/rollup/issues/5155))
- The maximum hash length has been reduced to 22 characters ([#5155](https://togithub.com/rollup/rollup/issues/5155))
- The `RollupWarning` type has been removed in favor of the `RollupLog` type ([#5147](https://togithub.com/rollup/rollup/issues/5147))
##### Changes to Rollup Options
- Acorn plugins are no longer supported, the `acornInjectPlugins` option has been removed ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- The `acorn` option has been removed ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- `output.externalImportAssertions` has been deprecated in favor of `output.externalImportAttributes` ([#5073](https://togithub.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 ([#5143](https://togithub.com/rollup/rollup/issues/5143))
- Removed output options ([#5143](https://togithub.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` ([#5142](https://togithub.com/rollup/rollup/issues/5142))
- `this.parse` now only supports the `allowReturnOutsideFunction` option for now ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- Import assertions now use the [new import attribute AST structure](https://togithub.com/estree/estree/blob/master/experimental/import-attributes.md) ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- "assertions" have been replaced with "attributes" in various places of the plugin interface ([#5073](https://togithub.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 ([#5150](https://togithub.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 ([#5147](https://togithub.com/rollup/rollup/issues/5147))
- `this.moduleIds` has been removed from the plugin context: Use `this.getModuleIds()` instead ([#5143](https://togithub.com/rollup/rollup/issues/5143))
- The `hasModuleSideEffects` flag has been removed from the `ModuleInfo` returned by `this.getModuleInfo()`: Use `moduleSideEffects` on the `ModuleInfo` instead ([#5143](https://togithub.com/rollup/rollup/issues/5143))
##### Features
- Improve parsing speed by switching to a native SWC-based parser ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#5165](https://togithub.com/rollup/rollup/issues/5165))
- The parser is now exposed as a separate export `parseAst` ([#5169](https://togithub.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()` ([#5150](https://togithub.com/rollup/rollup/issues/5150))
##### Pull Requests
- [#5073](https://togithub.com/rollup/rollup/pull/5073): \[v4.0] Switch parser to SWC and introduce native/WASM code ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5142](https://togithub.com/rollup/rollup/pull/5142): \[v4.0] Set the default of skipSelf to true ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5143](https://togithub.com/rollup/rollup/pull/5143): \[v4.0] Remove deprecated features ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5144](https://togithub.com/rollup/rollup/pull/5144): \[v4.0] Imporve the performance of generating ast and rollup ast nodes ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5147](https://togithub.com/rollup/rollup/pull/5147): \[v4.0] Remove onwarn from normalized input options ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5150](https://togithub.com/rollup/rollup/pull/5150): \[v4.0] feat: Do not watch files anymore if their content is returned by the load hook ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5154](https://togithub.com/rollup/rollup/pull/5154): \[v4.0] Add parse option to allow return outside function ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5155](https://togithub.com/rollup/rollup/pull/5155): \[v4.0] feat: implement hashing content in Rust ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5157](https://togithub.com/rollup/rollup/pull/5157): \[v4.0] Handle empty exports ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5160](https://togithub.com/rollup/rollup/pull/5160): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5163](https://togithub.com/rollup/rollup/pull/5163): \[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5164](https://togithub.com/rollup/rollup/pull/5164): \[v4.0] fix: also strip BOM from code strings in JS ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5165](https://togithub.com/rollup/rollup/pull/5165): \[v4.0] warn for invalid annotations ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5168](https://togithub.com/rollup/rollup/pull/5168): \[v4.0] Ensure we support new import attribute "with" syntax ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5169](https://togithub.com/rollup/rollup/pull/5169): \[v4.0] Expose parser ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.29.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3294)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.3...v3.29.4)
*2023-09-28*
##### Bug Fixes
- Fix static analysis when an exported function uses callbacks ([#5158](https://togithub.com/rollup/rollup/issues/5158))
##### Pull Requests
- [#5158](https://togithub.com/rollup/rollup/pull/5158): Deoptimize all parameters when losing track of a function ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.29.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3293)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.2...v3.29.3)
*2023-09-24*
##### Bug Fixes
- Fix a bug where code was wrongly tree-shaken after mutating function parameters ([#5153](https://togithub.com/rollup/rollup/issues/5153))
##### Pull Requests
- [#5145](https://togithub.com/rollup/rollup/pull/5145): docs: improve the docs repl appearance in the light mode ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5148](https://togithub.com/rollup/rollup/pull/5148): chore(deps): update dependency [@vue/eslint-config-typescript](https://togithub.com/vue/eslint-config-typescript) to v12 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5149](https://togithub.com/rollup/rollup/pull/5149): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5153](https://togithub.com/rollup/rollup/pull/5153): Fully deoptimize first level path when deoptimizing nested parameter paths ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.29.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3292)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.1...v3.29.2)
*2023-09-15*
##### Bug Fixes
- Export `TreeshakingPreset` type ([#5131](https://togithub.com/rollup/rollup/issues/5131))
##### Pull Requests
- [#5131](https://togithub.com/rollup/rollup/pull/5131): fix: exports `TreeshakingPreset` ([@moltar](https://togithub.com/moltar))
- [#5134](https://togithub.com/rollup/rollup/pull/5134): docs: steps to enable symlinks on windows ([@thebanjomatic](https://togithub.com/thebanjomatic))
- [#5137](https://togithub.com/rollup/rollup/pull/5137): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.29.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3291)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.0...v3.29.1)
*2023-09-10*
##### Bug Fixes
- Fix time measurement of plugin hooks in watch mode ([#5114](https://togithub.com/rollup/rollup/issues/5114))
- Ensure accessing document.currentScript in import.meta.url returns correct results ([#5118](https://togithub.com/rollup/rollup/issues/5118))
##### Pull Requests
- [#5114](https://togithub.com/rollup/rollup/pull/5114): fix(perf): avoid superfluous timer wrappings in watch mode ([@ZhengLiu2825](https://togithub.com/ZhengLiu2825))
- [#5118](https://togithub.com/rollup/rollup/pull/5118): fix: access document.currentScript at the top level ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5125](https://togithub.com/rollup/rollup/pull/5125): chore(deps): update actions/checkout action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5126](https://togithub.com/rollup/rollup/pull/5126): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5129](https://togithub.com/rollup/rollup/pull/5129): re-enbale repl-artefacts workflow for rollup-swc branch ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.29.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3290)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.28.1...v3.29.0)
*2023-09-06*
##### Features
- Add output.sourcemapFileNames option ([#5105](https://togithub.com/rollup/rollup/issues/5105))
- Add generic type parameter for `api` to Plugin type ([#5112](https://togithub.com/rollup/rollup/issues/5112))
##### Bug Fixes
- Ensure mutations of CustomEvent details are tracked ([#5123](https://togithub.com/rollup/rollup/issues/5123))
##### Pull Requests
- [#5105](https://togithub.com/rollup/rollup/pull/5105): Added option to name sourcemap files, i.e. a output.sourcemapFileName… ([@atti187](https://togithub.com/atti187))
- [#5108](https://togithub.com/rollup/rollup/pull/5108): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5109](https://togithub.com/rollup/rollup/pull/5109): Docs: load full path of rollup.browser.js for Rollup V4 ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5112](https://togithub.com/rollup/rollup/pull/5112): feat(types): add generic type for plugin api ([@sxzz](https://togithub.com/sxzz))
- [#5115](https://togithub.com/rollup/rollup/pull/5115): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5123](https://togithub.com/rollup/rollup/pull/5123): Deoptimize custom event detail ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.28.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3281)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.28.0...v3.28.1)
*2023-08-22*
##### Bug Fixes
- Ensure external files with relative import paths outside the target are rendered correctly ([#5099](https://togithub.com/rollup/rollup/issues/5099))
##### Pull Requests
- [#5093](https://togithub.com/rollup/rollup/pull/5093): chore(deps): update dependency eslint-config-prettier to v9 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5094](https://togithub.com/rollup/rollup/pull/5094): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5099](https://togithub.com/rollup/rollup/pull/5099): Fix resolution of relative external files outside target directory ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5101](https://togithub.com/rollup/rollup/pull/5101): chore(deps): update dependency lint-staged to v14 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5102](https://togithub.com/rollup/rollup/pull/5102): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.28.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3280)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.2...v3.28.0)
*2023-08-09*
##### Features
- Add a new property `preliminaryFileName` to generated chunks containing the file name placeholder ([#5086](https://togithub.com/rollup/rollup/issues/5086))
- Improve performance of sourcemap generation by lazily decoding mappings ([#5087](https://togithub.com/rollup/rollup/issues/5087))
##### Bug Fixes
- Make the `code` property of rendered modules in the output readonly ([#5091](https://togithub.com/rollup/rollup/issues/5091))
##### Pull Requests
- [#5086](https://togithub.com/rollup/rollup/pull/5086): feat: add `preliminaryFileName` to `OutputChunk` ([@lsdsjy](https://togithub.com/lsdsjy))
- [#5087](https://togithub.com/rollup/rollup/pull/5087): perf(sourcemaps): add back lazy sourcemap decode and handling nullish mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))
- [#5091](https://togithub.com/rollup/rollup/pull/5091): fix: the type of RenderedModule.code is readonly ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.27.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3272)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.1...v3.27.2)
*2023-08-04*
##### Bug Fixes
- Revert sourcemap performance improvement for now as it causes issues with Vite ([#5075](https://togithub.com/rollup/rollup/issues/5075))
##### Pull Requests
- [#5075](https://togithub.com/rollup/rollup/pull/5075): Revert perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))
### [`v3.27.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3271)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.0...v3.27.1)
*2023-08-03*
##### Bug Fixes
- Improve performance when generating sourcemaps ([#5075](https://togithub.com/rollup/rollup/issues/5075))
##### Pull Requests
- [#5075](https://togithub.com/rollup/rollup/pull/5075): perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))
### [`v3.27.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3270)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.3...v3.27.0)
*2023-07-28*
##### Features
- Mark `Object.values` and `Object.entries` as pure if their argument does not contain getters ([#5072](https://togithub.com/rollup/rollup/issues/5072))
##### Pull Requests
- [#5070](https://togithub.com/rollup/rollup/pull/5070): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5071](https://togithub.com/rollup/rollup/pull/5071): docs(tutorial): change the .js extension to .mjs ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5072](https://togithub.com/rollup/rollup/pull/5072): Add known globals ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5078](https://togithub.com/rollup/rollup/pull/5078): chore(deps): update dependency [@vue/eslint-config-prettier](https://togithub.com/vue/eslint-config-prettier) to v8 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5079](https://togithub.com/rollup/rollup/pull/5079): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.26.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3263)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.2...v3.26.3)
*2023-07-17*
##### Bug Fixes
- Do not pass external modules to `manualChunks` to avoid breaking existing configs ([#5068](https://togithub.com/rollup/rollup/issues/5068))
##### Pull Requests
- [#5056](https://togithub.com/rollup/rollup/pull/5056): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5059](https://togithub.com/rollup/rollup/pull/5059): chore(config): migrate renovate config ([@renovate](https://togithub.com/renovate)\[bot])
- [#5064](https://togithub.com/rollup/rollup/pull/5064): chore(deps): update dependency prettier to v3 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5065](https://togithub.com/rollup/rollup/pull/5065): chore(deps): update typescript-eslint monorepo to v6 (major) ([@renovate](https://togithub.com/renovate)\[bot])
- [#5068](https://togithub.com/rollup/rollup/pull/5068): fix: don't pass external modules to the manualChunks function ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.26.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3262)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.1...v3.26.2)
*2023-07-06*
##### Bug Fixes
- Improve error handling when manual chunks would contain external modules ([#5050](https://togithub.com/rollup/rollup/issues/5050))
##### Pull Requests
- [#5050](https://togithub.com/rollup/rollup/pull/5050): fix: improve error for manualChunks' modules that are resolved as an external module ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.26.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3261)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.0...v3.26.1)
*2023-07-05*
##### Bug Fixes
- Support `hasOwnProperty` as exported name in CommonJS ([#5010](https://togithub.com/rollup/rollup/issues/5010))
- Properly reference browser types in package file ([#5051](https://togithub.com/rollup/rollup/issues/5051))
##### Pull Requests
- [#5010](https://togithub.com/rollup/rollup/pull/5010): safe hasOwnProperty call ([@LongTengDao](https://togithub.com/LongTengDao))
- [#5051](https://togithub.com/rollup/rollup/pull/5051): [@rollup/browser](https://togithub.com/rollup/browser): fix types export map entry ([@developit](https://togithub.com/developit))
### [`v3.26.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3260)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.3...v3.26.0)
*2023-06-30*
##### Features
- Add `--filterLogs` CLI flag and `ROLLUP_FILTER_LOGS` environment variable for log filtering ([#5035](https://togithub.com/rollup/rollup/issues/5035))
##### Pull Requests
- [#5035](https://togithub.com/rollup/rollup/pull/5035): Add ability to filter logs via CLI option or environment variable ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5049](https://togithub.com/rollup/rollup/pull/5049): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.25.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3253)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.2...v3.25.3)
*2023-06-26*
##### Bug Fixes
- Fix error when inlining dynamic imports that contain unused reexported variables ([#5047](https://togithub.com/rollup/rollup/issues/5047))
##### Pull Requests
- [#5047](https://togithub.com/rollup/rollup/pull/5047): Do not add tree-shaken variables to namespaces when inlining dynamic imports ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.25.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3252)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.1...v3.25.2)
*2023-06-24*
##### Bug Fixes
- Handle plugin errors where `code` is not a string ([#5042](https://togithub.com/rollup/rollup/issues/5042))
- Use current transformed source when generating code frames with positions in transform hooks ([#5045](https://togithub.com/rollup/rollup/issues/5045))
##### Pull Requests
- [#5038](https://togithub.com/rollup/rollup/pull/5038): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5040](https://togithub.com/rollup/rollup/pull/5040): Fix typo in index.md ([@vHeemstra](https://togithub.com/vHeemstra))
- [#5042](https://togithub.com/rollup/rollup/pull/5042): fix: a plugin error can contains numeric code ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5045](https://togithub.com/rollup/rollup/pull/5045): Fix `this.error` with `pos` in `transform` hook ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5046](https://togithub.com/rollup/rollup/pull/5046): chore(deps): update dependency locate-character to v3 ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.25.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3251)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.0...v3.25.1)
*2023-06-12*
##### Bug Fixes
- Respect `__NO_SIDE_EFFECTS__` for async functions ([#5031](https://togithub.com/rollup/rollup/issues/5031))
##### Pull Requests
- [#5031](https://togithub.com/rollup/rollup/pull/5031): fix: `__NO_SIDE_EFFECTS__` annotation for async function ([@antfu](https://togithub.com/antfu))
### [`v3.25.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3250)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.24.1...v3.25.0)
*2023-06-11*
##### Features
- Add `this.info` and `this.debug` plugin context logging functions ([#5026](https://togithub.com/rollup/rollup/issues/5026))
- Add `onLog` option to read, map and filter logs ([#5026](https://togithub.com/rollup/rollup/issues/5026))
- Add `logLevel` option to fully suppress logs by level ([#5026](https://togithub.com/rollup/rollup/issues/5026))
- Support function logs in `this.warn`, `this.info` and `this.debug` to avoid heavy computations based on log level ([#5026](https://togithub.com/rollup/rollup/issues/5026))
- Add `onLog` plugin hook to read, filter and map logs from plugins ([#5026](https://togithub.com/rollup/rollup/issues/5026))
##### Pull Requests
- [#5026](https://togithub.com/rollup/rollup/pull/5026): Add Logging API ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.24.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3241)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.24.0...v3.24.1)
*2023-06-10*
##### Bug Fixes
- Fix an issue where bundles with `@rollup/plugin-commonjs` were missing internal dependencies when code-splitting ([#5029](https://togithub.com/rollup/rollup/issues/5029))
- Do not use `process.exit(0)` in watch mode to avoid issues in embedded scenarios ([#5027](https://togithub.com/rollup/rollup/issues/5027))
##### Pull Requests
- [#5027](https://togithub.com/rollup/rollup/pull/5027): fix turborepo with rollup --watch ([@plumber-dhaval](https://togithub.com/plumber-dhaval))
- [#5028](https://togithub.com/rollup/rollup/pull/5028): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5029](https://togithub.com/rollup/rollup/pull/5029): fix: get right sideEffectModules ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.24.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3240)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.23.1...v3.24.0)
*2023-06-07*
##### Features
- Add new annotation `/* #__NO_SIDE_EFFECTS__ */` to mark function declarations as side effect free ([#5024](https://togithub.com/rollup/rollup/issues/5024))
##### Pull Requests
- [#5024](https://togithub.com/rollup/rollup/pull/5024): feat: support `#__NO_SIDE_EFFECTS__` annotation for function declaration ([@antfu](https://togithub.com/antfu))
### [`v3.23.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3231)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.23.0...v3.23.1)
*2023-06-04*
##### Bug Fixes
- Ensure the last segment of sourcemapBaseUrl is never omitted ([#5022](https://togithub.com/rollup/rollup/issues/5022))
##### Pull Requests
- [#5006](https://togithub.com/rollup/rollup/pull/5006): Better workflow caching ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5012](https://togithub.com/rollup/rollup/pull/5012): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5022](https://togithub.com/rollup/rollup/pull/5022): fix: add a trailing slash automatically for sourcemapBaseUrl ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5023](https://togithub.com/rollup/rollup/pull/5023): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.23.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3230)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.22.1...v3.23.0)
*2023-05-22*
##### Features
- Support emitting "prebuilt chunks" from plugins ([#4990](https://togithub.com/rollup/rollup/issues/4990))
##### Bug Fixes
- Mark Sets and Maps as pure when they receive an array literal as argument ([#5005](https://togithub.com/rollup/rollup/issues/5005))
##### Pull Requests
- [#4990](https://togithub.com/rollup/rollup/pull/4990): feat: this.emitFile support prebuilt-chunk type ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5005](https://togithub.com/rollup/rollup/pull/5005): feat: mark Set, Map, WeakSet and WeakMap with array arguments as pure ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.22.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3221)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.22.0...v3.22.1)
*2023-05-21*
##### Bug Fixes
- Remove force quit again as it caused some issues ([#5004](https://togithub.com/rollup/rollup/issues/5004))
##### Pull Requests
- [#5001](https://togithub.com/rollup/rollup/pull/5001): chore(deps): update dependency [@rollup/plugin-commonjs](https://togithub.com/rollup/plugin-commonjs) to v25 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5002](https://togithub.com/rollup/rollup/pull/5002): chore(deps): update dependency eslint-plugin-unicorn to v47 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5003](https://togithub.com/rollup/rollup/pull/5003): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5004](https://togithub.com/rollup/rollup/pull/5004): Do not force quit Rollup or close stdout ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.22.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3220)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.8...v3.22.0)
*2023-05-17*
##### Features
- Prevent empty non-facade chunks by merging them into other suitable chunks ([#4989](https://togithub.com/rollup/rollup/issues/4989))
- Avoid facade chunks in some situations involving reexports ([#4989](https://togithub.com/rollup/rollup/issues/4989))
- Improve algorithm for best merge target when using `experimentalMinChunkSize` to take tree-shaking into account ([#4989](https://togithub.com/rollup/rollup/issues/4989))
##### Bug Fixes
- Take side effects of external dependencies into account when merging chunks for `experimentalMinChunkSize` ([#4989](https://togithub.com/rollup/rollup/issues/4989))
##### Pull Requests
- [#4989](https://togithub.com/rollup/rollup/pull/4989): Prevent empty chunks and thoroughly improve experimentalMinChunkSize ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.21.8`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3218)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.7...v3.21.8)
*2023-05-16*
##### Bug Fixes
- Allow a namespace to properly contain itself as a named export ([#4991](https://togithub.com/rollup/rollup/issues/4991))
##### Pull Requests
- [#4991](https://togithub.com/rollup/rollup/pull/4991): Handle self-referencing namespaces ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.21.7`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3217)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.6...v3.21.7)
*2023-05-13*
##### Bug Fixes
- Show correct error on uncaught exceptions in watch mode ([#4987](https://togithub.com/rollup/rollup/issues/4987))
##### Pull Requests
- [#4987](https://togithub.com/rollup/rollup/pull/4987): Properly quit on uncaught exceptions ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4988](https://togithub.com/rollup/rollup/pull/4988): test: add options type for function tests ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.21.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3216)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.5...v3.21.6)
*2023-05-09*
##### Bug Fixes
- Ensure Rollup CLI prints everything to stdout before exiting ([#4980](https://togithub.com/rollup/rollup/issues/4980))
##### Pull Requests
- [#4980](https://togithub.com/rollup/rollup/pull/4980): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#4983](https://togithub.com/rollup/rollup/pull/4983): Prevent exit before stdout is drained ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.21.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3215)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.4...v3.21.5)
*2023-05-05*
##### Bug Fixes
- Keep all consecutive lines at the top of each module that start with a comment ([#4975](https://togithub.com/rollup/rollup/issues/4975))
- Ensure that declarations inside switch cases do not use the same scope as the discriminator ([#4979](https://togithub.com/rollup/rollup/issues/4979))
##### Pull Requests
- [#4975](https://togithub.com/rollup/rollup/pull/4975): Keep leading comments on consecutive lines ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4979](https://togithub.com/rollup/rollup/pull/4979): Use correct scope in switch statements ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.21.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3214)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.3...v3.21.4)
*2023-05-03*
##### Bug Fixes
- Resolve crash when shimming a missing export in an otherwise non-included module when preserving modules ([#4971](https://togithub.com/rollup/rollup/issues/4971))
##### Pull Requests
- [#4971](https://togithub.com/rollup/rollup/pull/4971): Handle shimming missing exports when preserving modules ([@lukastaegert
Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.
This PR contains the following updates:
^2.79.1
->^4.9.5
Release Notes
rollup/rollup (rollup)
### [`v4.9.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#495) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.4...v4.9.5) *2024-01-12* ##### Bug Fixes - Fix issue where on Windows, Rollup would not load due to problems with the MSVC executable ([#5335](https://togithub.com/rollup/rollup/issues/5335)) ##### Pull Requests - [#5334](https://togithub.com/rollup/rollup/pull/5334): Fix typo in commondir.ts ([@akiomik](https://togithub.com/akiomik)) - [#5335](https://togithub.com/rollup/rollup/pull/5335): build: static link msvc runtime on Windows x64 platform ([@Brooooooklyn](https://togithub.com/Brooooooklyn)) - [#5338](https://togithub.com/rollup/rollup/pull/5338): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.9.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#494) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.3...v4.9.4) *2024-01-06* ##### Bug Fixes - Use quotes for keys in namespaces that are only numbers but are not valid integers ([#5328](https://togithub.com/rollup/rollup/issues/5328)) - Allow to have comments between pure annotations and the annoted node ([#5332](https://togithub.com/rollup/rollup/issues/5332)) ##### Pull Requests - [#5328](https://togithub.com/rollup/rollup/pull/5328): Correctly handling number key ([@LongTengDao](https://togithub.com/LongTengDao)) - [#5332](https://togithub.com/rollup/rollup/pull/5332): Handle pure annotations that are separated by a comment ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.9.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#493) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.2...v4.9.3) *2024-01-05* ##### Bug Fixes - Support `__proto__` as export/import name ([#5313](https://togithub.com/rollup/rollup/issues/5313)) - Use ESTree AST type over custom type in user-facing types ([#5323](https://togithub.com/rollup/rollup/issues/5323)) ##### Pull Requests - [#5313](https://togithub.com/rollup/rollup/pull/5313): Correctly handling **proto** export as module object key ([@LongTengDao](https://togithub.com/LongTengDao)) - [#5323](https://togithub.com/rollup/rollup/pull/5323): fix: Add estree.Program type to rollup.d.ts ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5326](https://togithub.com/rollup/rollup/pull/5326): docs: fix grammar ([@gigabites19](https://togithub.com/gigabites19)) - [#5329](https://togithub.com/rollup/rollup/pull/5329): chore(deps): update dependency [@vue/eslint-config-prettier](https://togithub.com/vue/eslint-config-prettier) to v9 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5330](https://togithub.com/rollup/rollup/pull/5330): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.9.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#492) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.1...v4.9.2) *2023-12-30* ##### Bug Fixes - Extend support for arbitrary namespace identifiers in SystemJS ([#5321](https://togithub.com/rollup/rollup/issues/5321)) - Do not wrongly flag functions without side effects as side effects if moduleSideEffects is false ([#5322](https://togithub.com/rollup/rollup/issues/5322)) ##### Pull Requests - [#5305](https://togithub.com/rollup/rollup/pull/5305): Add JSDoc types to internal scripts ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5309](https://togithub.com/rollup/rollup/pull/5309): chore(deps): update actions/download-artifact action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5311](https://togithub.com/rollup/rollup/pull/5311): chode: add node badge ([@btea](https://togithub.com/btea)) - [#5312](https://togithub.com/rollup/rollup/pull/5312): Remove rollup-plugin-thatworks from devDeps ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5318](https://togithub.com/rollup/rollup/pull/5318): chore(deps): update dependency eslint-plugin-unicorn to v50 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5319](https://togithub.com/rollup/rollup/pull/5319): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5321](https://togithub.com/rollup/rollup/pull/5321): Handle arbitrary namespace identifiers in some SystemJS scenarios ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5322](https://togithub.com/rollup/rollup/pull/5322): Do not handle declarations in modules without side effects as TDZ ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.9.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#491) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.0...v4.9.1) *2023-12-17* ##### Bug Fixes - Fix an issue where break statements could include the wrong label ([#5297](https://togithub.com/rollup/rollup/issues/5297)) ##### Pull Requests - [#5297](https://togithub.com/rollup/rollup/pull/5297): fix: use a new includedLabels in the body of the LabeledStatement ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5300](https://togithub.com/rollup/rollup/pull/5300): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.9.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#490) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.8.0...v4.9.0) *2023-12-13* ##### Features - Fully support arbitrary strings as import and export identifiers ([#5298](https://togithub.com/rollup/rollup/issues/5298)) ##### Pull Requests - [#5296](https://togithub.com/rollup/rollup/pull/5296): Do not assume setTimeout return type ([@kapouer](https://togithub.com/kapouer)) - [#5298](https://togithub.com/rollup/rollup/pull/5298): Fully support arbitrary module namespace identifiers for all formats ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.8.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#480) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.7.0...v4.8.0) *2023-12-11* ##### Features - Improve `experimentalMinChunkSize` to take already loaded modules from dynamic imports into account ([#5294](https://togithub.com/rollup/rollup/issues/5294)) ##### Pull Requests - [#5294](https://togithub.com/rollup/rollup/pull/5294): Find more merge targets for experimentalMinChunkSize ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.7.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#470) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.6.1...v4.7.0) *2023-12-08* ##### Features - Add build for Linux riscv64 architecture ([#5288](https://togithub.com/rollup/rollup/issues/5288)) ##### Bug Fixes - Improve error message when native Windows build does not start ([#5284](https://togithub.com/rollup/rollup/issues/5284)) ##### Pull Requests - [#5278](https://togithub.com/rollup/rollup/pull/5278): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5281](https://togithub.com/rollup/rollup/pull/5281): Add logs and experimentalLogSideEffects to REPL ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5284](https://togithub.com/rollup/rollup/pull/5284): Add friendly error for missing MSVC redistributable ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5285](https://togithub.com/rollup/rollup/pull/5285): chore(deps): update dependency vite to v5.0.5 \[security] ([@renovate](https://togithub.com/renovate)\[bot]) - [#5288](https://togithub.com/rollup/rollup/pull/5288): Add support for linux riscv64 gnu ([@kxxt](https://togithub.com/kxxt)) - [#5290](https://togithub.com/rollup/rollup/pull/5290): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.6.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#461) [Compare Source](https://togithub.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 ([#5276](https://togithub.com/rollup/rollup/issues/5276)) ##### Pull Requests - [#5275](https://togithub.com/rollup/rollup/pull/5275): Add TNG as special sponsor ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5276](https://togithub.com/rollup/rollup/pull/5276): Allow to redeclare parameters multiple times in nested scopes ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.6.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#460) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.5.2...v4.6.0) *2023-11-26* ##### Features - Allow `this.addWatchFile` in all plugin hooks ([#5270](https://togithub.com/rollup/rollup/issues/5270)) ##### Bug Fixes - Show helpful error when native binaries are not installed due to an `npm` issue ([#5267](https://togithub.com/rollup/rollup/issues/5267)) - Do not access `this` context in `this.addWatchFile` so it does not need to be bound when passed around ([#5270](https://togithub.com/rollup/rollup/issues/5270)) ##### Pull Requests - [#5267](https://togithub.com/rollup/rollup/pull/5267): Add friendly error for npm bug ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5270](https://togithub.com/rollup/rollup/pull/5270): Allow this.addWatchFile in all hooks ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5272](https://togithub.com/rollup/rollup/pull/5272): Debug deployed graphs ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.5.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#452) [Compare Source](https://togithub.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 ([#5268](https://togithub.com/rollup/rollup/issues/5268)) ##### Pull Requests - [#5268](https://togithub.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5269](https://togithub.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.5.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#451) [Compare Source](https://togithub.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 ([#5262](https://togithub.com/rollup/rollup/issues/5262)) ##### Pull Requests - [#5257](https://togithub.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5262](https://togithub.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.5.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#450) [Compare Source](https://togithub.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 ([#5255](https://togithub.com/rollup/rollup/issues/5255)) ##### Pull Requests - [#5251](https://togithub.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page ([@lhapaipai](https://togithub.com/lhapaipai)) - [#5253](https://togithub.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5255](https://togithub.com/rollup/rollup/pull/5255): Error for armv7 musl build ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.4.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#441) [Compare Source](https://togithub.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 ([#5248](https://togithub.com/rollup/rollup/issues/5248)) ##### Pull Requests - [#5248](https://togithub.com/rollup/rollup/pull/5248): Allow functions to redeclare vars and functions in function scopes ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.4.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#440) [Compare Source](https://togithub.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. ([#5207](https://togithub.com/rollup/rollup/issues/5207)) ##### Bug Fixes - Show proper error when an entry exports non-existing bindings ([#5207](https://togithub.com/rollup/rollup/issues/5207)) ##### Pull Requests - [#5207](https://togithub.com/rollup/rollup/pull/5207): perf: run lint while constructing nodes ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.3.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#431) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.3.0...v4.3.1) *2023-11-11* ##### Bug Fixes - Fix rename error when handling errors in watch mode ([#5240](https://togithub.com/rollup/rollup/issues/5240)) - Prevent warning when using `--forceExit` ([#5245](https://togithub.com/rollup/rollup/issues/5245)) ##### Pull Requests - [#5240](https://togithub.com/rollup/rollup/pull/5240): fix: allow the name of Rollup Error to be modified ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5243](https://togithub.com/rollup/rollup/pull/5243): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5245](https://togithub.com/rollup/rollup/pull/5245): Ensure --forceExit works without warning ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.3.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#430) [Compare Source](https://togithub.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 ([#5195](https://togithub.com/rollup/rollup/issues/5195)) ##### Bug Fixes - Properly catch errors when removing a temporary config file fails ([#5198](https://togithub.com/rollup/rollup/issues/5198)) ##### Pull Requests - [#5195](https://togithub.com/rollup/rollup/pull/5195): Add `forceExit` CLI flag ([@raphael-theriault-swi](https://togithub.com/raphael-theriault-swi)) - [#5198](https://togithub.com/rollup/rollup/pull/5198): fix: prevent `ENOENT` error on temp config removal ([@jzempel](https://togithub.com/jzempel)) - [#5237](https://togithub.com/rollup/rollup/pull/5237): chore: remove unused files and deps ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5238](https://togithub.com/rollup/rollup/pull/5238): chore(deps): update dependency eslint-plugin-unicorn to v49 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5239](https://togithub.com/rollup/rollup/pull/5239): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.2.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#420) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.6...v4.2.0) *2023-10-31* ##### Features - Run parsing in multiple threads and introduce `parseAstAsync` helper function ([#5202](https://togithub.com/rollup/rollup/issues/5202)) ##### Pull Requests - [#5202](https://togithub.com/rollup/rollup/pull/5202): perf: introduce `parseAstAsync` and parallelize parsing AST ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.1.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#416) [Compare Source](https://togithub.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 ([#5231](https://togithub.com/rollup/rollup/issues/5231)) ##### Pull Requests - [#5228](https://togithub.com/rollup/rollup/pull/5228): build: ensure rust toolchain components for linting are installed ([@jerome-benoit](https://togithub.com/jerome-benoit)) - [#5231](https://togithub.com/rollup/rollup/pull/5231): Render emtpy block comments after tree-shaken statements ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5232](https://togithub.com/rollup/rollup/pull/5232): Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.1.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#415) [Compare Source](https://togithub.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 ([#5220](https://togithub.com/rollup/rollup/issues/5220)) ##### Pull Requests - [#5209](https://togithub.com/rollup/rollup/pull/5209): Document Vite workaround for browser build ([@curran](https://togithub.com/curran)) - [#5215](https://togithub.com/rollup/rollup/pull/5215): chore(deps): update dependency lint-staged to v15 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5216](https://togithub.com/rollup/rollup/pull/5216): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5218](https://togithub.com/rollup/rollup/pull/5218): Update license plugin ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5219](https://togithub.com/rollup/rollup/pull/5219): Fix error highlight in REPL ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5220](https://togithub.com/rollup/rollup/pull/5220): Fix race condition when emitting implicitly dependent entries ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5224](https://togithub.com/rollup/rollup/pull/5224): chore(deps): update actions/setup-node action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5225](https://togithub.com/rollup/rollup/pull/5225): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.1.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#414) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.3...v4.1.4) *2023-10-16* ##### Bug Fixes - Reduce sizes [@rollup/browser](https://togithub.com/rollup/browser) and [@rollup/wasm-node](https://togithub.com/rollup/wasm-node) WASM artifacts ([#5204](https://togithub.com/rollup/rollup/issues/5204)) ##### Pull Requests - [#5204](https://togithub.com/rollup/rollup/pull/5204): perf: shrink wasm size by avoid importing browserslist ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.1.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#413) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.1...v4.1.3) *2023-10-15* ##### Bug Fixes - Fix WASM build as hash function was not exported ([#5203](https://togithub.com/rollup/rollup/issues/5203)) ##### Pull Requests - [#5203](https://togithub.com/rollup/rollup/pull/5203): fix: export xxhashBase64Url from wasm ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.1.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#411) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.0...v4.1.1) *2023-10-15* ##### Bug Fixes - Improve Node parsing performance ([#5201](https://togithub.com/rollup/rollup/issues/5201)) ##### Pull Requests - [#5201](https://togithub.com/rollup/rollup/pull/5201): perf: use mimalloc for bindings_napi ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.1.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#410) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.2...v4.1.0) *2023-10-14* ##### Features - Reduce memory usage of Rollup builds ([#5133](https://togithub.com/rollup/rollup/issues/5133)) ##### Pull Requests - [#5133](https://togithub.com/rollup/rollup/pull/5133): perf: reducing ast node memory overhead ([@thebanjomatic](https://togithub.com/thebanjomatic)) - [#5177](https://togithub.com/rollup/rollup/pull/5177): chore: explicitly set rust toolchain channel ([@cijiugechu](https://togithub.com/cijiugechu)) - [#5179](https://togithub.com/rollup/rollup/pull/5179): Update migration guide for Rollup 4 ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5180](https://togithub.com/rollup/rollup/pull/5180): Resolve clippy errors ([@cijiugechu](https://togithub.com/cijiugechu)) - [#5183](https://togithub.com/rollup/rollup/pull/5183): Add clippy to pipeline and fix remaining issues ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5184](https://togithub.com/rollup/rollup/pull/5184): docs: fix code example for `onLog` ([@tjenkinson](https://togithub.com/tjenkinson)) - [#5186](https://togithub.com/rollup/rollup/pull/5186): Improve wording for native artifacts in migration guide ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5190](https://togithub.com/rollup/rollup/pull/5190): test: add verifyAst type ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5196](https://togithub.com/rollup/rollup/pull/5196): chore(deps): update dependency rollup to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5197](https://togithub.com/rollup/rollup/pull/5197): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.0.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#402) [Compare Source](https://togithub.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 ([#5178](https://togithub.com/rollup/rollup/issues/5178)) ##### Pull Requests - [#5178](https://togithub.com/rollup/rollup/pull/5178): Handle special characters before double underscores ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.0.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#401) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.0...v4.0.1) *2023-10-06* ##### Bug Fixes - Do not panic on trailing semicolons after class methods ([#5173](https://togithub.com/rollup/rollup/issues/5173)) - Add artifact for arm64 linux musl target ([#5176](https://togithub.com/rollup/rollup/issues/5176)) ##### Pull Requests - [#5172](https://togithub.com/rollup/rollup/pull/5172): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5173](https://togithub.com/rollup/rollup/pull/5173): fix: ignores empty statements in class body that is returned by SWC parser ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5176](https://togithub.com/rollup/rollup/pull/5176): Fix linux arm musl build ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.0.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#400) [Compare Source](https://togithub.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 ([#5142](https://togithub.com/rollup/rollup/issues/5142)) - The browser build now relies on a WASM artifact that needs to be provided as well ([#5073](https://togithub.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 ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - The `INVALID_IMPORT_ASSERTION` error code has been replaced with `INVALID_IMPORT_ATTRIBUTE` ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#5165](https://togithub.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 ([#5163](https://togithub.com/rollup/rollup/issues/5163)) - File hashes will now use url-safe base64 encoded hashes ([#5155](https://togithub.com/rollup/rollup/issues/5155)) - The maximum hash length has been reduced to 22 characters ([#5155](https://togithub.com/rollup/rollup/issues/5155)) - The `RollupWarning` type has been removed in favor of the `RollupLog` type ([#5147](https://togithub.com/rollup/rollup/issues/5147)) ##### Changes to Rollup Options - Acorn plugins are no longer supported, the `acornInjectPlugins` option has been removed ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - The `acorn` option has been removed ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - `output.externalImportAssertions` has been deprecated in favor of `output.externalImportAttributes` ([#5073](https://togithub.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 ([#5143](https://togithub.com/rollup/rollup/issues/5143)) - Removed output options ([#5143](https://togithub.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` ([#5142](https://togithub.com/rollup/rollup/issues/5142)) - `this.parse` now only supports the `allowReturnOutsideFunction` option for now ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - Import assertions now use the [new import attribute AST structure](https://togithub.com/estree/estree/blob/master/experimental/import-attributes.md) ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - "assertions" have been replaced with "attributes" in various places of the plugin interface ([#5073](https://togithub.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 ([#5150](https://togithub.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 ([#5147](https://togithub.com/rollup/rollup/issues/5147)) - `this.moduleIds` has been removed from the plugin context: Use `this.getModuleIds()` instead ([#5143](https://togithub.com/rollup/rollup/issues/5143)) - The `hasModuleSideEffects` flag has been removed from the `ModuleInfo` returned by `this.getModuleInfo()`: Use `moduleSideEffects` on the `ModuleInfo` instead ([#5143](https://togithub.com/rollup/rollup/issues/5143)) ##### Features - Improve parsing speed by switching to a native SWC-based parser ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#5165](https://togithub.com/rollup/rollup/issues/5165)) - The parser is now exposed as a separate export `parseAst` ([#5169](https://togithub.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()` ([#5150](https://togithub.com/rollup/rollup/issues/5150)) ##### Pull Requests - [#5073](https://togithub.com/rollup/rollup/pull/5073): \[v4.0] Switch parser to SWC and introduce native/WASM code ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5142](https://togithub.com/rollup/rollup/pull/5142): \[v4.0] Set the default of skipSelf to true ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5143](https://togithub.com/rollup/rollup/pull/5143): \[v4.0] Remove deprecated features ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5144](https://togithub.com/rollup/rollup/pull/5144): \[v4.0] Imporve the performance of generating ast and rollup ast nodes ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5147](https://togithub.com/rollup/rollup/pull/5147): \[v4.0] Remove onwarn from normalized input options ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5150](https://togithub.com/rollup/rollup/pull/5150): \[v4.0] feat: Do not watch files anymore if their content is returned by the load hook ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5154](https://togithub.com/rollup/rollup/pull/5154): \[v4.0] Add parse option to allow return outside function ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5155](https://togithub.com/rollup/rollup/pull/5155): \[v4.0] feat: implement hashing content in Rust ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5157](https://togithub.com/rollup/rollup/pull/5157): \[v4.0] Handle empty exports ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5160](https://togithub.com/rollup/rollup/pull/5160): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5163](https://togithub.com/rollup/rollup/pull/5163): \[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5164](https://togithub.com/rollup/rollup/pull/5164): \[v4.0] fix: also strip BOM from code strings in JS ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5165](https://togithub.com/rollup/rollup/pull/5165): \[v4.0] warn for invalid annotations ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5168](https://togithub.com/rollup/rollup/pull/5168): \[v4.0] Ensure we support new import attribute "with" syntax ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5169](https://togithub.com/rollup/rollup/pull/5169): \[v4.0] Expose parser ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.29.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3294) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.3...v3.29.4) *2023-09-28* ##### Bug Fixes - Fix static analysis when an exported function uses callbacks ([#5158](https://togithub.com/rollup/rollup/issues/5158)) ##### Pull Requests - [#5158](https://togithub.com/rollup/rollup/pull/5158): Deoptimize all parameters when losing track of a function ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.29.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3293) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.2...v3.29.3) *2023-09-24* ##### Bug Fixes - Fix a bug where code was wrongly tree-shaken after mutating function parameters ([#5153](https://togithub.com/rollup/rollup/issues/5153)) ##### Pull Requests - [#5145](https://togithub.com/rollup/rollup/pull/5145): docs: improve the docs repl appearance in the light mode ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5148](https://togithub.com/rollup/rollup/pull/5148): chore(deps): update dependency [@vue/eslint-config-typescript](https://togithub.com/vue/eslint-config-typescript) to v12 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5149](https://togithub.com/rollup/rollup/pull/5149): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5153](https://togithub.com/rollup/rollup/pull/5153): Fully deoptimize first level path when deoptimizing nested parameter paths ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.29.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3292) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.1...v3.29.2) *2023-09-15* ##### Bug Fixes - Export `TreeshakingPreset` type ([#5131](https://togithub.com/rollup/rollup/issues/5131)) ##### Pull Requests - [#5131](https://togithub.com/rollup/rollup/pull/5131): fix: exports `TreeshakingPreset` ([@moltar](https://togithub.com/moltar)) - [#5134](https://togithub.com/rollup/rollup/pull/5134): docs: steps to enable symlinks on windows ([@thebanjomatic](https://togithub.com/thebanjomatic)) - [#5137](https://togithub.com/rollup/rollup/pull/5137): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.29.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3291) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.0...v3.29.1) *2023-09-10* ##### Bug Fixes - Fix time measurement of plugin hooks in watch mode ([#5114](https://togithub.com/rollup/rollup/issues/5114)) - Ensure accessing document.currentScript in import.meta.url returns correct results ([#5118](https://togithub.com/rollup/rollup/issues/5118)) ##### Pull Requests - [#5114](https://togithub.com/rollup/rollup/pull/5114): fix(perf): avoid superfluous timer wrappings in watch mode ([@ZhengLiu2825](https://togithub.com/ZhengLiu2825)) - [#5118](https://togithub.com/rollup/rollup/pull/5118): fix: access document.currentScript at the top level ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5125](https://togithub.com/rollup/rollup/pull/5125): chore(deps): update actions/checkout action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5126](https://togithub.com/rollup/rollup/pull/5126): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5129](https://togithub.com/rollup/rollup/pull/5129): re-enbale repl-artefacts workflow for rollup-swc branch ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.29.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3290) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.28.1...v3.29.0) *2023-09-06* ##### Features - Add output.sourcemapFileNames option ([#5105](https://togithub.com/rollup/rollup/issues/5105)) - Add generic type parameter for `api` to Plugin type ([#5112](https://togithub.com/rollup/rollup/issues/5112)) ##### Bug Fixes - Ensure mutations of CustomEvent details are tracked ([#5123](https://togithub.com/rollup/rollup/issues/5123)) ##### Pull Requests - [#5105](https://togithub.com/rollup/rollup/pull/5105): Added option to name sourcemap files, i.e. a output.sourcemapFileName… ([@atti187](https://togithub.com/atti187)) - [#5108](https://togithub.com/rollup/rollup/pull/5108): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5109](https://togithub.com/rollup/rollup/pull/5109): Docs: load full path of rollup.browser.js for Rollup V4 ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5112](https://togithub.com/rollup/rollup/pull/5112): feat(types): add generic type for plugin api ([@sxzz](https://togithub.com/sxzz)) - [#5115](https://togithub.com/rollup/rollup/pull/5115): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5123](https://togithub.com/rollup/rollup/pull/5123): Deoptimize custom event detail ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.28.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3281) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.28.0...v3.28.1) *2023-08-22* ##### Bug Fixes - Ensure external files with relative import paths outside the target are rendered correctly ([#5099](https://togithub.com/rollup/rollup/issues/5099)) ##### Pull Requests - [#5093](https://togithub.com/rollup/rollup/pull/5093): chore(deps): update dependency eslint-config-prettier to v9 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5094](https://togithub.com/rollup/rollup/pull/5094): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5099](https://togithub.com/rollup/rollup/pull/5099): Fix resolution of relative external files outside target directory ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5101](https://togithub.com/rollup/rollup/pull/5101): chore(deps): update dependency lint-staged to v14 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5102](https://togithub.com/rollup/rollup/pull/5102): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.28.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3280) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.2...v3.28.0) *2023-08-09* ##### Features - Add a new property `preliminaryFileName` to generated chunks containing the file name placeholder ([#5086](https://togithub.com/rollup/rollup/issues/5086)) - Improve performance of sourcemap generation by lazily decoding mappings ([#5087](https://togithub.com/rollup/rollup/issues/5087)) ##### Bug Fixes - Make the `code` property of rendered modules in the output readonly ([#5091](https://togithub.com/rollup/rollup/issues/5091)) ##### Pull Requests - [#5086](https://togithub.com/rollup/rollup/pull/5086): feat: add `preliminaryFileName` to `OutputChunk` ([@lsdsjy](https://togithub.com/lsdsjy)) - [#5087](https://togithub.com/rollup/rollup/pull/5087): perf(sourcemaps): add back lazy sourcemap decode and handling nullish mappings ([@thebanjomatic](https://togithub.com/thebanjomatic)) - [#5091](https://togithub.com/rollup/rollup/pull/5091): fix: the type of RenderedModule.code is readonly ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.27.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3272) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.1...v3.27.2) *2023-08-04* ##### Bug Fixes - Revert sourcemap performance improvement for now as it causes issues with Vite ([#5075](https://togithub.com/rollup/rollup/issues/5075)) ##### Pull Requests - [#5075](https://togithub.com/rollup/rollup/pull/5075): Revert perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic)) ### [`v3.27.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3271) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.0...v3.27.1) *2023-08-03* ##### Bug Fixes - Improve performance when generating sourcemaps ([#5075](https://togithub.com/rollup/rollup/issues/5075)) ##### Pull Requests - [#5075](https://togithub.com/rollup/rollup/pull/5075): perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic)) ### [`v3.27.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3270) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.3...v3.27.0) *2023-07-28* ##### Features - Mark `Object.values` and `Object.entries` as pure if their argument does not contain getters ([#5072](https://togithub.com/rollup/rollup/issues/5072)) ##### Pull Requests - [#5070](https://togithub.com/rollup/rollup/pull/5070): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5071](https://togithub.com/rollup/rollup/pull/5071): docs(tutorial): change the .js extension to .mjs ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5072](https://togithub.com/rollup/rollup/pull/5072): Add known globals ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5078](https://togithub.com/rollup/rollup/pull/5078): chore(deps): update dependency [@vue/eslint-config-prettier](https://togithub.com/vue/eslint-config-prettier) to v8 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5079](https://togithub.com/rollup/rollup/pull/5079): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.26.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3263) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.2...v3.26.3) *2023-07-17* ##### Bug Fixes - Do not pass external modules to `manualChunks` to avoid breaking existing configs ([#5068](https://togithub.com/rollup/rollup/issues/5068)) ##### Pull Requests - [#5056](https://togithub.com/rollup/rollup/pull/5056): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5059](https://togithub.com/rollup/rollup/pull/5059): chore(config): migrate renovate config ([@renovate](https://togithub.com/renovate)\[bot]) - [#5064](https://togithub.com/rollup/rollup/pull/5064): chore(deps): update dependency prettier to v3 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5065](https://togithub.com/rollup/rollup/pull/5065): chore(deps): update typescript-eslint monorepo to v6 (major) ([@renovate](https://togithub.com/renovate)\[bot]) - [#5068](https://togithub.com/rollup/rollup/pull/5068): fix: don't pass external modules to the manualChunks function ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.26.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3262) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.1...v3.26.2) *2023-07-06* ##### Bug Fixes - Improve error handling when manual chunks would contain external modules ([#5050](https://togithub.com/rollup/rollup/issues/5050)) ##### Pull Requests - [#5050](https://togithub.com/rollup/rollup/pull/5050): fix: improve error for manualChunks' modules that are resolved as an external module ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.26.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3261) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.0...v3.26.1) *2023-07-05* ##### Bug Fixes - Support `hasOwnProperty` as exported name in CommonJS ([#5010](https://togithub.com/rollup/rollup/issues/5010)) - Properly reference browser types in package file ([#5051](https://togithub.com/rollup/rollup/issues/5051)) ##### Pull Requests - [#5010](https://togithub.com/rollup/rollup/pull/5010): safe hasOwnProperty call ([@LongTengDao](https://togithub.com/LongTengDao)) - [#5051](https://togithub.com/rollup/rollup/pull/5051): [@rollup/browser](https://togithub.com/rollup/browser): fix types export map entry ([@developit](https://togithub.com/developit)) ### [`v3.26.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3260) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.3...v3.26.0) *2023-06-30* ##### Features - Add `--filterLogs` CLI flag and `ROLLUP_FILTER_LOGS` environment variable for log filtering ([#5035](https://togithub.com/rollup/rollup/issues/5035)) ##### Pull Requests - [#5035](https://togithub.com/rollup/rollup/pull/5035): Add ability to filter logs via CLI option or environment variable ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5049](https://togithub.com/rollup/rollup/pull/5049): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.25.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3253) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.2...v3.25.3) *2023-06-26* ##### Bug Fixes - Fix error when inlining dynamic imports that contain unused reexported variables ([#5047](https://togithub.com/rollup/rollup/issues/5047)) ##### Pull Requests - [#5047](https://togithub.com/rollup/rollup/pull/5047): Do not add tree-shaken variables to namespaces when inlining dynamic imports ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.25.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3252) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.1...v3.25.2) *2023-06-24* ##### Bug Fixes - Handle plugin errors where `code` is not a string ([#5042](https://togithub.com/rollup/rollup/issues/5042)) - Use current transformed source when generating code frames with positions in transform hooks ([#5045](https://togithub.com/rollup/rollup/issues/5045)) ##### Pull Requests - [#5038](https://togithub.com/rollup/rollup/pull/5038): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5040](https://togithub.com/rollup/rollup/pull/5040): Fix typo in index.md ([@vHeemstra](https://togithub.com/vHeemstra)) - [#5042](https://togithub.com/rollup/rollup/pull/5042): fix: a plugin error can contains numeric code ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5045](https://togithub.com/rollup/rollup/pull/5045): Fix `this.error` with `pos` in `transform` hook ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5046](https://togithub.com/rollup/rollup/pull/5046): chore(deps): update dependency locate-character to v3 ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.25.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3251) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.0...v3.25.1) *2023-06-12* ##### Bug Fixes - Respect `__NO_SIDE_EFFECTS__` for async functions ([#5031](https://togithub.com/rollup/rollup/issues/5031)) ##### Pull Requests - [#5031](https://togithub.com/rollup/rollup/pull/5031): fix: `__NO_SIDE_EFFECTS__` annotation for async function ([@antfu](https://togithub.com/antfu)) ### [`v3.25.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3250) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.24.1...v3.25.0) *2023-06-11* ##### Features - Add `this.info` and `this.debug` plugin context logging functions ([#5026](https://togithub.com/rollup/rollup/issues/5026)) - Add `onLog` option to read, map and filter logs ([#5026](https://togithub.com/rollup/rollup/issues/5026)) - Add `logLevel` option to fully suppress logs by level ([#5026](https://togithub.com/rollup/rollup/issues/5026)) - Support function logs in `this.warn`, `this.info` and `this.debug` to avoid heavy computations based on log level ([#5026](https://togithub.com/rollup/rollup/issues/5026)) - Add `onLog` plugin hook to read, filter and map logs from plugins ([#5026](https://togithub.com/rollup/rollup/issues/5026)) ##### Pull Requests - [#5026](https://togithub.com/rollup/rollup/pull/5026): Add Logging API ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.24.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3241) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.24.0...v3.24.1) *2023-06-10* ##### Bug Fixes - Fix an issue where bundles with `@rollup/plugin-commonjs` were missing internal dependencies when code-splitting ([#5029](https://togithub.com/rollup/rollup/issues/5029)) - Do not use `process.exit(0)` in watch mode to avoid issues in embedded scenarios ([#5027](https://togithub.com/rollup/rollup/issues/5027)) ##### Pull Requests - [#5027](https://togithub.com/rollup/rollup/pull/5027): fix turborepo with rollup --watch ([@plumber-dhaval](https://togithub.com/plumber-dhaval)) - [#5028](https://togithub.com/rollup/rollup/pull/5028): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5029](https://togithub.com/rollup/rollup/pull/5029): fix: get right sideEffectModules ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.24.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3240) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.23.1...v3.24.0) *2023-06-07* ##### Features - Add new annotation `/* #__NO_SIDE_EFFECTS__ */` to mark function declarations as side effect free ([#5024](https://togithub.com/rollup/rollup/issues/5024)) ##### Pull Requests - [#5024](https://togithub.com/rollup/rollup/pull/5024): feat: support `#__NO_SIDE_EFFECTS__` annotation for function declaration ([@antfu](https://togithub.com/antfu)) ### [`v3.23.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3231) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.23.0...v3.23.1) *2023-06-04* ##### Bug Fixes - Ensure the last segment of sourcemapBaseUrl is never omitted ([#5022](https://togithub.com/rollup/rollup/issues/5022)) ##### Pull Requests - [#5006](https://togithub.com/rollup/rollup/pull/5006): Better workflow caching ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5012](https://togithub.com/rollup/rollup/pull/5012): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5022](https://togithub.com/rollup/rollup/pull/5022): fix: add a trailing slash automatically for sourcemapBaseUrl ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5023](https://togithub.com/rollup/rollup/pull/5023): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.23.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3230) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.22.1...v3.23.0) *2023-05-22* ##### Features - Support emitting "prebuilt chunks" from plugins ([#4990](https://togithub.com/rollup/rollup/issues/4990)) ##### Bug Fixes - Mark Sets and Maps as pure when they receive an array literal as argument ([#5005](https://togithub.com/rollup/rollup/issues/5005)) ##### Pull Requests - [#4990](https://togithub.com/rollup/rollup/pull/4990): feat: this.emitFile support prebuilt-chunk type ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5005](https://togithub.com/rollup/rollup/pull/5005): feat: mark Set, Map, WeakSet and WeakMap with array arguments as pure ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.22.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3221) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.22.0...v3.22.1) *2023-05-21* ##### Bug Fixes - Remove force quit again as it caused some issues ([#5004](https://togithub.com/rollup/rollup/issues/5004)) ##### Pull Requests - [#5001](https://togithub.com/rollup/rollup/pull/5001): chore(deps): update dependency [@rollup/plugin-commonjs](https://togithub.com/rollup/plugin-commonjs) to v25 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5002](https://togithub.com/rollup/rollup/pull/5002): chore(deps): update dependency eslint-plugin-unicorn to v47 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5003](https://togithub.com/rollup/rollup/pull/5003): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5004](https://togithub.com/rollup/rollup/pull/5004): Do not force quit Rollup or close stdout ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.22.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3220) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.8...v3.22.0) *2023-05-17* ##### Features - Prevent empty non-facade chunks by merging them into other suitable chunks ([#4989](https://togithub.com/rollup/rollup/issues/4989)) - Avoid facade chunks in some situations involving reexports ([#4989](https://togithub.com/rollup/rollup/issues/4989)) - Improve algorithm for best merge target when using `experimentalMinChunkSize` to take tree-shaking into account ([#4989](https://togithub.com/rollup/rollup/issues/4989)) ##### Bug Fixes - Take side effects of external dependencies into account when merging chunks for `experimentalMinChunkSize` ([#4989](https://togithub.com/rollup/rollup/issues/4989)) ##### Pull Requests - [#4989](https://togithub.com/rollup/rollup/pull/4989): Prevent empty chunks and thoroughly improve experimentalMinChunkSize ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.21.8`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3218) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.7...v3.21.8) *2023-05-16* ##### Bug Fixes - Allow a namespace to properly contain itself as a named export ([#4991](https://togithub.com/rollup/rollup/issues/4991)) ##### Pull Requests - [#4991](https://togithub.com/rollup/rollup/pull/4991): Handle self-referencing namespaces ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.21.7`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3217) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.6...v3.21.7) *2023-05-13* ##### Bug Fixes - Show correct error on uncaught exceptions in watch mode ([#4987](https://togithub.com/rollup/rollup/issues/4987)) ##### Pull Requests - [#4987](https://togithub.com/rollup/rollup/pull/4987): Properly quit on uncaught exceptions ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4988](https://togithub.com/rollup/rollup/pull/4988): test: add options type for function tests ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.21.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3216) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.5...v3.21.6) *2023-05-09* ##### Bug Fixes - Ensure Rollup CLI prints everything to stdout before exiting ([#4980](https://togithub.com/rollup/rollup/issues/4980)) ##### Pull Requests - [#4980](https://togithub.com/rollup/rollup/pull/4980): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#4983](https://togithub.com/rollup/rollup/pull/4983): Prevent exit before stdout is drained ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.21.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3215) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.4...v3.21.5) *2023-05-05* ##### Bug Fixes - Keep all consecutive lines at the top of each module that start with a comment ([#4975](https://togithub.com/rollup/rollup/issues/4975)) - Ensure that declarations inside switch cases do not use the same scope as the discriminator ([#4979](https://togithub.com/rollup/rollup/issues/4979)) ##### Pull Requests - [#4975](https://togithub.com/rollup/rollup/pull/4975): Keep leading comments on consecutive lines ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4979](https://togithub.com/rollup/rollup/pull/4979): Use correct scope in switch statements ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.21.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3214) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.21.3...v3.21.4) *2023-05-03* ##### Bug Fixes - Resolve crash when shimming a missing export in an otherwise non-included module when preserving modules ([#4971](https://togithub.com/rollup/rollup/issues/4971)) ##### Pull Requests - [#4971](https://togithub.com/rollup/rollup/pull/4971): Handle shimming missing exports when preserving modules ([@lukastaegertConfiguration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.
This PR has been generated by Mend Renovate. View repository job log here.