Repository navigation
Conversation
…rations css(a, b) composing classes whose styles the build knows, bound to css() in the file or exported by another module, merges their atoms per property, selector, breakpoint and layer, conditions included, instead of joining classes whose winner the stylesheet order picked. vanilla-extract style([...]) passes each composed style as its own argument, keeping a style composed again later. Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…asurable Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…JSX spreads win Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…led order and JSX element className Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…etting Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…e parts Refs #688 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Contributor
Changepacks@devup-ui/wasm@1.0.83 → 1.0.84 - bindings/devup-ui-wasm/package.jsonPatch
@devup-ui/bun-plugin@1.0.22 → 1.0.23 - packages/bun-plugin/package.jsonPatch
@devup-ui/components@0.1.60 → 0.1.61 - packages/components/package.jsonPatch
@devup-ui/eslint-plugin@1.0.22 → 1.0.23 - packages/eslint-plugin/package.jsonPatch
@devup-ui/next-plugin@1.0.90 → 1.0.91 - packages/next-plugin/package.jsonPatch
@devup-ui/plugin-utils@1.0.17 → 1.0.18 - packages/plugin-utils/package.jsonPatch
@devup-ui/react@1.0.44 → 1.0.45 - packages/react/package.jsonPatch
@devup-ui/reset-css@1.0.31 → 1.0.32 - packages/reset-css/package.jsonPatch
@devup-ui/rsbuild-plugin@1.0.67 → 1.0.68 - packages/rsbuild-plugin/package.jsonPatch
@devup-ui/vite-plugin@1.0.73 → 1.0.74 - packages/vite-plugin/package.jsonPatch
@devup-ui/webpack-plugin@1.0.71 → 1.0.72 - packages/webpack-plugin/package.jsonPatch
|
No conflicted files; preserve composition changes and main ESLint checks.
No conflicted files; combine updated parent and PR changes.
No conflicted files; combine updated parent and PR changes.
Conflicted file: libs/extractor/src/lib.rs. Retain both composition helper and regression tests from PR 706 and Tailwind per-class regression tests from main 11790be; take rewritten main Tailwind implementation with Rust 1.99 assertions. bun.lock regenerated by bun install; no snapshots were hand-merged. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Merge updated parent PR 706 (30247ba), containing main 11790be. Conflicted file: libs/extractor/src/prop_modify_utils.rs. Preserve PR 707's last-written className/style spread semantics and no spread_props parameter with capacity 2, together with main's per-class Tailwind compiler. No snapshots were hand-merged. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
owjs3901
added a commit
that referenced
this pull request
Oct 8, 2026
Refs #688 #707 #776 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 #708 #707 Local merge preserved while #707 coverage fix is completed first Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #688 #707 Keep the visitor unchanged at module scope so coverage analysis does not invent an uncovered nested declaration Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #682 #695 #688 #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #688 (A 세 번째 PR). #707 위에 쌓은 브랜치입니다. #706과 #707이 병합되면 이 PR의 차이는 마지막 커밋
63d954a3하나만 남습니다.문제
stylex.props(red, blue)와stylex.props(blue, red)가 두 class를 모두 붙였습니다. 그래서 어느 색이 적용될지는 stylesheet 순서가 정했고, 나중 인자가 이기지 못했습니다.stylex.attrs도 마찬가지였습니다.{ color: null }이 앞 namespace의color를 지우지 못했습니다.변경
stylex.create()가 만든 정적 namespace는 최상위 키별 class를 따로 기록합니다.props()/attrs()의 인자가 모두 이런 namespace(또는false/null/undefined, 배열,cond && ns,cond ? a : b)라면 키 단위로 합칩니다. StyleX와 같이 나중 키가 앞 키를 대체하고,null인 키는 앞 값을 지웁니다. 조건이 있으면 키마다 조건식으로 고릅니다.include()를 쓴 namespace, 계산된 키가 여기에 해당합니다.동작 변화
props(red, blue)는color-blue하나만,props(blue, red)는color-red하나만 붙습니다.props(base, reset{color:null})은 color class를 붙이지 않습니다.새로 생기는 오류
남은 항목
검증
cargo clippy -D warnings(Rust 1.99),cargo test1468개 통과. 새 테스트test_stylex_props_merge_keys(17 case)를 추가했습니다.bun test5474개 통과, 커버리지 100%.sx-props-last-wins,sx-create-null,runtime/stylex-props,runtime/stylex-attrs)를 probe로 확인했습니다.2026-10-08 main 11790bef를 병합하여 업데이트했습니다. 충돌 없이 갱신된 부모 PR의 변경과 main의 변경을 모두 보존했습니다.
2026-10-14 갱신: 갱신된 부모 #707 53011cf(main 76b1a15 및 #780 포함) 병합으로 최신 main(#776, #778 포함)을 반영했으며, 충돌 파일 libs/extractor/src/visit.rs은 StyleX 키별 합성·나중 값 우선·null 해제 메서드와 부모의 style_text 및 조건부 styled 평가를 함께 유지함; 부모의 Linux 100% 통과 후 전파했고 새 스냅샷 변경 없음 방식으로 해결했습니다. 새로 생기는 오류 없음.
2026-10-16 갱신: 갱신된 부모 #707 851b24f16294112c59dc1ca4ad90ce8cb89827c0을 충돌 없이 자동 병합해 확정 main a6ecc12570338475df40a429c719160e63db86b5을 포함했습니다. 충돌 파일은 없으며 부모의 imported CSS/문자열 className 메타데이터·진단·조건부 스프레드 우선순위와 이 PR의 StyleX 속성별 합성 및 null reset 의도를 모두 유지했습니다. 수동 스냅샷 병합·새 스냅샷 수락·추가 오류·런타임 스타일러는 없습니다.
자동 병합 커밋 74bdd41714372a87f6345345ffbd2f59b2be627b의 두 부모는 009c848 및 851b24f16294112c59dc1ca4ad90ce8cb89827c0이며 깨끗한 트리에서 정상 push했습니다. 자동 병합이므로 커밋 훅 없이 생성되는 정상 경로이며 훅을 우회하는 옵션은 사용하지 않았습니다. push 전 기본 Rust 스택/jobs=2/전체 프로세스 6GiB 한도로 fmt, Rust 1.99 all-target Clippy, 일반 cargo test --workspace 4,085개, 최신 WASM/루트 빌드, bun lint, Bun 5,909개/실패 0개/커버리지 100%를 확인했습니다. 기존 React 마이그레이션 경고 9개를 추가하지 않았습니다.
실제 공개 WASM+React/SSR 검증 10개는 부모의 styled 합성·attrs·overwritten capture·Tailwind 4개와 StyleX nested array/나중 속성 우선·역순 우선·null reset·빈 props·조건 true/false 6개를 함께 통과했습니다. 새 head의 Linux 100% 및 CI는 이어서 확인하며 이전 head의 성공을 새 head의 증거로 사용하지 않습니다.
실제 WASM/공개 API 검증 출력:
2026-10-16 CI 확인: head 74bdd41714372a87f6345345ffbd2f59b2be627b의 run 38764902383은 모든 네 job 및 Codecov가 통과했고 MERGEABLE/CLEAN입니다. publish job 116525445795의 실제 로그에서 Linux Rust 100.00%(12,961/12,961), Bun 5,909개/실패 0개/커버리지 100%를 확인했습니다. 갱신된 부모 #707과 확정 main a6ecc125가 이 head의 조상이며 추가 수동 해결이나 새로운 오류는 없습니다.