Skip to content

feat: new flex:val impl#1979

Merged
PupilTong merged 2 commits intolynx-family:mainfrom
PupilTong:p/hw/new-flex
Dec 5, 2025
Merged

feat: new flex:val impl#1979
PupilTong merged 2 commits intolynx-family:mainfrom
PupilTong:p/hw/new-flex

Conversation

@PupilTong
Copy link
Copy Markdown
Collaborator

@PupilTong PupilTong commented Dec 3, 2025

Summary by CodeRabbit

  • New Features

    • Adds a unified flex handling and a new CSS custom property to simplify and standardize flexible layout behavior across components.
  • Chores

    • Bumps minor versions of web platform packages and updates styling/transform logic to support the new flex approach.

✏️ Tip: You can customize this high-level summary in your review settings.

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).
  • Changeset added, and when a BREAKING CHANGE occurs, it needs to be clearly marked (or not required).

@PupilTong PupilTong self-assigned this Dec 3, 2025
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Dec 3, 2025

🦋 Changeset detected

Latest commit: 7dcfb80

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
Name Type
@lynx-js/web-elements Minor
@lynx-js/web-core Minor
upgrade-rspeedy Patch
@lynx-js/web-rsbuild-server-middleware Minor
@lynx-js/web-core-server Minor
@lynx-js/web-constants Minor
@lynx-js/web-mainthread-apis Minor
@lynx-js/web-worker-rpc Minor
@lynx-js/web-worker-runtime Minor
@lynx-js/web-elements-template Minor
@lynx-js/rspeedy Patch
create-rspeedy Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Dec 3, 2025

📝 Walkthrough

Walkthrough

Introduces a --flex CSS custom property, consolidates separate flex-* declarations into a flex shorthand in CSS, adds a rename mapping "flex" -> "--flex" in transformer rules, and removes flex shorthand parsing/emission from the style transformer. Also updates a changeset for minor bumps and the feature.

Changes

Cohort / File(s) Summary
Changeset
/.changeset/silly-llamas-count.md
Documents minor version bumps for @lynx-js/web-elements and @lynx-js/web-core and adds a feature entry for the new flex: val implementation.
CSS: linear container
packages/web-platform/web-elements/src/common-css/linear.css
Adds an @property --flex declaration and replaces separate flex-grow, flex-shrink, flex-basis with flex: var(--flex, var(--flex-grow) var(--flex-shrink) var(--flex-basis)); inside the non-linear container list-item scope.
CSS: compatibility
packages/web-platform/web-elements-compat/src/LinearContainer/linear-compat.css
Replaces flex-grow, flex-shrink, flex-basis, align-self with flex: var(--flex, var(--flex-grow) var(--flex-shrink) var(--flex-basis)); for flex display selectors.
Rust: transformer rename rules
packages/web-platform/web-mainthread-apis/src/style/transformer/rules.rs
Adds a RENAME_RULE mapping entry from "flex" to "--flex".
Rust: transformer logic & tests
packages/web-platform/web-mainthread-apis/src/style/transformer/transform.rs
Removes the flex shorthand parsing block and emission of --flex-* declarations from query_transform_rules, deletes related helper(s), adjusts imports, and updates tests to expect --flex preservation rather than expansion.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Verify @property syntax and the fallback expression in both CSS files.
  • Confirm the new RENAME_RULE entry is used where expected and doesn't conflict with other mappings.
  • Check that removing flex parsing doesn't break consumers expecting emitted --flex-* variables and that updated tests cover expected behavior.
  • Review test updates in transformer for correctness and completeness.

Suggested reviewers

  • Sherry-hue
  • HuJean

Poem

🐰 I nibble rules and hop along,
Folded three props into one song.
A tiny --flex took center stage,
The transformer skipped a parsing page.
Hop, tweak, and code — my happy little rage.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: new flex:val impl' directly relates to the main change: implementing a new flex property handling mechanism that consolidates flex into a single CSS variable approach across multiple files.
Docstring Coverage ✅ Passed Docstring coverage is 90.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Dec 3, 2025

CodSpeed Performance Report

Merging #1979 will improve performances by 9%

Comparing PupilTong:p/hw/new-flex (7dcfb80) with main (c475c1e)

Summary

⚡ 2 improvements
✅ 61 untouched
⏩ 3 skipped1

Benchmarks breakdown

Benchmark BASE HEAD Change
transform 1000 view elements 47 ms 43.3 ms +8.57%
basic-performance-scroll-view-100 10.2 ms 9.4 ms +9%

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@relativeci
Copy link
Copy Markdown

relativeci bot commented Dec 3, 2025

React Example

#6357 Bundle Size — 236.9KiB (0%).

7dcfb80(current) vs c475c1e main#6351(baseline)

Bundle metrics  no changes
                 Current
#6357
     Baseline
#6351
No change  Initial JS 0B 0B
No change  Initial CSS 0B 0B
No change  Cache Invalidation 0% 0%
No change  Chunks 0 0
No change  Assets 4 4
No change  Modules 162 162
No change  Duplicate Modules 65 65
No change  Duplicate Code 46.75% 46.75%
No change  Packages 2 2
No change  Duplicate Packages 0 0
Bundle size by type  no changes
                 Current
#6357
     Baseline
#6351
No change  IMG 145.76KiB 145.76KiB
No change  Other 91.14KiB 91.14KiB

Bundle analysis reportBranch PupilTong:p/hw/new-flexProject dashboard


Generated by RelativeCIDocumentationReport issue

@relativeci
Copy link
Copy Markdown

relativeci bot commented Dec 3, 2025

Web Explorer

#6517 Bundle Size — 372.73KiB (-1.31%).

7dcfb80(current) vs c475c1e main#6511(baseline)

Bundle metrics  Change 4 changes Regression 1 regression
                 Current
#6517
     Baseline
#6511
No change  Initial JS 146.31KiB 146.31KiB
Regression  Initial CSS 32.4KiB(+0.08%) 32.38KiB
Change  Cache Invalidation 11.74% 0%
No change  Chunks 8 8
No change  Assets 8 8
Change  Modules 228(-0.44%) 229
No change  Duplicate Modules 16 16
Change  Duplicate Code 2.97%(+0.68%) 2.95%
No change  Packages 4 4
No change  Duplicate Packages 0 0
Bundle size by type  Change 2 changes Regression 1 regression Improvement 1 improvement
                 Current
#6517
     Baseline
#6511
No change  JS 243.35KiB 243.35KiB
Improvement  Other 96.98KiB (-4.87%) 101.94KiB
Regression  CSS 32.4KiB (+0.08%) 32.38KiB

Bundle analysis reportBranch PupilTong:p/hw/new-flexProject dashboard


Generated by RelativeCIDocumentationReport issue

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
packages/web-platform/web-mainthread-apis/src/style/transformer/transform.rs (2)

1-1: Import change to parse_inline_style module looks correct

Using the wildcard import here is consistent with the later use of both Transformer and parse_inline_style, and keeps the dependency localized to that submodule. If you want stricter visibility in future, you could switch to explicit imports for just those two items.


266-326: Flex tests correctly reflect the new flex -> --flex rename behavior

These expectations align with the new rule that rewrites flex into the --flex custom property while preserving the original value and surrounding text; the flex_1_extra case also validates offset handling around other declarations. You might optionally add a flex:… !important test to mirror the existing color-important cases and lock in !important propagation behavior.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c2762c4 and 7dcfb80.

📒 Files selected for processing (1)
  • packages/web-platform/web-mainthread-apis/src/style/transformer/transform.rs (2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: Sherry-hue
Repo: lynx-family/lynx-stack PR: 1770
File: packages/web-platform/web-mainthread-apis/src/utils/processStyleInfo.ts:316-318
Timestamp: 2025-09-18T08:12:56.802Z
Learning: In packages/web-platform/web-mainthread-apis/src/utils/processStyleInfo.ts, the current implementation uses cardStyleElement.textContent += for lazy component styles. While this could theoretically invalidate rule indices by reparsing the stylesheet, Sherry-hue indicated that UIDs don't repeat for the same element, making this approach acceptable for now. A future optimization to use separate style elements per entry was discussed but deferred to a separate PR to keep the current lazy bundle PR focused.
📚 Learning: 2025-09-18T08:12:56.802Z
Learnt from: Sherry-hue
Repo: lynx-family/lynx-stack PR: 1770
File: packages/web-platform/web-mainthread-apis/src/utils/processStyleInfo.ts:316-318
Timestamp: 2025-09-18T08:12:56.802Z
Learning: In packages/web-platform/web-mainthread-apis/src/utils/processStyleInfo.ts, the current implementation uses cardStyleElement.textContent += for lazy component styles. While this could theoretically invalidate rule indices by reparsing the stylesheet, Sherry-hue indicated that UIDs don't repeat for the same element, making this approach acceptable for now. A future optimization to use separate style elements per entry was discussed but deferred to a separate PR to keep the current lazy bundle PR focused.

Applied to files:

  • packages/web-platform/web-mainthread-apis/src/style/transformer/transform.rs

@PupilTong PupilTong requested a review from Sherry-hue December 4, 2025 16:06
@PupilTong PupilTong merged commit 6400f87 into lynx-family:main Dec 5, 2025
82 of 85 checks passed
colinaaa pushed a commit that referenced this pull request Dec 7, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @lynx-js/react@0.115.0

### Minor Changes

- **BREAKING CHANGE**: Delay the `createSnapshot` operation to
`Snapshot` constructor to speed up IFR.
([#1899](#1899))

    This change refactors how snapshots are created and registered:

    -   Removed the `entryUniqID` function
- Snapshots are now lazily created via `snapshotCreatorMap` instead of
eagerly at bundle load time
- Snapshot IDs are generated at compile time and only prefixed with
`${globDynamicComponentEntry}:` for standalone lazy bundles

    **⚠️ Lazy Bundle Compatibility:**

- **Backward compatibility (new runtime → old lazy bundles)**: ✅
**Supported**. Old lazy bundles will work with the new runtime.

- **Forward compatibility (old runtime → new lazy bundles)**: ❌ **NOT
Supported**. Lower version consumers **will not be able to load lazy
bundles produced by this version** due to the changed snapshot creation
mechanism.

    **Migration guidance**:
If you are using lazy bundles, ensure all consumers are upgraded to this
version or later **before** deploying lazy bundles built with this
version. For monorepo setups, coordinate the upgrade across all
consuming applications.

### Patch Changes

- Preserve assignments to webpack runtime variables like
`__webpack_public_path__`, `__webpack_require__.p`, etc.
([#1958](#1958))

- Fixed blank screen issues with nested lists. Lazily created nested
lists were being flushed but not properly recorded, causing rendering
failures. ([#1963](#1963))

- fix: export `createRef` and `useRef` from
`@lynx-js/react/legacy-react-runtime`
([#1953](#1953))

## @lynx-js/react-rsbuild-plugin@0.12.0

### Minor Changes

- **BREAKING CHANGE**: Require `@lynx-js/rspeedy` 0.12.0.
([#1951](#1951))

### Patch Changes

- Support Yarn Plug'n'Play.
([#1964](#1964))

- Updated dependencies
\[[`738d44d`](738d44d),
[`5bbb439`](5bbb439),
[`3692a16`](3692a16),
[`d2e290b`](d2e290b),
[`738d44d`](738d44d)]:
    -   @lynx-js/react-alias-rsbuild-plugin@0.12.0
    -   @lynx-js/css-extract-webpack-plugin@0.6.5
    -   @lynx-js/template-webpack-plugin@0.9.2
    -   @lynx-js/use-sync-external-store@1.5.0
    -   @lynx-js/react-refresh-webpack-plugin@0.3.4
    -   @lynx-js/react-webpack-plugin@0.7.2

## @lynx-js/react-alias-rsbuild-plugin@0.12.0

### Minor Changes

- **BREAKING CHANGE**: Use resolver from Rspack.
([#1964](#1964))

    The `createLazyResolver` now requires an `rspack` parameter:

    ```diff
- function createLazyResolver(directory: string, conditionNames:
string[]): (request: string) => Promise<string>;
+ function createLazyResolver(rspack: rspack, directory: string,
conditionNames: string[]): (request: string) => Promise<string>;
    ```

### Patch Changes

- Support Yarn Plug'n'Play.
([#1964](#1964))

## @lynx-js/web-core@0.19.0

### Minor Changes

- feat: new flex:val impl
([#1979](#1979))

### Patch Changes

- Updated dependencies
\[[`40c3a1a`](40c3a1a),
[`46bd5ee`](46bd5ee)]:
    -   @lynx-js/web-mainthread-apis@0.19.0
    -   @lynx-js/web-worker-runtime@0.19.0
    -   @lynx-js/web-constants@0.19.0
    -   @lynx-js/web-worker-rpc@0.19.0

## @lynx-js/web-elements@0.9.0

### Minor Changes

- feat: new flex:val impl
([#1979](#1979))

### Patch Changes

- fix: x-input display should add !important to avoid override
([#1960](#1960))

-   Updated dependencies \[]:
    -   @lynx-js/web-elements-template@0.9.0

## @lynx-js/rspeedy@0.12.1

### Patch Changes

- Bump Rsbuild v1.6.9 with Rspack v1.6.5.
([#1967](#1967))

-   Updated dependencies \[]:
    -   @lynx-js/web-rsbuild-server-middleware@0.19.0

## create-rspeedy@0.12.1

### Patch Changes

- Bump `@rsbuild/plugin-type-check` v1.3.1.
([#1964](#1964))

## @lynx-js/lynx-bundle-rslib-config@0.0.1

### Patch Changes

- Add `@lynx-js/lynx-bundle-rslib-config` for bundling Lynx bundle with
[Rslib](https://rslib.rs/):
([#1943](#1943))

    ```js
    // rslib.config.js
import { defineExternalBundleRslibConfig } from
"@lynx-js/lynx-bundle-rslib-config";

    export default defineExternalBundleRslibConfig({
      id: "utils-lib",
      source: {
        entry: {
          utils: "./src/utils.ts",
        },
      },
    });
    ```

## @lynx-js/web-constants@0.19.0

### Patch Changes

-   Updated dependencies \[]:
    -   @lynx-js/web-worker-rpc@0.19.0

## @lynx-js/web-explorer@0.0.14

### Patch Changes

- chore: update web-elements version of web-explorer
([#1962](#1962))

## @lynx-js/web-mainthread-apis@0.19.0

### Patch Changes

- fix: capture and bind event listener should be trigger correctly
([#1972](#1972))

- fix: the l-p-comp-uid of page should be '1'
([#1970](#1970))

-   Updated dependencies \[]:
    -   @lynx-js/web-constants@0.19.0

## @lynx-js/web-worker-runtime@0.19.0

### Patch Changes

- Updated dependencies
\[[`40c3a1a`](40c3a1a),
[`46bd5ee`](46bd5ee)]:
    -   @lynx-js/web-mainthread-apis@0.19.0
    -   @lynx-js/web-constants@0.19.0
    -   @lynx-js/web-worker-rpc@0.19.0

## @lynx-js/css-extract-webpack-plugin@0.6.5

### Patch Changes

- Set main thread JS basename to `lepusCode.filename` in tasm encode
data. It will ensure a filename is reported on MTS error without
devtools enabled.
([#1949](#1949))

## @lynx-js/template-webpack-plugin@0.9.2

### Patch Changes

- Set main thread JS basename to `lepusCode.filename` in tasm encode
data. It will ensure a filename is reported on MTS error without
devtools enabled.
([#1949](#1949))

- Upgrade `@lynx-js/tasm` to `0.0.20`.
([#1943](#1943))

- refactor: move web style info generation to the encode phase
([#1975](#1975))

## upgrade-rspeedy@0.12.1



## @lynx-js/web-core-server@0.19.0



## @lynx-js/web-elements-template@0.9.0



## @lynx-js/web-rsbuild-server-middleware@0.19.0



## @lynx-js/web-worker-rpc@0.19.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
f0rdream pushed a commit to f0rdream/lynx-stack that referenced this pull request Dec 18, 2025
<!--
  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. -->

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

* **New Features**
* Adds a unified flex handling and a new CSS custom property to simplify
and standardize flexible layout behavior across components.

* **Chores**
* Bumps minor versions of web platform packages and updates
styling/transform logic to support the new flex approach.

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

- [ ] Tests updated (or not required).
- [ ] Documentation updated (or not required).
- [ ] Changeset added, and when a BREAKING CHANGE occurs, it needs to be
clearly marked (or not required).
f0rdream pushed a commit to f0rdream/lynx-stack that referenced this pull request Dec 18, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @lynx-js/react@0.115.0

### Minor Changes

- **BREAKING CHANGE**: Delay the `createSnapshot` operation to
`Snapshot` constructor to speed up IFR.
([lynx-family#1899](lynx-family#1899))

    This change refactors how snapshots are created and registered:

    -   Removed the `entryUniqID` function
- Snapshots are now lazily created via `snapshotCreatorMap` instead of
eagerly at bundle load time
- Snapshot IDs are generated at compile time and only prefixed with
`${globDynamicComponentEntry}:` for standalone lazy bundles

    **⚠️ Lazy Bundle Compatibility:**

- **Backward compatibility (new runtime → old lazy bundles)**: ✅
**Supported**. Old lazy bundles will work with the new runtime.

- **Forward compatibility (old runtime → new lazy bundles)**: ❌ **NOT
Supported**. Lower version consumers **will not be able to load lazy
bundles produced by this version** due to the changed snapshot creation
mechanism.

    **Migration guidance**:
If you are using lazy bundles, ensure all consumers are upgraded to this
version or later **before** deploying lazy bundles built with this
version. For monorepo setups, coordinate the upgrade across all
consuming applications.

### Patch Changes

- Preserve assignments to webpack runtime variables like
`__webpack_public_path__`, `__webpack_require__.p`, etc.
([lynx-family#1958](lynx-family#1958))

- Fixed blank screen issues with nested lists. Lazily created nested
lists were being flushed but not properly recorded, causing rendering
failures. ([lynx-family#1963](lynx-family#1963))

- fix: export `createRef` and `useRef` from
`@lynx-js/react/legacy-react-runtime`
([lynx-family#1953](lynx-family#1953))

## @lynx-js/react-rsbuild-plugin@0.12.0

### Minor Changes

- **BREAKING CHANGE**: Require `@lynx-js/rspeedy` 0.12.0.
([lynx-family#1951](lynx-family#1951))

### Patch Changes

- Support Yarn Plug'n'Play.
([lynx-family#1964](lynx-family#1964))

- Updated dependencies
\[[`738d44d`](lynx-family@738d44d),
[`5bbb439`](lynx-family@5bbb439),
[`3692a16`](lynx-family@3692a16),
[`d2e290b`](lynx-family@d2e290b),
[`738d44d`](lynx-family@738d44d)]:
    -   @lynx-js/react-alias-rsbuild-plugin@0.12.0
    -   @lynx-js/css-extract-webpack-plugin@0.6.5
    -   @lynx-js/template-webpack-plugin@0.9.2
    -   @lynx-js/use-sync-external-store@1.5.0
    -   @lynx-js/react-refresh-webpack-plugin@0.3.4
    -   @lynx-js/react-webpack-plugin@0.7.2

## @lynx-js/react-alias-rsbuild-plugin@0.12.0

### Minor Changes

- **BREAKING CHANGE**: Use resolver from Rspack.
([lynx-family#1964](lynx-family#1964))

    The `createLazyResolver` now requires an `rspack` parameter:

    ```diff
- function createLazyResolver(directory: string, conditionNames:
string[]): (request: string) => Promise<string>;
+ function createLazyResolver(rspack: rspack, directory: string,
conditionNames: string[]): (request: string) => Promise<string>;
    ```

### Patch Changes

- Support Yarn Plug'n'Play.
([lynx-family#1964](lynx-family#1964))

## @lynx-js/web-core@0.19.0

### Minor Changes

- feat: new flex:val impl
([lynx-family#1979](lynx-family#1979))

### Patch Changes

- Updated dependencies
\[[`40c3a1a`](lynx-family@40c3a1a),
[`46bd5ee`](lynx-family@46bd5ee)]:
    -   @lynx-js/web-mainthread-apis@0.19.0
    -   @lynx-js/web-worker-runtime@0.19.0
    -   @lynx-js/web-constants@0.19.0
    -   @lynx-js/web-worker-rpc@0.19.0

## @lynx-js/web-elements@0.9.0

### Minor Changes

- feat: new flex:val impl
([lynx-family#1979](lynx-family#1979))

### Patch Changes

- fix: x-input display should add !important to avoid override
([lynx-family#1960](lynx-family#1960))

-   Updated dependencies \[]:
    -   @lynx-js/web-elements-template@0.9.0

## @lynx-js/rspeedy@0.12.1

### Patch Changes

- Bump Rsbuild v1.6.9 with Rspack v1.6.5.
([lynx-family#1967](lynx-family#1967))

-   Updated dependencies \[]:
    -   @lynx-js/web-rsbuild-server-middleware@0.19.0

## create-rspeedy@0.12.1

### Patch Changes

- Bump `@rsbuild/plugin-type-check` v1.3.1.
([lynx-family#1964](lynx-family#1964))

## @lynx-js/lynx-bundle-rslib-config@0.0.1

### Patch Changes

- Add `@lynx-js/lynx-bundle-rslib-config` for bundling Lynx bundle with
[Rslib](https://rslib.rs/):
([lynx-family#1943](lynx-family#1943))

    ```js
    // rslib.config.js
import { defineExternalBundleRslibConfig } from
"@lynx-js/lynx-bundle-rslib-config";

    export default defineExternalBundleRslibConfig({
      id: "utils-lib",
      source: {
        entry: {
          utils: "./src/utils.ts",
        },
      },
    });
    ```

## @lynx-js/web-constants@0.19.0

### Patch Changes

-   Updated dependencies \[]:
    -   @lynx-js/web-worker-rpc@0.19.0

## @lynx-js/web-explorer@0.0.14

### Patch Changes

- chore: update web-elements version of web-explorer
([lynx-family#1962](lynx-family#1962))

## @lynx-js/web-mainthread-apis@0.19.0

### Patch Changes

- fix: capture and bind event listener should be trigger correctly
([lynx-family#1972](lynx-family#1972))

- fix: the l-p-comp-uid of page should be '1'
([lynx-family#1970](lynx-family#1970))

-   Updated dependencies \[]:
    -   @lynx-js/web-constants@0.19.0

## @lynx-js/web-worker-runtime@0.19.0

### Patch Changes

- Updated dependencies
\[[`40c3a1a`](lynx-family@40c3a1a),
[`46bd5ee`](lynx-family@46bd5ee)]:
    -   @lynx-js/web-mainthread-apis@0.19.0
    -   @lynx-js/web-constants@0.19.0
    -   @lynx-js/web-worker-rpc@0.19.0

## @lynx-js/css-extract-webpack-plugin@0.6.5

### Patch Changes

- Set main thread JS basename to `lepusCode.filename` in tasm encode
data. It will ensure a filename is reported on MTS error without
devtools enabled.
([lynx-family#1949](lynx-family#1949))

## @lynx-js/template-webpack-plugin@0.9.2

### Patch Changes

- Set main thread JS basename to `lepusCode.filename` in tasm encode
data. It will ensure a filename is reported on MTS error without
devtools enabled.
([lynx-family#1949](lynx-family#1949))

- Upgrade `@lynx-js/tasm` to `0.0.20`.
([lynx-family#1943](lynx-family#1943))

- refactor: move web style info generation to the encode phase
([lynx-family#1975](lynx-family#1975))

## upgrade-rspeedy@0.12.1



## @lynx-js/web-core-server@0.19.0



## @lynx-js/web-elements-template@0.9.0



## @lynx-js/web-rsbuild-server-middleware@0.19.0



## @lynx-js/web-worker-rpc@0.19.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@coderabbitai coderabbitai bot mentioned this pull request Mar 2, 2026
3 tasks
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.

2 participants