rollup/rollup (rollup)
### [`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))
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.23.0
->^4.0.0
Release Notes
rollup/rollup (rollup)
### [`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))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.