oxc/crates
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
..
oxc Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_allocator Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_ast feat(ast): support visit more jsx ast in visit (#1662) 2023-12-13 20:41:44 +08:00
oxc_cli feat(linter) Parse eslint configuration (#1146) 2023-12-14 16:29:27 +08:00
oxc_codegen Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_diagnostics feat(linter) Parse eslint configuration (#1146) 2023-12-14 16:29:27 +08:00
oxc_formatter Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_index Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_js_regex Initialize JS Regex crates and def AST. (#1500) 2023-11-23 00:22:17 +08:00
oxc_linter feat(linter) Parse eslint configuration (#1146) 2023-12-14 16:29:27 +08:00
oxc_linter_plugin refactor(rust): move to workspace lint table (#1444) 2023-11-20 14:38:10 +08:00
oxc_macros feat(linter): add a perf category (#1625) 2023-12-04 17:31:34 +08:00
oxc_minifier Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_parser chore(lexer): document the accessor keyword 2023-12-14 12:55:55 +08:00
oxc_prettier feat(prettier): add print_binaryish_expressions (#1664) 2023-12-13 22:52:53 +08:00
oxc_query feat(query): Add is_getter, is_setter, is_constructor to all Function implementors (#1526) 2023-11-27 12:22:41 +08:00
oxc_semantic perf(linter/react): find class node by symbols in get_parent_es6_component (#1657) 2023-12-13 13:48:53 +08:00
oxc_span Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_syntax feat(linter): add eslint-plugin-import(export) rule (#1654) 2023-12-13 23:12:45 +08:00
oxc_transformer feat(transformer): add arrow_functions plugin (#1663) 2023-12-13 20:46:28 +08:00
oxc_type_synthesis refactor(rust): move to workspace lint table (#1444) 2023-11-20 14:38:10 +08:00
oxc_wasm chore(deps): bump the dependencies group with 7 updates (#1651) 2023-12-11 14:21:56 +08:00