swc_ecma_ast:
- Implement `Take` for `Function`.
- Implement `Take` for `FnExpr`.
- Implement `Take` for `ClassExpr`.
swc_ecma_transforms_compat:
- Migrate `es2015::duplicate_keys` to `VisitMut`.
- Migrate `es2015::template_literals` to `VisitMut`.
- Migrate `es2015::function_name` to `VisitMut`.
- Add more fast-path to `reserved_words` pass.
swc_ecma_transforms_react:
- Reduce allocations of `pure_annotations`.
- Migrate `pure_annotations` to `VisitMut`.
- Migrate `jsx::display_name` to `VisitMut`.
swc_ecma_transforms_optimization:
- Migrate `inline_globals` to `VisitMut`.
- `inline_globals`: Use `Lrc<FxHashMap<K, V>>`.
swc:
- Cache `current_dir()`.
- `ModuleConfig::build`: cacnonicalize only if `paths` is used.
swc_ecma_transforms_compat:
- Fix `this` in class properties. (#2228)
swc_ecma_transforms_typescript:
- Handle `import =` correctly. (#2234)
- Ensure that #1653 is not the case anymore. (#1653)
swc:
- Ensure that #2232 is not the case. (#2232)
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_parser:
- Fix panic from span assertion. (#2040)
swc_ecma_transforms_compat:
- Fix handling of `await for`. (#1918)
swc_ecma_transforms_base:
- Allow using decorator metadata even if `reflect-metadata` is not imported. (#1362)
swc_ecma_transforms_base:
- `resolver`: Handle constructor properties correctly. (#2021)
swc_ecma_transforms_compat:
- `block_scoping`: Handle arrows in loops. (#2027)
- `block_scoping`: Handle nested for loops with function between them. (#2027)
- `regenerator`: Handle rhs of `||` correctly. (#2024)
swc:
- Add a test for #1734. (#1734)
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)