Commit Graph

252 Commits

Author SHA1 Message Date
Pig Fang
ea466afdc8
fix(es/parser): Make parsing of TS InstantiationExpr more permissive (#4332) 2022-04-15 14:16:31 +00:00
Donny/강동윤
7599fe7431
fix(es/parser): Enable static blocks by default (#4334) 2022-04-15 07:31:41 +00:00
Pig Fang
37aec5b199
refactor(es/parser): Simplify logic (#4329) 2022-04-14 09:50:54 +09:00
Pig Fang
1c3d1af01c
feat(es/parser): Support extends clause to infer type (#4326) 2022-04-13 19:16:15 +00:00
magic-akari
d0de5a63a0
feat(es): Support typeof with private fields (#4302) 2022-04-11 20:02:51 +00:00
那里好脏不可以
37a8c90750
chore(*): Typo + fomatting (#4304) 2022-04-11 18:45:58 +00:00
Hannes Bornö
674275c824
feat(es/parser): Report more errors (#4244) 2022-04-07 03:43:10 +00:00
William Tetlow
b89937c3c0
fix(es/parser): Adjust context in a function block (#4264) 2022-04-07 12:15:59 +09:00
Alexander Akait
f39d3aca4d
feat(es/ast): Add raw to Num (#4245) 2022-04-05 12:46:35 +00:00
magic-akari
6d380ea6fa
fix(es/parser): Support error reporting for TS1274 (#4232) 2022-04-03 23:09:36 +09:00
Alexander Akait
e91f271873
feat(es/ast): Add raw to BigInt (#4218) 2022-04-02 06:04:14 +00:00
Donny/강동윤
164556290b
perf(es/parser): Improve performance by using #[cold] (#4215) 2022-04-01 06:20:29 +00:00
William Tetlow
99a0d34a1e
fix(es/parser): Fix parsing of an arrow and a conditional expression (#4199) 2022-03-30 22:01:31 +00:00
David Sherret
cffe5ca58e
feat(es/parser): Allow parsing files with missing close braces (#4187) 2022-03-30 20:31:24 +00:00
Alexander Akait
fcf67c4570
fix(es): Consume surrogate pairs (#4115) 2022-03-28 12:18:06 +00:00
Hannes Bornö
cd7112b18b
feat(es/parser): Report more errors for invalid patterns (#4145) 2022-03-24 11:15:28 +00:00
magic-akari
f5ce79a72c
fix(es/parser): Fix logic for consuming ts modifiers (#4137) 2022-03-24 04:20:53 +00:00
William Tetlow
ab4ea9f0cb
fix(es/parser): Allow arrows without parenthesized param in typescript (#4138) 2022-03-23 22:31:19 +00:00
magic-akari
bf1924d1a8
feat(es/typescript): Support optional variance annotations (#4008) 2022-03-23 14:36:37 +00:00
Alexander Akait
634d732803
feat(es/ast): Add raw to Str (#4071) 2022-03-22 07:54:08 +00:00
Austaras
9a8fc2776e
fix(es/parser): Make let a reserved word in strict mode (#4113) 2022-03-22 04:52:10 +00:00
Hannes Bornö
d38117d4cb
fix(es/parser): Allow parentheses in assignment target (#4105) 2022-03-20 11:56:22 +00:00
Donny/강동윤
b31ead5cbe chore: Fix CI 2022-03-20 15:25:35 +09:00
Donny/강동윤
ffcb6ce523
fix(es/parser): Allow nested ambient context in .d.ts files (#4060) 2022-03-17 06:56:26 +00:00
Austaras
bbe8f3d8fe
fix(es/ast): Revert removal of definite in PrivateProp (#4051) 2022-03-17 05:33:37 +00:00
Austaras
120d2a534e
fix(es/parser): Emit an error for multiple constructors with body (#4031) 2022-03-15 16:18:19 +00:00
Lennart
25e5ccc548
fix(es/parser): Allow building with stable rustc (#4024) 2022-03-15 19:58:29 +09:00
Sahil mobaidin
f8d6127dd1
fix(es/parser): Report an error if LeftHandSideExpression is invalid (#4001) 2022-03-15 14:24:19 +09:00
Donny/강동윤
40b8a4e596
feat(common): Implement a pretty error reporter (#3946) 2022-03-13 19:07:18 +00:00
Donny/강동윤
6a6c32203b
chore(es/parser): Add some inline attributes (#3969) 2022-03-11 16:29:05 +00:00
LongYinan
1206c84e19
feat(*): Update dependencies (#3964) 2022-03-11 23:00:55 +09:00
Donny/강동윤
76e646804a
fix(es/parser): Parse if-else chain iteratively (#3961) 2022-03-11 09:10:54 +00:00
Donny/강동윤
4b4aef3270
fix(es/parser): Fix the logic for token contexts (#3926) 2022-03-09 12:53:47 +00:00
Donny/강동윤
a8ac7e39b0
feat(es/parser): Relax MSRV requirement (#3922) 2022-03-09 04:44:22 +00:00
Austaras
16182d586f
feat(es/parser): Report errors for non-abstract members in an abstract class (#3917) 2022-03-08 07:38:12 +00:00
Donny/강동윤
43878137e7
perf(es/parser): Improve performance by adjusting inlining (#3902) 2022-03-07 17:00:25 +00:00
Donny/강동윤
aea59b844c
fix(es/parser): Fix parsing of const in ambient context (#3883) 2022-03-06 14:33:14 +00:00
magic-akari
f7571630ca
fix(es/parser): Allow await in non-strict mode (#3871) 2022-03-05 19:52:45 +00:00
Austaras
26abc6ba7e
refactor(es/ast): Remove useless fields in private property (#3868) 2022-03-05 23:51:04 +09:00
Donny/강동윤
44262508c6
fix(es/parser): Use unicode id instead of xid (#3867) 2022-03-05 12:24:45 +00:00
Satish Srinivasan
2aa3b2123f
feat(es/parser): Raise a syntax error on an invalid shorthand assignment (#3734) 2022-03-01 12:24:41 +00:00
Donny/강동윤
e3c374b53b
feat(es/quote): Support variables (#3774) 2022-02-28 10:44:06 +00:00
Donny/강동윤
fe0ddcc54b
feat(es/quote): Implement quasi quoter partially (#3155) 2022-02-27 13:21:38 +00:00
William Tetlow
abc0572557
fix(es/parser) Throw a syntax error for const without initializer in strict mode (#3742)
Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2022-02-27 06:25:05 +00:00
Donny/강동윤
47ccff8a7c
feat(es/parser): Provide more api for reducing binary size (#3747) 2022-02-26 09:29:05 +09:00
William Tetlow
342dccce47
fix(es/parser): Handle trailing comma and bracket after an arrow function in conditional (#3685) 2022-02-25 12:50:04 +00:00
Austaras
05de029cfa
fix(es/compat): Fix handling of private getters and setters (#3695) 2022-02-25 06:08:35 +00:00
Donny/강동윤
e21579d84e
perf(es/parser): Reduce usage of generics to reduce binary size (#3726) 2022-02-24 13:36:37 +00:00
Donny/강동윤
8b87bb4870
fix(es/parser): Don't attach comments to ; (#3720) 2022-02-24 07:23:53 +00:00
David Sherret
4318a2e73b
fix(es/parser): Fix the span of an export declaration containing a const enum (#3701) 2022-02-24 04:36:05 +00:00
Pig Fang
010fe048c2
fix(es/parser): Fix a typescript instantiation expression followed by EOF (#3699) 2022-02-23 15:48:17 +00:00
Pig Fang
d6522f3a37
fix(es/parser): Disallow using reserved words as an expression in typescript (#3697) 2022-02-23 14:57:01 +00:00
magic-akari
d499b8c14f
fix(es/parser): Allow Expr::TsInstantiation in extends clause (#3696) 2022-02-23 14:20:06 +00:00
Donny/강동윤
e35d73adf4
chore(clippy): Improve config (#3691) 2022-02-23 06:07:42 +00:00
Austaras
6a9d77808b
fix(es/parser): Emit an error for non-last rest element in an object pattern (#3675) 2022-02-23 13:08:46 +09:00
Donny/강동윤
68a155165b
fix(es/ast): Fix definition of Expr::TsInstantiation (#3657) 2022-02-21 13:03:11 +00:00
Austaras
2cb66ae075
refactor(es/ast): Change definition of optional chaining expressions (#3645) 2022-02-21 07:12:09 +00:00
Pig Fang
581b63cf36
fix(es/parser): Allow type arguments inside optional chaining (#3653) 2022-02-21 01:51:44 +00:00
Pig Fang
61e711c912
feat(es/ast): Support TypeScript Instantiation Expression (#3642) 2022-02-20 15:51:31 +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
Austaras
26565b1ae9
feat(es/parser): Disallow assignment to optional chaining expressions (#3483) 2022-02-08 12:51:26 +00:00
Donny/강동윤
8bf5cf4d03
chore(es): Fix clippy warnings (#3482) 2022-02-08 19:50:22 +09:00
Donny/강동윤
5a806c5b81
fix(es/parser): Fix parsing of decorators (#3449)
swc_ecma_parser:
 - Parse decorators using `parse_subscripts`.
2022-02-04 17:54:03 +09:00
RiESAEX
cc185f01cb
feat(es/parser): Add an option to allow super outside of class methods (#3427) 2022-02-04 13:21:16 +09: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
RiESAEX
6406b49df2
fix(es/parser): Throw an error when function body has use strict and paramaters is not simple (#3278) 2022-01-16 04:21:02 +09:00
Donny/강동윤
357a350390
refactor(*): Cleanup (#3274) 2022-01-15 16:43:34 +09:00
Donny/강동윤
15b604b6d6
refactor(*): Fix some clippy warnings (#3257) 2022-01-14 07:20:45 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy (#3250) 2022-01-13 23:06:11 +09:00
David Sherret
105cbc2017
fix(es/parser): Fix span of ComputedPropName (#3234) 2022-01-12 04:45:52 +09:00
Sosuke Suzuki
3fb76f64c4
feat(es/parser): Accept strings for import/exports (#3190) 2022-01-10 23:48:04 +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
432f877790
feat(es/ast): Use ModuleExportName for ExportNamespaceSpecifier (#3195) 2022-01-06 20:19:11 +09: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
Donny/강동윤
7a83c0cb57
perf(es/ast/serde): Make deserialization faster (#3160)
ast_node:
 - Improve deserialization of enums.

swc_css_ast:
 - Fix a compilation issue.

swc_ecma_ast:
 - Update `serde`.

swc_ecma_parser:
 - Fix a compilation issue.

swc_estree_ast:
 - Fix serialization.
2022-01-02 12:49:09 +09:00
Jim Berlage
a4e8e53c19
test(es/parser): Add tests about null escape (#3147) 2021-12-30 08:54:10 +00:00
Andreu Botella
2f3ca22ecf
fix(es/parser): Support import assertions in specifier-less imports (#3134) 2021-12-28 14:00:00 +00:00
Sosuke Suzuki
f1a28329cb
feat(es/parser): Report an error for export type * from "mod"; (#3064) 2021-12-19 05:02:36 +09:00
Donny/강동윤
b4d95b44a7
perf(es/parser): Improve performance (#3059)
swc_common:
 - Optimize `StringInput`.

swc_ecma_parser:
 - Optimize `skip_space`.
 - Remove useless `.clone()`.
2021-12-19 00:18:00 +09:00
asterite3
0c813ae453
fix(es/lexer): Fix lexing of numbers with large exponent (#3061)
swc_ecma_parser:
 - Fix lexing of numbers where exponents are large enough to be parsed as `Infinity`. (Closes #3060)
2021-12-18 23:14:36 +09:00
Donny/강동윤
61e9b5f841
fix(es/lexer): Don't report lexer errors while backtracking (#3051)
swc_ecma_parser:
 - Share backtracking state with the lexer.
 - Don't report lexing errors while backtracking (Closes #2896)
2021-12-16 19:57:19 +09:00
magic-akari
23a59db9bb
fix(es/parser): Allow assignment assertions in typescript classes (#3047) 2021-12-16 15:30:34 +09:00
Austaras
38955c0c8d
refactor(es/ast): Change type or the key of ClassProp to PropName (#3038) 2021-12-15 16:21:30 +09:00
Donny/강동윤
7236a2213e
refactor(es/parser): Make some verification logic optional (#3024)
swc_ecma_parser:
 - Make dependency on `swc_ecma_visit` optional.
2021-12-13 11:39:17 +09:00
Sosuke Suzuki
b4c210d1d9
fix(es/parser): Allow trailing comma in dynamic imports if import assertion is enabled (#3018) 2021-12-13 05:42:19 +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/강동윤
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
David Sherret
97df4cef80
refactor(es/parser): Remove import_assertions from TsConfig (#2950) 2021-12-05 05:43:41 +00:00
RiESAEX
d8c8641e59 fix(es/parser, es/compat): transform tagged template with invalid escape sequence (#2939)
swc_ecma_parser:
 - Preserve more data for invalid escapes in template literals.

swc_ecma_transforms_compat:
 - Fix handling of template literals. (Closes #2674)
2021-12-02 15:49:45 +09:00
such0624
c186aa443a
fix(es/parser): Fix parser (#2903)
swc_ecma_parser:
 - Fix `skip_ts_parameter_start`. (Closes #2160)
2021-11-29 07:46:14 +00:00
Donny/강동윤
f5af22ef71
chore: Document features (#2890) 2021-11-27 16:55:42 +09:00
David Sherret
b853d4ac95
feat(es/parser): Implement more error recovery (#2874)
swc_ecma_parser:
 - Recover from unterminated string literals.
2021-11-25 23:12:40 +00:00
RiESAEX
cf777c5ba1
fix(es/lexer): Fix lexing of hexadecimal escape sequences (#2838) 2021-11-24 05:26:38 +00:00
Donny/강동윤
79ba13cbb5
fix(es/parser): Fix comments of empty modules (#2828)
swc_ecma_parser:
 - Use correct span for storing comments when module is empty.
2021-11-22 01:02:28 +09:00
Donny/강동윤
9525ea178f
fix(es/parser): Fix span of empty modules (#2827)
swc_ecma_parser:
 - Don't use dummy span for empty modules.
2021-11-21 23:42:36 +09:00
David Sherret
338b8fd98e
fix(es/parser): Fix span of named export (#2813)
swc_ecma_parser:
- Include semicolon in span of a named export.
2021-11-20 15:52:08 +09:00
RiESAEX
1caa61a182
fix(es/parser): Allow static/declare to be optional class property name (#2782) 2021-11-18 06:46:07 +00:00
Max Graey
1bb2c687c0
refactor(es/parser): Simplify skip_line_comment (#2768) 2021-11-17 13:49:43 +09:00
Donny/강동윤
2462b9941f
refactor: Cleanup (#2749) 2021-11-15 15:24:25 +09:00
RiESAEX
6e10168207
fix(es/parser): Check for more typescript class names (#2732)
swc_ecma_parser:
 - Check for more invalid typescript class names. (Closes #1218)
2021-11-12 21:26:37 +09:00
RiESAEX
11d1fa56c0
fix(es/lexer): Fix handling of jsx escapes (#2723)
swc_ecma_parser:
 - Remove logic for unescaping jsx escapes. (Closes #2162)
2021-11-11 14:37:21 +00:00
Donny/강동윤
2b2f6955f2
refactor: Flatten ecmascript (#2708) 2021-11-10 19:00:54 +09:00