-
(es/parser) Parse
export default from;
withexportDefaultFrom: true
option (#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
bitflags
to reduce context size ofInfectionCollector
(#10387) (126d432) -
(es/minifier) Use
bitflags
to reduce compress context size (#10381) (99495bd) -
(es/parser) Move
found_module_item
toParser
(#10388) (fd52c5c)
-
(es/helpers) Sync tslib
_ts_generator
implementation (#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
bitflags
to reduce parser context size (#10367) (a2d3596) -
(es/parser) Replace byte arguments with generics (#10370) (68f7667)
-
(es/parser) Use
arrayvec
and unsafepush
to 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
browserslist
config ifenv.target
is not configured (#8921) (a2dc372) -
fix(es/compat): Remove one promise tick in yield* (tc39/ecma262#2819) (#10317)
Related issue:
-
(errors) Integrate
miette
for enhanced diagnostic reporting (#10241) (156c3b1) -
(es/codegen) Support
sourceMap.url
option ofterser
(#10346) (566bc7c)
-
(es/ast) Reduce redundant string comparison for
Atom
s (#10323) (3ce9d81) -
(es/jsx) Cache FileName for JSX pass (#9951) (#10322) (9852940)
-
(es/parser) Remove redundant
is_ascii
calls (#10334) (e66b4d6) -
(es/parser) Remove ascii check for no-ascii (#10350) (4279b96)
-
(es/codegen) Ensure proper Unicode escape handling for ES5 and below #10028 (#10309) (7f76fa3)
-
(node) Fix
worker_threads
issue on glibc platform (#10306) (1d1ff9e)
-
(es/codegen) Split
lib.rs
into multiple files (#10304) (5a07a5d) -
(es/codegen) Refactor macro to inverse order (#10297) (78f907f)
-
(bindings/node) Fix build on platforms without plugin (#10301) (3faae55)
-
(es) Do not reuse
Compiler
forminify()
andtransform()
(#10273) (63bd8a1) -
(es/bugfix) Do not rename in non-ident-function (#10274) (48b6bdb)
-
(es/minifier) Remove unnecessary check when invoke IIFE (#10257) (6b75775)
-
(es/parser) Parser a program as a module with TLA in non-expression statement (#10287) (157c52a)
-
(html) Remove
async
fromminifyFragmentSync
(#10289) (7028457)
-
(es) Add Rust plugin host part for analysis API (#10285) (d213a84)
-
(es) Add analysis API and refactor output API (#10288) (a53c60d)
-
(es/minifier) Allow disabling char frequency analysis (#10259) (50c62d1)
-
(es/minifier) Merge expression with empty return (#10283) (c276a38)
-
(es/minifier) Optimize code generated by optional chaining (#10292) (0d88041)
-
(es/minifier) Support
reduce_escaped_newline
(#10232) (64fb286) -
(ts/fast-strip) Improve error message format (#10298) (29c4afb)
- (html) Fix typing (3ed8a7a)
-
(es/minifier) Adjust parallelism threshold (#10260) (28cc6f6)
-
(es/minifier) Process
cons
andalt
ofIfStmt
in parallel (#10262) (ccb6eb8) -
(es/minifier) Move logic to the pure minifier (#10264) (7ecd807)
-
(es/minifier) Use
swc_par_iter
instead ofrayon
(#10267) (78e37a1)
-
(es/minifier) Make
inline_globals
noop by default (#10231) (b192dc8) -
(es/minifier) Fix access to
GLOBALS
in char freq compute (#10239) (6286663) -
(es/parser) Fix span of wrong
await
tokens (#10252) (5c28dc3)
-
(es/fast-lexer) Enhance identifier handling with Unicode support (#10226) (482b63a)
-
(ts/fast-strip) Add start/end span information (#10251) (ab39a62)
-
(ts/fast-strip) Improve error message snippet (#10253) (f4f426c)
-
(es/minifier) Do not drop numbers incorrectly (#10211) (80ccd86)
-
(es/minifier) Allow TypeScript nodes to fix
styled-jsx
(#10221) (9d87d4d)
-
(es/proposal) Fix declarations for
explicit-resource-management
(#10198) (99ba555) -
(es/types) Add missing types for
jsc.transform.react.refresh
(#10206) (e71b000) -
(typescript) Skip the body of ArrowExpr in type usage analysis (#10187) (9aca205)
-
(es/minifier) Add a benchmark for real-world inputs (#10204) (97f2180)
-
(es/minifier) Disable real-world benchmarks on CI (#10205) (c5f1cbe)
-
(es/minifier) Test only sizes for large inputs (#10208) (bec3e3e)
-
(es/compat) Hoist
arguments
in object method while lowering async functions (#10167) (e764df2) -
(es/minifier) Check array inline for indexed with dynamic key (#10184) (c2fe4bf)
-
(es/module) Support more
import.meta
properties (#10179) (11727a6) -
(ts/fast-strip) Throw js object instead of map (#10186) (2da0142)
-
(es/fast-lexer) Use
memchr
forskip_line_comments
(#10173) (35194e3) -
(es/fast-lexer) Use SIMD properly for string literals (#10172) (be60338)
-
(es/fast-lexer) Add length-based fast path for keywords (#10176) (1f70af8)
-
(es/fast-lexer) Optimize memory layout of cursor (#10175) (aa20494)
-
(es/fast-lexer) Replace PHF with static keyword lookup table (#10181) (56d065e)
-
(es/fast-lexer) Optimize SIMD vector initialization with initialing
u8x16
once. (#10183) (435197c)
-
(es/fast-lexer) Optimize lexing of keywords (#10155) (fb610b0)
-
(es/fast-lexer) Make whitespace skipper use SIMD properly (#10158) (15ea059)
-
(es/minifier) Fix regression due to #10056 (#10134) (b145275)
-
(es/typescript) Remove empty statements that const enum decls are folded into (#10128) (7bea830)
-
(es/lints) Capture errors and emit from the original thread (#10119) (2304cd8)
-
(es/minifier) Skip inlining if the referential identity of a function matters (#10123) (c08fe8d)
-
(ts/fast-strip) Throw object consistently (#10122) (010ff2a)
-
(es/minifier) Inline before cost analysis (#10092) (1425b56)
-
(es/minifier) Remove needless
println
(b1e5b2d) -
(es/resolver) Analyze variable declarations with
declare
(#10102) (cff6a64) -
(swc_malloc) Fix build issue due to malloc, really (#10117) (207a13f)
-
(swc_malloc) Add
target_env = "gnu"
check (#10118) (da81e11) -
Use
jemalloc
on platforms thatmimalloc
fails to build (#10116) (fb75b98)
-
(es/minifier) Improve arrow function inlining cost analysis (#10093) (e74929c)
-
(es/resolver) Remove some vector allocations (#10101) (b65387a)
-
(error-reporters) Store diagnostics in
TransformOutput
(#10027) (52caf23) -
(es/loader) Fix the absolute path check when resolving modules (#10080) (a3894ae)
-
(es/minifier) Fix the order of match arms to inline correctly (#10053) (f0f842d)
-
(es/types) Add
transform.verbatimModuleSyntax
(#10079) (a883cdc) -
(swc_common) Fix build with
swc_allocator/nightly
(#10067) (6a90b1f)
-
(es/ast) Add explicit
namespace
field to distinguish namespace and module declarations (#10023) (76c2cba) -
(es/ast) Add import attributes to
TsImportType
(#9796) (7d297be) -
(es/minifier) Inline across side-effect-free member exprs, (#10056) (19d01d7)
-
(es/minifier) Make seq inliner inline into var without init (#10077) (c4a839b)
-
(deps) Update dependency swc-plugin-coverage-instrument to ^0.0.26 (#10051) (d3fbd21)
-
(swc_allocator) Remove
nightly
from default feature (#10058) (e78b9d1) -
(swc_allocator) Add
#[inline]
to allocator methods (#10066) (853eb53)
-
(typescript) Improve type inferring for undefined and null (#10038) (5059ece)
-
(typescript) Remove the usages of private members (#10037) (8410b59)
-
(es/minifier) Check assign target before merge assign cond (#10020) (6dab49a)
-
(es/parser) Preserve comment positions with leading semicolon (#10019) (c9937b6)
-
(swc_common) Fix panic with non-narrow chars with width != 2 (#10011) (f9f4cac)
-
(ts/fast-strip) Handle unsupported
module
keyword (#10022) (308f5d0)
-
(es/minifier) Dont't optimize swtich case before DCE (#9994) (afe21b5)
-
(es/parser, es/codegen) Handle trailing empty slots in array patterns (#9992) (1a87e76)
-
(es/react) Avoid adding
__self
in constructors of derived class in thejsx_self
(#9987) (83f24af)
-
(es/minifier) Do not clone from
take_ident_of_pat_if_unused
(#10005) (dc3b46e) -
(es/minifier) Allocate in once from
mark_property_mutation
(#10004) (4a90e51) -
(es/minifier) Limit infection analysis by the entry size (#10006) (1a3a4b9)
-
(es/minifier) Make analyzer not call
collect_infects_from
recursively (#9924) (37616c3) -
(es/minifier) Skip complex inline operations if possible (#9972) (772cc30)
-
(es/minifier) Merge binding analyzer into infection analyzer (#9973) (ca8a71f)
-
(es) Restore JSON config & Adjust feature renaming (#9967) (72e5455)
-
(es/minifier) Avoid paren when compressing ternary (#9920) (9d6fe37)
-
(ts/fast-strip) More robust generic arrow handling (#9913) (f7faa7c)
-
(typescript) Allow references to the global Symbol in computed property names under
isolatedDeclarations
(#9869) (e4c1e03)
-
(es/minifier) Print total size from
minify-all
example (#9897) (134000f) -
(es/minifier) Compress
foo ? num : 0
intonum * !!foo
(#9908) (ce22557)
-
(es/minifier) Make character frequency analysis parallel (#9895) (ca2fd1e)
-
(es/minifier) Parallelize handling of class members (#9900) (ed74839)
-
(es/minifier) Adjust threshold for parallel char frequency calculation (#9901) (47ea8de)
-
(es/minifier) Do heavy operation only if required (#9902) (2687231)
-
(es/minifier) Invert cache to be really a cache (#9910) (8bfb0e5)
-
(es/decorators) Fix init order of
2022-03
impl (#9760) (751a310) -
(es/ts_strip) Handle ASI hazard in return statement (#9882) (121b5fe)
-
(typescript) Collect usages in extend clauses of classes and interfaces (#9893) (ef29ef6)
-
(es/minifier) Make the first run of DCE more efficient (#9868) (7329824)
-
(es/minifier) Box
VarUsageInfo
ofProgramData
(#9894) (fafd754) -
(es/renamer) Use
IndexSet
for rename queue (#9866) (f404720)
-
(es/minifier) Add a way to profile minifier for real-world inputs (#9881) (9657294)
-
(es/minifier) Use
chili
forminify-all
example (#9885) (197f0bc)
-
(ci/publish) Do not tag stable if
onlyNightly
is on (#9863) (c0c6056) -
(es/parser) Fix context of dynamic import type (#9852) (caa7f37)
- Update the link to the team (0fcdc31)
-
(es/minifier) Fix minification of
framer-motion
by checkingcons.termniates()
(#9818) (512c91f) -
(typescript) Fix wrong check for super class (#9822) (2307a4d)
-
(atoms) Update
hstr
to optimize==
ofAtom
(#9845) (584a0a0) -
(es/lints) Configure a benchmark for ES lints (#9833) (734ec21)
-
(es/minifier) Improve parallelism and cache friendliness (#9813) (f8dff56)
-
(es/minifier) Introduce
FastJsWord
andFastId
inswc_atoms
(#9826) (ef0ec38)
-
(es) Don't panic when wasm bytecheck faild (#9803) (c81be2e)
-
(es/parser) Do not parse empty stmt after using decl (#9798) (c2696db)
- (es/resolver) Fix wrong syntax context of vars with the same names as catch params (#9786) (5a44c6b)
-
(es/codegen) Use raw value for emitting JSX text (#9762) (b83c44f)
-
(es/compat) Fix marker for inlined helpers (#9776) (f54ec2c)
-
(es/minifier) Drop
console
in optional chainings (#9759) (39271ad) -
(es/minifier) Do not inline into the exact LHS (#9777) (985977b)
-
(es/minifier) Support
preserve_annotations
of terser (#9775) (6e1c9fd) -
(typescript) Align
isolatedDeclaration
implementation with tsc (#9715) (0adad25)
-
(deps) Update dependency magic-string to v0.30.13 (#9747) (fa80a1e)
-
(deps) Update dependency magic-string to v0.30.14 (#9764) (6e46a8b)
-
(@swc/types) Tsc build file ignored by npm (#9754) (14a5c1e)
-
(es) Source map
super(...args)
calls in injected constructors (#9745) (35b0ca0) -
(es/plugin) Migrate
swc plugin new
to use.cargo/config.toml
(#9740) (4ffb21e) -
(es/resolver) Ignore
VarDecl
withdeclare: true
(#9734) (aa0f784)
-
(es/typescript) Handle multiline type parameters in async arrow functions (#9704) (c5ed19c)
-
(es/typescript) Handle ASI hazards in fast type strip (#9707) (c135f71)
-
(es/generator) Fix code generation for
break
in nested while (#9684) (65872af) -
(es/resolver) Skip resolving lowercase
JSXIdentifiers
(#9686) (6ed1715) -
(es/types) Add
jsc.experimental.keepImportAssertions
to types (#9691) (4b4dcfa)
-
(es/minifier) Optimize switch with side effect and termination tests (#9677) (7344a63)
-
(es/parser) Ability to get script's potential module errors (#9682) (2bbd1e8)
-
(bindings) Update napi to handle string with
\0
(#9665) (8f45eaf) -
(bindings/node) Add
VisitTsPropertySignature
(#9670) (715c42c) -
(es/renamer) Check
preserved
in normal renaming mode (#9666) (87b4e10) -
(typescript) Check whether the method is abstract when checking
is_overload
(#9678) (78500af)
-
(es/compat) Add missing visit children for
destructuring
(#9658) (32116a0) -
(es/parser) Correct
>
and<
when exit type context (#9653) (abffc07) -
(es/proposal) Use
tsc
version of explicit resource management (#9585) (f735108) -
(wasm-typescript) Fix option types of functions (#9662) (4cbe33c)
-
(es) Run esnext transforms on esnext target (#9644) (8a19201)
-
(es/codegen) Emit space after div if rhs has leading comment (#9631) (f2be26e)
-
(es/lints) Correct the false positive error of TS2309 (#9635) (f74c1f3)
-
(es/minifier) Check type of assignment target before merging assignments (#9617) (4436621)
-
(es) Introduce
runPluginFirst
for Wasm plugins (#9645) (3d3e434) -
(es/minifier) Support unary negate in
cast_to_number
(#9642) (88a2186)
-
(es/codegen) Fix source map so it works with Sentry (#9627) (9c90a73)
-
(es/minifier) Compress consecutive return statements properly (#9620) (8263da1)
-
(es/module) Allow TypeScript nodes for
Rewriter
(#9606) (4ee45ac) -
(html/minifier) Fix HTML minifier TS types (#9615) (7b98bb5)
-
(bindings/html) Accept
Buffer|string
instead ofBuffer
(#9625) (62edb36) -
(es/testing) Parse test code as a
Program
instead of aModule
(#9264) (166b858) -
(es/testing) Parse test code as a
Program
instead of aModule
(#9623) (bfea322)
-
(es/codegen) Emit .d.ts when using --out-file (#9582) (3d9d641)
-
(es/module) Fix
jsc.paths
using absolute paths with dots in a filename for an alias (#9595) (74e3d04) -
(es/parser) Fix failure of TS instantiation followed by satisfies (#9583) (77900d8)
-
(ast) Add
archive(check_bytes)
to all relevant AST types (#9574) (185d6f5) -
(cli) Exclude non-files from get_files_list (#9560) (85cc2bd)
-
(es/codegen) Fix wrong sourcemap when there are new lines in tpl (#9578) (cf74382)
-
(es/compat) Skip
getter
andsetter
as FlowHelperfunction
do (#9580) (14cfd70) -
(es/minifier) Avoid decl name when mangle with eval (#9546) (e2242c4)
-
(es/minifier) Check variable type while optimizing
+=
(#9575) (04016e9) -
(es/module) Rewrite import specifier in type declaration (#9577) (fc0ba2a)
-
(plugin) Don't panic when ast byte not match (#9562) (c36871a)
- (bindings/node) Fix type definition (64ec111)
-
(es/compat) Handle label block in constructor (#9528) (c43dbad)
-
(es/decorator) Add support for private access expressions in legacy decorators (#9535) (62ed065)
-
(es/minifier)
typeof
class should befunction
(#9522) (c7fdd6b) -
(es/minifier) Prevent removing side effects from accessing getter (#9530) (8513816)
-
(es/typescript) Handle enum in single statement (#9532) (84b0043)
- (es/minifier) Iterate object properties in reverse direction while inlining property access (#9507) (f584ef7)
-
(ci) FIx pattern for
actions/download-artifact
(ac7bd31) -
(es/minifier) Force rename synthesized identifiers (#9473) (c72b5f8)
-
(es/minifier) Mark LHS of for-in/of as update (#9474) (ac432c4)
-
(es/typescript) Correctly handle deep import chains (#9487) (50d70d3)
-
(es/typescript) Correctly handle ESM context (#9490) (fc0483c)
-
(html) Fix html binding (eefae1c)
-
(bindings/html) Allow using
lightningcss
as minfiier (#9462) (74d6478) -
(es/minifier) Drop more patterns with
PURE
marker (#9478) (ede1a52)