Repository navigation
Conversation
…ct selectors that select nothing A nested rule without & in a template became a global rule, content lost the quotes of its strings, params of a group selector went after the class, and a selector key or string value that selects nothing gave dead CSS or vanished. Nested rules are now relative to their rule as in styled-components and Emotion, content keeps its strings, params go on the pseudo-class that takes them, and unknown selector names and strings that are not CSS text are build errors. Refs #685 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Bare selectors keys no longer reach SelectorSeparator::Space through StyleSelector::from, so test it where it is defined. Refs #685 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #685 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #685 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #685 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Refs #685 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/next-plugin@1.0.90 → 1.0.91 - packages/next-plugin/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.
... and 1 file with indirect coverage changes 🚀 New features to boost your workflow:
|
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 #685 (CSS-08, JSX-07, JSX-08, JSX-10). #702 위에 쌓은 브랜치이며 #702가 먼저 병합되어야 합니다. PR의 base는
main입니다.요약
동작
수정 전 기준은 #702의
d94ef3c66946e2c0e4df3b8c11e4a84c4d07dfc7입니다. 이 기준을 직접 WASM으로 빌드한 뒤 각 항목을 프로브했습니다.flex={1}/flexGrow={2}는 이미 정상,msFlex={2}/msFlexOrder={2}/WebkitBoxFlex={2}는8pxcolor={[["red","blue"],"green"]}는 level-1 blue와 green 클래스를 동시에 출력selectors={{body:{color:'pink'}}}는 이미 오류,:hover와& > p는 정상box-align:center,scroll-snap-coordinate:0 0처럼 무효 선언을 출력브라우저 근거
2026-10-04에 MDN browser-compat-data를 조회했습니다. 표의 대상은 접두사가 없는 이름이며
-webkit-,-moz-,-ms-등의 호환 이름은 차단하지 않습니다.box-alignalign-itemsbox-packjustify-contentbox-flexflex-growbox-flex-groupbox-orientflex-direction, 필요한 경우WebkitBoxOrientbox-ordinal-grouporderbox-directionflex-directionbox-linesflex-wrapflex-orderorderorderflex-positive-ms-flex-positive만 옛 대체 이름으로 기록flex-growflex-negativeflex-shrink, 옛 이름은 접두사 필요flex-shrinkflex-preferred-sizeflex-basis, 옛 이름은 접두사 필요flex-basisscroll-snap-coordinatescroll-snap-alignscroll-snap-destinationscroll-padding,scroll-snap-typescroll-snap-points-xscroll-snap-type,scroll-snap-alignscroll-snap-points-yscroll-snap-type,scroll-snap-alignscroll-snap-type-xscroll-snap-typescroll-snap-type-yscroll-snap-type원래 조사에서 무효로 분류한
stroke-color는 Safari 11.1부터 지원되므로 계속 통과합니다.ime-mode도 Firefox 3부터 지원되므로 유지합니다. 새로운 별칭은 만들지 않습니다.새로 생기는 오류
css()/styled()객체, CSS 텍스트,globalCss()또는keyframes()선언 이름으로 작성한 경우.파일:줄:열, 문제가 된 코드, 이유와 대체 방법이 포함됩니다. 직접 작성한 JSX 속성, 객체 리터럴, CSS 텍스트는 정확한 키 위치를 사용합니다. 평가·계산·import를 통해 만들어진 선언은 그 선언을 만든 원본style/globalStyle/keyframes/styleVariants호출이 작성된 파일의 호출 위치와 키 경로를 사용하며, 생성된 코드의 위치는 사용하지 않습니다. JSX-08의body오류는 #702에서 이미 생긴 오류이며 이 PR이 새로 추가하는 오류는 아닙니다.남는 한계
숫자 처리에서 바뀐 대표 이름은
-ms-flex,-ms-flex-order,-ms-flex-positive,-ms-flex-negative,-webkit-box-flex,-webkit-box-ordinal-group,-ms-grid-column-span,-ms-grid-row-span,-moz-tab-size입니다.-webkit-line-clamp도 단위 없는 값이 유지되는지 검사합니다.webkit/moz/ms/o접두사의animation-duration,animation-delay,transition-duration,transition-delay는 모두ms로 처리합니다.OAnimationDuration같은 입력의 출력 이름에 빠졌던-o-의 첫-도 수정합니다. vendor 이름 목록 전체를 unprefixed 숫자 형식과 비교하는 테이블 테스트와 실제 WASM CSS 테스트를 함께 둡니다.검증
cargo fmt --all,cargo check --workspace, Rust 1.99 strict clippy,cargo test --workspace통과: Rust 테스트 2,932개 통과.bun test: 5,474개 통과, 0 실패, 함수/라인 커버리지 100%.bun lint: 오류 없음, 기준 브랜치에 있던 경고 2개만 유지.수정 후 WASM CSS 발췌:
수정 전 WASM 프로브의 실제 CSS 발췌:
기준 브랜치의 selector 프로브:
최종 CI 결과
최종 head:
402109f97e94714fc316351761b931d6554d799d.CI run 37245278743에서 코드/빌드/테스트/커버리지/E2E 검증은 모두 통과했습니다.
Upload to codecov.io단계의 외부 Codecov CLI 다운로드 장애입니다.cli.codecov.io가 만료된 TLS 인증서를 제공하여curl: (60) SSL certificate problem: certificate has expired가 발생했고, 다운로드되지 않은 GPG 서명 파일의 검증도 이어서 실패했습니다.CSS 출력 PR에서 공유 workflow를 변경하거나 TLS 검증을 우회하지 않습니다. 인증서가 복구되면 coordinator가 실패 job을 한 번 재실행하여 최종 상태를 확인합니다.