Commit graph

3920 commits

Author SHA1 Message Date
rzvxa
49d28c0dd2 chore(benchmark): enable cfg for linter benchmarks. (#3746)
The benchmark result on this PR - if we filter out the unstable benchmarks - can also be used to show the total impact of CFG enable rules.
2024-06-19 05:12:58 +00:00
github-actions[bot]
1b3cd6c24d
Release crates v0.15.0 (#3743)
## [0.15.0] - 2024-06-18

- 0537d29 cfg: [**BREAKING**] Move control flow to its own crate.
(#3728) (rzvxa)

- 5c38a0f codegen: [**BREAKING**] New code gen API (#3740) (Boshen)

- 4bce59d semantic/cfg: [**BREAKING**] Re-export `petgraph` as
`control_flow::graph`. (#3722) (rzvxa)

- 534242a codegen: [**BREAKING**] Remove
`CodegenOptions::enable_typescript` (#3674) (Boshen)

- 0578ece ast: [**BREAKING**] Remove
`ExportDefaultDeclarationKind::TSEnumDeclaration` (#3666) (Dunqing)

### Features

- 5a99d30 codegen: Improve codegen formatting (#3735) (Boshen)
- bf9b38a codegen: Improve codegen formatting (#3731) (Boshen)
- 4a004e2 codegen: Print TSImport remaining fields (#3695) (Dunqing)
- a56cb1b codegen: Print accessibility for MethodDefinition (#3690)
(Dunqing)
- 38a75e5 coverage: Improve codegen (#3729) (Boshen)
- 750a534 coverage: Transformer idempotency test (#3691) (Boshen)
- ee627c3 isolated-declarations: Create unique name for `_default`
(#3730) (Dunqing)
- 81e9526 isolated-declarations: Inferring set accessor parameter type
from get accessor return type (#3725) (Dunqing)
- 77d5533 isolated-declarations: Report errors that are consistent with
typescript. (#3720) (Dunqing)
- 8f5655d linter: Add eslint/no-useless-constructor (#3594) (Don Isaac)
- 046ff3f linter/eslint: Add `no_unreachable` rule. (#3238) (rzvxa)
- 0b8098a napi: Isolated-declaration (#3718) (Boshen)
- 527bfc8 npm/oxc-transform: Setup npm/oxc-transform and publish
(Boshen)
- d65c652 parser: Display jsx mismatch error, e.g. `<Foo></Bar>` (#3696)
(Boshen)
- 9c31ed9 semantic/cfg: Propagate unreachable edges through subgraphs.
(#3648) (rzvxa)
- d9c5b33 semantic/cfg: Add `Condition` instruction. (#3567) (Ali
Rezvani)
- f2dfd66 semantic/cfg: Add iteration instructions. (#3566) (rzvxa)
- 910193e transformer-dts: Report error for super class (#3711)
(Dunqing)
- 413d7be transformer-dts: Transform enum support (#3710) (Dunqing)
- 35c382e transformer-dts: Remove type annotation from private field
(#3689) (Dunqing)
- 0e6d3ce transformer-dts: Report error for async function and generator
(#3688) (Dunqing)
- b22b59a transformer-dts: Transform namespace support (#3683) (Dunqing)
- 4f2db46 transformer-dts: `--isolatedDeclarations` dts transform
(#3664) (Dunqing)

### Bug Fixes

- 2158268 ast: Incorrect visit order in function (#3681) (Dunqing)
- da1e2d0 codegen: Improve typescript codegen (#3708) (Boshen)
- f1b793f isolated-declarations: Function overloads reaching unreachable
(#3739) (Dunqing)
- 0fbecdc isolated-declarations: Should be added to references, not
bindings (#3726) (Dunqing)
- 8f64d99 minifier: Respect `join_vars: false` option (#3724)
(mysteryven)
- 70fc69b semantic: Add Eq to CtxFlags (#3651) (Yuji Sugiura)
- 7a58fec semantic/cfg: Issue in unlabeled `Ctx`s. (#3678) (rzvxa)
- abd6ac8 semantic/cfg: Discrete finalization path after `NewFunction`s.
(#3671) (rzvxa)
- e148a32 semantic/cfg: Correct unreachability propagation in
try-finally. (#3667) (Ali Rezvani)
- 59666e0 transformer: Do not rename accessible identifier references
(#3623) (Dunqing)
- 90743e2 traverse: Change visit order for `Function` (#3685)
(overlookmotel)

### Performance

- 2717a1a semantic/cfg: Lower the visits in
`neighbors_filtered_by_edge_weight`. (#3676) (rzvxa)

### Refactor

- fa7a6ba codegen: Add `gen` method to ast nodes (#3687) (Boshen)
- 09b92b6 codegen: Move `gen_ts` into `gen` to make searching things
easier (#3680) (Boshen)
- 3c59735 isolated-declarations: Remove `TransformDtsCtx` (#3719)
(Boshen)
- 815260e isolated-declarations: Decouple codegen (#3715) (Boshen)
- 7ec44f8 semantic: Rename `cfg` macro to `control_flow`. (#3742)
(rzvxa)
- d8ad321 semantic: Make control flow generation optional. (#3737)
(rzvxa)
- a94a72d semantic: Expose 1 checker function instead of 2 (#3694)
(Boshen)
- bd8d115 semantic/cfg: Remove unused types. (#3677) (rzvxa)
- f702fb9 semantic/cfg: Cleanup control flow and it's builder. (#3650)
(rzvxa)
- 4f16664 transformer_dts: Create a `Program` for codegen (#3679)
(Boshen)

Co-authored-by: Boshen <Boshen@users.noreply.github.com>
2024-06-19 01:15:55 +08:00
Boshen
9e14c75e2a
chore: oxc_cfg.publish = true 2024-06-19 01:09:47 +08:00
rzvxa
7ec44f84a5 refactor(semantic): rename cfg macro to control_flow. (#3742)
As requested here https://github.com/oxc-project/oxc/pull/3737#discussion_r1644713121
2024-06-18 17:01:49 +00:00
Boshen
4e9d8a5585
chore: fix some nightly clippy warnings 2024-06-19 00:53:58 +08:00
Boshen
051ceb6539
chore: improve some format by running cargo +nightly fmt 2024-06-19 00:48:30 +08:00
Boshen
e592883bc1
chore: add oxc-transform to oxc_release.toml 2024-06-19 00:46:45 +08:00
Boshen
ce05671e90
Update README.md 2024-06-19 00:37:47 +08:00
Dunqing
f1b793fbba fix(isolated-declarations): function overloads reaching unreachable (#3739) 2024-06-18 16:14:14 +00:00
rzvxa
256acc949b
chore(semantic)!: no longer generate CFG by default. (#3738)
related but won't close #3641
2024-06-19 00:13:29 +08:00
rzvxa
d8ad321687 refactor(semantic): make control flow generation optional. (#3737)
For maximum backward compatibility, we generate CFG by default.

Note: It can't be done with a simple method since lifetimes make it impossible(at least without unsafe trickery) I've tried to do it without a macro but it was just unintuitive.
2024-06-18 15:59:38 +00:00
rzvxa
0537d298db refactor(cfg)!: move control flow to its own crate. (#3728) 2024-06-18 15:59:29 +00:00
Boshen
5c38a0fd69 feat(codegen)!: new code gen API (#3740)
This PR introduces two type alias to avoid the confusing const generic `pub struct Codegen<'a, const MINIFY: bool>`

* CodeGenerator - Code generator without whitespace removal.
* WhitespaceRemover - Code generator with whitespace removal.

Usage is changed to a builder pattern:

```rust
CodeGenerator::new()
  .enable_comment(...)
  .enable_sourcemap(...)
  .build(&program);
```
2024-06-18 15:50:12 +00:00
Boshen
527bfc82f5
feat(npm/oxc-transform): setup npm/oxc-transform and publish 2024-06-18 22:12:47 +08:00
Boshen
02cc14e90c
chore: remove npm/oxc package 2024-06-18 21:32:25 +08:00
Boshen
5a99d30eba feat(codegen): improve codegen formatting (#3735) 2024-06-18 11:10:36 +00:00
Wang Wenzhe
4d462636cb
feat(playground): support modify compressor's options (#3734)
![CleanShot 2024-06-18 at
16.18.02@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/nUl2MXIwjUWxxQRgpP2H/37eda403-b5af-44ad-8858-4693e60abbd1.png)
2024-06-18 18:49:16 +08:00
Boshen
bf9b38a197 feat(codegen): improve codegen formatting (#3731) 2024-06-18 04:14:10 +00:00
Dunqing
ee627c355c feat(isolated-declarations): create unique name for _default (#3730) 2024-06-18 03:40:45 +00:00
Boshen
38a75e559b feat(coverage): improve codegen (#3729) 2024-06-18 02:53:09 +00:00
Boshen
41b3c24f98 feat(coverage): snapshot isolated declarations dts emit (#3723) 2024-06-17 18:31:03 +00:00
Dunqing
889198ae60 fix(coverage/transpiler): diff comparison results are reversed (#3727)
<img width="963" alt="image" src="https://github.com/oxc-project/oxc/assets/29533304/fbec74bc-e06e-42f3-9963-f2fdce3ae784">
2024-06-17 16:47:05 +00:00
Dunqing
0fbecdcd81 fix(isolated-declarations): should be added to references, not bindings (#3726) 2024-06-17 16:47:02 +00:00
mysteryven
8f64d9992f fix(minifier): respect join_vars: false option (#3724)
fix: #3705
2024-06-17 15:52:21 +00:00
Dunqing
81e952632d feat(isolated-declarations): inferring set accessor parameter type from get accessor return type (#3725) 2024-06-17 15:47:23 +00:00
rzvxa
4bce59df68 refactor(semantic/cfg)!: re-export petgraph as control_flow::graph. (#3722)
So we can replace or extend it easily.
2024-06-17 14:16:55 +00:00
Boshen
f42c325a06 refactor(napi): change "isolated declarations" to "transform" (#3721) 2024-06-17 14:09:18 +00:00
Dunqing
77d553364d feat(isolated-declarations): report errors that are consistent with typescript. (#3720) 2024-06-17 13:53:19 +00:00
Boshen
3c597356e4 refactor(isolated-declarations): remove TransformDtsCtx (#3719) 2024-06-17 13:16:25 +00:00
Boshen
0b8098a442 feat(napi): isolated-declaration (#3718) 2024-06-17 13:06:00 +00:00
Boshen
1c7f19c868 chore(oxlint): remove unused code (format command) (#3716) 2024-06-17 12:16:21 +00:00
rzvxa
080ecbd88d feat(linter): add no-fallthrough. (#3673)
[no-fallthrough](https://eslint.org/docs/latest/rules/no-fallthrough)

[oxlint-ecosystem-ci](https://github.com/rzvxa/oxlint-ecosystem-ci/actions/runs/9546510803)

related to #633 and closes #597
also related to #3662
2024-06-17 11:50:24 +00:00
Boshen
815260ed2f refactor(isolated-declarations): decouple codegen (#3715) 2024-06-17 11:45:29 +00:00
Boshen
87c3282deb chore(transformer-dts): change crate to oxc_isolated_declarations (#3713) 2024-06-17 11:14:13 +00:00
Boshen
982e6f08df chore: make println and eprintln opt-in (#3712)
I noticed accidental `println` can be merged, which isn't really nice.
2024-06-17 10:40:34 +00:00
renovate
8dc985a8fa chore(deps): update rust crates (#3709)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [criterion2](https://bheisler.github.io/criterion.rs/book/index.html) ([source](https://togithub.com/Boshen/criterion2.rs)) | workspace.dependencies | minor | `0.10.0` -> `0.11.0` |
| [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.7.2` -> `2.7.4` |
| [oxc-browserslist](https://togithub.com/oxc-project/oxc-browserslist) | workspace.dependencies | patch | `0.17.0` -> `0.17.1` |
| [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.5.0` -> `2.5.1` |

---

### Release Notes

<details>
<summary>Boshen/criterion2.rs (criterion2)</summary>

### [`v0.11.0`](https://togithub.com/Boshen/criterion2.rs/blob/HEAD/CHANGELOG.md#0110---2024-06-14)

[Compare Source](https://togithub.com/Boshen/criterion2.rs/compare/v0.10.0...v0.11.0)

##### Added

-   \[**breaking**] remove csv_output ([#&#8203;33](https://togithub.com/Boshen/criterion2.rs/pull/33))
-   rm crate `criterion-macro`

##### Other

-   *(deps)* update dependency rust to v1.79.0 ([#&#8203;35](https://togithub.com/Boshen/criterion2.rs/pull/35))
-   *(deps)* update rust crates ([#&#8203;32](https://togithub.com/Boshen/criterion2.rs/pull/32))
-   *(deps)* lock file maintenance rust crates ([#&#8203;31](https://togithub.com/Boshen/criterion2.rs/pull/31))
-   check unused dependencies

</details>

<details>
<summary>BurntSushi/memchr (memchr)</summary>

### [`v2.7.4`](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4)

### [`v2.7.3`](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3)

[Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3)

</details>

<details>
<summary>oxc-project/oxc-browserslist (oxc-browserslist)</summary>

### [`v0.17.1`](https://togithub.com/oxc-project/oxc-browserslist/blob/HEAD/CHANGELOG.md#0171---2024-06-17)

[Compare Source](https://togithub.com/oxc-project/oxc-browserslist/compare/oxc-browserslist-v0.17.0...oxc-browserslist-v0.17.1)

##### Other

-   *(deps)* update npm packages ([#&#8203;45](https://togithub.com/oxc-project/oxc-browserslist/pull/45))

</details>

<details>
<summary>servo/rust-url (url)</summary>

### [`v2.5.1`](https://togithub.com/servo/rust-url/releases/tag/v2.5.1)

[Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.0...v2.5.1)

#### What's Changed

-   Be more detailed in documentation of set_query by [@&#8203;philippeitis](https://togithub.com/philippeitis) in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737)
-   perf(punycode): avoid double allocation in decode_to_string by [@&#8203;bishopcheckmate](https://togithub.com/bishopcheckmate) in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894)
-   Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [@&#8203;valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/902](https://togithub.com/servo/rust-url/pull/902)
-   Add dependabot by [@&#8203;oriontvv](https://togithub.com/oriontvv) in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903)
-   Bump codecov/codecov-action from 3 to 4 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904)
-   Bump actions/upload-artifact from 2 to 4 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/905](https://togithub.com/servo/rust-url/pull/905)
-   Bump actions/checkout from 3 to 4 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/906](https://togithub.com/servo/rust-url/pull/906)
-   Fix non-base64 data URLs with % characters not followed by hex digits by [@&#8203;SmaugPool](https://togithub.com/SmaugPool) in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797)
-   Rename `master` branch to `main` by [@&#8203;mrobinson](https://togithub.com/mrobinson) in [https://github.com/servo/rust-url/pull/914](https://togithub.com/servo/rust-url/pull/914)
-   Add bench for to_ascii on an already-Punycode name by [@&#8203;hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915)
-   Update URLs by [@&#8203;atouchet](https://togithub.com/atouchet) in [https://github.com/servo/rust-url/pull/916](https://togithub.com/servo/rust-url/pull/916)
-   Fix lint by [@&#8203;valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/920](https://togithub.com/servo/rust-url/pull/920)
-   Fix multiple issues on wasm32, and runs url tests in CI by [@&#8203;micolous](https://togithub.com/micolous) in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886)
-   Non-special URLs can have their paths erased by [@&#8203;DylanOToole2](https://togithub.com/DylanOToole2) in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921)
-   docs: document SyntaxViolation variants, remove bare URLs by [@&#8203;aatifsyed](https://togithub.com/aatifsyed) in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924)
-   docs: Document possible replacements of the base URL by [@&#8203;mo8it](https://togithub.com/mo8it) in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926)
-   Reimplement idna on top of ICU4X by [@&#8203;hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/923](https://togithub.com/servo/rust-url/pull/923)

#### New Contributors

-   [@&#8203;philippeitis](https://togithub.com/philippeitis) made their first contribution in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737)
-   [@&#8203;bishopcheckmate](https://togithub.com/bishopcheckmate) made their first contribution in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894)
-   [@&#8203;oriontvv](https://togithub.com/oriontvv) made their first contribution in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903)
-   [@&#8203;dependabot](https://togithub.com/dependabot) made their first contribution in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904)
-   [@&#8203;SmaugPool](https://togithub.com/SmaugPool) made their first contribution in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797)
-   [@&#8203;hsivonen](https://togithub.com/hsivonen) made their first contribution in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915)
-   [@&#8203;micolous](https://togithub.com/micolous) made their first contribution in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886)
-   [@&#8203;DylanOToole2](https://togithub.com/DylanOToole2) made their first contribution in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921)
-   [@&#8203;aatifsyed](https://togithub.com/aatifsyed) made their first contribution in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924)
-   [@&#8203;mo8it](https://togithub.com/mo8it) made their first contribution in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926)

**Full Changelog**: https://github.com/servo/rust-url/compare/v2.5.0...v2.5.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2024-06-17 09:49:03 +00:00
Boshen
da1e2d0e9b fix(codegen): improve typescript codegen (#3708)
Remaining issues are tracked in https://github.com/oxc-project/oxc/issues/3692
2024-06-17 09:34:54 +00:00
Dunqing
910193e0aa feat(transformer-dts): report error for super class (#3711) 2024-06-17 08:49:12 +00:00
Dunqing
413d7beb77 feat(transformer-dts): transform enum support (#3710) 2024-06-17 08:49:08 +00:00
mysteryven
9493fbef2c feat(linter): add oxc/no-optional-chaining rule (#3700)
To support: https://github.com/vuejs/core/pull/10919
2024-06-17 08:28:49 +00:00
mysteryven
139adfe7cb feat(linter): add @typescript-eslint/no-import-type-side_effects (#3699) 2024-06-17 08:25:20 +00:00
renovate[bot]
a048493a92
chore(deps): update pnpm to v9.3.0 (#3707)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) |
[`9.2.0` -> `9.3.0`](https://renovatebot.com/diffs/npm/pnpm/9.2.0/9.3.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.2.0/9.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.2.0/9.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v9.3.0`](https://togithub.com/pnpm/pnpm/releases/tag/v9.3.0)

[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.2.0...v9.3.0)

#### Minor Changes

- **Semi-breaking.** Dependency key names in the lockfile are shortened
if they are longer than 1000 characters. We don't expect this change to
affect many users. Affected users most probably can't run install
successfully at the moment. This change is required to fix some edge
cases in which installation fails with an out-of-memory error or
"Invalid string length (RangeError: Invalid string length)" error. The
max allowed length of the dependency key can be controlled with the
`peers-suffix-max-length` setting
[#&#8203;8177](https://togithub.com/pnpm/pnpm/pull/8177).

#### Patch Changes

- Set `reporter-hide-prefix` to `true` by default for `pnpm exec`. In
order to show prefix, the user now has to explicitly set
`reporter-hide-prefix=false`
[#&#8203;8174](https://togithub.com/pnpm/pnpm/issues/8174).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg"
width="80"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/discord.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/discord_light.svg" />
<img src="https://pnpm.io/img/users/discord.svg" width="220" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/nx.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/nx_light.svg" />
            <img src="https://pnpm.io/img/users/nx.svg" width="120" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/coderabbit.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
<img src="https://pnpm.io/img/users/coderabbit.svg" width="220" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Our Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://vpsserver.com/en-us/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vpsserver.svg" width="180" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 03:16:12 +00:00
overlookmotel
90743e2a07
fix(traverse): change visit order for Function (#3685)
Alter `Traverse`'s visitation order for fields of `Function`, to match
the change made to `Visit` in #3681.
2024-06-17 10:45:36 +08:00
renovate[bot]
6c1525eb9d
chore(deps): update dependency prettier to v3.3.2 (#3702)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [prettier](https://prettier.io)
([source](https://togithub.com/prettier/prettier)) | [`3.3.1` ->
`3.3.2`](https://renovatebot.com/diffs/npm/prettier/3.3.1/3.3.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.3.1/3.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.3.1/3.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>prettier/prettier (prettier)</summary>

###
[`v3.3.2`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#332)

[Compare
Source](https://togithub.com/prettier/prettier/compare/3.3.1...3.3.2)

[diff](https://togithub.com/prettier/prettier/compare/3.3.1...3.3.2)

##### Fix handlebars path expressions starts with `@`
([#&#8203;16358](https://togithub.com/prettier/prettier/pull/16358) by
[@&#8203;Princeyadav05](https://togithub.com/Princeyadav05))

<!-- prettier-ignore -->

```hbs
{{! Input }}
<div>{{@&#8203;x.y.z}}</div>

{{! Prettier 3.3.1 }}
<div>{{@&#8203;x}}</div>

{{! Prettier 3.3.2 }}
<div>{{@&#8203;x.y.z}}</div>
```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 00:51:01 +00:00
renovate[bot]
810ac13511
chore(deps): update crate-ci/typos action to v1.22.7 (#3701)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://togithub.com/crate-ci/typos) | action | patch
| `v1.22.4` -> `v1.22.7` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.22.7`](https://togithub.com/crate-ci/typos/releases/tag/v1.22.7)

[Compare
Source](https://togithub.com/crate-ci/typos/compare/v1.22.6...v1.22.7)

#### \[1.22.7] - 2024-06-12

##### Fixes

-   Remove Linux arm64 binary support

###
[`v1.22.6`](https://togithub.com/crate-ci/typos/releases/tag/v1.22.6)

[Compare
Source](https://togithub.com/crate-ci/typos/compare/v1.22.5...v1.22.6)

#### \[1.22.6] - 2024-06-12

###
[`v1.22.5`](https://togithub.com/crate-ci/typos/releases/tag/v1.22.5)

[Compare
Source](https://togithub.com/crate-ci/typos/compare/v1.22.4...v1.22.5)

#### \[1.22.5] - 2024-06-12

##### Features

-   Linux arm64 binaries

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-16 21:36:08 +00:00
Dunqing
af5009a591
feat(transformer-dts): report error for invalid signature property key (#3698) 2024-06-16 16:10:14 +08:00
Boshen
d65c652700
feat(parser): display jsx mismatch error, e.g. <Foo></Bar> (#3696)
relates #3548 

I'll remove the closing name in a follow up PR.

The snapshot is incorrect, so I created a follow up issue:
https://github.com/oxc-project/oxc/issues/3697
2024-06-16 01:05:28 +08:00
Dunqing
4a004e2140 feat(codegen): print TSImport remaining fields (#3695)
```ts
type A = import("./a", { with: { "type": "json"}}).Name<T>
```
2024-06-15 16:25:27 +00:00
Boshen
a94a72dc68
refactor(semantic): expose 1 checker function instead of 2 (#3694) 2024-06-16 00:24:32 +08:00
Boshen
de0690f2e5
fix(linter): do not run getter-return in typescript (#3693) 2024-06-15 23:44:37 +08:00