swc/CHANGELOG.md
2024-02-04 06:19:41 +00:00

76 KiB

Changelog

[unreleased]

Bug Fixes

  • (cli) Make Rust CLI use sourcemap code from the swc crate (#8576) (82bc061)

  • (es/codegen) Fix codegen of async methods with decorators (#8575) (8c32225)

  • (es/lexer) Fix typo in package keyword (#8589) (8413a6c)

  • (es/minifier) Fix top-level check (#8583) (a7c5255)

  • (es/proposals) Support using using keyword with functions (#8574) (d81596c)

  • (es/resolver) Skip property in JSX member (#8598) (d480ab9)

  • (es/testing) Make test_inline! not read output as a file (#8569) (d683089)

  • (es/typescript) Handle exported JSX binding name in TypeScript namespace (#8596) (2a70a6b)

Features

Testing

  • (es/minifer) Update the passing terser test list (#8573) (8b86638)

  • (es/testing) Ensure that test_inline! is working properly (#8590) (872a47b)

[1.3.107] - 2024-01-28

Bug Fixes

  • (es/codegen) Do not produce octal literals (#8565) (07634a0)

  • (es/decorator) Skip TypeScript class method/prop declarations (#8555) (6a8dd8c)

  • (es/decorator) Preserve state while traversing the module_items scope (#8556) (f416aff)

  • (es/loader) Make tsc resolver work for bare specifier (#8550) (d6a4615)

[1.3.106] - 2024-01-25

Bug Fixes

  • (binding/types) Add bugfixes field to EnvConfig (#8538) (49ebdf9)

  • (common) Fix source map generation with inputSourceMap (#8546) (043ee85)

  • (es/ast) Add definite and is_override to AutoAccessor (#8436) (572bcae)

  • (es/ast) Fix definition of SetterProp (#8314) (bc38ac9)

  • (es/codegen) Set sourceRoot of sourcemaps (#6086) (ae78669)

  • (es/compat) Support vars from reserved_word pass (#8543) (fc929e9)

  • (es/loader) Don't use browser versions for jsc.paths (#8548) (fab27da)

  • (es/minifier) Fix a bug related to inliner and the variable scoping (#8542) (aa70131)

  • (es/module) Fix resolving of dependencies (#8533) (71fb5c1)

  • (es/module) Fix handling of * in jsc.paths (#8535) (2d8bd9e)

  • (es/quote) Add support for import phase to quote macro (#8536) (71930ff)

Features

  • (css/parser) Implement error reporting for @value of CSS Modules (#8547) (00619b1)

  • (es/ast) Support import phase (#8279) (72048ae)

  • (swc_core) Expose preset_env_base (#8537) (793f265)

Miscellaneous Tasks

[1.3.105] - 2024-01-21

Bug Fixes

  • (common) Remove < and > from Display impl of FileName::Custom (#8530) (014a6cd)

  • (es/codegen) Fix codegen of \\0 (#8433) (9f1ce3a)

  • (es/minifier) Fix a bug in tpl string <-> string logic (#8510) (4946a11)

  • (es/typescript) Fix panic on invalid jsx pragma (#8513) (f40f59b)

Miscellaneous Tasks

Testing

  • (es/codegen) Add tests for @ctrl/tinycolor (#8518) (1c4eb1f)

  • (es/codegen) Add a JS test for ascii-only mode (#8519) (974c6a0)

  • (es/minifier) Add a test for a fixed issue (#8520) (8fac2bb)

  • (es/module) Add a test for a fixed issue (#8521) (4b4a0a2)

[1.3.104] - 2024-01-17

Bug Fixes

  • (es) Fix plugin template & restore test! as test_inline! (#8508) (10449e0)

  • (es/systemjs) Handle top level this (#8506) (0f94c8c)

  • (plugin) Set swc_common::errors::HANDLER while invoking plugins (#8511) (ba753f1)

[1.3.103] - 2024-01-15

Bug Fixes

  • (binding/types) Add type for decoratorVersion (#8468) (79438e6)

  • (es/codegen) Emit abstract keyword (#8479) (a12eaae)

  • (es/codegen) Emit declare keyword for class properties (#8478) (2076ef8)

  • (es/codegen) Emit implements clause with commas (#8477) (d98a282)

  • (es/codegen) Emit ? for an optional computed property (#8481) (e0bdc0f)

  • (es/codegen) Fix codegen of a property key in ascii-only mode (#8493) (8d9bf4c)

  • (es/compat) Set inserted var inside export class in destructing (#8470) (4416077)

  • (es/compat) Correctly handle this in arrow function parameters (#8489) (52a8f05)

  • (es/minifier) Correctly escape more characters (#8490) (f7c4934)

  • (es/module) Fix resolving of .js files (#8480) (b70e96f)

  • (es/parser) Correctly parse the keyword (#8483) (740e6f3)

  • (es/resolver) Resolve top-level undefined, NaN, and Infinity correctly (#8471) (82bd807)

Documentation

  • Replace string_cache with hstr in ARCHITECTURE.md (#8487) (abd7c51)

Features

  • (html/parser) Allow self-closing /> on non-void HTML elements via a flag (#8460) (566063d)

Refactor

Testing

  • (es/minifier) Enable non esm mode for tests (#8472) (1120336)

  • (es/minifier) Enable script mode for terser_exec and mangle (#8474) (b676e75)

[1.3.102] - 2023-12-31

Bug Fixes

  • (css/parser) Fix parsing of hsla(var(--foo), 1) (#8443) (d89b60a)

  • (es) Apply paren_remover for minify (#8442) (e68720a)

  • (es/codegen) Fix codegen of type-only export declarations (#8447) (65dec90)

  • (es/codegen) Emit override keyword (#8449) (0dd96f8)

  • (es/compat) Use correct span.lo in class transforms (#8439) (a06d5b2)

  • (es/minifier) Add WeakRef as a safe global reference (#8458) (d681785)

  • (es/parser) Disallowing await as an identifier in class static block (#8450) (0b188cc)

  • (es/renamer) Correctly check top level (#8456) (1e44e57)

[1.3.101] - 2023-12-18

Bug Fixes

  • (es/codegen) Emit extra paren emitting AssignExpr (#8413) (dce3693)

  • (es/codegen) Fix codegen of ts specific syntax in class props (#8426) (7566ddf)

  • (es/compat) Fix destructuring of export class/function (#8371) (630f9d3)

  • (es/compat) Preserve spread in the generator pass (#8401) (29bec98)

  • (es/compat) Preserve comment for arrow body (#8427) (56992e3)

  • (es/fixer) Preserve parenthesis for optional chaining (#8399) (a69f172)

  • (es/lints) Ignore ambient context binding (#8368) (83c8fe5)

  • (es/resolver) Handle TsInterfaceDecl and UsingDecl correctly (#8403) (f8ce316)

Features

  • (es/ast) Add as_import_with to ObjectLit to provide easier API (#8405) (daf6265)

Miscellaneous Tasks

Performance

Refactor

Build

  • (macros) Drop pmutil to improve compile time (#8404) (835151e)

[1.3.100] - 2023-11-30

Bug Fixes

  • (es/codegen) Fix panic due to \\ud (#8346) (1891afa)

  • (es/codegen) Wrap quote for length greater than one (#8351) (2cdea3f)

  • (es/decorators) Resolve enum for design:returntype (#8320) (91ef7c9)

  • (es/fixer) Wrap yield expression in await expression (#8357) (ff719f0)

  • (es/minifier) Fix if_return bug related to await and yield (#8328) (01e2c7f)

  • (es/minifier) Give up terminate merge if in try with finally (#8342) (ed5a9b3)

  • (es/parser) Wrap with OptChain across TsNonNull (#8332) (8af6ffb)

  • (es/parser) Fix conditional compilation (#8343) (a423681)

  • (es/react) Make jsx with single spread child static (#8339) (58568fa)

  • (es/renamer) Allow globalThis to be shadowed (#8327) (3dd73a3)

  • (es/typescript) Handle shebang with jsx pragma (#8318) (c25601d)

Miscellaneous Tasks

  • (css/linter) Document rules require porting (#8352) (55da0bb)

Build

[1.3.98] - 2023-11-21

Bug Fixes

  • (es/codegen) Check for trailing comments while emitting an arrow (#8257) (0faa2c4)

  • (es/codegen) Fix codegen of type args of an import type and a type query (#8296) (369fb21)

  • (es/codegen) Fix get_ascii_only_ident (#8287) (07c8935)

  • (es/decorators) Minimize class declarations transformation (#8245) (6992d83)

  • (es/minifier) Use cooked while converting tpls into strings (#8248) (be748f0)

  • (es/minifier) Enable seq inliner for const declarations (#8255) (ebcd825)

  • (es/minifier) Keep class with a static block (#8283) (20fb5ba)

  • (es/minifier) Respect pure_funcs for tagged tpls (#8280) (1ccfc07)

  • (es/minifier) Make Finalizer inline literals (#8285) (73fec94)

  • (es/minifier) Remove hack for built-in class names (#8293) (7985e02)

  • (es/minifier) Apply new SyntaxContext to inlined Arrow (#8301) (c18a959)

  • (es/minifier) Apply new SyntaxContext to inlined Arrow correctly (#8312) (572ad63)

  • (es/module) Read link if an import is resolved as symlink (#8297) (7dfdc12)

  • (es/parser) Consider ASI while parsing TypeScript type aliases (#8263) (e589126)

  • (es/parser) Adjust the context for cond expr while parsing JSX (#8261) (0678c3c)

  • (es/parser) Fix ASI hazard of static (#8262) (c128153)

  • (es/parser) Fix parsing of import type from from (#8309) (00b8839)

  • (es/parser) Report error for exported reserved name (#8313) (feb8a6d)

  • (es/parsing) Fix parsing of type satisfies = 0; (#8305) (51042e0)

  • (es/proposal) Improve resolving of design:returntype (#8303) (fab51e1)

  • (es/resolver) Ignore qualifiers of TsImportType (#8299) (2113bb3)

Features

  • (es/minifier) Swap bin expr to save paren (#8277) (65c3d0e)

  • (es/minifier) Support format.inline_script (#8252) (f059270)

Performance

Refactor

Testing

Build

[1.3.97] - 2023-11-09

Bug Fixes

  • (css/modules) Allow out-of-order class names for composes (#8218) (aeb9caf)

  • (css/modules) Fix handling of :global() selector (#8219) (02cd7c2)

Features

  • (es/codegen) Respect ascii_only: false for StrLit (#8217) (1a26be2)

Miscellaneous Tasks

Performance

  • (atoms) Replace string-cache with hstr (#8126) (aa22746)

  • (atoms) Update hstr to make global APIs fast (#8241) (c01454a)

  • (atoms) Introduce AtomStoreCell (#8232) (a5a6eb5)

  • (css/parser) Use AtomStore (#8238) (a3c03b3)

  • (es) Delete useless partition and extend in comments (#8214) (67e2c4a)

  • (es/lexer) Remove needless clones of Rc<RefCell<AtomStore>> (#8231) (37657b8)

  • (es/minifier) Remove needless operations for char freq analysis (#8222) (b745ed7)

  • (es/parser) Remove needless strcmp ops (#8223) (3833cf4)

  • (es/parser) Improve performance (#8224) (e3e439d)

  • (es/parser) Use smarter lookup table for lexer (#8226) (d4ae44a)

  • (es/typescript) Visit ts import/export only once (#8213) (a00f575)

Refactor

Build

  • (cargo) Update rustc to nightly-2023-11-04 (#8221) (14ea705)

  • (preset-env/base) Upgrade browserslist-rs to v0.13.0 (#8229) (f9f305c)

[1.3.96] - 2023-11-03

Bug Fixes

  • (ci) Set tag for wasm publish actions (#8200) (8db80b8)

  • (es/compat) Make block-scoping pass rename exports correctly (#8175) (b13bc32)

  • (es/compat) Use dummy span for blocks in parameters (#8202) (c1b255a)

  • (es/compat) Handle private names from class properties pass (#8090) (83a5a0c)

  • (es/react) Visit children nodes in jsx-src pass (#8212) (47733a9)

  • (es/transforms) Do not add PURE comment to BytePos(0) (#8207) (c061356)

  • (es/typescript) Preserve const enum for named export (#8208) (abced23)

Features

  • (es/minifier) Respect inline level and preserve native names (#8205) (dd805e9)

  • (es/preset-env) Update compat data (#8194) (3dc4e1e)

  • (es/testing) Support babel-like fixture testing officially (#8190) (e960614)

  • (es/testing) Use __swc_snapshots__ for test! macro (#8191) (0aafa75)

Performance

Refactor

[1.3.95] - 2023-10-24

Bug Fixes

  • (es/compat) Don't add pure annotations to dummy spans (#8172) (9ceb57b)

  • (es/minifier) Always consider reassigned when inlining (#8168) (c26a225)

  • (es/typescript) Support ts_enum_is_mutable with const enums (#8171) (02d0613)

Build

[1.3.94] - 2023-10-21

Bug Fixes

  • (css/ast) Make .hash() of Token not recursive (#8151) (8d7894c)

  • (es/minifier) Abort seq inliner if b can short-circuit (#8128) (111de26)

  • (es/minifier) Abort function inliner if keep_fnames is true (#8145) (35601e4)

  • (es/parser) Skip this parameters in setter (#8158) (826386f)

  • (es/utils) Skip var declarator name in RefRewriter (#8125) (fb81a36)

  • (es/utils) Fix regression of RefRewriter (#8153) (08cf1f7)

Features

  • (es/compat) Implement decorator metadata proposal (#8097) (9c029ef)

  • (es/compat) Skip empty class static blocks (#8138) (e186b80)

  • (es/minifier) Evaluate more toFixed expressions (#8109) (7da3f52)

  • (es/minifier) Inline into the arguments of new using seq inliner (#8127) (4f67794)

  • (es/minifier) Drop empty static blocks (#8152) (8a461b8)

  • (es/parser) Implement AsRef<str> for IdentLike (#8133) (bffe33a)

  • (es/typescript) Add ts_enum_is_mutable to disable enum inlining (#8115) (57b171d)

Miscellaneous Tasks

  • (bindings) Add @deprecated to JS plugins (#8132) (1e9b4e0)

  • (es/module) Remove serde(deny_unknown_fields) (#8163) (5be8e74)

Refactor

  • (es/minifier) Decouple assign_count from reassigned (#8137) (13106e0)

[1.3.93] - 2023-10-13

Bug Fixes

  • (ci) Fix CI (#8079) (7073e83)

  • (es/codegen) Fix codegen of type-only imports (#8070) (6f45b46)

  • (es/compat) Handle __proto__ edge case in shorthand pass (#8077) (a912937)

  • (es/compat) Handle export default decorator only if not empty (#8099) (bf523f5)

  • (es/decorators) Fix a regression about class expressions (#8102) (cb4361f)

  • (es/helpers) Override mistake in _interop_require_wildcard (#8076) (1346528)

  • (es/minifier) Don't inline functions if keep_fnames is enabled (#8093) (94bb42e)

  • (es/parser) Fix parsing of await using (#8101) (e1043fa)

  • (xtask) Fix nightly command (#8105) (db4ca65)

Features

Miscellaneous Tasks

  • (es/minifier) Fix script for extracting test cases from next.js app (#8092) (a2d0779)

Refactor

  • (atoms) Remove usage of js_word! to drop string-cache (#7976) (84cec87)

  • (es/compat) Split swc_ecma_transforms_compat (#8110) (affb6fb)

  • (es/module) Reimplement some functions of module/typescript (#8063) (3e5b062)

  • (es/parser) Introduce TokenKind along with Token (#8071) (9b9bc51)

  • (es/preset-env) Rename parameter to avoid confusion (#8106) (95eb147)

[1.3.92] - 2023-10-05

Bug Fixes

  • (es/compat) Fix scoping of explicit-resource-management (#8044) (96a7a4d)

  • (es/compat) Transform default-exported class decorators correctly (#8050) (a751f1c)

  • (es/compat) Use async and await correctly in block-scoping pass (#8056) (8318ea8)

  • (es/module) Handle directives (#8048) (4d8e101)

Refactor

  • (cli) Make CLI testable/managable with swc-bump (#8045) (f717cf2)

[1.3.91] - 2023-10-01

Bug Fixes

  • (es/compat) Use return statements for method and setter decorator (#8017) (38bc710)

  • (es/compat) Generate OptCall for OptCall for private fields (#8031) (06b6eb9)

  • (es/minifier) Check if object shorthand is skippable for seq inliner (#8036) (01391e3)

  • (es/module) Sort the exported ESM bindings (#8024) (990ca06)

  • (es/typescript) Rename wrong unresolved_mark (#8018) (5817268)

  • (es/typescript) Preserve default value of an exported binding in a namespace (#8029) (cf96171)

Documentation

  • (counter) Document the purpose of the package (#8032) (b6b5a4d)

Features

  • (bindings) Create a minifier-only package (#7993) (64d8f4b)

Refactor

  • (es) Extract parser/codegen code for swc::Compiler (#8030) (a13f5cb)

  • (es/minifier) Move JS options to swc_ecma_minifier (#8028) (725f7f5)

[1.3.90] - 2023-09-27

Bug Fixes

  • (es/codegen) Fix codegen of unicode surrogates (#7985) (39c680d)

  • (es/codegen) Fix codegen of optional chaining expr with a comment (#8005) (f07bb48)

  • (es/typescript) Handle DeclareCollect correctly (#8008) (9d08b8a)

  • (es/typescript) Handle qualified access in assign pat (#8012) (2f01aba)

[1.3.89] - 2023-09-25

Bug Fixes

  • (es) Enable resolver if jsc.baseUrl is specified (#7998) (f374ad9)

  • (es/compat) Skip function scope in block-scoped-fns pass (#7975) (d91a554)

Refactor

  • (es/typescript) Reimplement TypeScript pass (#7202) (9c9a538)

[1.3.88] - 2023-09-24

Features

  • (es/config) Accept jsc.experimental.keepImportAssertions (#7995) (4d777ee)

Refactor

[1.3.87] - 2023-09-22

Bug Fixes

  • (bindings/type) Update types of jsc.experimental (#7972) (e40fccb)

  • (es/compat) Handle nullish in fn expr scope (#7980) (5050f58)

  • (es/minifier) Do not inline into a template literal with sequential inliner (#7971) (b3d3a7b)

[1.3.86] - 2023-09-18

Bug Fixes

  • (es/compat) Handle PrivateName in logical_assignments (#7958) (28318f0)

  • (es/minifier) Handle ModuleDecl when transform const modules (#7959) (06ca1fe)

  • (es/module) Preserve import specifier if resolving fails (#7955) (be5b02a)

Miscellaneous Tasks

  • (es/preset-env) Add the repository url to Cargo.toml (#7941) (ca22359)

  • (es/preset-env) Ignore tp in the version of a browser version (#7968) (005ddc5)

Refactor

Build

  • (bindings/node) Link msvc runtime statically (#7965) (0759779)

[1.3.85] - 2023-09-15

Bug Fixes

  • (css/modules) Support composes when using multiple subclass selectors (#7949) (05ca19b)

  • (es/compat) Handle single expression case in static block (#7944) (a80aec4)

  • (es/minifier) Parse a file as a module only if opts.module is true (#7943) (b87ac64)

Features

  • (es/compat) Support pure_getters for optional_chaining (#7933) (c091c5e)

  • (es/module) Add an option to make resolver fully resolve index.js (#7945) (7e8d72d)

[1.3.84] - 2023-09-11

Bug Fixes

  • (es/codegen) Emit leading comments for ExprStmt (#7916) (2da5895)

  • (es/codegen) Use emitAssertForImportAttributes (#7936) (dac8888)

  • (es/compat) Visit assign expr in generator (#7932) (97068e1)

[1.3.83] - 2023-09-07

Bug Fixes

  • (css/modules) Aggregate class names when composes is chained. (#7917) (0db25a2)

  • (es/module) Revert #7901 (#7906) (85d6e9b)

  • (es/module) Fix jsc.paths for projects using pnpm (#7918) (a86e9f3)

Features

  • (es/codegen) Add an option to print assert for import attributes (#7914) (ee75756)

[1.3.82] - 2023-09-01

Bug Fixes

  • (common) Fix logic for excluding FileName from source maps (#7900) (aa64955)

  • (es/module) Make jsc.paths fully resolve TypeScript files (#7901) (c714dd2)

  • (es/resolver) Correctly resolve global value (#7893) (2db10e9)

[1.3.81] - 2023-08-30

Bug Fixes

  • (es/codegen) Fix placing of comments of yield arguments (#7858) (122d14c)

  • (es/compat) Apply transforms for explicit resource management (#7881) (3180e68)

  • (es/compat) Make SwitchCase handler of block-scoping stateless (#7888) (4b33d41)

  • (es/dep-graph) Analyze import type children (#7883) (057bd5f)

  • (es/minifier) Report is_fn_local even if var is hoisted (#7876) (87a47bf)

  • (es/module) Don't create absolute paths for jsc.paths on Windows (#7892) (5fbc251)

  • (swc-info) Use correct path while getting local package versions (#7872) (67afaf1)

Features

Miscellaneous Tasks

Performance

  • (es/transforms) Remove wrong parallelism (#7889) (a505012)

Refactor

  • (es/minifier) Remove mutated and mutation_by_call_count (#7890) (8db968a)

[1.3.80] - 2023-08-25

Bug Fixes

  • (es/module) Fix logic for exact matches in jsc.paths (#7860) (52a1ee7)

  • (es/module) Don't resolve as node_modules from TscResolver (#7866) (11ebae1)

[1.3.79] - 2023-08-25

Bug Fixes

  • (es) Fix default value of jsc.minify.format.comments (#7853) (64e51d3)

  • (es/minifier) Don't inline properties if the var is not fn-local (#7839) (7fe01e6)

  • (es/minifier) Don't remove exports (#7856) (ae8cd94)

  • (es/module) Make jsc.paths work for a nest.js app (#7852) (d33a973)

Features

Refactor

  • (common) Mark some methods of Input unsafe (#7848) (c657324)

  • (es/helpers) Move packages for monorepo (#7833) (1ab406c)

  • (es/minifier) Pre-calculate reassigned (#7832) (65db1ba)

  • (es/types) Extract @swc/types as a small, reusable package (#7834) (f713f1b)

[1.3.78] - 2023-08-17

Bug Fixes

  • (es/codegen) Add quotes to property names when ascii_only is true (#7820) (04921f3)

  • (es/compat) Remove wrong logic for object patterns in object_rest (#7788) (3766a7c)

  • (es/minifier) Preserve cooked while compressing template literals (#7773) (05990a9)

  • (es/minifier) Abort seq inliner if var is not fn_local or reassigned (#7804) (f8ca366)

  • (es/minifier) Preserve more analysis data upon inlining (#7823) (31de19e)

Features

  • (es/module) Improve error message about relative jsc.baseUrl (#7827) (9099883)

Refactor

[1.3.77] - 2023-08-16

Bug Fixes

Features

Refactor

  • (es/parser) Don't attempt to handle shebangs in read_token_number_sign (#7803) (5e7834a)

[1.3.76] - 2023-08-10

Bug Fixes

  • (es/ast) Bump version (#7793) (13bedc0)

  • (es/minifier) Abort seq inliner if a same var is defined in outer scope (#7772) (ef8d121)

  • (es/minifier) Do not drop properties used via this (#7785) (552d9aa)

  • (es/module) Use jsc.baseUrl while resolving absolute paths (#7775) (5c4bfa6)

Features

Performance

  • (es/compat) Improve time complexity of class_properties (#7786) (76c6258)

[1.3.75] - 2023-08-08

Bug Fixes

  • (es/codegen) Don't strip necessary escape characters (#7687) (b45649b)

  • (es/compat) Fix loose mode of the spread pass (#7760) (b69ae8f)

  • (es/minifier) Abort on Array.slice with start >= end (#7745) (36ccbec)

  • (es/module) Fix handling of continuous assignments in systemjs (#7741) (f713f6a)

  • (es/utils) Ignore typeof Id while preserving side effects (#7763) (d57ac0d)

  • (plugin/runner) Use fs cache properly (#7748) (1122de7)

Features

  • (es) Alias format as output for minify() (#7746) (28dfc51)

Refactor

  • (es/ast) Avoid transmute in impl of Hash for Number (#7771) (2258274)

  • (es/minifier) Support stable rustc (#7734) (f7afe7e)

  • (es/parser) Do not use lexical (#7758) (e50cfde)

  • (es/parser) Do not validate top-level await with target (#7774) (5f97f86)

[1.3.74] - 2023-08-02

Bug Fixes

[1.3.73] - 2023-08-01

Bug Fixes

  • (es/minifier) Handle synthesized export default expression (#7707) (5ea6f27)

  • (es/utils) Fix string evaluation of array literals (#7731) (e8c58cf)

Features

  • (es/preset-env) Update builtin definitions for core-js imports (#7715) (b4f3332)

Testing

  • (es/compat) Add a test for optional chaining with loose mode (#7726) (216c4f1)

[1.3.72] - 2023-07-28

Bug Fixes

  • (es/compat) Fix handling of private members in optional chaining pass (#7610) (7ba7b6e)

  • (es/minifier) Do not drop used properties (#7702) (f901b41)

  • (es/module) Do not determine module name for modules without exports in UMD (#7718) (40136f7)

Features

  • (es) Add a validation for a wrong config (#7704) (900701f)

  • (swc_core) Expose visit/serde as serde feature (#7722) (2bc9637)

Refactor

  • (es/parser) Make stacker an optional dependency (#7720) (864bdef)

[1.3.71] - 2023-07-25

Bug Fixes

  • (css/modules) Preserve attr selectors used with :global (#7670) (11b4679)

  • (es/minifier) Only cast global Infinity/undefined/NaN (#7684) (241c04a)

  • (es/minifier) Drop line comments starting with ! (#7689) (951138c)

  • (es/minifier) Abort seq inliner using visitor (#7699) (a26dbce)

  • (es/typescript) Fix handling of optional chaining (#7660) (c017874)

Features

Refactor

  • (es/minifier) Respect toplevel and module options (#7671) (9893bd2)

  • (es/minifier) Respect top-level when invoking IIFE (#7690) (bf72362)

[1.3.70] - 2023-07-18

Bug Fixes

  • (es/minifier) Fix a bug about eval of name mangler (#7615) (6be1f70)

  • (es/minifier) Do not reuse identifier used for import bindings (#7639) (a65be14)

  • (es/module) Skip CJS and AMD transformations for Script (#7661) (a2d0408)

Features

  • (es/minifier) Drop recursively used var declaration (#7649) (04b0f6d)

Testing

  • (es) Add a test for a unreproducible issue (#7656) (c0e4805)

  • (es/modules) Add a test for unreproducible issue (#7655) (7528de1)

Buiild

[1.3.69] - 2023-07-13

Bug Fixes

  • (es/compat) Visit children of while statement in the generator pass (#7624) (d2ac2c1)

  • (es/compat) Fix loose mode of the spread pass (#7608) (a7daa5b)

  • (es/minifier) Don't drop unused properties of top-level vars (#7638) (19ba714)

Features

Miscellaneous Tasks

  • (es/parser) Scope use of lexical to certain features (#7644) (a961090)

Refactor

  • (bindings/node) Remove unused babelify type (#7625) (73c7769)

Build

[1.3.68] - 2023-07-05

Bug Fixes

  • (css/modules) Fix :local and :global (#7600) (f0ab5b3)

  • (es/compat) Visit transformed expression in optional chaining pass (#7614) (c087c82)

  • (es/fixer) Don't change default decls to default expr exports (#7585) (e272545)

  • (es/minifier) Add usage to inlined ident eagerly (#7597) (4f866de)

  • (es/parser) Re-lex << as two <-s if required (#7439) (6850372)

  • (plugin/runner) Disable wasi env cleanup (#7607) (8209594)

  • (xml/codegen) Fix wrong minification of spaces in a self-closing tag (#7595) (769d651)

Features

  • (es/compat) Implement transform for explicit resource management (#7376) (bcd5a1d)

  • (es/minifier) Drop unused properties (#7534) (47d2edd)

  • (es/minifier) Compress common sub expressions in sequences (#7587) (ff1ad95)

  • (es/optimization) Support default imports for const modules (#7604) (ac02b84)

Refactor

  • (es/compat) Remove usage of box_patterns (#7613) (0a26066)