Commit Graph

4 Commits

Author SHA1 Message Date
connorshea fe357a4487 docs(linter): include rationale column for unsupported lint rules (#17512)
Fix #17503 and #15927.

This converts the NOT_SUPPORTED_RULE_NAMES list over to a JSON file, and implements a Rationale column to the markdown table rendered for each plugin issue. The JSON file conversion is done because I think it'd be useful to 1) reuse this file in Rust, and so this makes it much easier to parse in Rust, and 2) potentially also reuse it in oxlint-migrate.

You can see the markdown output after this change here:

https://gist.github.com/connorshea/2b6803c9e2045be9928d394d9112f0ae

The content of the list should be identical (other than the rationale values I've added), with a few exceptions:

- Added [`vue/jsx-uses-vars`](https://eslint.vuejs.org/rules/jsx-uses-vars.html#vue-jsx-uses-vars) as an unsupported rule with the rationale that it _should_ already be implemented via no-unused-vars, as it only applies to vue components using JSX. Though I'm not 100% sure if that is actually supported properly at present for Vue files.
- I removed [`vue/define-macros-order`](https://eslint.vuejs.org/rules/define-macros-order.html#vue-define-macros-order) from the unsupported list, as it seems like it does not require template parsing and should be possible to implement?
- Added `n/prefer-node-protocol`, `n/no-process-exit`, and `n/file-extension-in-import` to the unsupported rule list, as they are implemented by other rules in oxlint already.
- Added `vue/no-unused-properties` and `vue/no-undef-properties` as they both require Vue template parsing.
- Added `jest/no-unnecessary-assertion`, `jest/unbound-method`, `jest/no-error-equal`, `vitest/unbound-method`, and `vitest/prefer-vi-mocked` to unsupported rules with rationale that they require type information.
2025-12-31 21:18:37 +00:00
Boshen de625d6b00 chore(js): enable oxlint --type-check (#16954)
Finished in 1.7s on 259 files with 161 rules using 14 threads.

closes #16485
2025-12-16 16:24:36 +00:00
camc314 2ecc5dd1a5 fix(lint-rules): remove invalid module option from jsconfig.json (#15275) 2025-11-04 14:20:02 +00:00
Yuji Sugiura cba8a4c131 feat(tasks): Enable tasks/lint_rules(JS ver) (#2177)
- [x] Remove old task(Rust ver)
- [x] Migrate to new task(JS ver)
- [x] Confirm CI works w/o `--output`
-
https://github.com/oxc-project/oxc/actions/runs/7663961642/job/20887579432?pr=2177
- [x] Confirm CI works w/ fake issue no
  - https://github.com/oxc-project/oxc/issues/2117
- [x] Enable

- - -

I've noticed that

- eslint/no-extra-semi
- eslint/no-mixed-spaces-and-tabs

are maked as deprecated and also recommended.

This is ESLint side
[issue](https://github.com/eslint/eslint/pull/17696#issuecomment-1792452766)
and will fix after v9.
2024-01-26 15:45:05 +08:00