Commit graph

1604 commits

Author SHA1 Message Date
Boshen
203cf37695
feat(transformer/react): read comment pragma @jsxRuntime classic / automatic (#1133)
closes #1120
2023-11-03 11:10:11 +08:00
ubugeeei
c7fcb31812
tweak the build instructions for vsxi (#1136)
When building the vsix file, it was necessary to execute the build
command before the package command.

As a result, the documentation has been updated!
2023-11-03 11:04:18 +08:00
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