@@ -130,11 +130,16 @@ const getContract = (result, type, prop, value) =>
130
130
{ }
131
131
) ;
132
132
133
- const composeAliases = ( aliases , composed ) =>
133
+ const getComposed = ( messages , name ) =>
134
+ messages
135
+ . filter ( msg => msg . type === "icss-composed" && msg . name === name )
136
+ . map ( msg => msg . value ) ;
137
+
138
+ const composeAliases = ( aliases , messages ) =>
134
139
Object . keys ( aliases ) . reduce (
135
140
( acc , name ) =>
136
141
Object . assign ( { } , acc , {
137
- [ name ] : aliases [ name ] + ( composed [ name ] ? ` ${ composed [ name ] } ` : " ")
142
+ [ name ] : [ aliases [ name ] , ... getComposed ( messages , name ) ] . join ( " ")
138
143
} ) ,
139
144
{ }
140
145
) ;
@@ -145,7 +150,6 @@ module.exports = postcss.plugin(plugin, (options = {}) => (css, result) => {
145
150
genericNames ( "[name]__[local]---[hash:base64:5]" ) ;
146
151
const input = ( css && css . source && css . source . input ) || { } ;
147
152
const icssScoped = getContract ( result , "icss-scoped" , "name" , "value" ) ;
148
- const icssComposed = getContract ( result , "icss-composed" , "name" , "value" ) ;
149
153
const icssValue = getContract ( result , "icss-value" , "value" , "name" ) ;
150
154
const aliases = { } ;
151
155
walkRules ( css , rule => {
@@ -177,5 +181,5 @@ module.exports = postcss.plugin(plugin, (options = {}) => (css, result) => {
177
181
} ) ;
178
182
result . messages . push ( ...getMessages ( aliases ) ) ;
179
183
// icss-composed contract
180
- addExports ( css , composeAliases ( aliases , icssComposed ) ) ;
184
+ addExports ( css , composeAliases ( aliases , result . messages ) ) ;
181
185
} ) ;
0 commit comments