Commit Graph

196 Commits

Author SHA1 Message Date
Pig Fang
857e798194
feat(es/parser): Reject private field called #constructor (#4491) 2022-04-30 12:56:55 +00:00
Pig Fang
393cfa84b6
fix(es/parser): Throw syntax error for missing function expr body (#4462) 2022-04-28 02:08:17 +00:00
Pig Fang
df7b3f611a
feat(es/parser): Reject indirect opt chain in assignment (#4447) 2022-04-27 03:07:57 +00:00
Pig Fang
465cc2f929
fix(es/parser): Fix top-level await with binary expr (#4426) 2022-04-25 23:10:59 +00:00
Pig Fang
6dc64c9ca0
feat(es/parser): Reject 'use strict' with non-simple params list in TS (#4416) 2022-04-24 03:04:38 +00:00
Pig Fang
da02c9dc50
feat(es/parser): Reject invalid new.target (#4406) 2022-04-23 14:45:11 +00:00
Pig Fang
c96e32243c
feat(es/parser): Reject invalid regex flags (#4404) 2022-04-23 05:43:52 +00:00
Pig Fang
59f63da560
feat(es/parser): Reject await expr with ** (#4395) 2022-04-22 01:40:14 +00:00
Donny/강동윤
bf761752f1
test(es/parser): Add a test for a fixed issue (#4357) 2022-04-17 22:44:46 +00:00
Pig Fang
31b3336cd5
fix(es/parser): Reject optional constructor call (#4340) 2022-04-16 15:18:14 +00:00
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
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
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
David Sherret
1759567fc4
chore(es/parser): Add span tests back (#4186) 2022-03-30 06:07:40 +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
Donny/강동윤
61f1a37492
fix(es/codegen): Fix codes related to sourcemap (#4106) 2022-03-21 05:14:45 +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/강동윤
565a7202ed chore: Fix CI 2022-03-20 00:15:03 +09:00
Edwin Coronado
57802cfcce
fix(common): Fix the line number of errors (#4082) 2022-03-19 23:56:12 +09:00
Donny/강동윤
792ab2ca25
test(es/parser): Add a test for a fixed issue (#4085) 2022-03-19 06:14:13 +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
Donny/강동윤
e19a60aad4
fix(es/compat): Change pass ordering of es2015 (#4029)
**Description:**

We should apply `regenerator` after `block_scoping` because `regenerator` does not know how to handle `const`s.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/3006
2022-03-15 14:17:03 +00:00
Sahil mobaidin
f8d6127dd1
fix(es/parser): Report an error if LeftHandSideExpression is invalid (#4001) 2022-03-15 14:24:19 +09:00
Donny/강동윤
ee9a841f33
test(*): Print diagnostics to stderr while testing (#4003)
**Description:**

This will make debugging stack overflow and parser issues easier because it writes to stderrr right away, instead of holding a buffer for it.
2022-03-14 02:06:34 +00:00
Donny/강동윤
40b8a4e596
feat(common): Implement a pretty error reporter (#3946) 2022-03-13 19:07:18 +00: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
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/강동윤
8d3c9d39f0
test(es): Add tests for fixed issues (#3875)
**Description:**

Adds tests for fixed issues.
This commit modifies one type because the previous type makes transform flaky.

**BREAKING CHANGE:**

To preserve order, the type `swc::Paths` is now `IndexMap` instead of `HashMap`.
2022-03-06 02:27:08 +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/강동윤
3798436201
chore: Update rustc (#3768) 2022-02-28 16:12:28 +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/강동윤
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
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/강동윤
a2f9c88b62
test(es/parser): Add a test for #2417 (#3588) 2022-02-16 12:34:25 +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/강동윤
397a96a1cf
test(es/parser): Fix crlf (#3451) 2022-02-04 20:17:42 +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
Donny/강동윤
8b7c38c80c
test(es): Update tsc test suite (#3448) 2022-02-04 17:08:38 +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
Donny/강동윤
839d0ac480
refactor(es/parser): Flatten tests to make git faster (#3393) 2022-01-28 19:11:30 +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/강동윤
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
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
Donny/강동윤
8afb5af517
chore(repo): Make git faster (#3075)
swc_ecma_parser:
 - Flatten parser test suite ported from `tsc`.

swc:
 - Flatten the reference directory for the `tsc` test suite.
2021-12-20 14:05:57 +09: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/강동윤
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
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
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
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
Donny/강동윤
2b2f6955f2
refactor: Flatten ecmascript (#2708) 2021-11-10 19:00:54 +09:00