swc_ecma_codegen:
- Use omit_trailing_semi in 'assert_min' tests, to identify bugs. Before this,
no code was using this method - and it had some serious bugs.
- Omit semicolons when writing punctuation, as it's permitted to do so.
- Use two macros ('semi', 'formatting_semi') to distinguish between required
semicolons, as used in for(...), and optional ones that are used between
statements.
This commit does not enforce the use of omit_trailing_semi when cfg.minify is
used (except in tests using assert_min), and as such should not modify the
behavior of existing apps. This is confirmed by the Test262 suite passing
without changes.
Co-authored-by: 강동윤 <kdy1@dudy.kr>
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_ecma_codegen:
- Fix codegen of `TsConstructorSignature`.
- Fix codegen of `TsIndexSignature`.
- Fix codegen of type parameters in arrow expressions.
- No panic on dummy span.
swc_ecma_parser:
- Parse optoinal method correctly.
swc_ecma_transforms:
- resolver: Handle type parameters in arrow expressions.
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.