Commit graph

2236 commits

Author SHA1 Message Date
Yuji Sugiura
4a42c5fd7d
refactor(semantic/jsdoc): JSDocTag parser rework (#2765)
Address
https://github.com/oxc-project/oxc/pull/2642#issuecomment-2001950723


0fd67cb874/crates/oxc_semantic/src/jsdoc/parser/jsdoc_tag.rs (L3-L25)
2024-03-23 00:16:59 +08:00
underfin
dc3f6e7570
chore: update sourcemap 8.0.0 (#2788) 2024-03-22 21:52:21 +08:00
Boshen
ef1108a749
chore: Rust v1.77.0 (#2781) 2024-03-21 17:21:57 +00:00
Andi Pabst
4c5abb590e
feat(cli): wildcard expansion in paths for windows (#2767)
Unlike on other OS, on Windows there is no wildcard expansion/globbing
by the shell. Instead the application has to handle this. Therefore I
used the `glob` package to handle wildcards on Windows.

I also had to make the parent directory check more strict due to the
glob package resolving `..` in the middle of the path as well.

This closes #2695.
2024-03-22 00:21:30 +08:00
Wang Wenzhe
64e4de7861
fix(linter/max-lines): only report codes that exceed the line limit (#2778)
closes: #2775
2024-03-21 20:46:21 +08:00
underfin
a2cfc867cb
feat: SourcemapVisualizer (#2773)
Export `SourcemapVisualizer` from codegen, it will be used oxc and
rolldown sourcemap test, so it support multiply source print, it will
using sourcemap `sourcesContent` as original source.
2024-03-21 11:19:09 +08:00
Wang Wenzhe
3c9e77d66f
feat(linter/tree-shaking): detect CallExpression in MemberExpression (#2772) 2024-03-20 23:11:45 +08:00
Dunqing
e10ef03aa9
feat(linter/import) support check re-export in named (#2769) 2024-03-20 22:12:45 +08:00
Danil Karpenko
1721feea0e
feat(prettier/ts): better conformance (#2721)
I know 5% isn't much, but it's small steps like this that move us toward
our goal.
2024-03-20 18:59:49 +08:00
Jose
451162effc
feat(linter): eslint/no-iterator (#2758)
Rule detail: https://eslint.org/docs/latest/rules/no-iterator

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-20 16:20:09 +08:00
keita hino
53ffbc6bd2
feat(linter): eslint-plugin-react checked-requires-onchange-or-readonly (#2754)
partof: https://github.com/oxc-project/oxc/issues/1022

docs:
https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/checked-requires-onchange-or-readonly.md
code:
https://github.com/jsx-eslint/eslint-plugin-react/blob/master/lib/rules/checked-requires-onchange-or-readonly.js
test:
https://github.com/jsx-eslint/eslint-plugin-react/blob/master/tests/lib/rules/checked-requires-onchange-or-readonly.js

---------

Co-authored-by: Dunqing <dengqing0821@gmail.com>
2024-03-20 15:38:48 +08:00
Jose
1c07a9908d
feat(linter): default_param_last (#2756)
Rule detail: https://eslint.org/docs/latest/rules/default-param-last

---------

Co-authored-by: j.buendia <j.buendia>
Co-authored-by: Dunqing <dengqing0821@gmail.com>
2024-03-20 10:05:51 +08:00
Jose
291dc0597c
feat(linter): no_script_url (#2761)
Rule detail: https://eslint.org/docs/latest/rules/no-script-url

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-20 09:09:34 +08:00
Dunqing
99dcd00bf3
feat(linter/import) change the rule path to index.ts and add snapshot in export rule (#2732)
Looks like the current implementation is incorrect
2024-03-19 22:47:04 +08:00
Jose
ac813a60f6
feat(linter): no_template_curly_in_string (#2763)
Rule detail:
https://eslint.org/docs/latest/rules/no-template-curly-in-string

At first I implemented it with regex, but I think you are trying to
avoid it for performance reasons, so I did it by searching for the
chars.

I had some problems showing the span in the case of 'Hello, ${{foo:
"bar"}.foo}' I think it turned out more or less well, however, if you
think it can be done in another way I am willing to do it .

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-19 21:56:36 +08:00
Jose
134e15e657
feat(linter): eslint/no-proto (#2760)
Rule detail: https://eslint.org/docs/latest/rules/no-proto

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-19 20:01:15 +08:00
Jose
39b98badca
feat(linter): no_eq_null (#2757)
Rule detail: https://eslint.org/docs/latest/rules/no-eq-null

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-19 15:48:25 +08:00
Jose
a671d754df
fix(linter): fix guard_for_in span error (#2755)
As talked here
https://github.com/oxc-project/oxc/pull/2746#discussion_r1528145418
errors in guard_for_in could be improved so I attempted to improve it.

If anyone have a suggestion for the span element positions say me!

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-19 12:16:30 +08:00
Jose
86d006e171
feat(linter): eslint/max-params (#2749)
Rule detail: https://eslint.org/docs/latest/rules/max-params

Maybe I can add function name, I was searching for it, but I don't know
how to get it.

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-19 09:16:52 +08:00
Danil Karpenko
31efbc29fc
feat(prettier/ts): print type keyword inside import specifier braces, fixes #2708 (#2712)
- #2708
2024-03-18 20:54:19 +08:00
overlookmotel
e793063f75
perf(parser): faster lexing JSX identifiers (#2557)
Speed up lexing JSX identifier continuations (i.e. after `-`), by
searching for end of identifier byte-by-byte.

Change does not register on benchmarks, only because benchmarks don't
contain any `<Foo-Bar />` identifiers, so don't exercise this code path.
2024-03-18 12:06:27 +00:00
Jose
22c84c546a
feat(linter): eslint/guard-for-in (#2746)
Rule details: https://eslint.org/docs/latest/rules/guard-for-in

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-18 19:36:26 +08:00
Dunqing
95ac265504
feat(linter/import): check ObjectPattern syntax in namespace (#2691) 2024-03-18 12:55:55 +08:00
Dunqing
64db5643ce
feat(linter/import) implement no_unused_modules rule (#2720) 2024-03-18 12:55:36 +08:00
renovate[bot]
1e9c0bc484
chore(deps): update rust crates (#2747) 2024-03-17 16:40:42 +00:00
Wang Wenzhe
2ef4762de8
feat(linter/tree-shaking): add cache for checking mutating identifiers (#2743) 2024-03-18 00:35:15 +08:00
Jose
f5b4599fd5
feat(linter): eslint/no-ternary (#2744)
Rule detail: https://eslint.org/docs/latest/rules/no-ternary

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-17 22:05:13 +08:00
Jose
6189985e9e
feat(linter): eslint/no-continue (#2742)
Rule detail: https://eslint.org/docs/latest/rules/no-continue

It's my first time in Rust, so I have a lot to learn from you. Maybe I
do some silly mistakes. Sorry!

---------

Co-authored-by: j.buendia <j.buendia>
2024-03-17 21:21:43 +08:00
Andi Pabst
91e8a71214
feat(linter): eslint/no-with (#2741)
Relates to #479 

Rule detail: https://eslint.org/docs/latest/rules/no-with
2024-03-17 19:53:55 +08:00
Andi Pabst
81752b2790
feat(linter): eslint/max-lines (#2739)
Relates to #479 

Rule detail: https://eslint.org/docs/latest/rules/max-lines
2024-03-17 18:59:47 +08:00
cinchen
0623a5335f
feat(linter): eslint-plugin-jest: prefer-to-contain (#2735)
Rule Detail:
[link](https://github.com/jest-community/eslint-plugin-jest/blob/main/src/rules/prefer-to-contain.ts)
2024-03-17 09:44:01 +08:00
Valerii Smirnov
26a8171b98
implemented import/no-default-export (#2736)
Tests:
https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/tests/src/rules/no-default-export.js
Rule:
https://github.com/import-js/eslint-plugin-import/blob/v2.29.1/docs/rules/no-default-export.md

---------

Co-authored-by: Boshen <boshenc@gmail.com>
2024-03-16 13:14:07 +08:00
cinchen
9edda499aa
feat(linter): eslint-plugin-jest: prefer-expect-resolves (#2703)
Rule Detail:
[link](https://github.com/jest-community/eslint-plugin-jest/blob/main/src/rules/prefer-expect-resolves.ts)
2024-03-16 10:08:10 +08:00
overlookmotel
75226f3b4a
chore: silence erroneous RA warnings for Tsify (#2731) 2024-03-15 12:42:12 +00:00
underfin
d7004da253
perf(sourcemap): remove unnecessary binary search (#2728)
Becuase `position` argument is ordering, using binary search is
unnecessary.
2024-03-15 18:50:53 +08:00
underfin
2be5f9d6c9
perf(codegen): avoid unnecessary copy (#2727) 2024-03-15 16:09:24 +08:00
Boshen
798a1fde09
fix(parser): fix failed to parse JSXChild after JSXEmptyExpression (#2726)
fixes #2723
2024-03-15 13:39:20 +08:00
Yuji Sugiura
53a8e7ffbe
feat(linter): Add settings.jsdoc (#2706)
Base work for #2642 🏃🏻 

- [x] struct
- [x] bool flags
- [x] tagNamePreferences
2024-03-14 22:34:32 +08:00
cinchen
4947809772
feat(linter/jest): add new property for parse_jest_fn (#2715)
This pr is to add a new return value: `local`, which current property
`name` always return `expect` and the `local` property will return its
alias name for the following example:

```js
import { expect as JEST_EXPECT } from '@jest/globals';
```

and the `jest_expect_fn_call.name` will return `expect` and the
`jest_expect_fn_call.local` wil return `JEST_EXPECT`.
2024-03-14 21:06:05 +08:00
Boshen
a5ddb5b452
Release crates v0.10.0 2024-03-14 18:23:34 +08:00
Boshen
cbc2f5ff97
refactor: remove unused dependencies (#2718) 2024-03-14 17:50:31 +08:00
Boshen
697b6b70c0
feat: merge features serde and wasm to serialize (#2716)
This PR merges the previous confusing features `serde` and `wasm` into a
single `serialize` feature.

We'll eventually do serialize + type information for both wasm and napi
targets.

`oxc_macros` is removed from `oxc_ast`'s dependency because it requires
`syn` and friends, which goes against our policy ["Third-party
dependencies should be
minimal."](https://oxc-project.github.io/docs/contribute/rules.html#development-policy)
2024-03-14 17:13:12 +08:00
underfin
9609c34e6d
fix(codegen): CallExpression sourcemap (#2717) 2024-03-14 07:53:22 +00:00
cinchen
f8fe3af3cf
feat(linter): eslint-plugin-jest: prefer-to-be (#2702)
Rule Detail:
[link](https://github.com/jest-community/eslint-plugin-jest/blob/main/src/rules/prefer-to-be.ts)
2024-03-14 12:14:49 +08:00
Yuji Sugiura
b00d4b8110
fix(semantic/jsdoc): Support multibyte chars (#2694)
Co-authored-by: Boshen <boshenc@gmail.com>
2024-03-13 19:00:01 +08:00
overlookmotel
c820a5b661
fix(ast): serialize empty array elements as null (#2707)
Serialize `ArrayExpressionElement::Elision` variant as `null` in JSON
AST, to align with ESTree.
2024-03-13 10:10:23 +00:00
Boshen
0d7bc8f255
feat(ast): fill in missing ast visits (#2705)
closes #2700
2024-03-13 16:31:01 +08:00
cinchen
265030d049
feat(linter): eslint-plugin-jest: prefer-spy-on (#2666)
Rule Detail:
[link](https://github.com/jest-community/eslint-plugin-jest/blob/main/src/rules/prefer-spy-on.ts)
2024-03-13 14:01:31 +08:00
underfin
2dfc0cc28e
chore: upgrade sourcemap 7.1.1 (#2701) 2024-03-13 13:52:36 +08:00
Wang Wenzhe
11219d4415
feat(linter/tree_shaking): check assignment of identifier (#2697) 2024-03-13 11:45:42 +08:00