swc_common:
- Use `Mutex` from `parking_lot` instead of it from std.
swc_bundler:
- Use `fxhash` if possible.
- Don't `clone()` all modules if the entry has only one item.
swc_ecma_loader:
- `NodeModulesResolver`: Use `path-clean` instead of `canonicalize`.
swc_ecma_transforms_optimization:
- Reimplement `dce`
node_bundler:
- Enable `concurrent` of `swc_bundler`.
swc_bundler:
- Fix cycle detection for complex circular imports. (denoland/deno#10752)
swc_ecma_transforms_typescript:
- Allow using large values for an enum variant.
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.
swc_ecma_utils:
- Use `&mut` for inject_after_super.
swc_ecma_transforms_typescript:
- Merge `typescript_class_properties` into `strip`.
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
swc_bundler:
- Create variables for export while preparing a module. (denoland/deno#9560)
- Fix order of statements.
- Invoke dce multiple time if required. (denoland/deno#9546)
swc_ecma_transforms_optimization:
- dce: Track modifications correctly.
swc_bundler:
- Improve performance
- Use `Vec<AHashSet<usize>>` instead of `AHashSet<(usize, usize)>`.
- Fix statement orderings. (denoland/deno#9464)
- Fix wrapped esm mixed with circular imports. (denoland/deno#8224)
- Store content of wrapped esm at top level. (denoland/deno#8224)
swc_bundler:
- Add a testing system for constant inliner.
swc_ecma_transforms_optimization:
- const_propagation: Handle export specifiers.
- const_propagation: Handle inlining of variables whose initializer is inlined.
- dce: Allow dropping identifiers used in `exported` part of export specifiers.
swc_bundler:
- Reduce binary size by reducing usage of visitor / folders.
- Handle `export *` and `export { default }` from same source. (denoland/deno#8530, denoland/deno#8679)
- Fix ordering of statements. (denoland/deno#8545)
- Sort statements in wrapped modules. (https://github.com/denoland/deno/issues/8211#issuecomment-741070299)
- Exclude default export while handling `export *`.
- Exclude `export { default }` and `export { foo as default }` while handling `export *`.
- Make statements from same module to be injected together. (denoland/deno#8620)
swc_ecma_transforms:
- fixer: Handle assignments in the callee of `new` correctly.
- fixer: Handle seqence expression in the callee of `new` correctly.
swc_bundler:
- Reduce level of logging.
- Handle export specifiers without alias. (denoland/deno#8573)
- Handle normal initialization while reordering statements. (denoland/deno#8574)
- Handle top level `await`s in wrapped modules. (denoland/deno#8584)
- Add benchmark for the bundler.
swc_bundler:
- Bundler rework. (denoland/deno#6802)
- Reexports are not transitive. (denoland/deno#8246)
- Dependencies of module with circular dependency. (denoland/deno#8302)
- Order of injection between import vs export. (denoland/deno#8302)
- `export *` in wrapped modules. (denoland/deno#8308, denoland/deno#8399)
- `export { a as b }` in wrapped modules.
- Fix denoland/deno#8314.
- Fix denoland/deno#8325.
- Fix denoland/deno#8344.
- Make deno test verify exported names.
- Handle `export * from './foo'`.
swc_ecma_parser:
- Don't panic on private name in interface (Closes#1211)
swc_ecma_transforms:
- dce: Prevent infinite loop
- Faster constant propagation pass.
swc_bundler:
- Fix importing from transitive dependencies with aliases.
- Fix stack overflow while computing plan for modules with cyclic dependencies.
- Handle `export *` for function / class properly. (#1155)