@@ -888,12 +888,19 @@ export async function startSSEListener(ctx: Context) {
888888 }
889889 ctx . log . info ( chalk . green ( lines [ 0 ] ) ) ;
890890
891- if ( lines [ 1 ] . includes ( 'Success' ) ) {
892- lines . slice ( 1 ) . forEach ( line => ctx . log . info ( chalk . green ( line ) ) ) ;
893- }
894- else {
895- lines . slice ( 1 ) . forEach ( line => ctx . log . info ( chalk . yellow ( line ) ) ) ;
896- }
891+ let isWarningSection = false ;
892+
893+ lines . slice ( 1 ) . forEach ( line => {
894+ if ( line . includes ( 'Warning' ) ) {
895+ isWarningSection = true ;
896+ }
897+
898+ if ( isWarningSection ) {
899+ ctx . log . info ( chalk . yellow ( line ) ) ;
900+ } else {
901+ ctx . log . info ( chalk . green ( line ) ) ;
902+ }
903+ } ) ;
897904 break ;
898905 }
899906 case 'error' :
@@ -1043,13 +1050,21 @@ export async function validateCSSSelectors(
10431050 for ( const rule of cssRules ) {
10441051 const selector = rule . selector ;
10451052
1046- // Skip pseudo-selectors, media queries, and special selectors that can't be validated
1047- if (
1048- selector . includes ( ':' ) ||
1049- selector . includes ( '@' ) ||
1050- selector . includes ( '::' )
1051- ) {
1052- successCount ++ ;
1053+ // Strip pseudo-classes and pseudo-elements to get the base selector
1054+ let baseSelector = selector ;
1055+
1056+ // Remove pseudo-elements (::before, ::after, etc.)
1057+ baseSelector = baseSelector . replace ( / : : [ a - z A - Z - ] + ( \( [ ^ ) ] * \) ) ? / g, '' ) ;
1058+
1059+ // Remove pseudo-classes (:hover, :focus, :nth-child(), etc.)
1060+ baseSelector = baseSelector . replace ( / : [ a - z A - Z - ] + ( \( [ ^ ) ] * \) ) ? / g, '' ) ;
1061+
1062+ // Clean up any trailing spaces or commas
1063+ baseSelector = baseSelector . trim ( ) ;
1064+
1065+ // Skip if nothing remains after stripping (e.g., pure pseudo-selector like ":root")
1066+ if ( ! baseSelector || baseSelector === '' ) {
1067+ successCount ++ ;
10531068 continue ;
10541069 }
10551070
@@ -1062,7 +1077,7 @@ export async function validateCSSSelectors(
10621077 } catch ( error ) {
10631078 return false ;
10641079 }
1065- } , { selectorValue : selector } ) ;
1080+ } , { selectorValue : baseSelector } ) ;
10661081
10671082 if ( elementExists ) {
10681083 successCount ++ ;
0 commit comments