swc_ecma_codegen:
- Fix source map of string literals. (#2253)
swc_ecma_transforms_typescript:
- Allow using same name for a module with function. (#2243)
swc_ecma_parser:
- Don't panic on `typeof import(T)`. (#2198)
- Fix parsing of ternary. (#2196)
swc_ecma_transforms_base:
- `fixer`: Handle unary in lhs of an exponentation expression. (#2191)
swc_ecma_transforms_compat:
- Use variable for `this` in arrow expressions. (#2212)
swc_ecma_visit:
- Add a trait `InjectVars`.
node_swc:
- Increease recursion limit while deserializing. (#2223)
swc_ecma_codegen:
- Don't panic on `Pat::Invalid`.
- Fix codegen of unary minus. (#2213)
swc_ecma_minifier:
- Remove identifier of function expressions if a variable with same name exists.
- `sequences`: Merge into the argument of a throw statement.
- Use `ignore_return_value` for `void` expressions.
- Improve inlining.
- Drop last `return` if the return value is not used.
- `sequences`: Merge `c++; use(c)` as `use(++c)`.
- `sequences`: Merge assignments with an operator.
- `comparisons`: Optimize the comparison operator if type is equivalent.
- Fix `negate_cost`.
- `unused`: Fix order or variable initalizer when variables are dropped.
- Fix `top_retain` option.
- `if_return`: Don't merge nested if it's wrong to do so. (#2214)
- Fix negation of `if_return`.
swc_ecma_codegen:
- Use span for `await` token.
- Use span for debugger statements.
- Use span for object literals.
- Use span for object patterns.
- Use span for array literals.
- Use span for `try`.
- Use span for `for`.
- Use span for `return`.
- Use span for `break`.
- Use span for `continue`.
- Use span for `this`.
- Use span for `switch`.
- Use span for `catch`.
- Use span for `case`.
- Use span for `function`.
- Use span for unary expressions.
swc_ecma_minifier:
- Normalize sequences expressions if the length is 1.
swc_common:
- Add `Span.has_mark`.
swc_ecma_codegen:
- Emit `1e3` for `1000`.
- Optimize output. (#1986)
swc_ecma_minifier:
- name mangler: Don't use keywords as an id.
- `properties`: Optimize member expression with string properties.
- `inline`: Inline some function expressions even if it's not fn-local.
- `analyzer`: Track reassignment correctly.
- `analyzer`: Track fn-local correctly.
- `sequences`: Inject `void` if required.
- `inline`: Inline function declarations correctly.
- `sequences`: Merge expressions into test of if statements.
- `sequences`: Reduce calls to an assigned variable.
- Use `Marks` instead of `&dyn Comments`.
swc_ecma_transforms_optimization:
- `expr_simplifier`: Fix infinite loops.
node/swc:
- Ensure that `.transform` performs minification. (#1989)
swc_common:
- `SourceMap`: Don't panic for dummy spans.
swc_ecma_codegen:
- Use span for `throw`. (#1685)
- Use span for `var` / `let` / `const`.
- Use span for `new`.
- Use span for `if`.
- Add spans to braces of a block statement. (#1796)
swc_ecma_transforms_compat:
- `parameters`: Don't drop the span of block statements. (#1796)
swc:
- Allow specifying input source map in `.swcrc`.
- Ensure that the inline source map works properly. (#1713)
swc_ecma_codegen:
- Implement more code generator for typescript ast nodes.
swc_ecma_transforms_base:
- Mark LHS of typescript import equals as a variable instead of a type.
swc_ecma_codegen:
- Fix codegen of `-0.0`.
swc_ecma_transforms_base:
- `fixer`: Handle tag of tagged template literals.
swc_ecma_minifier:
- Implement more rules for strings.
- Implement more rules for teplate literals.
- Implement more rules for comparisons.
- Implement more rules for destructuring bindings.
- Implement more rules for switch statements.
- Implement more rules for expressions.
swc_ecma_codegen:
- Fix codegen of `\r\n` in template literals when targeting `es2020`. (denoland/deno#10282)
swc_ecma_parser:
- Support non-identifier getters in typescript. (#1708)
swc_ecma_transforms_typescript:
- Skip `export {}` if it was not a module. (#1706)
- Skip `export {}` if the result is module without it. (#1706)
swc_bundler:
- Ensure that denoland/deno#10141 is fixed.
- Run deno tests on ci.
- Support nested `export *`. (denoland/deno#10153, denoland/deno#10174)
swc_ecma_codegen:
- Remove `,` after rest elements. (#1573, denoland/deno#10167)
swc_ecma_transforms_optimization:
- Don't drop items used by the discriminant of a switch.
swc_ecma_transforms_typescript:
- Remove constructors without a body.