rolldown
node api should create graph (#302) (c7749ba)- A
Symbol
should only be declared in one chunk (#338) (340cd27) - add identifier for export default function without identifier (#81) (e84cde7)
- add stmt info declare symbol for resolution found symbol (#91) (50e191a)
- allow cjs to be both entry and dependency (#336) (d53155b)
- async_scope_block_on (#210) (51f1be1)
- bump to
[email protected]
(1af4b86) - ci release (#428) (483e533)
- clean up render exports from external module (#394) (e51a69a)
- clippy (#4) (f028cff)
- conflict between imported and local binding (#356) (7387e35), closes #355
- deconflict export named declaration (#386) (21aaa36)
- deconflict for duplicate canonical names (#365) (eebea46), closes #364
- defonflict export default function (#385) (518aa5f)
- determine call expression result is used to render require call (#144) (85224ea)
- don't rename symbols that show many times. Fixes #419 (f985755)
- duplicate dynamic entries (#380) (6067e74)
- dynamic import as entry (#366) (8d33829)
- dynamic import chunk is_entry should be false (#361) (6f2b75a)
- ensure valid output for import the same cjs twice (#323) (87b5000)
- export rolldown compat types (#337) (3efa4fd)
- generate local symbol for esm import cjs instead of reference cjs namespace symbol (#141) (5c53415)
- hoist statements. Fixes #418 (276bbae)
- hoisted import declaration (#80) (569409d)
- hoisted top level scope declaration for wrapped esm (#387) (ec20c03)
- invalid output for conflict global and local name (#359) (d464eee)
- keep the context of function call while deconflict symbols (7401a05)
- make sure namespace name is valid identifier (#107) (d3c81aa)
- module execute order (#148) (7ef1c20)
- more meaningful chunk filename (#381) (47b4b6d), closes #49
- only import needed runtime symbols (#324) (51db31f), closes /github.com/rolldown/rolldown/pull/319#discussion_r1398069930
- only pull out
__export()
when it's needed (670dbb6) - packages/core: allow empty
OutputOptions.format
(#224) (0a79036) - packages/core: make
outputOptions
optional (#223) (b2439b1) - playground panic (#263) (f97bea0)
- reexport star from local named export (#290) (77c77ec)
- rename in
SimpleAssignmentTarget
(1d24efc) - rewrite
AssignmentTargetProperty
(5605fc2) - rewrite object shorthand property reference (#384) (9f3332b)
- rewrite unresolved symbol reference callee to indirect call (#94) (6284028)
- runtime module should always be the first to be executed (#116) (883168f)
- rust: remove
RUNTIME_PATH
(#274) (c93a2fb) - should correctly render
export default xxx
(#377) (7fa642f) - should rewrite
export default import(...)
correctly (#220) (cd8ad5e) - stable generated exports (#313) (526a04b)
- support browser filed false value (#395) (c3a82a4)
- top level await fix compile error (#226) (ac60fdf)
- use the same
Resolver
everywhere (#253) (cbcee58) - using vec to keep input options order (#217) (4e4f20a)
- wrapped require module (#79) (ee9a682)
- add (#124) (ca07f3e)
- add
ChunkRenderReturn
struct to make code clear (87f02c2) - add
ExportsKind::None
(#315) (efdd252) - add
generateBundle
hook (#403) (21fe501) - add
OutputChunk
is_entry and facade_module_id (#230) (8fcfda3) - add
referenced_symbols
toStmtInfo
(#75) (465e6e7) - add
Renamer
(#123) (7709cd4) - add
resolve
option (#392) (cd52449) - add
RuntimeNormalModuleTask
(#40) (2401386) - add basic
renderChunk
hook (#401) (b7ea28b) - add buildStart buildEnd hook (#208) (e878c3b)
- add external option (#259) (a80db39)
- add indentor for inserted code (#159) (eaebf11)
- add native plugin example (#262) (246693f)
- add node binding (#50) (9391f16)
- add output chunk isDynamicEntry (#373) (7f0e987)
- add OutputAsset (#231) (42420d7)
- add OutputChunk exports (#241) (46fe0bf)
- add OutputChunk modules (#240) (ccf06fe)
- add plugin adapter (#53) (6438255)
- add PluginDriver (#198) (526f896)
- add PluginDriver resolve_id (#204) (1f0b4f2)
- add resolve_id hook options, include kind and is_entry (#218) (763dedb)
- add rolldown_fs crate (#173) (583c858)
- add sourcemap (#420) (d6a0efd)
- add sourcemap option (#424) (2f7c61b)
- add ViteScannerPlugin (#261) (3d8aff7)
- add writeBundle hook (#405) (683416a)
- allow custom require (#170) (d792da2)
- allow to get current
StmtInfo
in visiting ast (#370) (d962268) - allow to use node module specifier as the bundle input (#211) (51da74c)
- ast-based manipulation (#410) (6f4bfed)
- basic code splitting (#23) (74a7ccf)
- basic code splitting (#97) (395abb8)
- basic commonjs support (#38) (d40c919)
- basic error mechanism (#150) (0c9ab02)
- basic support for importing external module (#168) (6d7e891)
- basic treeshaking (#372) (b240923), closes #16
- basic warning mechanism (#332) (84697ce), closes #331
- call PluginDriver load to get source content (#199) (01b3563)
- call PluginDriver transform (#202) (42cdd61)
- ci: add release workflow (#409) (85c1b9e)
- code splitting rely on tree shaking. Closes #390 (5e7491e)
- code splitting for dynamic import (#27) (6cd5c8e)
- collect errors from
NormalModuleTask
(#298) (4d7d595) - compat node module commonjs interop (#56) (58c2786)
- compute cross chunk links in parallel. Closes #354 (5844943)
- concat sourcemap (#423) (f10dac8)
- correct indent for generated code (#160) (21a70c2)
- correct indent for wrapped cjs module (#161) (58dff4e)
- crates/rolldown: expose
build
api (#266) (4430a89) - create cross-chunk links for runtime module and facade symbols (#114) (0c1e164)
- deconflict symbols in nested scopes in parallel (b3c5e01)
- deconflicting for symbols of nested scopes (#188) (42a2421)
- don't render empty module. Closes #440, #162 (b310a9a)
- empty module should have
ExportsKind::None
(#317) (b15ff14) - enable bare import by default (#284) (833dfc6)
- exclude modules in code splitting (#383) (ec60aca)
- extract html scripts at vite scanner plugin (#268) (1045b0b)
- finish bench use @rolldown/core (#234) (aa7982b)
- follow virtual module convention (#39) (a264b4a)
- generate cross chunk imports by usages (d9ccdb7)
- generate default export for cjs entry (#219) (699fc5d)
- generate module namespace binding on demand (#126) (e09002f)
- generate namespace decl (62768fe)
- generate sourcemap (#425) (da9db71)
- generate the namespace variable on demand (44d5aa8)
- hoist exported function declaration (#73) (f530305)
- impl
Extend
forBatchedErrors
(e22acce) - improve side-effect detection of
MemberExpression
(#374) (abbc8aa) - introduce
ChunkGraph
(#90) (0f7c82c) - introduce
rolldown_rstr
(a97e444), closes #427 - introduce
trait BuildErrorLike
(#327) (158b11d) - introduce helper method
visit_top_level_stmt
while visiting ast (#371) (7bc5f92) - make
BuildError
newtype (#326) (475907e) - make sure chunks are evaluated for their side effects (db6ac0a)
- node: add
scan
api (#340) (ba5257a) - node: export some types (#283) (aea91ab)
- only split runtime module into runtime chunk in rust test (#117) (7d56461)
- only start including modules with entry point in tree shaking (f5b920d)
- output code block should be readonly (#267) (629fd35)
- parsing with correct
SourceType
(#179) (aeaf38b) - prepare supporting runtime (#37) (cd4899f)
- print fancy messages for errors (#329) (8751ee4)
- reexport commonjs (#87) (20271ad)
- refactor
Symbols
and remove a lot ofReferenceId
(#93) (5b980d5) - rely on the standalone copy of rollup types. Closes #439 (e231e14)
- remove
build
api (65b9bd6) - remove
VirtualStmtInfo
(#99) (344be1a) - remove special tree shaking logic for entry point (ba046e6)
- render chunk hook binding (#402) (25fca9d)
- replace
SymbolId
withSymbolRef
(#95) (9c90067) - runtime symbol deconflict (#54) (0fc1d3a), closes #59
- rust: add
OutputFormat::Cjs
(#358) (44c6331), closes #45 - rust: add
print
inOxcCompiler
(#281) (ad962af) - rust: rendering runtime module in snapshot testing (#375) (3cb39a2)
- rust: return errors from
NormalModuleTask#resolve_dependencies
(#270) (fdbf290) - setup rolldown node test (#307) (7638193)
- should rewrite symbols in complex patterns correctly (#193) (e267018)
- store
source
inBuildError
(#328) (c34d3cd) - support enabling tracing (#291) (8310a17), closes /github.com/rolldown/rolldown/blob/6601e8863d8934f18f7b1aa9b44867aba854b6f4/crates/rolldown_tracing/src/lib.rs#L1-L6
- support export star commonjs (#85) (07b8c03)
- support mix cjs and esm (#76) (22794c3)
- support tree shaking (6e32999)
- support load hook return map (#421) (b42b32b)
- support transform hook return map (#422) (9206754)
- treat empty files as cjs in compat mode (456e0b3)
- treat required module with
ExportKind::None
as commonjs (#319) (0738ad8) - treeshaking in module level (#382) (6f8b03f)
- update to
[email protected]
(5cf2c6b) - use
ariadne
for better error display (#163) (2cd7d49) - use oxc_resolver (#32) (79de1ad)
- vite-scanner: load script content from html (#280) (3bcaabc)
- wasm (#178) (d8d0b2a)
- wasm playground (#233) (724f4b2)
- wasm: enable multi entry (#250) (571ee4b)