rollup/rollup (rollup)
### [`v3.29.5`](https://redirect.github.com/rollup/rollup/compare/v3.29.4...dfd233d3a9feb18aa69b49b6c1da0248a4f1c6e3)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.4...v3.29.5)
### [`v3.29.4`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3294)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.3...v3.29.4)
*2023-09-28*
##### Bug Fixes
- Fix static analysis when an exported function uses callbacks ([#5158](https://redirect.github.com/rollup/rollup/issues/5158))
##### Pull Requests
- [#5158](https://redirect.github.com/rollup/rollup/pull/5158): Deoptimize all parameters when losing track of a function ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.29.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3293)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.2...v3.29.3)
*2023-09-24*
##### Bug Fixes
- Fix a bug where code was wrongly tree-shaken after mutating function parameters ([#5153](https://redirect.github.com/rollup/rollup/issues/5153))
##### Pull Requests
- [#5145](https://redirect.github.com/rollup/rollup/pull/5145): docs: improve the docs repl appearance in the light mode ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#5148](https://redirect.github.com/rollup/rollup/pull/5148): chore(deps): update dependency [@vue/eslint-config-typescript](https://redirect.github.com/vue/eslint-config-typescript) to v12 ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5149](https://redirect.github.com/rollup/rollup/pull/5149): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5153](https://redirect.github.com/rollup/rollup/pull/5153): Fully deoptimize first level path when deoptimizing nested parameter paths ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.29.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3292)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.1...v3.29.2)
*2023-09-15*
##### Bug Fixes
- Export `TreeshakingPreset` type ([#5131](https://redirect.github.com/rollup/rollup/issues/5131))
##### Pull Requests
- [#5131](https://redirect.github.com/rollup/rollup/pull/5131): fix: exports `TreeshakingPreset` ([@moltar](https://redirect.github.com/moltar))
- [#5134](https://redirect.github.com/rollup/rollup/pull/5134): docs: steps to enable symlinks on windows ([@thebanjomatic](https://redirect.github.com/thebanjomatic))
- [#5137](https://redirect.github.com/rollup/rollup/pull/5137): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
### [`v3.29.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3291)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.0...v3.29.1)
*2023-09-10*
##### Bug Fixes
- Fix time measurement of plugin hooks in watch mode ([#5114](https://redirect.github.com/rollup/rollup/issues/5114))
- Ensure accessing document.currentScript in import.meta.url returns correct results ([#5118](https://redirect.github.com/rollup/rollup/issues/5118))
##### Pull Requests
- [#5114](https://redirect.github.com/rollup/rollup/pull/5114): fix(perf): avoid superfluous timer wrappings in watch mode ([@ZhengLiu2825](https://redirect.github.com/ZhengLiu2825))
- [#5118](https://redirect.github.com/rollup/rollup/pull/5118): fix: access document.currentScript at the top level ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#5125](https://redirect.github.com/rollup/rollup/pull/5125): chore(deps): update actions/checkout action to v4 ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5126](https://redirect.github.com/rollup/rollup/pull/5126): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5129](https://redirect.github.com/rollup/rollup/pull/5129): re-enbale repl-artefacts workflow for rollup-swc branch ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.29.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3290)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.28.1...v3.29.0)
*2023-09-06*
##### Features
- Add output.sourcemapFileNames option ([#5105](https://redirect.github.com/rollup/rollup/issues/5105))
- Add generic type parameter for `api` to Plugin type ([#5112](https://redirect.github.com/rollup/rollup/issues/5112))
##### Bug Fixes
- Ensure mutations of CustomEvent details are tracked ([#5123](https://redirect.github.com/rollup/rollup/issues/5123))
##### Pull Requests
- [#5105](https://redirect.github.com/rollup/rollup/pull/5105): Added option to name sourcemap files, i.e. a output.sourcemapFileName… ([@atti187](https://redirect.github.com/atti187))
- [#5108](https://redirect.github.com/rollup/rollup/pull/5108): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5109](https://redirect.github.com/rollup/rollup/pull/5109): Docs: load full path of rollup.browser.js for Rollup V4 ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#5112](https://redirect.github.com/rollup/rollup/pull/5112): feat(types): add generic type for plugin api ([@sxzz](https://redirect.github.com/sxzz))
- [#5115](https://redirect.github.com/rollup/rollup/pull/5115): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5123](https://redirect.github.com/rollup/rollup/pull/5123): Deoptimize custom event detail ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.28.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3281)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.28.0...v3.28.1)
*2023-08-22*
##### Bug Fixes
- Ensure external files with relative import paths outside the target are rendered correctly ([#5099](https://redirect.github.com/rollup/rollup/issues/5099))
##### Pull Requests
- [#5093](https://redirect.github.com/rollup/rollup/pull/5093): chore(deps): update dependency eslint-config-prettier to v9 ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5094](https://redirect.github.com/rollup/rollup/pull/5094): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5099](https://redirect.github.com/rollup/rollup/pull/5099): Fix resolution of relative external files outside target directory ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#5101](https://redirect.github.com/rollup/rollup/pull/5101): chore(deps): update dependency lint-staged to v14 ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5102](https://redirect.github.com/rollup/rollup/pull/5102): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
### [`v3.28.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3280)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.27.2...v3.28.0)
*2023-08-09*
##### Features
- Add a new property `preliminaryFileName` to generated chunks containing the file name placeholder ([#5086](https://redirect.github.com/rollup/rollup/issues/5086))
- Improve performance of sourcemap generation by lazily decoding mappings ([#5087](https://redirect.github.com/rollup/rollup/issues/5087))
##### Bug Fixes
- Make the `code` property of rendered modules in the output readonly ([#5091](https://redirect.github.com/rollup/rollup/issues/5091))
##### Pull Requests
- [#5086](https://redirect.github.com/rollup/rollup/pull/5086): feat: add `preliminaryFileName` to `OutputChunk` ([@lsdsjy](https://redirect.github.com/lsdsjy))
- [#5087](https://redirect.github.com/rollup/rollup/pull/5087): perf(sourcemaps): add back lazy sourcemap decode and handling nullish mappings ([@thebanjomatic](https://redirect.github.com/thebanjomatic))
- [#5091](https://redirect.github.com/rollup/rollup/pull/5091): fix: the type of RenderedModule.code is readonly ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.27.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3272)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.27.1...v3.27.2)
*2023-08-04*
##### Bug Fixes
- Revert sourcemap performance improvement for now as it causes issues with Vite ([#5075](https://redirect.github.com/rollup/rollup/issues/5075))
##### Pull Requests
- [#5075](https://redirect.github.com/rollup/rollup/pull/5075): Revert perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://redirect.github.com/thebanjomatic))
### [`v3.27.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3271)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.27.0...v3.27.1)
*2023-08-03*
##### Bug Fixes
- Improve performance when generating sourcemaps ([#5075](https://redirect.github.com/rollup/rollup/issues/5075))
##### Pull Requests
- [#5075](https://redirect.github.com/rollup/rollup/pull/5075): perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://redirect.github.com/thebanjomatic))
### [`v3.27.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3270)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.26.3...v3.27.0)
*2023-07-28*
##### Features
- Mark `Object.values` and `Object.entries` as pure if their argument does not contain getters ([#5072](https://redirect.github.com/rollup/rollup/issues/5072))
##### Pull Requests
- [#5070](https://redirect.github.com/rollup/rollup/pull/5070): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5071](https://redirect.github.com/rollup/rollup/pull/5071): docs(tutorial): change the .js extension to .mjs ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#5072](https://redirect.github.com/rollup/rollup/pull/5072): Add known globals ([@sapphi-red](https://redirect.github.com/sapphi-red))
- [#5078](https://redirect.github.com/rollup/rollup/pull/5078): chore(deps): update dependency [@vue/eslint-config-prettier](https://redirect.github.com/vue/eslint-config-prettier) to v8 ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5079](https://redirect.github.com/rollup/rollup/pull/5079): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
### [`v3.26.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3263)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.26.2...v3.26.3)
*2023-07-17*
##### Bug Fixes
- Do not pass external modules to `manualChunks` to avoid breaking existing configs ([#5068](https://redirect.github.com/rollup/rollup/issues/5068))
##### Pull Requests
- [#5056](https://redirect.github.com/rollup/rollup/pull/5056): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5059](https://redirect.github.com/rollup/rollup/pull/5059): chore(config): migrate renovate config ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5064](https://redirect.github.com/rollup/rollup/pull/5064): chore(deps): update dependency prettier to v3 ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5065](https://redirect.github.com/rollup/rollup/pull/5065): chore(deps): update typescript-eslint monorepo to v6 (major) ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5068](https://redirect.github.com/rollup/rollup/pull/5068): fix: don't pass external modules to the manualChunks function ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.26.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3262)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.26.1...v3.26.2)
*2023-07-06*
##### Bug Fixes
- Improve error handling when manual chunks would contain external modules ([#5050](https://redirect.github.com/rollup/rollup/issues/5050))
##### Pull Requests
- [#5050](https://redirect.github.com/rollup/rollup/pull/5050): fix: improve error for manualChunks' modules that are resolved as an external module ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.26.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3261)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.26.0...v3.26.1)
*2023-07-05*
##### Bug Fixes
- Support `hasOwnProperty` as exported name in CommonJS ([#5010](https://redirect.github.com/rollup/rollup/issues/5010))
- Properly reference browser types in package file ([#5051](https://redirect.github.com/rollup/rollup/issues/5051))
##### Pull Requests
- [#5010](https://redirect.github.com/rollup/rollup/pull/5010): safe hasOwnProperty call ([@LongTengDao](https://redirect.github.com/LongTengDao))
- [#5051](https://redirect.github.com/rollup/rollup/pull/5051): [@rollup/browser](https://redirect.github.com/rollup/browser): fix types export map entry ([@developit](https://redirect.github.com/developit))
### [`v3.26.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3260)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.25.3...v3.26.0)
*2023-06-30*
##### Features
- Add `--filterLogs` CLI flag and `ROLLUP_FILTER_LOGS` environment variable for log filtering ([#5035](https://redirect.github.com/rollup/rollup/issues/5035))
##### Pull Requests
- [#5035](https://redirect.github.com/rollup/rollup/pull/5035): Add ability to filter logs via CLI option or environment variable ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#5049](https://redirect.github.com/rollup/rollup/pull/5049): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
### [`v3.25.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3253)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.25.2...v3.25.3)
*2023-06-26*
##### Bug Fixes
- Fix error when inlining dynamic imports that contain unused reexported variables ([#5047](https://redirect.github.com/rollup/rollup/issues/5047))
##### Pull Requests
- [#5047](https://redirect.github.com/rollup/rollup/pull/5047): Do not add tree-shaken variables to namespaces when inlining dynamic imports ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.25.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3252)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.25.1...v3.25.2)
*2023-06-24*
##### Bug Fixes
- Handle plugin errors where `code` is not a string ([#5042](https://redirect.github.com/rollup/rollup/issues/5042))
- Use current transformed source when generating code frames with positions in transform hooks ([#5045](https://redirect.github.com/rollup/rollup/issues/5045))
##### Pull Requests
- [#5038](https://redirect.github.com/rollup/rollup/pull/5038): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5040](https://redirect.github.com/rollup/rollup/pull/5040): Fix typo in index.md ([@vHeemstra](https://redirect.github.com/vHeemstra))
- [#5042](https://redirect.github.com/rollup/rollup/pull/5042): fix: a plugin error can contains numeric code ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#5045](https://redirect.github.com/rollup/rollup/pull/5045): Fix `this.error` with `pos` in `transform` hook ([@sapphi-red](https://redirect.github.com/sapphi-red))
- [#5046](https://redirect.github.com/rollup/rollup/pull/5046): chore(deps): update dependency locate-character to v3 ([@renovate](https://redirect.github.com/renovate)\[bot])
### [`v3.25.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3251)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.25.0...v3.25.1)
*2023-06-12*
##### Bug Fixes
- Respect `__NO_SIDE_EFFECTS__` for async functions ([#5031](https://redirect.github.com/rollup/rollup/issues/5031))
##### Pull Requests
- [#5031](https://redirect.github.com/rollup/rollup/pull/5031): fix: `__NO_SIDE_EFFECTS__` annotation for async function ([@antfu](https://redirect.github.com/antfu))
### [`v3.25.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3250)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.24.1...v3.25.0)
*2023-06-11*
##### Features
- Add `this.info` and `this.debug` plugin context logging functions ([#5026](https://redirect.github.com/rollup/rollup/issues/5026))
- Add `onLog` option to read, map and filter logs ([#5026](https://redirect.github.com/rollup/rollup/issues/5026))
- Add `logLevel` option to fully suppress logs by level ([#5026](https://redirect.github.com/rollup/rollup/issues/5026))
- Support function logs in `this.warn`, `this.info` and `this.debug` to avoid heavy computations based on log level ([#5026](https://redirect.github.com/rollup/rollup/issues/5026))
- Add `onLog` plugin hook to read, filter and map logs from plugins ([#5026](https://redirect.github.com/rollup/rollup/issues/5026))
##### Pull Requests
- [#5026](https://redirect.github.com/rollup/rollup/pull/5026): Add Logging API ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.24.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3241)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.24.0...v3.24.1)
*2023-06-10*
##### Bug Fixes
- Fix an issue where bundles with `@rollup/plugin-commonjs` were missing internal dependencies when code-splitting ([#5029](https://redirect.github.com/rollup/rollup/issues/5029))
- Do not use `process.exit(0)` in watch mode to avoid issues in embedded scenarios ([#5027](https://redirect.github.com/rollup/rollup/issues/5027))
##### Pull Requests
- [#5027](https://redirect.github.com/rollup/rollup/pull/5027): fix turborepo with rollup --watch ([@plumber-dhaval](https://redirect.github.com/plumber-dhaval))
- [#5028](https://redirect.github.com/rollup/rollup/pull/5028): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5029](https://redirect.github.com/rollup/rollup/pull/5029): fix: get right sideEffectModules ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.24.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3240)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.23.1...v3.24.0)
*2023-06-07*
##### Features
- Add new annotation `/* #__NO_SIDE_EFFECTS__ */` to mark function declarations as side effect free ([#5024](https://redirect.github.com/rollup/rollup/issues/5024))
##### Pull Requests
- [#5024](https://redirect.github.com/rollup/rollup/pull/5024): feat: support `#__NO_SIDE_EFFECTS__` annotation for function declaration ([@antfu](https://redirect.github.com/antfu))
### [`v3.23.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3231)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.23.0...v3.23.1)
*2023-06-04*
##### Bug Fixes
- Ensure the last segment of sourcemapBaseUrl is never omitted ([#5022](https://redirect.github.com/rollup/rollup/issues/5022))
##### Pull Requests
- [#5006](https://redirect.github.com/rollup/rollup/pull/5006): Better workflow caching ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#5012](https://redirect.github.com/rollup/rollup/pull/5012): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5022](https://redirect.github.com/rollup/rollup/pull/5022): fix: add a trailing slash automatically for sourcemapBaseUrl ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#5023](https://redirect.github.com/rollup/rollup/pull/5023): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
### [`v3.23.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3230)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.22.1...v3.23.0)
*2023-05-22*
##### Features
- Support emitting "prebuilt chunks" from plugins ([#4990](https://redirect.github.com/rollup/rollup/issues/4990))
##### Bug Fixes
- Mark Sets and Maps as pure when they receive an array literal as argument ([#5005](https://redirect.github.com/rollup/rollup/issues/5005))
##### Pull Requests
- [#4990](https://redirect.github.com/rollup/rollup/pull/4990): feat: this.emitFile support prebuilt-chunk type ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#5005](https://redirect.github.com/rollup/rollup/pull/5005): feat: mark Set, Map, WeakSet and WeakMap with array arguments as pure ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.22.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3221)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.22.0...v3.22.1)
*2023-05-21*
##### Bug Fixes
- Remove force quit again as it caused some issues ([#5004](https://redirect.github.com/rollup/rollup/issues/5004))
##### Pull Requests
- [#5001](https://redirect.github.com/rollup/rollup/pull/5001): chore(deps): update dependency [@rollup/plugin-commonjs](https://redirect.github.com/rollup/plugin-commonjs) to v25 ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5002](https://redirect.github.com/rollup/rollup/pull/5002): chore(deps): update dependency eslint-plugin-unicorn to v47 ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5003](https://redirect.github.com/rollup/rollup/pull/5003): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#5004](https://redirect.github.com/rollup/rollup/pull/5004): Do not force quit Rollup or close stdout ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.22.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3220)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.8...v3.22.0)
*2023-05-17*
##### Features
- Prevent empty non-facade chunks by merging them into other suitable chunks ([#4989](https://redirect.github.com/rollup/rollup/issues/4989))
- Avoid facade chunks in some situations involving reexports ([#4989](https://redirect.github.com/rollup/rollup/issues/4989))
- Improve algorithm for best merge target when using `experimentalMinChunkSize` to take tree-shaking into account ([#4989](https://redirect.github.com/rollup/rollup/issues/4989))
##### Bug Fixes
- Take side effects of external dependencies into account when merging chunks for `experimentalMinChunkSize` ([#4989](https://redirect.github.com/rollup/rollup/issues/4989))
##### Pull Requests
- [#4989](https://redirect.github.com/rollup/rollup/pull/4989): Prevent empty chunks and thoroughly improve experimentalMinChunkSize ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.21.8`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3218)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.7...v3.21.8)
*2023-05-16*
##### Bug Fixes
- Allow a namespace to properly contain itself as a named export ([#4991](https://redirect.github.com/rollup/rollup/issues/4991))
##### Pull Requests
- [#4991](https://redirect.github.com/rollup/rollup/pull/4991): Handle self-referencing namespaces ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.21.7`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3217)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.6...v3.21.7)
*2023-05-13*
##### Bug Fixes
- Show correct error on uncaught exceptions in watch mode ([#4987](https://redirect.github.com/rollup/rollup/issues/4987))
##### Pull Requests
- [#4987](https://redirect.github.com/rollup/rollup/pull/4987): Properly quit on uncaught exceptions ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4988](https://redirect.github.com/rollup/rollup/pull/4988): test: add options type for function tests ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.21.6`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3216)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.5...v3.21.6)
*2023-05-09*
##### Bug Fixes
- Ensure Rollup CLI prints everything to stdout before exiting ([#4980](https://redirect.github.com/rollup/rollup/issues/4980))
##### Pull Requests
- [#4980](https://redirect.github.com/rollup/rollup/pull/4980): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot])
- [#4983](https://redirect.github.com/rollup/rollup/pull/4983): Prevent exit before stdout is drained ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.21.5`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3215)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.4...v3.21.5)
*2023-05-05*
##### Bug Fixes
- Keep all consecutive lines at the top of each module that start with a comment ([#4975](https://redirect.github.com/rollup/rollup/issues/4975))
- Ensure that declarations inside switch cases do not use the same scope as the discriminator ([#4979](https://redirect.github.com/rollup/rollup/issues/4979))
##### Pull Requests
- [#4975](https://redirect.github.com/rollup/rollup/pull/4975): Keep leading comments on consecutive lines ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4979](https://redirect.github.com/rollup/rollup/pull/4979): Use correct scope in switch statements ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.21.4`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3214)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.3...v3.21.4)
*2023-05-03*
##### Bug Fixes
- Resolve crash when shimming a missing export in an otherwise non-included module when preserving modules ([#4971](https://redirect.github.com/rollup/rollup/issues/4971))
##### Pull Requests
- [#4971](https://redirect.github.com/rollup/rollup/pull/4971): Handle shimming missing exports when preserving modules ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4972](https://redirect.github.com/rollup/rollup/pull/4972): Configure Renovate ([@renovate](https://redirect.github.com/renovate)\[bot])
### [`v3.21.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3213)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.2...v3.21.3)
*2023-05-02*
##### Bug Fixes
- Run `process.exit()` when Rollup CLI finishes successfully to solve issues on some systems ([#4969](https://redirect.github.com/rollup/rollup/issues/4969))
##### Pull Requests
- [#4954](https://redirect.github.com/rollup/rollup/pull/4954): test: enable typecheck for \_config files ([@antfu](https://redirect.github.com/antfu))
- [#4969](https://redirect.github.com/rollup/rollup/pull/4969): Automatically force close Rollup when done ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.21.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3212)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.1...v3.21.2)
*2023-04-30*
##### Bug Fixes
- Mark global functions that trigger iterators as impure for now ([#4955](https://redirect.github.com/rollup/rollup/issues/4955))
##### Pull Requests
- [#4955](https://redirect.github.com/rollup/rollup/pull/4955): fix: mark some known globals or their functions as impure ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.21.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3211)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.0...v3.21.1)
*2023-04-29*
##### Bug Fixes
- Make sure call arguments are properly deoptimized when a function uses the `arguments` variable ([#4965](https://redirect.github.com/rollup/rollup/issues/4965))
##### Pull Requests
- [#4957](https://redirect.github.com/rollup/rollup/pull/4957): Update dependencies ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4964](https://redirect.github.com/rollup/rollup/pull/4964): Fix REPL in dev ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4965](https://redirect.github.com/rollup/rollup/pull/4965): Ensure arguments are deoptimized when arguments variable is used ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4967](https://redirect.github.com/rollup/rollup/pull/4967): Log REPL output to console ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.21.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3210)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.7...v3.21.0)
*2023-04-23*
##### Features
- Support tree-shaking of named exports in dynamic imports when using destructuring and similar patterns ([#4952](https://redirect.github.com/rollup/rollup/issues/4952))
##### Pull Requests
- [#4952](https://redirect.github.com/rollup/rollup/pull/4952): feat: tree-shake deterministic dynamic imports ([@antfu](https://redirect.github.com/antfu))
### [`v3.20.7`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3207)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.6...v3.20.7)
*2023-04-21*
##### Bug Fixes
- Properly track array element mutations when iterating with a for-of loop ([#4949](https://redirect.github.com/rollup/rollup/issues/4949))
- Handle default exporting an anonymous class that extends another class ([#4950](https://redirect.github.com/rollup/rollup/issues/4950))
##### Pull Requests
- [#4943](https://redirect.github.com/rollup/rollup/pull/4943): Add a test for reserved keywords used as import/export specifiers ([@Andarist](https://redirect.github.com/Andarist))
- [#4949](https://redirect.github.com/rollup/rollup/pull/4949): Deoptimize right side in for-of loops ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4950](https://redirect.github.com/rollup/rollup/pull/4950): Support default exported classes that extend other classes ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.20.6`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3206)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.5...v3.20.6)
*2023-04-18*
##### Bug Fixes
- Revert handling of non-JS import and export names due to regressions ([#4914](https://redirect.github.com/rollup/rollup/issues/4914))
##### Pull Requests
- [#4914](https://redirect.github.com/rollup/rollup/pull/4914): feat: add locales in vitepress config ([@iDestin](https://redirect.github.com/iDestin))
- [#4946](https://redirect.github.com/rollup/rollup/pull/4946): Revert [#4939](https://redirect.github.com/rollup/rollup/issues/4939) for now ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.20.5`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3205)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.4...v3.20.5)
*2023-04-18*
##### Bug Fixes
- Handle import and export names that are not valid JavaScript identifiers ([#4939](https://redirect.github.com/rollup/rollup/issues/4939))
##### Pull Requests
- [#4939](https://redirect.github.com/rollup/rollup/pull/4939): Fixed imports/exports that are illegal identifiers in the es output ([@Andarist](https://redirect.github.com/Andarist))
- [#4941](https://redirect.github.com/rollup/rollup/pull/4941): Reinstate global styles ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.20.4`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3204)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.3...v3.20.4)
*2023-04-17*
##### Bug Fixes
- Do not remove breaks statements after switch statements with conditional breaks ([#4937](https://redirect.github.com/rollup/rollup/issues/4937))
##### Pull Requests
- [#4937](https://redirect.github.com/rollup/rollup/pull/4937): fix: handle conditional breaks in nested switch statement cases ([@TrickyPi](https://redirect.github.com/TrickyPi) and [@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.20.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3203)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.2...v3.20.3)
*2023-04-16*
##### Bug Fixes
- Reduce memory consumption for function call parameter analysis ([#4938](https://redirect.github.com/rollup/rollup/issues/4938))
- Fix types for `shouldTransformCachedModule` ([#4932](https://redirect.github.com/rollup/rollup/issues/4932))
##### Pull Requests
- [#4925](https://redirect.github.com/rollup/rollup/pull/4925): chore: repl style add scoped ([@btea](https://redirect.github.com/btea))
- [#4926](https://redirect.github.com/rollup/rollup/pull/4926): docs: Update the x_google_ignorelist url ([@jecfish](https://redirect.github.com/jecfish))
- [#4932](https://redirect.github.com/rollup/rollup/pull/4932): Allow shouldTransformCachedModule to return null ([@bluwy](https://redirect.github.com/bluwy))
- [#4935](https://redirect.github.com/rollup/rollup/pull/4935): Bump peter-evans/create-or-update-comment from 2 to 3 ([@dependabot](https://redirect.github.com/dependabot)\[bot])
- [#4936](https://redirect.github.com/rollup/rollup/pull/4936): Disable puppeteer sandbox to fix Vercel deployment ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4938](https://redirect.github.com/rollup/rollup/pull/4938): Improve memory usage for parameter deoptimizations ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.20.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3202)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.1...v3.20.2)
*2023-03-24*
##### Bug Fixes
- Fix a crash when using a manual chunk entry that is not already included in the module graph ([#4921](https://redirect.github.com/rollup/rollup/issues/4921))
- Fix a crash when reporting a warning with incorrect sourcemap information ([#4922](https://redirect.github.com/rollup/rollup/issues/4922))
##### Pull Requests
- [#4921](https://redirect.github.com/rollup/rollup/pull/4921): Handle manual chunks where the entry is not part of the module graph ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4922](https://redirect.github.com/rollup/rollup/pull/4922): Do not fail if the location of a warning is outside the original source ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.20.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3201)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.0...v3.20.1)
*2023-03-23*
##### Bug Fixes
- Fix returned file name from this.getFileName when assets are deduplicated ([#4919](https://redirect.github.com/rollup/rollup/issues/4919))
##### Pull Requests
- [#4919](https://redirect.github.com/rollup/rollup/pull/4919): Only set asset names when finalizing ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.20.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3200)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.19.1...v3.20.0)
*2023-03-20*
##### Features
- Allow dynamically imported files to have synthetic named exports when preserving modules ([#4913](https://redirect.github.com/rollup/rollup/issues/4913))
##### Bug Fixes
- Use deterministic file name when emitting several files with same source ([#4912](https://redirect.github.com/rollup/rollup/issues/4912))
- Fix a crash when dynamically importing a file with synthetic named exports when preserving modules ([#4913](https://redirect.github.com/rollup/rollup/issues/4913))
##### Pull Requests
- [#4912](https://redirect.github.com/rollup/rollup/pull/4912): fix: make file name deterministic in parallel emits (fix [#4909](https://redirect.github.com/rollup/rollup/issues/4909)) ([@sun0day](https://redirect.github.com/sun0day))
- [#4913](https://redirect.github.com/rollup/rollup/pull/4913): Provide synthetic namespace for dynamic imports when perserving modules ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.19.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3191)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.19.0...v3.19.1)
*2023-03-10*
##### Bug Fixes
- Produce valid code when the first statement in aclass static block is tree-shaken ([#4898](https://redirect.github.com/rollup/rollup/issues/4898))
##### Pull Requests
- [#4898](https://redirect.github.com/rollup/rollup/pull/4898): fix: set a correct node location for static blocks ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#4900](https://redirect.github.com/rollup/rollup/pull/4900): docs: fix table at `output.sanitizeFileName` section ([@0x009922](https://redirect.github.com/0x009922))
### [`v3.19.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3190)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.18.0...v3.19.0)
*2023-03-09*
##### Features
- Make reassignment tracking of call parameters more specific to no lose information when an object is passed to a function ([#4892](https://redirect.github.com/rollup/rollup/issues/4892))
##### Pull Requests
- [#4890](https://redirect.github.com/rollup/rollup/pull/4890): Fix `npm run dev` ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4892](https://redirect.github.com/rollup/rollup/pull/4892): Only selectively deoptimize call parameters ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4897](https://redirect.github.com/rollup/rollup/pull/4897): Pre-render mermaid graphs on website ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.18.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3180)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.17.3...v3.18.0)
*2023-03-01*
##### Features
- Add `experimentalLogSideEffects` to log the first detected side effect in every module ([#4871](https://redirect.github.com/rollup/rollup/issues/4871))
- Ignore-list sourcemaps of files inside node_modules by default ([#4877](https://redirect.github.com/rollup/rollup/issues/4877))
##### Pull Requests
- [#4871](https://redirect.github.com/rollup/rollup/pull/4871): Add experimental logging for side effects ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4877](https://redirect.github.com/rollup/rollup/pull/4877): feat: mark files in a `node_modules` as ignore-listed by default ([@bmeurer](https://redirect.github.com/bmeurer))
- [#4880](https://redirect.github.com/rollup/rollup/pull/4880): build: use [@rollup/plugin-replace](https://redirect.github.com/rollup/plugin-replace) to replace chokidar fsevents ([@dnalborczyk](https://redirect.github.com/dnalborczyk))
- [#4887](https://redirect.github.com/rollup/rollup/pull/4887): Refactor ([@dnalborczyk](https://redirect.github.com/dnalborczyk))
### [`v3.17.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3173)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.17.2...v3.17.3)
*2023-02-25*
##### Bug Fixes
- Handle non-URL-safe characters when poly-filling import.meta.url ([#4875](https://redirect.github.com/rollup/rollup/issues/4875))
##### Pull Requests
- [#4870](https://redirect.github.com/rollup/rollup/pull/4870): fix: style optimization in dark mode ([@huodoushigemi](https://redirect.github.com/huodoushigemi))
- [#4875](https://redirect.github.com/rollup/rollup/pull/4875): Fix transformation of `import.meta.url` in CommonJS ([@fasttime](https://redirect.github.com/fasttime))
- [#4876](https://redirect.github.com/rollup/rollup/pull/4876): fix: wrong params of the transform hook ([@ZzqiZQute](https://redirect.github.com/ZzqiZQute))
- [#4878](https://redirect.github.com/rollup/rollup/pull/4878): Improve test stability ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.17.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3172)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.17.1...v3.17.2)
*2023-02-20*
##### Bug Fixes
- Do not omit code if a file that only re-exports a used variable has `moduleSideEffects` set to `true` ([#4867](https://redirect.github.com/rollup/rollup/issues/4867))
- Add missing `needsCodeReference` property in TypeScript for asset tree-shaking ([#4868](https://redirect.github.com/rollup/rollup/issues/4868))
- Add correct side effect configuration for additional Object and Promise methods ([#4323](https://redirect.github.com/rollup/rollup/issues/4323))
##### Pull Requests
- [#4323](https://redirect.github.com/rollup/rollup/pull/4323): feat: add known globals ([@dnalborczyk](https://redirect.github.com/dnalborczyk))
- [#4867](https://redirect.github.com/rollup/rollup/pull/4867): Include side effects of re-exporters unless they have moduleSideEffects: false ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4868](https://redirect.github.com/rollup/rollup/pull/4868): Add `needsCodeReference` property to `EmittedAsset` ([@sapphi-red](https://redirect.github.com/sapphi-red))
### [`v3.17.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3171)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.17.0...v3.17.1)
*2023-02-18*
##### Bug Fixes
- Add TypeScript types for `loadConfigFile` ([#4853](https://redirect.github.com/rollup/rollup/issues/4853))
- Fix an issue that could include unused classes in the bundle if their super class was in a file with `moduleSideEffects: false` ([#4866](https://redirect.github.com/rollup/rollup/issues/4866))
##### Pull Requests
- [#4853](https://redirect.github.com/rollup/rollup/pull/4853): feat: export loadConfigFile type ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#4866](https://redirect.github.com/rollup/rollup/pull/4866): Do not mark variable access in files without side effects as TDZ ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.17.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3170)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.16.0...v3.17.0)
*2023-02-18*
##### Features
- Deprecate `experimentalDeepDynamicChunkOptimization` and always run the full chunk generation algorithm ([#4862](https://redirect.github.com/rollup/rollup/issues/4862))
##### Bug Fixes
- Fix an issue that caused very slow builds for projects with over 1000 dynamic imports when `experimentalDeepDynamicChunkOptimization` was enabled ([#4862](https://redirect.github.com/rollup/rollup/issues/4862))
##### Pull Requests
- [#4862](https://redirect.github.com/rollup/rollup/pull/4862): Improve chunking performance ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.16.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3160)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.15.0...v3.16.0)
*2023-02-17*
##### Features
- Support `output.sourcemapIgnoreList` option to mark file sources as ignored in the `x_google_ignoreList` attribute of the resulting sourcemap ([#4848](https://redirect.github.com/rollup/rollup/issues/4848))
- Support sourcemaps where `sourcesContent` contains `null` entries ([#4846](https://redirect.github.com/rollup/rollup/issues/4846))
- Allow explicitly passing `true` for the `cache` option to override Vite's default ([#4859](https://redirect.github.com/rollup/rollup/issues/4859))
##### Bug Fixes
- Fix an issue where unrelated side effects spilled into other chunks when using the `experimentalMinChunkSize` option ([#4851](https://redirect.github.com/rollup/rollup/issues/4851))
##### Pull Requests
- [#4846](https://redirect.github.com/rollup/rollup/pull/4846): Update magic-string and adjust types. ([@bmeurer](https://redirect.github.com/bmeurer))
- [#4848](https://redirect.github.com/rollup/rollup/pull/4848): Introduce `sourcemapIgnoreList` predicate. ([@bmeurer](https://redirect.github.com/bmeurer))
- [#4851](https://redirect.github.com/rollup/rollup/pull/4851): Fix chunk graph update when merging chunks for minChunkSize ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4852](https://redirect.github.com/rollup/rollup/pull/4852): docs: make api params more readable ([@cunzaizhuyi](https://redirect.github.com/cunzaizhuyi))
- [#4856](https://redirect.github.com/rollup/rollup/pull/4856): simplify code in includeStatements ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#4859](https://redirect.github.com/rollup/rollup/pull/4859): Allow to pass "true" to InputOptions.cache ([@danielrentz](https://redirect.github.com/danielrentz))
### [`v3.15.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3150)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.14.0...v3.15.0)
*2023-02-10*
##### Features
- Do not consider instantiating a constructor a side effect if it adds properties to "this" and is instantiated elsewhere ([#4842](https://redirect.github.com/rollup/rollup/issues/4842))
##### Bug Fixes
- Improve side effect detection in constructors ([#4842](https://redirect.github.com/rollup/rollup/issues/4842))
##### Pull Requests
- [#4842](https://redirect.github.com/rollup/rollup/pull/4842): fix: add this option to context.ignore ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#4843](https://redirect.github.com/rollup/rollup/pull/4843): fixed the logo link ([@oMatheuss](https://redirect.github.com/oMatheuss))
- [#4844](https://redirect.github.com/rollup/rollup/pull/4844): Update index.md ([@cunzaizhuyi](https://redirect.github.com/cunzaizhuyi))
- [#4845](https://redirect.github.com/rollup/rollup/pull/4845): docs: fix style ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.14.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3140)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.13.0...v3.14.0)
*2023-02-05*
##### Features
- Add `experimentalDeepDynamicChunkOptimization` option to produce fewer chunks from dynamic imports ([#4837](https://redirect.github.com/rollup/rollup/issues/4837))
##### Pull Requests
- [#4837](https://redirect.github.com/rollup/rollup/pull/4837): Add flag to re-enable deep dynamic chunk optimization ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4839](https://redirect.github.com/rollup/rollup/pull/4839): fix: correct incorrect assertions ([@TrickyPi](https://redirect.github.com/TrickyPi))
### [`v3.13.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3130)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.12.1...v3.13.0)
*2023-02-03*
##### Features
- Prevent chunk cycles when using `experimentalMinChunkSize` ([#4723](https://redirect.github.com/rollup/rollup/issues/4723))
##### Pull Requests
- [#4723](https://redirect.github.com/rollup/rollup/pull/4723): Improve minChunkSize algorithm ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4833](https://redirect.github.com/rollup/rollup/pull/4833): docs: Fix typo ([@mturoci](https://redirect.github.com/mturoci))
- [#4835](https://redirect.github.com/rollup/rollup/pull/4835): Tables in docs ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.12.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3121)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.12.0...v3.12.1)
*2023-02-01*
##### Bug Fixes
- Handle self-references in class static blocks and construtors when the class is renamed ([#4827](https://redirect.github.com/rollup/rollup/issues/4827))
- Improve warnings when creating circular chunks taht reexport variables ([#4829](https://redirect.github.com/rollup/rollup/issues/4829))
##### Pull Requests
- [#4827](https://redirect.github.com/rollup/rollup/pull/4827): fix: use the original class name in the class body ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#4829](https://redirect.github.com/rollup/rollup/pull/4829): Improve and fix cross-chunk-reexport warning ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4830](https://redirect.github.com/rollup/rollup/pull/4830): Add Algolia doc search ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4831](https://redirect.github.com/rollup/rollup/pull/4831): Add warning not to add assets directly to the bundle ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.12.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3120)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.11.0...v3.12.0)
*2023-01-28*
##### Features
- Change generated external namespace reexport helper code for CommonJS to better work with NodeJS named export detection ([#4826](https://redirect.github.com/rollup/rollup/issues/4826))
##### Pull Requests
- [#4825](https://redirect.github.com/rollup/rollup/pull/4825): Add and use anchors for nested options ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4826](https://redirect.github.com/rollup/rollup/pull/4826): Use old namespace reexport code pattern for better Node support ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.11.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3110)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.10.1...v3.11.0)
*2023-01-26*
##### Features
- Support opt-in tree-shaking for emitted assets based on code references ([#4805](https://redirect.github.com/rollup/rollup/issues/4805))
##### Bug Fixes
- Adapt documentation references in Rollup to new website ([#4807](https://redirect.github.com/rollup/rollup/issues/4807))
##### Pull Requests
- [#4805](https://redirect.github.com/rollup/rollup/pull/4805): feat: add needsCodeReference field to EmittedAsset ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#4807](https://redirect.github.com/rollup/rollup/pull/4807): Rewrite website in Vitepress and merge it into the main repository ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4816](https://redirect.github.com/rollup/rollup/pull/4816): web-publisher: Update docs/faqs/index.md ([@PuruVJ](https://redirect.github.com/PuruVJ))
- [#4819](https://redirect.github.com/rollup/rollup/pull/4819): Replace fs-extra with built-ins ([@dnalborczyk](https://redirect.github.com/dnalborczyk))
- [#4820](https://redirect.github.com/rollup/rollup/pull/4820): Introduce timeout-minutes in Github actions ci ([@dnalborczyk](https://redirect.github.com/dnalborczyk))
- [#4822](https://redirect.github.com/rollup/rollup/pull/4822): Tweak document landing page ([@sapphi-red](https://redirect.github.com/sapphi-red))
- [#4823](https://redirect.github.com/rollup/rollup/pull/4823): Minor migration guide improvements ([@sapphi-red](https://redirect.github.com/sapphi-red))
- [#4824](https://redirect.github.com/rollup/rollup/pull/4824): Add most options to the REPL ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.10.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3101)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.10.0...v3.10.1)
*2023-01-20*
##### Bug Fixes
- Fix some crashes when using optional chaining with namespaces and improve tree-shaking ([#4812](https://redirect.github.com/rollup/rollup/issues/4812))
- Avoid wrongly removed code when using optional chaining ([#4812](https://redirect.github.com/rollup/rollup/issues/4812))
##### Pull Requests
- [#4809](https://redirect.github.com/rollup/rollup/pull/4809): fix: rollup bin file is in dist folder ([@saibotsivad](https://redirect.github.com/saibotsivad))
- [#4812](https://redirect.github.com/rollup/rollup/pull/4812): Rework tree-shaking support for optional chaining ([@lukastaegert](https://redirect.github.com/lukastaegert))
### [`v3.10.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3100)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.9.1...v3.10.0)
*2023-01-12*
##### Features
- Add information about the resolving plugin to resolved ids ([#4789](https://redirect.github.com/rollup/rollup/issues/4789))
- Improve treeshaking for optional chaining when the root is nullish ([#4797](https://redirect.github.com/rollup/rollup/issues/4797))
##### Bug Fixes
- Remove unnecessary internal defaults for acorn options ([#4786](https://redirect.github.com/rollup/rollup/issues/4786))
##### Pull Requests
- [#4785](https://redirect.github.com/rollup/rollup/pull/4785): Use [@jridgewell/sourcemap-codec](https://redirect.github.com/jridgewell/sourcemap-codec) ([@bluwy](https://redirect.github.com/bluwy))
- [#4786](https://redirect.github.com/rollup/rollup/pull/4786): Remove default acorn options + other fixes ([@dnalborczyk](https://redirect.github.com/dnalborczyk))
- [#4789](https://redirect.github.com/rollup/rollup/pull/4789): feat: add `resolvedBy` field to `ResolvedId` ([@TrickyPi](https://redirect.github.com/TrickyPi))
- [#4794](https://redirect.github.com/rollup/rollup/pull/4794): fix: import can be shortened ([@cunzaizhuyi](https://redirect.github.com/cunzaizhuyi))
- [#4796](https://redirect.github.com/rollup/rollup/pull/4796): Update dependencies ([@lukastaegert](https://redirect.github.com/lukastaegert))
- [#4797](https://redirect.github.com/rollup/rollup/pull/4797): feat: treeshake for optional chaining ([@antfu](https://redirect.github.com/antfu))
### [`v3.9.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#391)
[Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.9.0...v3.9.1)
*2023-01-02*
##### Bug Fixes
- Sort keys in generated dynamic namespace objects ([#4780](https://redirect.github.com/rollup/rollup/issues/4780))
- Do not consider Array.group to be side effect free as the specs have changed ([#4779](https://redirect.github.com/rollup/rollup/issues/4779))
##### Pull Requests
- [#4777](https://redirect.github.com/rollup/rollup/pull/4777): Import from node:fs/promises ([@dnalborczyk](https://redirect.github.com/dnalborczyk))
- [#4778](https://redirect.github.com/rollup/rollup/pull/4778): Bump deps ([@dnalborczyk](https://redirect.github.com/dnalborczyk))
- [#4779](https://redirect.github.com/rollup/rollup/pull/4779): Remove array grouping (web compat issue) ([@R
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
3.3.0
->3.29.5
Release Notes
rollup/rollup (rollup)
### [`v3.29.5`](https://redirect.github.com/rollup/rollup/compare/v3.29.4...dfd233d3a9feb18aa69b49b6c1da0248a4f1c6e3) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.4...v3.29.5) ### [`v3.29.4`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3294) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.3...v3.29.4) *2023-09-28* ##### Bug Fixes - Fix static analysis when an exported function uses callbacks ([#5158](https://redirect.github.com/rollup/rollup/issues/5158)) ##### Pull Requests - [#5158](https://redirect.github.com/rollup/rollup/pull/5158): Deoptimize all parameters when losing track of a function ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.29.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3293) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.2...v3.29.3) *2023-09-24* ##### Bug Fixes - Fix a bug where code was wrongly tree-shaken after mutating function parameters ([#5153](https://redirect.github.com/rollup/rollup/issues/5153)) ##### Pull Requests - [#5145](https://redirect.github.com/rollup/rollup/pull/5145): docs: improve the docs repl appearance in the light mode ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#5148](https://redirect.github.com/rollup/rollup/pull/5148): chore(deps): update dependency [@vue/eslint-config-typescript](https://redirect.github.com/vue/eslint-config-typescript) to v12 ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5149](https://redirect.github.com/rollup/rollup/pull/5149): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5153](https://redirect.github.com/rollup/rollup/pull/5153): Fully deoptimize first level path when deoptimizing nested parameter paths ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.29.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3292) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.1...v3.29.2) *2023-09-15* ##### Bug Fixes - Export `TreeshakingPreset` type ([#5131](https://redirect.github.com/rollup/rollup/issues/5131)) ##### Pull Requests - [#5131](https://redirect.github.com/rollup/rollup/pull/5131): fix: exports `TreeshakingPreset` ([@moltar](https://redirect.github.com/moltar)) - [#5134](https://redirect.github.com/rollup/rollup/pull/5134): docs: steps to enable symlinks on windows ([@thebanjomatic](https://redirect.github.com/thebanjomatic)) - [#5137](https://redirect.github.com/rollup/rollup/pull/5137): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) ### [`v3.29.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3291) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.29.0...v3.29.1) *2023-09-10* ##### Bug Fixes - Fix time measurement of plugin hooks in watch mode ([#5114](https://redirect.github.com/rollup/rollup/issues/5114)) - Ensure accessing document.currentScript in import.meta.url returns correct results ([#5118](https://redirect.github.com/rollup/rollup/issues/5118)) ##### Pull Requests - [#5114](https://redirect.github.com/rollup/rollup/pull/5114): fix(perf): avoid superfluous timer wrappings in watch mode ([@ZhengLiu2825](https://redirect.github.com/ZhengLiu2825)) - [#5118](https://redirect.github.com/rollup/rollup/pull/5118): fix: access document.currentScript at the top level ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#5125](https://redirect.github.com/rollup/rollup/pull/5125): chore(deps): update actions/checkout action to v4 ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5126](https://redirect.github.com/rollup/rollup/pull/5126): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5129](https://redirect.github.com/rollup/rollup/pull/5129): re-enbale repl-artefacts workflow for rollup-swc branch ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.29.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3290) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.28.1...v3.29.0) *2023-09-06* ##### Features - Add output.sourcemapFileNames option ([#5105](https://redirect.github.com/rollup/rollup/issues/5105)) - Add generic type parameter for `api` to Plugin type ([#5112](https://redirect.github.com/rollup/rollup/issues/5112)) ##### Bug Fixes - Ensure mutations of CustomEvent details are tracked ([#5123](https://redirect.github.com/rollup/rollup/issues/5123)) ##### Pull Requests - [#5105](https://redirect.github.com/rollup/rollup/pull/5105): Added option to name sourcemap files, i.e. a output.sourcemapFileName… ([@atti187](https://redirect.github.com/atti187)) - [#5108](https://redirect.github.com/rollup/rollup/pull/5108): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5109](https://redirect.github.com/rollup/rollup/pull/5109): Docs: load full path of rollup.browser.js for Rollup V4 ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#5112](https://redirect.github.com/rollup/rollup/pull/5112): feat(types): add generic type for plugin api ([@sxzz](https://redirect.github.com/sxzz)) - [#5115](https://redirect.github.com/rollup/rollup/pull/5115): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5123](https://redirect.github.com/rollup/rollup/pull/5123): Deoptimize custom event detail ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.28.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3281) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.28.0...v3.28.1) *2023-08-22* ##### Bug Fixes - Ensure external files with relative import paths outside the target are rendered correctly ([#5099](https://redirect.github.com/rollup/rollup/issues/5099)) ##### Pull Requests - [#5093](https://redirect.github.com/rollup/rollup/pull/5093): chore(deps): update dependency eslint-config-prettier to v9 ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5094](https://redirect.github.com/rollup/rollup/pull/5094): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5099](https://redirect.github.com/rollup/rollup/pull/5099): Fix resolution of relative external files outside target directory ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#5101](https://redirect.github.com/rollup/rollup/pull/5101): chore(deps): update dependency lint-staged to v14 ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5102](https://redirect.github.com/rollup/rollup/pull/5102): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) ### [`v3.28.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3280) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.27.2...v3.28.0) *2023-08-09* ##### Features - Add a new property `preliminaryFileName` to generated chunks containing the file name placeholder ([#5086](https://redirect.github.com/rollup/rollup/issues/5086)) - Improve performance of sourcemap generation by lazily decoding mappings ([#5087](https://redirect.github.com/rollup/rollup/issues/5087)) ##### Bug Fixes - Make the `code` property of rendered modules in the output readonly ([#5091](https://redirect.github.com/rollup/rollup/issues/5091)) ##### Pull Requests - [#5086](https://redirect.github.com/rollup/rollup/pull/5086): feat: add `preliminaryFileName` to `OutputChunk` ([@lsdsjy](https://redirect.github.com/lsdsjy)) - [#5087](https://redirect.github.com/rollup/rollup/pull/5087): perf(sourcemaps): add back lazy sourcemap decode and handling nullish mappings ([@thebanjomatic](https://redirect.github.com/thebanjomatic)) - [#5091](https://redirect.github.com/rollup/rollup/pull/5091): fix: the type of RenderedModule.code is readonly ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.27.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3272) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.27.1...v3.27.2) *2023-08-04* ##### Bug Fixes - Revert sourcemap performance improvement for now as it causes issues with Vite ([#5075](https://redirect.github.com/rollup/rollup/issues/5075)) ##### Pull Requests - [#5075](https://redirect.github.com/rollup/rollup/pull/5075): Revert perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://redirect.github.com/thebanjomatic)) ### [`v3.27.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3271) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.27.0...v3.27.1) *2023-08-03* ##### Bug Fixes - Improve performance when generating sourcemaps ([#5075](https://redirect.github.com/rollup/rollup/issues/5075)) ##### Pull Requests - [#5075](https://redirect.github.com/rollup/rollup/pull/5075): perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://redirect.github.com/thebanjomatic)) ### [`v3.27.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3270) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.26.3...v3.27.0) *2023-07-28* ##### Features - Mark `Object.values` and `Object.entries` as pure if their argument does not contain getters ([#5072](https://redirect.github.com/rollup/rollup/issues/5072)) ##### Pull Requests - [#5070](https://redirect.github.com/rollup/rollup/pull/5070): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5071](https://redirect.github.com/rollup/rollup/pull/5071): docs(tutorial): change the .js extension to .mjs ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#5072](https://redirect.github.com/rollup/rollup/pull/5072): Add known globals ([@sapphi-red](https://redirect.github.com/sapphi-red)) - [#5078](https://redirect.github.com/rollup/rollup/pull/5078): chore(deps): update dependency [@vue/eslint-config-prettier](https://redirect.github.com/vue/eslint-config-prettier) to v8 ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5079](https://redirect.github.com/rollup/rollup/pull/5079): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) ### [`v3.26.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3263) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.26.2...v3.26.3) *2023-07-17* ##### Bug Fixes - Do not pass external modules to `manualChunks` to avoid breaking existing configs ([#5068](https://redirect.github.com/rollup/rollup/issues/5068)) ##### Pull Requests - [#5056](https://redirect.github.com/rollup/rollup/pull/5056): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5059](https://redirect.github.com/rollup/rollup/pull/5059): chore(config): migrate renovate config ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5064](https://redirect.github.com/rollup/rollup/pull/5064): chore(deps): update dependency prettier to v3 ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5065](https://redirect.github.com/rollup/rollup/pull/5065): chore(deps): update typescript-eslint monorepo to v6 (major) ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5068](https://redirect.github.com/rollup/rollup/pull/5068): fix: don't pass external modules to the manualChunks function ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.26.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3262) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.26.1...v3.26.2) *2023-07-06* ##### Bug Fixes - Improve error handling when manual chunks would contain external modules ([#5050](https://redirect.github.com/rollup/rollup/issues/5050)) ##### Pull Requests - [#5050](https://redirect.github.com/rollup/rollup/pull/5050): fix: improve error for manualChunks' modules that are resolved as an external module ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.26.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3261) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.26.0...v3.26.1) *2023-07-05* ##### Bug Fixes - Support `hasOwnProperty` as exported name in CommonJS ([#5010](https://redirect.github.com/rollup/rollup/issues/5010)) - Properly reference browser types in package file ([#5051](https://redirect.github.com/rollup/rollup/issues/5051)) ##### Pull Requests - [#5010](https://redirect.github.com/rollup/rollup/pull/5010): safe hasOwnProperty call ([@LongTengDao](https://redirect.github.com/LongTengDao)) - [#5051](https://redirect.github.com/rollup/rollup/pull/5051): [@rollup/browser](https://redirect.github.com/rollup/browser): fix types export map entry ([@developit](https://redirect.github.com/developit)) ### [`v3.26.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3260) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.25.3...v3.26.0) *2023-06-30* ##### Features - Add `--filterLogs` CLI flag and `ROLLUP_FILTER_LOGS` environment variable for log filtering ([#5035](https://redirect.github.com/rollup/rollup/issues/5035)) ##### Pull Requests - [#5035](https://redirect.github.com/rollup/rollup/pull/5035): Add ability to filter logs via CLI option or environment variable ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#5049](https://redirect.github.com/rollup/rollup/pull/5049): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) ### [`v3.25.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3253) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.25.2...v3.25.3) *2023-06-26* ##### Bug Fixes - Fix error when inlining dynamic imports that contain unused reexported variables ([#5047](https://redirect.github.com/rollup/rollup/issues/5047)) ##### Pull Requests - [#5047](https://redirect.github.com/rollup/rollup/pull/5047): Do not add tree-shaken variables to namespaces when inlining dynamic imports ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.25.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3252) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.25.1...v3.25.2) *2023-06-24* ##### Bug Fixes - Handle plugin errors where `code` is not a string ([#5042](https://redirect.github.com/rollup/rollup/issues/5042)) - Use current transformed source when generating code frames with positions in transform hooks ([#5045](https://redirect.github.com/rollup/rollup/issues/5045)) ##### Pull Requests - [#5038](https://redirect.github.com/rollup/rollup/pull/5038): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5040](https://redirect.github.com/rollup/rollup/pull/5040): Fix typo in index.md ([@vHeemstra](https://redirect.github.com/vHeemstra)) - [#5042](https://redirect.github.com/rollup/rollup/pull/5042): fix: a plugin error can contains numeric code ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#5045](https://redirect.github.com/rollup/rollup/pull/5045): Fix `this.error` with `pos` in `transform` hook ([@sapphi-red](https://redirect.github.com/sapphi-red)) - [#5046](https://redirect.github.com/rollup/rollup/pull/5046): chore(deps): update dependency locate-character to v3 ([@renovate](https://redirect.github.com/renovate)\[bot]) ### [`v3.25.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3251) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.25.0...v3.25.1) *2023-06-12* ##### Bug Fixes - Respect `__NO_SIDE_EFFECTS__` for async functions ([#5031](https://redirect.github.com/rollup/rollup/issues/5031)) ##### Pull Requests - [#5031](https://redirect.github.com/rollup/rollup/pull/5031): fix: `__NO_SIDE_EFFECTS__` annotation for async function ([@antfu](https://redirect.github.com/antfu)) ### [`v3.25.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3250) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.24.1...v3.25.0) *2023-06-11* ##### Features - Add `this.info` and `this.debug` plugin context logging functions ([#5026](https://redirect.github.com/rollup/rollup/issues/5026)) - Add `onLog` option to read, map and filter logs ([#5026](https://redirect.github.com/rollup/rollup/issues/5026)) - Add `logLevel` option to fully suppress logs by level ([#5026](https://redirect.github.com/rollup/rollup/issues/5026)) - Support function logs in `this.warn`, `this.info` and `this.debug` to avoid heavy computations based on log level ([#5026](https://redirect.github.com/rollup/rollup/issues/5026)) - Add `onLog` plugin hook to read, filter and map logs from plugins ([#5026](https://redirect.github.com/rollup/rollup/issues/5026)) ##### Pull Requests - [#5026](https://redirect.github.com/rollup/rollup/pull/5026): Add Logging API ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.24.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3241) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.24.0...v3.24.1) *2023-06-10* ##### Bug Fixes - Fix an issue where bundles with `@rollup/plugin-commonjs` were missing internal dependencies when code-splitting ([#5029](https://redirect.github.com/rollup/rollup/issues/5029)) - Do not use `process.exit(0)` in watch mode to avoid issues in embedded scenarios ([#5027](https://redirect.github.com/rollup/rollup/issues/5027)) ##### Pull Requests - [#5027](https://redirect.github.com/rollup/rollup/pull/5027): fix turborepo with rollup --watch ([@plumber-dhaval](https://redirect.github.com/plumber-dhaval)) - [#5028](https://redirect.github.com/rollup/rollup/pull/5028): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5029](https://redirect.github.com/rollup/rollup/pull/5029): fix: get right sideEffectModules ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.24.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3240) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.23.1...v3.24.0) *2023-06-07* ##### Features - Add new annotation `/* #__NO_SIDE_EFFECTS__ */` to mark function declarations as side effect free ([#5024](https://redirect.github.com/rollup/rollup/issues/5024)) ##### Pull Requests - [#5024](https://redirect.github.com/rollup/rollup/pull/5024): feat: support `#__NO_SIDE_EFFECTS__` annotation for function declaration ([@antfu](https://redirect.github.com/antfu)) ### [`v3.23.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3231) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.23.0...v3.23.1) *2023-06-04* ##### Bug Fixes - Ensure the last segment of sourcemapBaseUrl is never omitted ([#5022](https://redirect.github.com/rollup/rollup/issues/5022)) ##### Pull Requests - [#5006](https://redirect.github.com/rollup/rollup/pull/5006): Better workflow caching ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#5012](https://redirect.github.com/rollup/rollup/pull/5012): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5022](https://redirect.github.com/rollup/rollup/pull/5022): fix: add a trailing slash automatically for sourcemapBaseUrl ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#5023](https://redirect.github.com/rollup/rollup/pull/5023): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) ### [`v3.23.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3230) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.22.1...v3.23.0) *2023-05-22* ##### Features - Support emitting "prebuilt chunks" from plugins ([#4990](https://redirect.github.com/rollup/rollup/issues/4990)) ##### Bug Fixes - Mark Sets and Maps as pure when they receive an array literal as argument ([#5005](https://redirect.github.com/rollup/rollup/issues/5005)) ##### Pull Requests - [#4990](https://redirect.github.com/rollup/rollup/pull/4990): feat: this.emitFile support prebuilt-chunk type ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#5005](https://redirect.github.com/rollup/rollup/pull/5005): feat: mark Set, Map, WeakSet and WeakMap with array arguments as pure ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.22.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3221) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.22.0...v3.22.1) *2023-05-21* ##### Bug Fixes - Remove force quit again as it caused some issues ([#5004](https://redirect.github.com/rollup/rollup/issues/5004)) ##### Pull Requests - [#5001](https://redirect.github.com/rollup/rollup/pull/5001): chore(deps): update dependency [@rollup/plugin-commonjs](https://redirect.github.com/rollup/plugin-commonjs) to v25 ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5002](https://redirect.github.com/rollup/rollup/pull/5002): chore(deps): update dependency eslint-plugin-unicorn to v47 ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5003](https://redirect.github.com/rollup/rollup/pull/5003): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#5004](https://redirect.github.com/rollup/rollup/pull/5004): Do not force quit Rollup or close stdout ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.22.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3220) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.8...v3.22.0) *2023-05-17* ##### Features - Prevent empty non-facade chunks by merging them into other suitable chunks ([#4989](https://redirect.github.com/rollup/rollup/issues/4989)) - Avoid facade chunks in some situations involving reexports ([#4989](https://redirect.github.com/rollup/rollup/issues/4989)) - Improve algorithm for best merge target when using `experimentalMinChunkSize` to take tree-shaking into account ([#4989](https://redirect.github.com/rollup/rollup/issues/4989)) ##### Bug Fixes - Take side effects of external dependencies into account when merging chunks for `experimentalMinChunkSize` ([#4989](https://redirect.github.com/rollup/rollup/issues/4989)) ##### Pull Requests - [#4989](https://redirect.github.com/rollup/rollup/pull/4989): Prevent empty chunks and thoroughly improve experimentalMinChunkSize ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.21.8`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3218) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.7...v3.21.8) *2023-05-16* ##### Bug Fixes - Allow a namespace to properly contain itself as a named export ([#4991](https://redirect.github.com/rollup/rollup/issues/4991)) ##### Pull Requests - [#4991](https://redirect.github.com/rollup/rollup/pull/4991): Handle self-referencing namespaces ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.21.7`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3217) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.6...v3.21.7) *2023-05-13* ##### Bug Fixes - Show correct error on uncaught exceptions in watch mode ([#4987](https://redirect.github.com/rollup/rollup/issues/4987)) ##### Pull Requests - [#4987](https://redirect.github.com/rollup/rollup/pull/4987): Properly quit on uncaught exceptions ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4988](https://redirect.github.com/rollup/rollup/pull/4988): test: add options type for function tests ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.21.6`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3216) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.5...v3.21.6) *2023-05-09* ##### Bug Fixes - Ensure Rollup CLI prints everything to stdout before exiting ([#4980](https://redirect.github.com/rollup/rollup/issues/4980)) ##### Pull Requests - [#4980](https://redirect.github.com/rollup/rollup/pull/4980): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://redirect.github.com/renovate)\[bot]) - [#4983](https://redirect.github.com/rollup/rollup/pull/4983): Prevent exit before stdout is drained ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.21.5`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3215) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.4...v3.21.5) *2023-05-05* ##### Bug Fixes - Keep all consecutive lines at the top of each module that start with a comment ([#4975](https://redirect.github.com/rollup/rollup/issues/4975)) - Ensure that declarations inside switch cases do not use the same scope as the discriminator ([#4979](https://redirect.github.com/rollup/rollup/issues/4979)) ##### Pull Requests - [#4975](https://redirect.github.com/rollup/rollup/pull/4975): Keep leading comments on consecutive lines ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4979](https://redirect.github.com/rollup/rollup/pull/4979): Use correct scope in switch statements ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.21.4`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3214) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.3...v3.21.4) *2023-05-03* ##### Bug Fixes - Resolve crash when shimming a missing export in an otherwise non-included module when preserving modules ([#4971](https://redirect.github.com/rollup/rollup/issues/4971)) ##### Pull Requests - [#4971](https://redirect.github.com/rollup/rollup/pull/4971): Handle shimming missing exports when preserving modules ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4972](https://redirect.github.com/rollup/rollup/pull/4972): Configure Renovate ([@renovate](https://redirect.github.com/renovate)\[bot]) ### [`v3.21.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3213) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.2...v3.21.3) *2023-05-02* ##### Bug Fixes - Run `process.exit()` when Rollup CLI finishes successfully to solve issues on some systems ([#4969](https://redirect.github.com/rollup/rollup/issues/4969)) ##### Pull Requests - [#4954](https://redirect.github.com/rollup/rollup/pull/4954): test: enable typecheck for \_config files ([@antfu](https://redirect.github.com/antfu)) - [#4969](https://redirect.github.com/rollup/rollup/pull/4969): Automatically force close Rollup when done ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.21.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3212) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.1...v3.21.2) *2023-04-30* ##### Bug Fixes - Mark global functions that trigger iterators as impure for now ([#4955](https://redirect.github.com/rollup/rollup/issues/4955)) ##### Pull Requests - [#4955](https://redirect.github.com/rollup/rollup/pull/4955): fix: mark some known globals or their functions as impure ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.21.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3211) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.21.0...v3.21.1) *2023-04-29* ##### Bug Fixes - Make sure call arguments are properly deoptimized when a function uses the `arguments` variable ([#4965](https://redirect.github.com/rollup/rollup/issues/4965)) ##### Pull Requests - [#4957](https://redirect.github.com/rollup/rollup/pull/4957): Update dependencies ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4964](https://redirect.github.com/rollup/rollup/pull/4964): Fix REPL in dev ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4965](https://redirect.github.com/rollup/rollup/pull/4965): Ensure arguments are deoptimized when arguments variable is used ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4967](https://redirect.github.com/rollup/rollup/pull/4967): Log REPL output to console ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.21.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3210) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.7...v3.21.0) *2023-04-23* ##### Features - Support tree-shaking of named exports in dynamic imports when using destructuring and similar patterns ([#4952](https://redirect.github.com/rollup/rollup/issues/4952)) ##### Pull Requests - [#4952](https://redirect.github.com/rollup/rollup/pull/4952): feat: tree-shake deterministic dynamic imports ([@antfu](https://redirect.github.com/antfu)) ### [`v3.20.7`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3207) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.6...v3.20.7) *2023-04-21* ##### Bug Fixes - Properly track array element mutations when iterating with a for-of loop ([#4949](https://redirect.github.com/rollup/rollup/issues/4949)) - Handle default exporting an anonymous class that extends another class ([#4950](https://redirect.github.com/rollup/rollup/issues/4950)) ##### Pull Requests - [#4943](https://redirect.github.com/rollup/rollup/pull/4943): Add a test for reserved keywords used as import/export specifiers ([@Andarist](https://redirect.github.com/Andarist)) - [#4949](https://redirect.github.com/rollup/rollup/pull/4949): Deoptimize right side in for-of loops ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4950](https://redirect.github.com/rollup/rollup/pull/4950): Support default exported classes that extend other classes ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.20.6`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3206) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.5...v3.20.6) *2023-04-18* ##### Bug Fixes - Revert handling of non-JS import and export names due to regressions ([#4914](https://redirect.github.com/rollup/rollup/issues/4914)) ##### Pull Requests - [#4914](https://redirect.github.com/rollup/rollup/pull/4914): feat: add locales in vitepress config ([@iDestin](https://redirect.github.com/iDestin)) - [#4946](https://redirect.github.com/rollup/rollup/pull/4946): Revert [#4939](https://redirect.github.com/rollup/rollup/issues/4939) for now ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.20.5`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3205) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.4...v3.20.5) *2023-04-18* ##### Bug Fixes - Handle import and export names that are not valid JavaScript identifiers ([#4939](https://redirect.github.com/rollup/rollup/issues/4939)) ##### Pull Requests - [#4939](https://redirect.github.com/rollup/rollup/pull/4939): Fixed imports/exports that are illegal identifiers in the es output ([@Andarist](https://redirect.github.com/Andarist)) - [#4941](https://redirect.github.com/rollup/rollup/pull/4941): Reinstate global styles ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.20.4`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3204) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.3...v3.20.4) *2023-04-17* ##### Bug Fixes - Do not remove breaks statements after switch statements with conditional breaks ([#4937](https://redirect.github.com/rollup/rollup/issues/4937)) ##### Pull Requests - [#4937](https://redirect.github.com/rollup/rollup/pull/4937): fix: handle conditional breaks in nested switch statement cases ([@TrickyPi](https://redirect.github.com/TrickyPi) and [@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.20.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3203) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.2...v3.20.3) *2023-04-16* ##### Bug Fixes - Reduce memory consumption for function call parameter analysis ([#4938](https://redirect.github.com/rollup/rollup/issues/4938)) - Fix types for `shouldTransformCachedModule` ([#4932](https://redirect.github.com/rollup/rollup/issues/4932)) ##### Pull Requests - [#4925](https://redirect.github.com/rollup/rollup/pull/4925): chore: repl style add scoped ([@btea](https://redirect.github.com/btea)) - [#4926](https://redirect.github.com/rollup/rollup/pull/4926): docs: Update the x_google_ignorelist url ([@jecfish](https://redirect.github.com/jecfish)) - [#4932](https://redirect.github.com/rollup/rollup/pull/4932): Allow shouldTransformCachedModule to return null ([@bluwy](https://redirect.github.com/bluwy)) - [#4935](https://redirect.github.com/rollup/rollup/pull/4935): Bump peter-evans/create-or-update-comment from 2 to 3 ([@dependabot](https://redirect.github.com/dependabot)\[bot]) - [#4936](https://redirect.github.com/rollup/rollup/pull/4936): Disable puppeteer sandbox to fix Vercel deployment ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4938](https://redirect.github.com/rollup/rollup/pull/4938): Improve memory usage for parameter deoptimizations ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.20.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3202) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.1...v3.20.2) *2023-03-24* ##### Bug Fixes - Fix a crash when using a manual chunk entry that is not already included in the module graph ([#4921](https://redirect.github.com/rollup/rollup/issues/4921)) - Fix a crash when reporting a warning with incorrect sourcemap information ([#4922](https://redirect.github.com/rollup/rollup/issues/4922)) ##### Pull Requests - [#4921](https://redirect.github.com/rollup/rollup/pull/4921): Handle manual chunks where the entry is not part of the module graph ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4922](https://redirect.github.com/rollup/rollup/pull/4922): Do not fail if the location of a warning is outside the original source ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.20.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3201) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.20.0...v3.20.1) *2023-03-23* ##### Bug Fixes - Fix returned file name from this.getFileName when assets are deduplicated ([#4919](https://redirect.github.com/rollup/rollup/issues/4919)) ##### Pull Requests - [#4919](https://redirect.github.com/rollup/rollup/pull/4919): Only set asset names when finalizing ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.20.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3200) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.19.1...v3.20.0) *2023-03-20* ##### Features - Allow dynamically imported files to have synthetic named exports when preserving modules ([#4913](https://redirect.github.com/rollup/rollup/issues/4913)) ##### Bug Fixes - Use deterministic file name when emitting several files with same source ([#4912](https://redirect.github.com/rollup/rollup/issues/4912)) - Fix a crash when dynamically importing a file with synthetic named exports when preserving modules ([#4913](https://redirect.github.com/rollup/rollup/issues/4913)) ##### Pull Requests - [#4912](https://redirect.github.com/rollup/rollup/pull/4912): fix: make file name deterministic in parallel emits (fix [#4909](https://redirect.github.com/rollup/rollup/issues/4909)) ([@sun0day](https://redirect.github.com/sun0day)) - [#4913](https://redirect.github.com/rollup/rollup/pull/4913): Provide synthetic namespace for dynamic imports when perserving modules ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.19.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3191) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.19.0...v3.19.1) *2023-03-10* ##### Bug Fixes - Produce valid code when the first statement in aclass static block is tree-shaken ([#4898](https://redirect.github.com/rollup/rollup/issues/4898)) ##### Pull Requests - [#4898](https://redirect.github.com/rollup/rollup/pull/4898): fix: set a correct node location for static blocks ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#4900](https://redirect.github.com/rollup/rollup/pull/4900): docs: fix table at `output.sanitizeFileName` section ([@0x009922](https://redirect.github.com/0x009922)) ### [`v3.19.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3190) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.18.0...v3.19.0) *2023-03-09* ##### Features - Make reassignment tracking of call parameters more specific to no lose information when an object is passed to a function ([#4892](https://redirect.github.com/rollup/rollup/issues/4892)) ##### Pull Requests - [#4890](https://redirect.github.com/rollup/rollup/pull/4890): Fix `npm run dev` ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4892](https://redirect.github.com/rollup/rollup/pull/4892): Only selectively deoptimize call parameters ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4897](https://redirect.github.com/rollup/rollup/pull/4897): Pre-render mermaid graphs on website ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.18.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3180) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.17.3...v3.18.0) *2023-03-01* ##### Features - Add `experimentalLogSideEffects` to log the first detected side effect in every module ([#4871](https://redirect.github.com/rollup/rollup/issues/4871)) - Ignore-list sourcemaps of files inside node_modules by default ([#4877](https://redirect.github.com/rollup/rollup/issues/4877)) ##### Pull Requests - [#4871](https://redirect.github.com/rollup/rollup/pull/4871): Add experimental logging for side effects ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4877](https://redirect.github.com/rollup/rollup/pull/4877): feat: mark files in a `node_modules` as ignore-listed by default ([@bmeurer](https://redirect.github.com/bmeurer)) - [#4880](https://redirect.github.com/rollup/rollup/pull/4880): build: use [@rollup/plugin-replace](https://redirect.github.com/rollup/plugin-replace) to replace chokidar fsevents ([@dnalborczyk](https://redirect.github.com/dnalborczyk)) - [#4887](https://redirect.github.com/rollup/rollup/pull/4887): Refactor ([@dnalborczyk](https://redirect.github.com/dnalborczyk)) ### [`v3.17.3`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3173) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.17.2...v3.17.3) *2023-02-25* ##### Bug Fixes - Handle non-URL-safe characters when poly-filling import.meta.url ([#4875](https://redirect.github.com/rollup/rollup/issues/4875)) ##### Pull Requests - [#4870](https://redirect.github.com/rollup/rollup/pull/4870): fix: style optimization in dark mode ([@huodoushigemi](https://redirect.github.com/huodoushigemi)) - [#4875](https://redirect.github.com/rollup/rollup/pull/4875): Fix transformation of `import.meta.url` in CommonJS ([@fasttime](https://redirect.github.com/fasttime)) - [#4876](https://redirect.github.com/rollup/rollup/pull/4876): fix: wrong params of the transform hook ([@ZzqiZQute](https://redirect.github.com/ZzqiZQute)) - [#4878](https://redirect.github.com/rollup/rollup/pull/4878): Improve test stability ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.17.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3172) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.17.1...v3.17.2) *2023-02-20* ##### Bug Fixes - Do not omit code if a file that only re-exports a used variable has `moduleSideEffects` set to `true` ([#4867](https://redirect.github.com/rollup/rollup/issues/4867)) - Add missing `needsCodeReference` property in TypeScript for asset tree-shaking ([#4868](https://redirect.github.com/rollup/rollup/issues/4868)) - Add correct side effect configuration for additional Object and Promise methods ([#4323](https://redirect.github.com/rollup/rollup/issues/4323)) ##### Pull Requests - [#4323](https://redirect.github.com/rollup/rollup/pull/4323): feat: add known globals ([@dnalborczyk](https://redirect.github.com/dnalborczyk)) - [#4867](https://redirect.github.com/rollup/rollup/pull/4867): Include side effects of re-exporters unless they have moduleSideEffects: false ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4868](https://redirect.github.com/rollup/rollup/pull/4868): Add `needsCodeReference` property to `EmittedAsset` ([@sapphi-red](https://redirect.github.com/sapphi-red)) ### [`v3.17.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3171) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.17.0...v3.17.1) *2023-02-18* ##### Bug Fixes - Add TypeScript types for `loadConfigFile` ([#4853](https://redirect.github.com/rollup/rollup/issues/4853)) - Fix an issue that could include unused classes in the bundle if their super class was in a file with `moduleSideEffects: false` ([#4866](https://redirect.github.com/rollup/rollup/issues/4866)) ##### Pull Requests - [#4853](https://redirect.github.com/rollup/rollup/pull/4853): feat: export loadConfigFile type ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#4866](https://redirect.github.com/rollup/rollup/pull/4866): Do not mark variable access in files without side effects as TDZ ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.17.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3170) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.16.0...v3.17.0) *2023-02-18* ##### Features - Deprecate `experimentalDeepDynamicChunkOptimization` and always run the full chunk generation algorithm ([#4862](https://redirect.github.com/rollup/rollup/issues/4862)) ##### Bug Fixes - Fix an issue that caused very slow builds for projects with over 1000 dynamic imports when `experimentalDeepDynamicChunkOptimization` was enabled ([#4862](https://redirect.github.com/rollup/rollup/issues/4862)) ##### Pull Requests - [#4862](https://redirect.github.com/rollup/rollup/pull/4862): Improve chunking performance ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.16.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3160) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.15.0...v3.16.0) *2023-02-17* ##### Features - Support `output.sourcemapIgnoreList` option to mark file sources as ignored in the `x_google_ignoreList` attribute of the resulting sourcemap ([#4848](https://redirect.github.com/rollup/rollup/issues/4848)) - Support sourcemaps where `sourcesContent` contains `null` entries ([#4846](https://redirect.github.com/rollup/rollup/issues/4846)) - Allow explicitly passing `true` for the `cache` option to override Vite's default ([#4859](https://redirect.github.com/rollup/rollup/issues/4859)) ##### Bug Fixes - Fix an issue where unrelated side effects spilled into other chunks when using the `experimentalMinChunkSize` option ([#4851](https://redirect.github.com/rollup/rollup/issues/4851)) ##### Pull Requests - [#4846](https://redirect.github.com/rollup/rollup/pull/4846): Update magic-string and adjust types. ([@bmeurer](https://redirect.github.com/bmeurer)) - [#4848](https://redirect.github.com/rollup/rollup/pull/4848): Introduce `sourcemapIgnoreList` predicate. ([@bmeurer](https://redirect.github.com/bmeurer)) - [#4851](https://redirect.github.com/rollup/rollup/pull/4851): Fix chunk graph update when merging chunks for minChunkSize ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4852](https://redirect.github.com/rollup/rollup/pull/4852): docs: make api params more readable ([@cunzaizhuyi](https://redirect.github.com/cunzaizhuyi)) - [#4856](https://redirect.github.com/rollup/rollup/pull/4856): simplify code in includeStatements ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#4859](https://redirect.github.com/rollup/rollup/pull/4859): Allow to pass "true" to InputOptions.cache ([@danielrentz](https://redirect.github.com/danielrentz)) ### [`v3.15.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3150) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.14.0...v3.15.0) *2023-02-10* ##### Features - Do not consider instantiating a constructor a side effect if it adds properties to "this" and is instantiated elsewhere ([#4842](https://redirect.github.com/rollup/rollup/issues/4842)) ##### Bug Fixes - Improve side effect detection in constructors ([#4842](https://redirect.github.com/rollup/rollup/issues/4842)) ##### Pull Requests - [#4842](https://redirect.github.com/rollup/rollup/pull/4842): fix: add this option to context.ignore ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#4843](https://redirect.github.com/rollup/rollup/pull/4843): fixed the logo link ([@oMatheuss](https://redirect.github.com/oMatheuss)) - [#4844](https://redirect.github.com/rollup/rollup/pull/4844): Update index.md ([@cunzaizhuyi](https://redirect.github.com/cunzaizhuyi)) - [#4845](https://redirect.github.com/rollup/rollup/pull/4845): docs: fix style ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.14.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3140) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.13.0...v3.14.0) *2023-02-05* ##### Features - Add `experimentalDeepDynamicChunkOptimization` option to produce fewer chunks from dynamic imports ([#4837](https://redirect.github.com/rollup/rollup/issues/4837)) ##### Pull Requests - [#4837](https://redirect.github.com/rollup/rollup/pull/4837): Add flag to re-enable deep dynamic chunk optimization ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4839](https://redirect.github.com/rollup/rollup/pull/4839): fix: correct incorrect assertions ([@TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v3.13.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3130) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.12.1...v3.13.0) *2023-02-03* ##### Features - Prevent chunk cycles when using `experimentalMinChunkSize` ([#4723](https://redirect.github.com/rollup/rollup/issues/4723)) ##### Pull Requests - [#4723](https://redirect.github.com/rollup/rollup/pull/4723): Improve minChunkSize algorithm ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4833](https://redirect.github.com/rollup/rollup/pull/4833): docs: Fix typo ([@mturoci](https://redirect.github.com/mturoci)) - [#4835](https://redirect.github.com/rollup/rollup/pull/4835): Tables in docs ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.12.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3121) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.12.0...v3.12.1) *2023-02-01* ##### Bug Fixes - Handle self-references in class static blocks and construtors when the class is renamed ([#4827](https://redirect.github.com/rollup/rollup/issues/4827)) - Improve warnings when creating circular chunks taht reexport variables ([#4829](https://redirect.github.com/rollup/rollup/issues/4829)) ##### Pull Requests - [#4827](https://redirect.github.com/rollup/rollup/pull/4827): fix: use the original class name in the class body ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#4829](https://redirect.github.com/rollup/rollup/pull/4829): Improve and fix cross-chunk-reexport warning ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4830](https://redirect.github.com/rollup/rollup/pull/4830): Add Algolia doc search ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4831](https://redirect.github.com/rollup/rollup/pull/4831): Add warning not to add assets directly to the bundle ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.12.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3120) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.11.0...v3.12.0) *2023-01-28* ##### Features - Change generated external namespace reexport helper code for CommonJS to better work with NodeJS named export detection ([#4826](https://redirect.github.com/rollup/rollup/issues/4826)) ##### Pull Requests - [#4825](https://redirect.github.com/rollup/rollup/pull/4825): Add and use anchors for nested options ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4826](https://redirect.github.com/rollup/rollup/pull/4826): Use old namespace reexport code pattern for better Node support ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.11.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3110) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.10.1...v3.11.0) *2023-01-26* ##### Features - Support opt-in tree-shaking for emitted assets based on code references ([#4805](https://redirect.github.com/rollup/rollup/issues/4805)) ##### Bug Fixes - Adapt documentation references in Rollup to new website ([#4807](https://redirect.github.com/rollup/rollup/issues/4807)) ##### Pull Requests - [#4805](https://redirect.github.com/rollup/rollup/pull/4805): feat: add needsCodeReference field to EmittedAsset ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#4807](https://redirect.github.com/rollup/rollup/pull/4807): Rewrite website in Vitepress and merge it into the main repository ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4816](https://redirect.github.com/rollup/rollup/pull/4816): web-publisher: Update docs/faqs/index.md ([@PuruVJ](https://redirect.github.com/PuruVJ)) - [#4819](https://redirect.github.com/rollup/rollup/pull/4819): Replace fs-extra with built-ins ([@dnalborczyk](https://redirect.github.com/dnalborczyk)) - [#4820](https://redirect.github.com/rollup/rollup/pull/4820): Introduce timeout-minutes in Github actions ci ([@dnalborczyk](https://redirect.github.com/dnalborczyk)) - [#4822](https://redirect.github.com/rollup/rollup/pull/4822): Tweak document landing page ([@sapphi-red](https://redirect.github.com/sapphi-red)) - [#4823](https://redirect.github.com/rollup/rollup/pull/4823): Minor migration guide improvements ([@sapphi-red](https://redirect.github.com/sapphi-red)) - [#4824](https://redirect.github.com/rollup/rollup/pull/4824): Add most options to the REPL ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.10.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3101) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.10.0...v3.10.1) *2023-01-20* ##### Bug Fixes - Fix some crashes when using optional chaining with namespaces and improve tree-shaking ([#4812](https://redirect.github.com/rollup/rollup/issues/4812)) - Avoid wrongly removed code when using optional chaining ([#4812](https://redirect.github.com/rollup/rollup/issues/4812)) ##### Pull Requests - [#4809](https://redirect.github.com/rollup/rollup/pull/4809): fix: rollup bin file is in dist folder ([@saibotsivad](https://redirect.github.com/saibotsivad)) - [#4812](https://redirect.github.com/rollup/rollup/pull/4812): Rework tree-shaking support for optional chaining ([@lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v3.10.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3100) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.9.1...v3.10.0) *2023-01-12* ##### Features - Add information about the resolving plugin to resolved ids ([#4789](https://redirect.github.com/rollup/rollup/issues/4789)) - Improve treeshaking for optional chaining when the root is nullish ([#4797](https://redirect.github.com/rollup/rollup/issues/4797)) ##### Bug Fixes - Remove unnecessary internal defaults for acorn options ([#4786](https://redirect.github.com/rollup/rollup/issues/4786)) ##### Pull Requests - [#4785](https://redirect.github.com/rollup/rollup/pull/4785): Use [@jridgewell/sourcemap-codec](https://redirect.github.com/jridgewell/sourcemap-codec) ([@bluwy](https://redirect.github.com/bluwy)) - [#4786](https://redirect.github.com/rollup/rollup/pull/4786): Remove default acorn options + other fixes ([@dnalborczyk](https://redirect.github.com/dnalborczyk)) - [#4789](https://redirect.github.com/rollup/rollup/pull/4789): feat: add `resolvedBy` field to `ResolvedId` ([@TrickyPi](https://redirect.github.com/TrickyPi)) - [#4794](https://redirect.github.com/rollup/rollup/pull/4794): fix: import can be shortened ([@cunzaizhuyi](https://redirect.github.com/cunzaizhuyi)) - [#4796](https://redirect.github.com/rollup/rollup/pull/4796): Update dependencies ([@lukastaegert](https://redirect.github.com/lukastaegert)) - [#4797](https://redirect.github.com/rollup/rollup/pull/4797): feat: treeshake for optional chaining ([@antfu](https://redirect.github.com/antfu)) ### [`v3.9.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#391) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v3.9.0...v3.9.1) *2023-01-02* ##### Bug Fixes - Sort keys in generated dynamic namespace objects ([#4780](https://redirect.github.com/rollup/rollup/issues/4780)) - Do not consider Array.group to be side effect free as the specs have changed ([#4779](https://redirect.github.com/rollup/rollup/issues/4779)) ##### Pull Requests - [#4777](https://redirect.github.com/rollup/rollup/pull/4777): Import from node:fs/promises ([@dnalborczyk](https://redirect.github.com/dnalborczyk)) - [#4778](https://redirect.github.com/rollup/rollup/pull/4778): Bump deps ([@dnalborczyk](https://redirect.github.com/dnalborczyk)) - [#4779](https://redirect.github.com/rollup/rollup/pull/4779): Remove array grouping (web compat issue) ([@RConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.