Commit Graph

53 Commits

Author SHA1 Message Date
Donny/강동윤
90aa6c8318
fix(es/react): Allow spread children (#6505)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/2037.
2022-11-24 15:21:51 +00:00
Donny/강동윤
e6b1dd4731
feat(es/testing): Add an option to test sourcemap (#6079) 2022-10-07 05:52:22 +00:00
Donny/강동윤
1a182ef8d9
perf(es): Optimize memory layout of AST (#5829) 2022-09-20 12:47:21 +09:00
Donny/강동윤
1085667049
perf(es/minifier): Enable parallel processing (#5705) 2022-09-01 13:36:30 +09:00
Alex Kirszenberg
14606d9222
feat(es/react): Add VisitMut bound to the return type of react preset (#5499) 2022-08-17 17:34:32 +09:00
Donny/강동윤
3eb1f4b2b1
chore(ci): Fix lints (#5462) 2022-08-12 13:13:35 +00:00
Donny/강동윤
037a53d5d1
perf(es/ast): Use Atom in some places (#5271) 2022-07-22 20:09:25 +09:00
Austaras
375774d31e
fix(es): Check the syntax context of arguments (#5174) 2022-07-13 10:29:03 +00:00
magic-akari
cc555ef225
fix(es/react): Don't panic on invalid react pragma (#5101) 2022-07-04 11:55:08 +00:00
magic-akari
4d5783d9cd
feat(es/modules): Add pure annotations to interop functions (#5087) 2022-07-03 05:54:07 +00:00
magic-akari
9e162dcbae
fix(es/modules): Improve compatibility with cjs lexer (#5080) 2022-07-01 08:37:04 +00:00
magic-akari
fa68cbd74a
refactor(es/module): Implement new module transformer (#4758) 2022-06-27 12:32:06 +00:00
Donny/강동윤
36d960c7e9
perf(es/hygiene): Make hygiene faster (#4952) 2022-06-15 14:36:57 +00:00
LongYinan
db9f7a5ad4
chore(ci): Fix publish build on Windows (#4970) 2022-06-14 15:58:10 +00:00
Donny/강동윤
3e03ebf8bb
fix(es/parser): Don't assume the length of char (#4967) 2022-06-14 07:05:35 +00:00
Donny/강동윤
35c93be60f
perf(es/transforms): Make transforms parallel (#4939) 2022-06-11 07:42:43 +00:00
OJ Kwon
6bc33cb042
feat(es/codegen): Support other source map implementations (#4879) 2022-06-05 14:40:55 +00:00
Donny/강동윤
a487fc1d28
refactor(es/transforms): Remove concurrent (#4808) 2022-05-26 15:58:19 +00:00
Donny/강동윤
5f45a3d496
fix(es/react): Fix span of error messages (#4704) 2022-05-18 21:34:36 +00:00
Donny/강동윤
da49f810db
feat(es): Add check for BytePos::DUMMY (#4675) 2022-05-16 03:29:24 +00:00
Donny/강동윤
98e4845fce
build(repo): Update rustc (#4667) 2022-05-15 09:03:54 +00:00
Austaras
1150e842ed
refactor(es/react): Use proper ident scope for react refresh (#4649) 2022-05-15 03:51:25 +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
Donny/강동윤
53610fdafc
feat(es/resolver): Use different syntax context for unresolved refs (#4436)
- We don't need a list of bindings to check if an identifier is unresolved.
 - Checking if an identifier is unresolved is now one CPU instruction.
   - Previously it was one hashmap operation.
 - This PR also improves performance, by removing the hashmaps mentioned above.
2022-04-26 07:38:50 +00:00
Alexander Akait
f39d3aca4d
feat(es/ast): Add raw to Num (#4245) 2022-04-05 12:46:35 +00:00
Alexander Akait
634d732803
feat(es/ast): Add raw to Str (#4071) 2022-03-22 07:54:08 +00:00
Donny/강동윤
bb08354950
fix(es/react): Fix _createElement (#4070) 2022-03-17 22:13:23 +00:00
Donny/강동윤
3d43a9b69d
feat(es/testing): Print comments in test_fixture (#3920) 2022-03-09 02:54:27 +00:00
Donny/강동윤
b485b5a1d5
fix(es/react): Fix logic for extracting refresh comments (#3796) 2022-03-01 05:58:40 +00:00
OJ Kwon
5ae907f6f2
fix(es/react): Catch refresh directives widely (#3791) 2022-03-01 04:26:37 +00:00
Donny/강동윤
47ccff8a7c
feat(es/parser): Provide more api for reducing binary size (#3747) 2022-02-26 09:29:05 +09:00
Donny/강동윤
fd223793e8
refactor(es/transforms): Use recommended ast apis (#3735) 2022-02-25 06:50:19 +00:00
Donny/강동윤
135acf3b42
refactor(es): Improve ast apis (#3690) 2022-02-23 05:37:07 +00:00
Austaras
0f7a99787f
feat(es/compat): Add loose mode for classes (#3474) 2022-02-15 04:02:08 +00: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
LongYinan
9608605772
build(node-swc): Fix GLIBC < 2.18 compatible issues and android arm binary loading issue (#3314) 2022-01-20 02:21:24 +00:00
Austaras
9e636c7e58
refactor(es): Add visit_obj_and_computed macro (#3304) 2022-01-19 23:11:52 +09:00
Donny/강동윤
9dd0647e3a
feat(es/ast): Improve AST api for plugin authors (#3281)
swc_ecma_ast:
 - Improve API for AST creation.
2022-01-16 16:56:41 +09:00
Donny/강동윤
e8670b3383
refactor(es): More fix for clippy (#3280) 2022-01-16 14:33:06 +09:00
Donny/강동윤
88a258a5fb
fix(es/react): Fix createElement (#3277)
swc_ecma_transforms_react:
 - Fix arguments passed to `_createElement`. (https://github.com/vercel/next.js/issues/33291)
2022-01-15 21:55:58 +09:00
Donny/강동윤
2690742db0
refactor(es/transforms): Cleanup (#3273) 2022-01-15 15:36:40 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy (#3250) 2022-01-13 23:06:11 +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
Sosuke Suzuki
07c0489575
feat(es/ast): Add ModuleExportName (#3048)
swc_ecma_ast:
 - Allow using string as import/export specifiers.
2022-01-03 08:44:11 +00:00
Austaras
f8f04e031e
refactor(es/react/fast-refresh): Use VisitMut (#3129) 2021-12-28 22:26:59 +09:00
Shinobu Hayashi
ed704c906f
fix(es/react): Implement proper development handling (#2741) 2021-12-10 09:19:03 +00: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/강동윤
1ea965cecb
fix(es/parser): Drop outdated options (#2974)
swc_ecma_parser:
 - Drop flags in `EsConfig`.
 - Drop flags in `TsConfig`.
 - Drop unused variants from `SyntaxError`.
2021-12-05 17:33:34 +09:00