Commit graph

4557 commits

Author SHA1 Message Date
overlookmotel
bba824bc34 refactor(parser): convert Lexer::read_minus to a single match (#4574)
Same as #4573. Convert `Lexer::read_minus` to a single match rather than multiple `next_ascii_byte_eq` calls.
2024-07-31 03:32:57 +00:00
overlookmotel
ef5418a917 refactor(parser): convert Lexer::read_left_angle to a single match (#4573)
`Lexer::read_left_angle` was a series of disparate `next_ascii_byte_eq` and `peek_byte` calls. Convert it to a single match on `peek_byte`. This I think will remove a couple of bounds checks.
2024-07-31 03:32:54 +00:00
overlookmotel
25679e6277 perf(parser): optimize Lexer::hex_digit (#4572)
Optimize `Lexer::hex_digit`.

Rather than checking for `A-F` and `a-f` separately, can check for them both in one go. `b'A' | 32 == b'a'` (and same for all other alphabetic letters) so matching against `b | 32` allows checking for all matching letters, lower or upper case, in one operation.
2024-07-31 03:32:52 +00:00
DonIsaac
247b2afae7 feat(rulegen): add fix capabilities to new rule template (#4558) 2024-07-31 03:28:17 +00:00
DonIsaac
b952942993 feat(linter): add eslint/no-unused-vars ( attempt 3.2) (#4445)
> Re-creation of #4427 due to rebasing issues. Original attempt: #642
-----

Third time's the charm?

Each time I attempt this rule, I find a bunch of bugs in `Semantic`, and I expect this attempt to be no different. Expect sidecar issues+PRs stemming from this PR here.

## Not Supported
These are cases supported in the original eslint rule, but that I'm intentionally deciding not to support
- export comments in scripts
  ```js
  /* exported a */ var a;
  ```
- global comments
  ```js
  /* global a */ var a;
   ```

## Behavior Changes
These are intentional deviations from the original rule's behavior:
- logical re-assignments are not considered usages
  ```js
  // passes in eslint/no-unused-vars, fails in this implementation
  let a = 0; a ||= 1;
  let b = 0; b &&= 2;
  let c = undefined; c ??= []
  ```

## Known Limitations
- Lint rules do not have babel or tsconfig information, meaning we can't determine if `React` imports are being used or not. The relevant tsconfig settings here are `jsx`, `jsxPragma`, and `jsxFragmentName`. To accommodate this, all imports to symbols named `React` or `h` are ignored in JSX files.
- References to symbols used in JSDoc `{@link}` tags are not created, so symbols that are only used in doc comments will be reported as unused. See: #4443
- `.vue` files are skipped completely, since variables can be used in templates in ways we cannot detect
  > note: `.d.ts` files are skipped as well.

## Todo
- [x] Skip unused TS enum members on used enums
- [x] Skip unused parameters followed by used variables in object/array spreads
- [x] Re-assignments to array/object spreads do not respect `destructuredArrayIgnorePattern` (related to: https://github.com/oxc-project/oxc/issues/4435)
- [x] #4493
- [x] References inside a nested scope are not considered usages (#4447)
- [x] Port over typescript-eslint test cases _(wip, they've been copied and I'm slowly enabling them)_
- [x] Handle constructor properties
  ```ts
  class Foo {
    constructor(public a) {} // `a` should be allowed
  }
  ```
- [x] Read references in sequence expressions (that are not in the last position) should not count as a usage
  ```js
  let a = 0; let b = (a++, 0); console.log(b)
  ```
  > Honestly, is anyone even writing code like this?
- [x] function overload signatures should not be reported
- [x] Named functions returned from other functions get incorrectly reported as unused (found by @camc314)
  ```js
  function foo() {
    return function bar() { }
  }
  Foo()()
  ```
- [x] false positive for TS modules within ambient modules
  ```ts
  declare global {
    // incorrectly marked as unused
    namespace jest { }
  }
  ```

## Blockers
- https://github.com/oxc-project/oxc/issues/4436
- https://github.com/oxc-project/oxc/issues/4437
- #4446
- #4447
- #4494
- #4495

## Non-Blocking Issues
- #4443
- #4475 (prevents checks on exported symbols from namespaces)
2024-07-31 03:22:16 +00:00
Don Isaac
654395847f
feat(linter): add auto-fix metadata to RuleMeta (#4557)
Add a `FIX` constant to `RuleMeta` that describes what kinds of auto
fixes a
rule can perform (if any). This PR also updates `declare_oxc_lint` to
accept a
fix capabilities field. Follow-up PRs in this stack will update existing
rules
and update other parts of the codebase to use this new field.

The end goal of this stack is to
1. automate creation of #4179 in a similar way we auto-update rule
progress,
2. use it in rule documentation pages when we eventually add lint rules
to the website
2024-07-31 10:51:51 +08:00
Don Isaac
85e8418a78
feat(linter): add react/jsx-curly-brace-presence (#3949)
Note that this PR does not implement a fixer, but one is available.
2024-07-31 10:30:55 +08:00
Jelle van der Waa
eaf834f953
feat(linter/eslint): Implement prefer-numeric-literals (#4109)
Rule Detail:
[link](https://eslint.org/docs/latest/rules/prefer-numeric-literals)

---

This lacks the fix, which I intend to work on as a follow up or if
preferred I can leave the PR open an hack on it this week.

One interesting note is that `eslint(radix)` does not handle:

```
        "function *f(){ yield(Number).parseInt('11', 2) }", // { "ecmaVersion": 6 },
```

Maybe it is an idea to introduce a helper `is_parseint_stmt` which
returns the `call_expr`? As the code is almost identical to the `radix`
rule.

---------

Co-authored-by: wenzhe <mysteryven@gmail.com>
2024-07-31 10:29:36 +08:00
overlookmotel
bb33bcce35 perf(parser): speed up lexing non-decimal numbers (#4571)
Inline `Lexer::read_non_decimal` to reduce branching.
2024-07-31 00:29:00 +00:00
overlookmotel
9e5be78af5 refactor(parser): add Lexer::consume_2_chars (#4569)
Add `Lexer::consume_2_chars` to replace `lexer.consume_char(); lexer.consume_char();`. Mostly this is just neater code, but *may* also help compiler to elide bounds checks when it's preceded by `lexer.peek_2_bytes()`.
2024-07-31 00:28:58 +00:00
overlookmotel
649913e6cd refactor(parser): extract u8 not &u8 when iterating over bytes (#4568)
Iterating over `str.as_bytes()` produces `&u8`s. Dereference to `u8` in `for` statement. Should make no difference to generated assembly, purely making this change for neater code style.
2024-07-31 00:28:57 +00:00
overlookmotel
59f00c0a44 refactor(parser): rename function (#4566)
Rename `matches_number_char` function to `matches_number_byte` as it takes a `u8` byte, not a `char`.
2024-07-31 00:28:55 +00:00
overlookmotel
8e3e9104e5 refactor(parser): rename vars (#4565)
Use `b` everywhere in lexer for a `u8` byte, keeping the name `c` for a vars containing a `char`.
2024-07-31 00:28:53 +00:00
overlookmotel
0c0601f9a4 refactor(parser): rename function (#4564)
Rename `Lexer::next_ascii_char_eq` to `next_ascii_byte_eq`, for consistency with other method names which operate on bytes.
2024-07-31 00:28:51 +00:00
overlookmotel
0acc4a726e refactor(parser): fetch 2 bytes in ? byte handler (#4563)
Lexer's `?` byte handler needs to fetch next 2 bytes, so do that in one shot, rather than bounds-checking twice.
2024-07-31 00:28:50 +00:00
overlookmotel
565eccf631 refactor(parser): shorten lexer code (#4562)
Use `lexer.peek_byte()` instead of `lexer.source.peek_byte()`.
2024-07-31 00:28:48 +00:00
overlookmotel
ab8509edaa perf(parser): use - not saturating_sub (#4561)
Follow-on after #4304. Avoid using `saturating_sub` when plain `-` will do. `-` is cheaper - it's a single assembly instruction, whereas `saturating_sub` is usually 3 instructions.

https://godbolt.org/z/fo8Tcx6bK
2024-07-31 00:28:46 +00:00
DonIsaac
7585e16beb perf(linter): remove allocations for string comparisons (#4570)
Refactors a lot of case-insensitive comparisons from
```rust
a.to_lowercase() == b.to_lowercase()
```

with
```rust
a.eq_ignore_ascii_case(b)
```

These mostly happened when checking JSX props, so I'm expecting the most benefit from JSX-related rules.
2024-07-31 00:24:12 +00:00
DonIsaac
0914e47660 docs(ast): add doc comments to literal nodes (#4551) 2024-07-30 20:36:36 +00:00
Don Isaac
72337b1063
fix(linter): change typescript-eslint/no-namespace to restriction (#4539)
This rule prevents the usage of typescript language features, which is
what the `restriction` category is intended to handle.
2024-07-30 16:29:27 -04:00
lucab
c9c38a187c perf(parser): support peeking over bytes (#4304)
Closes https://github.com/oxc-project/oxc/issues/3291
2024-07-30 17:53:13 +00:00
overlookmotel
732f4e2591 fix(linter): fix oxlint allocator cfg (#4527)
Fix 2 mistakes in the `#[cfg]` for custom allocators in `oxlint` CLI.

1. `#![cfg(not(miri))]` at top of file was disabling the entire module if running miri, rather than just disabling custom allocator.
2. If both `target_os = "windows"` and `not(target_env = "msvc")`, it would try to register both mimalloc and jemalloc as global allocator.

I am actually not sure if it's possible to compile for Windows without using MSVC, but it seems like a good idea not to assume.
2024-07-30 10:47:15 +00:00
DonIsaac
d5c4b190aa fix(parser): fix enum member parsing (#4543)
Closes #4449
2024-07-30 10:43:09 +00:00
Yuji Sugiura
d384f6000a
fix(ci): Remove unused(?) .html file (#4545)
See https://github.com/oxc-project/oxc/actions/workflows/link-check.yml

I don't know why it suddenly started failing, but this file doesn't seem
to be used?
2024-07-30 15:46:48 +08:00
overlookmotel
7c42ffcd06
refactor(sourcemap): align Base64 chars lookup table to cache line (#4535)
Align the Base64 chars lookup table in sourcemap generator so it occupies a single cache line.
2024-07-30 04:28:10 +00:00
overlookmotel
27fd0628ef
refactor(sourcemap)!: avoid passing Results (#4541)
Refactor building sourcemap JSON to avoid passing `Result`s. `Serialize::serialize` is infallible here as writing to a `Vec<u8>` is infallible.
2024-07-30 04:23:49 +00:00
leaysgur
9fcd9ae88c fix(linter/eslint): Fix invalid regexp in no_control_regex test (#4544)
Original regexp was invalid, it throws SyntaxError even in browser.

![image](https://github.com/user-attachments/assets/205729b2-a7f3-4cc1-bc63-7d84f87dc4d2)

I need this change due to reduce CI errors in #4242 🥹
2024-07-30 02:16:06 +00:00
Aza Walker
4c4da561f4
feat(linter): add typescript-eslint/prefer-keyword-namespce (#4438) 2024-07-29 19:02:11 -04:00
overlookmotel
e6a8af6112 refactor(traverse): speed up tests (#4538)
Closes #4537.

`oxc_traverse`'s tests to ensure code which would be undefined behavior will not compile were using `trybuild`. This is a thorough way to run these tests, but requires running a lengthy compilation each time tests run.

Implement these tests as `compile_fail` doc tests instead. This is not quite as thorough - now only testing that they don't compile, rather than also *why* they don't compile - but acceptable given the outsized cost of doing it "properly".
2024-07-29 21:30:13 +00:00
overlookmotel
d6974d4ff7 refactor(semantic): AstNodeParentIter fetch nodes lazily (#4533)
Refactor `AstNodeParentIter`, which is used to iterate down node ancestry chain. Fetch `AstNode` objects lazily, only when they're required by a `next()` call. If caller doesn't iterate all the way down the chain, likely this will result in 1 less array lookup.
2024-07-29 18:27:38 +00:00
lucab
0870ee1f9f perf(parser): get and check lookahead token (#4534) 2024-07-29 16:45:39 +00:00
Dunqing
d914b14275 refactor(semantic): reusing the same reference (#4529)
A minor improvement
2024-07-29 16:16:27 +00:00
DonIsaac
c6a11bed1d docs(ast): auto-generate doc comments for AstBuilder methods (#4471)
# What This PR Does

Modifies `ast_codegen` to auto-generate rustdoc comments for generated `AstBuilder` methods. As we add more doc comments to AST node fields, the generated documentation will get better.

![image](https://github.com/user-attachments/assets/d27f0d53-38dd-4ba8-93e0-ffaf5c8e6809)
2024-07-29 15:50:28 +00:00
overlookmotel
7b5e1f5ac8 refactor(semantic): use is_empty() instead of len() == 0 (#4532)
It's preferred to use `is_empty` where possible. `is_empty` is sometimes slightly more optimized than `len() == 0`.
2024-07-29 15:42:05 +00:00
overlookmotel
9db42592af refactor(semantic): inline trivial methods (#4531)
Add `#[inline]` to trivial methods `ScopeTree` etc. Hopefully compiler is already inlining them all, but just to make sure.
2024-07-29 15:42:03 +00:00
overlookmotel
148bdb5585 refactor(parser): adjust function inlining (#4530)
These 2 `#[inline(always)]` were introduced by accident by me just playing around in #4298. One should be kept, but the other one we should leave to compiler to decide.
2024-07-29 15:38:02 +00:00
Brooooooklyn
1fd9dd0388
perf(sourcemap): use simd to escape JSON string (#4487)
Also optimize the memory allocation in string escape. The default size in `serde_json` is 1024 for String type, we pre allocate `string.len() * 2 + 2` for every string to reduce re-allocate in escaping.

I've tried to hand write SIMD implementation, but it's too complex, so I uses the `v_jsonescape` here. But it doesn't support `aarch64` and `wasm32` simd implementation, we need to contribute to it!
2024-07-29 12:42:21 +00:00
overlookmotel
affd7685de
fix(benchmark): sourcemap benchmark properly test ConcatSourceMapBuilder (#4528)
Make 2 changes to sourcemap benchmark:

1. Move counting line breaks in output text to outside of the measured loop. This operation is reasonably expensive, and isn't part of what we're trying to measure.

2. It looks like benchmark is trying to measure concatenating 2 source maps, but `for i in 0..1` was actually only concatenating 1.
2024-07-29 11:14:40 +00:00
overlookmotel
58c8612f4b chore: format oxlint/Cargo.toml (#4526)
Just correct spacing in `oxlint/Cargo.toml`.
2024-07-29 07:43:57 +00:00
cinchen
d8c2a836f0
feat(linter): eslint-plugin-vitest/no-import-node-test (#4440)
support
[eslint-plugin-vitest/no-import-node-test](https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md)
2024-07-29 13:53:42 +08:00
Dunqing
96602bf98e refactor(transformer/typescript): determine whether to remove ExportSpeicifer by ReferenceFlags (#4513)
After https://github.com/oxc-project/oxc/pull/4511. We can determine if a binding is a type binding just by the `ReferenceFlags`.

We can make it even better with `ident.reference_flag` once #4512 is sorted out
2024-07-29 03:39:20 +00:00
Dunqing
cf1854be7c feat(semantic): remove ReferenceFlags::Value from non-type-only exports that referenced type binding (#4511)
```ts
type T = 0;
export { T }
         ^ ReferenceFlags::Type | ReferenceFlags::Read
```
The export `T` only referenced type binding. We should remove `ReferenceFlags::Read` for it.
2024-07-29 03:39:18 +00:00
camc314
43f2df8416 feat(linter) eslint-plugin-unicorn no length as slice end (#4514) 2024-07-29 03:36:13 +00:00
renovate[bot]
6f42c55fbe
chore(deps): update rust crate trybuild to v1.0.98 (#4524)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [trybuild](https://togithub.com/dtolnay/trybuild) |
workspace.dependencies | patch | `1.0.97` -> `1.0.98` |

---

### Release Notes

<details>
<summary>dtolnay/trybuild (trybuild)</summary>

###
[`v1.0.98`](https://togithub.com/dtolnay/trybuild/releases/tag/1.0.98)

[Compare
Source](https://togithub.com/dtolnay/trybuild/compare/1.0.97...1.0.98)

- Fix enabling of default features for workspace dependencies
([#&#8203;282](https://togithub.com/dtolnay/trybuild/issues/282), thanks
[@&#8203;gui1117](https://togithub.com/gui1117))

</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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 01:48:51 +00:00
renovate[bot]
e73d0e82e8
chore(deps): update dependency @types/node to v22 (#4523)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`^20.14.2` ->
`^22.0.0`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.13/22.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.13/22.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.13/22.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### 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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 01:21:43 +00:00
renovate[bot]
cada16c81b
chore(deps): update codspeedhq/action action to v3 (#4522)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [CodSpeedHQ/action](https://togithub.com/CodSpeedHQ/action) | action |
major | `v2` -> `v3` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

### [`v3`](https://togithub.com/CodSpeedHQ/action/compare/v2...v3)

[Compare Source](https://togithub.com/CodSpeedHQ/action/compare/v2...v3)

</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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 00:08:54 +00:00
renovate[bot]
1f54f3619a
chore(deps): update website npm packages (#4521)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@codemirror/view](https://togithub.com/codemirror/view) | [`6.28.6`
->
`6.29.0`](https://renovatebot.com/diffs/npm/@codemirror%2fview/6.28.6/6.29.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@codemirror%2fview/6.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@codemirror%2fview/6.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@codemirror%2fview/6.28.6/6.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codemirror%2fview/6.28.6/6.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) |
[`9.5.0` -> `9.6.0`](https://renovatebot.com/diffs/npm/pnpm/9.5.0/9.6.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.5.0/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.5.0/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://vitejs.dev)
([source](https://togithub.com/vitejs/vite/tree/HEAD/packages/vite)) |
[`5.3.4` -> `5.3.5`](https://renovatebot.com/diffs/npm/vite/5.3.4/5.3.5)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.3.4/5.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>codemirror/view (@&#8203;codemirror/view)</summary>

###
[`v6.29.0`](https://togithub.com/codemirror/view/blob/HEAD/CHANGELOG.md#6290-2024-07-25)

[Compare
Source](https://togithub.com/codemirror/view/compare/6.28.6...6.29.0)

##### Bug fixes

Fix an issue that caused typing into an editor marked read-only to cause
document changes when using `EditContext`.

Associate a cursor created by clicking above the end of the text on a
wrap point with the line before it.

##### New features

The package now exports the type of hover tooltip sources as
`HoverTooltipSource`.

</details>

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

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

[Compare Source](https://togithub.com/pnpm/pnpm/compare/v9.5.0...v9.6.0)

#### Minor Changes

- Support specifying node version (via `pnpm.executionEnv.nodeVersion`
in `package.json`) for running lifecycle scripts per each package in a
workspace [#&#8203;6720](https://togithub.com/pnpm/pnpm/issues/6720).
- Overrides now support the [`catalogs:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8303](https://togithub.com/pnpm/pnpm/issues/8303).

#### Patch Changes

- The `pnpm deploy` command now supports the [`catalog:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8298](https://togithub.com/pnpm/pnpm/pull/8298).
- The `pnpm outdated` command now supports the [`catalog:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8304](https://togithub.com/pnpm/pnpm/pull/8304).
- Correct the error message when trying to run `pnpm patch` without
`node_modules/.modules.yaml`
[#&#8203;8257](https://togithub.com/pnpm/pnpm/issues/8257).
- Silent reporting fixed with the `pnpm exec` command
[#&#8203;7608](https://togithub.com/pnpm/pnpm/issues/7608).
- Add registries information to the calculation of dlx cache hash
[#&#8203;8299](https://togithub.com/pnpm/pnpm/pull/8299).

#### 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>

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v5.3.5`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small535-2024-07-25-small)

[Compare
Source](https://togithub.com/vitejs/vite/compare/v5.3.4...v5.3.5)

- refactor(asset): remove rollup 3 public file watch workaround
([#&#8203;16331](https://togithub.com/vitejs/vite/issues/16331))
([66bdb1d](66bdb1d7b4)),
closes [#&#8203;16331](https://togithub.com/vitejs/vite/issues/16331)
- fix: make `server` type less restrictive (fix
[#&#8203;17627](https://togithub.com/vitejs/vite/issues/17627))
([#&#8203;17628](https://togithub.com/vitejs/vite/issues/17628))
([b55c32f](b55c32f7e3)),
closes [#&#8203;17627](https://togithub.com/vitejs/vite/issues/17627)
[#&#8203;17628](https://togithub.com/vitejs/vite/issues/17628)
- fix: show error if vite client cannot be loaded
([#&#8203;17419](https://togithub.com/vitejs/vite/issues/17419))
([db5ab1d](db5ab1dfc4)),
closes [#&#8203;17419](https://togithub.com/vitejs/vite/issues/17419)
- fix(build): env output is not stable
([#&#8203;17748](https://togithub.com/vitejs/vite/issues/17748))
([b240a83](b240a8347e)),
closes [#&#8203;17748](https://togithub.com/vitejs/vite/issues/17748)
- fix(client): fix vite error path
([#&#8203;17744](https://togithub.com/vitejs/vite/issues/17744))
([3c1bde3](3c1bde3406)),
closes [#&#8203;17744](https://togithub.com/vitejs/vite/issues/17744)
- fix(css): resolve url aliases with fragments (fix:
[#&#8203;17690](https://togithub.com/vitejs/vite/issues/17690))
([#&#8203;17691](https://togithub.com/vitejs/vite/issues/17691))
([d906d3f](d906d3f8e1))
- fix(deps): update all non-major dependencies
([#&#8203;17629](https://togithub.com/vitejs/vite/issues/17629))
([93281b0](93281b0e09)),
closes [#&#8203;17629](https://togithub.com/vitejs/vite/issues/17629)
- fix(importMetaGlob): handle alias that starts with hash
([#&#8203;17743](https://togithub.com/vitejs/vite/issues/17743))
([b58b423](b58b423ba8)),
closes [#&#8203;17743](https://togithub.com/vitejs/vite/issues/17743)
- fix(ssrTransform): sourcemaps with multiple sources
([#&#8203;17677](https://togithub.com/vitejs/vite/issues/17677))
([f321fa8](f321fa8de2)),
closes [#&#8203;17677](https://togithub.com/vitejs/vite/issues/17677)
- chore: extend commit hash
([#&#8203;17709](https://togithub.com/vitejs/vite/issues/17709))
([4fc9b64](4fc9b6424c)),
closes [#&#8203;17709](https://togithub.com/vitejs/vite/issues/17709)
- chore(deps): update all non-major dependencies
([#&#8203;17734](https://togithub.com/vitejs/vite/issues/17734))
([9983731](998373120c)),
closes [#&#8203;17734](https://togithub.com/vitejs/vite/issues/17734)
- chore(deps): update typescript
([#&#8203;17699](https://togithub.com/vitejs/vite/issues/17699))
([df5ceb3](df5ceb35b7)),
closes [#&#8203;17699](https://togithub.com/vitejs/vite/issues/17699)
- revert: fix(logger): truncate log over 5000 characters long
([#&#8203;16581](https://togithub.com/vitejs/vite/issues/16581))
([#&#8203;17729](https://togithub.com/vitejs/vite/issues/17729))
([f4f488f](f4f488fe83)),
closes [#&#8203;16581](https://togithub.com/vitejs/vite/issues/16581)
[#&#8203;17729](https://togithub.com/vitejs/vite/issues/17729)

</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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 00:05:23 +00:00
renovate[bot]
bb6b7bc593
chore(deps): update rust crate serde_json to v1.0.121 (#4520)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [serde_json](https://togithub.com/serde-rs/json) |
workspace.dependencies | patch | `1.0.120` -> `1.0.121` |

---

### Release Notes

<details>
<summary>serde-rs/json (serde_json)</summary>

###
[`v1.0.121`](https://togithub.com/serde-rs/json/releases/tag/v1.0.121)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.120...v1.0.121)

- Optimize position search in error path
([#&#8203;1160](https://togithub.com/serde-rs/json/issues/1160), thanks
[@&#8203;purplesyringa](https://togithub.com/purplesyringa))

</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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-28 23:10:24 +00:00
renovate[bot]
cb820fb9ad
chore(deps): update github-actions (#4519)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[cargo-bins/cargo-binstall](https://togithub.com/cargo-bins/cargo-binstall)
| action | minor | `v1.7.4` -> `v1.8.0` |
| [crate-ci/typos](https://togithub.com/crate-ci/typos) | action | patch
| `v1.23.2` -> `v1.23.5` |

---

### Release Notes

<details>
<summary>cargo-bins/cargo-binstall (cargo-bins/cargo-binstall)</summary>

###
[`v1.8.0`](https://togithub.com/cargo-bins/cargo-binstall/releases/tag/v1.8.0)

[Compare
Source](https://togithub.com/cargo-bins/cargo-binstall/compare/v1.7.4...v1.8.0)

*Binstall is a tool to fetch and install Rust-based executables as
binaries. It aims to be a drop-in replacement for `cargo install` in
most cases. Install it today with `cargo install cargo-binstall`, from
the binaries below, or if you already have it, upgrade with `cargo
binstall cargo-binstall`.*

##### In this release:

- Fix: Ignore invalid Github Token (token length < 10)
([#&#8203;1836](https://togithub.com/cargo-bins/cargo-binstall/issues/1836)
[#&#8203;1839](https://togithub.com/cargo-bins/cargo-binstall/issues/1839))
- Add environment variable `BINSTALL_DISABLE_STRATEGIES` for
`--disable-strategies`
([#&#8203;1833](https://togithub.com/cargo-bins/cargo-binstall/issues/1833)
[#&#8203;1838](https://togithub.com/cargo-bins/cargo-binstall/issues/1838))
- Add new option `--disable-telemetry` to disable quickinstall
statistics collection
([#&#8203;1822](https://togithub.com/cargo-bins/cargo-binstall/issues/1822)
[#&#8203;1831](https://togithub.com/cargo-bins/cargo-binstall/issues/1831))
- Feature: Enable maintainers of crate to disable strategies for the
crate using `package.binstall` (can be overriden by CLI users)
([#&#8203;1721](https://togithub.com/cargo-bins/cargo-binstall/issues/1721)
[#&#8203;1828](https://togithub.com/cargo-bins/cargo-binstall/issues/1828))
- Fix v1 manifest format for git and local path
([#&#8203;1815](https://togithub.com/cargo-bins/cargo-binstall/issues/1815)
[#&#8203;1821](https://togithub.com/cargo-bins/cargo-binstall/issues/1821))
- Fix: normalize GitHub URLs ending in .git to not ending in .git
([#&#8203;1801](https://togithub.com/cargo-bins/cargo-binstall/issues/1801)
[#&#8203;1803](https://togithub.com/cargo-bins/cargo-binstall/issues/1803)
[#&#8203;1804](https://togithub.com/cargo-bins/cargo-binstall/issues/1804))

##### Other changes:

- Fixed `install-from-binstall-release.sh` on raspberry pi
([#&#8203;1814](https://togithub.com/cargo-bins/cargo-binstall/issues/1814))
- Enable feature `native-tls/vendored` if both feature `native-tls` and
`static` is enabled
([#&#8203;1694](https://togithub.com/cargo-bins/cargo-binstall/issues/1694)
[#&#8203;1832](https://togithub.com/cargo-bins/cargo-binstall/issues/1832))

</details>

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

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

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

#### \[1.23.5] - 2024-07-25

##### Features

-   *(config)* Store config in `Cargo.toml`

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

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

#### \[1.23.4] - 2024-07-25

##### Fixes

-   Don't correct `countr_one` in C++

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

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

#### \[1.23.3] - 2024-07-22

##### Fixes

-   Fix `Dockerfile`

</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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-28 21:46:07 +00:00
renovate[bot]
dd6e442235
chore(deps): update vscode npm packages (#4518)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.14.11` ->
`20.14.13`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.11/20.14.13)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.11/20.14.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.11/20.14.13?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [ovsx](https://open-vsx.org)
([source](https://togithub.com/eclipse/openvsx/tree/HEAD/cli)) |
[`0.9.1` -> `0.9.2`](https://renovatebot.com/diffs/npm/ovsx/0.9.1/0.9.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/ovsx/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ovsx/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ovsx/0.9.1/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ovsx/0.9.1/0.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`5.5.3` ->
`5.5.4`](https://renovatebot.com/diffs/npm/typescript/5.5.3/5.5.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.5.3/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.5.3/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>eclipse/openvsx (ovsx)</summary>

###
[`v0.9.2`](https://togithub.com/eclipse/openvsx/blob/HEAD/cli/CHANGELOG.md#v092-July-2024)

##### Bug Fixes

- Remove default universal for get operation
([#&#8203;944](https://togithub.com/eclipse/openvsx/pull/944))

##### Dependencies

- Upgrade `braces` from `3.0.2` to `3.0.3`
([#&#8203;953](https://togithub.com/eclipse/openvsx/pull/953))

***

</details>

<details>
<summary>Microsoft/TypeScript (typescript)</summary>

###
[`v5.5.4`](https://togithub.com/Microsoft/TypeScript/compare/v5.5.3...c8a7d589e647e19c94150d9892909f3aa93e48eb)

[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.5.3...v5.5.4)

</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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-28 18:02:06 +00:00