Commit graph

26 commits

Author SHA1 Message Date
IWANABETHATGUY
4bbc977971
chore: upgrade rustc toolchain to stable 1.75.0 (#1853)
ref: 
https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html
2023-12-29 12:20:51 +08:00
Cameron
9275c749ca
feat(linter) Parse eslint configuration (#1146)
**DRAFT**

Adds support for parsing `eslint` configuration files.

Example: 
```sh
cargo run --bin=oxc_cli lint --config-path ./.eslintrc.json .
```

This isn't a full implementation of how eslint parses configs but should
be fine for now:

Currently supported `extends`:
 - `eslint:recommended` -> `eslint`
 - `plugin:react/recommended` -> `react`
 - `plugin:@typescript-eslint/recommended` -> `typescript`
 - `plugin:react-hooks/recommended` -> `react`
 - `plugin:unicorn/recommended` -> `unicorn`
 - `plugin:jest/recommended` -> `jest`

These defaults can _all_ be overridden by configuring the rule in the
`rules` section of the estlint config:

e.g.
```json
{
    "extends": [
        "eslint:recommended"
    ],
    "rules": {
        "eqeqeq": "off"
    },
}
```

This would enable of of the rules within the `eslint` group. But would
not enable `eqeqeq` as it is explicitly disabled

Note, we do not currently support the following:
 - supplying a `filter` and `config-path`
 - supplying a `plugin` and `config-path`
2023-12-14 16:29:27 +08:00
Cameron
cef075df17
fix(linter) Report error instead of panicing if the file fails to open (#1098)
closes #1093


e.g.

```
RUST_BACKTRACE=full cargo run  --bin=oxc_cli lint -D=suspicious -D=style -D=restriction -D=pedantic -D=nursery -D=correctness -A=no-useless-escape ./tasks/coverage/typescript/tests/cases/compiler/corrupted.ts
```

Results in:
```

  × Failed to open file
  help: Failed to open file "./tasks/coverage/typescript/tests/cases/compiler/corrupted.ts" with error "stream did not contain valid UTF-8"

Finished in 10ms on 1 file with 126 rules using 12 threads.
Found 0 warnings and 1 error.
```
2023-10-30 09:53:28 +08:00
Jason Miller
1aa95fa6d6
Fix oxlint --quiet suppressing errors (#1008)
As explained by the comment in source, --quiet should only suppress
warning output.

Please double-check that I haven't done something totally wrong here, I
don't know Rust.
2023-10-18 11:00:27 +08:00
Boshen
de7735dc1d
fix(cli): fix race condition when resolving paths 2023-08-20 23:13:00 +08:00
Boshen
a9a6bb800c
refactor(cli,linter): move path processing logic from cli to linter (#766) 2023-08-20 15:12:08 +08:00
Boshen
275124068b
refactor(cli,diagnostics): implement DiagnosticService (#762) 2023-08-19 18:18:09 +08:00
Boshen
8aba8bcbb5
feat(oxc): a single oxc crate (#522) 2023-07-06 13:35:25 +08:00
Boshen
bb18132da5
refactor(oxc_diagnostics): remove error declarations
Make this crate not dependent on `oxc_ast`
2023-04-10 22:21:05 +08:00
Boshen
59476e42d4 refactor(oxc_diagnostics): remove over complicated Diagnostics struct 2023-04-01 15:59:42 +08:00
Boshen
a0cccf09f6
feat(diagnostics): bold warnings 2023-03-26 22:23:06 +08:00
Boshen
9487b3958e
feat(diagnostic): change termwidth and with_cause_chain on GraphicalReportHandler 2023-03-26 21:35:42 +08: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
7c6e1e0df9
feat(cli): do not print errors on files that looks like a minified file 2023-03-12 12:59:37 +08:00
Boshen
d5075a95e9
fix(linter): diagnostics should not print quotes 2023-03-11 17:44:27 +08:00
Boshen
5c8670d1c8 feat(semantic): declare symbol and reference Identifier 2023-03-10 23:28:51 -08:00
Pascal Schilp
679cd0bf32
feat(cli): parallelize diagnostics (#93)
feat(cli): parallelize printing of diagnostics
2023-03-02 07:28:45 -08:00
thepassle
33e5f8dd8d feat(cli): support --quiet flag for lint command 2023-02-27 07:43:00 -08:00
Boshen
915518b614 refactor(oxc_diagnostics): s/PError/Error 2023-02-26 02:02:05 +08:00
Boshen
4f4a9802b7 refactor(diagnostics,parser): move diagnostics to parser 2023-02-22 19:23:01 +08:00
Boshen
5390d3e6b4 refactor(diagnostic): change Err type to miette::Error
This is the prerequisite for breaking up the large Diagnostic enum.
2023-02-22 11:08:21 +08:00
Boshen
4c6407b152 refactor(ast): s/node/span
This corrects the jargon for span. The term `node` came from `estree`,
which is a bit misleading here in Rust.

closes #9
2023-02-21 19:17:49 +08:00
Boshen
a733856536 refactor(ast,parser): use u32 for node spans
The next PR will fix the jargon where Node = Span.

relates to #9
2023-02-21 16:02:23 +08:00
Boshen
1fdc635638 feat(parser): add parser 2023-02-11 05:26:49 -08:00
Boshen
4ae70b9592 feat(parser): add lexer 2023-02-11 02:29:54 -08:00