@@ -179,27 +179,29 @@ function setupProgram(
179179 state : StateContext ,
180180 path : babel . NodePath < t . Program > ,
181181 comments : t . Comment [ ] | undefined | null ,
182- ) : void {
182+ ) : boolean {
183183 let shouldSkip = false ;
184+ let isDone = false ;
184185 if ( comments ) {
185186 for ( const { value : comment } of comments ) {
186187 if ( / ^ \s * @ r e f r e s h s k i p \s * $ / . test ( comment ) ) {
187- state . processed = true ;
188+ isDone = true ;
188189 shouldSkip = true ;
189190 break ;
190191 }
191192 if ( / ^ \s * @ r e f r e s h r e l o a d \s * $ / . test ( comment ) ) {
192- state . processed = true ;
193+ isDone = true ;
193194 path . pushContainer ( 'body' , getHMRDeclineCall ( state , path ) ) ;
194195 break ;
195196 }
196197 }
197198 }
198199
199- captureIdentifiers ( state , path ) ;
200200 if ( ! shouldSkip && state . fixRender ) {
201+ captureIdentifiers ( state , path ) ;
201202 fixRenderCalls ( state , path ) ;
202203 }
204+ return isDone ;
203205}
204206
205207function isStatementTopLevel ( path : babel . NodePath < t . Statement > ) : boolean {
@@ -346,13 +348,11 @@ export default function solidRefreshPlugin(): babel.PluginObj<State> {
346348 identifiers : new Map ( ) ,
347349 namespaces : new Map ( ) ,
348350 } ,
349- processed : false ,
350351 filename : context . filename ,
351352 bundler : context . opts . bundler || 'standard' ,
352353 fixRender : context . opts . fixRender ?? true ,
353354 } ;
354- setupProgram ( state , programPath , context . file . ast . comments ) ;
355- if ( state . processed ) {
355+ if ( setupProgram ( state , programPath , context . file . ast . comments ) ) {
356356 return ;
357357 }
358358 programPath . traverse ( {
0 commit comments