Skip to content

refactor(pack): remove emotion react transform - #2630

Merged
fireairforce merged 4 commits into
nextfrom
decorator-support-extends-tsconfig
Feb 25, 2026
Merged

fireairforce merged 4 commits into
nextfrom
decorator-support-extends-tsconfig

Conversation

@fireairforce

Copy link
Copy Markdown
Member

Summary

Since #2595 (comment) emotion jsx transform has been deleted.

This removes the events as they're no longer relevant and it's not worth slowing down dev/build for them.

Test Plan

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @fireairforce, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on refactoring the pack-core crate by removing the emotion react transform. This change is intended to streamline the build process and improve overall performance, as the transform is no longer relevant. The updates include modifications to the crate's dependencies, context, configuration, schema, and associated documentation.

Highlights

  • Emotion React Transform Removal: This PR removes the emotion react transform from the pack-core crate and related configurations, as it's no longer needed.
  • Performance Improvement: The removal aims to improve development and build speeds by eliminating unnecessary transformations.
  • Configuration Updates: The Cargo.toml, context.rs, config.rs, schema, and pack-shared files were updated to reflect the removal of the emotion transform.
Activity
  • The PR removes the emotion react transform, which was previously used for emotion.js styling.
  • The change was motivated by the removal of emotion jsx transform in a related pull request.
  • The PR aims to improve build and development speed by removing the transform.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@fireairforce
fireairforce force-pushed the decorator-support-extends-tsconfig branch from 5ce62d2 to 0e47c26 Compare February 25, 2026 08:02

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request effectively removes the Emotion transform from the codebase. The changes span across Rust crates, TypeScript packages, and configuration files, consistently removing feature flags, code implementations, type definitions, and documentation related to Emotion. The changes are well-executed and align with the PR's stated goal. I've pointed out one area for improvement regarding unrelated changes in the JSON schema file, which would be better handled in a separate pull request to maintain focus.

Comment thread packages/pack/config_schema.json Resolved
@fireairforce
fireairforce force-pushed the decorator-support-extends-tsconfig branch from 0e47c26 to c1552d6 Compare February 25, 2026 08:03
@github-actions

Copy link
Copy Markdown

📊 Performance Benchmark Report (with-antd)

Utoopack Performance Report

Report ID: utoopack_performance_report_20260225_082646
Generated: 2026-02-25 08:26:46
Trace File: trace_antd.json (0.5GB, 3.18M events)
Test Project: examples/with-antd


Executive Summary

Key Findings

Metric Value Assessment
Total Wall Time 7,834.6 ms Baseline
Total Thread Work (de-duped) 24,095.1 ms Non-overlapping busy time
Effective Parallelism 3.1x thread_work / wall_time
Working Threads 5 Threads with actual spans
Thread Utilization 61.5% 🆗 Average
Total Spans 1,590,051 All B/E + X events
Meaningful Spans (>= 10us) 472,768 (29.7% of total)
Tracing Noise (< 10us) 1,117,283 (70.3% of total)

Note on Thread Work: Thread work is computed by merging overlapping intervals
per thread, eliminating double-counting from nested spans. This gives the true
wall-clock busy time across all threads.

Workload Distribution by Tier

Category Tasks Total Time (ms) % of Thread Work
P0: Runtime/Resolution 0 0.0 0.0%
P1: I/O & Heavy Tasks 36,526 3,455.7 14.3%
P3: Asset Pipeline 28,070 3,278.7 13.6%
P4: Bridge/Interop 0 0.0 0.0%
Other 408,172 19,908.3 82.6%

Note: Percentages may sum to >100% because task durations include nesting
while thread work is de-duplicated. This is intentional for hotspot attribution.


Parallelization Analysis

Thread Utilization

Metric Value
Working Threads 5
Total Thread Work (de-duped) 24,095.1 ms
Avg Work per Thread 4,819.0 ms
Effective Parallelism 3.08x
Thread Utilization 61.5%

Assessment: With 5 working threads, achieving 3.1x parallelism indicates significant loss of potential parallelism.


Top 20 Tasks by Total Duration

Total (ms) Count Avg (us) Max (ms) % Work Task Name
7,302.5 166,407 43.9 8.3 30.3% module
3,813.5 65,642 58.1 165.7 15.8% process module
3,393.1 33,770 100.5 165.6 14.1% analyze ecmascript module
2,737.9 23,734 115.4 59.2 11.4% code generation
1,638.8 52,893 31.0 7.0 6.8% resolving
1,577.6 57,684 27.3 6.9 6.5% internal resolving
1,388.4 13,406 103.6 47.7 5.8% chunking
1,328.1 25,982 51.1 9.4 5.5% precompute code generation
1,204.8 12,711 94.8 138.3 5.0% compute async module info
1,004.4 8,017 125.3 70.3 4.2% parse ecmascript
513.8 4,594 111.8 50.5 2.1% compute async chunks
288.3 1,937 148.8 14.2 1.2% generate source map
71.3 1,859 38.3 16.9 0.3% collect mergeable modules
70.4 570 123.6 21.1 0.3% compute binding usage info
69.2 110 629.5 21.1 0.3% make production chunks
53.0 2,168 24.5 1.8 0.2% read file
40.0 6 6671.2 21.1 0.2% compute merged modules
35.9 579 62.0 4.6 0.1% async reference
25.0 15 1663.6 7.0 0.1% apply effects
22.6 13 1736.8 7.0 0.1% write file

Deep Dive by Tier

Tier 1: Runtime & Resolution (P0)

Focus: Task scheduling and dependency resolution.

Metric Value Status
Total Scheduling Time 0.0 ms ✅ Normal
Resolution Hotspots 0 distinct task types Check Top Tasks

Potential P0 Issues:

  • Thread utilization at 61.5% suggests critical path serialization or lock contention.
  • 1,117,283 spans < 10us (70.3%) contribute to scheduler pressure.

Tier 2: Physical & Resource Barriers (P1)

Focus: Hardware utilization, I/O, and heavy monoliths.

Metric Value Status
I/O Work (Estimated) 3,455.7 ms ✅ Healthy
Large Tasks (> 100ms) 3 Minimal

Tier 3: Architecture & Asset Pipeline (P2-P3)

Focus: Global state and transformation pipeline.

Metric Value Status
Asset Processing (P3) 3,278.7 ms 13.6% of work
Bridge Overhead (P4) 0.0 ms ✅ Low

Duration Distribution

Range Count Percentage
< 10us (noise) 1,117,283 70.3%
10us - 100us 447,183 28.1%
100us - 1ms 21,758 1.4%
1ms - 10ms 3,747 0.2%
10ms - 100ms 77 0.0%
> 100ms 3 0.0%

Diagnostic Signal Summary

Signal Status Finding
Tracing Noise (P0) ⚠️ Significant 70.3% of spans < 10us
Thread Utilization (P0) 🆗 Average 61.5% utilization
Heavy Monoliths (P1) ✅ Minimal 3 tasks > 100ms
Asset Pipeline (P3) Review 3,278.7 ms total
Bridge/Interop (P4) Low 0.0 ms total

Action Items (P0-P4)

  1. [P0] Profile lock contention to address 38% lost parallelism
  2. [P1] Breakdown heavy monolith tasks (>100ms) to improve granularity
  3. [P1] Review I/O patterns for potential batching opportunities
  4. [P3] Optimize asset transformation pipeline hot-spots
  5. [P4] Reduce "chatty" bridge operations if interop overhead is significant

Report generated by Utoopack Performance Analysis Agent on 2026-02-25
Following: Utoopack Performance Analysis Agent Protocol

@fireairforce
fireairforce enabled auto-merge (squash) February 25, 2026 08:43
@fireairforce
fireairforce merged commit fceeebd into next Feb 25, 2026
21 checks passed
@fireairforce
fireairforce deleted the decorator-support-extends-tsconfig branch February 25, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants