Commit Graph

374 Commits

Author SHA1 Message Date
Donny/강동윤
54982d4d72 chore: Publish crates 2022-07-19 11:38:23 +09:00
Donny/강동윤
df050df38b chore: Publish crates 2022-07-16 23:35:18 +09:00
Austaras
375774d31e
fix(es): Check the syntax context of arguments (#5174) 2022-07-13 10:29:03 +00:00
Donny/강동윤
b433b69263 chore: Publish crates 2022-07-12 23:58:30 +09:00
SWC Bot
2bd5b4413a chore: Publish crates 2022-07-09 10:17:04 +00:00
SWC Bot
297228a690 chore: Publish crates 2022-07-07 07:48:49 +00:00
SWC Bot
9385103649 chore: Publish crates 2022-07-06 04:44:10 +00:00
SWC Bot
f5447cd1b1 chore: Publish crates 2022-07-02 03:53:10 +00:00
magic-akari
de66b64aed
fix(es/compat): Preserve spans in object_rest_spread (#5082) 2022-07-02 03:50:30 +00:00
Donny/강동윤
c2c923e205 chore: Publish crates 2022-07-01 11:50:45 +09:00
SWC Bot
73874486b2 chore: Publish crates 2022-06-29 11:05:08 +00:00
SWC Bot
5576c3c601 chore: Publish crates 2022-06-29 03:37:57 +00:00
magic-akari
fa68cbd74a
refactor(es/module): Implement new module transformer (#4758) 2022-06-27 12:32:06 +00:00
LongYinan
db9f7a5ad4
chore(ci): Fix publish build on Windows (#4970) 2022-06-14 15:58:10 +00:00
LongYinan
35806385ea
perf(es/minifier): Make more things parallel and reduce call stacks (#4915) 2022-06-14 05:03:09 +09:00
SWC Bot
0067d0abe4 chore: Publish crates 2022-06-11 05:29:53 +00:00
magic-akari
594089488b
feat(es/minifier): Drop new token if possible (#4932) 2022-06-11 05:27:13 +00:00
SWC Bot
5b5945ad95 chore: Publish crates 2022-06-08 05:03:14 +00:00
Donny/강동윤
814f72f224
fix(es/decorators): Fix syntax context of decorated classes (#4905) 2022-06-08 05:00:22 +00:00
Donny/강동윤
eb0acc3859 chore: Publish crates 2022-06-06 04:54:19 +09:00
SWC Bot
098115573d chore: Publish crates 2022-06-05 05:54:57 +00:00
Austaras
83ae6a1f1f
feat(es/minifier): Remove extra parens in BinExpr (#4878) 2022-06-05 05:52:22 +00:00
Donny/강동윤
a487fc1d28
refactor(es/transforms): Remove concurrent (#4808) 2022-05-26 15:58:19 +00:00
SWC Bot
4f8484add0 chore: Publish crates 2022-05-23 13:07:01 +00:00
Donny/강동윤
e4dee1ed33
fix(es/minifier): Consider parameters while detecting pure calls (#4748) 2022-05-23 13:04:11 +00:00
SWC Bot
97808349a2 chore: Publish crates 2022-05-11 16:17:07 +00:00
SWC Bot
90569d4673 chore: Publish crates 2022-05-11 04:38:52 +00: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
Donny/강동윤
ad6b71150e chore: Publish crates 2022-05-10 00:08:15 +09:00
Austaras
b3b6fd448c
feat(es/minifier): Remove duplicate control flow in nested blocks (#4569) 2022-05-08 13:07:58 +09:00
SWC Bot
e4ce388632 chore: Publish crates 2022-05-06 04:10:39 +00:00
SWC Bot
7d23492b16 chore: Publish crates 2022-04-21 10:02:50 +00:00
Austaras
8cf3ddda6c
feat(es/minifier): Improve handling of switches (#4260) 2022-04-21 10:00:25 +00:00
OJ Kwon
8419b60430
fix(plugin): Align deps to fix build (#4377) 2022-04-20 08:05:02 +00:00
SWC Bot
995b4367cc chore: Publish crates 2022-04-15 07:39:50 +00:00
SWC Bot
1a752de78e chore: Publish crates 2022-04-14 06:03:03 +00:00
Donny/강동윤
8886a4b572
fix(es/minifier): Respect dead_code (#4328) 2022-04-14 06:00:43 +00:00
SWC Bot
fa880634bd chore: Publish crates 2022-04-11 20:05:28 +00:00
那里好脏不可以
37a8c90750
chore(*): Typo + fomatting (#4304) 2022-04-11 18:45:58 +00:00
SWC Bot
1211a34618 chore: Publish crates 2022-04-08 06:31:07 +00:00
Austaras
720244fff9
fix(es/module): Support top-level await in dynamic imports (#4277) 2022-04-08 15:28:10 +09:00
OJ Kwon
fad652f879
chore(plugin): Align version of swc_common to include dummy comment api (#4270) 2022-04-07 07:21:37 +00:00
SWC Bot
5eb3d8315a chore: Publish crates 2022-04-05 12:49:22 +00:00
Alexander Akait
f39d3aca4d
feat(es/ast): Add raw to Num (#4245) 2022-04-05 12:46:35 +00:00
OJ Kwon
4093814895
chore(build): Dedup swc_common (#4247) 2022-04-05 14:28:07 +09:00
Donny/강동윤
1f466e1d2f
chore(ci): Fix benchmark action (#4242) 2022-04-04 20:12:03 +09:00
SWC Bot
3337777f8c chore: Publish crates 2022-04-02 06:06:39 +00:00
SWC Bot
6125de9808 chore: Publish crates 2022-03-28 12:20:51 +00:00
Donny/강동윤
e6088408bf chore: Publish crates 2022-03-24 12:05:47 +09:00
SWC Bot
77722c4943 chore: Publish crates 2022-03-22 08:03:01 +00:00
Alexander Akait
634d732803
feat(es/ast): Add raw to Str (#4071) 2022-03-22 07:54:08 +00:00
SWC Bot
4d6d766cf8 chore: Publish crates 2022-03-17 05:36:01 +00:00
LongYinan
db9b988845
feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
Donny/강동윤
38c0c0faa6 chore: Publish crates 2022-03-14 04:11:07 +09:00
Donny/강동윤
ddfa490899 chore: Publish crates 2022-03-12 10:00:23 +09:00
LongYinan
1206c84e19
feat(*): Update dependencies (#3964) 2022-03-11 23:00:55 +09:00
OJ Kwon
86ea23785d
perf(*): Update tracing to improve performance of disabled spans (#3932) 2022-03-10 03:15:49 +00:00
SWC Bot
fd453b9170 chore: Publish crates 2022-03-05 19:34:45 +00:00
magic-akari
c7f2bdb813
feat(es/compat): Implement loose mode for async_to_generator (#3870) 2022-03-05 19:32:59 +00:00
SWC Bot
2fdc5f625d chore: Publish crates 2022-03-05 14:52:49 +00:00
SWC Bot
4fe874dd77 chore: Publish crates 2022-02-26 15:11:21 +00:00
Austaras
14155eb0e7
feat(es/compat): Implement loose mode for class_properties (#3722) 2022-02-27 00:09:02 +09:00
OJ Kwon
a454996314
feat(node-swc): Add experimental trace support in @swc/core (#3731) 2022-02-25 04:06:45 +00:00
Donny/강동윤
135acf3b42
refactor(es): Improve ast apis (#3690) 2022-02-23 05:37:07 +00:00
SWC Bot
e4c674b9cb chore: Publish crates 2022-02-21 13:10:43 +00:00
Donny/강동윤
68a155165b
fix(es/ast): Fix definition of Expr::TsInstantiation (#3657) 2022-02-21 13:03:11 +00:00
SWC Bot
e08a2c2c17 chore: Publish crates 2022-02-21 07:15:09 +00:00
Austaras
2cb66ae075
refactor(es/ast): Change definition of optional chaining expressions (#3645) 2022-02-21 07:12:09 +00:00
SWC Bot
264f1cf8d6 chore: Publish crates 2022-02-20 15:53:48 +00:00
Pig Fang
61e711c912
feat(es/ast): Support TypeScript Instantiation Expression (#3642) 2022-02-20 15:51:31 +00:00
SWC Bot
a53420bda8 chore: Publish crates 2022-02-15 15:44:02 +09:00
Austaras
f67796a962
fix(es/utils): Keep arguments to super call (#3570) 2022-02-15 15:42:40 +09:00
OJ Kwon
ad6f24ad83
build(*): Dedupe once_cell (#3567) 2022-02-15 11:58:44 +09:00
SWC Bot
23544925e5 chore: Publish crates 2022-02-14 15:47:54 +09:00
Donny/강동윤
ac1d4058f2
fix(es/minifier): Fix analyzer (#3557)
swc_ecma_utils:
 - `collect_decls`: Support paramters of arrow expressions.

swc_ecma_minifier:
 - `analyzer`: Fix `has_property_mutation`.
2022-02-14 15:47:16 +09:00
Donny/강동윤
9b76783281
refactor(common): Cleanup & rustfmt (#3495)
swc_common:
 - Merge identical source codes.

swc_css_parser:
 - Deny `clippy::all`.
 - Fix lints.
2022-02-09 06:33:32 +00:00
Donny/강동윤
c2a3b0d66c chore: Publish crates 2022-02-09 00:47:41 +09:00
Donny/강동윤
19e7c70bd7 chore: Publish crates 2022-02-04 13:21:41 +09:00
Austaras
9e636c7e58
refactor(es): Add visit_obj_and_computed macro (#3304) 2022-01-19 23:11:52 +09:00
Donny
681de03e4b chore: Publish crates 2022-01-17 13:36:00 +09:00
Austaras
90a62bb215
refactor(es/utils): Merge the super field visitor with FnEnvHoister (#3279) 2022-01-17 13:35:32 +09:00
Donny/강동윤
357a350390
refactor(*): Cleanup (#3274) 2022-01-15 16:43:34 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy (#3250) 2022-01-13 23:06:11 +09:00
Donny
c13bba8401 chore: Publish crates 2022-01-12 18:39:56 +09:00
Donny
852ec783f3 chore: Publish crates 2022-01-10 22:57:17 +09:00
Austaras
f58b50bea7
refactor(es/ast): Change types of member-like expressions (#3178)
swc_ecma_ast:
 - Split `MemberExpr` into `MemberExpr` and `SuperPropExpr`.
 - Use `Box<Expr>` for `MemberExpr.obj`.
 - Use ad-hoc type for `MemberExpr.prop`.
 - Use ad-hoc type for `SuperPropExpr.prop`.
 - Use `Callee` instead of  `ExprOrSpread` for `CallExpr`.
 - Simplify types for meta property expressions.
2022-01-10 13:54:42 +00:00
Donny
db71f7a42d chore: Publish crates 2022-01-10 15:16:55 +09:00
Donny
0d4b671052 chore: Publish crates 2022-01-10 15:05:26 +09:00
magic-akari
5bee4e4902
refactor(es/compat): Preserve length of functions in async_generator (#3202) 2022-01-08 15:19:41 +00:00
Donny
6892f27ad7 chore: Publish crates 2022-01-06 20:19:36 +09:00
Donny
781aa79b82 chore: Publish crates 2022-01-04 19:29:50 +09:00
Donny
1e5bc88cd3 chore: Publish crates 2022-01-03 17:45:09 +09:00
Donny/강동윤
194b3e9b67
refactor(*): Use 2021 edition (#3151) 2021-12-30 18:59:18 +09:00
Donny
0cf8265f02 chore: Publish crates 2021-12-29 21:04:30 +09:00
Austaras
356082ad84
fix(es/utils): Fix handling of new.target (#3145) 2021-12-29 11:38:32 +00:00
OJ Kwon
72c963662d
refactor(*): Drop unused dependencies (#3138) 2021-12-29 15:27:51 +09:00
Donny/강동윤
43c8cda31a
fix(es/renamer): Fix renamer (#3139)
swc_ecma_transforms_base:
 - `resolver`: Ignore named export with source.
 - `hygiene`: Ignore named export with source. (Closes #2924, Closes #3114)

swc_ecma_minifier:
 - Handle `export default` declarations as declaration instead of expressions. (Closes #2717)
 - Don't override already-processed identifiers. (Closes #2988)

swc_bundler:
 - Adjust the syntax context for named re-exports.
2021-12-29 13:44:48 +09:00
Donny
b824baefe7 chore: Publish crates 2021-12-28 21:38:03 +09:00
Donny/강동윤
ec7e0aee25
fix(es/utils): Fix is_valid_ident (#3133)
swc_ecma_utils:
 - Fix `is_valid_ident`. (Closes #2118)
2021-12-28 21:37:38 +09:00
Donny
967f30d7d4 chore: Publish crates 2021-12-19 12:45:44 +09:00
magic-akari
ff1aab710c
fix(es/compat): Transform an optional eval call as an indirect eval call (#3068)
swc_ecma_transforms_compat:
 - `optional_chaining`: Handle optional `eval` calls properly. (Closes #2735)
2021-12-19 03:42:46 +00:00
Donny
9b36abbe75 chore: Publish crates 2021-12-15 16:22:00 +09:00
Donny/강동윤
8340a86fbb
refactor(es/ast): Move Id to swc_ecma_ast (#3004) 2021-12-10 23:36:43 +09:00
Donny
b1a47ee971 chore: Publish crates 2021-12-07 14:34:44 +09:00
Donny/강동윤
e48263b2f3
refactor(visit): Remove &dyn Node from Visit (#2984)
swc_visit_macros:
 - Remove `&dyn Node` from `Visit`.
 - Implement `VisitWith<V>` for `[T]`.
2021-12-07 14:34:16 +09:00
Donny/강동윤
f052a65bf3
fix(es/compat): Preserve constructor parameters (#2975)
swc_ecma_visit:
 - Add cargo feature `debug`.
 - Add more context for `tracing` when `debug` is enabled.

swc_ecma_utils:
 - Add some logging.

swc_ecma_transforms_compat:
 - Add some logging.
 - `destructuring`: Don't drop patterns. (Closes #2139)

testing:
 - Enable logging by default.
 - Configure logging for `Tester`.
2021-12-06 20:08:50 +09:00
Donny
acc45e7c36 chore: Publish crates 2021-12-05 17:34:04 +09:00
Donny
529f980693 chore: Publish crates 2021-12-05 15:44:50 +09:00
Donny
67dc0d3b94 chore: Publish crates 2021-12-02 10:08:22 +09:00
Austaras
1555ceb8a3
feat(es/transforms/compat): Add loose mode to parameters (#2911)
swc_ecma_utils:
 - Make `WrapperState` implement `Clone`.

swc_ecma_transforms_compat:
 - `paramters`: Fix handling of non-loose mode. (Closes #2800, Closes #2825)
2021-12-02 01:04:01 +00:00
Donny
86d2cebd37 chore: Publish v1.2.115 2021-12-01 14:20:52 +09:00
Donny
035b6d83da chore: Publish crates 2021-11-27 17:04:26 +09:00
Austaras
803787ab9e
fix(es/transforms/compat): Fix arrow (#2882)
swc_ecma_transforms_compat:
 - Handle arrow expressions in constructors of classes with a super class. (Closes #2811)
2021-11-27 06:46:02 +00:00
Donny/강동윤
28850eef5c
chore: Allow using #[doc(cfg)] (#2871) 2021-11-25 14:16:18 +09:00
Donny
d4ffce13b5 chore: Publish crates 2021-11-24 10:08:01 +09:00
Austaras
fbcbeb4892
refactor(es/transforms/compat): Lift this replacer out of arrow (#2812)
swc_ecma_utils:
 - Add `FunctionWrapper`, which tracks `this` and `arguments`.

swc_ecma_transforms_compat:
 - `arrow`: Use `FunctionWrapper` instead of tracking `this` by itself.
 - `async_to_generator`: Use `FunctionWrapper` instead of tracking `this` by itself.
2021-11-24 00:59:06 +00:00
Donny
51bee9bfd3 chore: Publish crates 2021-11-19 03:02:31 +09:00
David Sherret
02ffe8a289
fix(es/utils): Fix extract_var_ids (#2798)
swc_ecma_utils:
 - `extract_var_ids`: Handle assignment object pattern property.
2021-11-19 03:02:08 +09:00
Donny
88fe823e77 chore: Publish crates 2021-11-18 15:13:30 +09:00
Donny/강동윤
af420eab4b
fix(es/utils): Fix collect_decls (#2792)
swc_ecma_utils:
 - `collect_decls`: Handle assignment pattern property. (Closes #2785)
2021-11-18 15:05:26 +09:00
Donny/강동윤
2462b9941f
refactor: Cleanup (#2749) 2021-11-15 15:24:25 +09:00
Donny/강동윤
665c8e05fc
fix(es): Move TargetEnv to loader from ast (#2719)
swc_ecma_ast:
 - Move `TargetEnv` to `swc_ecma_loader`.

swc_ecma_loader:
 - Drop unused dependencies.
2021-11-11 20:00:46 +09:00
Donny/강동윤
2b2f6955f2
refactor: Flatten ecmascript (#2708) 2021-11-10 19:00:54 +09:00