rollup/plugins
### [`v6.0.0`](https://togithub.com/rollup/plugins/blob/HEAD/packages/json/CHANGELOG.md#v600)
[Compare Source](https://togithub.com/rollup/plugins/compare/87de3f50a553649806fc2a69343876ba34b499a2...ba1c90019930e9a31f5c710bc72786772daf1373)
*2022-12-17*
##### Breaking Changes
- fix: log more robustly when JSON parsing fails [#1361](https://togithub.com/rollup/plugins/pull/1361)
### [`v5.0.2`](https://togithub.com/rollup/plugins/blob/HEAD/packages/json/CHANGELOG.md#v502)
[Compare Source](https://togithub.com/rollup/plugins/compare/55ceae39b6c4db0467674e3c3038aa4f753429d2...87de3f50a553649806fc2a69343876ba34b499a2)
*2022-11-27*
##### Updates
- docs: correct minimatch to picomatch [#1332](https://togithub.com/rollup/plugins/pull/1332)
### [`v5.0.1`](https://togithub.com/rollup/plugins/blob/HEAD/packages/json/CHANGELOG.md#v501)
[Compare Source](https://togithub.com/rollup/plugins/compare/d4548c18a8a25e6d0c6176f2f89ce1d253a22c6d...55ceae39b6c4db0467674e3c3038aa4f753429d2)
*2022-10-21*
##### Updates
- chore: update rollup dependencies ([3038271](https://togithub.com/rollup/plugins/commit/303827191ede6b2e4eade96c6968ed16a587683f))
### [`v5.0.0`](https://togithub.com/rollup/plugins/blob/HEAD/packages/json/CHANGELOG.md#v500)
*2022-10-10*
##### Breaking Changes
- fix: prepare for Rollup 3 [#1291](https://togithub.com/rollup/plugins/pull/1291)
##### Updates
- chore: update dependencies ([678125b](https://togithub.com/rollup/plugins/commit/678125b5396bd3e8193c39d7d90e33d3f76cf7d8))
rollup/rollup
### [`v3.9.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#391)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.9.0...v3.9.1)
*2023-01-02*
##### Bug Fixes
- Sort keys in generated dynamic namespace objects ([#4780](https://togithub.com/rollup/rollup/issues/4780))
- Do not consider Array.group to be side effect free as the specs have changed ([#4779](https://togithub.com/rollup/rollup/issues/4779))
##### Pull Requests
- [#4777](https://togithub.com/rollup/rollup/pull/4777): Import from node:fs/promises ([@dnalborczyk](https://togithub.com/dnalborczyk))
- [#4778](https://togithub.com/rollup/rollup/pull/4778): Bump deps ([@dnalborczyk](https://togithub.com/dnalborczyk))
- [#4779](https://togithub.com/rollup/rollup/pull/4779): Remove array grouping (web compat issue) ([@dnalborczyk](https://togithub.com/dnalborczyk))
- [#4780](https://togithub.com/rollup/rollup/pull/4780): Sort namespace object keys ([@dnalborczyk](https://togithub.com/dnalborczyk))
- [#4781](https://togithub.com/rollup/rollup/pull/4781): Use Set and builtin-modules package ([@dnalborczyk](https://togithub.com/dnalborczyk))
- [#4782](https://togithub.com/rollup/rollup/pull/4782): Use more restrictive types ([@dnalborczyk](https://togithub.com/dnalborczyk))
### [`v3.9.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#390)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.8.1...v3.9.0)
*2022-12-28*
##### Features
- Support ES2022 arbitrary module namespace identifiers ([#4770](https://togithub.com/rollup/rollup/issues/4770))
- Add optional `version` property to plugin type ([#4771](https://togithub.com/rollup/rollup/issues/4771))
##### Pull Requests
- [#4768](https://togithub.com/rollup/rollup/pull/4768): Fix small typo in 999-big-list-of-options.md ([@ericmutta](https://togithub.com/ericmutta))
- [#4769](https://togithub.com/rollup/rollup/pull/4769): docs: add a instruction about how to run one test on your local computer ([@TrickyPi](https://togithub.com/TrickyPi))
- [#4770](https://togithub.com/rollup/rollup/pull/4770): Add support for arbitrary module namespace identifiers ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4771](https://togithub.com/rollup/rollup/pull/4771): Add `version` property to Plugin type ([@Septh](https://togithub.com/Septh))
### [`v3.8.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#381)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.8.0...v3.8.1)
*2022-12-23*
##### Bug Fixes
- Reduce memory footprint when explicitly passing `cache: false` ([#4762](https://togithub.com/rollup/rollup/issues/4762))
- Fix a crash when preserving modules and reexporting namespaces ([#4766](https://togithub.com/rollup/rollup/issues/4766))
##### Pull Requests
- [#4762](https://togithub.com/rollup/rollup/pull/4762): Improve AST garbage collection ([@bluwy](https://togithub.com/bluwy))
- [#4766](https://togithub.com/rollup/rollup/pull/4766): Fix handling of namespace reexports when preserving modules ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.8.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#380)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.5...v3.8.0)
*2022-12-22*
##### Features
- Deduplicate ESM exports and reexports when preserving modules ([#4759](https://togithub.com/rollup/rollup/issues/4759))
##### Bug Fixes
- Handle files that are emitted as a side effect of the manualChunks option ([#4759](https://togithub.com/rollup/rollup/issues/4759))
##### Pull Requests
- [#4759](https://togithub.com/rollup/rollup/pull/4759): feat: deduplicate reexports and renderedExports to simplify output ([@TrickyPi](https://togithub.com/TrickyPi))
- [#4761](https://togithub.com/rollup/rollup/pull/4761): Support emitting files via manualChunks in output ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4763](https://togithub.com/rollup/rollup/pull/4763): docs: update outdated info ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.7.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#375)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.4...v3.7.5)
*2022-12-17*
##### Bug Fixes
- Avoid name shadowing when default exporting a class that matches the name of another class ([#4756](https://togithub.com/rollup/rollup/issues/4756))
- Do not display the error message both in a separate line and in the stack trace in rollup CLI ([#4749](https://togithub.com/rollup/rollup/issues/4749))
- Make type of `RollupWarning.cause` compatible with `Error.cause` ([#4757](https://togithub.com/rollup/rollup/issues/4757))
- Do not swallow side effects when interacting with modules namespaces nested in another object ([#4758](https://togithub.com/rollup/rollup/issues/4758))
##### Pull Requests
- [#4749](https://togithub.com/rollup/rollup/pull/4749): feat: simplify `stack` info in cli error ([@TrickyPi](https://togithub.com/TrickyPi))
- [#4756](https://togithub.com/rollup/rollup/pull/4756): Avoid name conflicts for default exported classes ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4757](https://togithub.com/rollup/rollup/pull/4757): fix: RollupLog cause allow unknown ([@Shinigami92](https://togithub.com/Shinigami92))
- [#4758](https://togithub.com/rollup/rollup/pull/4758): Correctly handle side effects when a namespace is nested in an object ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.7.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#374)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.3...v3.7.4)
*2022-12-13*
##### Bug Fixes
- Do not remove calls to `.exec` and `.test` for included stateful regular expressions ([#4742](https://togithub.com/rollup/rollup/issues/4742))
##### Pull Requests
- [#4742](https://togithub.com/rollup/rollup/pull/4742): fix: check whether RegExp have the global or sticky flags set ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.7.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#373)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.2...v3.7.3)
*2022-12-11*
##### Bug Fixes
- Ensure `this.getFileName` no longer returns a placeholder as soon as hash placeholders have been resolved ([#4747](https://togithub.com/rollup/rollup/issues/4747))
##### Pull Requests
- [#4747](https://togithub.com/rollup/rollup/pull/4747): provide hashed file name when using this.getFileName in generateBundle ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.7.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#372)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.1...v3.7.2)
*2022-12-10*
##### Bug Fixes
- Improve chunk generation performance when one module is dynamically imported by many other modules ([#4736](https://togithub.com/rollup/rollup/issues/4736))
##### Pull Requests
- [#4736](https://togithub.com/rollup/rollup/pull/4736): Improve chunk assignment performance ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.7.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#371)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.0...v3.7.1)
*2022-12-09*
##### Bug Fixes
- Ad a hint to use [@rollup/plugin-json](https://togithub.com/rollup/plugin-json) when imports from a JSON file are not found ([#4741](https://togithub.com/rollup/rollup/issues/4741))
##### Pull Requests
- [#4741](https://togithub.com/rollup/rollup/pull/4741): fix: provide json hint when importing a no export json file ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.7.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#370)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.6.0...v3.7.0)
*2022-12-08*
##### Features
- Do not treat `.test` and `.exec` on regular expressions as side effects ([#4737](https://togithub.com/rollup/rollup/issues/4737))
##### Pull Requests
- [#4737](https://togithub.com/rollup/rollup/pull/4737): feat: add sutiable RegExp prototype methods ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.6.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#360)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.5.1...v3.6.0)
*2022-12-05*
##### Features
- extend `this.getModuleInfo` with information about exports ([#4731](https://togithub.com/rollup/rollup/issues/4731))
##### Pull Requests
- [#4731](https://togithub.com/rollup/rollup/pull/4731): feat: add `exports` and `exportedBindings` to `Module` class ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.5.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#351)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.5.0...v3.5.1)
*2022-12-01*
##### Bug Fixes
- Accept functions returning a config in defineConfig ([#4728](https://togithub.com/rollup/rollup/issues/4728))
##### Pull Requests
- [#4728](https://togithub.com/rollup/rollup/pull/4728): Overload defineConfig to accept a RollupOptionsFunction parameter ([@Septh](https://togithub.com/Septh))
### [`v3.5.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#350)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.4.0...v3.5.0)
*2022-11-27*
##### Features
- Add `treeshake.manualPureFunctions` to override static analysis for explicit function names ([#4718](https://togithub.com/rollup/rollup/issues/4718))
##### Bug Fixes
- Do not throw when a plugin uses `this.load` without awaiting its result ([#4725](https://togithub.com/rollup/rollup/issues/4725))
##### Pull Requests
- [#4718](https://togithub.com/rollup/rollup/pull/4718): Add simple way to manually declare pure functions ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4725](https://togithub.com/rollup/rollup/pull/4725): Fix isIncluded error when using rollup-plugin-typescript2 ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.4.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#340)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.3.0...v3.4.0)
*2022-11-22*
##### Features
- Do not keep unused `Object.freeze` calls on object literals ([#4720](https://togithub.com/rollup/rollup/issues/4720))
##### Pull Requests
- [#4720](https://togithub.com/rollup/rollup/pull/4720): Only consider Object.freeze a side effect if the argument is used ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.3.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#330)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.5...v3.3.0)
*2022-11-12*
##### Features
- Add "experimentalMinChunkSize" option to merge smaller chunks into larger ones ([#4705](https://togithub.com/rollup/rollup/issues/4705))
- Automatically deduplicate assets again when the source is a `Buffer` ([#4712](https://togithub.com/rollup/rollup/issues/4712))
- Deduplicate `Buffer` with `string` assets ([#4712](https://togithub.com/rollup/rollup/issues/4712))
##### Bug Fixes
- Support plugins with object hooks when using `perf: true` ([#4707](https://togithub.com/rollup/rollup/issues/4707))
##### Pull Requests
- [#4702](https://togithub.com/rollup/rollup/pull/4702): docs: add additional tips for heap out of memory ([@benmccann](https://togithub.com/benmccann))
- [#4705](https://togithub.com/rollup/rollup/pull/4705): Allow to define minimum chunk size limit ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4707](https://togithub.com/rollup/rollup/pull/4707): Fix perf timers for object hooks ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4710](https://togithub.com/rollup/rollup/pull/4710): Update terser docs ([@nikolas](https://togithub.com/nikolas))
- [#4712](https://togithub.com/rollup/rollup/pull/4712): feat: deduplicate assets with buffer source ([@patak-dev](https://togithub.com/patak-dev))
### [`v3.2.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#325)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.4...v3.2.5)
*2022-11-01*
##### Bug Fixes
- We deconflicting classes, ensure the original class name still does not shadow variables ([#4697](https://togithub.com/rollup/rollup/issues/4697))
##### Pull Requests
- [#4697](https://togithub.com/rollup/rollup/pull/4697): Prevent class ids from shadowing other variables ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.2.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#324)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.3...v3.2.4)
*2022-10-31*
##### Bug Fixes
- Always use forward slashes in chunk ids when preserving modules, even on Windows ([#4693](https://togithub.com/rollup/rollup/issues/4693))
- Escape problematic characters in ids when rewriting `import.meta.url` ([#4693](https://togithub.com/rollup/rollup/issues/4693))
##### Pull Requests
- [#4685](https://togithub.com/rollup/rollup/pull/4685): update package-lock version ([@jerry-lllman](https://togithub.com/jerry-lllman))
- [#4689](https://togithub.com/rollup/rollup/pull/4689): Update 07-tools.md ([@cokert](https://togithub.com/cokert))
- [#4693](https://togithub.com/rollup/rollup/pull/4693): Use correct import.meta.url slashes on Windows ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.2.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#323)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.2...v3.2.3)
*2022-10-18*
##### Bug Fixes
- Fix an issue whre Rollup confused `new.target` with `import.meta` ([#4679](https://togithub.com/rollup/rollup/issues/4679))
- Ensure that Rollup does not make assumptions about the value of unknown namespace import members ([#4684](https://togithub.com/rollup/rollup/issues/4684))
##### Pull Requests
- [#4679](https://togithub.com/rollup/rollup/pull/4679): Do not rewrite new.target ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4683](https://togithub.com/rollup/rollup/pull/4683): Remove typo in resolveId documentation ([@ChrispyChris](https://togithub.com/ChrispyChris))
- [#4684](https://togithub.com/rollup/rollup/pull/4684): Return correct values for unknown namespace members ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.2.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#322)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.1...v3.2.2)
*2022-10-16*
##### Bug Fixes
- Do not hang/crash on hashbang comments in input modules ([#4676](https://togithub.com/rollup/rollup/issues/4676))
##### Pull Requests
- [#4675](https://togithub.com/rollup/rollup/pull/4675): refactor: improve & simplify types ([@sxzz](https://togithub.com/sxzz))
- [#4676](https://togithub.com/rollup/rollup/pull/4676): Ignore hashhbang comments ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.2.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#321)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.0...v3.2.1)
*2022-10-16*
##### Bug Fixes
- Rewrite class declarations to preserve their .name property if necessary ([#4674](https://togithub.com/rollup/rollup/issues/4674))
##### Pull Requests
- [#4674](https://togithub.com/rollup/rollup/pull/4674): Preserve rendered class names ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.2.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#320)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.1.0...v3.2.0)
*2022-10-15*
##### Features
- Support providing Promises as plugins like Vite ([#4671](https://togithub.com/rollup/rollup/issues/4671))
##### Pull Requests
- [#4666](https://togithub.com/rollup/rollup/pull/4666): Add unicorn plugin ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4667](https://togithub.com/rollup/rollup/pull/4667): refactor: improve types ([@sxzz](https://togithub.com/sxzz))
- [#4668](https://togithub.com/rollup/rollup/pull/4668): fix: nested plugin in options stage ([@sxzz](https://togithub.com/sxzz))
- [#4669](https://togithub.com/rollup/rollup/pull/4669): refactor: merge duplicate imports ([@c0dedance](https://togithub.com/c0dedance))
- [#4670](https://togithub.com/rollup/rollup/pull/4670): docs: fix minor typo in migration documentation ([@ThisIsMissEm](https://togithub.com/ThisIsMissEm))
- [#4671](https://togithub.com/rollup/rollup/pull/4671): feat: support async plugins ([@sxzz](https://togithub.com/sxzz))
### [`v3.1.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#310)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.0.1...v3.1.0)
*2022-10-12*
##### Features
- Support using arrays of plugins as plugins like Vite ([#4657](https://togithub.com/rollup/rollup/issues/4657))
##### Pull Requests
- [#4657](https://togithub.com/rollup/rollup/pull/4657): feat: support nested plugin ([@sxzz](https://togithub.com/sxzz))
### [`v3.0.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#301)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.0.0...v3.0.1)
*2022-10-12*
##### Bug Fixes
- Fix installation on Windows ([#4662](https://togithub.com/rollup/rollup/issues/4662))
- Avoid missing parameters that are only used in a destructuring initializer ([#4663](https://togithub.com/rollup/rollup/issues/4663))
##### Pull Requests
- [#4661](https://togithub.com/rollup/rollup/pull/4661): Enforce type imports ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4662](https://togithub.com/rollup/rollup/pull/4662): fix: missing "node" causes run script error ([@c0dedance](https://togithub.com/c0dedance))
- [#4663](https://togithub.com/rollup/rollup/pull/4663): Ensure the initializer of a destructuring declaration is always included if the id is included ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4664](https://togithub.com/rollup/rollup/pull/4664): fix: remove lint:js:nofix script redundancy options ([@c0dedance](https://togithub.com/c0dedance))
### [`v3.0.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#300)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.79.1...v3.0.0)
*2022-10-11*
##### Breaking Changes
##### General Changes
- Rollup now requires at least Node 14.18.0 to run ([#4548](https://togithub.com/rollup/rollup/issues/4548) and [#4596](https://togithub.com/rollup/rollup/issues/4596))
- The browser build has been split into a separate package `@rollup/browser` ([#4593](https://togithub.com/rollup/rollup/issues/4593))
- The node build uses the `node:` prefix for imports of builtin modules ([#4596](https://togithub.com/rollup/rollup/issues/4596))
- Some previously deprecated features have been removed ([#4552](https://togithub.com/rollup/rollup/issues/4552)):
- Some plugin context functions have been removed:
- `this.emitAsset()`: use `this.emitFile()`
- `this.emitChunk()`: use `this.emitFile()`
- `this.getAssetFileName()`: use `this.getFileName()`
- `this.getChunkFileName()`: use `this.getFileName()`
- `this.isExternal()`: use `this.resolve()`
- `this.resolveId()`: use `this.resolve()`
- The `resolveAssetUrl` plugin hook has been removed: use `resolveFileUrl`
- Rollup no longer passes `assetReferenceId` or `chunkReferenceId` parameters to `resolveFileUrl`
- The `treeshake.pureExternalModules` option has been removed: use `treeshake.moduleSideEffects: 'no-external'`
- You may no longer use `true` or `false` for `output.interop`. As a replacement for `true`, you can use "compat"
- Emitted assets no longer have an `isAsset` flag in the bundle
- Rollup will no longer fix assets added directly to the bundle by adding the `type: "asset"` field
- Some features that were previously marked for deprecation now show warnings when used ([#4552](https://togithub.com/rollup/rollup/issues/4552)):
- Some options have been deprecated:
- `inlineDynamicImports` as part of the input options: use `output. inlineDynamicImports`
- `manualChunks` as part of the input options: use ` output. manualChunks `
- `maxParallelFileReads`: use \`maxParallelFileOps
- `output.preferConst`: use `output.generatedCode.constBindings`
- `output.dynamicImportFunction`: use the `renderDynamicImport` plugin hook
- `output.namespaceToStringTag`: use `output.generatedCode.symbols`
- `preserveModules` as part of the input options: use ` output. preserveModules `
- You should no longer access `this.moduleIds` in plugins: use `this.getModuleIds()`
- You should no longer access `this.getModuleInfo(...).hasModuleSideEffects` in plugins: use `this.getModuleInfo(...).moduleSideEffects`
- Configuration files are only bundled if either the `--configPlugin` or the `--bundleConfigAsCjs` options are used. The configuration is bundled to an ES module unless the `--bundleConfigAsCjs` option is used. In all other cases, configuration is now loaded using Node's native mechanisms ([#4574](https://togithub.com/rollup/rollup/issues/4574) and [#4621](https://togithub.com/rollup/rollup/issues/4621))
- The properties attached to some errors have been changed so that there are fewer different possible properties with consistent types ([#4579](https://togithub.com/rollup/rollup/issues/4579))
- Some errors have been replaced by others (ILLEGAL_NAMESPACE_REASSIGNMENT -> ILLEGAL_REASSIGNMENT, NON_EXISTENT_EXPORT -> MISSING_EXPORT) ([#4579](https://togithub.com/rollup/rollup/issues/4579))
- Files in `rollup/dist/*` can only be required using their file extension ([#4581](https://togithub.com/rollup/rollup/issues/4581))
- The `loadConfigFile` helper now has a named export of the same name instead of a default export ([#4581](https://togithub.com/rollup/rollup/issues/4581))
- When using the API and sourcemaps, sourcemap comments are contained in the emitted files and sourcemaps are emitted as regular assets ([#4605](https://togithub.com/rollup/rollup/issues/4605))
- Watch mode no longer uses Node's EventEmitter but a custom implementation that awaits Promises returned from event handlers ([#4609](https://togithub.com/rollup/rollup/issues/4609))
- Assets may only be deduplicated with previously emitted assets if their source is a `string` ([#4644](https://togithub.com/rollup/rollup/issues/4644))
- By default, Rollup will keep external dynamic imports as `import(…)` in commonjs output unless `output.dynamicImportInCjs` is set to false ([#4647](https://togithub.com/rollup/rollup/issues/4647))
##### Changes to Rollup Options
- As functions passed to `output.banner/footer/intro/outro` are now called per-chunk, they should be careful to avoid performance-heavy operations ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- `entryFileNames/chunkFileNames` functions now longer have access to the rendered module information via `modules`, only to a list of included `moduleIds` ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- The path of a module is no longer prepended to the corresponding chunk when preserving modules ([#4565](https://togithub.com/rollup/rollup/issues/4565))
- When preserving modules, the `[name]` placeholder (as well as the `chunkInfo.name` property when using a function) now includes the relative path of the chunk as well as optionally the file extension if the extension is not one of `.js`, `.jsx`, `.mjs`, `.cjs`, `.ts`, `.tsx`, `.mts`, or `.cts` ([#4565](https://togithub.com/rollup/rollup/issues/4565))
- The `[ext]`, `[extName]` and `[assetExtName]` placeholders are no longer supported when preserving modules ([#4565](https://togithub.com/rollup/rollup/issues/4565))
- The `perf` option no longer collects timings for the asynchronous part of plugin hooks as the readings were wildly inaccurate and very misleading, and timings are adapted to the new hashing algorithm ([#4566](https://togithub.com/rollup/rollup/issues/4566))
- Change the default value of `makeAbsoluteExternalsRelative` to "ifRelativeSource" so that absolute external imports will no longer become relative imports in the output, while relative external imports will still be renormalized ([#4567](https://togithub.com/rollup/rollup/issues/4567))
- Change the default for `output.generatedCode.reservedNamesAsProps` to no longer quote properties like `default` by default ([#4568](https://togithub.com/rollup/rollup/issues/4568))
- Change the default for `preserveEntrySignatures` to "exports-only" so that by default, empty facades for entry chunks are no longer created ([#4576](https://togithub.com/rollup/rollup/issues/4576))
- Change the default for `output.interop` to "default" to better align with NodeJS interop ([#4611](https://togithub.com/rollup/rollup/issues/4611))
- Change the default for `output.esModule` to "if-default-prop", which only adds \__esModule when the default export would be a property ([#4611](https://togithub.com/rollup/rollup/issues/4611))
- Change the default for `output.systemNullSetters` to `true`, which requires at least SystemJS 6.3.3 ([#4649](https://togithub.com/rollup/rollup/issues/4649))
##### Plugin API Changes
- Plugins that add/change/remove imports or exports in `renderChunk` should make sure to update `ChunkInfo.imports/importedBindings/exports` accordingly ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- The order of plugin hooks when generating output has changed ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- Chunk information passed to `renderChunk` now contains names with hash placeholders instead of final names, which will be replaced when used in the returned code or `ChunkInfo.imports/importedBindings/exports` ([#4543](https://togithub.com/rollup/rollup/issues/4543) and [#4631](https://togithub.com/rollup/rollup/issues/4631))
- Hooks defined in output plugins will now run after hooks defined in input plugins (used to be the other way around) ([#3846](https://togithub.com/rollup/rollup/issues/3846))
##### Features
- Functions passed to `output.banner/footer/intro/outro` are now called per-chunk with some chunk information ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- Plugins can access the entire chunk graph via an additional parameter in `renderChunk` ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- Chunk hashes only depend on the actual content of the chunk and are otherwise stable against things like renamed/moved source files or changed module resolution order ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- The length of generated file hashes can be customized both globally and per-chunk ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- When preserving modules, the regular `entryFileNames` logic is used and the path is included in the `[name]` property. This finally gives full control over file names when preserving modules ([#4565](https://togithub.com/rollup/rollup/issues/4565))
- `output.entryFileNames` now also supports the `[hash]` placeholder when preserving modules ([#4565](https://togithub.com/rollup/rollup/issues/4565))
- The `perf` option will now collect (synchronous) timings for all plugin hooks, not just a small selection ([#4566](https://togithub.com/rollup/rollup/issues/4566))
- All errors thrown by Rollup have `name: RollupError` now to make clearer that those are custom error types ([#4579](https://togithub.com/rollup/rollup/issues/4579))
- Error properties that reference modules (such as id and ids) will now always contain the full ids. Only the error message will use shortened ids ([#4579](https://togithub.com/rollup/rollup/issues/4579))
- Errors that are thrown in response to other errors (e.g. parse errors thrown by acorn) will now use the standardized cause property to reference the original error ([#4579](https://togithub.com/rollup/rollup/issues/4579))
- If sourcemaps are enabled, files will contain the appropriate sourcemap comment in `generateBundle` and sourcemap files are available as regular assets ([#4605](https://togithub.com/rollup/rollup/issues/4605))
- Returning a Promise from an event handler attached to a RollupWatcher instance will make Rollup wait for the Promise to resolve ([#4609](https://togithub.com/rollup/rollup/issues/4609))
- There is a new value "compat" for output.interop that is similar to "auto" but uses duck-typing to determine if there is a default export ([#4611](https://togithub.com/rollup/rollup/issues/4611))
- There is a new value "if-default-prop" for esModule that only adds an `__esModule` marker to the bundle if there is a default export that is rendered as a property ([#4611](https://togithub.com/rollup/rollup/issues/4611))
- Rollup can statically resolve checks for `foo[Symbol.toStringTag]` to "Module" if foo is a namespace ([#4611](https://togithub.com/rollup/rollup/issues/4611))
- There is a new CLI option `--bundleConfigAsCjs` which will force the configuration to be bundled to CommonJS ([#4621](https://togithub.com/rollup/rollup/issues/4621))
- Import assertions for external imports that are present in the input files will be retained in ESM output ([#4646](https://togithub.com/rollup/rollup/issues/4646))
- Rollup will warn when a module is imported with conflicting import assertions ([#4646](https://togithub.com/rollup/rollup/issues/4646))
- Plugins can add, remove or change import assertions when resolving ids ([#4646](https://togithub.com/rollup/rollup/issues/4646))
- The `output.externalImportAssertions` option allows to turn off emission of import assertions ([#4646](https://togithub.com/rollup/rollup/issues/4646))
- Use `output.dynamicImportInCjs` to control if dynamic imports are emitted as `import(…)` or wrapped `require(…)` when generating commonjs output ([#4647](https://togithub.com/rollup/rollup/issues/4647))
##### Bug Fixes
- Chunk hashes take changes in `renderChunk`, e.g. minification, into account ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- Hashes of referenced assets are properly reflected in the chunk hash ([#4543](https://togithub.com/rollup/rollup/issues/4543))
- No longer warn about implicitly using default export mode to not tempt users to switch to named export mode and break Node compatibility ([#4624](https://togithub.com/rollup/rollup/issues/4624))
- Avoid performance issues when emitting thousands of assets ([#4644](https://togithub.com/rollup/rollup/issues/4644))
##### Pull Requests
- [#3846](https://togithub.com/rollup/rollup/pull/3846): \[v3.0] Run output plugins last ([@aleclarson](https://togithub.com/aleclarson))
- [#4543](https://togithub.com/rollup/rollup/pull/4543): \[v3.0] New hashing algorithm that "fixes (nearly) everything" ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4548](https://togithub.com/rollup/rollup/pull/4548): \[v3.0] Deprecate Node 12 ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4552](https://togithub.com/rollup/rollup/pull/4552): \[v3.0] Remove actively deprecated features, show warnings for other deprecated features ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4558](https://togithub.com/rollup/rollup/pull/4558): \[v3.0] Convert build scripts to ESM, update dependencies ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4565](https://togithub.com/rollup/rollup/pull/4565): \[v3.0] Rework file name patterns when preserving modules ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4566](https://togithub.com/rollup/rollup/pull/4566): \[v3.0] Restructure timings ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4567](https://togithub.com/rollup/rollup/pull/4567): \[v3.0] Change default for makeAbsoluteExternalsRelative ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4568](https://togithub.com/rollup/rollup/pull/4568): \[v3.0] Change default for output.generatedCode.reservedNamesAsProps ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4574](https://togithub.com/rollup/rollup/pull/4574): \[v3.0] Better esm config file support ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4575](https://togithub.com/rollup/rollup/pull/4575): \[v3.0] Show deprecation warning for maxParallelFileReads ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4576](https://togithub.com/rollup/rollup/pull/4576): \[v3.0] Change default for preserveEntrySignatures to exports-only ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4579](https://togithub.com/rollup/rollup/pull/4579): \[v3.0] Refine errors and warnings ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4581](https://togithub.com/rollup/rollup/pull/4581): \[v3.0] Use named export for loadConfigFile ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4592](https://togithub.com/rollup/rollup/pull/4592): \[v3.0] Port doc changes from [#4572](https://togithub.com/rollup/rollup/issues/4572) and [#4583](https://togithub.com/rollup/rollup/issues/4583) to 3.0 ([@berniegp](https://togithub.com/berniegp))
- [#4593](https://togithub.com/rollup/rollup/pull/4593): \[v3.0] Browser build ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4596](https://togithub.com/rollup/rollup/pull/4596): \[v3.0] Use "node:" prefix for imports of node builtins ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4605](https://togithub.com/rollup/rollup/pull/4605): \[v3.0] Better sourcemap emission ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4609](https://togithub.com/rollup/rollup/pull/4609): \[v3.0] Custom awaiting watch emitter ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4611](https://togithub.com/rollup/rollup/pull/4611): \[v3.0] Improve interop defaults ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4621](https://togithub.com/rollup/rollup/pull/4621): \[v3.0] Always try to load config files via Node if possible ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4624](https://togithub.com/rollup/rollup/pull/4624): \[v3.0] Remove warning when using implicit default export mode ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4631](https://togithub.com/rollup/rollup/pull/4631): \[v3.0] Use ASCII characters for hash placeholders ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4644](https://togithub.com/rollup/rollup/pull/4644): \[v3.0] Improve performance of asset emissions ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4646](https://togithub.com/rollup/rollup/pull/4646): \[v3.0] Basic support for import assertions ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4647](https://togithub.com/rollup/rollup/pull/4647): \[v3.0] Keep dynamic imports in CommonJS output ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4649](https://togithub.com/rollup/rollup/pull/4649): \[v3.0] Change default for systemNullSetters ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4651](https://togithub.com/rollup/rollup/pull/4651): \[v3.0] use compiler target ES2020 ([@dnalborczyk](https://togithub.com/dnalborczyk))
### [`v2.79.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2791)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.79.0...v2.79.1)
*2022-09-22*
##### Bug Fixes
- Avoid massive performance degradation when creating thousands of chunks ([#4643](https://togithub.com/rollup/rollup/issues/4643))
##### Pull Requests
- [#4639](https://togithub.com/rollup/rollup/pull/4639): fix: typo docs and contributors link in CONTRIBUTING.md ([@takurinton](https://togithub.com/takurinton))
- [#4641](https://togithub.com/rollup/rollup/pull/4641): Update type definition of resolveId ([@ivanjonas](https://togithub.com/ivanjonas))
- [#4643](https://togithub.com/rollup/rollup/pull/4643): Improve performance of chunk naming collision check ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.79.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2790)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.78.1...v2.79.0)
*2022-08-31*
##### Features
- Add `amd.forceJsExtensionForImports` to enforce using `.js` extensions for relative AMD imports ([#4607](https://togithub.com/rollup/rollup/issues/4607))
##### Pull Requests
- [#4607](https://togithub.com/rollup/rollup/pull/4607): add option to keep extensions for amd ([@wh1tevs](https://togithub.com/wh1tevs))
### [`v2.78.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2781)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.78.0...v2.78.1)
*2022-08-19*
##### Bug Fixes
- Avoid inferring "arguments" as name for a default export placeholder variable ([#4613](https://togithub.com/rollup/rollup/issues/4613))
##### Pull Requests
- [#4613](https://togithub.com/rollup/rollup/pull/4613): Prevent using arguments for generated variable names ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.78.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2780)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.77.3...v2.78.0)
*2022-08-14*
##### Features
- Support writing plugin hooks as objects with a "handler" property ([#4600](https://togithub.com/rollup/rollup/issues/4600))
- Allow changing execution order per plugin hook ([#4600](https://togithub.com/rollup/rollup/issues/4600))
- Add flag to execute plugins in async parallel hooks sequentially ([#4600](https://togithub.com/rollup/rollup/issues/4600))
##### Pull Requests
- [#4600](https://togithub.com/rollup/rollup/pull/4600): Allow using objects as hooks to change execution order ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.77.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2773)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.77.2...v2.77.3)
*2022-08-11*
##### Bug Fixes
- Correctly resolve preserveModulesRoot in Vite ([#4591](https://togithub.com/rollup/rollup/issues/4591))
##### Pull Requests
- [#4591](https://togithub.com/rollup/rollup/pull/4591): resolve currentPath ([@cleverpp](https://togithub.com/cleverpp))
### [`v2.77.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2772)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.77.1...v2.77.2)
*2022-07-27*
##### Bug Fixes
- Avoid a rendering failure when mixing outputs with inlined and non-inlined dynamic imports ([#4589](https://togithub.com/rollup/rollup/issues/4589))
##### Pull Requests
- [#4589](https://togithub.com/rollup/rollup/pull/4589): Handle generating non-inlined imports after inlined ones ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.77.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2771)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.77.0...v2.77.1)
*2022-07-26*
##### Bug Fixes
- Ensure IIFE output generates a global variable when generating ES5 ([#4588](https://togithub.com/rollup/rollup/issues/4588))
##### Pull Requests
- [#4577](https://togithub.com/rollup/rollup/pull/4577): broken link removed ([@Jawad-H](https://togithub.com/Jawad-H))
- [#4580](https://togithub.com/rollup/rollup/pull/4580): Update dependencies ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4584](https://togithub.com/rollup/rollup/pull/4584): Documentation clarity and syntax improvements ([@berniegp](https://togithub.com/berniegp))
- [#4588](https://togithub.com/rollup/rollup/pull/4588): Use var for IIFE ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.77.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2770)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.76.0...v2.77.0)
*2022-07-15*
##### Features
- Introduce `maxParallelFileOps` to limit both read and write operations, default to 20 and replaces `maxParallelFileRead` ([#4570](https://togithub.com/rollup/rollup/issues/4570))
##### Bug Fixes
- Avoid including variables referenced from return statements that are never reached ([#4573](https://togithub.com/rollup/rollup/issues/4573))
##### Pull Requests
- [#4570](https://togithub.com/rollup/rollup/pull/4570): Introduce maxParallelFileOps to limit parallel writes ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4572](https://togithub.com/rollup/rollup/pull/4572): Document more ways to read package.json in ESM ([@berniegp](https://togithub.com/berniegp))
- [#4573](https://togithub.com/rollup/rollup/pull/4573): Do not include unused return expressions ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.76.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2760)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.7...v2.76.0)
*2022-07-08*
##### Features
- Allow setting a `sourcmapBaseUrl` for absolute paths in sourcemaps ([#4527](https://togithub.com/rollup/rollup/issues/4527))
##### Bug Fixes
- Support absolute CLI plugin paths on Windows ([#4533](https://togithub.com/rollup/rollup/issues/4533))
##### Pull Requests
- [#4527](https://togithub.com/rollup/rollup/pull/4527): Add sourcemapBaseUrl option ([@nickgarlis](https://togithub.com/nickgarlis))
- [#4533](https://togithub.com/rollup/rollup/pull/4533): Add support for absolute plugin paths ([@ygoe](https://togithub.com/ygoe))
- [#4538](https://togithub.com/rollup/rollup/pull/4538): chore: Included githubactions in the dependabot config ([@naveensrinivasan](https://togithub.com/naveensrinivasan))
- [#4546](https://togithub.com/rollup/rollup/pull/4546): Adapt Node versions on CI to prepare for v3 ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4556](https://togithub.com/rollup/rollup/pull/4556): Improve error message for invalid patterns ([@DysphoricUnicorn](https://togithub.com/DysphoricUnicorn))
- [#4559](https://togithub.com/rollup/rollup/pull/4559): Update dependencies ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4560](https://togithub.com/rollup/rollup/pull/4560): Bump peter-evans/create-or-update-comment from 1 to 2 ([@dependabot](https://togithub.com/dependabot))
- [#4561](https://togithub.com/rollup/rollup/pull/4561): Bump peter-evans/find-comment from 1 to 2 ([@dependabot](https://togithub.com/dependabot))
- [#4562](https://togithub.com/rollup/rollup/pull/4562): Bump codecov/codecov-action from 1 to 3 ([@dependabot](https://togithub.com/dependabot))
### [`v2.75.7`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2757)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.6...v2.75.7)
*2022-06-20*
##### Bug Fixes
- Mark Array.prototype.group/groupToMap as side effect free. ([#4531](https://togithub.com/rollup/rollup/issues/4531))
##### Pull Requests
- [#4523](https://togithub.com/rollup/rollup/pull/4523): chore: remove source map workaround, bump deps ([@dnalborczyk](https://togithub.com/dnalborczyk))
- [#4525](https://togithub.com/rollup/rollup/pull/4525): Add regression tests for instanceof ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4528](https://togithub.com/rollup/rollup/pull/4528): chore: Set permissions for GitHub actions ([@naveensrinivasan](https://togithub.com/naveensrinivasan))
- [#4531](https://togithub.com/rollup/rollup/pull/4531): fix: rename Array.prototype.group/groupToMap ([@dnalborczyk](https://togithub.com/dnalborczyk))
- [#4535](https://togithub.com/rollup/rollup/pull/4535): chore: bump resolve from 1.22.0 to 1.22.1 ([@pos777](https://togithub.com/pos777))
### [`v2.75.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2756)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.5...v2.75.6)
*2022-06-07*
##### Bug Fixes
- Properly deoptimize "this" when using member expressions with getters/setters in for loops and update expressions ([#4522](https://togithub.com/rollup/rollup/issues/4522))
##### Pull Requests
- [#4522](https://togithub.com/rollup/rollup/pull/4522): Refactor side effect handling for property interactions ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.75.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2755)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.4...v2.75.5)
*2022-06-01*
##### Bug Fixes
- Avoid crashes when using logical expressions for unused constructor arguments ([#4519](https://togithub.com/rollup/rollup/issues/4519))
- Fix missing parameter defaults for calls from try statements and functions returned by functions ([#4520](https://togithub.com/rollup/rollup/issues/4520))
##### Pull Requests
- [#4519](https://togithub.com/rollup/rollup/pull/4519): Try to make logical expression deoptimization more robust ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4520](https://togithub.com/rollup/rollup/pull/4520): Roll back parameter default tree shaking ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.75.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2754)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.3...v2.75.4)
*2022-05-31*
##### Bug Fixes
- Ensure parameter defaults are retained when a function is used as an object property ([#4516](https://togithub.com/rollup/rollup/issues/4516))
##### Pull Requests
- [#4516](https://togithub.com/rollup/rollup/pull/4516): Deoptimize parameter defaults when referenced from object/array/class literals ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.75.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2753)
[Compare Source](https://togithub.com/rollup/rollup/compare/a971f09f6c34c65e71470249783d0dcce02a9468...v2.75.3)
*2022-05-29*
##### Bug Fixes
- Retain parameter defaults for functions that are defaults themselves ([#4515](https://togithub.com/rollup/rollup/issues/4515))
- Track mutations for objects as default values ([#4515](https://togithub.com/rollup/rollup/issues/4515))
##### Pull Requests
- [#4515](https://togithub.com/rollup/rollup/pull/4515): Ensure parameter defaults are deoptimized ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.75.2`](https://togithub.com/rollup/rollup/compare/v2.75.1...a971f09f6c34c65e71470249783d0dcce02a9468)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.1...a971f09f6c34c65e71470249783d0dcce02a9468)
### [`v2.75.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2751)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.0...v2.75.1)
*2022-05-28*
##### Pull Requests
- [#4513](https://togithub.com/rollup/rollup/pull/4513): Update link to node polyfill repo ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.75.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2750)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.74.1...v2.75.0)
*2022-05-27*
##### Features
- Re-implement default parameter tree-shaking for top-level functions ([#4510](https://togithub.com/rollup/rollup/issues/4510))
- Do not consider calling string methods like `.trim()` on template literals a side effect ([#4511](https://togithub.com/rollup/rollup/issues/4511))
##### Pull Requests
- [#4510](https://togithub.com/rollup/rollup/pull/4510): Tree-shake parameter defaults (replaces [#4498](https://togithub.com/rollup/rollup/issues/4498)) ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4511](https://togithub.com/rollup/rollup/pull/4511): Tree-shake side-effect-free string methods on template literals ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.74.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2741)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.74.0...v2.74.1)
*2022-05-19*
##### Bug Fixes
- Revert [#4498](https://togithub.com/rollup/rollup/issues/4498) until some issues are understood and resolved
### [`v2.74.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2740)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.73.0...v2.74.0)
*2022-05-19*
##### Features
- Remove unneeded default values for function parameters ([#4498](https://togithub.com/rollup/rollup/issues/4498))
##### Bug Fixes
- Use a consistent mechanism to resolve the config file to avoid issues on Windows ([#4501](https://togithub.com/rollup/rollup/issues/4501))
- Avoid an inaccurate warning about an event emitter leak for complicated builds ([#4502](https://togithub.com/rollup/rollup/issues/4502))
- Ensure that reexporting values from other chunks via dynamic imports does not reference non-imported variables ([#4499](https://togithub.com/rollup/rollup/issues/4499))
##### Pull Requests
- [#4498](https://togithub.com/rollup/rollup/pull/4498): Tree shake parameter defaults ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4499](https://togithub.com/rollup/rollup/pull/4499): Ensure reexports are available for namespaces ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4501](https://togithub.com/rollup/rollup/pull/4501): fix: config path problem on windows ([@pos777](https://togithub.com/pos777))
- [#4502](https://togithub.com/rollup/rollup/pull/4502): Avoid maximum listeners exceeded warning ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.73.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2730)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.72.1...v2.73.0)
*2022-05-13*
##### Features
- Do not treat Object.defineProperty/ies as side effect when called on an unused object ([#4493](https://togithub.com/rollup/rollup/issues/4493))
- Do not assume that assigning a property can create a getter with side effects ([#4493](https://togithub.com/rollup/rollup/issues/4493))
- Do not treat string.prototype.replace(All) as side effect when used with two literals ([#4493](https://togithub.com/rollup/rollup/issues/4493))
##### Bug Fixes
- Detect side effects when manually declaring getters on functions ([#4493](https://togithub.com/rollup/rollup/issues/4493))
##### Pull Requests
- [#4493](https://togithub.com/rollup/rollup/pull/4493): Handle getters on functions and improve property deoptimization ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4494](https://togithub.com/rollup/rollup/pull/4494): Do not treat string.replace as side effect when used with a literal ([@lukastaegert](https://togithub.com/lukastaegert))
- [#4495](https://togithub.com/rollup/rollup/pull/4495): Update docs for --configPlugin using typescript ([@Jimmydalecleveland](https://togithub.com/Jimmydalecleveland))
### [`v2.72.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2721)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.72.0...v2.72.1)
*2022-05-07*
##### Bug Fixes
- Improve tree-shaking of classes with super classes in certain scenarios ([#4489](https://togithub.com/rollup/rollup/issues/4489))
##### Pull Requests
- [#4489](https://togithub.com/rollup/rollup/pull/4489): Do not deoptimize entire super class when adding a property ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.72.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2720)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.71.1...v2.72.0)
*2022-05-05*
##### Features
- Add CLI hooks to run external commands at certain points in watch mode ([#4457](https://togithub.com/rollup/rollup/issues/4457))
##### Bug Fixes
- Fix an issue that could accidentally treat relevant assignments as side effect free ([#4486](https://togithub.com/rollup/rollup/issues/4486))
##### Pull Requests
- [#4457](https://togithub.com/rollup/rollup/pull/4457): feat: CLI event hook flags ([@Harris-Miller](https://togithub.com/Harris-Miller))
- [#4486](https://togithub.com/rollup/rollup/pull/4486): Fix reassignment tracking ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.71.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2711)
[Compare Source](https://togithub.com/rollup/rollup/compare/v2.71.0...v2.71.1)
*2022-04-30*
##### Bug Fixes
- Allow importing loadConfigFile without extension ([#4483](https://togithub.com/rollup/rollup/issues/4483))
##### Pull Requests
- [#4483](https://togithub.com/rollup/rollup/pull/4483): Add exports exception for loadConfigFile ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v2.71.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md
Configuration
📅 Schedule: Branch creation - "before 2am on monday" (UTC), 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] 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:
^4.1.0
->^6.0.0
^2.42.3
->^3.0.0
Release Notes
rollup/plugins
### [`v6.0.0`](https://togithub.com/rollup/plugins/blob/HEAD/packages/json/CHANGELOG.md#v600) [Compare Source](https://togithub.com/rollup/plugins/compare/87de3f50a553649806fc2a69343876ba34b499a2...ba1c90019930e9a31f5c710bc72786772daf1373) *2022-12-17* ##### Breaking Changes - fix: log more robustly when JSON parsing fails [#1361](https://togithub.com/rollup/plugins/pull/1361) ### [`v5.0.2`](https://togithub.com/rollup/plugins/blob/HEAD/packages/json/CHANGELOG.md#v502) [Compare Source](https://togithub.com/rollup/plugins/compare/55ceae39b6c4db0467674e3c3038aa4f753429d2...87de3f50a553649806fc2a69343876ba34b499a2) *2022-11-27* ##### Updates - docs: correct minimatch to picomatch [#1332](https://togithub.com/rollup/plugins/pull/1332) ### [`v5.0.1`](https://togithub.com/rollup/plugins/blob/HEAD/packages/json/CHANGELOG.md#v501) [Compare Source](https://togithub.com/rollup/plugins/compare/d4548c18a8a25e6d0c6176f2f89ce1d253a22c6d...55ceae39b6c4db0467674e3c3038aa4f753429d2) *2022-10-21* ##### Updates - chore: update rollup dependencies ([3038271](https://togithub.com/rollup/plugins/commit/303827191ede6b2e4eade96c6968ed16a587683f)) ### [`v5.0.0`](https://togithub.com/rollup/plugins/blob/HEAD/packages/json/CHANGELOG.md#v500) *2022-10-10* ##### Breaking Changes - fix: prepare for Rollup 3 [#1291](https://togithub.com/rollup/plugins/pull/1291) ##### Updates - chore: update dependencies ([678125b](https://togithub.com/rollup/plugins/commit/678125b5396bd3e8193c39d7d90e33d3f76cf7d8))rollup/rollup
### [`v3.9.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#391) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.9.0...v3.9.1) *2023-01-02* ##### Bug Fixes - Sort keys in generated dynamic namespace objects ([#4780](https://togithub.com/rollup/rollup/issues/4780)) - Do not consider Array.group to be side effect free as the specs have changed ([#4779](https://togithub.com/rollup/rollup/issues/4779)) ##### Pull Requests - [#4777](https://togithub.com/rollup/rollup/pull/4777): Import from node:fs/promises ([@dnalborczyk](https://togithub.com/dnalborczyk)) - [#4778](https://togithub.com/rollup/rollup/pull/4778): Bump deps ([@dnalborczyk](https://togithub.com/dnalborczyk)) - [#4779](https://togithub.com/rollup/rollup/pull/4779): Remove array grouping (web compat issue) ([@dnalborczyk](https://togithub.com/dnalborczyk)) - [#4780](https://togithub.com/rollup/rollup/pull/4780): Sort namespace object keys ([@dnalborczyk](https://togithub.com/dnalborczyk)) - [#4781](https://togithub.com/rollup/rollup/pull/4781): Use Set and builtin-modules package ([@dnalborczyk](https://togithub.com/dnalborczyk)) - [#4782](https://togithub.com/rollup/rollup/pull/4782): Use more restrictive types ([@dnalborczyk](https://togithub.com/dnalborczyk)) ### [`v3.9.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#390) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.8.1...v3.9.0) *2022-12-28* ##### Features - Support ES2022 arbitrary module namespace identifiers ([#4770](https://togithub.com/rollup/rollup/issues/4770)) - Add optional `version` property to plugin type ([#4771](https://togithub.com/rollup/rollup/issues/4771)) ##### Pull Requests - [#4768](https://togithub.com/rollup/rollup/pull/4768): Fix small typo in 999-big-list-of-options.md ([@ericmutta](https://togithub.com/ericmutta)) - [#4769](https://togithub.com/rollup/rollup/pull/4769): docs: add a instruction about how to run one test on your local computer ([@TrickyPi](https://togithub.com/TrickyPi)) - [#4770](https://togithub.com/rollup/rollup/pull/4770): Add support for arbitrary module namespace identifiers ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4771](https://togithub.com/rollup/rollup/pull/4771): Add `version` property to Plugin type ([@Septh](https://togithub.com/Septh)) ### [`v3.8.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#381) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.8.0...v3.8.1) *2022-12-23* ##### Bug Fixes - Reduce memory footprint when explicitly passing `cache: false` ([#4762](https://togithub.com/rollup/rollup/issues/4762)) - Fix a crash when preserving modules and reexporting namespaces ([#4766](https://togithub.com/rollup/rollup/issues/4766)) ##### Pull Requests - [#4762](https://togithub.com/rollup/rollup/pull/4762): Improve AST garbage collection ([@bluwy](https://togithub.com/bluwy)) - [#4766](https://togithub.com/rollup/rollup/pull/4766): Fix handling of namespace reexports when preserving modules ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.8.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#380) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.5...v3.8.0) *2022-12-22* ##### Features - Deduplicate ESM exports and reexports when preserving modules ([#4759](https://togithub.com/rollup/rollup/issues/4759)) ##### Bug Fixes - Handle files that are emitted as a side effect of the manualChunks option ([#4759](https://togithub.com/rollup/rollup/issues/4759)) ##### Pull Requests - [#4759](https://togithub.com/rollup/rollup/pull/4759): feat: deduplicate reexports and renderedExports to simplify output ([@TrickyPi](https://togithub.com/TrickyPi)) - [#4761](https://togithub.com/rollup/rollup/pull/4761): Support emitting files via manualChunks in output ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4763](https://togithub.com/rollup/rollup/pull/4763): docs: update outdated info ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.7.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#375) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.4...v3.7.5) *2022-12-17* ##### Bug Fixes - Avoid name shadowing when default exporting a class that matches the name of another class ([#4756](https://togithub.com/rollup/rollup/issues/4756)) - Do not display the error message both in a separate line and in the stack trace in rollup CLI ([#4749](https://togithub.com/rollup/rollup/issues/4749)) - Make type of `RollupWarning.cause` compatible with `Error.cause` ([#4757](https://togithub.com/rollup/rollup/issues/4757)) - Do not swallow side effects when interacting with modules namespaces nested in another object ([#4758](https://togithub.com/rollup/rollup/issues/4758)) ##### Pull Requests - [#4749](https://togithub.com/rollup/rollup/pull/4749): feat: simplify `stack` info in cli error ([@TrickyPi](https://togithub.com/TrickyPi)) - [#4756](https://togithub.com/rollup/rollup/pull/4756): Avoid name conflicts for default exported classes ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4757](https://togithub.com/rollup/rollup/pull/4757): fix: RollupLog cause allow unknown ([@Shinigami92](https://togithub.com/Shinigami92)) - [#4758](https://togithub.com/rollup/rollup/pull/4758): Correctly handle side effects when a namespace is nested in an object ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.7.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#374) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.3...v3.7.4) *2022-12-13* ##### Bug Fixes - Do not remove calls to `.exec` and `.test` for included stateful regular expressions ([#4742](https://togithub.com/rollup/rollup/issues/4742)) ##### Pull Requests - [#4742](https://togithub.com/rollup/rollup/pull/4742): fix: check whether RegExp have the global or sticky flags set ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.7.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#373) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.2...v3.7.3) *2022-12-11* ##### Bug Fixes - Ensure `this.getFileName` no longer returns a placeholder as soon as hash placeholders have been resolved ([#4747](https://togithub.com/rollup/rollup/issues/4747)) ##### Pull Requests - [#4747](https://togithub.com/rollup/rollup/pull/4747): provide hashed file name when using this.getFileName in generateBundle ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.7.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#372) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.1...v3.7.2) *2022-12-10* ##### Bug Fixes - Improve chunk generation performance when one module is dynamically imported by many other modules ([#4736](https://togithub.com/rollup/rollup/issues/4736)) ##### Pull Requests - [#4736](https://togithub.com/rollup/rollup/pull/4736): Improve chunk assignment performance ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.7.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#371) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.7.0...v3.7.1) *2022-12-09* ##### Bug Fixes - Ad a hint to use [@rollup/plugin-json](https://togithub.com/rollup/plugin-json) when imports from a JSON file are not found ([#4741](https://togithub.com/rollup/rollup/issues/4741)) ##### Pull Requests - [#4741](https://togithub.com/rollup/rollup/pull/4741): fix: provide json hint when importing a no export json file ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.7.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#370) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.6.0...v3.7.0) *2022-12-08* ##### Features - Do not treat `.test` and `.exec` on regular expressions as side effects ([#4737](https://togithub.com/rollup/rollup/issues/4737)) ##### Pull Requests - [#4737](https://togithub.com/rollup/rollup/pull/4737): feat: add sutiable RegExp prototype methods ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.6.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#360) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.5.1...v3.6.0) *2022-12-05* ##### Features - extend `this.getModuleInfo` with information about exports ([#4731](https://togithub.com/rollup/rollup/issues/4731)) ##### Pull Requests - [#4731](https://togithub.com/rollup/rollup/pull/4731): feat: add `exports` and `exportedBindings` to `Module` class ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.5.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#351) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.5.0...v3.5.1) *2022-12-01* ##### Bug Fixes - Accept functions returning a config in defineConfig ([#4728](https://togithub.com/rollup/rollup/issues/4728)) ##### Pull Requests - [#4728](https://togithub.com/rollup/rollup/pull/4728): Overload defineConfig to accept a RollupOptionsFunction parameter ([@Septh](https://togithub.com/Septh)) ### [`v3.5.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#350) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.4.0...v3.5.0) *2022-11-27* ##### Features - Add `treeshake.manualPureFunctions` to override static analysis for explicit function names ([#4718](https://togithub.com/rollup/rollup/issues/4718)) ##### Bug Fixes - Do not throw when a plugin uses `this.load` without awaiting its result ([#4725](https://togithub.com/rollup/rollup/issues/4725)) ##### Pull Requests - [#4718](https://togithub.com/rollup/rollup/pull/4718): Add simple way to manually declare pure functions ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4725](https://togithub.com/rollup/rollup/pull/4725): Fix isIncluded error when using rollup-plugin-typescript2 ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.4.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#340) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.3.0...v3.4.0) *2022-11-22* ##### Features - Do not keep unused `Object.freeze` calls on object literals ([#4720](https://togithub.com/rollup/rollup/issues/4720)) ##### Pull Requests - [#4720](https://togithub.com/rollup/rollup/pull/4720): Only consider Object.freeze a side effect if the argument is used ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.3.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#330) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.5...v3.3.0) *2022-11-12* ##### Features - Add "experimentalMinChunkSize" option to merge smaller chunks into larger ones ([#4705](https://togithub.com/rollup/rollup/issues/4705)) - Automatically deduplicate assets again when the source is a `Buffer` ([#4712](https://togithub.com/rollup/rollup/issues/4712)) - Deduplicate `Buffer` with `string` assets ([#4712](https://togithub.com/rollup/rollup/issues/4712)) ##### Bug Fixes - Support plugins with object hooks when using `perf: true` ([#4707](https://togithub.com/rollup/rollup/issues/4707)) ##### Pull Requests - [#4702](https://togithub.com/rollup/rollup/pull/4702): docs: add additional tips for heap out of memory ([@benmccann](https://togithub.com/benmccann)) - [#4705](https://togithub.com/rollup/rollup/pull/4705): Allow to define minimum chunk size limit ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4707](https://togithub.com/rollup/rollup/pull/4707): Fix perf timers for object hooks ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4710](https://togithub.com/rollup/rollup/pull/4710): Update terser docs ([@nikolas](https://togithub.com/nikolas)) - [#4712](https://togithub.com/rollup/rollup/pull/4712): feat: deduplicate assets with buffer source ([@patak-dev](https://togithub.com/patak-dev)) ### [`v3.2.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#325) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.4...v3.2.5) *2022-11-01* ##### Bug Fixes - We deconflicting classes, ensure the original class name still does not shadow variables ([#4697](https://togithub.com/rollup/rollup/issues/4697)) ##### Pull Requests - [#4697](https://togithub.com/rollup/rollup/pull/4697): Prevent class ids from shadowing other variables ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.2.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#324) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.3...v3.2.4) *2022-10-31* ##### Bug Fixes - Always use forward slashes in chunk ids when preserving modules, even on Windows ([#4693](https://togithub.com/rollup/rollup/issues/4693)) - Escape problematic characters in ids when rewriting `import.meta.url` ([#4693](https://togithub.com/rollup/rollup/issues/4693)) ##### Pull Requests - [#4685](https://togithub.com/rollup/rollup/pull/4685): update package-lock version ([@jerry-lllman](https://togithub.com/jerry-lllman)) - [#4689](https://togithub.com/rollup/rollup/pull/4689): Update 07-tools.md ([@cokert](https://togithub.com/cokert)) - [#4693](https://togithub.com/rollup/rollup/pull/4693): Use correct import.meta.url slashes on Windows ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.2.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#323) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.2...v3.2.3) *2022-10-18* ##### Bug Fixes - Fix an issue whre Rollup confused `new.target` with `import.meta` ([#4679](https://togithub.com/rollup/rollup/issues/4679)) - Ensure that Rollup does not make assumptions about the value of unknown namespace import members ([#4684](https://togithub.com/rollup/rollup/issues/4684)) ##### Pull Requests - [#4679](https://togithub.com/rollup/rollup/pull/4679): Do not rewrite new.target ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4683](https://togithub.com/rollup/rollup/pull/4683): Remove typo in resolveId documentation ([@ChrispyChris](https://togithub.com/ChrispyChris)) - [#4684](https://togithub.com/rollup/rollup/pull/4684): Return correct values for unknown namespace members ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.2.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#322) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.1...v3.2.2) *2022-10-16* ##### Bug Fixes - Do not hang/crash on hashbang comments in input modules ([#4676](https://togithub.com/rollup/rollup/issues/4676)) ##### Pull Requests - [#4675](https://togithub.com/rollup/rollup/pull/4675): refactor: improve & simplify types ([@sxzz](https://togithub.com/sxzz)) - [#4676](https://togithub.com/rollup/rollup/pull/4676): Ignore hashhbang comments ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.2.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#321) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.2.0...v3.2.1) *2022-10-16* ##### Bug Fixes - Rewrite class declarations to preserve their .name property if necessary ([#4674](https://togithub.com/rollup/rollup/issues/4674)) ##### Pull Requests - [#4674](https://togithub.com/rollup/rollup/pull/4674): Preserve rendered class names ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.2.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#320) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.1.0...v3.2.0) *2022-10-15* ##### Features - Support providing Promises as plugins like Vite ([#4671](https://togithub.com/rollup/rollup/issues/4671)) ##### Pull Requests - [#4666](https://togithub.com/rollup/rollup/pull/4666): Add unicorn plugin ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4667](https://togithub.com/rollup/rollup/pull/4667): refactor: improve types ([@sxzz](https://togithub.com/sxzz)) - [#4668](https://togithub.com/rollup/rollup/pull/4668): fix: nested plugin in options stage ([@sxzz](https://togithub.com/sxzz)) - [#4669](https://togithub.com/rollup/rollup/pull/4669): refactor: merge duplicate imports ([@c0dedance](https://togithub.com/c0dedance)) - [#4670](https://togithub.com/rollup/rollup/pull/4670): docs: fix minor typo in migration documentation ([@ThisIsMissEm](https://togithub.com/ThisIsMissEm)) - [#4671](https://togithub.com/rollup/rollup/pull/4671): feat: support async plugins ([@sxzz](https://togithub.com/sxzz)) ### [`v3.1.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#310) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.0.1...v3.1.0) *2022-10-12* ##### Features - Support using arrays of plugins as plugins like Vite ([#4657](https://togithub.com/rollup/rollup/issues/4657)) ##### Pull Requests - [#4657](https://togithub.com/rollup/rollup/pull/4657): feat: support nested plugin ([@sxzz](https://togithub.com/sxzz)) ### [`v3.0.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#301) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.0.0...v3.0.1) *2022-10-12* ##### Bug Fixes - Fix installation on Windows ([#4662](https://togithub.com/rollup/rollup/issues/4662)) - Avoid missing parameters that are only used in a destructuring initializer ([#4663](https://togithub.com/rollup/rollup/issues/4663)) ##### Pull Requests - [#4661](https://togithub.com/rollup/rollup/pull/4661): Enforce type imports ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4662](https://togithub.com/rollup/rollup/pull/4662): fix: missing "node" causes run script error ([@c0dedance](https://togithub.com/c0dedance)) - [#4663](https://togithub.com/rollup/rollup/pull/4663): Ensure the initializer of a destructuring declaration is always included if the id is included ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4664](https://togithub.com/rollup/rollup/pull/4664): fix: remove lint:js:nofix script redundancy options ([@c0dedance](https://togithub.com/c0dedance)) ### [`v3.0.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#300) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.79.1...v3.0.0) *2022-10-11* ##### Breaking Changes ##### General Changes - Rollup now requires at least Node 14.18.0 to run ([#4548](https://togithub.com/rollup/rollup/issues/4548) and [#4596](https://togithub.com/rollup/rollup/issues/4596)) - The browser build has been split into a separate package `@rollup/browser` ([#4593](https://togithub.com/rollup/rollup/issues/4593)) - The node build uses the `node:` prefix for imports of builtin modules ([#4596](https://togithub.com/rollup/rollup/issues/4596)) - Some previously deprecated features have been removed ([#4552](https://togithub.com/rollup/rollup/issues/4552)): - Some plugin context functions have been removed: - `this.emitAsset()`: use `this.emitFile()` - `this.emitChunk()`: use `this.emitFile()` - `this.getAssetFileName()`: use `this.getFileName()` - `this.getChunkFileName()`: use `this.getFileName()` - `this.isExternal()`: use `this.resolve()` - `this.resolveId()`: use `this.resolve()` - The `resolveAssetUrl` plugin hook has been removed: use `resolveFileUrl` - Rollup no longer passes `assetReferenceId` or `chunkReferenceId` parameters to `resolveFileUrl` - The `treeshake.pureExternalModules` option has been removed: use `treeshake.moduleSideEffects: 'no-external'` - You may no longer use `true` or `false` for `output.interop`. As a replacement for `true`, you can use "compat" - Emitted assets no longer have an `isAsset` flag in the bundle - Rollup will no longer fix assets added directly to the bundle by adding the `type: "asset"` field - Some features that were previously marked for deprecation now show warnings when used ([#4552](https://togithub.com/rollup/rollup/issues/4552)): - Some options have been deprecated: - `inlineDynamicImports` as part of the input options: use `output. inlineDynamicImports` - `manualChunks` as part of the input options: use ` output. manualChunks ` - `maxParallelFileReads`: use \`maxParallelFileOps - `output.preferConst`: use `output.generatedCode.constBindings` - `output.dynamicImportFunction`: use the `renderDynamicImport` plugin hook - `output.namespaceToStringTag`: use `output.generatedCode.symbols` - `preserveModules` as part of the input options: use ` output. preserveModules ` - You should no longer access `this.moduleIds` in plugins: use `this.getModuleIds()` - You should no longer access `this.getModuleInfo(...).hasModuleSideEffects` in plugins: use `this.getModuleInfo(...).moduleSideEffects` - Configuration files are only bundled if either the `--configPlugin` or the `--bundleConfigAsCjs` options are used. The configuration is bundled to an ES module unless the `--bundleConfigAsCjs` option is used. In all other cases, configuration is now loaded using Node's native mechanisms ([#4574](https://togithub.com/rollup/rollup/issues/4574) and [#4621](https://togithub.com/rollup/rollup/issues/4621)) - The properties attached to some errors have been changed so that there are fewer different possible properties with consistent types ([#4579](https://togithub.com/rollup/rollup/issues/4579)) - Some errors have been replaced by others (ILLEGAL_NAMESPACE_REASSIGNMENT -> ILLEGAL_REASSIGNMENT, NON_EXISTENT_EXPORT -> MISSING_EXPORT) ([#4579](https://togithub.com/rollup/rollup/issues/4579)) - Files in `rollup/dist/*` can only be required using their file extension ([#4581](https://togithub.com/rollup/rollup/issues/4581)) - The `loadConfigFile` helper now has a named export of the same name instead of a default export ([#4581](https://togithub.com/rollup/rollup/issues/4581)) - When using the API and sourcemaps, sourcemap comments are contained in the emitted files and sourcemaps are emitted as regular assets ([#4605](https://togithub.com/rollup/rollup/issues/4605)) - Watch mode no longer uses Node's EventEmitter but a custom implementation that awaits Promises returned from event handlers ([#4609](https://togithub.com/rollup/rollup/issues/4609)) - Assets may only be deduplicated with previously emitted assets if their source is a `string` ([#4644](https://togithub.com/rollup/rollup/issues/4644)) - By default, Rollup will keep external dynamic imports as `import(…)` in commonjs output unless `output.dynamicImportInCjs` is set to false ([#4647](https://togithub.com/rollup/rollup/issues/4647)) ##### Changes to Rollup Options - As functions passed to `output.banner/footer/intro/outro` are now called per-chunk, they should be careful to avoid performance-heavy operations ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - `entryFileNames/chunkFileNames` functions now longer have access to the rendered module information via `modules`, only to a list of included `moduleIds` ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - The path of a module is no longer prepended to the corresponding chunk when preserving modules ([#4565](https://togithub.com/rollup/rollup/issues/4565)) - When preserving modules, the `[name]` placeholder (as well as the `chunkInfo.name` property when using a function) now includes the relative path of the chunk as well as optionally the file extension if the extension is not one of `.js`, `.jsx`, `.mjs`, `.cjs`, `.ts`, `.tsx`, `.mts`, or `.cts` ([#4565](https://togithub.com/rollup/rollup/issues/4565)) - The `[ext]`, `[extName]` and `[assetExtName]` placeholders are no longer supported when preserving modules ([#4565](https://togithub.com/rollup/rollup/issues/4565)) - The `perf` option no longer collects timings for the asynchronous part of plugin hooks as the readings were wildly inaccurate and very misleading, and timings are adapted to the new hashing algorithm ([#4566](https://togithub.com/rollup/rollup/issues/4566)) - Change the default value of `makeAbsoluteExternalsRelative` to "ifRelativeSource" so that absolute external imports will no longer become relative imports in the output, while relative external imports will still be renormalized ([#4567](https://togithub.com/rollup/rollup/issues/4567)) - Change the default for `output.generatedCode.reservedNamesAsProps` to no longer quote properties like `default` by default ([#4568](https://togithub.com/rollup/rollup/issues/4568)) - Change the default for `preserveEntrySignatures` to "exports-only" so that by default, empty facades for entry chunks are no longer created ([#4576](https://togithub.com/rollup/rollup/issues/4576)) - Change the default for `output.interop` to "default" to better align with NodeJS interop ([#4611](https://togithub.com/rollup/rollup/issues/4611)) - Change the default for `output.esModule` to "if-default-prop", which only adds \__esModule when the default export would be a property ([#4611](https://togithub.com/rollup/rollup/issues/4611)) - Change the default for `output.systemNullSetters` to `true`, which requires at least SystemJS 6.3.3 ([#4649](https://togithub.com/rollup/rollup/issues/4649)) ##### Plugin API Changes - Plugins that add/change/remove imports or exports in `renderChunk` should make sure to update `ChunkInfo.imports/importedBindings/exports` accordingly ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - The order of plugin hooks when generating output has changed ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - Chunk information passed to `renderChunk` now contains names with hash placeholders instead of final names, which will be replaced when used in the returned code or `ChunkInfo.imports/importedBindings/exports` ([#4543](https://togithub.com/rollup/rollup/issues/4543) and [#4631](https://togithub.com/rollup/rollup/issues/4631)) - Hooks defined in output plugins will now run after hooks defined in input plugins (used to be the other way around) ([#3846](https://togithub.com/rollup/rollup/issues/3846)) ##### Features - Functions passed to `output.banner/footer/intro/outro` are now called per-chunk with some chunk information ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - Plugins can access the entire chunk graph via an additional parameter in `renderChunk` ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - Chunk hashes only depend on the actual content of the chunk and are otherwise stable against things like renamed/moved source files or changed module resolution order ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - The length of generated file hashes can be customized both globally and per-chunk ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - When preserving modules, the regular `entryFileNames` logic is used and the path is included in the `[name]` property. This finally gives full control over file names when preserving modules ([#4565](https://togithub.com/rollup/rollup/issues/4565)) - `output.entryFileNames` now also supports the `[hash]` placeholder when preserving modules ([#4565](https://togithub.com/rollup/rollup/issues/4565)) - The `perf` option will now collect (synchronous) timings for all plugin hooks, not just a small selection ([#4566](https://togithub.com/rollup/rollup/issues/4566)) - All errors thrown by Rollup have `name: RollupError` now to make clearer that those are custom error types ([#4579](https://togithub.com/rollup/rollup/issues/4579)) - Error properties that reference modules (such as id and ids) will now always contain the full ids. Only the error message will use shortened ids ([#4579](https://togithub.com/rollup/rollup/issues/4579)) - Errors that are thrown in response to other errors (e.g. parse errors thrown by acorn) will now use the standardized cause property to reference the original error ([#4579](https://togithub.com/rollup/rollup/issues/4579)) - If sourcemaps are enabled, files will contain the appropriate sourcemap comment in `generateBundle` and sourcemap files are available as regular assets ([#4605](https://togithub.com/rollup/rollup/issues/4605)) - Returning a Promise from an event handler attached to a RollupWatcher instance will make Rollup wait for the Promise to resolve ([#4609](https://togithub.com/rollup/rollup/issues/4609)) - There is a new value "compat" for output.interop that is similar to "auto" but uses duck-typing to determine if there is a default export ([#4611](https://togithub.com/rollup/rollup/issues/4611)) - There is a new value "if-default-prop" for esModule that only adds an `__esModule` marker to the bundle if there is a default export that is rendered as a property ([#4611](https://togithub.com/rollup/rollup/issues/4611)) - Rollup can statically resolve checks for `foo[Symbol.toStringTag]` to "Module" if foo is a namespace ([#4611](https://togithub.com/rollup/rollup/issues/4611)) - There is a new CLI option `--bundleConfigAsCjs` which will force the configuration to be bundled to CommonJS ([#4621](https://togithub.com/rollup/rollup/issues/4621)) - Import assertions for external imports that are present in the input files will be retained in ESM output ([#4646](https://togithub.com/rollup/rollup/issues/4646)) - Rollup will warn when a module is imported with conflicting import assertions ([#4646](https://togithub.com/rollup/rollup/issues/4646)) - Plugins can add, remove or change import assertions when resolving ids ([#4646](https://togithub.com/rollup/rollup/issues/4646)) - The `output.externalImportAssertions` option allows to turn off emission of import assertions ([#4646](https://togithub.com/rollup/rollup/issues/4646)) - Use `output.dynamicImportInCjs` to control if dynamic imports are emitted as `import(…)` or wrapped `require(…)` when generating commonjs output ([#4647](https://togithub.com/rollup/rollup/issues/4647)) ##### Bug Fixes - Chunk hashes take changes in `renderChunk`, e.g. minification, into account ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - Hashes of referenced assets are properly reflected in the chunk hash ([#4543](https://togithub.com/rollup/rollup/issues/4543)) - No longer warn about implicitly using default export mode to not tempt users to switch to named export mode and break Node compatibility ([#4624](https://togithub.com/rollup/rollup/issues/4624)) - Avoid performance issues when emitting thousands of assets ([#4644](https://togithub.com/rollup/rollup/issues/4644)) ##### Pull Requests - [#3846](https://togithub.com/rollup/rollup/pull/3846): \[v3.0] Run output plugins last ([@aleclarson](https://togithub.com/aleclarson)) - [#4543](https://togithub.com/rollup/rollup/pull/4543): \[v3.0] New hashing algorithm that "fixes (nearly) everything" ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4548](https://togithub.com/rollup/rollup/pull/4548): \[v3.0] Deprecate Node 12 ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4552](https://togithub.com/rollup/rollup/pull/4552): \[v3.0] Remove actively deprecated features, show warnings for other deprecated features ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4558](https://togithub.com/rollup/rollup/pull/4558): \[v3.0] Convert build scripts to ESM, update dependencies ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4565](https://togithub.com/rollup/rollup/pull/4565): \[v3.0] Rework file name patterns when preserving modules ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4566](https://togithub.com/rollup/rollup/pull/4566): \[v3.0] Restructure timings ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4567](https://togithub.com/rollup/rollup/pull/4567): \[v3.0] Change default for makeAbsoluteExternalsRelative ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4568](https://togithub.com/rollup/rollup/pull/4568): \[v3.0] Change default for output.generatedCode.reservedNamesAsProps ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4574](https://togithub.com/rollup/rollup/pull/4574): \[v3.0] Better esm config file support ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4575](https://togithub.com/rollup/rollup/pull/4575): \[v3.0] Show deprecation warning for maxParallelFileReads ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4576](https://togithub.com/rollup/rollup/pull/4576): \[v3.0] Change default for preserveEntrySignatures to exports-only ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4579](https://togithub.com/rollup/rollup/pull/4579): \[v3.0] Refine errors and warnings ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4581](https://togithub.com/rollup/rollup/pull/4581): \[v3.0] Use named export for loadConfigFile ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4592](https://togithub.com/rollup/rollup/pull/4592): \[v3.0] Port doc changes from [#4572](https://togithub.com/rollup/rollup/issues/4572) and [#4583](https://togithub.com/rollup/rollup/issues/4583) to 3.0 ([@berniegp](https://togithub.com/berniegp)) - [#4593](https://togithub.com/rollup/rollup/pull/4593): \[v3.0] Browser build ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4596](https://togithub.com/rollup/rollup/pull/4596): \[v3.0] Use "node:" prefix for imports of node builtins ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4605](https://togithub.com/rollup/rollup/pull/4605): \[v3.0] Better sourcemap emission ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4609](https://togithub.com/rollup/rollup/pull/4609): \[v3.0] Custom awaiting watch emitter ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4611](https://togithub.com/rollup/rollup/pull/4611): \[v3.0] Improve interop defaults ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4621](https://togithub.com/rollup/rollup/pull/4621): \[v3.0] Always try to load config files via Node if possible ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4624](https://togithub.com/rollup/rollup/pull/4624): \[v3.0] Remove warning when using implicit default export mode ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4631](https://togithub.com/rollup/rollup/pull/4631): \[v3.0] Use ASCII characters for hash placeholders ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4644](https://togithub.com/rollup/rollup/pull/4644): \[v3.0] Improve performance of asset emissions ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4646](https://togithub.com/rollup/rollup/pull/4646): \[v3.0] Basic support for import assertions ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4647](https://togithub.com/rollup/rollup/pull/4647): \[v3.0] Keep dynamic imports in CommonJS output ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4649](https://togithub.com/rollup/rollup/pull/4649): \[v3.0] Change default for systemNullSetters ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4651](https://togithub.com/rollup/rollup/pull/4651): \[v3.0] use compiler target ES2020 ([@dnalborczyk](https://togithub.com/dnalborczyk)) ### [`v2.79.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2791) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.79.0...v2.79.1) *2022-09-22* ##### Bug Fixes - Avoid massive performance degradation when creating thousands of chunks ([#4643](https://togithub.com/rollup/rollup/issues/4643)) ##### Pull Requests - [#4639](https://togithub.com/rollup/rollup/pull/4639): fix: typo docs and contributors link in CONTRIBUTING.md ([@takurinton](https://togithub.com/takurinton)) - [#4641](https://togithub.com/rollup/rollup/pull/4641): Update type definition of resolveId ([@ivanjonas](https://togithub.com/ivanjonas)) - [#4643](https://togithub.com/rollup/rollup/pull/4643): Improve performance of chunk naming collision check ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.79.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2790) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.78.1...v2.79.0) *2022-08-31* ##### Features - Add `amd.forceJsExtensionForImports` to enforce using `.js` extensions for relative AMD imports ([#4607](https://togithub.com/rollup/rollup/issues/4607)) ##### Pull Requests - [#4607](https://togithub.com/rollup/rollup/pull/4607): add option to keep extensions for amd ([@wh1tevs](https://togithub.com/wh1tevs)) ### [`v2.78.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2781) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.78.0...v2.78.1) *2022-08-19* ##### Bug Fixes - Avoid inferring "arguments" as name for a default export placeholder variable ([#4613](https://togithub.com/rollup/rollup/issues/4613)) ##### Pull Requests - [#4613](https://togithub.com/rollup/rollup/pull/4613): Prevent using arguments for generated variable names ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.78.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2780) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.77.3...v2.78.0) *2022-08-14* ##### Features - Support writing plugin hooks as objects with a "handler" property ([#4600](https://togithub.com/rollup/rollup/issues/4600)) - Allow changing execution order per plugin hook ([#4600](https://togithub.com/rollup/rollup/issues/4600)) - Add flag to execute plugins in async parallel hooks sequentially ([#4600](https://togithub.com/rollup/rollup/issues/4600)) ##### Pull Requests - [#4600](https://togithub.com/rollup/rollup/pull/4600): Allow using objects as hooks to change execution order ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.77.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2773) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.77.2...v2.77.3) *2022-08-11* ##### Bug Fixes - Correctly resolve preserveModulesRoot in Vite ([#4591](https://togithub.com/rollup/rollup/issues/4591)) ##### Pull Requests - [#4591](https://togithub.com/rollup/rollup/pull/4591): resolve currentPath ([@cleverpp](https://togithub.com/cleverpp)) ### [`v2.77.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2772) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.77.1...v2.77.2) *2022-07-27* ##### Bug Fixes - Avoid a rendering failure when mixing outputs with inlined and non-inlined dynamic imports ([#4589](https://togithub.com/rollup/rollup/issues/4589)) ##### Pull Requests - [#4589](https://togithub.com/rollup/rollup/pull/4589): Handle generating non-inlined imports after inlined ones ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.77.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2771) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.77.0...v2.77.1) *2022-07-26* ##### Bug Fixes - Ensure IIFE output generates a global variable when generating ES5 ([#4588](https://togithub.com/rollup/rollup/issues/4588)) ##### Pull Requests - [#4577](https://togithub.com/rollup/rollup/pull/4577): broken link removed ([@Jawad-H](https://togithub.com/Jawad-H)) - [#4580](https://togithub.com/rollup/rollup/pull/4580): Update dependencies ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4584](https://togithub.com/rollup/rollup/pull/4584): Documentation clarity and syntax improvements ([@berniegp](https://togithub.com/berniegp)) - [#4588](https://togithub.com/rollup/rollup/pull/4588): Use var for IIFE ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.77.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2770) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.76.0...v2.77.0) *2022-07-15* ##### Features - Introduce `maxParallelFileOps` to limit both read and write operations, default to 20 and replaces `maxParallelFileRead` ([#4570](https://togithub.com/rollup/rollup/issues/4570)) ##### Bug Fixes - Avoid including variables referenced from return statements that are never reached ([#4573](https://togithub.com/rollup/rollup/issues/4573)) ##### Pull Requests - [#4570](https://togithub.com/rollup/rollup/pull/4570): Introduce maxParallelFileOps to limit parallel writes ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4572](https://togithub.com/rollup/rollup/pull/4572): Document more ways to read package.json in ESM ([@berniegp](https://togithub.com/berniegp)) - [#4573](https://togithub.com/rollup/rollup/pull/4573): Do not include unused return expressions ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.76.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2760) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.7...v2.76.0) *2022-07-08* ##### Features - Allow setting a `sourcmapBaseUrl` for absolute paths in sourcemaps ([#4527](https://togithub.com/rollup/rollup/issues/4527)) ##### Bug Fixes - Support absolute CLI plugin paths on Windows ([#4533](https://togithub.com/rollup/rollup/issues/4533)) ##### Pull Requests - [#4527](https://togithub.com/rollup/rollup/pull/4527): Add sourcemapBaseUrl option ([@nickgarlis](https://togithub.com/nickgarlis)) - [#4533](https://togithub.com/rollup/rollup/pull/4533): Add support for absolute plugin paths ([@ygoe](https://togithub.com/ygoe)) - [#4538](https://togithub.com/rollup/rollup/pull/4538): chore: Included githubactions in the dependabot config ([@naveensrinivasan](https://togithub.com/naveensrinivasan)) - [#4546](https://togithub.com/rollup/rollup/pull/4546): Adapt Node versions on CI to prepare for v3 ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4556](https://togithub.com/rollup/rollup/pull/4556): Improve error message for invalid patterns ([@DysphoricUnicorn](https://togithub.com/DysphoricUnicorn)) - [#4559](https://togithub.com/rollup/rollup/pull/4559): Update dependencies ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4560](https://togithub.com/rollup/rollup/pull/4560): Bump peter-evans/create-or-update-comment from 1 to 2 ([@dependabot](https://togithub.com/dependabot)) - [#4561](https://togithub.com/rollup/rollup/pull/4561): Bump peter-evans/find-comment from 1 to 2 ([@dependabot](https://togithub.com/dependabot)) - [#4562](https://togithub.com/rollup/rollup/pull/4562): Bump codecov/codecov-action from 1 to 3 ([@dependabot](https://togithub.com/dependabot)) ### [`v2.75.7`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2757) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.6...v2.75.7) *2022-06-20* ##### Bug Fixes - Mark Array.prototype.group/groupToMap as side effect free. ([#4531](https://togithub.com/rollup/rollup/issues/4531)) ##### Pull Requests - [#4523](https://togithub.com/rollup/rollup/pull/4523): chore: remove source map workaround, bump deps ([@dnalborczyk](https://togithub.com/dnalborczyk)) - [#4525](https://togithub.com/rollup/rollup/pull/4525): Add regression tests for instanceof ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4528](https://togithub.com/rollup/rollup/pull/4528): chore: Set permissions for GitHub actions ([@naveensrinivasan](https://togithub.com/naveensrinivasan)) - [#4531](https://togithub.com/rollup/rollup/pull/4531): fix: rename Array.prototype.group/groupToMap ([@dnalborczyk](https://togithub.com/dnalborczyk)) - [#4535](https://togithub.com/rollup/rollup/pull/4535): chore: bump resolve from 1.22.0 to 1.22.1 ([@pos777](https://togithub.com/pos777)) ### [`v2.75.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2756) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.5...v2.75.6) *2022-06-07* ##### Bug Fixes - Properly deoptimize "this" when using member expressions with getters/setters in for loops and update expressions ([#4522](https://togithub.com/rollup/rollup/issues/4522)) ##### Pull Requests - [#4522](https://togithub.com/rollup/rollup/pull/4522): Refactor side effect handling for property interactions ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.75.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2755) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.4...v2.75.5) *2022-06-01* ##### Bug Fixes - Avoid crashes when using logical expressions for unused constructor arguments ([#4519](https://togithub.com/rollup/rollup/issues/4519)) - Fix missing parameter defaults for calls from try statements and functions returned by functions ([#4520](https://togithub.com/rollup/rollup/issues/4520)) ##### Pull Requests - [#4519](https://togithub.com/rollup/rollup/pull/4519): Try to make logical expression deoptimization more robust ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4520](https://togithub.com/rollup/rollup/pull/4520): Roll back parameter default tree shaking ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.75.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2754) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.3...v2.75.4) *2022-05-31* ##### Bug Fixes - Ensure parameter defaults are retained when a function is used as an object property ([#4516](https://togithub.com/rollup/rollup/issues/4516)) ##### Pull Requests - [#4516](https://togithub.com/rollup/rollup/pull/4516): Deoptimize parameter defaults when referenced from object/array/class literals ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.75.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2753) [Compare Source](https://togithub.com/rollup/rollup/compare/a971f09f6c34c65e71470249783d0dcce02a9468...v2.75.3) *2022-05-29* ##### Bug Fixes - Retain parameter defaults for functions that are defaults themselves ([#4515](https://togithub.com/rollup/rollup/issues/4515)) - Track mutations for objects as default values ([#4515](https://togithub.com/rollup/rollup/issues/4515)) ##### Pull Requests - [#4515](https://togithub.com/rollup/rollup/pull/4515): Ensure parameter defaults are deoptimized ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.75.2`](https://togithub.com/rollup/rollup/compare/v2.75.1...a971f09f6c34c65e71470249783d0dcce02a9468) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.1...a971f09f6c34c65e71470249783d0dcce02a9468) ### [`v2.75.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2751) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.75.0...v2.75.1) *2022-05-28* ##### Pull Requests - [#4513](https://togithub.com/rollup/rollup/pull/4513): Update link to node polyfill repo ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.75.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2750) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.74.1...v2.75.0) *2022-05-27* ##### Features - Re-implement default parameter tree-shaking for top-level functions ([#4510](https://togithub.com/rollup/rollup/issues/4510)) - Do not consider calling string methods like `.trim()` on template literals a side effect ([#4511](https://togithub.com/rollup/rollup/issues/4511)) ##### Pull Requests - [#4510](https://togithub.com/rollup/rollup/pull/4510): Tree-shake parameter defaults (replaces [#4498](https://togithub.com/rollup/rollup/issues/4498)) ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4511](https://togithub.com/rollup/rollup/pull/4511): Tree-shake side-effect-free string methods on template literals ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.74.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2741) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.74.0...v2.74.1) *2022-05-19* ##### Bug Fixes - Revert [#4498](https://togithub.com/rollup/rollup/issues/4498) until some issues are understood and resolved ### [`v2.74.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2740) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.73.0...v2.74.0) *2022-05-19* ##### Features - Remove unneeded default values for function parameters ([#4498](https://togithub.com/rollup/rollup/issues/4498)) ##### Bug Fixes - Use a consistent mechanism to resolve the config file to avoid issues on Windows ([#4501](https://togithub.com/rollup/rollup/issues/4501)) - Avoid an inaccurate warning about an event emitter leak for complicated builds ([#4502](https://togithub.com/rollup/rollup/issues/4502)) - Ensure that reexporting values from other chunks via dynamic imports does not reference non-imported variables ([#4499](https://togithub.com/rollup/rollup/issues/4499)) ##### Pull Requests - [#4498](https://togithub.com/rollup/rollup/pull/4498): Tree shake parameter defaults ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4499](https://togithub.com/rollup/rollup/pull/4499): Ensure reexports are available for namespaces ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4501](https://togithub.com/rollup/rollup/pull/4501): fix: config path problem on windows ([@pos777](https://togithub.com/pos777)) - [#4502](https://togithub.com/rollup/rollup/pull/4502): Avoid maximum listeners exceeded warning ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.73.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2730) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.72.1...v2.73.0) *2022-05-13* ##### Features - Do not treat Object.defineProperty/ies as side effect when called on an unused object ([#4493](https://togithub.com/rollup/rollup/issues/4493)) - Do not assume that assigning a property can create a getter with side effects ([#4493](https://togithub.com/rollup/rollup/issues/4493)) - Do not treat string.prototype.replace(All) as side effect when used with two literals ([#4493](https://togithub.com/rollup/rollup/issues/4493)) ##### Bug Fixes - Detect side effects when manually declaring getters on functions ([#4493](https://togithub.com/rollup/rollup/issues/4493)) ##### Pull Requests - [#4493](https://togithub.com/rollup/rollup/pull/4493): Handle getters on functions and improve property deoptimization ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4494](https://togithub.com/rollup/rollup/pull/4494): Do not treat string.replace as side effect when used with a literal ([@lukastaegert](https://togithub.com/lukastaegert)) - [#4495](https://togithub.com/rollup/rollup/pull/4495): Update docs for --configPlugin using typescript ([@Jimmydalecleveland](https://togithub.com/Jimmydalecleveland)) ### [`v2.72.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2721) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.72.0...v2.72.1) *2022-05-07* ##### Bug Fixes - Improve tree-shaking of classes with super classes in certain scenarios ([#4489](https://togithub.com/rollup/rollup/issues/4489)) ##### Pull Requests - [#4489](https://togithub.com/rollup/rollup/pull/4489): Do not deoptimize entire super class when adding a property ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.72.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2720) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.71.1...v2.72.0) *2022-05-05* ##### Features - Add CLI hooks to run external commands at certain points in watch mode ([#4457](https://togithub.com/rollup/rollup/issues/4457)) ##### Bug Fixes - Fix an issue that could accidentally treat relevant assignments as side effect free ([#4486](https://togithub.com/rollup/rollup/issues/4486)) ##### Pull Requests - [#4457](https://togithub.com/rollup/rollup/pull/4457): feat: CLI event hook flags ([@Harris-Miller](https://togithub.com/Harris-Miller)) - [#4486](https://togithub.com/rollup/rollup/pull/4486): Fix reassignment tracking ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.71.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#2711) [Compare Source](https://togithub.com/rollup/rollup/compare/v2.71.0...v2.71.1) *2022-04-30* ##### Bug Fixes - Allow importing loadConfigFile without extension ([#4483](https://togithub.com/rollup/rollup/issues/4483)) ##### Pull Requests - [#4483](https://togithub.com/rollup/rollup/pull/4483): Add exports exception for loadConfigFile ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v2.71.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.mdConfiguration
📅 Schedule: Branch creation - "before 2am on monday" (UTC), 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.