Commit graph

3667 commits

Author SHA1 Message Date
overlookmotel
55bbde2888 refactor(ast): move scope from TSModuleBlock to TSModuleDeclaration (#3488)
Closes #3471.

Remove scope from `TSModuleBlock` and add scope to `TSModuleDeclaration` instead.
2024-05-31 17:33:05 +00:00
overlookmotel
9c3d1631a4 refactor(ast): rename function params (#3487)
Rename function params from `_kind` to `kind`. This has no practical effect but makes Rust Analyser give nicer param name hints when using these APIs.
2024-05-31 12:34:48 +00:00
overlookmotel
286b5ed3d7 refactor(ast): remove defunct hashing of Span (#3486)
`Span` has a no-op `Hash` impl.

ea53267956/crates/oxc_span/src/span.rs (L50-L54)

So remove pointless `self.span.hash(state)` operations from `Hash` impls for AST nodes.
2024-05-31 12:25:05 +00:00
Dunqing
ea53267956 fix(ast): UsingDeclaration is not a typescript syntax (#3482) 2024-05-31 11:15:37 +00:00
Dunqing
9dc58d582d refactor(transformer/typescript): use a memory-safe implementation instead (#3481)
The previous implementation causes memory double free, but I don't know why.
2024-05-31 11:15:35 +00:00
Dunqing
25e5bdda3c fix(transformer/typescript) if this statement is typescript syntax, replace it with a BlockStatement (#3480) 2024-05-31 07:24:47 +00:00
overlookmotel
84feceb118 refactor(transformer): explicit skip TS statements in TS namespace transform (#3479)
No substantive change. This should just be slightly more efficient as we've already handled most of the other variants earlier in the match.
2024-05-31 05:52:14 +00:00
overlookmotel
7f7b5ea9e8 refactor(transformer): shorter code in TS namespace transform (#3478)
Small refactor to shorten code.
2024-05-31 05:39:50 +00:00
overlookmotel
7e7b4526ba refactor(transformer): panic on illegal cases in TS namespace transform (#3477)
Panic on function or class declaration without `id`. This should be impossible.
2024-05-31 05:39:46 +00:00
overlookmotel
8e089a9f2d refactor(transformer): rename var (#3476)
Just rename a variable.
2024-05-31 05:34:56 +00:00
Boshen
851318b413
ci(): install rust before cache in windows-test 2024-05-31 10:01:09 +08:00
Boshen
8fe58921e9
ci: speed up windows build (#3474)
Windows warm cache run reduced from 3 mins to 2 mins 20 seconds.

Unsung heros of the internet, who led me here to speed up window's
slowness:
* `https://github.com/actions/cache/issues/752#issuecomment-1847036770`
*
502e04200d/.github/workflows/ci.yml (L158)
2024-05-31 09:48:28 +08:00
overlookmotel
0f69ffda5f refactor(transformer): shorten code in TS namespace transform (#3468)
Refactor to shorten code.
2024-05-30 21:56:31 +00:00
overlookmotel
deef86aff2 refactor(transformer): remove unreachable code from TS namespace transform (#3475)
As discussed in https://github.com/oxc-project/oxc/pull/3468#discussion_r1619782711, `export {x}` is not legal inside a TS namespace. So remove the code which handles this impossible case.
2024-05-30 21:56:30 +00:00
Boshen
0f4bcc0a68
ci: fix cache for clippy and docs 2024-05-30 23:43:41 +08:00
Boshen
41d67fe6f6
ci: clean up the bloat action 2024-05-30 23:26:34 +08:00
Dunqing
574629e5de feat(tasks/coverage): turn on idempotency testing for transformer (#3470) 2024-05-30 22:15:32 +08:00
Dunqing
350cd9158a
fix(parser): should parser error when function declaration has no name (#3461)
https://oxc-project.github.io/oxc/playground/?code=3YCAAICNgICAgICAgICzncl%2FKeF7k4Y7upgY2l43c79%2FYxaAgA%3D%3D
2024-05-30 19:58:50 +08:00
Dunqing
baed1ca645 fix(transformer/jsx-source): add filename statement only after inserting the source object (#3469) 2024-05-30 11:36:14 +00:00
Boshen
83a1715a08
chore: oxc-browserslist to v0.16.2 (#3466) 2024-05-30 19:30:21 +08:00
谭光志
4c17bc6f53
feat(linter): eslint/no-constructor-return (#3321) 2024-05-30 09:06:17 +00:00
IWANABETHATGUY
0cdb45a1ff
feat(oxc_codegen): preserve annotate comment (#3465)
1. Copy tests from
efa3dd2d8e/internal/bundler_tests/bundler_dce_test.go (L3833-L3971)
2. Add option to preserve annotate comment like `/* #__NO_SIDE_EFFECTS__
*/` and `/* #__PURE__ */`
2024-05-30 15:25:23 +08:00
Boshen
ec041a07fd
chore: oxc-browserslist to v0.16.1 (#3466) 2024-05-30 10:30:57 +08:00
overlookmotel
15734f5c4b
chore(parser): code comment for cold trampoline function (#3467)
Add a comment to explain the "cold trampoline function" used in lexer.
2024-05-30 01:11:00 +01:00
Dunqing
b4fd1ad31c fix(transformer/typescript): variable declarations are not created when a function has a binding with the same name (#3460) 2024-05-29 23:00:22 +00:00
Dunqing
1a50b86281 refactor(typescript/namespace): reuse TSModuleBlock's scope id (#3459) 2024-05-29 23:00:15 +00:00
Boshen
0d35f227b5
ci: fix sccache in "check conformance" 2024-05-30 00:46:47 +08:00
overlookmotel
90b0f6da81
fix(transformer): use UIDs for React imports (#3431)
Use UIDs for local var names for React JSX imports e.g. `_jsx` in
`import { jsx as _jsx } from "react/jsx-runtime";`.
2024-05-29 18:32:10 +08:00
rzvxa
b1887782ac fix(linter/eslint): fix require-await false positives in ForOfStatement. (#3457)
closes #3456
2024-05-28 17:58:31 +00:00
Boshen
0a61843ea8
ci: fix smoke test failing because bash is not installed on alpine 2024-05-28 23:47:10 +08:00
Boshen
031bbe6dc4
Release oxlint and vscode extension v0.4.2 2024-05-28 23:06:30 +08:00
Boshen
64246c59ae
deps: bump oxc-browserslist (removes the build script) 2024-05-28 23:04:20 +08:00
Wang Wenzhe
e275659cdc
feat(linter): add oxc/no-rest-spread-properties rule (#3432)
People open this rule may have some specific purpose, I am deliberating
about whether to add a custom message.
2024-05-28 15:04:17 +00:00
Wang Wenzhe
0d2c977c11
feat(linter): add oxc/no-const-enum rule (#3435) 2024-05-28 22:50:54 +08:00
Dunqing
6a1f2c21df chore(transform_conformance): skip some test cases (#3449) 2024-05-28 13:38:03 +00:00
Dunqing
92df98b005 feat(transformer/typescript): report error that do not allow namespaces (#3448) 2024-05-28 13:38:01 +00:00
Dunqing
a6b073a47c feat(transformer/typescript): report error for namespace exporting non-const (#3447) 2024-05-28 13:38:00 +00:00
Dunqing
150255c704 feat(transformer/typescript): if within a block scope, use let to declare enum name (#3446) 2024-05-28 13:37:58 +00:00
Dunqing
e80552c797 feat(transformer/typescript): if binding exists, variable declarations are not created for namespace name (#3445) 2024-05-28 13:37:57 +00:00
Dunqing
cf41513d28
fix(parser): parse const extends in arrow functions correctly (#3450)
close: #3443
2024-05-28 21:34:52 +08:00
Wang Wenzhe
085f91761c
feat(linter): add oxc/no-async-await rule (#3438) 2024-05-28 21:31:56 +08:00
cinchen
ded59bc35b
feat(linter): eslint-plugin-jest/require-top-level-describe (#3439)
part of https://github.com/oxc-project/oxc/issues/492

Rule Detail:
[link](https://github.com/jest-community/eslint-plugin-jest/blob/main/src/rules/require-top-level-describe.ts)

---------

Co-authored-by: wenzhe <mysteryven@gmail.com>
2024-05-28 21:23:16 +08:00
cinchen
edaa555620
feat(linter): eslint-plugin-jest/prefer-hooks-on-top (#3437)
part of https://github.com/oxc-project/oxc/issues/492

Rule Detail:
[link](https://github.com/jest-community/eslint-plugin-jest/blob/main/src/rules/prefer-hooks-on-top.ts)
2024-05-28 20:42:14 +08:00
Boshen
c2c425d4dc
chore: bump criterion2 (#3444) 2024-05-28 15:49:51 +08:00
Boshen
515deb6165
chore: add cargo oxlint command 2024-05-28 11:10:08 +08:00
Boshen
570b234a70
chore(transformers): switch crate browserslist-rs to oxc-browserslist 2024-05-28 10:49:49 +08:00
Jelle van der Waa
b589fd612f
feat(linter/eslint): Implement no-div-regex (#3442)
Rule Detail:
[link](https://eslint.org/docs/latest/rules/no-div-regex)
2024-05-28 09:13:11 +08:00
overlookmotel
6a322c9c96
chore(traverse): code comments - edit comment to outline a better way to generate UIDs (#3434)
Edit comment to outline a better way to generate UIDs.
2024-05-27 22:52:46 +08:00
Dunqing
9c58231c62
refactor(semantic): use a simpler way to resolve reference for ReferenceFlag::Type (#3430) 2024-05-27 22:43:52 +08:00
Bastian Hodapp
2216066e86
chore: Fix typo in README (#3433) 2024-05-27 22:42:06 +08:00