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>
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 2, 2026
Open
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>
Merge updated parent PR 727 (12328b9), containing main 11790be. Conflicted file: packages/bun-plugin/src/plugin.ts. Preserve PR 728's readJsxImportSource alias discovery and main PR 703's compiledPackages scanner, Bun.build stylesheet deferral, runtime writes and debug policy; keep main PR 704 plugin CSS behavior. WASM/root builds and real Bun stylesheet regression passed; 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 #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 #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>
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 (D 필수 — EMO-01의 tsconfig
jsxImportSource신호). #727 위에 쌓은 브랜치입니다(#727까지 병합되면 차이는 커밋 하나).문제
compilerOptions.jsxImportSource를@emotion/react로 둔 프로젝트는 파일에 신호가 없습니다. 그래서 사용자 컴포넌트의cssprop이 컴파일되지 않았고, 번들러가 JSX를 Emotion 런타임으로 빌드해@emotion/react가 런타임 의존성으로 남았습니다.수정
readJsxImportSource(cwd):tsconfig.json(없으면jsconfig.json)의jsxImportSource를 읽습니다. 주석과 끝 쉼표를 허용하고,extends(상대 경로,.json생략, 패키지, 배열은 뒤가 우선)와 project references를 따라갑니다. 순환은 멈춥니다.mergeImportAliases(userAliases, jsxImportSource):@emotion/react이면@emotion/react/jsx-runtimealias를 더합니다.@emotion/reactalias를 끄면 더하지 않고,importAliases에서false로 끌 수 있습니다.@emotion/react/jsx-runtimealias가 있을 때)cssprop을 컴파일합니다..tsx/.jsx파일 맨 앞에/** @jsxImportSource react */를 넣어 번들러가 React 런타임으로 JSX를 빌드하게 합니다. 파일에 자체 JSX pragma(@jsx,@jsxImportSource등)가 있으면 넣지 않습니다.@emotion/react/jsx-runtimeimport는 alias 변환이 아니라 기존react/jsx-runtime변환 한 번만 적용합니다.@devup-ui/react/compat/emotion-jsx-runtime이@emotion/react/jsx-runtime·jsx-dev-runtime을 React의 것으로 선언합니다. 이 alias가 있으면compat.d.ts가 이를 참조하므로, Emotion을 제거해도 tsconfig를 그대로 둔 채 타입 검사가 됩니다.동작 변화
jsxImportSource: "@emotion/react"인 프로젝트에서만 바뀝니다..tsx/.jsx파일이 추출기를 거쳐 다시 출력됩니다(pragma 삽입).@emotion/react/jsx-runtimeimport가 사라집니다.새로 생기는 오류
cssprop 오류는 #727과 같습니다.남는 한계
process.cwd())의 설정만 읽습니다. 하위 디렉터리별로 다른 tsconfig를 쓰는 모노레포는 읽은 설정 하나를 모든 파일에 적용합니다.확인
cargo clippy -D warnings(Rust 1.99),cargo test(extractor 1465건) 통과.bun test5486건 통과, 커버리지 100%.bun lint통과.@types/react로 구성한 소비자 설치 형태에서--jsxImportSource @emotion/react타입 검사를 확인했습니다.2026-10-08 main 11790bef를 병합하여 업데이트했습니다. packages/bun-plugin/src/plugin.ts 충돌은 jsxImportSource 별칭 읽기와 main의 compiledPackages 스캔·Bun.build CSS 출력을 모두 보존하여 해결했습니다.
2026-10-15 갱신: #727 2002f72 (main 76b1a15)을 병합했습니다. 충돌 파일 import_alias_visit.rs, five plugin.ts files; merge-import-aliases and Vite watch-error test fixtures은 Emotion runtime single-rewrite/type-only guards and jsxImportSource detection kept together with parent numbering/Tailwind/statewriter/null-prefix reset; stale default-alias expectation includes parent emotion/css and fs mock now keys by path; no snapshot changes 방식으로 해결했으며 부모 PR의 동작을 함께 보존했습니다. 새로 생기는 오류 없음.
실제 WASM/공개 API 검증 출력:
2026-10-16 갱신: 확정 main a6ecc125를 포함한 갱신된 #727 76a1796a를 병합했습니다. 충돌 파일 없음(자동 병합), 두 부모 3e6c24c/76a1796a 확인; 부모의 CSS-prop 캡처/slot/ref 및 main fallback·오류·Tailwind 동작과 자식 프로젝트 JSX 설정 감지를 그대로 보존했습니다. 새로 생기는 오류 없음.
기본 스택/CARGO_BUILD_JOBS=2/전체 트리 6 GiB 한도에서 fmt check, Rust 1.99 all-target Clippy(-D warnings), 정상 workspace 4,443개/실패 0개가 통과했습니다. 승인된 #727 responsive/raw-fallback 회귀와 margin 스냅샷은 부모와 바이트 동일하며 새 스냅샷 후보/수정은 없습니다. fresh WASM/root build, lint(기존 React 마이그레이션 경고 9개/오류 0개), Bun 5,921개/실패 0개/함수·라인 커버리지 100%가 통과했습니다. 자동 병합 커밋이라 수동 conflict hook은 해당하지 않으며 검증을 생략한 것은 아닙니다. LSP는 기존 미설치로 사용할 수 없고 clean으로 주장하지 않습니다.
실제 plugin-utils의 readJsxImportSource가 extends를 따라 @emotion/react를 읽고 mergeImportAliases가 Emotion JSX-runtime과 @emotion/css를 보존함을 fresh 공개 WASM으로 확인했습니다. Emotion import가 없는 Custom 컴포넌트의 css prop은 React pragma/class/CSS로 컴파일되어 실제 SSR HTML에 css 속성이 남지 않습니다. @emotion/react를 명시적으로 끄면 runtime alias가 추가되지 않고 원본 소스가 그대로 유지됩니다. 부모의 합성·attrs·타깃·props·ref 값/캡처 SSR 20개도 통과했습니다(DOM ref 부착을 검증한 것은 아닙니다). head 716b4841의 Linux CI는 아래 별도 확인합니다.
실제 WASM/공개 API 검증 출력:
2026-10-16 CI 확인: head 716b4841d816e8302a5dd228be2baff496cb97ea의 run 38861772395은 모든 job 및 Codecov가 통과했습니다. publish job 116845444327 실제 로그에서 Linux Rust 100.00% coverage, 13866/13866 lines covered, Bun 5921개/실패 0개/전체 커버리지 100%를 확인했습니다. 확정 main a6ecc12 포함 및 현재 merge 상태는 최신 PR audit로 재확인했습니다.