Commit Graph

191 Commits

Author SHA1 Message Date
magic-akari
aa8672e739
fix(es/compat): Fix generator (#5796)
**Description:**

- Merge `temp_vars` into `hoisted_vars`.
- Fix the context of the function call and new call.

**Related issue (if exists):**

 - https://github.com/vercel/next.js/issues/40399
2022-09-10 15:01:43 +09:00
Donny/강동윤
1085667049
perf(es/minifier): Enable parallel processing (#5705) 2022-09-01 13:36:30 +09:00
Donny/강동윤
edef5f868b
fix(es/compat): Don't move variables from object-rest pass (#5673) 2022-08-30 13:12:11 +00:00
Donny/강동윤
4820f0cbcc
fix(es/compat): Handle yield in block scoping pass (#5668) 2022-08-30 09:55:18 +00:00
magic-akari
d18ee54aef
fix(es/compat): Fix evaluation order of computed class keys (#5621) 2022-08-26 04:03:39 +00:00
Donny/강동윤
83fec33359
feat(es/generator): Use new generator implementation (#5627) 2022-08-25 16:10:47 +00:00
Donny/강동윤
927ae7e8d3
fix(es/compat): Revert generator reimplementation (#5624) 2022-08-25 17:58:37 +09:00
Donny/강동윤
2aa009018f
feat(es/generator): Replace generator implementation with one from tsc (#5173) 2022-08-25 04:50:00 +00:00
magic-akari
35d3558535
fix(es/compat): Handle super in a private method (#5613) 2022-08-25 00:19:41 +09:00
magic-akari
1181d0ffe2
fix(es/compat): Ignore invalid class method names (#5612) 2022-08-24 08:42:57 +00:00
magic-akari
bee26a9abb
fix(es/compat): Fix destructuring assignments and updates of super properties (#5576) 2022-08-22 00:42:50 +00:00
Austaras
b717a68199
fix(es/compat): Use separate SyntaxContext for class names (#5566) 2022-08-19 13:01:50 +00:00
magic-akari
f2c1164026
fix(es/compat): Handle async in class method parameters (#5560) 2022-08-19 06:49:34 +00:00
Donny/강동윤
b9933b159a
feat(es/compat): Fix syntax context of transpiled class methods (#5498) 2022-08-16 13:07:27 +00:00
OJ Kwon
4a3b4b27e2
refactor(es/compat): Respect MSRV (#5473) 2022-08-13 02:38:23 +00:00
Austaras
5a06271116
feat(es/compat): Add pure comments for generator and async transform (#5463) 2022-08-12 13:39:26 +00:00
Donny/강동윤
3eb1f4b2b1
chore(ci): Fix lints (#5462) 2022-08-12 13:13:35 +00:00
Austaras
b423d6f936
fix(es/compat): Fix capturing of block scoping pass (#5279) 2022-07-25 03:34:18 +00:00
Donny/강동윤
037a53d5d1
perf(es/ast): Use Atom in some places (#5271) 2022-07-22 20:09:25 +09:00
magic-akari
2010409bac
fix(es/compat): Preserve orders of imports and exports (#5249) 2022-07-20 06:57:43 +00:00
Austaras
375774d31e
fix(es): Check the syntax context of arguments (#5174) 2022-07-13 10:29:03 +00:00
Austaras
cd8d65b9a7
fix(es/compat): Remove extra this/arguments capture in arrows (#5152) 2022-07-08 06:27:15 +00:00
magic-akari
93513031b5
fix(es/compat): Optimize for-of loops for array literals (#5141) 2022-07-08 00:54:53 +00:00
Edwin Coronado
2d94797975
feat(es/parser): Support d in regex flag for es2022 (#5127) 2022-07-07 04:35:49 +00:00
magic-akari
dd39a798ae
fix(es/compat): Preserve more class names (#5106) 2022-07-06 05:18:40 +00:00
Austaras
adbb0bf8d8
fix(es/compat): Preserve class names (#5104) 2022-07-04 14:37:03 +00:00
magic-akari
de66b64aed
fix(es/compat): Preserve spans in object_rest_spread (#5082) 2022-07-02 03:50:30 +00:00
Austaras
18ea2b5770
fix(es/compat): Preserve this in function with block scoped vars (#5056) 2022-06-29 04:03:00 +00:00
Austaras
25bd520620
fix(es/compat): Handle classes with accessors and a method with the same name (#5039) 2022-06-28 05:36:22 +00:00
magic-akari
04fc1cb429
fix(es/compat): Fix name conflict of Array (#5034) 2022-06-25 04:55:59 +00:00
Donny/강동윤
36d960c7e9
perf(es/hygiene): Make hygiene faster (#4952) 2022-06-15 14:36:57 +00:00
Donny/강동윤
35c93be60f
perf(es/transforms): Make transforms parallel (#4939) 2022-06-11 07:42:43 +00:00
Donny/강동윤
f847709787
chore(common): Update rustc (#4828) 2022-05-28 07:07:58 +00:00
Donny/강동윤
dc911dcae6
feat(es/compat): Don't create vars for computed class methods if possible (#4805) 2022-05-27 05:12:57 +00:00
Donny/강동윤
a487fc1d28
refactor(es/transforms): Remove concurrent (#4808) 2022-05-26 15:58:19 +00:00
Austaras
573bcb5b49
fix(es/compat): Use define for non-spread props (#4754) 2022-05-26 20:32:41 +09:00
Shinobu Hayashi
a3e4c201de
fix(es/compat): Escape keywords in class method names (#4775) 2022-05-24 13:29:59 +00:00
Austaras
db1698e012
fix(es/compat): Handle nested break/continue in block_scoping (#4778) 2022-05-24 12:31:50 +00:00
Austaras
4f00914c1a
fix(es/compat): Handle nested for loops with break/continue (#4777) 2022-05-24 11:32:49 +00:00
Satish Srinivasan
8720f9a948
fix(es/compat): Fix span of instanceof (#4757) 2022-05-24 04:41:34 +00:00
magic-akari
100c0b58c9
fix(es/compat): Fix break in for await loop (#4705) 2022-05-18 22:06:48 +00:00
Donny/강동윤
3b2b8c4512
fix(es/config): Merge jsc.transform correctly (#4615) 2022-05-11 14:28:40 +09:00
Donny/강동윤
6a97c7bef8
fix(es/utils): Fix wrong apis (#4604)
# API Changes

## `swc_ecma_utils`

### Renames

 - `find_ids` => `find_pat_ids`
 - `prepend` => `prepend_stmt`
 - `as_bool` => `cast_to_bool`
 - `as_number` => `as_pure_number`
 - `as_string` => `cast_to_string`
 - (`as_pure_bool`, `cast_to_number` is not renamed)
 - `UsageFinder` => `IdentUsageFinder`.
 - `IdentFinder` => `IdentRefFinder`.

## Changes

 - Re-export of `HANDLER` from `swc_common::errors` is removed. Use `swc_common::error::HANDLER` instead.
 - Re-export of `Id` from `swc_ecma_ast` is removed. Use `swc_ecma_ast::Id` instead.
 - `ExprCtx` is used for apis related to `Expr`.
 - `preserve_effects` is now a method of `ExprCtx`. It was a top-level function.
 - `extract_side_effects_to` is now a method of `ExprCtx`. It was a top-level function.
 - `IdentUsageFinder` (previously `UsageFinder`) now takes `Id` instead of `Ident`.
 - `IdentRefFinder` (previously `IdentFinder`) now takes `Id` instead of `Ident`.
 - `ExprExt::is_ident_ref_to` is removed.
 - `Expr::is_global_ref_to` is added.
 - `:🆔:id` is removed. Use `Ident::to_id()` instead.
2022-05-11 04:36:22 +00:00
Donny/강동윤
2c861bd9e5
feat(es/ast): Improve Id APIs (#4614)
# API Changes

 - `Ident` now has `to_id()`. This method is added to allow removing an import.
2022-05-11 12:02:14 +09:00
Austaras
2e74787870
fix(es/compat): Memorize computed props in logical assignment (#4525) 2022-05-05 02:25:37 +00:00
Austaras
9e45882b84
fix(es/compat): Fix the position of inserted statements in class_properties (#4511) 2022-05-04 12:13:38 +09:00
Donny/강동윤
97e0e271d5
fix(es/compat): Revert a wrong patch about private properties 2022-05-04 12:13:07 +09:00
Austaras
c4b156ce1f
fix(es/compat): Visit default export in static_block (#4500) 2022-05-03 02:20:49 +00:00
magic-akari
1e1d081805
fix(es/compat): Support updating a private field with bigint value (#4136) 2022-05-02 13:34:46 +09:00
Satish Srinivasan
de53a6fa9d
feat(es/compat): Verify private property access (#4465) 2022-04-30 12:32:52 +00:00