overlookmotel
75226f3b4a
chore: silence erroneous RA warnings for Tsify ( #2731 )
2024-03-15 12:42:12 +00:00
overlookmotel
af47aebc7c
chore(napi): add oxc-parser to benchmarks ( #2724 )
...
Closes #2616 .
Adds benchmarks for NodeJS NAPI build. Measurement includes `JSON.parse`
of the AST on JS side, since that's how it'll be used 99% of the time.
Benchmarks run against same files as Rust parser benchmarks, so we can
see the overhead of transferring AST to JS.
2024-03-15 19:45:02 +08: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
Boshen
125edb2650
refactor: remove unused dependencies ( #2729 )
2024-03-15 18:43:22 +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
945265a33e
chore: format wasm/parser/Cargo.toml
2024-03-14 17:25:53 +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
Boshen
1facc8d35d
chore: add clippy::cargo rules
2024-03-13 15:01:08 +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
Wang Wenzhe
f3eab76410
chore(linter/tree_shaking): comment tree-shaking test code and remove ignore flag ( #2696 )
2024-03-13 11:42:16 +08:00
overlookmotel
acf127be35
fix(ast): correct TS type for ArrayAssignmentTarget ( #2699 )
...
`trailing_comma` field in JSON AST is camel case `trailingComma`.
2024-03-13 00:15:57 +00:00
overlookmotel
89e8d1526f
refactor: derive SerAttrs on all AST types ( #2698 )
...
Add `SerAttrs` derive to a few types that I missed out in #2669 .
2024-03-13 00:14:04 +00:00
Boshen
0f86333437
refactor(ast): refactor Trivias API - have less noise around it ( #2692 )
2024-03-12 20:16:36 +08:00
Boshen
86ee074678
fix(parser): remove all duplicated comments in trivia builder ( #2689 )
2024-03-12 17:51:22 +08:00
Boshen
977c20b677
feat(coverage): add a duplicate comment check ( #2688 )
2024-03-12 16:52:34 +08:00
Boshen
cda9c93436
fix(parser): improve lexing of jsx identifier to fix duplicated comments after jsx name ( #2687 )
2024-03-12 15:51:51 +08:00
Boshen
6c6adb46d1
fix(ast): parse rest parameter with the correct optional and type annotation syntax ( #2686 )
...
closes #2653
2024-03-12 15:47:22 +08:00
Dunqing
e86cd629c8
feat(linter/import): support check reexport binding in namespace ( #2678 )
2024-03-12 13:21:19 +08:00
Wang Wenzhe
220eba14cd
refactor(lint): split files for no_side_effects rule ( #2684 )
2024-03-12 11:09:33 +08:00
Wang Wenzhe
3ae94795a1
feat(linter): report side effect for array element in node_side_effects rule ( #2683 )
2024-03-12 11:04:38 +08:00
Boshen
366a87975d
feat(linter): resolve ESM star exports ( #2682 )
2024-03-11 21:43:11 +08:00
Boshen
8a73d18fcf
chore(parser): make sure all span.end >= span.start ( #2681 )
...
closes #2679
2024-03-11 19:49:51 +08:00
overlookmotel
75ae563dbc
refactor(span): change shape of Language ( #2680 )
...
Closes #2677 .
Also changed the JSON output to be `javascript`, `typescript` or
`typescriptDefinition`. The current value `javaScript` / `typeScript` is
a bit weird.
2024-03-11 19:03:06 +08:00
Arnaud Barré
b378e7ecc9
fix(parser): fix span for JSXEmptyExpression with comment ( #2673 )
...
[playground](https://oxc-project.github.io/oxc/playground/?code=3YCAAICVgICAgICAgICejwtjmCpbllbPawdM2eEFKwhGb62iFlQWu39yrLCA )
---------
Co-authored-by: Boshen <boshenc@gmail.com>
2024-03-11 10:50:33 +00:00
renovate[bot]
68c01d304e
chore(deps): update softprops/action-gh-release action to v2 ( #2676 )
2024-03-11 15:33:50 +08:00
renovate[bot]
7128b814d4
chore(deps): update website npm packages ( #2675 )
2024-03-11 15:14:24 +08:00
overlookmotel
3305734b34
fix(ast): add type field to TS types for ObjectPattern etc ( #2670 )
...
Fixes #2658 (details given in https://github.com/oxc-project/oxc/issues/2657#issuecomment-1987289481 ).
Add `type` fields to TS types for `ObjectPattern`, `ArrayPattern` etc which were missing previously.
2024-03-11 13:42:28 +08:00
renovate[bot]
3a19169764
chore(deps): update vscode npm packages ( #2672 )
2024-03-11 13:39:27 +08:00
renovate[bot]
b822b6d9eb
chore(deps): update rust crates ( #2671 )
2024-03-11 13:39:02 +08:00
overlookmotel
3c1e0db53f
refactor: reduce cfg_attr boilerplate with SerAttrs derive ( #2669 )
...
Closes #2641 .
Also added `tsify` attribute to the `SerAttrs` derive macro, so `#[cfg_attr(feature = "wasm", tsify(...))]` can also be reduced to `#[tsify(...)]`.
2024-03-11 13:38:24 +08:00
overlookmotel
f27db301a9
fix(ast): fix TS type for AssignmentTargetRest ( #2668 )
...
Fix for #2657 .
2024-03-11 12:42:45 +08:00
overlookmotel
cba1e2f338
refactor(ast): import Tsify to shorten code ( #2665 )
...
Pure refactor. Import `tsify::Tsify` in files that use it, so then shorten a load of:
```diff
- #[cfg_attr(feature = "wasm", derive(tsify::Tsify))]
+ #[cfg_attr(feature = "wasm", derive(Tsify))]
```
2024-03-11 12:37:10 +08:00
overlookmotel
d47f0e247d
fix(ast): rename TSIndexSignatureName in JSON AST ( #2664 )
...
Fixes #2656 .
2024-03-10 17:11:28 +00:00
Wang Wenzhe
975bc05f76
chore(tasks): remove unused rulegen command ( #2667 )
2024-03-10 23:00:22 +08:00
Wang Wenzhe
f8e8af2a66
feat(task): init eslint-plugin-tree-shaking rule ( #2662 )
2024-03-10 22:07:34 +08:00
Wang Wenzhe
588e94604c
chore(tasks): replace \" with single double quote ( #2663 )
2024-03-10 22:02:35 +08:00
Wang Wenzhe
a218242632
fix(wasm): use default compress option when compress is opened in playground ( #2661 )
...
Closes : #2645
2024-03-10 14:29:29 +08:00
Arnaud Barré
82260318a9
fix(parser): fix span start for return type in function type ( #2660 )
...
This matter for code like. This matches the behavior of both Babel and
TSESLint.
```ts
export type Plugin = (
a: string
) => // Comment
number
```
[TSESLint](https://ast.sxzz.moe/#eNo9jMEKwjAMQH8l5KQw2X0wL/6AB/HUS61hVNq0pKkoY/9u52C35L3kzRhwwJd92+LEZ8UOcwP6zbSBE5XgeeWucfrkJAqrhmuok2cY4WAYwA5QVDxPho8wnqHv4ZJiJFbDXOODpCVSS8zrtcGSqji6tZDBoe0xPWtoc7dpctHeSYpPvPlglYruXixP/0+VSoYXXH53+0Kk )
[OXC](https://oxc-project.github.io/oxc/playground/?code=3YCAAIC5gICAgICAgICyHorESipoTp3admelrvvzLVu5WllVkMM9n7p1s27YYhddDchOGSC6foF%2BGw%2B1Mfo7DYhiNueGpuc27%2F3gf2tToIA%3D )
2024-03-10 13:32:25 +08:00