0.10.3 (2024-05-29)
- cjs: only wrap entry cjs modules conditionally (#1164) (97d50b5)
- cjs: should keep correct esm semantic in importing external modules (#1172) (4c6a63a)
- cli: Improvements to more brandaly CLI (#754) (c07c3ed)
- deps: update dependency @types/lodash to v4.17.3 (#1145) (52e733d)
- deps: update dependency @types/lodash to v4.17.4 (#1147) (73e6d81)
- deps: update dependency esbuild to ^0.21.0 (#1049) (5578516)
- deps: update dependency esbuild to v0.21.1 (#1053) (562a7e2)
- deps: update dependency esbuild to v0.21.3 (#1139) (68f44ff)
- deps: update dependency execa to v9 (#1069) (6680a14)
- deps: update dependency execa to v9.0.2 (#1078) (db1be3d)
- deps: update dependency execa to v9.1.0 (#1110) (c2b6818)
- deps: update dependency vue to v3.4.27 (#1048) (cf87c5d)
- deps: update dependency zod to v3.23.8 (#1068) (7fef82c)
- deps: update dependency zx to v8.1.0 (#1120) (7558600)
- deps: update dependency zx to v8.1.2 (#1255) (4ab44ed)
- deps: update minor dependencies (#1257) (00564af)
- deps: update patch dependencies (#1060) (8a24ba9)
- deps: update patch dependencies (#1073) (ec7ae9a)
- deps: update patch dependencies (#1104) (cdd981e)
- deps: update patch dependencies (#1215) (6022624)
- deps: update patch dependencies (#1246) (f4bd84f)
- doc: correct link and fileName in documentation (#1241) (afd37ef)
- ensure chunk order (#1135) (975e884)
- esbuild case test_common_js_variable_in_esm_type_module (#1183) (f11a717)
- generateBundle and writeBundle compat to rollup (#966) (4a45b2d)
- node/cli: exit process after bundling (#1097) (9a91687), closes #985
- node/rolldown: CIRCULAR_DEPENDENCY warnings. (#1232) (56320ab)
- node: should call hooks with await (#950) (1c5c7d5)
- normalize windows path for sourcemap sources (#941) (bf9bbe1)
- resolve: care about
browser
field while targetingbrowser
platform (#1075) (936a6ab) - resolve: treat builtin modules as external by default while targeting
node
platform (#1190) (8d088d8) - rewrite dynamic import to correct entry chunk (#1195) (d242f3e)
- rolldown/hash: caculate hash by scanning actually used dependencies and also prevent hash collision from different chunks that have the same content (#1141) (130013b)
- rust/resolve: should point to the correct resolved external module with alias (#1253) (4667d32)
- rust: cacluate order of import chunks by global module execution order (#1206) (c9acb39)
- rust: remove not existed member method (3134b77)
- should generate correct chunk import path to importee in importer chunk (#1180) (8190a5c)
- test_package_json_browser_no_ext (#1093) (82e77a1)
- test_package_json_browser_over_main_node (#1107) (e863b43)
- test_package_json_type_should_be_types (#1184) (63384bd)
- tree_shaking: determine indirect side effects (#1213) (1003174)
- tree-shaking: module should consider having side effect if it's dependencies have side effect (#1205) (b235a38)
- typo (#1175) (6b0bbe7)
- using path as sourcemap path (#946) (bc0934b)
- add ModuleInfo isEntry (#988) (a5d0a45)
- add ModuleInfo some fileds (#973) (040f27d)
- add onLog option (#1203) (773024e)
- add OutputChunk#preliminaryFileName (#1096) (49a134a)
- add plugin context info/warn/error/debug (#1051) (1a9532d)
- add TransfromPluginContext debug/info/warn/error (#1176) (9e4dfa8)
- bootstrap Rolldown with Rolldown (#1211) (10a7d97)
- bump oxc to v0.13.1 (#1208) (fea76c9)
- derive side effects from package json (#1103) (9a17694)
- error: emit diagnostics for missing export (#1238) (0b04591)
- mutate
Output
andOutputChunk
(#1082) (430d642) - node/plugin: support
PluginContext#resolve
(#1102) (5bcf3ed) - node/rolldown: support cjs output (#1202) (e13d865)
- parallel plugin handle error in worker (#986) (ff1286c)
- rust/bundler_options: add output format
app
(#1242) (33f0a49) - rust: add
NormalModule#stable_resource_id
(#1112) (54b76bf) - rust: improve error message of unknown return value of
JsCallback
(#970) (c749dce) - rust: introduce
Loader
concept (#1193) (b530331) - rust: render external imports after normal imports (#1171) (f102cc0), closes /github.com/rolldown/rolldown/blob/5c3b4fbb732dda092bc5298b2ad1b85786735977/crates/rolldown/tests/esbuild/import_star/re_export_star_as_external_common_js/artifacts.snap#L19-L20
- rust: store
package.json
inNormalModule
(#1170) (e9938d9) - rust: support basic cjs output (#1026) (3ee1010)
- support
[hash]
inentry_file_names
andchunk_file_names
(#929) (0546001) - support
resolveDynamicImport
hook (#981) (37ef30d) - support augmentChunkHash hook (#1258) (4520a81)
- support basic ``moduleParsed` hook (#908) (3d2bbc4)
- support bundling
.json
files (#1194) (b997019) - support delete OutputBundle item (#1083) (b933892)
- support hook module side effects (#1229) (c6939e5)
- support OutputChunk#dynamicImports and RenderedChunk#dynamicImp… (#1002) (16e6ea1)
- support OutputChunk#imports and RenderedChunk#imports (#999) (76a0f3f)
- support sourcemapIgnoreList (#916) (9795d0a)
- support sourcemapPathTransform option (#920) (3ebf0ad)
- support TransformPluginContext#getCombinedSourcemap (#1121) (e02e257)
- support using unicode as import/export name (#1196) (2c03032)
- treat unresolved module as external by default and emit warnings (#1087) (985f497)
- tree_shaking: pure annotation (#1225) (d7d2284)
- using onLog option export rust side warnings (#1204) (4fb5116)
0.10.2 (2024-04-17)
- buildEnd hook handle error (#902) (bc8e9ab)
- ci: cargo bench should install critcmp (#899) (0169bfe)
- normalize original sourcemap sources (#765) (679a9ac)
- passing
BindingResolveOptions#alias
from js to rust with maintaining order (#798) (2f3d865) - remapping sourcemap from transform hook (#755) (43242f4)
- rust/resolver: use selected resolver instead of the default one (#780) (226df5b)
- sourcemap sources path relative to output file dirname (#758) (7f5047f)
- add
InputOptions#platform
(#751) (97ea4b6) - Allow pass tsconfig to
oxc-resolver
viaInputOptions#resolve#tsconfigFilename
(#767) (c304a0d) - emit warning for circular dependency (#839) (6d64a64)
- improve side effect detector (#807) (b948cf6)
- node/plugin: support
renderStart
hook (#833) (c1194e6) - rolldown: introduce rolldown_rayon (#846) (4f9ae49)
- rolldown: support compile to wasi (#467) (da45d40)
- rust: only derive
deserialize
onBundlerOptions
in testing (#880) (06df20d) - rust: collect circular dependencies while sorting modules (#830) (c092e0b)
- rust: improve alignment of resolve behaviors with esbuild (#759) (e9d7717)
- support
entryFileNames
andchunkFileNames
(#777) (50da487) - support
InputOptions#shimMissingExports
(#772) (2c84963) - support
renderError
hook (#900) (b9c9181) - support disable warnings using
InputOptions#logLevel
(#859) (f90bbb0) - support render chunk hook normalzied output options (#795) (709aca7)
- support return sourcemap in render chunk hook (#776) (0d4c2d5)
- support running Js plugin in parallel via Worker (#825) (cff55de)
- tree_shaking: shake unused import variables (#771) (6714dd0)
- avoid unnecessary clone in
AddonFunction
(#822) (f814c3e) - rolldown: use starts_with instead of regex in resolve (#878) (93dc6ce)
- sourcemap: search lines count at parallel (#806) (267fc2a)
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 identifer (#81) (e84cde7)
- add stmt info declare symbol for resolution found symbol (#91) (50e191a)
- align with rollup, change
output.format: 'esm'
tooutput.format: 'es'
(#625) (70b6cfd) - allow cjs to be both entry and dependency (#336) (d53155b)
- async_scope_block_on (#210) (51f1be1)
- bench/ci: use correctly github repo token (049566e)
- binding: only panic in the main thread (#507) (d844125)
- build script pkgName parsing error (#546) (0d6582f)
- bump to
oxc@0.7
(1af4b86) - ci release (#428) (483e533)
- ci: don't forget to checkout (fc231b8)
- ci: fix
release-canary.yml
(6fc0430) - ci: fix testing in
release.yml
(#651) (6e68b1a) - ci: need to checkout for using local actions (bb87f9a)
- clean up render exports from external module (#394) (e51a69a)
- cli: Make the CLI output color correctly (#645) (c19c8dc)
- cli: normalize provided config path to satisfy esm-loader in windows (#658) (be0540d)
- clippy (#4) (f028cff)
- conflict between imported and local binding (#356) (7387e35), closes #355
- correct id in transform hook (#473) (7af0262)
- correct the TS type of the banner ts-binding (#689) (a072a00)
- deconflict export named declartion (#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)
- expect msg (#456) (11e5598)
- export rolldown compat types (#337) (3efa4fd)
- fix typo in README.md (#443) (8ad8174)
- 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 declartion 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
- node-bench: apply
@rollup/plugin-commonjs
on rollup (#523) (181422a) - node/types: resolve.alias should be optional (ee10a4f)
- only import needed runtime symbols (#324) (51db31f), closes /github.com/rolldown-rs/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)
- release: make
prepare-publish-node
folder (14d2cd5) - release: remove build steps for android platform (161ef5f)
- rename in
SimpleAssignmentTarget
(1d24efc) - rewrite
AssignmentTargetProperty
(5605fc2) - rewrite object shorthand property reference (#384) (9f3332b)
- rewrite unresolved symbol reference callee to indirect call (#94) (6284028)
- rolldown example root is empty in debug mode (#582) (88f61e8)
- runtime module should always be the first to be executed (#116) (883168f)
- rust: fix bench for react by removing a lot of unsafe (#522) (71da395)
- rust: remove
RUNTIME_PATH
(#274) (c93a2fb) - rust: should not hard code output.dir (37ded97)
- shoud accept args for
just bump packages
(778ae11) - 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)
- treeshaking: spreading an expression is consider having side effect (#509) (d094d56)
- typo in README.md (#458) (24a4018)
- use the same
Resolver
everywhere (#253) (cbcee58) - using vec to keep input options order (#217) (4e4f20a)
- warpped require module (#79) (ee9a682)
- wrong rolldown test config priority (#642) (9490e31)
- 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
PluginContext#resolve
(#670) (43f5173) - add
referenced_symbols
toStmtInfo
(#75) (465e6e7) - add
Renamer
(#123) (7709cd4) - add
resolve
option (#392) (cd52449) - add
RuntimeNormalModuleTask
(#40) (2401386) - add banner output option (#634) (60331fb)
- add basic
renderChunk
hook (#401) (b7ea28b) - add buildStart buildEnd hook (#208) (e878c3b)
- add external option (#259) (a80db39)
- add footer output option (#693) (ca51a6b)
- 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 map and sourcemapFileName (#626) (3135778)
- 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 side effect detection for most of the statements (#555) (ec43f04)
- 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
generateBundle
andwriteBundle
(#708) (343cfb9) - basic support for importing external module (#168) (6d7e891)
- basic treeshaking (#372) (b240923), closes #16
- basic warning mechanism (#332) (84697ce), closes #331
- better display for errors and warnings (#679) (8864a39)
- call PluginDriver load to get source content (#199) (01b3563)
- call PluginDriver transform (#202) (42cdd61)
- ci: add
release-semver.yml
(bb27d40) - ci: add release workflow (#409) (85c1b9e)
- cli: user-friendly console output of chunk information (#727) (4b461cf)
- code splitting rely on tree shaking. Closes #390 (5e7491e)
- code spltting 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)
- detect side effects in ConditionalExpression (#552) (4ec29f7)
- don't render empty module. Closes #440, #162 (b310a9a)
- emit warning for const assign code (#538) (f7ec1b5)
- empty module should have
ExportsKind::None
(#317) (b15ff14) - enable bare import by default (#284) (833dfc6)
- enable tree shaking in rust by default (#501) (ee08ea8)
- exclude modules in code splitting (#383) (ec60aca)
- expose
cwd
in input options (#692) (ba42b29) - 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
SideEffectDetector
(#497) (04a1e3c) - improve side effect detection (#534) (f38e7a0)
- 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)
- migrate from yarn to pnpm (#567) (fbe32d2)
- node/plugin: improve compatibility with
rollup-plugin-esbuild
(#711) (73f4c5e) - 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) - plugin: basic support for
buildStart
,resolveId
,buildEnd
,load
,transform
,renderChunk
hook (#680) (3dd1d7c) - 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)
- rename vitest.config.ts to avoid warning; add empty caseConfig … (#561) (da06dde)
- render chunk hook binding (#402) (25fca9d)
- replace
SymbolId
withSymbolRef
(#95) (9c90067) - resolve: more sensible default resolve options (#606) (7ae8435)
- restrict typings and refactor
RenderedModule
(#503) (1cc0fbe) - rolldown cli first implementation (#610) (c82e59d)
- runtime symbol deconflict (#54) (0fc1d3a), closes #59
- rust-plugin: pass
PluginContext
to JS (#628) (e4d33fd) - rust: add
OutputFormat::Cjs
(#358) (44c6331), closes #45 - rust: add
print
inOxcCompiler
(#281) (ad962af) - rust: don't generate sourcemap for virtual modules (#733) (b546e8f)
- rust: rendering runtime module in snapshot testing (#375) (3cb39a2)
- rust: return errors from
NormalModuleTask#resolve_dependencies
(#270) (fdbf290) - rust: should create bundler with
InputOptions
andOutputOptions
together (#596) (d2c63d7) - Setup nightly releases (#579) (14797aa)
- 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-rs/rolldown/blob/6601e8863d8934f18f7b1aa9b44867aba854b6f4/crates/rolldown_tracing/src/lib.rs#L1-L6
- support export star commonjs (#85) (07b8c03)
- support generating source map (#607) (f2dcda2)
- support mix cjs and esm (#76) (22794c3)
- support tree shaking (6e32999)
- suppport load hook return map (#421) (b42b32b)
- suppport 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 release flow to use changesets. (#577) (a4f50dd)
- update to
oxc@0.9.0
(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)
- bump
string_wizard
for better performance (#292) (10a884a) - don't do remapping if there's only one sourcemap (#694) (aee9f39)
- passing data of
BindingOutputs
lazily (#696) (1c9f9bf) - reduce Module size (#6) (b1ceb65)
- reference needed symbols in parallel (#426) (26d3468)
- spawn runtime task ASAP (#276) (ba7f558)
- Revert "refactor: implement ConcatSource (#611)" (#612) (dc32a76), closes #611 #612
- Revert "perf: reduce Module size (#6)" (#7) (711ddb0), closes #6 #7
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 identifer (#81) (e84cde7)
- add stmt info declare symbol for resolution found symbol (#91) (50e191a)
- align with rollup, change
output.format: 'esm'
tooutput.format: 'es'
(#625) (70b6cfd) - allow cjs to be both entry and dependency (#336) (d53155b)
- async_scope_block_on (#210) (51f1be1)
- binding: only panic in the main thread (#507) (d844125)
- build script pkgName parsing error (#546) (0d6582f)
- bump to
oxc@0.7
(1af4b86) - ci release (#428) (483e533)
- ci: don't forget to checkout (fc231b8)
- ci: fix
release-canary.yml
(6fc0430) - ci: fix testing in
release.yml
(#651) (6e68b1a) - ci: need to checkout for using local actions (bb87f9a)
- clean up render exports from external module (#394) (e51a69a)
- cli: Make the CLI output color correctly (#645) (c19c8dc)
- clippy (#4) (f028cff)
- conflict between imported and local binding (#356) (7387e35), closes #355
- correct id in transform hook (#473) (7af0262)
- deconflict export named declartion (#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)
- expect msg (#456) (11e5598)
- export rolldown compat types (#337) (3efa4fd)
- fix typo in README.md (#443) (8ad8174)
- 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 declartion 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
- node-bench: apply
@rollup/plugin-commonjs
on rollup (#523) (181422a) - node/types: resolve.alias should be optional (ee10a4f)
- only import needed runtime symbols (#324) (51db31f), closes /github.com/rolldown-rs/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)
- release: make
prepare-publish-node
folder (14d2cd5) - release: remove build steps for android platform (161ef5f)
- rename in
SimpleAssignmentTarget
(1d24efc) - rewrite
AssignmentTargetProperty
(5605fc2) - rewrite object shorthand property reference (#384) (9f3332b)
- rewrite unresolved symbol reference callee to indirect call (#94) (6284028)
- rolldown example root is empty in debug mode (#582) (88f61e8)
- runtime module should always be the first to be executed (#116) (883168f)
- rust: fix bench for react by removing a lot of unsafe (#522) (71da395)
- rust: remove
RUNTIME_PATH
(#274) (c93a2fb) - rust: should not hard code output.dir (37ded97)
- shoud accept args for
just bump packages
(778ae11) - 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)
- treeshaking: spreading an expression is consider having side effect (#509) (d094d56)
- typo in README.md (#458) (24a4018)
- use the same
Resolver
everywhere (#253) (cbcee58) - using vec to keep input options order (#217) (4e4f20a)
- warpped require module (#79) (ee9a682)
- wrong rolldown test config priority (#642) (9490e31)
- 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 map and sourcemapFileName (#626) (3135778)
- 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 side effect detection for most of the statements (#555) (ec43f04)
- 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-semver.yml
(bb27d40) - ci: add release workflow (#409) (85c1b9e)
- code splitting rely on tree shaking. Closes #390 (5e7491e)
- code spltting 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)
- detect side effects in ConditionalExpression (#552) (4ec29f7)
- don't render empty module. Closes #440, #162 (b310a9a)
- emit warning for const assign code (#538) (f7ec1b5)
- empty module should have
ExportsKind::None
(#317) (b15ff14) - enable bare import by default (#284) (833dfc6)
- enable tree shaking in rust by default (#501) (ee08ea8)
- 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
SideEffectDetector
(#497) (04a1e3c) - improve side effect detection (#534) (f38e7a0)
- 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)
- migrate from yarn to pnpm (#567) (fbe32d2)
- 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)
- rename vitest.config.ts to avoid warning; add empty caseConfig … (#561) (da06dde)
- render chunk hook binding (#402) (25fca9d)
- replace
SymbolId
withSymbolRef
(#95) (9c90067) - resolve: more sensible default resolve options (#606) (7ae8435)
- restrict typings and refactor
RenderedModule
(#503) (1cc0fbe) - rolldown cli first implementation (#610) (c82e59d)
- runtime symbol deconflict (#54) (0fc1d3a), closes #59
- rust-plugin: pass
PluginContext
to JS (#628) (e4d33fd) - 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) - rust: should create bundler with
InputOptions
andOutputOptions
together (#596) (d2c63d7) - Setup nightly releases (#579) (14797aa)
- 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-rs/rolldown/blob/6601e8863d8934f18f7b1aa9b44867aba854b6f4/crates/rolldown_tracing/src/lib.rs#L1-L6
- support export star commonjs (#85) (07b8c03)
- support generating source map (#607) (f2dcda2)
- support mix cjs and esm (#76) (22794c3)
- support tree shaking (6e32999)
- suppport load hook return map (#421) (b42b32b)
- suppport 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 release flow to use changesets. (#577) (a4f50dd)
- update to
oxc@0.9.0
(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)