Commit graph

258 commits

Author SHA1 Message Date
Boshen
de9be97f0f
chore: clean up Cargo.toml in tasks 2023-03-31 22:22:18 +08:00
Boshen
9e3675a575
chore: clean up Cargo.toml 2023-03-30 23:27:26 +08:00
yangchenye
929b0efebb
feat(linter): implement isolated_declaration (#209)
* feat(linter): implement isolated_declaration

* Implement check for class elements

* Set up Export SymbolFlag and store declaration AST in Symbol

* Fix tests and comments
2023-03-26 04:37:10 -07:00
Boshen
5a1a72204e
chore(coverage): update snapshots 2023-03-25 14:21:22 +08:00
Boshen
d095d45818
refactor(semantic): add source_text and trivias to semantic 2023-03-25 14:19:53 +08:00
yangchenye
40460dd32b
feat(rulegen): fallback to empty rule template (#208) 2023-03-24 22:36:11 -07:00
Xuan
71e575ab41
feat(linter): implement no-new-symbol rule (#201) 2023-03-23 18:29:57 +08:00
yangchenye
0d8d67b593
feat(linter): implement eslint(no-const-assign) (#199)
* feat(linter): implement eslint(no-const-assign)

* feat(semantics & linter): resolve symbols

* Use run_on_symbol

* Add resolved_reference to SymbolTable
2023-03-23 12:55:40 +08:00
Boshen
7dfaf9949c
chore(README): clean up sentences with chatGPT 2023-03-22 20:34:07 +08:00
Boshen
9dfd4cd936
chore(rust): remove unnecessary missing_const_for_fn 2023-03-22 12:35:52 +08:00
Boshen
ff9a2c3ab0
feat(linter): eslint disable comments (#196)
feat(linter): eslint disable comments

closes #100
closes #170
2023-03-22 11:27:42 +08:00
yangchenye
3487772644
feat(linter): implement eslint(no-dupe-class-members) (#195) 2023-03-21 12:43:23 +08:00
Boshen
69109286b5
chore(README): mention stage 3 skipped tests. 2023-03-19 12:47:57 +08:00
yangchenye
4549fb3cdd
fix(parser): parse decorator with separate grammar (#192) 2023-03-19 11:35:59 +08:00
Boshen
37c7b7a752
refactor(oxc_parser): simply diagnostic messages 2023-03-18 14:39:44 +08:00
Boshen
6a89f085b7
refactor(rust): add more clippy restriction rules 2023-03-17 14:51:25 +08:00
Boshen
a1315e3999
refactor(rust): add clippy::clone_on_ref_ptr 2023-03-17 14:51:25 +08:00
Boshen
57f3065d68
refactor: remove unused #[allow(clippy:..)] 2023-03-17 13:28:06 +08:00
Boshen
bee548b945
fix(coverage): correct the number on AST Parsed 2023-03-17 11:15:33 +08:00
Boshen
97d01b4ced
chore(coverage): remove stage 3 decorators from conformance tests
By looking at the grammar, separate AST nodes need to be created.
Disabling this for now because it still looks like a mess for now.
2023-03-17 10:30:18 +08:00
Boshen
9ed682a38e
fix(semantic): fix function redeclaration errors
The problem here we face here is that TypeScript does not consider Annex
B.3.2, which makes implementation a bit more difficult.

This implementation conforms to test262.
2023-03-17 10:06:02 +08:00
yangchenye
37ad6f3a15
feat(parser): support decorators in class expression (#190)
feat(parser): support decorator in class expression
2023-03-17 09:33:04 +08:00
Boshen
164c2831e1 feat(linter): report export errors in javascript 2023-03-15 18:12:34 -07:00
Boshen
326de5006b
chore: bump submodules 2023-03-15 12:46:21 +08:00
yangchenye
aaaefc8ba5
feat(linter): implement eslint(no-unsafe-negation) (#186) 2023-03-15 11:36:56 +08:00
yangchenye
74c731c415
feat(linter): Implement eslint(no-compare-neg-zero) (#185) 2023-03-15 10:44:11 +08:00
Boshen
e262e18e5f
chore(coverage): remove tests for stage 3 proposal-json-modules 2023-03-14 11:02:00 +08:00
Boshen
ee31f5cc6f
feat(linter): check duplicated bound names in ImportDeclaration 2023-03-14 10:42:18 +08:00
Boshen
89f28e9f93
feat(linter): check module in javascript and skip in typescript 2023-03-14 08:53:16 +08:00
Boshen
7b1a7d47b6
feat(linter): check await in ClassStaticBlock in javascript 2023-03-14 08:08:24 +08:00
Boshen
297ce2743f
Revert "feat(linter): check await in class static block"
This reverts commit 7add71c9dd.
2023-03-14 07:56:04 +08:00
Boshen
7add71c9dd
feat(linter): check await in class static block 2023-03-14 07:46:11 +08:00
Boshen
78bd76e8d0
feat(parser): check function name for await and yield 2023-03-14 07:39:07 +08:00
Boshen
c706d1825d
feat(semantic): turn on strict mode in semantic builder 2023-03-14 00:30:22 +08:00
Boshen
76118e4901
feat(linter): check NewTarget in javascript 2023-03-14 00:05:37 +08:00
Boshen
39795dbb1b
feat(linter): check ArrayPattern in javascript 2023-03-13 23:52:36 +08:00
Boshen
76f7e58036
feat(linter): check FormalParameter in javascript 2023-03-13 23:43:31 +08:00
Boshen
f4c8cb2cde
feat(linter): check FunctionDeclaration in javascript 2023-03-13 23:35:42 +08:00
Boshen
5381fd0cf8
feat(linter): check Directive in javascript 2023-03-13 23:19:35 +08:00
Boshen
7269d32346
feat(linter): check FormalParameters in javascript 2023-03-13 23:12:42 +08:00
Boshen
040e41240b
feat(linter): check AwaitExpression and YieldExpression in javascript 2023-03-13 13:45:49 +08:00
Boshen
fce6e1ec73
feat(parser): check YieldExpression 2023-03-12 23:41:27 +08:00
Boshen
88fd0a05ec
feat(parser): check AwaitExpression 2023-03-12 23:37:21 +08:00
Boshen
d6e8c6fb2f
feat(parser): check ReturnStatement in return context 2023-03-12 23:30:32 +08:00
Boshen
84eaa0b7e3
feat(linter): check eval and arguments in JavaScript 2023-03-12 23:25:57 +08:00
Boshen
93b06e948a
feat(ast_parser): check await and yield identifier error 2023-03-12 23:22:10 +08:00
Boshen
d490ca7b31
chore(rust): bump deps 2023-03-11 23:26:45 +08:00
Boshen
b1e01d0774
feat(linter): check top level ModuleDeclaration 2023-03-11 21:09:03 +08:00
Boshen
5c2fea7702
feat(linter): check SwitchStatement in javascript 2023-03-11 20:26:50 +08:00
Boshen
021345173f
feat(linter): check expressions in javascript 2023-03-11 20:18:20 +08:00
Boshen
403682960f
feat(linter): check ForStatementLeft in javascript 2023-03-11 19:12:29 +08:00
Boshen
f22539e93f
feat(linter): check property 2023-03-11 19:12:28 +08:00
Boshen
82ef1f2944
feat(linter): check Super in javascript 2023-03-11 18:48:34 +08:00
Boshen
6c28948faf
feat(linter): check duplicate constructor in javascript 2023-03-11 18:34:05 +08:00
Boshen
d5075a95e9
fix(linter): diagnostics should not print quotes 2023-03-11 17:44:27 +08:00
Boshen
a5f00e8e1c
refactor(oxc_ast): remove unnecessary SourceTypeBuilder 2023-03-11 16:21:14 +08:00
Boshen
58e2741ec9 feat(semantic): bind Function name 2023-03-10 23:28:51 -08:00
Boshen
995e7c1767 feat(linter): bind CatchVariable 2023-03-10 23:28:51 -08:00
Boshen
34c0599db8 feat(semantic): bind FormalParameters 2023-03-10 23:28:51 -08:00
Boshen
323bb9a2b6 feat(semantic): bind VariableDeclarator 2023-03-10 23:28:51 -08:00
Boshen
b1e802cecc feat(semantic): bind Class 2023-03-10 23:28:51 -08:00
Boshen
5c8670d1c8 feat(semantic): declare symbol and reference Identifier 2023-03-10 23:28:51 -08:00
Boshen
be6fa2e7a0 chore(coverage): bump submodules 2023-03-10 23:28:51 -08:00
Boshen
5b8bdaabab
feat(linter): check IdentifierReference in javascript 2023-03-09 20:20:58 +08:00
Boshen
185acc49bd feat(linter): check BindingIdentifier in javascript 2023-03-09 01:27:14 -08:00
Boshen
4ea7ac373d feat(linter): check Identifier in javascript 2023-03-09 01:27:14 -08:00
Boshen
4a582f0487 feat(linter): check WithStatement in javascript 2023-03-09 01:27:14 -08:00
Boshen
0fb8887d3c feat(linter): check LabeledStatement in javascript 2023-03-09 01:27:14 -08:00
Boshen
26387c0660 feat(linter): check ContinueStatement in javascript 2023-03-09 01:27:14 -08:00
Boshen
fa8f685551 fix(coverage): fix broken typescript nagative conformance 2023-03-09 01:27:14 -08:00
Boshen
3e842667b1 feat(linter): check BreakStatement in javascript 2023-03-09 01:27:14 -08:00
Boshen
735b1241c4 feat(linter): check StringLiteral in javascript 2023-03-09 01:27:14 -08:00
Boshen
ed161cc38e feat(linter): check PrivateIdentifier in javascript 2023-03-09 01:27:14 -08:00
Boshen
44675e8cd8 feat(coverage): add always_strict mode for test262 2023-03-09 01:27:14 -08:00
Boshen
f13640e1c2 feat(linter): check NumberLiteral in javascript 2023-03-09 01:27:14 -08:00
Boshen
4e0d785b25 feat(linter): add infrastructure for handling early errors 2023-03-09 01:27:14 -08:00
yangchenye
1ea463e0bb
feat(oxc_linter): implement eslint(no-mixed-operators) (#145) 2023-03-09 00:05:44 +08:00
Boshen
94fdd54368
perf(lexer): fine tune identifier checking with less redundant branches (#154)
perf(lexer): fine tune checking of identifiers with less redundant branches
2023-03-08 22:00:15 +08:00
yangchenye
b76ffb4826
feat(rule_generator): generate test options (#150) 2023-03-08 11:02:01 +08:00
Boshen
3562a49592
chore(coverage): print negative tests; enable decorators; update to the latest remote 2023-03-07 23:37:00 +08:00
Boshen
2f2c133017
fix(coverage): fix broken snapshot 2023-03-07 21:32:55 +08:00
Boshen
4d32bfb55e
refactor: remove all declarations of const fn, which is useless for us 2023-03-07 21:29:47 +08:00
Boshen
2f9e3832a0 chore(rust): bump deps 2023-03-05 04:51:00 -08:00
Fnll
81760da7cc
feat(parser): better diagnostic for missing semicolon in for loop statement (#133)
feat(parser): better diagnostic

Co-authored-by: kerui.lian <kerui.lian@bytedance.com>
2023-03-05 04:13:23 -08:00
Boshen
94fddffc70
chore: use fancy-no-backtrace from miette
See https://github.com/zkat/miette/issues/132
2023-03-05 15:16:26 +08:00
Ye Yangchen
d8c6caf57f feat(oxc_parser): Parse modifiers before declaration 2023-03-01 22:50:23 -08:00
Shannon Rothe
ba6414656c run coverage 2023-03-01 20:47:52 -08:00
Xuan
298e956d0d feat(oxc_cli): support ignore-path 2023-03-01 04:39:18 -08:00
Boshen
ab0b764dfc
chore(README.md): include third party licenses 2023-02-27 12:46:07 +08:00
Ye Yangchen
0bf8f817f5 feat(oxc_parser): Port isStartOfDeclaration form tsc 2023-02-27 12:27:44 +08:00
Xuan
6b43cbbe71 fix(oxc_parser): support export type with star symbol 2023-02-27 12:26:23 +08:00
Xuan
b6d09643e5 fix(oxc_parser): check access correctly 2023-02-27 03:10:02 +08:00
Boshen
da941e8689
chore: update contribution docs 2023-02-24 13:24:42 +08:00
Boshen
5d17512b37
chore(coverage): update snapshots 2023-02-24 13:12:07 +08:00
Boshen
4b80cb2b6a
chore(tasks): update submodules 2023-02-24 13:08:22 +08:00
Xuan
457e85b4a0 fix(oxc_parser): check ambiguous for await 2023-02-24 12:46:59 +08:00
Boshen
d773187f43
ci: skip making comments from forks in benchmark
source: https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#restrictions-on-repository-forks
2023-02-23 21:37:08 +08:00
Xuan
65e81ce12c fix(oxc_parser): eat decorator for export 2023-02-23 12:28:34 +08:00
Boshen
7689df3318 feat(coverage): print diagnostics to snapshots 2023-02-22 19:23:01 +08:00
Boshen
978ca362f7 feat(coverage): use test262 to test printer 2023-02-20 18:23:36 +08:00
Boshen
204ea12d6a
fix(coverage): fix empty being reported as not parsed 2023-02-12 21:24:19 +08:00
Boshen
65cfa48fe5
chore(coverage): add typescript to cargo coverage command 2023-02-12 16:27:26 +08:00
Boshen
6758b0c66c feat(coverage): add typescript conformance (currently 4287/4861 88.19%)
Some of the files are not being parsed because we are currently less
recoverable than TypeScript.
2023-02-11 23:46:28 -08:00
Boshen
a4e04d4f6f feat(coverage): add babel conformance (currently 2043/2057 99.32%) 2023-02-11 22:36:32 -08:00
Boshen
a339ba3f92 feat(coverage): print parsing conformance for test262 (currently 100%) 2023-02-11 08:02:42 -08:00
Boshen
62a4f2b551 feat(ast): add ast 2023-02-11 04:27:34 -08:00
Boshen
4ae70b9592 feat(parser): add lexer 2023-02-11 02:29:54 -08:00
Boshen
f4819d976b feat(tasks): add initial test262 setup 2023-02-11 00:43:09 -08:00