File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -42,17 +42,23 @@ export async function transformCssModule(
42
42
const compiledId = actualId
43
43
. replaceAll ( '\\' , '/' )
44
44
. replace ( / \. m o d u l e \. c s s $ / , '.module_built.css' )
45
+
46
+ const classes = Object . fromEntries (
47
+ Object . entries ( res . exports ?? { } ) . map ( ( [ key , value ] ) => [ key , value . name ] ) ,
48
+ )
49
+ let exports = `const classes = ${ JSON . stringify ( classes ) } \nexport default classes\n`
50
+ const i = 0
51
+ for ( const key of Object . keys ( classes ) ) {
52
+ const sanitizedKey = `_${ key . replaceAll ( / \W / g, '_' ) } ${ i } `
53
+ exports +=
54
+ `\nconst ${ sanitizedKey } = classes[${ JSON . stringify ( key ) } ]\n` +
55
+ `export { ${ sanitizedKey } as ${ JSON . stringify ( key ) } }\n`
56
+ }
57
+
45
58
return {
46
59
code : res . code . toString ( ) ,
47
60
map : 'map' in res ? res . map ?. toString ( ) : undefined ,
48
61
id : compiledId ,
49
- exports : res . exports
50
- ? Object . entries ( res . exports )
51
- . map (
52
- ( [ name , { name : className } ] ) =>
53
- `export const ${ name } = "${ className } ";` ,
54
- )
55
- . join ( '\n' )
56
- : '' ,
62
+ exports,
57
63
}
58
64
}
You can’t perform that action at this time.
0 commit comments