Trevor Manz
1aa4b4e024
feat(linter): Add rule eslint-plugin-jsx-a11y(alt-text) ( #1126 )
...
Adds first `eslint-plugin-jsx-a11y` rule.
Had to comment out a couple of tests with TODOs related to evaluating
logical expressions and polymorphic components, but I think these are
largely edge cases for detecting validity of alt text. The most
important cases are covered.
2023-11-03 11:02:33 +08:00
Boshen
69150d812c
refactor(transformer): move Semantic into Transformer ( #1130 )
2023-11-02 13:10:15 +08:00
Hao Cheng
fa4e0cae81
fix(linter): fix covered span of eslint-disable-next-line comments ( #1128 )
...
This PR fixes the covered span (specifically the stop position) of
`eslint-disable-next-line` comments.
Note that the covered span is not very accurate in the case of
multi-line comments. For example, the start and stop positions of the
`eslint-disable-next-line` comment in the example below are marked in
comments.
```js
/* eslint-disable-next-line no-debugger --
* Here's a very long description about why this configuration is necessary
* along with some additional information
**/
// ^start
debugger;
// ^stop
debugger;
```
The stop position has an offset of one or two depending on the line
ending (\r\n or \n). I am not sure if this would be a problem.
2023-11-02 09:28:39 +08:00
Boshen
223877b6fd
feat(vscode): prepare for publish ( #1123 )
2023-11-01 09:49:29 +08:00
Boshen
a9b85b60b1
chore(vscode): disable the "run all" as it is disruptive ( #1122 )
2023-11-01 09:41:56 +08:00
Boshen
5a44c0918a
chore(vscode): update development guide ( #1121 )
2023-10-31 07:32:15 +00:00
Trevor Manz
8f5e9831df
feat(rulegen): Add jsx-a11y rulegen ( #1119 )
...
Adds the `just new-jsx-a11y-rule` for bootstrapping
`eslint-plugin-jsx-a11y` linting rules.
One tricky thing about the tests in that repo is that the aren't
provided as array expressions
(e.g., `[case0, case1, case2, ...]`) but rather separate arguments to
`[].concat()`
(e.g., `[].concat(case0, case1, case2, ...)`). There is probably a more
elegant way to match
these expressions, but this is what I came up with.
The other thing I introduced in this PR is prefer Rust's raw strings
(`r#`) when generating the
test cases. Sometimes running `just new-*` spit out unescaped back
quotes, which caused issues.
2023-10-31 13:18:48 +08:00
Boshen
e71d57ac2d
chore(README): update broken LICENSE links ( #1118 )
2023-10-31 11:45:05 +08:00
Boshen
ddd5314202
Release oxlint v0.0.15 ( #1116 )
2023-10-31 00:10:39 +08:00
Wenzhe Wang
8105ee5872
feat(tasks): skip cases start with dot ( #1114 )
...
0effd92d88/packages/babel-helper-fixtures/src/index.ts (L223)
2023-10-30 23:34:43 +08:00
Boshen
103268be98
chore(linter): move all import plugin rules to nursery ( #1113 )
2023-10-30 21:04:57 +08:00
Boshen
407e406f86
feat(linter): change some rules pedantic and improve help message ( #1112 )
2023-10-30 17:42:15 +08:00
Dunqing
144c881be5
fix(linter/no-render-return-value): remove duplicate test case ( #1111 )
...
Added in #1109
2023-10-30 09:37:14 +00:00
Boshen
cf1265453b
chore(linter/no_unescaped_entities): demote to pedantic ( #1110 )
...
The code is not wrong
2023-10-30 17:30:32 +08:00
Boshen
4975440e1b
fix(linter/no_render_return_value): fix false positive when nested inside an arrow expression ( #1109 )
2023-10-30 17:23:11 +08:00
Boshen
8b11592a1f
feat(linter): demote prefer_array_flat_map to style ( #1108 )
2023-10-30 17:04:51 +08:00
Dunqing
d4c05ff7b3
feat(linter): support unicorn/prefer-query-selector ( #1068 )
...
Refer to
https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-query-selector.md
link: #684
2023-10-30 17:04:35 +08:00
Boshen
6da5a3f216
feat(cli): print execution time in seconds when greater than 1 second ( #1107 )
2023-10-30 16:35:40 +08:00
Boshen
b703c0c5b5
feat(linter/no_children_prop): point the span to "children" ( #1106 )
2023-10-30 16:19:30 +08:00
Boshen
22c31cef3f
fix(linter/no_empty_file): point to start of file instead of the entire file ( #1105 )
...
Since it may contain lots of comments, which gives us a screenful of comments
2023-10-30 16:11:37 +08:00
Boshen
cb2407de24
chore(litner): demote some of the rule from correctness ( #1104 )
2023-10-30 16:02:27 +08:00
Boshen
b4739e5540
fix(linter): fix panic in no_unescaped_entities ( #1103 )
2023-10-30 15:52:32 +08:00
Boshen
a455c81db6
fix(linter): revert changes to JSX attribute strings ( #1101 )
2023-10-30 15:26:04 +08:00
dependabot[bot]
bf1e3b5440
chore(deps): bump the dependencies group with 4 updates ( #1100 )
2023-10-30 15:09:28 +08:00
dependabot[bot]
6738066bfc
chore(deps): bump actions/setup-node from 3 to 4 ( #1102 )
2023-10-30 15:06:45 +08:00
Boshen
4e218331c2
refactor(cli): clean up code around codeowners ( #1099 )
2023-10-30 11:21:41 +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
Cameron
0194dbd79d
fix(linter) Fix panic when using ban ts comment on conformace tests ( #1097 )
...
```
RUST_BACKTRACE=full cargo run --bin=oxc_cli lint -D=suspicious -D=style -D=restriction -D=pedantic -D=nursery -D=correctness ./tasks/coverage/typescript/tests/cases/conformance/directives/ts-expect-error.ts --threads=1
```
currently panics, entering unreachable code
2023-10-30 09:52:46 +08:00
Cameron
0bcba4fba2
fix(linter) Fix panic on no useless escape ( #1092 )
...
Closes #1041
2023-10-30 09:51:04 +08:00
Iván Ovejero
b2eeb5e38c
fix(playground): Enable linting on first load ( #1096 )
2023-10-29 23:12:22 +08:00
Cameron
bd34dc7453
fix(linter): Fix panic on no_mixed_operators rule ( #1094 )
2023-10-29 21:28:38 +08:00
Boshen
262631da62
feat(transformer/react): implement fixup_whitespace_and_decode_entities ( #1091 )
2023-10-29 18:11:51 +08:00
Boshen
fe1bbaf0d4
chore(codegen): update snapshot ( #1090 )
2023-10-29 16:04:04 +08:00
Boshen
6295f9ce18
fix(ast): jsx attribute value and text child should be jsx string ( #1089 )
2023-10-29 15:32:24 +08:00
Boshen
1051f15005
feat(transformer/jsx): escape xhtml in jsx attributes ( #1088 )
2023-10-29 15:16:50 +08:00
Boshen
1ad2dca45a
fix(transformer/react_jsx): add imports to the top body ( #1087 )
2023-10-29 15:05:52 +08:00
Wenzhe Wang
cef78accf0
feat(codegen): indent inner class ( #1085 )
2023-10-29 15:03:30 +08:00
Boshen
e8a4e81298
feat(transformer): implement some of jsx decode entities ( #1086 )
2023-10-29 14:57:39 +08:00
Wenzhe Wang
094dfa5604
feat: support filter exec snap ( #1084 )
...
Co-authored-by: Boshen <boshenc@gmail.com>
2023-10-29 05:39:32 +00:00
u9g
1704a76f6f
Codeowners filtering ( #1083 )
...
closes #1066
2023-10-29 13:30:20 +08:00
Boshen
fe4a5ed535
fix(transformer): fix position of inserted react import statement ( #1082 )
2023-10-28 23:05:02 +08:00
Boshen
0856111bea
feat(transformer): implement more of react transform attributes ( #1081 )
2023-10-28 22:47:39 +08:00
Boshen
96332c85c6
feat(transformer): import jsxs when children is static ( #1080 )
2023-10-28 17:25:25 +08:00
Boshen
c7a04f42e7
refactor(transformer): remove returning None from transform functions ( #1079 )
2023-10-28 16:55:38 +08:00
Boshen
d411258be4
feat(transformer): finish transform jsx attribute value ( #1078 )
2023-10-28 16:46:33 +08:00
Boshen
5fb27fbe8a
feat(transformer): implement key extraction for react automatic ( #1077 )
2023-10-28 16:34:54 +08:00
Boshen
394ed358f6
feat(transformer): implement react get_attribute_name ( #1076 )
2023-10-28 16:25:03 +08:00
Boshen
f60fd65f65
feat(transfomer): implement react has_key_after_props_spread ( #1075 )
2023-10-28 16:17:11 +08:00
Boshen
d6ba8910ba
feat(transformer): add props null to React.createElement ( #1074 )
2023-10-28 15:59:46 +08:00
Mariusz Antas
0a0e93b55d
feat(linter): eslint-plugin-unicorn require-number-to-fixed-digits-argument ( #1073 )
...
Rule taken from https://github.com/web-infra-dev/oxc/issues/684 .
Tests taken from:
https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/test/require-number-to-fixed-digits-argument.mjs
Another rule! 😄
2023-10-28 10:47:27 +08:00