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>
…mpiles Refs #684 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 4, 2026
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>
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>
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>
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>
Refs #684 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This was referenced Oct 16, 2026
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 #684 (FN-01, FN-02, SC-16, TOOL-09~18, JSX-13/14, PLG-25, VE-06, TOOL-07)
#730(
fix/emotion-component-selectors, 합성/compat PR 스택의 맨 위) 위에 쌓인 PR입니다. CI가main대상 PR에서만 도므로 base는main이고, diff에는 #730 아래 스택의 커밋이 함께 보입니다. 이 PR의 고유 커밋은d0028a89하나이며, 스택이 먼저 병합되어야 합니다.요약
공개/compat 타입이 빌드가 컴파일하는 것을 받아들이고 거부하는 것을 거부하도록 고쳤습니다. 항목마다 타입 테스트(valid/invalid,
@ts-expect-error)를packages/react/type-tests/에 두었고,test:types가type-tests/tsconfig.json전체를 검사합니다. 같은 파일을 빌드한dist를 소비자 입장에서@types/react19.3.0과 18.3.31 둘 다로 검사해 통과를 확인했습니다.항목별 결과
수정함
css(): 클래스 문자열, 스타일 객체, 배열(중첩 포함),false/null/undefined/조건 부분을 받습니다(css('external', base, on && { p: 3 })). 함수/숫자/알 수 없는 키는 거부합니다.CssPart타입 공개.css/keyframes/globalCss태그드 템플릿: 빌드가 평가하는 정적 보간(string | number | boolean | null | undefined,css()결과)을 받고, 함수/객체 보간은 거부합니다(빌드도 거부).DefaultTheme을 augment 가능한 interface로 선언(StyledTheme상속),CSSObject/CSSProperties/CSSPseudos/CSSKeyframes/CSSProp/RuleSet/Keyframes추가,useTheme/withTheme/ThemeProvider가DefaultTheme을 따릅니다. 빌드가 변환하지 않아 패키지가 설치되어 있어야 하는ThemeConsumer/ThemeContext도 선언했습니다.SerializedStyles/Keyframes, styled-componentsRuleSet/Keyframes를 각각 이름 붙은(브랜드) 문자열로 내보냅니다. 평범한string이나 다른 라이브러리의 결과는 할당할 수 없고, 값은 빌드가 쓰는 클래스/이름이라string으로는 쓸 수 있습니다(animationName: fade등 빌드가 받는 위치 유지).styled:.attrs(),.withConfig({ shouldForwardProp, displayName }),.withComponent()와 결과 컴포넌트가styled.button.attrs({...})<P>`...`처럼 이어지는 형태를 타입으로 받습니다(빌드가 컴파일하는 형태).style([a, b, 'class'])배열 합성,styleVariants의 mapper 인자,createGlobalTheme,createGlobalThemeContract추가. 평가기가 등록하지 않는globalKeyframes/composeStyles/generateIdentifier선언 제거.styleVars가 숫자 값을 받습니다({ '--count': 1 }).styleOrder는1~254(숫자 또는 숫자 문자열)만 받습니다. 빌드는 그 밖의 값과 런타임 값을 조용히 무시합니다. 타입이 표현할 수 있는 나머지는 아래 "TypeScript로 표현 불가" 참고.DevupCustomShorthands는 이미DevupProps["w"]형태라 반응형을 받습니다(확인). 손으로 augment할 때를 위해ResponsiveValue를 공개했습니다(insetY?: ResponsiveValue<string | number>). 값 타입을 자동으로 감싸는 방식은DevupProps가 순환 참조되어 시도했으나 불가능했습니다.DevupTheme에 문서와 같은shadow를 추가했습니다(엔진이shadow와shadows를 모두 읽으므로shadows는 별칭으로 유지).base에서 이미 해결됨 / 달라진 판단
@ts-expect-error로 고정했습니다. 컴파일을 지원하는 것은 추출기 변경(fix(react): back compat theming with context and add ThemeConsumer and createTheme #712)입니다.createGlobalStyle<P>제네릭: props 함수 보간은 빌드가 에러로 거부(globalCss() cannot use ...)하므로 타입도 계속 거부합니다.props/index.ts주석: 빠른 해석을 위해 앞에,Parameters<typeof Box>가 기본 요소를 설명하도록 뒤에).type-tests가 동등성을 고정하고 있어 제거하지 않았습니다.TypeScript로 표현 불가
css/globalCss/keyframes,export const x = css, 맨styled.div는 타입으로 구별할 수 없습니다(lintcss-utils-literal-only,no-runtime-read가 담당: fix(eslint-plugin): check styleOrder only where the build reads it #733/feat(eslint-plugin): follow the import aliases and style positions the build compiles #735).$missing토큰은string에 흡수되어 제외할 수 없습니다(템플릿 리터럴 타입에는 부정 표현이 없음).csstype-extra의 선언 자체에 순환 alias 오류가 있어(TCalcProduct등,skipLibCheck: false에서 17건) 이 저장소에서 고칠 수 없습니다. 소비자 검사는skipLibCheck: true로 합니다.이 PR에서 하지 않음
style-order-range의parseInt)는 lint 패키지 코드이고 #733이 같은 파일을 고치므로 충돌을 피해 건드리지 않았습니다("100px"같은 값은 타입 레벨에서는 이제 거부됩니다).새로 생기는 오류
빌드 에러는 추가되지 않았습니다. 타입 에러는 위 항목의 거부 케이스(예:
css(1),styleOrder={0},style대신 사라진globalKeyframesimport)와, 이전에는 받던styleOrder의 임의 숫자/문자열 값에서 새로 납니다.남는 한계
.name/.styles같은 Emotion 객체 속성은 쓸 수 없습니다(빌드가 클래스 문자열을 쓰기 때문).검증
bun test5488 pass / 0 fail, 커버리지 100%.bun lint오류 0(기존 경고 2개).packages/react의test:types(전 항목 타입 테스트), 루트bun run build통과. Rust 변경 없음.dist를 복사해/// <reference types="@devup-ui/react/compat/types" />와 함께css-forms,styled,props,compat타입 테스트를@types/react19.3.0, 18.3.31로 각각 실행해 오류 0..d.ts는skipLibCheck: false로도 확인했습니다(남는 오류는 위의 빌드가 거부하는 케이스와 하니스 경로 문제뿐).2026-10-08 main 11790bef를 병합하여 업데이트했습니다. 충돌 없이 갱신된 부모 PR의 변경과 main의 변경을 모두 보존했습니다.
2026-10-15 갱신: 부모 #730
b28816c2를 실제 두 부모 병합a509348e로 통합했습니다. 충돌한packages/react/package.json은 전체 프로젝트 타입 검사로 합쳐 부모의 ClassNames fixture도 유지했고,styled-components.d.ts는 중복 re-export만 제거하면서 확장 가능한 DefaultTheme/Theme·브랜드·부모 createTheme 및 정규 readonly ClassNamesArg를 보존했습니다. 승인된 main #712 타입 보정으로 ThemeProvider의 객체/undefined-aware outer 함수, 함수형 ThemeConsumer, withTheme의 theme override와 부모와 같은 unknown ref를 두 ambient 선언에 반영했으며, 이전 outer 함수 거부 기대 두 개만 양성 검사로 바꿨습니다. 같은 새 타입 증명은 보정 전 13개 오류를 재현하고 보정 후 통과했고, 실제 배포 dist의 여섯 fixture를 React 타입 18.3.31/19.3.0 모두로 검사했습니다. 기본 스택 Rust 3592·fmt·1.99 clippy, 새 WASM/root, Bun 5919/0실패/100%, lint 및 전체 hook을 통과했습니다(Windows Rust 97.58%, 이번 head의 Linux CI는 미실행). 새 빌드 오류·런타임·Rust·캡처/슬롯/마커 프로토콜·snapshot 변경은 없습니다. 최신 maina6ecc125이후 UI kit 전파는 코디네이터의 MAIN SETTLED 지시까지 명시적으로 보류했으므로 현재 새 main 기준 충돌/CI 대기는 남아 있으며, 이 중간 push를 병합 준비 완료로 주장하지 않습니다.W62d 최신 부모 및 main 반영 (2026-10-16)
최신 #730
c3bfe034901640dcb538095231376b604c1e1579를 기존 heada509348e에 실제 두 부모 merge72293073f47146bfed41af4cb1bd049e93365eb7로 통합했습니다. 부모에 maina6ecc125와 최신 #729b312482b가 포함되어 별도의 중복 main merge는 하지 않았습니다. 부모의 현재 CI38894942578성공 및 push 직전 원격 head 불변을 확인했습니다.CacheProvider재수출 한 줄뿐입니다. augmentable theme·provider/Consumer/HOC unknown-ref 계약·브랜드·readonly 재귀 ClassNames·createTheme·모든 부정 타입 검사를 보존했습니다.5,923개 통과 / 0개 실패 / 함수·라인 100%, lint 오류 0개와 기존 경고 9개입니다. 정상 전체 hook도 통과했으며 Windows Rust97.65% (19,817/20,294)는 Linux 100% 주장과 구분합니다. 새 head의 Linux 검증 결과는 후속 CI로 기록합니다.skipLibCheck, LSP 미설치 제약은 그대로 유지합니다.W62d 최종 CI
최종 head
72293073f47146bfed41af4cb1bd049e93365eb7의 CI 38899110798이 전체 성공했습니다. Linux Rust100.00% (14,217/14,217), Bun5,923개 통과 / 0개 실패 / 함수·라인 100%, preload 회귀 8개 통과이며 publish·benchmark·Next landing·vinext RSC CSS의 4개 검증 job이 모두 성공했습니다. 실제 CI checkoutea150d6dd6cb59af66ba8c9cee9bea0c9242d781의 전체 트리가 최종 merge 트리와 일치함도 확인했습니다. 새로 생기는 빌드 오류나 추가 한계 없이 기존 타입·런타임 경계를 보존했습니다.