Skip to content

Conversation

@pull
Copy link

@pull pull bot commented May 7, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

renovate bot added 6 commits May 8, 2025 00:14
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [cspell](https://cspell.org/)
([source](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell))
| [`^8.19.3` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/cspell/8.19.3/9.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/cspell/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cspell/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cspell/8.19.3/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cspell/8.19.3/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>streetsidesoftware/cspell (cspell)</summary>

###
[`v9.0.0`](https://github.com/streetsidesoftware/cspell/blob/HEAD/packages/cspell/CHANGELOG.md#900-2025-05-05)

[Compare
Source](https://github.com/streetsidesoftware/cspell/compare/v8.19.4...v9.0.0)

**Note:** Version bump only for package cspell

###
[`v8.19.4`](https://github.com/streetsidesoftware/cspell/blob/HEAD/packages/cspell/CHANGELOG.md#8194-2025-05-03)

[Compare
Source](https://github.com/streetsidesoftware/cspell/compare/v8.19.3...v8.19.4)

**Note:** Version bump only for package cspell

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/lynx-family/lynx-stack).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJib3Q6cmVub3ZhdGUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react))
| [`^19.1.2` ->
`^19.1.3`](https://renovatebot.com/diffs/npm/@types%2freact/19.1.2/19.1.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/19.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/19.1.2/19.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.1.2/19.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react))
| [`^18.3.20` ->
`^18.3.21`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.20/18.3.21)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.20/18.3.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.20/18.3.21?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://github.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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/lynx-family/lynx-stack).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJib3Q6cmVub3ZhdGUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [esbuild](https://github.com/evanw/esbuild) | [`^0.25.3` ->
`^0.25.4`](https://renovatebot.com/diffs/npm/esbuild/0.25.3/0.25.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.25.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.25.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.25.3/0.25.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.25.3/0.25.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>evanw/esbuild (esbuild)</summary>

###
[`v0.25.4`](https://github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0254)

[Compare
Source](https://github.com/evanw/esbuild/compare/v0.25.3...v0.25.4)

- Add simple support for CORS to esbuild's development server
([#&#8203;4125](https://github.com/evanw/esbuild/issues/4125))

Starting with version 0.25.0, esbuild's development server is no longer
configured to serve cross-origin requests. This was a deliberate change
to prevent any website you visit from accessing your running esbuild
development server. However, this change prevented (by design) certain
use cases such as "debugging in production" by having your production
website load code from `localhost` where the esbuild development server
is running.

To enable this use case, esbuild is adding a feature to allow
[Cross-Origin Resource
Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS)
(a.k.a. CORS) for [simple
requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS#simple_requests).
Specifically, passing your origin to the new `cors` option will now set
the `Access-Control-Allow-Origin` response header when the request has a
matching `Origin` header. Note that this currently only works for
requests that don't send a preflight `OPTIONS` request, as esbuild's
development server doesn't currently support `OPTIONS` requests.

    Some examples:

    -   **CLI:**

            esbuild --servedir=. --cors-origin=https://example.com

    -   **JS:**

        ```js
        const ctx = await esbuild.context({})
        await ctx.serve({
          servedir: '.',
          cors: {
            origin: 'https://example.com',
          },
        })
        ```

    -   **Go:**

        ```go
        ctx, _ := api.Context(api.BuildOptions{})
        ctx.Serve(api.ServeOptions{
          Servedir: ".",
          CORS: api.CORSOptions{
            Origin: []string{"https://example.com"},
          },
        })
        ```

The special origin `*` can be used to allow any origin to access
esbuild's development server. Note that this means any website you visit
will be able to read everything served by esbuild.

- Pass through invalid URLs in source maps unmodified
([#&#8203;4169](https://github.com/evanw/esbuild/issues/4169))

This fixes a regression in version 0.25.0 where `sources` in source maps
that form invalid URLs were not being passed through to the output.
Version 0.25.0 changed the interpretation of `sources` from file paths
to URLs, which means that URL parsing can now fail. Previously URLs that
couldn't be parsed were replaced with the empty string. With this
release, invalid URLs in `sources` should now be passed through
unmodified.

- Handle exports named `__proto__` in ES modules
([#&#8203;4162](https://github.com/evanw/esbuild/issues/4162),
[#&#8203;4163](https://github.com/evanw/esbuild/pull/4163))

In JavaScript, the special property name `__proto__` sets the prototype
when used inside an object literal. Previously esbuild's ESM-to-CommonJS
conversion didn't special-case the property name of exports named
`__proto__` so the exported getter accidentally became the prototype of
the object literal. It's unclear what this affects, if anything, but
it's better practice to avoid this by using a computed property name in
this case.

This fix was contributed by
[@&#8203;magic-akari](https://github.com/magic-akari).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/lynx-family/lynx-stack).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJib3Q6cmVub3ZhdGUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@rsbuild/plugin-less](https://rsbuild.dev)
([source](https://github.com/web-infra-dev/rsbuild/tree/HEAD/packages/plugin-less))
| [`1.2.2` ->
`1.2.4`](https://renovatebot.com/diffs/npm/@rsbuild%2fplugin-less/1.2.2/1.2.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@rsbuild%2fplugin-less/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@rsbuild%2fplugin-less/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@rsbuild%2fplugin-less/1.2.2/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@rsbuild%2fplugin-less/1.2.2/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>web-infra-dev/rsbuild (@&#8203;rsbuild/plugin-less)</summary>

###
[`v1.2.4`](https://github.com/web-infra-dev/rsbuild/releases/tag/v1.2.4)

[Compare
Source](https://github.com/web-infra-dev/rsbuild/compare/v1.2.3...v1.2.4)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### New Features 🎉

- feat: allow `proxy.bypass` to be an async function by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4478](https://github.com/web-infra-dev/rsbuild/pull/4478)
- feat: direct ws connection fallback by
[@&#8203;wxiaoyun](https://github.com/wxiaoyun) in
[https://github.com/web-infra-dev/rsbuild/pull/4474](https://github.com/web-infra-dev/rsbuild/pull/4474)

##### Bug Fixes 🐞

- fix(plugin-sass): allow to disable source map by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4445](https://github.com/web-infra-dev/rsbuild/pull/4445)
- fix: allow to only generate source map for CSS files by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4456](https://github.com/web-infra-dev/rsbuild/pull/4456)
- fix(hmr): infinite connection when server is shut down by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4480](https://github.com/web-infra-dev/rsbuild/pull/4480)
- fix(hmr): avoid duplicated connection by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4482](https://github.com/web-infra-dev/rsbuild/pull/4482)

##### Document 📖

- docs: Revise TailwindCSS installation and configuration guide for v4
by [@&#8203;sagardwivedi](https://github.com/sagardwivedi) in
[https://github.com/web-infra-dev/rsbuild/pull/4425](https://github.com/web-infra-dev/rsbuild/pull/4425)
- docs: remove v1 announcement by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4441](https://github.com/web-infra-dev/rsbuild/pull/4441)
- docs: provides guides for both Tailwind CSS v3 and v4 by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4442](https://github.com/web-infra-dev/rsbuild/pull/4442)
- docs: polish README files by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4450](https://github.com/web-infra-dev/rsbuild/pull/4450)
- docs: add dev server writeToDisk config mapping by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4452](https://github.com/web-infra-dev/rsbuild/pull/4452)
- docs: improve historyApiFallback and htmlFallback documentation by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4454](https://github.com/web-infra-dev/rsbuild/pull/4454)
- docs: correct onCloseDevServer example by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4464](https://github.com/web-infra-dev/rsbuild/pull/4464)
- docs: fix return value of `rsbuild.rspackConfigs()` by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4469](https://github.com/web-infra-dev/rsbuild/pull/4469)
- docs: improve documentation language and clarity by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4472](https://github.com/web-infra-dev/rsbuild/pull/4472)
- docs: enhance legal comments configuration documentation by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4473](https://github.com/web-infra-dev/rsbuild/pull/4473)
- docs: set Open Graph images based on page routes by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4477](https://github.com/web-infra-dev/rsbuild/pull/4477)
- docs: update rspress 1.41.0 and enable codeBlocks search by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4483](https://github.com/web-infra-dev/rsbuild/pull/4483)

##### Other Changes

- test(e2e): run Rspack with incremental flag by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4440](https://github.com/web-infra-dev/rsbuild/pull/4440)
- test(e2e): bump tailwindcss v4 by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4432](https://github.com/web-infra-dev/rsbuild/pull/4432)
- chore(deps): update all patch dependencies by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4443](https://github.com/web-infra-dev/rsbuild/pull/4443)
- test(e2e): upgrade more cases to tailwindcss v4 by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4446](https://github.com/web-infra-dev/rsbuild/pull/4446)
- chore(deps): update actions/setup-node action to v4.2.0 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4447](https://github.com/web-infra-dev/rsbuild/pull/4447)
- chore(deps): update dependency
[@&#8203;rslib/core](https://github.com/rslib/core) to v0.4.0
by [@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4448](https://github.com/web-infra-dev/rsbuild/pull/4448)
- chore(deps): update dependency
[@&#8203;rstack-dev/doc-ui](https://github.com/rstack-dev/doc-ui)
to v1.6.0 by [@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4449](https://github.com/web-infra-dev/rsbuild/pull/4449)
- chore(deps): update rspack-chain to v1.2.0 by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4453](https://github.com/web-infra-dev/rsbuild/pull/4453)
- chore(deps): update swc plugins to ^6.2.0 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4459](https://github.com/web-infra-dev/rsbuild/pull/4459)
- chore(deps): update dependency nx to ^20.4.0 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4458](https://github.com/web-infra-dev/rsbuild/pull/4458)
- chore(deps): update dependency
[@&#8203;types/node](https://github.com/types/node) to ^22.12.0
by [@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4457](https://github.com/web-infra-dev/rsbuild/pull/4457)
- chore: remove rspack-chain temporary code by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4460](https://github.com/web-infra-dev/rsbuild/pull/4460)
- chore(deps): update dependency semver to ^7.7.0 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4465](https://github.com/web-infra-dev/rsbuild/pull/4465)
- chore(deps): update all patch dependencies by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4468](https://github.com/web-infra-dev/rsbuild/pull/4468)
- chore(deps): update dependency
[@&#8203;types/node](https://github.com/types/node) to ^22.13.0
by [@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4470](https://github.com/web-infra-dev/rsbuild/pull/4470)
- chore(deps): update dependency create-rstack to v1.2.0 by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4471](https://github.com/web-infra-dev/rsbuild/pull/4471)
- ci(corepack): fix corepack key id mismatch by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4476](https://github.com/web-infra-dev/rsbuild/pull/4476)
- chore(deps): update all patch dependencies by
[@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4475](https://github.com/web-infra-dev/rsbuild/pull/4475)
- refactor: improve host resolution and wildcard host handling by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4479](https://github.com/web-infra-dev/rsbuild/pull/4479)
- release: v1.2.4 by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4484](https://github.com/web-infra-dev/rsbuild/pull/4484)

#### New Contributors

- [@&#8203;wxiaoyun](https://github.com/wxiaoyun) made their
first contribution in
[https://github.com/web-infra-dev/rsbuild/pull/4474](https://github.com/web-infra-dev/rsbuild/pull/4474)

**Full Changelog**:
web-infra-dev/rsbuild@v1.2.3...v1.2.4

###
[`v1.2.3`](https://github.com/web-infra-dev/rsbuild/releases/tag/v1.2.3)

[Compare
Source](https://github.com/web-infra-dev/rsbuild/compare/v1.2.2...v1.2.3)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### New Features 🎉

- feat: support for `resolve` and `context` in `api.transform` by
[@&#8203;9aoy](https://github.com/9aoy) in
[https://github.com/web-infra-dev/rsbuild/pull/4426](https://github.com/web-infra-dev/rsbuild/pull/4426)
- feat: warn when using Rspack devServer config by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4431](https://github.com/web-infra-dev/rsbuild/pull/4431)

##### Bug Fixes 🐞

- fix(core): failed to register environment plugin by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4437](https://github.com/web-infra-dev/rsbuild/pull/4437)

##### Other Changes

- chore(deps): update dependency
[@&#8203;rsbuild/core](https://github.com/rsbuild/core) to
^1.2.2 by [@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4421](https://github.com/web-infra-dev/rsbuild/pull/4421)
- chore(deps): update dependency
[@&#8203;rsbuild/plugin-preact](https://github.com/rsbuild/plugin-preact)
to ^1.3.0 by [@&#8203;renovate](https://github.com/renovate) in
[https://github.com/web-infra-dev/rsbuild/pull/4422](https://github.com/web-infra-dev/rsbuild/pull/4422)
- test: fix occasional `directory not empty` error in e2e by
[@&#8203;9aoy](https://github.com/9aoy) in
[https://github.com/web-infra-dev/rsbuild/pull/4428](https://github.com/web-infra-dev/rsbuild/pull/4428)
- test: split assets retry cases by
[@&#8203;9aoy](https://github.com/9aoy) in
[https://github.com/web-infra-dev/rsbuild/pull/4430](https://github.com/web-infra-dev/rsbuild/pull/4430)
- test: should wait first compile done when run dev tests by
[@&#8203;9aoy](https://github.com/9aoy) in
[https://github.com/web-infra-dev/rsbuild/pull/4429](https://github.com/web-infra-dev/rsbuild/pull/4429)
- chore: fix wrapper typo by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4433](https://github.com/web-infra-dev/rsbuild/pull/4433)
- test(e2e): simplify stylus code by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4439](https://github.com/web-infra-dev/rsbuild/pull/4439)
- release: v1.2.3 by
[@&#8203;chenjiahan](https://github.com/chenjiahan) in
[https://github.com/web-infra-dev/rsbuild/pull/4438](https://github.com/web-infra-dev/rsbuild/pull/4438)

**Full Changelog**:
web-infra-dev/rsbuild@v1.2.2...v1.2.3

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/lynx-family/lynx-stack).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJib3Q6cmVub3ZhdGUiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@eslint/js](https://eslint.org)
([source](https://github.com/eslint/eslint/tree/HEAD/packages/js))
| [`^9.25.1` ->
`^9.26.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.25.1/9.26.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@eslint%2fjs/9.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@eslint%2fjs/9.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@eslint%2fjs/9.25.1/9.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@eslint%2fjs/9.25.1/9.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [eslint](https://eslint.org)
([source](https://github.com/eslint/eslint)) | [`^9.25.1` ->
`^9.26.0`](https://renovatebot.com/diffs/npm/eslint/9.25.1/9.26.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/9.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/9.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/9.25.1/9.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/9.25.1/9.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
| [`^59.0.0` ->
`^59.0.1`](https://renovatebot.com/diffs/npm/eslint-plugin-unicorn/59.0.0/59.0.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-unicorn/59.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-unicorn/59.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-unicorn/59.0.0/59.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-unicorn/59.0.0/59.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint)
([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint))
| [`^8.31.1` ->
`^8.32.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.31.1/8.32.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.31.1/8.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.31.1/8.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>eslint/eslint (@&#8203;eslint/js)</summary>

###
[`v9.26.0`](https://github.com/eslint/eslint/compare/v9.25.1...d6fa4ac031c2fe24fb778e84940393fbda3ddf77)

[Compare
Source](https://github.com/eslint/eslint/compare/v9.25.1...v9.26.0)

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

###
[`v9.26.0`](https://github.com/eslint/eslint/compare/v9.25.1...8bbabc4691d97733a422180c71eba6c097b35475)

[Compare
Source](https://github.com/eslint/eslint/compare/v9.25.1...v9.26.0)

</details>

<details>
<summary>sindresorhus/eslint-plugin-unicorn
(eslint-plugin-unicorn)</summary>

###
[`v59.0.1`](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v59.0.1)

[Compare
Source](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v59.0.0...v59.0.1)

- `prefer-single-call`: Fix crash on `CallExpression` followed by
`FunctionDeclaration`
([#&#8203;2639](https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2639))
[`3114dd9`](https://github.com/sindresorhus/eslint-plugin-unicorn/commit/3114dd9)

***

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(typescript-eslint)</summary>

###
[`v8.32.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8320-2025-05-05)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.31.1...v8.32.0)

This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://github.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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/lynx-family/lynx-stack).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjQwLjcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYm90OnJlbm92YXRlIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [lint-staged](https://github.com/lint-staged/lint-staged) |
[`^15.5.1` ->
`^15.5.2`](https://renovatebot.com/diffs/npm/lint-staged/15.5.1/15.5.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.5.1/15.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.5.1/15.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>lint-staged/lint-staged (lint-staged)</summary>

###
[`v15.5.2`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1552)

[Compare
Source](https://github.com/lint-staged/lint-staged/compare/v15.5.1...v15.5.2)

##### Patch Changes

-
[#&#8203;1544](https://github.com/lint-staged/lint-staged/pull/1544)
[`5561321`](https://github.com/lint-staged/lint-staged/commit/556132176afce1701b4766c00ffd23159d437cb4)
Thanks [@&#8203;YimingIsCOLD](https://github.com/YimingIsCOLD)!
- Correctly handle colon (`:`) characters in staged filenames.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/lynx-family/lynx-stack).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImJvdDpyZW5vdmF0ZSJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@pull pull bot added the ⤵️ pull label May 7, 2025
@pull pull bot merged commit 379b8e5 into PupilTong:main May 7, 2025
pull bot pushed a commit that referenced this pull request Jan 4, 2026
<!--
  Thank you for submitting a pull request!

We appreciate the time and effort you have invested in making these
changes. Please ensure that you provide enough information to allow
others to review your pull request.

Upon submission, your pull request will be automatically assigned with
reviewers.

If you want to learn more about contributing to this project, please
visit:
https://github.com/lynx-family/lynx-stack/blob/main/CONTRIBUTING.md.
-->

<!-- The AI summary below will be auto-generated - feel free to replace
it with your own. -->

Solves lynx-family#2045

An example log from our examples/react package is as below.

First screen:

<details>

```log
[BackgroundThread Component Render] name: Fragment, uniqID: undefined, __id: undefined
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #1: __CreatePage("0", 0) => page#10
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #2: __GetElementUniqueID(page#10) => 10
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #3: __SetCSSId([page#10], 0)
main-thread.js:3460 [MainThread Component Render] name: App
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #4: __CreateView(10) => view#11
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #5: __CreateView(10) => view#12
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #6: __SetClasses(view#12, "Background")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #7: __AppendElement(view#11, view#12) => view#12
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #8: __CreateView(10) => view#13
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #9: __SetClasses(view#13, "App")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #10: __AppendElement(view#11, view#13) => view#13
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #11: __CreateView(10) => view#14
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #12: __SetClasses(view#14, "Banner")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #13: __AppendElement(view#13, view#14) => view#14
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #14: __CreateWrapperElement(10) => wrapper#15
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #15: __AppendElement(view#14, wrapper#15) => wrapper#15
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #16: __CreateText(10) => text#16
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #17: __SetClasses(text#16, "Title")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #18: __SetAttribute(text#16, "text", "React")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #19: __AppendElement(view#14, text#16) => text#16
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #20: __CreateText(10) => text#17
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #21: __SetClasses(text#17, "Subtitle")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #22: __SetAttribute(text#17, "text", "on Lynx")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #23: __AppendElement(view#14, text#17) => text#17
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #24: __CreateView(10) => view#18
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #25: __SetClasses(view#18, "Content")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #26: __AppendElement(view#13, view#18) => view#18
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #27: __CreateImage(10) => image#19
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #28: __SetClasses(image#19, "Arrow")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #29: __AppendElement(view#18, image#19) => image#19
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #30: __CreateText(10) => text#20
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #31: __SetClasses(text#20, "Description")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #32: __SetAttribute(text#20, "text", "Tap the logo and have fun!")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #33: __AppendElement(view#18, text#20) => text#20
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #34: __CreateText(10) => text#21
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #35: __SetClasses(text#21, "Hint")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #36: __AppendElement(view#18, text#21) => text#21
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #37: __CreateRawText("Edit") => raw-text#22
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #38: __AppendElement(text#21, raw-text#22) => raw-text#22
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #39: __CreateWrapperElement(10) => wrapper#23
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #40: __AppendElement(text#21, wrapper#23) => wrapper#23
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #41: __CreateRawText("to see updates!") => raw-text#24
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #42: __AppendElement(text#21, raw-text#24) => raw-text#24
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #43: __CreateView(10) => view#25
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #44: __SetInlineStyles(view#25, "flex:1")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #45: __AppendElement(view#13, view#25) => view#25
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #46: __AppendElement(page#10, view#11) => view#11
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #47: __SetAttribute(image#19, "src", "http://1.1.1.1:3000/static/image/arrow.aee54ba7.png")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #48: __CreateView(10) => view#26
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #49: __SetClasses(view#26, "Logo")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #50: __ReplaceElement(view#26, wrapper#15)
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #51: __AddEvent(view#26, "bindEvent", "tap", "-3:0:")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #52: __CreateImage(10) => image#27
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #53: __SetClasses(image#27, "Logo--lynx")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #54: __AppendElement(view#26, image#27) => image#27
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #55: __SetAttribute(image#27, "src", "http://1.1.1.1:3000/static/image/lynx-logo.620eb8d1.png")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #56: __CreateText(10) => text#28
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #57: __SetInlineStyles(text#28, "font-style:italic;color:rgba(255, 255, 255, 0.85)")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #58: __ReplaceElement(text#28, wrapper#23)
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #59: __CreateRawText("") => raw-text#29
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #60: __SetAttribute(raw-text#29, "text", " src/App.tsx ")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #61: __AppendElement(text#28, raw-text#29) => raw-text#29
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #62: __OnLifecycleEvent(["rLynxFirstScreen", {"root":"{\"id\":-1,\"type\":\"root\",\"children\":[{\"id\":-5,\"type\":\"__snapshot_835da_b8ae7_1\",\"values\":[\"http://1.1.1.1:3000/static/image/arrow.aee54ba7.png\"],\"children\":[{\"id\":-3,\"type\":\"__snapshot_835da_b8ae7_2\",\"values\":[\"-3:0:\"],\"children\":[{\"id\":-2,\"type\":\"__snapshot_835da_b8ae7_4\",\"values\":[\"http://1.1.1.1:3000/static/image/lynx-logo.620eb8d1.png\"]}]},{\"id\":-4,\"type\":\"__snapshot_835da_b8ae7_5\",\"children\":[{\"id\":-6,\"type\":null,\"values\":[\" src/App.tsx \"]}]}]}]}","jsReadyEventIdSwap":{}}])
background.js:11351 [rspeedy-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay disabled.
background.js:3564 [HMR] Waiting for update signal from WDS...
background.js:4476 [BackgroundThread Component Render] name: App, uniqID: __snapshot_835da_b8ae7_1, __id: 2
background.js:4476 [BackgroundThread Component Render] name: Fragment, uniqID: __snapshot_835da_b8ae7_1, __id: 2
background.js:214 Hello, ReactLynx
background.js:8011 [ReactLynxDebug] MTS -> BTS OnLifecycleEvent:
{
  "root": {
    "id": -1,
    "type": "root",
    "children": [
      {
        "id": -5,
        "type": "__snapshot_835da_b8ae7_1",
        "values": [
          "http://1.1.1.1:3000/static/image/arrow.aee54ba7.png"
        ],
        "children": [
          {
            "id": -3,
            "type": "__snapshot_835da_b8ae7_2",
            "values": [
              "-3:0:"
            ],
            "children": [
              {
                "id": -2,
                "type": "__snapshot_835da_b8ae7_4",
                "values": [
                  "http://1.1.1.1:3000/static/image/lynx-logo.620eb8d1.png"
                ]
              }
            ]
          },
          {
            "id": -4,
            "type": "__snapshot_835da_b8ae7_5",
            "children": [
              {
                "id": -6,
                "type": null,
                "values": [
                  " src/App.tsx "
                ]
              }
            ]
          }
        ]
      }
    ]
  },
  "jsReadyEventIdSwap": {}
}
main-thread.js:5801 [ReactLynxDebug] BTS -> MTS updateMainThread:
{
  "data": {
    "patchList": [
      {
        "snapshotPatch": [],
        "id": 2
      }
    ]
  },
  "patchOptions": {
    "isHydration": true,
    "reloadVersion": 0,
    "pipelineOptions": {
      "pipelineID": "0x16c567000_29",
      "needTimestamps": true,
      "pipelineOrigin": "reactLynxHydrate",
      "dsl": "reactLynx",
      "stage": "hydrate"
    }
  }
}
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #63: __FlushElementTree(page#10, {"pipelineOptions":{"pipelineID":"0x16c567000_29","needTimestamps":true,"pipelineOrigin":"reactLynxHydrate","dsl":"reactLynx","stage":"hydrate"}})

```

</details>

Next update:

<details>

```log
[BackgroundThread Component Render] name: App, uniqID: __snapshot_835da_b8ae7_1, __id: -5
main-thread.js:5801 [ReactLynxDebug] BTS -> MTS updateMainThread:
{
  "data": {
    "patchList": [
      {
        "id": 3,
        "snapshotPatch": [
          {
            "op": "RemoveChild",
            "parentId": -3,
            "childId": -2
          },
          {
            "op": "CreateElement",
            "type": "__snapshot_835da_b8ae7_3",
            "id": 7
          },
          {
            "op": "SetAttributes",
            "id": 7,
            "values": [
              "http://1.1.1.1:3000/static/image/react-logo.75eb3837.png"
            ]
          },
          {
            "op": "InsertBefore",
            "parentId": -3,
            "childId": 7,
            "beforeId": null
          }
        ]
      }
    ]
  },
  "patchOptions": {
    "reloadVersion": 0,
    "pipelineOptions": {
      "pipelineID": "0x16c567000_30",
      "needTimestamps": false,
      "pipelineOrigin": "updateTriggeredByBts",
      "dsl": "reactLynx",
      "stage": "update"
    }
  }
}
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #64: __RemoveElement(view#26, image#27) => image#27
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #65: __CreateImage(10) => image#30
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #66: __SetClasses(image#30, "Logo--react")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #67: __SetAttribute(image#30, "src", "http://1.1.1.1:3000/static/image/react-logo.75eb3837.png")
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #68: __AppendElement(view#26, image#30) => image#30
main-thread.js:3421 [ReactLynxDebug] FiberElement API call #69: __FlushElementTree(page#10, {"pipelineOptions":{"pipelineID":"0x16c567000_30","needTimestamps":false,"pipelineOrigin":"updateTriggeredByBts","dsl":"reactLynx","stage":"update"}})
```

</details>

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Enhanced debug logging: structured, dual-thread API-call, lifecycle
and hydration traces when debug mode is enabled.
* **Tests**
* Added and expanded tests and snapshots to validate richer logging,
API-call sequences, and hydration traces.
* **Chores**
* Development-only error messages now include a troubleshooting hint
recommending the debug-mode option for easier diagnosis.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Checklist

<!--- Check and mark with an "x" -->

- [x] Tests updated (or not required).
- [ ] Documentation updated (or not required).
- [x] Changeset added, and when a BREAKING CHANGE occurs, it needs to be
clearly marked (or not required).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants