Commit graph

54 commits

Author SHA1 Message Date
Boshen
d232199e1c
refactor(parser): return Rc<Trivias> from TriviaBuilder (#231)
closes #229
2023-03-31 09:02:48 -07:00
Boshen
b65e8397de
feat(diagnostics): change color displays
related #203
2023-03-26 21:20:54 +08:00
Boshen
366dc3037a
feat(diagnostics): port miette GraphicalReportHandler for further tuning 2023-03-26 20:20:53 +08:00
Boshen
ef19895cc3
feat(cli): add -A all -D isolated-declarations (#211)
* feat(linter): add restriction category for lint rules

* feat(cli): add "--allow" and "--deny" commands

* feat(linter): use a single instance of linter

* feat(cli): derive rules from args

* feat(cli): print number of rules
2023-03-26 04:34:31 -07:00
Boshen
d095d45818
refactor(semantic): add source_text and trivias to semantic 2023-03-25 14:19:53 +08:00
Boshen
b6a7c5bba9
fix(cli): remove extra source_text clone before linting 2023-03-19 12:58:00 +08:00
Boshen
d134c1d89a
refactor(oxc_cli): clean up code around spawning tasks 2023-03-19 11:32:46 +08:00
Boshen
c20f60c289
feat(cli): add ignore_pattern to walker 2023-03-18 18:24:04 +08:00
Boshen
89542be81e
feat(cli): use a single walker for all paths 2023-03-18 17:58:42 +08:00
Boshen
5135118bc8
refactor(cli): move lint command and options into modules 2023-03-18 17:53:06 +08:00
Boshen
0ec5f0b111
refactor(cli): cleanup command 2023-03-18 15:48:45 +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
678cfae967
feat(cli, linter): propage --fix option and apply fixes
closes #68
2023-03-17 13:01:04 +08:00
Boshen
5b2474600f
fix(cli): should return semantic errors 2023-03-17 09:43:53 +08:00
Boshen
b3fcb3a4e8
fix(cli): lint_path should panic with proper error message 2023-03-12 13:16:20 +08:00
Boshen
449856e875
feat(cli): print number of cpus cores 2023-03-12 13:13:09 +08:00
Boshen
7c6e1e0df9
feat(cli): do not print errors on files that looks like a minified file 2023-03-12 12:59:37 +08:00
Boshen
d8ff7ab022
fix(cli): exit 1 when number_of_diagnostics > 0 2023-03-12 12:45:05 +08:00
Boshen
d2f42c20cd
feat(cli): print all parser / semantic / linter diagnostics 2023-03-12 00:04:01 +08:00
Boshen
7caaa04903
feat(cli): ignore files with min suffix 2023-03-11 23:02:38 +08:00
Boshen
5c8670d1c8 feat(semantic): declare symbol and reference Identifier 2023-03-10 23:28:51 -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
683778dfe2
feat(semantic): implement scopes (#135)
closes #119
2023-03-05 07:43:32 -08:00
Boshen
0a9ab3ed4c
feat(cli): print miette diagnostics with 4 spaces indentation 2023-03-05 15:19:59 +08:00
Boshen
7d3ce8b125
feat(benchmark): add semantic builder to benchmark (#129) 2023-03-04 23:09:19 -08:00
Shannon Rothe
b9be065c8c
feat(cli): introduce pretty errors (#111) 2023-03-04 20:40:07 -08:00
Boshen
5106d2d63d
fix(cli): fix clippy warning 2023-03-05 11:04:43 +08:00
Xuan
ee569ae684
feat(oxc_linter): implement rule fixing logic (#114)
* refactor(oxc_linter): add FixResult

* refactor(oxc_linter): pass closure instead of an struct

* test(oxc_linter): uncomment tests
2023-03-04 18:57:50 -08:00
Boshen
e71de0bff6 perf(cli): lint files while walking directories 2023-03-04 04:38:58 -08:00
Boshen
aa773f0aa8 perf(cli): do not follow symlinks in ignore because it is a slow syscall 2023-03-04 04:38:58 -08:00
Shannon Rothe
f8b8f045a9
feat(cli): filter out uncommitted files (#110) 2023-03-03 22:42:22 -08:00
Xuan
91c01633d6
test(oxc_linter): add testing for code fixer (#101)
---------

Co-authored-by: Shannon Rothe <shannon.michael.rothe@gmail.com>
2023-03-03 21:37:25 -08:00
Amit Dahan
50f133f9a6
feat(cli): Print lint duration (#105) 2023-03-03 18:34:30 -08:00
Boshen
47c1e7ef51
feat(cli): print diagnostics with file name (#103)
This also speeds up printing when a file has lots diagnostics.
This is done by allocating only once compared to multiple times from before.
2023-03-03 08:43:13 -08:00
Shannon Rothe
92b232372f
feat(linter): implement autofix (#94)
* feat(linter): implement autofix

* remove `fs::write`
2023-03-03 17:12:47 +08:00
Shannon Rothe
77d6edbe72 feat(cli): use BufWriter for diagnostic printing 2023-03-02 21:59:42 -08:00
Boshen
6a191ddce2
chore(cli): fix clippy warnings 2023-03-03 10:41:34 +08:00
Pascal Schilp
679cd0bf32
feat(cli): parallelize diagnostics (#93)
feat(cli): parallelize printing of diagnostics
2023-03-02 07:28:45 -08:00
Shannon Rothe
27b82bda36
feat(cli): implement --max-warnings CLI option (#77)
* implement `--max-warnings` CLI option

* implement `--max-warnings` CLI option

* review comments

* remove `.vscode/`

* revert loop + add tests
2023-03-02 16:16:03 +08:00
Xuan
51d0ced5a0 feat(oxc_cli): support no-ignore 2023-03-01 23:54:11 -08:00
Xuan
298e956d0d feat(oxc_cli): support ignore-path 2023-03-01 04:39:18 -08:00
Xuan
c2fb3613bd feat(oxc_cli): support ignore-pattern 2023-02-28 08:38:33 -08:00
thepassle
33e5f8dd8d feat(cli): support --quiet flag for lint command 2023-02-27 07:43:00 -08:00
Boshen
73ea3d6361 feat(ast,lexer,linter): save and check comments 2023-02-27 12:31:57 +08:00
Amit Dahan
e2207b9b15 feat(cli): support linting glob patterns 2023-02-26 22:25:16 +08:00
Boshen
78de22a3af refactor(cli): clean up and report total number of diagnostics 2023-02-26 02:02:05 +08:00
thepassle
eaeafa0a82 feat(cli): exit codes
chore: remove foo.js

chore: review comments

chore: shut clippy up

chore: ran cargo fmt

chore: unnecessary return
2023-02-26 01:32:17 +08:00
Boshen
f17bd87f65
fix: try disable miri with custom allocators 2023-02-25 21:04:52 +08:00
Boshen
bf76f6d8b6
chore: ignore miri on global allocators
error: unsupported operation: can't call foreign function `_rjem_malloc` on OS `linux`
   --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/jemallocator-0.5.0/src/lib.rs:104:13
    |
104 |             ffi::malloc(layout.size())
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't call foreign function `_rjem_malloc` on OS `linux`
    |
    = help: this is likely not a bug in the program; it indicates that the program performed an operation that the interpreter does not support
    = note: BACKTRACE:
    = note: inside `<jemallocator::Jemalloc as std::alloc::GlobalAlloc>::alloc` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/jemallocator-0.5.0/src/lib.rs:104:13: 104:39
note: inside `_::__rg_alloc`
   --> tasks/benchmark/src/main.rs:13:16
    |
12  | #[global_allocator]
    | ------------------- in this procedural macro expansion
13  | static GLOBAL: jemallocator::Jemalloc = jemallocator::Jemalloc;
    |                ^^^^^^^^^^^^^^^^^^^^^^
    = note: this error originates in the attribute macro `global_allocator` (in Nightly builds, run with -Z macro-backtrace for more info)
2023-02-25 20:45:38 +08:00