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.82 → 1.0.83 - bindings/devup-ui-wasm/package.jsonPatch
@devup-ui/bun-plugin@1.0.21 → 1.0.22 - packages/bun-plugin/package.jsonPatch
@devup-ui/components@0.1.59 → 0.1.60 - packages/components/package.jsonPatch
@devup-ui/eslint-plugin@1.0.21 → 1.0.22 - packages/eslint-plugin/package.jsonPatch
@devup-ui/next-plugin@1.0.89 → 1.0.90 - packages/next-plugin/package.jsonPatch
@devup-ui/plugin-utils@1.0.16 → 1.0.17 - 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.66 → 1.0.67 - packages/rsbuild-plugin/package.jsonPatch
@devup-ui/vite-plugin@1.0.72 → 1.0.73 - packages/vite-plugin/package.jsonPatch
@devup-ui/webpack-plugin@1.0.70 → 1.0.71 - 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
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타입 검사를 확인했습니다.