Skip to content

chore(react): align element template runtime naming#2588

Merged
Yradex merged 2 commits into
lynx-family:mainfrom
Yradex:slice/element-template/07
May 9, 2026
Merged

chore(react): align element template runtime naming#2588
Yradex merged 2 commits into
lynx-family:mainfrom
Yradex:slice/element-template/07

Conversation

@Yradex
Copy link
Copy Markdown
Collaborator

@Yradex Yradex commented May 9, 2026

Summary by CodeRabbit

  • Chores
    • Internal refactoring of Element Template runtime internals, including restructuring of global commit state management and template registry architecture
    • Updated internal test fixtures and testing utilities to align with refactored implementation

Overview

This PR narrows Element Template runtime terminology around template ids and background instances without changing the public API surface. It keeps the current ET behavior intact while making the internal model easier to follow before the next event-slot work lands.

Key Points

  • Renames internal ET handle terminology toward uid/template registry naming across runtime helpers, fixtures, and transform snapshots.
  • Simplifies BackgroundElementTemplateInstance ownership so the background runtime carries the instance data it actually needs.
  • Updates ET tests, fixtures, and snapshot expectations to match the runtime naming and background-instance model shift.
  • Includes an empty changeset because this only refactors unpublished ET runtime internals and internal tests/fixtures.

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).
  • Changeset added (or not required).

Verification

  • pnpm -C packages/react/runtime test:et
  • cargo test --test element_template --test element_template_contract

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 9, 2026

🦋 Changeset detected

Latest commit: 2aac96c

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

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

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 May 9, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d6aac431-99b9-473a-adcf-a1dc5ee7b492

📥 Commits

Reviewing files that changed from the base of the PR and between 94f9a89 and 2aac96c.

📒 Files selected for processing (9)
  • .changeset/empty-et-runtime-cleanup.md
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/_shared.ts
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/ops/does-not-emit-patch-when-attrs-reference-reused/case.ts
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/ops/treats-non-object-attrs-entry-as-empty-object/case.ts
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/ops/treats-nullish-attrs-as-empty-object/case.ts
  • packages/react/runtime/__test__/element-template/runtime/background/hydrate.test.ts
  • packages/react/runtime/__test__/element-template/runtime/background/instance.test.ts
  • packages/react/runtime/__test__/element-template/runtime/patch/update-timing.test.ts
  • packages/react/runtime/src/element-template/background/instance.ts
✅ Files skipped from review due to trivial changes (3)
  • .changeset/empty-et-runtime-cleanup.md
  • packages/react/runtime/test/element-template/runtime/patch/update-timing.test.ts
  • packages/react/runtime/test/element-template/runtime/background/hydrate.test.ts
🚧 Files skipped from review as they are similar to previous changes (6)
  • packages/react/runtime/test/element-template/fixtures/background/instance/_shared.ts
  • packages/react/runtime/test/element-template/fixtures/background/instance/ops/treats-non-object-attrs-entry-as-empty-object/case.ts
  • packages/react/runtime/test/element-template/fixtures/background/instance/ops/does-not-emit-patch-when-attrs-reference-reused/case.ts
  • packages/react/runtime/test/element-template/fixtures/background/instance/ops/treats-nullish-attrs-as-empty-object/case.ts
  • packages/react/runtime/test/element-template/runtime/background/instance.test.ts
  • packages/react/runtime/src/element-template/background/instance.ts

📝 Walkthrough

Walkthrough

Renames key runtime exports and the builtin raw-text ID, updates core commit/hydration/patch/render logic, refactors background instance behavior, aligns SWC plugin, and refreshes all tests and fixtures accordingly.

Changes

Element Template Runtime Export Rename & Builtin ID Update

Layer / File(s) Summary
Core runtime: context, instance, hooks, patch, render
packages/react/runtime/src/element-template/**/*
Renamed exports/IDs; updated commit/hydration listeners; refactored instance constructor/gating; switched to elementTemplateRegistry; adjusted profiling/performance checks.
Build-time codegen constants (SWC plugin)
packages/react/transform/crates/swc_plugin_element_template/*
Updated builtin raw-text template ID constant and tests.
Test fixtures: expected outputs and logs
packages/react/runtime/__test__/element-template/fixtures/*, packages/webpack/.../rspack.config.js
Snapshot data now uses _et_builtin_raw_text.
Tests: imports, helpers, setup/teardown
packages/react/runtime/__test__/element-template/**/_shared.*, test-utils/**/*
Switched to globalCommitContext/elementTemplateRegistry; added hydration marks; adjusted env reset.
Tests: behavior and assertions
packages/react/runtime/__test__/element-template/**/*.test.*
Assertions adapted to new IDs/exports; added commit-state reset checks; verified registry operations and background behaviors.
Changeset note
.changeset/empty-et-runtime-cleanup.md
Documents internal-only refactor; no release.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • HuJean
  • hzy
  • gaoachao

🐰 I hopped through underscores, light and fleet,
Lowercased rivers where commit ops meet,
Swapped raw-text keys in every sheet,
Patched, hydrated—changes neat—
Now templates purr with tidy beat. 🥕✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

@Yradex Yradex marked this pull request as ready for review May 9, 2026 05:42
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 94f9a893e6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/react/runtime/__test__/element-template/runtime/background/hydrate.test.ts (1)

480-480: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Fix stale commit-context symbol at Line 480

GlobalCommitContext is still referenced after the import was switched to globalCommitContext, so this test now references an undefined identifier.

Suggested fix
-    expect(GlobalCommitContext.nonPayload.removedSubtrees).toEqual([]);
+    expect(globalCommitContext.nonPayload.removedSubtrees).toEqual([]);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/react/runtime/__test__/element-template/runtime/background/hydrate.test.ts`
at line 480, The test references the outdated symbol GlobalCommitContext which
is now defined as globalCommitContext; update the assertion to use
globalCommitContext (e.g., replace
GlobalCommitContext.nonPayload.removedSubtrees with
globalCommitContext.nonPayload.removedSubtrees) so the test uses the imported
identifier, and run the hydrate.test to ensure no other stale references remain.
🧹 Nitpick comments (1)
packages/react/runtime/__test__/element-template/runtime/patch/update-timing.test.ts (1)

18-23: ⚡ Quick win

Prefer shared builtin template-id constant over inline literal.

Use the exported builtin raw-text template ID constant in createRawTextOps to avoid future rename drift across ET tests.

Proposed refactor
-import { registerBuiltinRawTextTemplate } from '../../test-utils/debug/registry.js';
+import {
+  BUILTIN_RAW_TEXT_TEMPLATE_ID,
+  registerBuiltinRawTextTemplate,
+} from '../../test-utils/debug/registry.js';
...
 function createRawTextOps(id: number, text: string) {
   return [
     ElementTemplateUpdateOps.createTemplate,
     id,
-    '_et_builtin_raw_text',
+    BUILTIN_RAW_TEXT_TEMPLATE_ID,
     null,
     [text],
     [],
   ];
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/react/runtime/__test__/element-template/runtime/patch/update-timing.test.ts`
around lines 18 - 23, Replace the inline literal '_et_builtin_raw_text' in
createRawTextOps with the exported builtin raw-text template ID constant: import
the constant (the module exports the builtin template id, e.g.
BUILTIN_RAW_TEXT_TEMPLATE_ID or similarly named) and use that identifier in
createRawTextOps instead of the string literal to prevent rename drift; update
the import at the top of the test file and substitute the literal in
createRawTextOps.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In
`@packages/react/runtime/__test__/element-template/runtime/background/hydrate.test.ts`:
- Line 480: The test references the outdated symbol GlobalCommitContext which is
now defined as globalCommitContext; update the assertion to use
globalCommitContext (e.g., replace
GlobalCommitContext.nonPayload.removedSubtrees with
globalCommitContext.nonPayload.removedSubtrees) so the test uses the imported
identifier, and run the hydrate.test to ensure no other stale references remain.

---

Nitpick comments:
In
`@packages/react/runtime/__test__/element-template/runtime/patch/update-timing.test.ts`:
- Around line 18-23: Replace the inline literal '_et_builtin_raw_text' in
createRawTextOps with the exported builtin raw-text template ID constant: import
the constant (the module exports the builtin template id, e.g.
BUILTIN_RAW_TEXT_TEMPLATE_ID or similarly named) and use that identifier in
createRawTextOps instead of the string literal to prevent rename drift; update
the import at the top of the test file and substitute the literal in
createRawTextOps.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6593ea4b-1186-4408-9dd5-3cfc5bd5145e

📥 Commits

Reviewing files that changed from the base of the PR and between 887d8a3 and 94f9a89.

⛔ Files ignored due to path filters (26)
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_generate_attribute_slots_for_dynamic_attributes.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_background_conditional_attributes.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_boolean_and_number_attributes.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_complex_text_structure.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_dataset_attributes.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_deeply_nested_user_components.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_dynamic_class_attributes.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_events_js.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_events_lepus.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_id_attributes.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_inline_styles.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_interpolated_text_with_siblings_js.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_interpolated_text_with_siblings_lepus.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_mixed_content.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_nested_structure_and_dynamic_content.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_refs_js.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_refs_lepus.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_sibling_user_components.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_spread_attributes.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_handle_user_component.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_isolate_arrays_with_element_slot_placeholder.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_keep_code_and_template_attribute_slots_in_sync_for_spread.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_output_element_template_simple_lepus.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_output_template_with_static_attributes.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_verify_template_structure_complex.snap is excluded by !**/*.snap
  • packages/react/transform/crates/swc_plugin_element_template/tests/__combined_snapshots__/should_verify_text_attribute_and_child_text_slots.snap is excluded by !**/*.snap
📒 Files selected for processing (85)
  • .changeset/empty-et-runtime-cleanup.md
  • packages/react/runtime/__test__/element-template/debug/alog.test.ts
  • packages/react/runtime/__test__/element-template/debug/profile-hook.test.tsx
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/_shared.ts
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/ops/does-not-emit-patch-when-attrs-reference-reused/case.ts
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/ops/supports-silent-insert-before/case.ts
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/ops/treats-non-object-attrs-entry-as-empty-object/case.ts
  • packages/react/runtime/__test__/element-template/fixtures/background/instance/ops/treats-nullish-attrs-as-empty-object/case.ts
  • packages/react/runtime/__test__/element-template/fixtures/hydrate/background-hydrate-compiled/children.non-string-raw-text-key-on-main/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/hydrate/background-hydrate/_shared.tsx
  • packages/react/runtime/__test__/element-template/fixtures/hydrate/background-hydrate/children.creates-missing-nodes-recursively/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/hydrate/background-hydrate/coverage.emit-create-raw-text-non-text/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/hydrate/background-hydrate/coverage.emit-create-raw-text/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/hydrate/hydration-data/_shared.tsx
  • packages/react/runtime/__test__/element-template/fixtures/hydrate/hydration-data/sub-components/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/hydrate/hydration-data/text-children/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/page/render-page/case.tsx
  • packages/react/runtime/__test__/element-template/fixtures/patch/_shared.tsx
  • packages/react/runtime/__test__/element-template/fixtures/patch/detaches-node-when-moving-between-slots/case.tsx
  • packages/react/runtime/__test__/element-template/fixtures/render/child-siblings/templates.json.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/component-slot-content/templates.json.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/component/papi.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/component/templates.json.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/mapped-view-children/papi.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/mapped-view-children/templates.json.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/mixed-children/papi.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/mixed-children/templates.json.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/multiple-text/papi.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/multiple-text/templates.json.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/nested-templates/papi.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/nested-templates/templates.json.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/_shared.ts
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/appends-root-text-via-append-element/native-log.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/appends-root-text-via-append-element/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/creates-template-from-attrs-and-slot-text/native-log.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/creates-template-from-attrs-and-slot-text/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/handles-multiple-text-nodes-in-the-same-slot/native-log.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/handles-multiple-text-nodes-in-the-same-slot/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/inserts-nested-templates-into-parent-slots/native-log.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/inserts-nested-templates-into-parent-slots/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/keeps-slot-children-separated-and-ordered/native-log.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/opcodes-into-element-template/keeps-slot-children-separated-and-ordered/output.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/react-example/papi.txt
  • packages/react/runtime/__test__/element-template/fixtures/render/react-example/templates.json.txt
  • packages/react/runtime/__test__/element-template/lynx/performance.test.ts
  • packages/react/runtime/__test__/element-template/native/callDestroyLifetimeFun.test.ts
  • packages/react/runtime/__test__/element-template/native/mts-destroy.test.ts
  • packages/react/runtime/__test__/element-template/runtime/background/commit-context.test.ts
  • packages/react/runtime/__test__/element-template/runtime/background/commit-hook.test.ts
  • packages/react/runtime/__test__/element-template/runtime/background/hydrate.test.ts
  • packages/react/runtime/__test__/element-template/runtime/background/instance.test.ts
  • packages/react/runtime/__test__/element-template/runtime/background/render/preact.test.tsx
  • packages/react/runtime/__test__/element-template/runtime/background/update-timing.test.ts
  • packages/react/runtime/__test__/element-template/runtime/hydration/hydration-listener.test.ts
  • packages/react/runtime/__test__/element-template/runtime/patch/element-template-patch.test.tsx
  • packages/react/runtime/__test__/element-template/runtime/patch/patch-listener-alog.test.ts
  • packages/react/runtime/__test__/element-template/runtime/patch/update-timing.test.ts
  • packages/react/runtime/__test__/element-template/runtime/render/render-main-thread.contract.test.ts
  • packages/react/runtime/__test__/element-template/runtime/render/render-opcodes-into-element-template.et.test.tsx
  • packages/react/runtime/__test__/element-template/runtime/render/render-to-opcodes.et.test.jsx
  • packages/react/runtime/__test__/element-template/runtime/render/render-transform.contract.test.ts
  • packages/react/runtime/__test__/element-template/runtime/template/element-template-handle.test.ts
  • packages/react/runtime/__test__/element-template/runtime/template/element-template-registry.test.ts
  • packages/react/runtime/__test__/element-template/test-utils/debug/envManager.ts
  • packages/react/runtime/__test__/element-template/test-utils/debug/registry.ts
  • packages/react/runtime/__test__/element-template/test-utils/debug/renderFixtureRunner.ts
  • packages/react/runtime/__test__/element-template/test-utils/debug/serializer.ts
  • packages/react/runtime/__test__/element-template/test-utils/debug/updateRunner.test.tsx
  • packages/react/runtime/__test__/element-template/test-utils/mock/mockNativePapi/templateTree.ts
  • packages/react/runtime/src/element-template/background/commit-context.ts
  • packages/react/runtime/src/element-template/background/commit-hook.ts
  • packages/react/runtime/src/element-template/background/hydrate.ts
  • packages/react/runtime/src/element-template/background/hydration-listener.ts
  • packages/react/runtime/src/element-template/background/instance.ts
  • packages/react/runtime/src/element-template/debug/profile.ts
  • packages/react/runtime/src/element-template/lynx/performance.ts
  • packages/react/runtime/src/element-template/native/mts-destroy.ts
  • packages/react/runtime/src/element-template/runtime/patch.ts
  • packages/react/runtime/src/element-template/runtime/render/render-opcodes.ts
  • packages/react/runtime/src/element-template/runtime/render/render-to-opcodes.ts
  • packages/react/runtime/src/element-template/runtime/template/registry.ts
  • packages/react/transform/crates/swc_plugin_element_template/asset.rs
  • packages/react/transform/crates/swc_plugin_element_template/tests/element_template.rs
  • packages/react/transform/crates/swc_plugin_element_template/tests/element_template_contract.rs
  • packages/webpack/react-webpack-plugin/test/cases/element-template/basic/rspack.config.js

@Yradex Yradex force-pushed the slice/element-template/07 branch from 94f9a89 to 2aac96c Compare May 9, 2026 06:01
@relativeci
Copy link
Copy Markdown

relativeci Bot commented May 9, 2026

React Example

#7958 Bundle Size — 235.77KiB (0%).

2aac96c(current) vs 19092e5 main#7957(baseline)

Bundle metrics  no changes
                 Current
#7958
     Baseline
#7957
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 197 197
No change  Duplicate Modules 80 80
No change  Duplicate Code 44.85% 44.85%
No change  Packages 2 2
No change  Duplicate Packages 0 0
Bundle size by type  no changes
                 Current
#7958
     Baseline
#7957
No change  IMG 145.76KiB 145.76KiB
No change  Other 90.01KiB 90.01KiB

Bundle analysis reportBranch Yradex:slice/element-template/07Project dashboard


Generated by RelativeCIDocumentationReport issue

@relativeci
Copy link
Copy Markdown

relativeci Bot commented May 9, 2026

Web Explorer

#9530 Bundle Size — 900.02KiB (0%).

2aac96c(current) vs 19092e5 main#9529(baseline)

Bundle metrics  no changes
                 Current
#9530
     Baseline
#9529
No change  Initial JS 44.46KiB 44.46KiB
No change  Initial CSS 2.22KiB 2.22KiB
No change  Cache Invalidation 0% 0%
No change  Chunks 9 9
No change  Assets 11 11
No change  Modules 229 229
No change  Duplicate Modules 11 11
No change  Duplicate Code 27.28% 27.28%
No change  Packages 10 10
No change  Duplicate Packages 0 0
Bundle size by type  no changes
                 Current
#9530
     Baseline
#9529
No change  JS 495.88KiB 495.88KiB
No change  Other 401.92KiB 401.92KiB
No change  CSS 2.22KiB 2.22KiB

Bundle analysis reportBranch Yradex:slice/element-template/07Project dashboard


Generated by RelativeCIDocumentationReport issue

@relativeci
Copy link
Copy Markdown

relativeci Bot commented May 9, 2026

React MTF Example

#1088 Bundle Size — 206.69KiB (+0.04%).

2aac96c(current) vs 19092e5 main#1087(baseline)

Bundle metrics  Change 1 change
                 Current
#1088
     Baseline
#1087
No change  Initial JS 0B 0B
No change  Initial CSS 0B 0B
Change  Cache Invalidation 46.16% 46.18%
No change  Chunks 0 0
No change  Assets 3 3
No change  Modules 192 192
No change  Duplicate Modules 77 77
No change  Duplicate Code 44.36% 44.36%
No change  Packages 2 2
No change  Duplicate Packages 0 0
Bundle size by type  Change 1 change Regression 1 regression
                 Current
#1088
     Baseline
#1087
No change  IMG 111.23KiB 111.23KiB
Regression  Other 95.46KiB (+0.09%) 95.37KiB

Bundle analysis reportBranch Yradex:slice/element-template/07Project dashboard


Generated by RelativeCIDocumentationReport issue

@relativeci
Copy link
Copy Markdown

relativeci Bot commented May 9, 2026

React Example with Element Template

#223 Bundle Size — 197.79KiB (-0.12%).

2aac96c(current) vs 19092e5 main#222(baseline)

Bundle metrics  Change 2 changes
                 Current
#223
     Baseline
#222
No change  Initial JS 0B 0B
No change  Initial CSS 0B 0B
Change  Cache Invalidation 26.39% 0%
No change  Chunks 0 0
No change  Assets 4 4
No change  Modules 79 79
No change  Duplicate Modules 23 23
Change  Duplicate Code 40.32%(+0.05%) 40.3%
No change  Packages 2 2
No change  Duplicate Packages 0 0
Bundle size by type  Change 1 change Improvement 1 improvement
                 Current
#223
     Baseline
#222
No change  IMG 145.76KiB 145.76KiB
Improvement  Other 52.03KiB (-0.44%) 52.26KiB

Bundle analysis reportBranch Yradex:slice/element-template/07Project dashboard


Generated by RelativeCIDocumentationReport issue

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented May 9, 2026

Merging this PR will improve performance by 17.62%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 2 improved benchmarks
✅ 79 untouched benchmarks
⏩ 26 skipped benchmarks1

Performance Changes

Benchmark BASE HEAD Efficiency
002-hello-reactLynx-destroyBackground 912.5 µs 863.4 µs +5.68%
transform 1000 view elements 47.1 ms 40 ms +17.62%

Comparing Yradex:slice/element-template/07 (2aac96c) with main (887d8a3)

Open in CodSpeed

Footnotes

  1. 26 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 May 9, 2026

React External

#1072 Bundle Size — 690.27KiB (0%).

2aac96c(current) vs 19092e5 main#1071(baseline)

Bundle metrics  no changes
                 Current
#1072
     Baseline
#1071
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 3 3
No change  Modules 17 17
No change  Duplicate Modules 5 5
No change  Duplicate Code 8.59% 8.59%
No change  Packages 0 0
No change  Duplicate Packages 0 0
Bundle size by type  no changes
                 Current
#1072
     Baseline
#1071
No change  Other 690.27KiB 690.27KiB

Bundle analysis reportBranch Yradex:slice/element-template/07Project dashboard


Generated by RelativeCIDocumentationReport issue

@Yradex Yradex merged commit 87c1759 into lynx-family:main May 9, 2026
124 of 131 checks passed
@Yradex Yradex deleted the slice/element-template/07 branch May 9, 2026 07:17
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.

4 participants