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>
Refs #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…uate shouldForwardProp at build time Refs #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…ring Refs #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #691 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
… and conditional styles Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…h Emotion Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…ed parameters Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 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
|
Codecov Report✅ All modified and coverable lines are covered by tests.
🚀 New features to boost your workflow:
|
This was referenced Oct 3, 2026
Open
No conflicted files; preserve composition changes and main ESLint checks.
No conflicted files; combine updated parent and PR changes.
owjs3901
added a commit
that referenced
this pull request
Oct 8, 2026
owjs3901
added a commit
that referenced
this pull request
Oct 8, 2026
owjs3901
added a commit
that referenced
this pull request
Oct 8, 2026
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 #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 #688 #710 #707 Retain inherited captures for withComponent and as in JSX and TypeScript renderers Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #689 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #691 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #691 #695 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #690 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…sition Refs #690 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 15, 2026
Refs #684 2026-10-15: 갱신된 부모 #730 b28816c2를 두 부모 병합으로 통합했습니다. package.json은 모든 타입 fixture를 검사하는 프로젝트 명령으로 합쳤고, styled-components 선언의 중복 re-export만 제거하면서 확장 가능한 테마와 브랜드 및 부모의 createTheme·정규 ClassNamesArg를 보존했습니다. 승인된 #712 타입 보정으로 theme 함수의 undefined outer, 함수형 ThemeConsumer, withTheme의 theme override/ref를 실제 부모 구현과 일치시켰습니다. 같은 새 타입 증명이 보정 전 13개 오류를 재현하고 보정 후 통과했으며, React 18/19의 실제 배포 dist 소비자 검사도 통과했습니다. 런타임·Rust·캡처·프로토콜 변경은 없습니다. 최신 main a6ecc12 반영은 코디네이터 지시에 따라 MAIN SETTLED 이후 전파 단계로 남겨 둡니다. 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 15, 2026
Refs #695 #688 #689 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>
Refs #682 #695 #688 #689 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>
Refs #682 #695 #688 #689 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>
Refs #682 #689 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 16, 2026
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 #690 (EMO-12). #729 위에 쌓은 브랜치입니다. #727, #728, #729가 먼저 병합되어야 합니다.
요약
Emotion/styled-components의 컴포넌트 선택자를 런타임 없이 빌드 때 컴파일합니다. 지금까지는 두 형태 모두 빌드 오류였습니다.
동작
${Child}, 규칙 객체의 계산된 키[Child]나[`&:hover ${Child}`]가 그런 경우입니다. 선택자로 쓰이지 않는 컴포넌트의 출력은 그대로입니다.Child는.마커가 됩니다. 그 밖의 곳(JSX 등)에서Child는 컴포넌트 그대로입니다.styled(Child)로 확장한 컴포넌트도 마커를 이어받습니다. Emotion에서처럼 Child를 렌더링하므로 같은 선택자에 걸립니다. css prop 때문에 태그로 인라인될 때도 마커가 남습니다.기존 동작 변화
stylis가 중첩하는 방식에 맞췄습니다.
&없이 쓴 중첩 선택자는 이제 전역 규칙이 아니라 컴포넌트의 자손으로 중첩됩니다. 예: styled 템플릿 안의ul { ... }는 이전에 전역ul{...}였고, 이제& ul입니다.a, b→& a,& b).:hover로 시작하면 컴포넌트 자신에 붙습니다..#[*>+~로 시작하는 키는 이제 속성이 아니라 중첩 선택자로 읽습니다. 예:{ '.child': {...} },{ '> li': {...} }.새로 생기는 오류
없습니다. 이전에 나던 오류 두 가지가 없어집니다:
Cannot place \Child`, ``styled()cannot use[Child]` ``.남는 한계
검증
cargo fmt,cargo +1.99 clippy --workspace --all-targets -- -D warnings,cargo test --workspace통과bun run build,bun test5487 통과, 커버리지 100%bun lint: 기존 경고 2개 외 없음survey/emotion/styled-selector-template.tsx,styled-selector-object.tsx프로브: 둘 다.c .a{color:green}2026-10-08 main 11790bef를 병합하여 업데이트했습니다. 충돌 없이 갱신된 부모 PR의 변경과 main의 변경을 모두 보존했습니다.
2026-10-15 갱신: #729 4aa0b56 (main 76b1a15)을 병합했습니다. 충돌 파일 css_utils.rs, extract_style_from_styled.rs, style_values.rs, visit.rs은 canonical selector-list parsing and parent class metadata/keyframe getName retained with component selector discovery; coordinator-approved own/inherited marker identity metadata stays separate from opaque styling classes, survives rebind/withComponent/extensions and Inline/Slot composition, renderer adds identities outside empty class replacement; RED-first343cases and normal3592workspace, OracleAPPROVE, no runtime/error/snapshot changes 방식으로 해결했으며 부모 PR의 동작을 함께 보존했습니다. 새로 생기는 오류 없음.
실제 WASM/공개 API 검증 출력:
2026-10-16 갱신: 확정 main a6ecc125를 포함한 갱신된 #729 b312482b를 병합했습니다. 충돌 파일 visit.rs는 walk 전에 자식 selected-component marker 기록과 부모 class_text 캡처를 모두 보존하고, walk 뒤 marker 정리/pending_styled/insert_text 처리를 그대로 유지하여 해결했습니다. const 조회는 value map과 독립인 scoping 조회라 두 의도가 충돌하지 않습니다. 새로 생기는 오류 없음.
최초 병합은 두 부모 b28816c/744b145a의 291f1fd7로 전체 hook을 정상 완료했고, 부모 #729의 실제 CI coverage 한 줄 보완 새 커밋 b312482b를 추가로 자동 병합하여 최종 두 부모 291f1fd/b312482b인 c3bfe034를 만들었습니다. stash/reset/rebase/amend/force 없이 두 병합의 정확한 부모를 각각 확인했습니다. #729 보완은 기존 거부 경로를 실행하는 cx(~1) 테스트 한 경우뿐이며 production 동작이나 workflow/coverage 기준은 바꾸지 않았습니다. #729 새 run 38893266967은 전체 job/Codecov 및 Linux Rust 100.00%(14148/14148)로 통과했습니다.
최종 트리에서 기본 스택/CARGO_BUILD_JOBS=2/전체 트리 6 GiB로 fmt, Rust 1.99 all-target Clippy(-D warnings), 정상 workspace 4,517개/실패 0개, fresh WASM/root, lint(기존 React 경고 9개/새 오류 0개), Bun 5,922개/실패 0개/함수·라인 100%가 통과했습니다. 새 스냅샷 후보/수동 스냅샷 변경은 없습니다. 첫 수동 병합의 전체 commit hook은 기본 스택/12 GiB에서 580.172초, 전체 Job 피크 3.357 GiB로 통과했고 후속 자동 병합에는 hook bypass가 없습니다. 로컬 Windows coverage를 Linux 100%로 주장하지 않으며 최종 head CI를 별도 확인합니다. LSP는 기존 daemon timeout으로 사용 불가이며 clean으로 주장하지 않습니다.
실제 공개 WASM/React SSR 32개(부모 20개+JSX/TS × capture 유무 × 직접/extension/retarget selector 12개)가 통과했습니다. own/inherited identity는 스타일 atom과 별도이며 원래 callback/캡처/ref 값/children을 유지하고 CSS-prop의 뒤쪽 blue만 남습니다. identity가 selector와 맞고 원래 평가 횟수와 private-slot 비누출이 유지됩니다. native 4-identity/empty-slot/opaque guard 회귀와 승인된 #729 numeric/readonly 타입도 함께 보존했습니다. SSR은 DOM ref 부착을 검증한 것은 아닙니다.
실제 WASM/공개 API 검증 출력:
2026-10-16 CI 확인: head c3bfe034901640dcb538095231376b604c1e1579의 run 38894942578은 모든 job 및 Codecov가 통과했습니다. publish job 116953056348 실제 로그에서 Linux Rust 100.00% coverage, 14217/14217 lines covered, Bun 5922개/실패 0개/전체 커버리지 100%를 확인했습니다. 확정 main a6ecc12 포함 및 현재 merge 상태는 최신 PR audit로 재확인했습니다.