@@ -177,15 +177,15 @@ const plugin = (options = {}) => {
177177 ) ;
178178 }
179179
180- function traverseNode ( node , needExport = true ) {
180+ function traverseNode ( node ) {
181181 switch ( node . type ) {
182182 case "pseudo" :
183183 if ( node . value === ":local" ) {
184184 if ( node . nodes . length !== 1 ) {
185185 throw new Error ( 'Unexpected comma (",") in :local block' ) ;
186186 }
187187
188- const selector = localizeNode ( node . first , needExport ) ;
188+ const selector = localizeNode ( node . first ) ;
189189 // move the spaces that were around the pseudo selector to the first
190190 // non-container node
191191 selector . first . spaces = node . spaces ;
@@ -208,12 +208,12 @@ const plugin = (options = {}) => {
208208 /* falls through */
209209 case "root" :
210210 case "selector" : {
211- node . each ( ( item ) => traverseNode ( item , needExport ) ) ;
211+ node . each ( ( item ) => traverseNode ( item ) ) ;
212212 break ;
213213 }
214214 case "id" :
215215 case "class" :
216- if ( needExport && exportGlobals ) {
216+ if ( exportGlobals ) {
217217 exports [ node . value ] = [ node . value ] ;
218218 }
219219 break ;
@@ -317,22 +317,24 @@ const plugin = (options = {}) => {
317317 } ) ;
318318
319319 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 ( ) ;
324325
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 ) ;
326327
327- if ( ! localMatch ) {
328- return `(${ selector } )` ;
329- }
328+ if ( ! localMatch ) {
329+ return `(${ selector } )` ;
330+ }
330331
331- let parsedSelector = selectorParser ( ) . astSync ( selector ) ;
332+ let parsedSelector = selectorParser ( ) . astSync ( selector ) ;
332333
333- return `(${ traverseNode ( parsedSelector , false ) . toString ( ) } )` ;
334- } )
335- . join ( " to " ) ;
334+ return `(${ traverseNode ( parsedSelector ) . toString ( ) } )` ;
335+ } )
336+ . join ( " to " ) ;
337+ }
336338 } ) ;
337339
338340 // If we found any :locals, insert an :export rule
0 commit comments