Skip to content

chore(deps): update dependency rollup to v4 - autoclosed

Renovate Bot FIT-Connect requested to merge renovate/rollup-4.x into main

This MR contains the following updates:

Package Type Update Change
rollup (source) resolutions major ^2.79.2 -> ^4.0.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

rollup/rollup (rollup)

v4.28.1

Compare Source

2024-12-06

Bug Fixes
  • Support running Rollup natively on LoongArch (#​5749)
  • Add optional debugId to SourceMap types (#​5751)
Merge Requests

v4.28.0

Compare Source

2024-11-30

Features
  • Allow to specify how to handle import attributes when transpiling Rollup config files (#​5743)
Merge Requests

v4.27.4

Compare Source

2024-11-23

Bug Fixes
  • Update bundled magic-string to support sourcemap debug ids (#​5740)
Merge Requests

v4.27.3

Compare Source

2024-11-18

Bug Fixes
  • Revert object property tree-shaking for now (#​5736)
Merge Requests

v4.27.2

Compare Source

2024-11-15

Bug Fixes
  • Ensure unused variables in patterns are always deconflicted if rendered (#​5728)
Merge Requests

v4.27.1

Compare Source

2024-11-15

Bug Fixes
  • Fix some situations where parameter declarations could put Rollup into an infinite loop (#​5727)
Merge Requests

v4.27.0

Compare Source

2024-11-15

Features
  • Tree-shake unused properties in object literals (#​5420)
Bug Fixes
  • Change hash length limit to 21 to avoid inconsistent hash length (#​5423)
Merge Requests

v4.26.0

Compare Source

2024-11-13

Features
  • Allow to avoid await bundle.close() via explicit resource management in TypeScript (#​5721)
Merge Requests

v4.25.0

Compare Source

2024-11-09

Features
  • Add output.sourcemapDebugIds option to add matching debug ids to sourcemaps and code for tools like Sentry or Rollbar (#​5712)
Bug Fixes
  • Make it easier to manually reproduce base16 hashes by using a more standard base16 conversion algorithm (#​5719)
Merge Requests

v4.24.4

Compare Source

2024-11-04

Bug Fixes
  • Ensure mutations by handlers in Proxy definitions are always respected when tree-shaking (#​5713)
Merge Requests

v4.24.3

Compare Source

2024-10-29

Bug Fixes
  • Slightly reduce memory consumption by specifying fixed array sizes where possible (#​5703)
Merge Requests

v4.24.2

Compare Source

2024-10-27

Bug Fixes
  • Add missing build dependency (#​5705)
Merge Requests

v4.24.1

Compare Source

2024-10-27

Bug Fixes
  • Support running Rollup natively on FreeBSD (#​5698)
Merge Requests

v4.24.0

Compare Source

2024-10-02

Features
  • Support preserving and transpiling JSX syntax (#​5668)
Merge Requests

v4.23.0

Compare Source

2024-10-01

Features
  • Collect all emitted names and originalFileNames for assets (#​5686)
Merge Requests

v4.22.5

Compare Source

2024-09-27

Bug Fixes
  • Allow parsing of certain unicode characters again (#​5674)
Merge Requests

v4.22.4

Compare Source

2024-09-21

Bug Fixes
  • Fix a vulnerability in generated code that affects IIFE, UMD and CJS bundles when run in a browser context (#​5671)
Merge Requests

v4.22.3

Compare Source

2024-09-21

Bug Fixes
  • Ensure that mutations in modules without side effects are observed while properly handling transitive dependencies (#​5669)
Merge Requests

v4.22.2

Compare Source

2024-09-20

Bug Fixes
  • Revert fix for side effect free modules until other issues are investigated (#​5667)
Merge Requests

v4.22.1

Compare Source

2024-09-20

Bug Fixes
  • Revert #​5644 "stable chunk hashes" while issues are being investigated
Merge Requests

v4.22.0

Compare Source

2024-09-19

Features
  • Add additional known global values to avoid access side effects (#​5651)
Bug Fixes
  • Ensure deterministic chunk hash generation despite async renderChunk hook (#​5644)
  • Improve side effect detection when using "smallest" treeshaking preset when imports are optimized away (#​5658)
Merge Requests

v4.21.3

Compare Source

2024-09-12

Bug Fixes
  • Always respect side effects in left-hand side of optional chain (#​5642)
  • Update stack trace for augmented errors to not hide relevant information (#​5640)
Merge Requests

v4.21.2

Compare Source

2024-08-30

Bug Fixes
  • Handle IIFE/UMD namespace definitions conflicting with a builtin property (#​5605)
Merge Requests

v4.21.1

Compare Source

2024-08-26

Bug Fixes
  • Ensure closeWatcher hook is called when watch mode is aborted via Ctrl+C (#​5618)
  • Do not produce invalid code for import.meta.url in compact mode (#​5624)
  • Do not throw when generating chunk names when preserving modules in Windows (#​5625)
Merge Requests

v4.21.0

Compare Source

2024-08-18

Features
  • Add option to configure directory for virtual modules when preserving modules (#​5602)
Merge Requests

v4.20.0

Compare Source

2024-08-03

Features
  • Allow plugins to specify the original file name when emitting assets (#​5596)
Merge Requests

v4.19.2

Compare Source

2024-08-01

Bug Fixes
  • Avoid "cannot get value of null" error when using optional chaining with namespaces (#​5597)
Merge Requests

v4.19.1

Compare Source

2024-07-27

Bug Fixes
  • Do not remove parantheses when tree-shaking logical expressions (#​5584)
  • Do not ignore side effects in calls left of an optional chaining operator (#​5589)
Merge Requests

v4.19.0

Compare Source

2024-07-20

Features
  • Implement support for decorators (#​5562)
Bug Fixes
  • Improve soucemap generation when tree-shaking logical expressions (#​5581)
Merge Requests

v4.18.1

Compare Source

2024-07-08

Bug Fixes
  • Prevent "%" in generated file names to ensure imports resolve (#​5535)
Merge Requests

v4.18.0

Compare Source

2024-05-22

Features
  • Resolve import.meta.filename and .dirname in transpiled plugins (#​5520)
Merge Requests

v4.17.2

Compare Source

2024-04-30

Bug Fixes
  • Fix tree-shaking problems when using spread arguments (#​5503)
Merge Requests

v4.17.1

Compare Source

2024-04-29

Bug Fixes
  • Prevent infinite recursions for certain constructor invocations (#​5500)
Merge Requests

v4.17.0

Compare Source

2024-04-27

Features
  • Track function call arguments to optimize functions only called once or with the same literal values (re-release from 4.16.0) (#​5483)
Bug Fixes
  • Reduce browser WASM size to a fraction by changing optimization settings (#​5494)
Merge Requests

v4.16.4

Compare Source

2024-04-23

Bug Fixes
  • Revert function parameter tracking logic introduced in 4.16.0 to work on some remaining issues (#​5487)
Merge Requests

v4.16.3

Compare Source

2024-04-23

Bug Fixes
  • Do not optimize IIFEs that have a name and are again referenced inside their definition (#​5486)
Merge Requests

v4.16.2

Compare Source

2024-04-22

Bug Fixes
  • Resolve a situation condition where reassignments of function parameters were not tracked properly (#​5482)
  • Make sure that for armv7 packages, only one package is downloaded for the user (musl or gnu) (#​5479)
Merge Requests

v4.16.1

Compare Source

2024-04-21

Bug Fixes
  • Fix crash when rendering logical or conditional expressions (#​5481)
Merge Requests

v4.16.0

Compare Source

2024-04-21

Features
  • Track function call arguments to optimize functions only called once or with the same literal values (#​5443)
Merge Requests

v4.15.0

Compare Source

2024-04-20

Features
  • Add output.importAttributesKey option to select whether to use "with" or "assert" for import attributes (#​5474)
Merge Requests

v4.14.3

Compare Source

2024-04-15

Bug Fixes
  • Support Alpine Linux and other MUSL builds on ARM (#​5471)
Merge Requests

v4.14.2

Compare Source

2024-04-12

Bug Fixes
  • Do not create invalid code when reexporting both a namespace and the default export from that namespace (#​5466)
  • Ensure ppc64 platform is properly detected (#​5460)
Merge Requests

v4.14.1

Compare Source

2024-04-07

Bug Fixes
  • Show better error when running on musl Linux where the musl build is not supported (#​5454)
Merge Requests

v4.14.0

Compare Source

2024-04-03

Features
  • Display error causes in Rollup CLI (#​5422)
  • Add basic support for explicit resource management via "using" and "await using" (#​5423)
Merge Requests

v4.13.2

Compare Source

2024-03-28

Bug Fixes
  • Ensure accessing module info is cached after the build phase for improved performance (#​5438)
  • Support powerpc64le CPUs (#​5350)
Merge Requests

v4.13.1

Compare Source

2024-03-27

Bug Fixes
  • Add new linux-s390x-gnu native binary package (#​5346)
Merge Requests

v4.13.0

Compare Source

2024-03-12

Features
  • Ensure that the location of parse errors and other logs is encoded in the error message as well (#​5424)
Merge Requests

v4.12.1

Compare Source

2024-03-06

Bug Fixes
  • Escape special characters in file references (#​5404)
Merge Requests

v4.12.0

Compare Source

2024-02-16

Features
  • Improve raw bundling performance by 10-15% when not using the cache or plugins that return an AST (#​5391)
Merge Requests

v4.11.0

Compare Source

2024-02-15

Features
  • Add output.reexportProtoFromExternal option to disable special code for handling __proto__ reexports (#​5380)
Bug Fixes
  • Ensure namespace reexport code can be parsed by cjs-module-lexer (#​5380)
  • Throw when trying to reassing const variables (#​5388)
Merge Requests

v4.10.0

Compare Source

2024-02-10

Features
  • Support base-36 and base-16 hashes again via new output.hashCharacters option (#​5371)
Bug Fixes
  • Do not crash process for panics in native code but throw them as JavaScript errors (#​5383)
Merge Requests

v4.9.6

Compare Source

2024-01-21

Bug Fixes
  • Detect side effects when an element that was pushed into an array is modified via the array (#​5352)
Merge Requests

v4.9.5

Compare Source

2024-01-12

Bug Fixes
  • Fix issue where on Windows, Rollup would not load due to problems with the MSVC executable (#​5335)
Merge Requests

v4.9.4

Compare Source

2024-01-06

Bug Fixes
  • Use quotes for keys in namespaces that are only numbers but are not valid integers (#​5328)
  • Allow to have comments between pure annotations and the annoted node (#​5332)
Merge Requests

v4.9.3

Compare Source

2024-01-05

Bug Fixes
  • Support __proto__ as export/import name (#​5313)
  • Use ESTree AST type over custom type in user-facing types (#​5323)
Merge Requests

v4.9.2

Compare Source

2023-12-30

Bug Fixes
  • Extend support for arbitrary namespace identifiers in SystemJS (#​5321)
  • Do not wrongly flag functions without side effects as side effects if moduleSideEffects is false (#​5322)
Merge Requests

v4.9.1

Compare Source

2023-12-17

Bug Fixes
  • Fix an issue where break statements could include the wrong label (#​5297)
Merge Requests

v4.9.0

Compare Source

2023-12-13

Features
  • Fully support arbitrary strings as import and export identifiers (#​5298)
Merge Requests

v4.8.0

Compare Source

2023-12-11

Features
  • Improve experimentalMinChunkSize to take already loaded modules from dynamic imports into account (#​5294)
Merge Requests

v4.7.0

Compare Source

2023-12-08

Features
  • Add build for Linux riscv64 architecture (#​5288)
Bug Fixes
  • Improve error message when native Windows build does not start (#​5284)
Merge Requests

v4.6.1

Compare Source

2023-11-30

Bug Fixes
  • Resolve a situation where declaring the same var several times was considered a conflict (#​5276)
Merge Requests

v4.6.0

Compare Source

2023-11-26

Features
  • Allow this.addWatchFile in all plugin hooks (#​5270)
Bug Fixes
  • Show helpful error when native binaries are not installed due to an npm issue (#​5267)
  • Do not access this context in this.addWatchFile so it does not need to be bound when passed around (#​5270)
Merge Requests

v4.5.2

Compare Source

2023-11-24

Bug Fixes
  • Handle files with UTF-8 BOM when using the commonjs plugin (#​5268)
Merge Requests

v4.5.1

Compare Source

2023-11-21

Bug Fixes
  • Do not error when a function expression uses the same name for a parameter and its id (#​5262)
Merge Requests

v4.5.0

Compare Source

2023-11-18

Bug Fixes
  • Show a proper error when using native Rollup on armv7 musl Linux (#​5255)
Merge Requests

v4.4.1

Compare Source

2023-11-14

Bug Fixes
  • Do not flag duplicate function declarations in function scopes as syntax errors (#​5248)
Merge Requests

v4.4.0

Compare Source

2023-11-12

Features
  • Replace SWC linting with faster internal linting to error on duplicate declarations etc. (#​5207)
Bug Fixes
  • Show proper error when an entry exports non-existing bindings (#​5207)
Merge Requests

v4.3.1

Compare Source

2023-11-11

Bug Fixes
  • Fix rename error when handling errors in watch mode (#​5240)
  • Prevent warning when using --forceExit (#​5245)
Merge Requests

v4.3.0

Compare Source

2023-11-03

Features
  • Add forceExit CLI flag for situations where the CLI does not exit gracefully (#​5195)
Bug Fixes
  • Properly catch errors when removing a temporary config file fails (#​5198)
Merge Requests

v4.2.0

Compare Source

2023-10-31

Features
  • Run parsing in multiple threads and introduce parseAstAsync helper function (#​5202)
Merge Requests

v4.1.6

Compare Source

2023-10-31

Bug Fixes
  • Fix a bug where emtpy block comments in certain positions could freeze Rollup (#​5231)
Merge Requests

v4.1.5

Compare Source

2023-10-28

Bug Fixes
  • Fix an issue where actual entries that were also implicit entries could remain implicit (#​5220)
Merge Requests

v4.1.4

Compare Source

2023-10-16

Bug Fixes
Merge Requests

v4.1.3

Compare Source

2023-10-15

Bug Fixes
  • Fix WASM build as hash function was not exported (#​5203)
Merge Requests

v4.1.1

Compare Source

2023-10-15

Bug Fixes
  • Improve Node parsing performance (#​5201)
Merge Requests

v4.1.0

Compare Source

2023-10-14

Features
  • Reduce memory usage of Rollup builds (#​5133)
Merge Requests

v4.0.2

Compare Source

2023-10-06

Bug Fixes
  • Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore (#​5178)
Merge Requests

v4.0.1

Compare Source

2023-10-06

Bug Fixes
  • Do not panic on trailing semicolons after class methods (#​5173)
  • Add artifact for arm64 linux musl target (#​5176)
Merge Requests

v4.0.0

Compare Source

2023-10-05

BREAKING CHANGES
General Changes
  • The minimal required Node version is now 18.0.0 (#​5142)
  • The browser build now relies on a WASM artifact that needs to be provided as well (#​5073)
  • The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the @rollup/wasm-node package that has the same interface as Rollup but relies on WASM artifacts (#​5073)
  • The INVALID_IMPORT_ASSERTION error code has been replaced with INVALID_IMPORT_ATTRIBUTE (#​5073)
  • Rollup will now warn for @__PURE__ and @__NO_SIDE_EFFECTS__ annotations in invalid locations (#​5165)
  • If an entry module starts with a shebang comment #!..., this comment will be prepended to the output for es and cjs formats (#​5163)
  • File hashes will now use url-safe base64 encoded hashes (#​5155)
  • The maximum hash length has been reduced to 22 characters (#​5155)
  • The RollupWarning type has been removed in favor of the RollupLog type (#​5147)
Changes to Rollup Options
  • Acorn plugins are no longer supported, the acornInjectPlugins option has been removed (#​5073)
  • The acorn option has been removed (#​5073)
  • output.externalImportAssertions has been deprecated in favor of output.externalImportAttributes (#​5073)
  • inlineDynamicImports, manualChunks and preserveModules have been removed on input option level: Please use the corresponding output options of the same names (#​5143)
  • Removed output options (#​5143):
    • output.experimentalDeepDynamicChunkOptimization: This option is no longer needed as Rollup now always runs the full chunking algorithm
    • output.dynamicImportFunction: Use the renderDynamicImport plugin hook instead
    • output.namespaceToStringTag: Use output.generatedCode.symbols instead
    • output.preferConst: Use output.generatedCode.constBindings instead
Plugin API Changes
  • For this.resolve, the default of the skipSelf option is now true (#​5142)
  • this.parse now only supports the allowReturnOutsideFunction option for now (#​5073)
  • Import assertions now use the new import attribute AST structure ( #​5073)
  • "assertions" have been replaced with "attributes" in various places of the plugin interface (#​5073)
  • If the import of a module id is handled by the load hook of a plugin, rollup.watch no longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for calling this.addWatchFile for any dependency files (#​5150)
  • The normalized input options provided by buildStart and other hooks no longer contain an onwarn handler; plugins should use onLog instead (#​5147)
  • this.moduleIds has been removed from the plugin context: Use this.getModuleIds() instead (#​5143)
  • The hasModuleSideEffects flag has been removed from the ModuleInfo returned by this.getModuleInfo(): Use moduleSideEffects on the ModuleInfo instead (#​5143)
Features
  • Improve parsing speed by switching to a native SWC-based parser (#​5073)
  • Rollup will now warn for @__PURE__ and @__NO_SIDE_EFFECTS__ annotations in invalid locations (#​5165)
  • The parser is now exposed as a separate export parseAst (#​5169)
Bug Fixes
  • Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via this.addWatchFile() (#​5150)
Merge Requests

v3.29.5

Compare Source

2024-09-21

Bug Fixes
  • Fix a vulnerability in generated code that affects IIFE, UMD and CJS bundles when run in a browser context (#​5671)
Merge Requests

v3.29.4

Compare Source

2023-09-28

Bug Fixes
  • Fix static analysis when an exported function uses callbacks (#​5158)
Merge Requests

v3.29.3

Compare Source

2023-09-24

Bug Fixes
  • Fix a bug where code was wrongly tree-shaken after mutating function parameters (#​5153)
Merge Requests

v3.29.2

Compare Source

2023-09-15

Bug Fixes
  • Export TreeshakingPreset type (#​5131)
Merge Requests

v3.29.1

Compare Source

2023-09-10

Bug Fixes
  • Fix time measurement of plugin hooks in watch mode (#​5114)
  • Ensure accessing document.currentScript in import.meta.url returns correct results (#​5118)
Merge Requests

v3.29.0

Compare Source

2023-09-06

Features
  • Add output.sourcemapFileNames option (#​5105)
  • Add generic type parameter for api to Plugin type (#​5112)
Bug Fixes
  • Ensure mutations of CustomEvent details are tracked (#​5123)
Merge Requests

v3.28.1

Compare Source

2023-08-22

Bug Fixes
  • Ensure external files with relative import paths outside the target are rendered correctly (#​5099)
Merge Requests

v3.28.0

Compare Source

2023-08-09

Features
  • Add a new property preliminaryFileName to generated chunks containing the file name placeholder (#​5086)
  • Improve performance of sourcemap generation by lazily decoding mappings (#​5087)
Bug Fixes
  • Make the code property of rendered modules in the output readonly (#​5091)
Merge Requests

v3.27.2

Compare Source

2023-08-04

Bug Fixes
  • Revert sourcemap performance improvement for now as it causes issues with Vite (#​5075)
Merge Requests

v3.27.1

Compare Source

2023-08-03

Bug Fixes
  • Improve performance when generating sourcemaps (#​5075)
Merge Requests

v3.27.0

Compare Source

2023-07-28

Features
  • Mark Object.values and Object.entries as pure if their argument does not contain getters (#​5072)
Merge Requests

v3.26.3

Compare Source

2023-07-17

Bug Fixes
  • Do not pass external modules to manualChunks to avoid breaking existing configs (#​5068)
Merge Requests

v3.26.2

Compare Source

2023-07-06

Bug Fixes
  • Improve error handling when manual chunks would contain external modules (#​5050)
Merge Requests
  • #​5050: fix: improve error for manualChunks' modules that are resolved as an external module (@​TrickyPi)

v3.26.1

Compare Source

2023-07-05

Bug Fixes
  • Support hasOwnProperty as exported name in CommonJS (#​5010)
  • Properly reference browser types in package file (#​5051)
Merge Requests

v3.26.0

Compare Source

2023-06-30

Features
  • Add --filterLogs CLI flag and ROLLUP_FILTER_LOGS environment variable for log filtering (#​5035)
Merge Requests

v3.25.3

Compare Source

2023-06-26

Bug Fixes
  • Fix error when inlining dynamic imports that contain unused reexported variables (#​5047)
Merge Requests

v3.25.2

Compare Source

2023-06-24

Bug Fixes
  • Handle plugin errors where code is not a string (#​5042)
  • Use current transformed source when generating code frames with positions in transform hooks (#​5045)
Merge Requests

v3.25.1

Compare Source

2023-06-12

Bug Fixes
  • Respect __NO_SIDE_EFFECTS__ for async functions (#​5031)
Merge Requests

v3.25.0

Compare Source

2023-06-11

Features
  • Add this.info and this.debug plugin context logging functions (#​5026)
  • Add onLog option to read, map and filter logs (#​5026)
  • Add logLevel option to fully suppress logs by level (#​5026)
  • Support function logs in this.warn, this.info and this.debug to avoid heavy computations based on log level ( #​5026)
  • Add onLog plugin hook to read, filter and map logs from plugins (#​5026)
Merge Requests

v3.24.1

Compare Source

2023-06-10

Bug Fixes
  • Fix an issue where bundles with @rollup/plugin-commonjs were missing internal dependencies when code-splitting ( #​5029)
  • Do not use process.exit(0) in watch mode to avoid issues in embedded scenarios (#​5027)
Merge Requests

v3.24.0

Compare Source

2023-06-07

Features
  • Add new annotation /* #__NO_SIDE_EFFECTS__ */ to mark function declarations as side effect free (#​5024)
Merge Requests
  • #​5024: feat: support #__NO_SIDE_EFFECTS__ annotation for function declaration (@​antfu)

v3.23.1

Compare Source

2023-06-04

Bug Fixes
  • Ensure the last segment of sourcemapBaseUrl is never omitted (#​5022)
Merge Requests

v3.23.0

Compare Source

2023-05-22

Features
  • Support emitting "prebuilt chunks" from plugins (#​4990)
Bug Fixes
  • Mark Sets and Maps as pure when they receive an array literal as argument (#​5005)
Merge Requests

v3.22.1

Compare Source

2023-05-21

Bug Fixes
  • Remove force quit again as it caused some issues (#​5004)
Merge Requests

v3.22.0

Compare Source

2023-05-17

Features
  • Prevent empty non-facade chunks by merging them into other suitable chunks (#​4989)
  • Avoid facade chunks in some situations involving reexports (#​4989)
  • Improve algorithm for best merge target when using experimentalMinChunkSize to take tree-shaking into account ( #​4989)
Bug Fixes
  • Take side effects of external dependencies into account when merging chunks for experimentalMinChunkSize (#​4989)
Merge Requests

v3.21.8

Compare Source

2023-05-16

Bug Fixes
  • Allow a namespace to properly contain itself as a named export (#​4991)
Merge Requests

v3.21.7

Compare Source

2023-05-13

Bug Fixes
  • Show correct error on uncaught exceptions in watch mode (#​4987)
Merge Requests

v3.21.6

Compare Source

2023-05-09

Bug Fixes
  • Ensure Rollup CLI prints everything to stdout before exiting (#​4980)
Merge Requests

v3.21.5

Compare Source

2023-05-05

Bug Fixes
  • Keep all consecutive lines at the top of each module that start with a comment (#​4975)
  • Ensure that declarations inside switch cases do not use the same scope as the discriminator (#​4979)
Merge Requests

v3.21.4

Compare Source

2023-05-03

Bug Fixes
  • Resolve crash when shimming a missing export in an otherwise non-included module when preserving modules (#​4971)
Merge Requests

v3.21.3

Compare Source

2023-05-02

Bug Fixes
  • Run process.exit() when Rollup CLI finishes successfully to solve issues on some systems (#​4969)
Merge Requests

v3.21.2

Compare Source

2023-04-30

Bug Fixes
  • Mark global functions that trigger iterators as impure for now (#​4955)
Merge Requests

v3.21.1

Compare Source

2023-04-29

Bug Fixes
  • Make sure call arguments are properly deoptimized when a function uses the arguments variable (#​4965)
Merge Requests

v3.21.0

Compare Source

2023-04-23

Features
  • Support tree-shaking of named exports in dynamic imports when using destructuring and similar patterns (#​4952)
Merge Requests

v3.20.7

Compare Source

2023-04-21

Bug Fixes
  • Properly track array element mutations when iterating with a for-of loop (#​4949)
  • Handle default exporting an anonymous class that extends another class (#​4950)
Merge Requests

v3.20.6

Compare Source

2023-04-18

Bug Fixes
  • Revert handling of non-JS import and export names due to regressions (#​4914)
Merge Requests

v3.20.5

Compare Source

2023-04-18

Bug Fixes
  • Handle import and export names that are not valid JavaScript identifiers (#​4939)
Merge Requests

v3.20.4

Compare Source

2023-04-17

Bug Fixes
  • Do not remove breaks statements after switch statements with conditional breaks (#​4937)
Merge Requests

v3.20.3

Compare Source

2023-04-16

Bug Fixes
  • Reduce memory consumption for function call parameter analysis (#​4938)
  • Fix types for shouldTransformCachedModule (#​4932)
Merge Requests

v3.20.2

Compare Source

2023-03-24

Bug Fixes
  • Fix a crash when using a manual chunk entry that is not already included in the module graph (#​4921)
  • Fix a crash when reporting a warning with incorrect sourcemap information (#​4922)
Merge Requests

v3.20.1

Compare Source

2023-03-23

Bug Fixes
  • Fix returned file name from this.getFileName when assets are deduplicated (#​4919)
Merge Requests

v3.20.0

Compare Source

2023-03-20

Features
  • Allow dynamically imported files to have synthetic named exports when preserving modules (#​4913)
Bug Fixes
  • Use deterministic file name when emitting several files with same source (#​4912)
  • Fix a crash when dynamically importing a file with synthetic named exports when preserving modules (#​4913)
Merge Requests

v3.19.1

Compare Source

2023-03-10

Bug Fixes
  • Produce valid code when the first statement in aclass static block is tree-shaken (#​4898)
Merge Requests

v3.19.0

Compare Source

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)
Merge Requests

v3.18.0

Compare Source

2023-03-01

Features
  • Add experimentalLogSideEffects to log the first detected side effect in every module (#​4871)
  • Ignore-list sourcemaps of files inside node_modules by default (#​4877)
Merge Requests

v3.17.3

Compare Source

2023-02-25

Bug Fixes
  • Handle non-URL-safe characters when poly-filling import.meta.url (#​4875)
Merge Requests

v3.17.2

Compare Source

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)
  • Add missing needsCodeReference property in TypeScript for asset tree-shaking (#​4868)
  • Add correct side effect configuration for additional Object and Promise methods (#​4323)
Merge Requests

v3.17.1

Compare Source

2023-02-18

Bug Fixes
  • Add TypeScript types for loadConfigFile (#​4853)
  • Fix an issue that could include unused classes in the bundle if their super class was in a file with moduleSideEffects: false (#​4866)
Merge Requests

v3.17.0

Compare Source

2023-02-18

Features
  • Deprecate experimentalDeepDynamicChunkOptimization and always run the full chunk generation algorithm (#​4862)
Bug Fixes
  • Fix an issue that caused very slow builds for projects with over 1000 dynamic imports when experimentalDeepDynamicChunkOptimization was enabled (#​4862)
Merge Requests

v3.16.0

Compare Source

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)
  • Support sourcemaps where sourcesContent contains null entries (#​4846)
  • Allow explicitly passing true for the cache option to override Vite's default (#​4859)
Bug Fixes
  • Fix an issue where unrelated side effects spilled into other chunks when using the experimentalMinChunkSize option ( #​4851)
Merge Requests

v3.15.0

Compare Source

2023-02-10

Features
  • Do not consider instantiating a constructor a side effect if it adds properties to "this" and is instantiated elsewhere (#​4842)
Bug Fixes
  • Improve side effect detection in constructors (#​4842)
Merge Requests

v3.14.0

Compare Source

2023-02-05

Features
  • Add experimentalDeepDynamicChunkOptimization option to produce fewer chunks from dynamic imports (#​4837)
Merge Requests

v3.13.0

Compare Source

2023-02-03

Features
  • Prevent chunk cycles when using experimentalMinChunkSize (#​4723)
Merge Requests

v3.12.1

Compare Source

2023-02-01

Bug Fixes
  • Handle self-references in class static blocks and construtors when the class is renamed (#​4827)
  • Improve warnings when creating circular chunks taht reexport variables (#​4829)
Merge Requests

v3.12.0

Compare Source

2023-01-28

Features
  • Change generated external namespace reexport helper code for CommonJS to better work with NodeJS named export detection (#​4826)
Merge Requests

v3.11.0

Compare Source

2023-01-26

Features
  • Support opt-in tree-shaking for emitted assets based on code references (#​4805)
Bug Fixes
  • Adapt documentation references in Rollup to new website (#​4807)
Merge Requests

v3.10.1

Compare Source

2023-01-20

Bug Fixes
  • Fix some crashes when using optional chaining with namespaces and improve tree-shaking (#​4812)
  • Avoid wrongly removed code when using optional chaining (#​4812)
Merge Requests

v3.10.0

Compare Source

2023-01-12

Features
  • Add information about the resolving plugin to resolved ids (#​4789)
  • Improve treeshaking for optional chaining when the root is nullish (#​4797)
Bug Fixes
  • Remove unnecessary internal defaults for acorn options (#​4786)
Merge Requests

v3.9.1

Compare Source

2023-01-02

Bug Fixes
  • Sort keys in generated dynamic namespace objects (#​4780)
  • Do not consider Array.group to be side effect free as the specs have changed (#​4779)
Merge Requests

v3.9.0

Compare Source

2022-12-28

Features
  • Support ES2022 arbitrary module namespace identifiers (#​4770)
  • Add optional version property to plugin type (#​4771)
Merge Requests

v3.8.1

Compare Source

2022-12-23

Bug Fixes
  • Reduce memory footprint when explicitly passing cache: false (#​4762)
  • Fix a crash when preserving modules and reexporting namespaces (#​4766)
Merge Requests

v3.8.0

Compare Source

2022-12-22

Features
  • Deduplicate ESM exports and reexports when preserving modules (#​4759)
Bug Fixes
  • Handle files that are emitted as a side effect of the manualChunks option (#​4759)
Merge Requests

v3.7.5

Compare Source

2022-12-17

Bug Fixes
  • Avoid name shadowing when default exporting a class that matches the name of another class (#​4756)
  • Do not display the error message both in a separate line and in the stack trace in rollup CLI (#​4749)
  • Make type of RollupWarning.cause compatible with Error.cause (#​4757)
  • Do not swallow side effects when interacting with modules namespaces nested in another object (#​4758)
Merge Requests

v3.7.4

Compare Source

2022-12-13

Bug Fixes
  • Do not remove calls to .exec and .test for included stateful regular expressions (#​4742)
Merge Requests

v3.7.3

Compare Source

2022-12-11

Bug Fixes
  • Ensure this.getFileName no longer returns a placeholder as soon as hash placeholders have been resolved (#​4747)
Merge Requests

v3.7.2

Compare Source

2022-12-10

Bug Fixes
  • Improve chunk generation performance when one module is dynamically imported by many other modules (#​4736)
Merge Requests

v3.7.1

Compare Source

2022-12-09

Bug Fixes
Merge Requests

v3.7.0

Compare Source

2022-12-08

Features
  • Do not treat .test and .exec on regular expressions as side effects (#​4737)
Merge Requests

v3.6.0

Compare Source

2022-12-05

Features
  • extend this.getModuleInfo with information about exports (#​4731)
Merge Requests

v3.5.1

Compare Source

2022-12-01

Bug Fixes
  • Accept functions returning a config in defineConfig (#​4728)
Merge Requests
  • #​4728: Overload defineConfig to accept a RollupOptionsFunction parameter (@​Septh)

v3.5.0

Compare Source

2022-11-27

Features
  • Add treeshake.manualPureFunctions to override static analysis for explicit function names (#​4718)
Bug Fixes
  • Do not throw when a plugin uses this.load without awaiting its result (#​4725)
Merge Requests

v3.4.0

Compare Source

2022-11-22

Features
  • Do not keep unused Object.freeze calls on object literals (#​4720)
Merge Requests

v3.3.0

Compare Source

2022-11-12

Features
  • Add "experimentalMinChunkSize" option to merge smaller chunks into larger ones (#​4705)
  • Automatically deduplicate assets again when the source is a Buffer (#​4712)
  • Deduplicate Buffer with string assets (#​4712)
Bug Fixes
  • Support plugins with object hooks when using perf: true (#​4707)
Merge Requests

v3.2.5

Compare Source

2022-11-01

Bug Fixes
  • We deconflicting classes, ensure the original class name still does not shadow variables (#​4697)
Merge Requests

v3.2.4

Compare Source

2022-10-31

Bug Fixes
  • Always use forward slashes in chunk ids when preserving modules, even on Windows (#​4693)
  • Escape problematic characters in ids when rewriting import.meta.url (#​4693)
Merge Requests

v3.2.3

Compare Source

2022-10-18

Bug Fixes
  • Fix an issue whre Rollup confused new.target with import.meta (#​4679)
  • Ensure that Rollup does not make assumptions about the value of unknown namespace import members (#​4684)
Merge Requests

v3.2.2

Compare Source

2022-10-16

Bug Fixes
  • Do not hang/crash on hashbang comments in input modules (#​4676)
Merge Requests

v3.2.1

Compare Source

2022-10-16

Bug Fixes
  • Rewrite class declarations to preserve their .name property if necessary (#​4674)
Merge Requests

v3.2.0

Compare Source

2022-10-15

Features
  • Support providing Promises as plugins like Vite (#​4671)
Merge Requests

v3.1.0

Compare Source

2022-10-12

Features
  • Support using arrays of plugins as plugins like Vite (#​4657)
Merge Requests

v3.0.1

Compare Source

2022-10-12

Bug Fixes
  • Fix installation on Windows (#​4662)
  • Avoid missing parameters that are only used in a destructuring initializer (#​4663)
Merge Requests

v3.0.0

Compare Source

2022-10-11

Breaking Changes
General Changes
  • Rollup now requires at least Node 14.18.0 to run (#​4548 and #​4596)
  • The browser build has been split into a separate package @rollup/browser (#​4593)
  • The node build uses the node: prefix for imports of builtin modules (#​4596)
  • Some previously deprecated features have been removed (#​4552):
    • Some plugin context functions have been removed:
      • this.emitAsset(): use this.emitFile()
      • this.emitChunk(): use this.emitFile()
      • this.getAssetFileName(): use this.getFileName()
      • this.getChunkFileName(): use this.getFileName()
      • this.isExternal(): use this.resolve()
      • this.resolveId(): use this.resolve()
    • The resolveAssetUrl plugin hook has been removed: use resolveFileUrl
    • Rollup no longer passes assetReferenceId or chunkReferenceId parameters to resolveFileUrl
    • The treeshake.pureExternalModules option has been removed: use treeshake.moduleSideEffects: 'no-external'
    • You may no longer use true or false for output.interop. As a replacement for true, you can use "compat"
    • Emitted assets no longer have an isAsset flag in the bundle
    • Rollup will no longer fix assets added directly to the bundle by adding the type: "asset" field
  • Some features that were previously marked for deprecation now show warnings when used (#​4552):
    • Some options have been deprecated:
      • inlineDynamicImports as part of the input options: use output. inlineDynamicImports
      • manualChunks as part of the input options: use output. manualChunks
      • maxParallelFileReads: use `maxParallelFileOps
      • output.preferConst: use output.generatedCode.constBindings
      • output.dynamicImportFunction: use the renderDynamicImport plugin hook
      • output.namespaceToStringTag: use output.generatedCode.symbols
      • preserveModules as part of the input options: use output. preserveModules
    • You should no longer access this.moduleIds in plugins: use this.getModuleIds()
    • You should no longer access this.getModuleInfo(...).hasModuleSideEffects in plugins: use this.getModuleInfo(...).moduleSideEffects
  • Configuration files are only bundled if either the --configPlugin or the --bundleConfigAsCjs options are used. The configuration is bundled to an ES module unless the --bundleConfigAsCjs option is used. In all other cases, configuration is now loaded using Node's native mechanisms (#​4574 and #​4621)
  • The properties attached to some errors have been changed so that there are fewer different possible properties with consistent types (#​4579)
  • Some errors have been replaced by others (ILLEGAL_NAMESPACE_REASSIGNMENT -> ILLEGAL_REASSIGNMENT, NON_EXISTENT_EXPORT -> MISSING_EXPORT) (#​4579)
  • Files in rollup/dist/* can only be required using their file extension (#​4581)
  • The loadConfigFile helper now has a named export of the same name instead of a default export (#​4581)
  • When using the API and sourcemaps, sourcemap comments are contained in the emitted files and sourcemaps are emitted as regular assets (#​4605)
  • Watch mode no longer uses Node's EventEmitter but a custom implementation that awaits Promises returned from event handlers (#​4609)
  • Assets may only be deduplicated with previously emitted assets if their source is a string (#​4644)
  • By default, Rollup will keep external dynamic imports as import(…) in commonjs output unless output.dynamicImportInCjs is set to false (#​4647)
Changes to Rollup Options
  • As functions passed to output.banner/footer/intro/outro are now called per-chunk, they should be careful to avoid performance-heavy operations (#​4543)
  • entryFileNames/chunkFileNames functions now longer have access to the rendered module information via modules, only to a list of included moduleIds (#​4543)
  • The path of a module is no longer prepended to the corresponding chunk when preserving modules (#​4565)
  • When preserving modules, the [name] placeholder (as well as the chunkInfo.name property when using a function) now includes the relative path of the chunk as well as optionally the file extension if the extension is not one of .js, .jsx, .mjs, .cjs, .ts, .tsx, .mts, or .cts (#​4565)
  • The [ext], [extName] and [assetExtName] placeholders are no longer supported when preserving modules (#​4565)
  • The perf option no longer collects timings for the asynchronous part of plugin hooks as the readings were wildly inaccurate and very misleading, and timings are adapted to the new hashing algorithm (#​4566)
  • Change the default value of makeAbsoluteExternalsRelative to "ifRelativeSource" so that absolute external imports will no longer become relative imports in the output, while relative external imports will still be renormalized ( #​4567)
  • Change the default for output.generatedCode.reservedNamesAsProps to no longer quote properties like default by default (#​4568)
  • Change the default for preserveEntrySignatures to "exports-only" so that by default, empty facades for entry chunks are no longer created (#​4576)
  • Change the default for output.interop to "default" to better align with NodeJS interop (#​4611)
  • Change the default for output.esModule to "if-default-prop", which only adds __esModule when the default export would be a property (#​4611)
  • Change the default for output.systemNullSetters to true, which requires at least SystemJS 6.3.3 (#​4649)
Plugin API Changes
  • Plugins that add/change/remove imports or exports in renderChunk should make sure to update ChunkInfo.imports/importedBindings/exports accordingly (#​4543)
  • The order of plugin hooks when generating output has changed (#​4543)
  • Chunk information passed to renderChunk now contains names with hash placeholders instead of final names, which will be replaced when used in the returned code or ChunkInfo.imports/importedBindings/exports (#​4543 and #​4631)
  • Hooks defined in output plugins will now run after hooks defined in input plugins (used to be the other way around) ( #​3846)
Features
  • Functions passed to output.banner/footer/intro/outro are now called per-chunk with some chunk information (#​4543)
  • Plugins can access the entire chunk graph via an additional parameter in renderChunk (#​4543)
  • Chunk hashes only depend on the actual content of the chunk and are otherwise stable against things like renamed/moved source files or changed module resolution order (#​4543)
  • The length of generated file hashes can be customized both globally and per-chunk (#​4543)
  • When preserving modules, the regular entryFileNames logic is used and the path is included in the [name] property. This finally gives full control over file names when preserving modules (#​4565)
  • output.entryFileNames now also supports the [hash] placeholder when preserving modules (#​4565)
  • The perf option will now collect (synchronous) timings for all plugin hooks, not just a small selection (#​4566)
  • All errors thrown by Rollup have name: RollupError now to make clearer that those are custom error types (#​4579)
  • Error properties that reference modules (such as id and ids) will now always contain the full ids. Only the error message will use shortened ids (#​4579)
  • Errors that are thrown in response to other errors (e.g. parse errors thrown by acorn) will now use the standardized cause property to reference the original error (#​4579)
  • If sourcemaps are enabled, files will contain the appropriate sourcemap comment in generateBundle and sourcemap files are available as regular assets (#​4605)
  • Returning a Promise from an event handler attached to a RollupWatcher instance will make Rollup wait for the Promise to resolve (#​4609)
  • There is a new value "compat" for output.interop that is similar to "auto" but uses duck-typing to determine if there is a default export (#​4611)
  • There is a new value "if-default-prop" for esModule that only adds an __esModule marker to the bundle if there is a default export that is rendered as a property (#​4611)
  • Rollup can statically resolve checks for foo[Symbol.toStringTag] to "Module" if foo is a namespace (#​4611)
  • There is a new CLI option --bundleConfigAsCjs which will force the configuration to be bundled to CommonJS (#​4621)
  • Import assertions for external imports that are present in the input files will be retained in ESM output (#​4646)
  • Rollup will warn when a module is imported with conflicting import assertions (#​4646)
  • Plugins can add, remove or change import assertions when resolving ids (#​4646)
  • The output.externalImportAssertions option allows to turn off emission of import assertions (#​4646)
  • Use output.dynamicImportInCjs to control if dynamic imports are emitted as import(…) or wrapped require(…) when generating commonjs output (#​4647)
Bug Fixes
  • Chunk hashes take changes in renderChunk, e.g. minification, into account (#​4543)
  • Hashes of referenced assets are properly reflected in the chunk hash (#​4543)
  • No longer warn about implicitly using default export mode to not tempt users to switch to named export mode and break Node compatibility (#​4624)
  • Avoid performance issues when emitting thousands of assets (#​4644)
Merge Requests

Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Renovate Bot FIT-Connect

Merge request reports