@@ -86,14 +86,14 @@ function render(parsed: Parsed): string {
86
86
function key ( selector : selectorParser . Node ) : string {
87
87
let key = ''
88
88
if ( selector . type === 'tag' ) {
89
- key += selector . toString ( )
89
+ key += selector . toString ( ) . toLowerCase ( )
90
90
}
91
91
const next = selector . next ( )
92
92
if ( next ?. type === 'attribute' ) {
93
93
const { attribute, value } = next as selectorParser . Attribute
94
- key += `_${ attribute . replace ( '-' , '_' ) } ${ value ?. replace ( / ^ / , '_' ) . replace ( ' ' , '_' ) . replace ( '-' , '_' ) } `
94
+ key += `_${ attribute } _ ${ value } `
95
95
}
96
- return key
96
+ return key . replace ( / [ ^ a - z A - Z 0 - 9 _ ] / g , '_' )
97
97
}
98
98
99
99
function initialParsedValue ( ) : Parsed [ keyof Parsed ] {
@@ -120,7 +120,7 @@ const _mistcss: PluginCreator<{}> = (_opts = {}) => {
120
120
selectors . walk ( ( selector ) => {
121
121
if ( selector . type === 'tag' ) {
122
122
current = parsed [ key ( selector ) ] = initialParsedValue ( )
123
- current . tag = selector . toString ( )
123
+ current . tag = selector . toString ( ) . toLowerCase ( )
124
124
}
125
125
126
126
if ( selector . type === 'attribute' ) {
@@ -134,7 +134,9 @@ const _mistcss: PluginCreator<{}> = (_opts = {}) => {
134
134
}
135
135
}
136
136
} )
137
- } ) . processSync ( rule . selector )
137
+ } ) . processSync ( rule . selector , {
138
+ lossless : false ,
139
+ } )
138
140
139
141
rule . walkDecls ( ( { prop } ) => {
140
142
if ( prop . startsWith ( '--' ) && prop !== '--apply' )
0 commit comments