Update dependency rollup to v4
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
rollup (source) | devDependencies | major | ^3.12.1 -> 4.28.0 |
Release Notes
rollup/rollup
v4.28.0
2024-11-30
Features
- Allow to specify how to handle import attributes when transpiling Rollup config files (#5743)
Merge Requests
- #5743: fix: supports modify the import attributes key in the config file (@TrickyPi, @lukastaegert)
- #5747: chore(deps): update codecov/codecov-action action to v5 (@renovate[bot])
- #5748: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.27.4
2024-11-23
Bug Fixes
- Update bundled magic-string to support sourcemap debug ids (#5740)
Merge Requests
- #5740: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.27.3
2024-11-18
Bug Fixes
- Revert object property tree-shaking for now (#5736)
Merge Requests
- #5736: Revert object tree-shaking until some issues have been resolved (@lukastaegert)
v4.27.2
2024-11-15
Bug Fixes
- Ensure unused variables in patterns are always deconflicted if rendered (#5728)
Merge Requests
- #5728: Fix more variable deconflicting issues (@lukastaegert)
v4.27.1
2024-11-15
Bug Fixes
- Fix some situations where parameter declarations could put Rollup into an infinite loop (#5727)
Merge Requests
- #5727: Debug out-of-memory issues with Rollup v4.27.0 (@lukastaegert)
v4.27.0
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
- #5420: feat: implement object tree-shaking (@TrickyPi, @lukastaegert)
- #5723: Reduce max hash size to 21 (@lukastaegert)
- #5724: fix(deps): update swc monorepo (major) (@renovate[bot])
- #5725: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.26.0
2024-11-13
Features
- Allow to avoid
await bundle.close()
via explicit resource management in TypeScript (#5721)
Merge Requests
-
#5721: feat: support
using
forRollupBuild
(@shulaoda)
v4.25.0
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
- #5712: feat: Add support for injecting Debug IDs (@timfish)
- #5717: fix(deps): update swc monorepo (major) (@renovate[bot])
- #5718: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5719: Use a less surprising base-16 encoding (@lukastaegert)
v4.24.4
2024-11-04
Bug Fixes
- Ensure mutations by handlers in Proxy definitions are always respected when tree-shaking (#5713)
Merge Requests
- #5708: Update configuration-options document (@sacru2red, @lukastaegert)
- #5711: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5713: fix: Deoptimize the proxied object if its property is reassigned in the handler functions (@TrickyPi)
v4.24.3
2024-10-29
Bug Fixes
- Slightly reduce memory consumption by specifying fixed array sizes where possible (#5703)
Merge Requests
- #5703: perf: use pre-allocated arrays for known result sizes (@GalacticHypernova)
v4.24.2
2024-10-27
Bug Fixes
- Add missing build dependency (#5705)
Merge Requests
- #5705: Fix "Couldn't find package" error when installing rollup using yarn (@tagattie)
v4.24.1
2024-10-27
Bug Fixes
- Support running Rollup natively on FreeBSD (#5698)
Merge Requests
- #5689: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5690: chore(deps): update dependency @inquirer/prompts to v7 (@renovate[bot])
- #5691: chore(deps): update dependency eslint-plugin-unicorn to v56 (@renovate[bot])
- #5692: chore(deps): lock file maintenance minor/patch updates (@renovate[bot], @lukastaegert)
- #5695: fix(deps): update swc monorepo (major) (@renovate[bot])
- #5696: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5698: Add support for FreeBSD (x64 and arm64) (@tagattie, @lukastaegert)
v4.24.0
2024-10-02
Features
- Support preserving and transpiling JSX syntax (#5668)
Merge Requests
- #5668: Introduce JSX support (@lukastaegert, @Martin-Idel, @felixhuttmann, @AlexDroll, @tiptr)
v4.23.0
2024-10-01
Features
- Collect all emitted names and originalFileNames for assets (#5686)
Merge Requests
- #5686: Add names and originalFileNames to assets (@lukastaegert)
v4.22.5
2024-09-27
Bug Fixes
- Allow parsing of certain unicode characters again (#5674)
Merge Requests
- #5674: Fix panic with unicode characters (@sapphi-red, @lukastaegert)
- #5675: chore(deps): update dependency rollup to v4.22.4 [security] (@renovate[bot])
- #5680: chore(deps): update dependency @rollup/plugin-commonjs to v28 (@renovate[bot], @lukastaegert)
- #5681: chore(deps): update dependency @rollup/plugin-replace to v6 (@renovate[bot])
- #5682: chore(deps): update dependency @rollup/plugin-typescript to v12 (@renovate[bot])
- #5684: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.22.4
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
- #5670: refactor: Use object.prototype to check for reserved properties (@YuHyeonWook)
- #5671: Fix DOM Clobbering CVE (@lukastaegert)
v4.22.3
2024-09-21
Bug Fixes
- Ensure that mutations in modules without side effects are observed while properly handling transitive dependencies (#5669)
Merge Requests
- #5669: Ensure impure dependencies of pure modules are added (@lukastaegert)
v4.22.2
2024-09-20
Bug Fixes
- Revert fix for side effect free modules until other issues are investigated (#5667)
Merge Requests
- #5667: Partially revert #5658 and re-apply #5644 (@lukastaegert)
v4.22.1
2024-09-20
Bug Fixes
- Revert #5644 "stable chunk hashes" while issues are being investigated
Merge Requests
- #5663: chore(deps): update dependency inquirer to v11 (@renovate[bot], @lukastaegert)
- #5664: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5665: fix: type in CI file (@YuHyeonWook)
- #5666: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.22.0
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
- #5644: fix: apply final hashes deterministically with stable placeholders set (@mattkubej, @lukastaegert)
- #5646: chore(deps): update dependency @mermaid-js/mermaid-cli to v11 (@renovate[bot])
- #5647: chore(deps): update dependency concurrently to v9 (@renovate[bot])
- #5648: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
-
#5651: feat: add
AggregateError
,FinalizationRegistry
,WeakRef
to knownGlobals (@re-taro) - #5653: Fix example selection in REPL (@lukastaegert)
- #5657: chore(deps): update dependency vite to v5.4.6 [security] (@renovate[bot])
- #5658: Detect variable reassignments in modules without side effects (@lukastaegert)
v4.21.3
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
- #5636: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5637: chore(deps): lock file maintenance (@renovate[bot])
- #5640: fix: keep the message of stack up-to-date (@TrickyPi)
- #5642: fix: include left-side effect of optional chaining in the end of hasEffectsAsChainElement (@TrickyPi)
v4.21.2
2024-08-30
Bug Fixes
- Handle IIFE/UMD namespace definitions conflicting with a builtin property (#5605)
Merge Requests
- #5605: fix: Wrong namespace property definition (@thirumurugan-git, @lukastaegert)
- #5630: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5631: chore(deps): lock file maintenance (@renovate[bot])
- #5632: chore(deps): lock file maintenance (@renovate[bot])
v4.21.1
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
- #5591: chore(deps): update dependency @types/eslint to v9 (@renovate[bot], @lukastaegert)
- #5618: preload the WASM file even though the version is undefined. (@TrickyPi)
- #5619: Call and await closeWatcher hooks on exit signals (@lukastaegert)
- #5622: chore(deps): lock file maintenance minor/patch updates (@renovate[bot], @lukastaegert)
- #5624: fix: add space for DOCUMENT_CURRENT_SCRIPT template (@TrickyPi)
- #5625: fix: get the right chunk name for preserve modules in Windows (@TrickyPi, @lukastaegert)
v4.21.0
2024-08-18
Features
- Add option to configure directory for virtual modules when preserving modules (#5602)
Merge Requests
- #5602: feat: introduce the virtualDirname option to customize the virtual directory name (@TrickyPi)
- #5607: chore(deps): update typescript-eslint monorepo to v8 (major) (@renovate[bot], @lukastaegert)
- #5608: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
-
#5611: chore: fix the
noConflict
option in REPL. (@7086cmd) - #5613: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5614: chore(deps): lock file maintenance (@renovate[bot])
v4.20.0
2024-08-03
Features
- Allow plugins to specify the original file name when emitting assets (#5596)
Merge Requests
- #5596: Add originalFIleName property to emitted assets (@lukastaegert)
- #5599: chore(deps): update dependency eslint-plugin-unicorn to v55 (@renovate[bot], @lukastaegert)
- #5600: chore(deps): lock file maintenance minor/patch updates (@renovate[bot], @lukastaegert)
v4.19.2
2024-08-01
Bug Fixes
- Avoid "cannot get value of null" error when using optional chaining with namespaces (#5597)
Merge Requests
- #5597: Fix retrieval of literal values for chained namespaces (@lukastaegert)
v4.19.1
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
- #5584: fix: find whitespace from operator position to start (@TrickyPi)
- #5587: docs: improve command by code-group (@thinkasany, @lukastaegert)
- #5589: Fix side effect detection in optional chains (@lukastaegert)
- #5592: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5593: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5594: chore(deps): lock file maintenance (@renovate[bot])
- #5595: chore(deps): lock file maintenance (@renovate[bot])
v4.19.0
2024-07-20
Features
- Implement support for decorators (#5562)
Bug Fixes
- Improve soucemap generation when tree-shaking logical expressions (#5581)
Merge Requests
- #5562: feat: implementing decorator support (@TrickyPi, @lukastaegert)
- #5570: refactor(finalisers): condition branch (@Simon-He95, @zhangmo8)
- #5572: Improve chunk and asset type information in docs (@lukastaegert)
- #5573: Switch to audit resolver to ignore requirejs vulnerability (@lukastaegert)
- #5575: chore(deps): update dependency inquirer to v10 (@renovate[bot], @lukastaegert)
- #5576: chore(deps): lock file maintenance minor/patch updates (@renovate[bot], @lukastaegert)
- #5580: chore(deps): lock file maintenance minor/patch updates (@renovate[bot], @lukastaegert)
- #5581: When tree-shaking logical expression, make sure to remove all trailing white-space. (@lukastaegert)
v4.18.1
2024-07-08
Bug Fixes
- Prevent "%" in generated file names to ensure imports resolve (#5535)
Merge Requests
- #5524: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5525: chore(deps): lock file maintenance (@renovate[bot])
- #5526: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5527: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5529: Use Spanned trait to simplify logic (@lukastaegert)
- #5530: Fix typos in ARCHITECTURE.md (@younggglcy)
- #5532: Use Rust macros for converters where possible (@lukastaegert)
-
#5535: fix: escape
%
if URI malformed (@baseballyama, @lukastaegert) - #5536: chore(deps): lock file maintenance minor/patch updates (@renovate[bot], @lukastaegert)
- #5541: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5542: chore(deps): lock file maintenance (@renovate[bot])
- #5543: Watch rust files and rebuild during dev (@lukastaegert)
- #5544: Refactor AST converters (@lukastaegert)
- #5545: chore(deps): update dependency @rollup/plugin-commonjs to v26 (@renovate[bot])
- #5546: chore(deps): update dependency nyc to v17 (@renovate[bot])
- #5547: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5548: chore(deps): lock file maintenance (@renovate[bot])
- #5549: chore(deps): lock file maintenance (@renovate[bot])
- #5550: chore(deps): update dependency eslint-plugin-unicorn to v54 (@renovate[bot], @lukastaegert)
- #5551: chore(deps): lock file maintenance minor/patch updates (@renovate[bot], @lukastaegert)
- #5555: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5556: chore(deps): lock file maintenance (@renovate[bot])
- #5558: Consider that the body of ClassBody might be of type StaticBlock (@TrickyPi)
- #5565: refactor(ast): conditional branch (@Simon-He95)
- #5566: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5567: chore(deps): lock file maintenance (@renovate[bot])
v4.18.0
2024-05-22
Features
- Resolve import.meta.filename and .dirname in transpiled plugins (#5520)
Merge Requests
- #5504: Auto generate node index (@lukastaegert)
- #5507: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5508: chore(deps): lock file maintenance (@renovate[bot])
- #5510: Split up converter.rs into AST nodes (@lukastaegert)
- #5512: chore(deps): update dependency builtin-modules to v4 (@renovate[bot], @lukastaegert)
- #5514: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5518: chore(deps): update dependency eslint-plugin-unicorn to v53 (@renovate[bot], @lukastaegert)
- #5519: chore(deps): lock file maintenance minor/patch updates (@renovate[bot], @lukastaegert)
- #5520: Resolve import.meta.{filename,dirname} in files imported from config (@BPScott)
- #5521: docs: correct base32 to base36 in documentation (@highcastlee)
v4.17.2
2024-04-30
Bug Fixes
- Fix tree-shaking problems when using spread arguments (#5503)
Merge Requests
- #5501: Slightly improve perf report (@lukastaegert)
- #5503: fix: rest element should deoptimize parameter values (@liuly0322)
v4.17.1
2024-04-29
Bug Fixes
- Prevent infinite recursions for certain constructor invocations (#5500)
Merge Requests
- #5500: fix: parameter variable infinite recursion error (@liuly0322)
v4.17.0
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
- #5483: feature(fix): function parameter tracking (@liuly0322)
- #5488: Report performance in CI (@TrickyPi)
- #5489: Create FUNDING.json (@BenJam)
- #5492: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5493: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5494: Use opt-level=z for browser wasm (@sapphi-red)
v4.16.4
2024-04-23
Bug Fixes
- Revert function parameter tracking logic introduced in 4.16.0 to work on some remaining issues (#5487)
Merge Requests
- #5487: Revert function parameter tracking logic for now (@lukastaegert)
v4.16.3
2024-04-23
Bug Fixes
- Do not optimize IIFEs that have a name and are again referenced inside their definition (#5486)
Merge Requests
- #5486: fix: only optimize annoymous iife (@liuly0322)
v4.16.2
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
- #5479: Add libc field to armv7 packages (@sapphi-red)
- #5482: fix: function parameter reassigned update (@liuly0322)
v4.16.1
2024-04-21
Bug Fixes
- Fix crash when rendering logical or conditional expressions (#5481)
Merge Requests
- #5481: fix: conditional/logical expression should request a new tree-shaking (@liuly0322)
v4.16.0
2024-04-21
Features
- Track function call arguments to optimize functions only called once or with the same literal values (#5443)
Merge Requests
- #5443: feat: improve tree-shaking by propagate const parameter (@liuly0322, @lukastaegert)
v4.15.0
2024-04-20
Features
- Add output.importAttributesKey option to select whether to use "with" or "assert" for import attributes (#5474)
Merge Requests
- #5474: Add ImportAttributesKey to choose keyword ("with" | "assert") (@doubleaa93, @lukastaegert)
- #5475: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5477: Try to run emulated smoke tests for Linux environments (@lukastaegert)
v4.14.3
2024-04-15
Bug Fixes
- Support Alpine Linux and other MUSL builds on ARM (#5471)
Merge Requests
- #5471: Add linux arm musl build (@sapphi-red)
v4.14.2
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
- #5456: Add high-level architecture documentation (@lukastaegert)
- #5460: Fix ppc64le target (@lukastaegert)
- #5463: chore: tweak the comment about files should not be edited (@TrickyPi)
- #5466: Ensure reexported namespaces do not prevent creation of default export helpers (@lukastaegert)
- #5468: chore(deps): update dependency eslint-plugin-unicorn to v52 (@renovate[bot], @lukastaegert)
- #5469: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5470: chore(deps): lock file maintenance (@renovate[bot])
v4.14.1
2024-04-07
Bug Fixes
- Show better error when running on musl Linux where the musl build is not supported (#5454)
Merge Requests
- #5451: chore: generate string constants from config (@TrickyPi)
- #5452: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5453: chore(deps): lock file maintenance (@renovate[bot])
- #5454: Improve error message when running on unsupported MUSL Linux (@lukastaegert)
- #5455: Remove inlining logic in AST (de-)serializer (@lukastaegert)
v4.14.0
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
- #5422: feat: show all cause in Error (@devohda, @lukastaegert)
- #5444: feat: support explicit-resource-management (@TrickyPi)
-
#5445: docs: add
@shikiji/vitepress-twoslash
(@sapphi-red) - #5447: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5448: chore(deps): lock file maintenance (@renovate[bot])
v4.13.2
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
- #5350: Add support for ppc64le (@pavolloffay, @lukastaegert)
- #5438: Cache module info getters before output generation (@bluwy, @lukastaegert)
v4.13.1
2024-03-27
Bug Fixes
- Add new linux-s390x-gnu native binary package (#5346)
Merge Requests
- #5346: Add support for linux s390x gnu (@edlerd)
- #5430: chore(deps): update dependency @vue/eslint-config-typescript to v13 (@renovate[bot], @lukastaegert)
- #5431: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5432: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5436: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5437: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.13.0
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
- #5417: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5418: chore(deps): lock file maintenance (@renovate[bot])
- #5419: chore: fix typo (@OnlyWick)
- #5424: Add locations to logs, warnings and error messages ( @lukastaegert)
v4.12.1
2024-03-06
Bug Fixes
- Escape special characters in file references (#5404)
Merge Requests
-
#5398: Rename
getRollupEror
togetRollupError
(@MrRefactoring) - #5399: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
-
#5404: fix: escape ids in
import.meta.ROLLUP_FILE_URL_referenceId
correctly (@sapphi-red) - #5406: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5407: chore(deps): lock file maintenance (@renovate[bot])
- #5411: Chunk assignment - Fix comment line breaks and typo (@yoavweiss, @lukastaegert)
v4.12.0
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
- #5391: Improve performance by directly constructing AST from buffer ( @lukastaegert)
- #5393: chore(deps): update dependency eslint-plugin-unicorn to v51 ( @renovate[bot])
- #5394: chore(deps): update typescript-eslint monorepo to v7 (major) ( @renovate[bot])
- #5395: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.11.0
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
-
#5380: fix: separately export
__proto__
for compatibility with CJS Transpiler Re-exports (@TrickyPi) - #5388: Add const reassign rule (@TrickyPi)
v4.10.0
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
- #5359: chore(deps): update actions/cache action to v4 (@renovate[bot])
- #5360: chore(deps): update dependency pretty-ms to v9 (@renovate[bot])
- #5366: chore(deps): update dependency husky to v9 (@renovate[bot])
- #5367: chore(deps): update peter-evans/create-or-update-comment action to v4 (@renovate[bot])
- #5368: chore(deps): update peter-evans/find-comment action to v3 ( @renovate[bot])
- #5369: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5370: Fix dependency range for Node types (@lukastaegert)
- #5371: Implement "output.hashCharacters" option to define character set for file hashes (@lukastaegert)
- #5372: Roll back vitepress as 1.0.0-rc.40 breaks the development build ( @lukastaegert)
- #5382: Update documentation (@TrickyPi)
- #5383: Catch Rust panics and then throw them in JS (@TrickyPi)
- #5384: chore(deps): update codecov/codecov-action action to v4 ( @renovate[bot])
- #5385: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5386: Resolve all rollup imports to node_modules to avoid type conflict (@TrickyPi)
v4.9.6
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
- #5337: Generate AST transformers from config (@lukastaegert)
- #5340: Also type-check d.ts files (@lukastaegert)
- #5348: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5351: chore(deps): update dependency vite to v5.0.12 [security] ( @renovate[bot])
- #5352: Track mutations of elements pushed into arrays (@lukastaegert)
v4.9.5
2024-01-12
Bug Fixes
- Fix issue where on Windows, Rollup would not load due to problems with the MSVC executable (#5335)
Merge Requests
- #5334: Fix typo in commondir.ts (@akiomik)
- #5335: build: static link msvc runtime on Windows x64 platform ( @Brooooooklyn)
- #5338: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.9.4
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
- #5328: Correctly handling number key (@LongTengDao)
- #5332: Handle pure annotations that are separated by a comment ( @lukastaegert)
v4.9.3
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
- #5313: Correctly handling proto export as module object key ( @LongTengDao)
- #5323: fix: Add estree.Program type to rollup.d.ts (@TrickyPi)
- #5326: docs: fix grammar (@gigabites19)
- #5329: chore(deps): update dependency @vue/eslint-config-prettier to v9 (@renovate[bot])
- #5330: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.9.2
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
- #5305: Add JSDoc types to internal scripts (@lukastaegert)
- #5309: chore(deps): update actions/download-artifact action to v4 ( @renovate[bot])
- #5311: chode: add node badge (@btea)
- #5312: Remove rollup-plugin-thatworks from devDeps (@TrickyPi)
- #5318: chore(deps): update dependency eslint-plugin-unicorn to v50 ( @renovate[bot])
- #5319: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5321: Handle arbitrary namespace identifiers in some SystemJS scenarios (@lukastaegert)
- #5322: Do not handle declarations in modules without side effects as TDZ (@lukastaegert)
v4.9.1
2023-12-17
Bug Fixes
- Fix an issue where break statements could include the wrong label (#5297)
Merge Requests
- #5297: fix: use a new includedLabels in the body of the LabeledStatement (@TrickyPi)
- #5300: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.9.0
2023-12-13
Features
- Fully support arbitrary strings as import and export identifiers (#5298)
Merge Requests
- #5296: Do not assume setTimeout return type (@kapouer)
- #5298: Fully support arbitrary module namespace identifiers for all formats (@lukastaegert)
v4.8.0
2023-12-11
Features
- Improve
experimentalMinChunkSize
to take already loaded modules from dynamic imports into account (#5294)
Merge Requests
- #5294: Find more merge targets for experimentalMinChunkSize ( @lukastaegert)
v4.7.0
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
- #5278: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5281: Add logs and experimentalLogSideEffects to REPL (@lukastaegert)
- #5284: Add friendly error for missing MSVC redistributable (@sapphi-red)
- #5285: chore(deps): update dependency vite to v5.0.5 [security] ( @renovate[bot])
- #5288: Add support for linux riscv64 gnu (@kxxt)
- #5290: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.6.1
2023-11-30
Bug Fixes
- Resolve a situation where declaring the same
var
several times was considered a conflict (#5276)
Merge Requests
- #5275: Add TNG as special sponsor (@lukastaegert)
- #5276: Allow to redeclare parameters multiple times in nested scopes ( @lukastaegert)
v4.6.0
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 inthis.addWatchFile
so it does not need to be bound when passed around (#5270)
Merge Requests
- #5267: Add friendly error for npm bug (@sapphi-red)
- #5270: Allow this.addWatchFile in all hooks (@lukastaegert)
- #5272: Debug deployed graphs (@lukastaegert)
v4.5.2
2023-11-24
Bug Fixes
- Handle files with UTF-8 BOM when using the commonjs plugin (#5268)
Merge Requests
- #5268: fix: strip BOM before calling transform hook (@TrickyPi)
- #5269: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.5.1
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
- #5257: Fix graphs in docs, improve REPL colors (@lukastaegert)
- #5262: Allow function expression parameters to shadow the function id ( @lukastaegert)
v4.5.0
2023-11-18
Bug Fixes
- Show a proper error when using native Rollup on armv7 musl Linux (#5255)
Merge Requests
- #5251: doc fix import assertions to attributes in API plugin development page (@lhapaipai)
- #5253: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5255: Error for armv7 musl build (@lukastaegert)
v4.4.1
2023-11-14
Bug Fixes
- Do not flag duplicate function declarations in function scopes as syntax errors (#5248)
Merge Requests
- #5248: Allow functions to redeclare vars and functions in function scopes (@lukastaegert)
v4.4.0
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
- #5207: perf: run lint while constructing nodes (@sapphi-red)
v4.3.1
2023-11-11
Bug Fixes
- Fix rename error when handling errors in watch mode (#5240)
- Prevent warning when using
--forceExit
(#5245)
Merge Requests
- #5240: fix: allow the name of Rollup Error to be modified (@TrickyPi)
- #5243: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5245: Ensure --forceExit works without warning (@lukastaegert)
v4.3.0
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
-
#5195: Add
forceExit
CLI flag (@raphael-theriault-swi) -
#5198: fix: prevent
ENOENT
error on temp config removal (@jzempel) - #5237: chore: remove unused files and deps (@TrickyPi)
- #5238: chore(deps): update dependency eslint-plugin-unicorn to v49 ( @renovate[bot])
- #5239: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.2.0
2023-10-31
Features
- Run parsing in multiple threads and introduce
parseAstAsync
helper function (#5202)
Merge Requests
-
#5202: perf: introduce
parseAstAsync
and parallelize parsing AST ( @sapphi-red)
v4.1.6
2023-10-31
Bug Fixes
- Fix a bug where emtpy block comments in certain positions could freeze Rollup (#5231)
Merge Requests
- #5228: build: ensure rust toolchain components for linting are installed (@jerome-benoit)
- #5231: Render emtpy block comments after tree-shaken statements ( @lukastaegert)
- #5232: Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build (@lukastaegert)
v4.1.5
2023-10-28
Bug Fixes
- Fix an issue where actual entries that were also implicit entries could remain implicit (#5220)
Merge Requests
- #5209: Document Vite workaround for browser build (@curran)
- #5215: chore(deps): update dependency lint-staged to v15 ( @renovate[bot])
- #5216: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5218: Update license plugin (@lukastaegert)
- #5219: Fix error highlight in REPL (@lukastaegert)
- #5220: Fix race condition when emitting implicitly dependent entries ( @lukastaegert)
- #5224: chore(deps): update actions/setup-node action to v4 ( @renovate[bot])
- #5225: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.1.4
2023-10-16
Bug Fixes
- Reduce sizes @rollup/browser and @rollup/wasm-node WASM artifacts (#5204)
Merge Requests
- #5204: perf: shrink wasm size by avoid importing browserslist ( @sapphi-red)
v4.1.3
2023-10-15
Bug Fixes
- Fix WASM build as hash function was not exported (#5203)
Merge Requests
- #5203: fix: export xxhashBase64Url from wasm (@sapphi-red)
v4.1.1
2023-10-15
Bug Fixes
- Improve Node parsing performance (#5201)
Merge Requests
- #5201: perf: use mimalloc for bindings_napi (@sapphi-red)
v4.1.0
2023-10-14
Features
- Reduce memory usage of Rollup builds (#5133)
Merge Requests
- #5133: perf: reducing ast node memory overhead (@thebanjomatic)
- #5177: chore: explicitly set rust toolchain channel (@cijiugechu)
- #5179: Update migration guide for Rollup 4 (@lukastaegert)
- #5180: Resolve clippy errors (@cijiugechu)
- #5183: Add clippy to pipeline and fix remaining issues (@lukastaegert)
-
#5184: docs: fix code example for
onLog
(@tjenkinson) - #5186: Improve wording for native artifacts in migration guide ( @lukastaegert)
- #5190: test: add verifyAst type (@TrickyPi)
- #5196: chore(deps): update dependency rollup to v4 (@renovate[bot])
- #5197: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
v4.0.2
2023-10-06
Bug Fixes
- Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore (#5178)
Merge Requests
- #5178: Handle special characters before double underscores ( @lukastaegert)
v4.0.1
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
- #5172: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5173: fix: ignores empty statements in class body that is returned by SWC parser (@TrickyPi)
- #5176: Fix linux arm musl build (@lukastaegert)
v4.0.0
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 withINVALID_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 fores
andcjs
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 theRollupLog
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 ofoutput.externalImportAttributes
(#5073) -
inlineDynamicImports
,manualChunks
andpreserveModules
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 therenderDynamicImport
plugin hook instead -
output.namespaceToStringTag
: Useoutput.generatedCode.symbols
instead -
output.preferConst
: Useoutput.generatedCode.constBindings
instead
-
Plugin API Changes
- For
this.resolve
, the default of theskipSelf
option is nowtrue
(#5142) -
this.parse
now only supports theallowReturnOutsideFunction
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 callingthis.addWatchFile
for any dependency files (#5150) - The normalized input options provided by
buildStart
and other hooks no longer contain anonwarn
handler; plugins should useonLog
instead (#5147) -
this.moduleIds
has been removed from the plugin context: Usethis.getModuleIds()
instead (#5143) - The
hasModuleSideEffects
flag has been removed from theModuleInfo
returned bythis.getModuleInfo()
: UsemoduleSideEffects
on theModuleInfo
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
- #5073: [v4.0] Switch parser to SWC and introduce native/WASM code ( @lukastaegert)
- #5142: [v4.0] Set the default of skipSelf to true (@TrickyPi)
- #5143: [v4.0] Remove deprecated features (@lukastaegert)
- #5144: [v4.0] Imporve the performance of generating ast and rollup ast nodes (@TrickyPi)
- #5147: [v4.0] Remove onwarn from normalized input options ( @lukastaegert)
- #5150: [v4.0] feat: Do not watch files anymore if their content is returned by the load hook (@TrickyPi)
- #5154: [v4.0] Add parse option to allow return outside function ( @lukastaegert)
- #5155: [v4.0] feat: implement hashing content in Rust (@TrickyPi)
- #5157: [v4.0] Handle empty exports (@lukastaegert)
- #5160: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5163: [v4.0] feat: preserve shebang in entry module for CJS and ESM outputs (@TrickyPi)
- #5164: [v4.0] fix: also strip BOM from code strings in JS (@TrickyPi)
- #5165: [v4.0] warn for invalid annotations (@lukastaegert)
- #5168: [v4.0] Ensure we support new import attribute "with" syntax ( @lukastaegert)
- #5169: [v4.0] Expose parser (@lukastaegert)
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.