rollup/rollup (rollup)
### [`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))
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.29.4
->4.4.1
Release Notes
rollup/rollup (rollup)
### [`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))Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.