@@ -177,15 +177,15 @@ const plugin = (options = {}) => {
177
177
) ;
178
178
}
179
179
180
- function traverseNode ( node , needExport = true ) {
180
+ function traverseNode ( node ) {
181
181
switch ( node . type ) {
182
182
case "pseudo" :
183
183
if ( node . value === ":local" ) {
184
184
if ( node . nodes . length !== 1 ) {
185
185
throw new Error ( 'Unexpected comma (",") in :local block' ) ;
186
186
}
187
187
188
- const selector = localizeNode ( node . first , needExport ) ;
188
+ const selector = localizeNode ( node . first ) ;
189
189
// move the spaces that were around the pseudo selector to the first
190
190
// non-container node
191
191
selector . first . spaces = node . spaces ;
@@ -208,12 +208,12 @@ const plugin = (options = {}) => {
208
208
/* falls through */
209
209
case "root" :
210
210
case "selector" : {
211
- node . each ( ( item ) => traverseNode ( item , needExport ) ) ;
211
+ node . each ( ( item ) => traverseNode ( item ) ) ;
212
212
break ;
213
213
}
214
214
case "id" :
215
215
case "class" :
216
- if ( needExport && exportGlobals ) {
216
+ if ( exportGlobals ) {
217
217
exports [ node . value ] = [ node . value ] ;
218
218
}
219
219
break ;
@@ -317,22 +317,24 @@ const plugin = (options = {}) => {
317
317
} ) ;
318
318
319
319
root . walkAtRules ( / s c o p e $ / i, ( atRule ) => {
320
- atRule . params = atRule . params
321
- . split ( "to" )
322
- . map ( ( item ) => {
323
- const selector = item . trim ( ) . slice ( 1 , - 1 ) . trim ( ) ;
320
+ if ( atRule . params ) {
321
+ atRule . params = atRule . params
322
+ . split ( "to" )
323
+ . map ( ( item ) => {
324
+ const selector = item . trim ( ) . slice ( 1 , - 1 ) . trim ( ) ;
324
325
325
- const localMatch = / ^ \s * : l o c a l \s * \( ( .+ ?) \) \s * $ / . exec ( selector ) ;
326
+ const localMatch = / ^ \s * : l o c a l \s * \( ( .+ ?) \) \s * $ / . exec ( selector ) ;
326
327
327
- if ( ! localMatch ) {
328
- return `(${ selector } )` ;
329
- }
328
+ if ( ! localMatch ) {
329
+ return `(${ selector } )` ;
330
+ }
330
331
331
- let parsedSelector = selectorParser ( ) . astSync ( selector ) ;
332
+ let parsedSelector = selectorParser ( ) . astSync ( selector ) ;
332
333
333
- return `(${ traverseNode ( parsedSelector , false ) . toString ( ) } )` ;
334
- } )
335
- . join ( " to " ) ;
334
+ return `(${ traverseNode ( parsedSelector ) . toString ( ) } )` ;
335
+ } )
336
+ . join ( " to " ) ;
337
+ }
336
338
} ) ;
337
339
338
340
// If we found any :locals, insert an :export rule
0 commit comments