0.13.2 (2024-09-06)
- node/advance-chunks: support global fallback for
minSize
,minShareCount
(#2178) (78c7750) - node/advance-chunks: support passing
minSize
,minShareCount
(#2177) (3c95d30) - rust/advance-chunks: support
min_share_count
option (#2176) (689cbc2) - rust/advance-chunks: support
min_size
option (#2175) (1e9c2d9)
0.13.1 (2024-09-05)
process.env.NODE_ENV
inside paren expr (#2153) (fddb2f5)- 🐛 make
examples/rollup-plugin-esbuild
build successfully (#2164) (49f2d83), closes #2163 - mark knownGlobals global ident and global member access as side effects free (#2154) (00ff45d), closes /github.com/evanw/esbuild/blob/9c13ae1f06dfa909eb4a53882e3b7e4216a503fe/internal/config/globals.go#L30-L850 /github.com/evanw/esbuild/blob/9c13ae1f06dfa909eb4a53882e3b7e4216a503fe/internal/config/globals.go#L940-L961
- module type mapping (#2151) (c2e77b5)
- rolldown: remove
console.log
(#2145) (d24c337) - rolldown: side effect detector mark
+1
-1
as number literal (#2162) (40ae24d)
- node/rolldown: support
OutputOptions#advancedChunks
(#2167) (851475d) - rust/advance-chunks: A module could be catched by multiple match groups (#2155) (071efd8)
- rust/advance-chunks: rework with new API deisgn (#2146) (6339062)
- rust/advance-chunks: should include matched module's dependencies too (#2161) (a557b51)
- rust/advance-chunks: support
test
using regex (#2152) (b7b2ac5)
0.13.0 (2024-09-03)
- incorrect point free function call (#1697) (4fb7ab6)
- JSON.parse() should not have side effect (#2029) (4ca169c)
- share replace global define config (#1902) (eee1db0)
- should not compose if there is only one pending plugin (#1781) (f3e4933)
- should not url encode when plain text (#1724) (779f16d)
- 🐛 auto guess module type when load hook no specify (#1930) (7d36481)
- Add namespace for each builtin plugin (#1931) (43f863b), closes /github.com/rolldown/vite/blob/3bf86e3f715c952a032b476b60c8c869e9c50f3f/packages/vite/src/node/plugins/dynamicImportVars.ts#L174-L174
- Allowing gcc builds on windows (#2034) (e6b9f14)
- avoid panic if member expr referneced to non-namespace symbol (#1784) (3d30284)
- avoid take first chunk if bundle is empty (#1887) (03f6dc9)
- base64 handling (#1725) (af95809)
- chained reexport star cjs (#2100) (04a8bba)
- circular ref in rolldown package bundle (#1849) (3c3cb83)
- cjs: aovid generate assgin pattern if chunk imports nothing (#1959) (32c3363)
- cli:
rolldown -c
should not print help messages (#1993) (a82ccc6) - cli: should not hang if error occured (#2035) (8e0cb61), closes #2033
- collect depended_symbol when
canonical_ref
hasns_alias
(#2095) (ab6b043), closes #2079 - collect-dependends-symbol (#2079) (0205983), closes #2038
- dedup export all external in entry module (#1786) (3eba8a3)
- ensure ordering of assign chunk name (#1981) (7ac1381)
- ensure referenced symbols by entry point chunk got deconflicted (#2094) (dc98faa), closes #1722 #2085
- entry chunk should be at first (#2089) (8b7734e)
- eval warning should only emit when used as callExpr (#2054) (e350abe)
- experimental: wrong
transform
behavior after composing (#1701) (3a1f216) - external module side effects should respect hook returned side e… (#2068) (0f9391b)
- fix
absolute_preliminary_filename
not takingoptions.cwd
into account (#1935) (6b6d713) - foramt/cjs: preserve semantic of entries exports even in wrapped (#1788) (b79e7e0)
- format/cjs: exported bindings should be lived. Part1 (#1791) (17ca21d)
- format/cjs: should keep live bindings for common chunks (#1805) (145f105)
- format/cjs: support
cjs-module-lexer
forexport * from 'external'
(#1854) (de1f5f5) - generate valid file name for virtual module chunk (#1782) (d041e08)
- guessing module type (#2086) (aa5b528)
- index_cross_chunk_imports should including share chunk (#1890) (290ecc7)
- move
banner
ahead of the file incjs
format. (#1707) (2640072), closes #1706 #1705 /github.com/rolldown/rolldown/pull/1705#discussion_r1689236056 - node/compose-plugins: Plugin that uses
order
meta is considered as not composable (#1943) (ebfebf3) - node/composePlugins: ensure correct semantic of
PluginContext#resolveId
of all hooks (#2050) (f19b6c7) - node/plugin: ensure order for generateBundle and writeBundle hooks (#1913) (b7e1d90)
- node/rolldown: mark all tsfn as weak to avoid long exit time (#2135) (06b578c), closes /github.com/rolldown/rolldown/pull/985#issuecomment-2081384205
- packages/rolldown: export
package.json
(#2048) (5aa76dc) - pass
output.globals
to Rust side. (#1912) (bd84267) - perform percent encoding to reserved chars in dataurl. (#1729) (d75e77c), closes #1406 /datatracker.ietf.org/doc/html/rfc3986#section-2
- plugin/replace: handle backtrack limit exceeded error (#2088) (33fca46), closes /github.com/rolldown/rolldown/pull/2056#issuecomment-2316570663
- remove name assignment in IIFE that doesn't have export. (#1900) (13f4adc)
- remove napi deferred_trace feature (#2018) (b99f74e)
- remove redundant code in
export * from 'external'
for esm format (#1974) (2eb06ef) - remove ts expect error (#1817) (3153a61), closes #1811
- reserve
reserved-key
in json module type. (#1746) (7243165), closes oxc-project/oxc#4484 - resolve conflict
exports
key inCJS
andIIFE
. (#1837) (2953b90), closes #1836 #1623 /github.com/rolldown/rolldown/pull/1694#issuecomment-2245219042 #1623 - rolldown: fix inject test where
alias
can be a member expression (#1934) (c5aafad), closes /github.com/rollup/plugins/blob/8550c4b1925b246adbd3af48ed0e5f74f822c951/packages/inject/src/index.js#L125 - rolldown: should correct rewrite path of dynamic imported external modules (#1738) (c682b76), closes #1723
- rust/rolldown: prevent segment fault in
generate_bundle
by removing unsafe code (#1905) (9802478) - same filenames cause bundle error (#1984) (c4aca98), closes #1944 /github.com/rolldown/rolldown/issues/1944#issuecomment-2282812102
- should also care for
Chunk#name
for common chunks (#2123) (a1fa701) - should call write_bundle after write bundle to disk (#1844) (475f765), closes /github.com/rollup/rollup/blob/master/src/rollup/rollup.ts#L194-L200
- should correctly include symbols of namespace object (#1727) (3dee9e0)
- should generate
export * from ...
in entry chunks rather than entry modules (#1783) (954dd2a) - should not panic if there are accessing on
star as
member (#1730) (250c11a) - sourcemap inline url should relative to asset file (#2099) (6b5d7dc)
- strict emit warning
commonjs var in esm
(#2101) (4c9feeb), closes /esbuild.github.io/try/#YgAwLjIzLjEALS1idW5kbGUgLS1taW5pZnk9ZmFsc2UgLS1mb3JtYXQ9ZXNtAGUAZW50cnkuanMALyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBleHBvcnRzYC4gKi8KdmFyIGZyZWVFeHBvcnRzID0gdHlwZW9mIGV4cG9ydHMgPT0gJ29iamVjdCcgJiYgZXhwb3J0cyAmJiAhZXhwb3J0cy5ub2RlVHlwZSAmJiBleHBvcnRzOwoKLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBtb2R1bGVgLiAqLwp2YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUuZXhwb3J0cyA9PSAnb2JqZWN0JyAmJiBtb2R1bGUgJiYgIW1vZHVsZS5ub2RlVHlwZSAmJiBtb2R1bGU7CgovKiogRGV0ZWN0IHRoZSBwb3B1bGFyIENvbW1vbkpTIGV4dGVuc2lvbiBgbW9kdWxlLmV4cG9ydHNgLiAqLwp2YXIgbW9kdWxlRXhwb3J0cyA9IGZyZWVNb2R1bGUgJiYgZnJlZU1vZHVsZS5leHBvcnRzID09PSBmcmVlRXhwb3J0czsKCi8qKiBCdWlsdC1pbiB2YWx1ZSByZWZlcmVuY2VzLiAqLwp2YXIgQnVmZmVyID0gbW9kdWxlRXhwb3J0 - treeshaking:
require
should consider as having side effects (#1949) (28e53d6) - typo of
transform-plugin-context.ts
(#1991) (b2590fd) - undefined export var (#2055) (6832084), closes /github.com/evanw/esbuild/blob/9c13ae1f06dfa909eb4a53882e3b7e4216a503fe/internal/js_parser/js_parser.go#L10047-L10050
- using sanitize_file_name to generate valid file name (#1833) (c9f8af4)
- add dynamic_import_vars plugin (#1732) (40cf58b)
- add invalid export option to generate diagnostic (#1692) (ef718d7)
- add LoadOutput#ModuleType binding (#1998) (1469985)
- add manifest plugin (#1839) (8288370), closes #1826
- add module type to transform hook (#1907) (159a155)
- add module_preload_polyfill plugin (#1840) (0651db0)
- add originalFileName to EmittedAsset (#2046) (6facb04)
- add query after each glob file name (#1838) (bd97d60)
- add some warnings in IIFE and CJS. (#1857) (e7916ab), closes #1855
- add support for banner as str (#1810) (12d6a75)
- add support for footer as str (#1819) (48dc08e)
- add support for intro as str (#1820) (2c7e4f4)
- add support for outro as str (#1821) (46d56c4)
- add use strict for iife (#1705) (abe17bd)
- add wasm fallback plugin (#1957) (3645f38), closes #1919
- alias plugin (#2001) (872bf3a), closes /github.com/rolldown/vite/blob/c1d60d11158318ae8ccaef873b6dc55d0a2f3c66/packages/vite/src/node/plugins/index.ts#L62-L65
- align cli options with unix ux patterns. (#1977) (c820678), closes #1924
- align generated chunk name with rollup (#2124) (0bec3bc)
- align OutputOptions#esModule with rollup (#1898) (c14406f), closes #1888 /github.com/rolldown/rolldown/blob/e0751e4db539ce8e25ca8f31bb027475a0dd9e98/crates/rolldown_binding/src/options/binding_output_options/mod.rs#L37-L38
- allow passing array of array in
config.plugins
(#1938) (b4e33d5) - allow rewrite
moduleType
in transform Hook (#1916) (cef3e57) - assignment expr side effect detector (#2004) (dde9b33)
- build import analysis plugin (#2051) (9e461c2)
- commonjs-variable-in-esm diagnostic (#1832) (ffd4533), closes /github.com/evanw/esbuild/blob/main/CHANGELOG-2022.md#01411
- compose addon hooks (#2007) (08b6360), closes #1999
- css/wip: add
css_entry_filenames
andcss_chunk_filenames
(#1678) (bc1c22e) - enable plugin api typing (#1765) (512fc61)
- error: entry cannot be external (#1761) (b3179e7)
- experimental: builtin replace plugin (#2056) (f1e7ed0)
- experimental: support
enableComposingJsPlugins
option (#1693) (7aa56fe) - gracefully shutdown the process when panic in
fetch_all_modules
(#2036) (c85883b), closes #2033 /github.com/rolldown/rolldown/blob/8e0cb613e4dd50b5f70a4a648ad72d243b80a432/crates/rolldown/src/module_loader/module_loader.rs#L286-L288 /github.com/rolldown/rolldown/blob/8e0cb613e4dd50b5f70a4a648ad72d243b80a432/crates/rolldown/src/module_loader/module_task.rs#L60-L62 - hook filter (#2047) (6039415)
- implement the rest branches in side effect detector (#2009) (ef084bf)
- import build analysis builtUrl (#2075) (0cf4345), closes /github.com/rolldown/vite/blob/56476ffabc182eb7bb735c192156069f52838956/packages/vite/src/node/plugins/importAnalysisBuild.ts#L346-L350
- improve resolve error (#2076) (ea4965f), closes #2033
- json plugin (#1951) (d221ecc)
- load fallback plugin (#1922) (3ea6797)
- module preload config skip (#1845) (f55cfda)
- node/composingJsPlugins: support
resolveId
hook (#2021) (55c20b0) - node/rolldown: add empty
PluginContext#addWatchFile
for shim (#1972) (559b424) - node/rolldown: support
define
functionality (#1891) (43f6f22), closes #186 - node/rolldown: support
InputOptions#inject
(#1946) (9071d6a) - node: support CLI options. (#1963) (6d4ef7e), closes #1955
- node: support passing
custom
inPluginContext#resolve
(#1874) (6a61bad), closes /github.com/vitejs/vite/blob/main/packages/vite/src/node/plugins/resolve.ts#L181 - packages/rolldown: export
VERSION
(#2049) (806718d), closes /github.com/rollup/rollup/blob/3eb88175f687193e8a73e681dc1fbd6bd48201a2/src/node-entry.ts#L1 - plugin/replace: objectGuards (#2121) (ea76b06), closes #2057 1#L46 /github.com/rollup/plugins/blob/master/packages/replace/src/index.js#L41
- plugin/replace: prevent assignment (#2093) (18ac29c), closes #2057 /github.com/rollup/plugins/blob/master/packages/replace/src/index.js#L77-L82
- provide more friendly diagnostics if could not read path from a resolveId hook (#1866) (690a63f), closes #1851
- rolldown_ecmascript: implement into_assignment_target ObjectPattern (#1921) (305f7cb), closes /github.com/rolldown/rolldown/blob/13f4adc8b1a2bc26591a25df6aef14fe855f8fa5/crates/rolldown_ecmascript/src/ext/mod.rs#L61-L63
- rolldown: bump oxc to v0.25.0 (#2042) (71d8201)
- rust/plugin: Support
custom
inPluginContextResolveOptions
(#1876) (0c6cae4), closes #1874 - rust/rolldown: support
inject
imports (#1933) (a2bb2ca) - rust: ensure consistency between scanned top-level symbols and scope's (#1742) (00d43e9)
- rust: ensure span uniqueness of oxc AST (#1927) (9f164c6), closes /github.com/rolldown/rolldown/pull/1899#issuecomment-2274936578
- rust: support
advanced_chunks
option (#2115) (1a81db2) - rust: support
define
functionality (#1882) (8639e70) - support
intro
andoutro
in plugins. (#1763) (b15d8c5), closes #1755 #1713 - support
output.esModule
option (#1812) (4999aed) - support
output.exports
forIIFE
format align with rollup. (#1691) (5418e1f), closes #1680 - support
output.footer
in plugins. (#1713) (536d5f7), closes #1702 /github.com/rolldown/rolldown/pull/1702#issuecomment-2248059655 - support
output.globals
for iife format (#1694) (8aad7d0), closes #1623 #1569 - support
output.inlineDynamicImports
option. (#2081) (63b932e), closes #1841 - support
output.intro
andoutput.outro
. (#1712) (964c5ee), closes #819 - support
OutputOptions#externalLiveBindings
(#1979) (cc41c94) - support
skipSelf
option inPluginContext.resolve
(#1703) (a18a8da), closes #1554 #819 /github.com/rollup/rollup/blob/28546b5821efcb72c2eb05f422d986524647a0e3/src/utils/PluginContext.ts#L78 - support flag for regex in plugin transform (#1969) (f4f6b49), closes #1914 #1915 /github.com/rolldown/rolldown/blob/6389d62f876a122df451d3e0151f79f59dd978cb/crates/rolldown_plugin_transform/src/lib.rs#L20-L25
- support flags for hybrid regex (#1915) (5ad5820), closes #1911
- support function for entry/chunkFileNames (#1834) (d023f2f)
- support loading dataurl as module. (#1741) (549e1e1), closes /github.com/evanw/esbuild/blob/main/internal/bundler_tests/snapshots/snapshots_loader.txt#L602
- support namespaced name and
output.extend
for IIFE format. (#1861) (bfae17d) - support plugin order (#1929) (d128866)
- transform plugin (#1914) (d37079a)
- tree-shake: treeshake unused cjs module (#1744) (138dd25)
- treeshaking: only reference
__reExport
if needed (#1987) (4cac925) - upgrade oxc (#1823) (540ee47)
- ⚡️ reduce lock contention (#2072) (80dc48d)
- ⚡️ remove extra collection when using rayon (#2016) (7442d95)
- ⚡️ use base64-simd to accelerate calc base64 (#1716) (30b6d0f)
- ⚡️ use map store next count for chunk name (#1948) (eb78b81)
- dataurl (#1734) (e81f853), closes /github.com/evanw/esbuild/blob/360d47230813e67d0312ad754cad2b6ee09b151b/internal/helpers/dataurl.go#L54-L56
- deprecate
mime_guess
in favor of a lighter guessing function. (#1698) (cbcb511) - improve generate_namespace_definition (#1986) (d90802f), closes #1861 /github.com/rolldown/rolldown/blob/745c1a57e66433df7182b5f9f4aa65aa00aa001b/crates/rolldown/src/ecmascript/format/utils/namespace.rs#L49-L51
- rolldown: only recreate semantic data when ast is changed in pre_process_ecma_ast (#2113) (b984da0)
- rolldown: use
itoa
for integer to string conversion (#2107) (c916947) - rust/define: only do define operation if needed (#1884) (394a5f3)
- rust/scanner: only reference
member_expr
related to symbols of import statements (#1815) (f4d288c) - sourcemap: do not allocate
ConcatSourceMapBuilder
unconditionally (#2078) (e7c2bff) - sourcemap: pre-allocate concat sourcemap builder (#1885) (d19beb4)
- use
simdutf8
to validate UTF-8 when reading files (#2040) (94cb434) - use itoa for integer to string conversion (#2108) (70a7e80), closes #2107
0.12.2 (2024-07-23)
- external warning in dce/disable-tree-shaking (#1659) (401dd61)
- correct the behavior in texture or empty extension-customized file. (#1668) (c6fccc8), closes /developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs#datatexthtml3cscript3ealert2827hi27293b3c2fscript3
- node: fix type errors (#1642) (f6a8d51)
- reexport star of a external module should be considered have side effect. (#1675) (ab8dda5)
- should include the dependencies if the module only has re-export… (#1683) (60348ee)
- support banner/footer sync function (#1657) (42d9241)
- the crate rolldown_ecmascript's test can't pass (#1672) (627e81f), closes #1671
- better error report for ambiguous export (#1661) (6e53db7), closes #1643
- convert parsing errors of oxc to rolldown's errors with friendly messages (#1670) (44e29cd), closes #1630
- rust: Support accepting custom
ModuleType
(#1632) (9f244db) - support
output.exports
option. (#1680) (72abdfc), closes #1628 - support banner hook (#1419) (0631292)
- support output.name for iife (#1627) (159d4ad), closes /github.com/rollup/rollup/blob/master/src/finalisers/index.ts#L36
- throw friendly warning message for ambiguous export (#1634) (d03e15b), closes #1621 #397
- wip/css: use lightningcss as css compiler (#1629) (08aecad)
0.12.0 (2024-07-14)
- align using declaration side effects detection with esbuild. (#1593) (e7747fc)
- class property and object key side effects detection (#1599) (46f0ec9)
- chunk modules should include empty module (#1583) (4790d46)
- iife wrapper (#1584) (593e87e)
- InternalModuleFormat typing (#1580) (c166094)
- mixed multi declarator tree shake (#1566) (1971e3b)
- multi declarator tree shake (#1564) (0cf1c22)
- object property tree shake (#1608) (3536f00)
- remove unused pure comment call (#1597) (42becf0)
- template literal side effects (#1594) (7b011df)
- experimental: support strict execution order (#1568) (0303f1f)
- node: support
OutputOptions#minify
to minify js output (#1617) (bcc4edc) - output: support emit output of iife format (#1570) (7c9d537), closes /esbuild.github.io/try/#YgAwLjIzLjAALS1mb3JtYXQ9aWlmZSAtLWJ1bmRsZSAtLW91dGRpcj0iZGlzdCIAZQBlbnRyeS5qcwBpbXBvcnQoIi4vY2pzIikKaW1wb3J0KCIuL2VzbSIpLnRoZW4oKG0pID0
- support OutputAsset#name (#1586) (39a47dc)
- avoid unnecessary allocation (#1576) (c609929)
- don't clone the content while hashing (#1613) (11dc8d8)
0.11.1 (2024-07-09)
treeshake.moduleSideEffects
treeshake typing (#1559) (5ce9f67)- add
dataurl
in json config syntax. (#1536) (ddee952) - eliminate unused external module import stmt (#1558) (cdd83fd)
- optional TransformResult#code (#1544) (15ce3ae)
- sourcemap: avoid remapping if renderChunk hook not return map (#1545) (3e13785)
0.11.0 (2024-07-05)
- add issues template (#564) (4f0a484)
- cjs: make output compatible with cjs-module-lexer (#1525) (f0de5f8)
- core: make sure
Semantic
up-to-date after transforming (#1531) (a660554) - export tranform for oxc transformer (#1502) (679a8cb)
- glob import plugin (#1510) (0aaa5ce)
- simple binary expr folder (#1470) (ef8709a)
- support
dataurl
module type. (#1367) (b27b0b0), closes #1299 #1406 - support constant folding (#1401) (5df84a8)
- support PluginContext#getModuleInfo (#1408) (ab7d550)
- rolldown: avoid calling
f64.to_string()
(#1481) (f90969a) - rolldown: build oxc semantic data only once (#1506) (fa347b3)
- rolldown: replace
HASH_PLACEHOLDER_RE
with simple string parsing (#1496) (aa347f5) - rolldown: use
sort_unstable
variants (#1469) (151d8c7) - rust/renamer: new deconflict strategy (#1461) (fa866eb)
- rust: don't use regex on
legitimize_identifier_name
(#1477) (18bc668) - rust: reduce operations
legitimize_identifier_name
(#1478) (3d816d5)
0.10.5 (2024-06-27)
forbid_const_assign_when_lowering_using
test (#1413) (0d15f0e)- cjs: handle
export * from 'external'
correctly (#1363) (9dbb803) - cjs: should not panic if wrapped esm module
export * from 'external'
(#1450) (c62a512) - core: don't panic on require calls that are invalid to bundler (#1445) (5fb31d0)
- deps: update dependency @codemirror/view to v6.27.0 (#1347) (c6e1937)
- deps: update dependency @rollup/plugin-commonjs to v26 (#1353) (7dbbfbc)
- docs: update requirement of node version in contribution guide (#1345) (0d979b6)
- export some typing (#1405) (c42f7b3)
- option hook can be async and can return overwritten input options (#1422) (38a2c3e)
- outputOptions hook argument should be OutputOptions (#1430) (472848b)
- resolver: ensure we always pass an absolute path to oxc_resolver (#1442) (3ffe43f)
- rolldown typing (#1387) (440e68e)
- rolldown_fs: canonicalize polyfill on wasi platform (#1436) (2530866)
- add assetFileNames binding (#1360) (c86f784)
- advanced barrel exports optimization. (#1374) (33a6db5)
- core: ensure input item always have a name (#1407) (0e6afa2)
- export more typing (#1420) (9854330)
- export more typing to compat rollup (#1418) (949c819)
- inner: add
NormalModule#module_type
(#1448) (449dcce) - mark
PluginContext#parse
as unsupported (#1289) (aef45e0) - ModuleType: support
empty
(#1369) (cb3bf33) - move dependency (#1381) (1f70a4c)
- node: expose the
moduleTypes
option (#1451) (39f16e2) - oxc v0.15.0 (#1415) (39761b0)
- rust: add
AllocatorExt
trait (#1350) (fa4262c) - support
outputOptions
hook (#1339) (176ca26) - support base64 loader (#1352) (16d5938)
- support binary loader (#1365) (8f2e07b)
- support emit binary asset (#1359) (cfc16e8)
- support PluginContext emit asset (#1349) (da183aa)
- support RenderedChunk#name (#1421) (a64e78f)
- tree shake module side effect (#1395) (6df56a9)
- wasm plugin (#1368) (65ec42c)
0.10.4 (2024-06-04)
- add return source logic when file not downloaded and add loader … (#1287) (103b8e5)
- cjs: distinguish if symbols are referenced by chunk or modules (#1316) (75c69b3)
- cjs: should render runtime module before generated imports (#1335) (94b1371)
- deps: update dependency debug to v4.3.5 (#1296) (95460de)
- app: rewrite static import (#1323) (68c6592)
- app: use
IsolatingModuleFinalizer
for app output (#1317) (92bfe2d) - cjs: add
__esModule
flag (#1313) (d892948) - cjs: add
"use strict"
if possible (#1284) (bf3f86e) - output: make output folding-friendly using
#region
(#1330) (ace105c) - plugin: support
options
hook (#1275) (fc94245) - plugin: support return
sideEffect: 'no-treeshake'
(#1293) (283a58c) - remove
use strict
while emitting esm output (#1283) (79fbbd4) - rust/options: add
BundlerOptions#loaders
(#1280) (804df07) - rust: deny invalid parsing code (#1310) (5be6ffb)
- support text loader (#1302) (b0f19c1)
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
[email protected]
(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
[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)
- 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
[email protected]
(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
[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)