-
(es/compat) Preserve return value for single-property object destructuring (#11334) (847ad22)
-
(es/compat) Fix generator transform for compound assignments, for-in, and labeled break (#11339) (9b6bedd)
-
(es/compat) Destructuring evaluation order (#11337) (49d04c7)
-
(es/compat) Fix parameter default value evaluation order with object rest (#11352) (2ebb261)
-
(es/fixer) Preserve parens around IFFE in binary expressions within sequences (#11324) (a4c84ea)
-
(es/helpers) Avoid extra trap calls on excluded keys in object rest spread (#11338) (4662caf)
-
(es/minifier) Fix optimization pass for
merge_imports(#11331) (ca2f7ed) -
(es/parser) Don't call
bump_bytesin thecontinue_ifofbyte_search!(#11328) (583619d) -
(es/parser) Support type-only string literal in import specifiers (#11333) (07762f1)
-
(es/parser) Handle TypeScript expressions in destructuring patterns (#11353) (160ec34)
-
(es/transformer) Complete
replace_this_in_exprimplementation (#11361) (58c4067)
-
(es/minifier) Optimize
typeof x == "undefined"totypeof x > "u"(#11367) (a5e144b) -
(es/parser) Support
no_parenparser option (#11359) (5b9d77c) -
(es/parser) Revert
no_parenparser option (#11362) (57a8731) -
(es/transfomer) Add modules to prepare porting (#11347) (68d740c)
-
(es/transformer) Merge
async-to-generator(#11355) (c388e87) -
(es/transformer) Merge
async_to_generator(#11358) (25f3a47) -
(es/transformer) Merge
object_rest_spread(#11357) (752188e) -
(es/transformer) Merge
nullish_coalescing(#11365) (5fb686a) -
(es/transformer) Merge
logical_assignment_operators(#11369) (94946fa)
-
(es/parser) Small optimization after byte-based lexer (#11340) (c92ea4e)
-
(es/parser) Use
slicerather than matching keywords (#11341) (b6ad2cb) -
(parser) Make all parsers work by byte instead of char (#11318) (725efd1)
-
(es/codegen) Restore missing top-level comments (#11302) (0998c93)
-
(es/minifier) Prevent compress.comparisons from transforming expressions with side effects (#11256) (58a9d81)
-
(es/minifier) Remove unused arrow functions in dead code elimination (#11319) (88c6ac7)
-
(es/parser) Make the span of Program start at input start (#11199) (b56e008)
-
(es/plugin) Use
#[cfg]to avoid compilation error (#11316) (f615cdb) -
(es/quote) Replace usage of
swc_atomswithswc_core::atoms(#11299) (c1e32fa)
-
(es/compat) Merge
regexppass intoTransformer(#11307) (440b391) -
(es/compat) Merge
export_namespace_fromtoTransformer(#11309) (7a528ce)
-
(es/minifier) Drop empty constructors during minification (#11250) (2cea7dd)
-
(es/visit) Add context parameter to VisitMutHook trait (#11254) (8645d0d)
-
(es/parser) Inline
skip_space(afb824a) -
(es/parser) Eliminate the outer loop of
skip_block_comment(#11261) (e41c0ac) -
(es/plugin) Use shared tokio runtime to avoid creation overhead (#11267) (707026b)
-
(cli) Print filename to stderr when compiling (#11249) (d66dab5)
-
(es/minifier) Prevent array destructuring optimization in assignment contexts (#11221) (99d8b0a)
-
(atoms) Remove temporary allocations in rkyv serialize and deserialize (#11202) (85e6e8a)
-
(plugin) Avoid data copy when transformation finished (#11223) (af134fa)
-
(ast) Introduce flexible serialization encoding for AST (#11100) (8ad3647)
-
(plugin) Switch plugin abi to flexible serialization (#11198) (e5feaf1)
-
(es/ast) Fix unicode unpaired surrogates handling (#11144) (845512c)
-
(hstr) Fix unsoundness of
wtf8's transmutation (#11194) (f27e65b)
-
(bindings) Add
opt-level = sto more crates (#11191) (ed63413) -
(es/parser) Detach
swc_ecma_parserfromswc_ecma_lexer(#11148) (94f175d)
-
(bindings) Improve ARM64 and Alpine Linux (musl) binary loading and validation (#11173) (f9be4d7)
-
(es/codegen) Encode non-ASCII chars in regex with ascii_only option (#11155) (b6f4d1f)
-
(es/compat) Apply
Array.prototype.slicetoargumentsin loose spread (#11122) (66428a2) -
(es/compat) Handle sparse arrays correctly in generator transforms (#11131) (9cd4334)
-
(es/compat) Preserve AutoAccessor to prevent panic (#11150) (101c3b7)
-
(es/decorators) Emit correct metadata for enum parameters (#11154) (630484f)
-
(es/helpers) Fix SuppressedError argument order in explicit resource management (#11172) (7693fb9)
-
(es/minifier) Fix inlining of hoisted functions (#11159) (bd55d30)
-
(es/minifier) Fix inlining of hoisted functions in param (#11161) (5a4088d)
-
(es/parser) Handle JSX attributes with keyword prefixes correctly (#11136) (d3cd97f)
-
(es/parser) Support literal computed property names in enums (#11163) (146c77c)
-
(es/react) Use correct span for
@jsxFragas null literal (#11139) (9353763) -
(es/transforms) Check errors::HANDLER.is_set() before failing (#11130) (1c9ab27)
-
(bindings) Introduce AST Viewer to improve debugging experience (#10963) (fa3aacc)
-
(es/minifier) Add merge_imports optimization pass to reduce bundle size (#11151) (a01dee1)
-
(es/parser) Add an error for empty type args for generic (#11164) (9a1fa84)
-
(claude) Use Sonnet 4.5 instead of Opus (c79e1e5)
-
(deps) Update lru crate from 0.10.1 to 0.16.1 (#11145) (e347c5b)
-
(es/minifier) Preserve
__proto__shorthand property behavior (#11123) (63dbd1d) -
(es/parser) Parse
(void)correctly as arrow function return type (#11125) (d3e5dd3)
-
(es/compat) Preserve comment when transform template with no expr (#11109) (80e8408)
-
(es/minifier) Inline block stmt into expr (#11107) (72a53a0)
-
(es/minifier) Allow MultiReplacer to inline multiple times (#11106) (fe8e981)
-
(ci) Test chanages (d4396c1)
-
(es/ast) Fix unicode lone surrogates handling (#10987) (0557609)
-
(es/compat) Handle
superin nested arrow function (#11056) (63c5413) -
(es/compat) Preserve
typeofsymbol in loose mode (#11072) (d92c3bd) -
(es/minifier) Avoid
const_to_letif reassigned (#11035) (5ab92f7) -
(es/minifier) Make
const_to_letwork in arrows again (#11062) (79dc8d4) -
(es/minifier) Remove
undefinedinitializer iff the name is an ident (#11080) (0058709) -
(es/minifier) Check in param before add ident (#11091) (2e61f44)
-
(es/optimization) Do not rely on resolver from
inline_globals(#11028) (dc392e6) -
(plugin/runner) Fix wasmtime backend cache corruption (#11077) (1e8b92f)
-
(swc_common) Fix compatibility with serde 1.0.220+ (#11094) (45f17ed)
-
(@swc/types) Add
preservetoreact.runtime(#11068) (50354a1) -
(es/minifier) Inline arrow with call expr (#11021) (4a55bea)
-
(es/transforms) Support
rewriteRelativeImportExtensions(#11036) (038964a)
-
(es) Make
isModulein test cases available (#11038) (44a5536) -
(es/parser) Use relative file name in typescript tests (#11029) (82c6b0f)
-
(es/minifier) Skip serde of
pure_funcsin options (#10969) (862e70d) -
(es/minifier) Fix compile error with
debugfeature (#10999) (831eed5) -
(es/minifier) Don't eliminate class expr if some side effects contain
this(#11003) (18aeac6) -
(es/module) Support optional chaining in
import.meta(#10985) (758d8ec) -
(es/parser) Allow TS type args to start with LSHIFT (
<<) to parseT<<S>() => void>(#10996) (4911ec7) -
(ts/isolated-dts) Correct optional marker for class fields generated from constructor parameter (#10992) (0d680fd)
-
(bindings/html) Add
keep-head-and-bodyfortagOmissionin binding (#11014) (1e1ebeb) -
(html/minifier) Support
keep_head_and_body(#11008) (86186db) -
(plugin/runner) Introduce
wasmtimebackend (#10958) (9fa8330)
-
(es/minifier) Use bitflags for context of the
Purepass (#10953) (8cd5c58) -
(es/parser) Introduce checkpoint to reduce clone (#11001) (cda08d1)
-
(es/parser) Remove useless
Rc<RefCell<T>>(#11002) (39f5784) -
(es/parser) Remove
OneDirectionalListand reduce allocation ofVec(#11000) (0088ab8)
-
(es/minifier) Remove duplicate report assign (#11009) (9590e1d)
-
(plugin/runner) Introduce abstract runtime (#10943) (a445156)
-
(plugin/runner) Switch
wasmtime-wasitowasi-common(#10979) (c4114d5)
-
(es/minifier) Check exported when optimize last expr (#10939) (f6f15f3)
-
(es/minifier) Don't optimize Number properties when Number is shadowed (#10947) (40a1e2e)
-
(es/parser) Correctly handle EOF position (#10934) (dd70fbd)
-
(es/minifier) Remove the last break in the second switch (#10923) (3ed4a12)
-
(es/parser) Reject malformed phase import statements (#10912) (5fde348)
-
(swc_core) Add
default-features = falseto dropstacker(#10916) (38b45b7)
-
(es/compiler) Merge
private_in_objectandstatic_blocks(#10909) (c1405da) -
(es/compiler) Merge
export_namespace_from(#10917) (ba6cc71)
- (claude) Use
Opusand allow assigning to theclaude-bot(3275b9c)
-
(es/compat) Properly handle rest assignment in for-in/of RHS (#10883) (5d11851)
-
(es/decorators) Handle empty class members (#10892) (fe44972)
-
(es/minifier) Hoist props when only props are used (#10891) (452fc98)
-
(es/minifier) Recursively check stmt for variable when inlining function (#10896) (e37a93d)
-
(es/minifier) Termination check when stmts containing switch (#10898) (4429b20)
-
(es/parser) Fix parsing of JSX identifiers (#10894) (0047c39)
-
(ts/fast-strip) Strip private method overloads (#10886) (cdb6e87)
-
(es/lexer) Disallow legacy octal literals as BigInt (#10867) (430fbf4)
-
(es/minifier) Restrict IIFE inlining in class contexts (#10879) (a01b54a)
-
(es/parser) Mark
staticas reserved in strict mode (#10861) (5bdddd7)
-
(es/minifier) Enhance IIFE invoker for arrow functions (#10860) (2b1ce3d)
-
(plugin/runner) Use wasmer-wasix sys-minimal feature to reduce binary size (#10638) (b5f704a)
-
(es/lexer) Reduce comparison while reading numbers (#10864) (c6ba5c2)
-
(es/lexer) Remove unnecessary check when reading keywords (#10866) (4aefe0e)
-
(swc_error_reporters) Avoid creating miette handler when no diagnostics (#10852) (93b318f)
-
(es/parser) Remove duplicate check for reservedness (#10850) (4897bfd)
-
(es/parser) Remove span swap operation in parser (#10854) (32f4bb8)
-
(es/minifier) Don't inline arrow when it contain
this(#10825) (8b43bb3) -
(es/parser) Make
exportin NS to not affect file type (#10799) (ae22033) -
(es/parser) Correctly check ambient context (#10802) (f97ea03)
-
(es/parser) Enable support for dynamic import with
deferphase (#10845) (097d29d) -
(plugin) Remove
bytecheckto make Wasm plugins backward compatible (#10842) (30ad808)
-
(bindings) Fix dependency issues (7c57fbb)
-
(deps) Update
class-validatorto avoid comments (#10819) (bacfa4b) -
(ide) Enable
--workspacefor rust-analyzer check (#10809) (92647ff)
-
(es/helpers) Make inline helpers optional at compile time (#10808) (53f3881)
-
(es/lints) Remove warnings without features (#10794) (41d507f)
-
(es/parser) Reduce call to
parse_decorators(#10846) (356d3a0) -
(es/preset-env) Use strpool,phf for corejs2 data (#10803) (1652fd8)
-
(es/react) Remove redundant
replacecalls (#10795) (a670b37) -
(hstr) Make the deallocation of
Atoms explicit (#10813) (406433d)
-
(es) Use
default-features = falseforswccrate usages (#10776) (50b2eac) -
(preset-env) Fix
defaultvalue forcaniuse(#10754) (aa4cd5b)
-
(es/minifeir) Inline lazily initialized literals (#10752) (fd5d2e2)
-
(es/minifier) Evaluate
Number.XXXconstants (#10756) (c47dab5) -
(es/minifier) Implement partial evaluation of array join (#10758) (bdf3a98)
-
(swc_core) Expose
swc_ecma_parser/unstable(#10744) (db0679e)
-
(deps) Remove unused deps with cargo-shear (#10765) (f4e4974)
-
(es/module) Drop
nodefeature ofswc_ecma_loader(#10761) (44471b5) -
(plugin/runner) Remove unused feature and dependency (#10764) (a7d8a0a)
-
(es/lexer) Do not scan number if there's no underscore (#10788) (f5d92ee)
-
(es/parser) Reduce the number of context set ops (#10742) (08b4e8b)
-
(es/parser) Reduce value set operations for context (#10751) (4976b12)
-
(es/parser) Reduce query ops of current token (#10766) (4304f91)
-
(es/parser) Remove useless call in
parse_ident(#10770) (4ca12c9) -
(es/renamer) Reduce time complexity in case of conflict (#10749) (0279914)
-
(hstr) Do not compare string during creating atoms (#10791) (43a4f11)
-
(es) Make
swc_ecma_lintoptional forswccrate (#10767) (f80415b) -
(es/preset) Remove deprecated
preset_envfunction andfeaturemodule (#10759) (fa0e0ab) -
(es/preset-env) Use phf for corejs3 entry (#10712) (658b26d)
-
(es/minifier) Update the terser test list (#10748) (1eace01)
-
(es/minifier) Update the passing test list (#10782) (8aa888b)
-
(es/parser) Add a test for duplicate labels (#10784) (28fc643)
-
(es/lexer) Parse uppercase hex numbers correctly (#10728) (ead6256)
-
(es/lexer) Allow keywords as jsx attribute names (#10730) (04ef20a)
-
(es/minifier) Do not drop self-referential class expressions (#10710) (39e6c2e)
-
(es/minifier) Mark
consandaltofCondExprasref(#10740) (9649cc8) -
(es/parser) Allow non-prop operand in delete (#10733) (38132e0)
-
(es/minifier) Make
CharFreq::scanin mangler table-based (#10679) (04d39aa) -
(ts/fast-strip) Use
swc_ecma_parser::Lexer(#10677) (ffe0292)
-
(es/minifier) Fix condition for preserving properties (#10694) (5c57a05)
-
(es/minifier) Drop pure tagged string call expr (#10702) (85cd9a7)
-
(es/parser) Improve error message for template literals (#10690) (a066b76)
-
(es/parser) Rescan
>=for JSX closing tag (#10693) (fe82c4c) -
(es/parser) Support keywords as JSX member expression properties (#10701) (643253d)
-
(es/parser) Enable import attributes unconditionally (#10706) (5ecc3ca)
-
(es/parser) Expose Token API with unstable feature flag (#10699) (750c7d4)
-
(es/parser) Throw error if JSX does not end with
>(#10687) (cb3d6db) -
(es/react-compiler) Use tsx syntax for parser (#10682) (a355e37)
-
(ts/isolated-dts) Skip parameters without accessibility modifiers in private constructors (#10675) (1976d8e)
- (ecosystem-ci) Exclude
react-leaflet(cfbb1f9)
-
(es/lexer) Optimize number literal parsing with fast path (#10655) (15d0828)
-
(es/lexer) Reduce allocations while lexing numbers (#10667) (115d228)
-
(es/lexer) Introduce
byte_searchto reduce comparison operations (#10668) (3806ffd) -
(es/lexer) Optimize lexing of numbers with separators (#10665) (cac651b)
- (wasm) Fix wasm builds (eee0578)
-
(es/minifier) Fix
Bufferhandling ofminify()API (#10643) (cdf068e) -
(es/parser) Don't be greedy in the end of jsx open el (#10637) (8a2c656)
-
(ci) Fix build of
@swc/minifier(0dc5244) -
(es/codegen) Fix
.mappath when usingoutput_path(01e5bd1) -
(es/parser) Allow type ann in jsx expr child (#10626) (48f576c)
-
(swc) Fix wrong caching of resolvers regarding file exts (#10615) (68aacd1)
-
(ts/isolated-dts) Emit properties in overloaded constructor params (#10623) (6634ef1)
-
(atoms) Improve
atom!for inlinable strings (#10612) (5113121) -
(es/minifier) Avoid calling some costly function when optimizing deep nested binary expr (#10611) (1434571)
-
(es/minifier) Remove needless JSON conversion (#10628) (4a58dca)
-
(es/parser) Reduce cmp in jsx spread child (#10606) (fb33c13)
-
(@swc/types) Remove
nativeClassProperties(#10592) (39032dc) -
(es/minifier) Fix top level detection of DCE (#10603) (964a560)
-
(es/codegen) Don't call
cmt.get_leadingfor dummy span (#10568) (16e204d) -
(es/parser) Disallow spread operator(
...) in JSX attribute values (#10587) (8deba78) -
(es/typescript) Pass
native_class_properties(#10561) (7e4cd9a) -
(es/typescript) Handle
export declare varin namespace (#10579) (2daa17f) -
(ts/isolated-dts) Add edges
SymbolFlags::ValueandSymbolFlags::Typein exports (#10577) (e6d4da2) -
Fix bindings (0f858fd)
-
(es/minifier) Regex support for
format.comments(#10571) (e441df5) -
(es/module) Add support for
import.meta.mainin AMD and CJS (#10596) (759de2e)
-
(es/lexer) Remove unnecessary result wrap (#10578) (49d15df)
-
(swc_common) Use
BytesStrinstead ofLrc<String>(#10580) (6f00973)
-
(es/codegen) Exclude
constructorfrom source map names (#10551) (ef85640) -
(es/fixer) Fix a bug with awaited arrow fn expression (#10555) (9dfdfa6)
-
(es/minifier) Inline object of member if prop is an ident (#10548) (e554381)
-
(es/minifier) Add side effect check for test expr when compressing IfStmt (#10550) (3e9728e)
-
(es/parser) Emit syntax errors for strict mode in non-module or scripts (#10545) (1291b4a)
-
(es/react-compiler) Fix usefulness detection (#10506) (41075a1)
-
(swc_common) Fix skip condition for sourcemap (#10562) (cbee0df)
-
(swc_common) Fix skip condition for sourcemap, really (#10563) (14feedb)
-
(ts/fast-dts) Correctly emit Symbol-keyed accessors in declarations (#10508) (1298e76)
-
(ts/fast-dts) Ensure correct emission of template literals and symbol-keyed properties (#10530) (8dbdbef)
-
(bindings) Use published versions of crates (#10513) (f65f028)
-
(ecosystem-ci) Exclude
ts-node(2b284e1)
-
(es/minifier) Merge
PropertyCollectorinto usage analyzer (#10514) (505bf54) -
(es/parser) Reduce comparison while reading logical (#10526) (2bc551c)
-
(es/codegen) Migrate to
ryu-jsfor numeric literal codegen (#10503) (4bc4244) -
(es/lexer) Cleanup code for reading tokens (#10533) (a72092c)
-
(es/parser) Share code for parsing strings (#10522) (931a2d6)
-
(ts/fast-dts) Derive computed flags from source code (#10510) (a2d5664)
-
(@swc/types) Add
transform.nativeClassProperties(#10418) (f3af44c) -
(@swc/types) Add
resolveFullytoBaseModuleConfig(#10426) (164cbaa) -
(ci) Remove wasmer override (425eeb9)
-
(es/compat) Properly handle rest assignment in for-in/of head (#10489) (b9c0446)
-
(es/jest) Hoisting vars with names starting with mock (#10410) (a29eb29)
-
(es/minifier) Properly handle object shorthand syntax during compression (#10467) (bae4940)
-
(es/optimization) Support decimal numbers in
jsonify(#10424) (affdec2) -
(es/react-compiler) Mark function components declared as a var interesting (#10437) (5eac076)
-
(es/renamer) Fix (broken) identifier preserving API (#10474) (06c64cf)
-
(ts/fast-dts) Emit
readonlyfor Object getter prop (#10492) (6c03e20) -
(ts/fast-dts) Align object getter/setter emit behavior with TypeScript (#10502) (78c754e)
-
(common) Allow using
build_sourcemapwith multipleSourceMap(#10438) (2a07c8a) -
(common) Add
ignoreListsupport for sourcemap (#10442) (6750459) -
(es/module) Add support for stripping "node:" prefix in imports and exports (#10461) (ae2ff62)
-
(es/react-compiler) Initialize support crate (#10422) (1e88e6b)
-
(common) Accept owned instance of
sourcemap::SourceMap(#10463) (6ee439a) -
(es/minifier) Remove needless
collect_declscall (#10450) (8e4b6ce) -
(es/minifier) Perform full analysis only once for DCE (#10454) (61baf84)
-
(es/optimization) Rely on
resolverfrominline_globals(#10449) (1978809) -
(es/utils) Make
IdentUsageFinderparallel (#10444) (d074bca) -
(es/utils) Stop visiting once found in
EvalFinder(#10483) (3402270)
-
(es/minifier) Merge label/private name renamer (#10480) (5add84d)
-
(es/parser) Split parser into also-lex/parse-only (#10399) (26289ab)
-
(es/parser) Cleanup usage of
is!andbump!(#10490) (b695b68) -
(es/transforms) Unify
preset_envandes_versiontransform (#10451) (6546c27)
-
(es/compat) Remove
PUREmark from _async_to_generator (#10414) (1c6f65c) -
(es/proposal) Preserve class id for hoisted classes when transforming
usingdeclarations (#10407) (b703f21)
-
(es/parser) Parse
export default from;withexportDefaultFrom: trueoption (#10373) (a270cb0) -
(es/proposal) Fix exported class for
explicit-resource-management(#10393) (6b5dbc6)
-
(bindings/core) Enhance existing parse function to accept both string and buffer types(#10371) (c9a2afc)
-
(css/prefixer) Fix default implementation (#10351) (34f4e41)
-
(es/minifier) Use bigflags to reduce context size of analyzer (#10380) (773d19c)
-
(es/minifier) Use
bitflagsto reduce context size ofInfectionCollector(#10387) (126d432) -
(es/minifier) Use
bitflagsto reduce compress context size (#10381) (99495bd) -
(es/parser) Move
found_module_itemtoParser(#10388) (fd52c5c)
-
(es/helpers) Sync tslib
_ts_generatorimplementation (#10366) (d3fb992) -
(es/proposal) Fix scope of declarations for
explicit-resource-management(#10362) (eb7f7e9)
-
(es/parser) Add initial capacitity for some vectors (#10361) (7b7b50e)
-
(es/parser) Reduce clone of token contexts (#10364) (3ab47b2)
-
(es/parser) Use
bitflagsto reduce parser context size (#10367) (a2d3596) -
(es/parser) Replace byte arguments with generics (#10370) (68f7667)
-
(es/parser) Use
arrayvecand unsafepushto optimize escaped string parsing (#10369) (e12ae1c)
-
(error_reporters) Removing unused code to fix clippy check (#10338) (5970f93)
-
(es/minifier) Preserve block with block scoped declaration (#10335) (a4ac3b7)
-
(es/parser) Allow abstract method named
accessor(#10327) (3f71776) -
(es/preset-env) Consider
browserslistconfig ifenv.targetis not configured (#8921) (a2dc372) -
fix(es/compat): Remove one promise tick in yield* (tc39/ecma262#2819) (#10317)
Related issue:
-
(errors) Integrate
miettefor enhanced diagnostic reporting (#10241) (156c3b1) -
(es/codegen) Support
sourceMap.urloption ofterser(#10346) (566bc7c)