Skip to content

feat: run two passes for lightningcss to improve output#164

Merged
marklawlor merged 2 commits intomainfrom
09-03-feat_improve_rem_inlining_to_simplify_calc_
Sep 3, 2025
Merged

feat: run two passes for lightningcss to improve output#164
marklawlor merged 2 commits intomainfrom
09-03-feat_improve_rem_inlining_to_simplify_calc_

Conversation

@marklawlor
Copy link
Copy Markdown
Contributor

No description provided.

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@marklawlor marklawlor force-pushed the 09-03-feat_improve_rem_inlining_to_simplify_calc_ branch from 2f91e23 to 13fb342 Compare September 3, 2025 08:38
@marklawlor marklawlor force-pushed the 09-03-feat_improve_rem_inlining_to_simplify_calc_ branch from 13fb342 to b70ddef Compare September 3, 2025 11:49
@marklawlor marklawlor changed the title feat: improve rem inlining to simplify calc() feat: run two passes for lightningcss to improve output Sep 3, 2025
@marklawlor marklawlor requested a review from Copilot September 3, 2025 11:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements a two-pass approach for lightningcss processing to improve CSS output quality by ensuring proper calc simplification and rem unit conversion.

  • Adds a first pass to handle rem-to-px conversion before the main processing
  • Updates infinity handling to use JavaScript's safe integer constants instead of hardcoded values
  • Fixes target reference issues in style application and selector building

Reviewed Changes

Copilot reviewed 6 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/compiler/compiler.ts Implements two-pass lightningcss processing with rem conversion in first pass
src/compiler/declarations.ts Updates infinity handling to use safe integer constants and adds rounding to time parsing
src/compiler/selector-builder.ts Moves root and specificity declarations inside the loop to avoid reference issues
src/runtime/native/styles/calculate-props.ts Adds target reference preservation to prevent style application issues
src/tests/native/calc.test.tsx Updates test expectation to match new safe integer infinity handling
src/tests/compiler/compiler.test.tsx Adds test for rem simplification functionality

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread src/compiler/compiler.ts Outdated
Comment thread src/runtime/native/styles/calculate-props.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@marklawlor marklawlor merged commit 76d94c7 into main Sep 3, 2025
7 checks passed
@marklawlor marklawlor deleted the 09-03-feat_improve_rem_inlining_to_simplify_calc_ branch September 3, 2025 11:58
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