@@ -19,14 +19,16 @@ function basename(filename: string | undefined): string | undefined {
1919function isSignalCall ( path : NodePath < BabelTypes . CallExpression > ) : boolean {
2020 const callee = path . get ( "callee" ) ;
2121
22- // Check direct function calls like signal(), computed(), useSignal(), useComputed()
22+ // Check direct calls to APIs that accept debug names.
2323 if ( callee . isIdentifier ( ) ) {
2424 const name = callee . node . name ;
2525 return (
2626 name === "signal" ||
2727 name === "computed" ||
28+ name === "effect" ||
2829 name === "useSignal" ||
29- name === "useComputed"
30+ name === "useComputed" ||
31+ name === "useSignalEffect"
3032 ) ;
3133 }
3234
@@ -141,8 +143,24 @@ function getSignalNameFromContext(
141143 currentPath = currentPath . parentPath ;
142144 }
143145
144- const callee = path . get ( "callee" ) ;
145- return callee . isIdentifier ( ) ? callee . node . name : null ;
146+ return null ;
147+ }
148+
149+ function getSignalName (
150+ path : NodePath < BabelTypes . CallExpression > ,
151+ filename : string | undefined
152+ ) : string | null {
153+ const contextName = getSignalNameFromContext ( path ) ;
154+ const baseName = basename ( filename ) ;
155+ const lineNumber = path . node . loc ?. start . line ;
156+
157+ if ( baseName && lineNumber ) {
158+ return contextName
159+ ? `${ contextName } (${ baseName } :${ lineNumber } )`
160+ : `${ baseName } :${ lineNumber } ` ;
161+ }
162+
163+ return contextName ;
146164}
147165
148166function shouldSkipNameInjection (
@@ -174,21 +192,9 @@ function shouldSkipNameInjection(
174192function injectSignalName (
175193 t : typeof BabelTypes ,
176194 path : NodePath < BabelTypes . CallExpression > ,
177- variableName : string ,
178- filename : string | undefined
195+ nameValue : string
179196) : void {
180197 const args = path . get ( "arguments" ) ;
181-
182- // Create enhanced name with filename and line number
183- let nameValue = variableName ;
184- if ( filename ) {
185- const baseName = basename ( filename ) ;
186- const lineNumber = path . node . loc ?. start . line ;
187- if ( baseName && lineNumber ) {
188- nameValue = `${ variableName } (${ baseName } :${ lineNumber } )` ;
189- }
190- }
191-
192198 const name = t . stringLiteral ( nameValue ) ;
193199
194200 if ( args . length === 0 ) {
@@ -229,10 +235,8 @@ export default function signalsTransform(
229235
230236 // Only inject name if it doesn't already have one
231237 if ( ! shouldSkipNameInjection ( t , args ) ) {
232- const signalName = getSignalNameFromContext ( path ) ;
233- if ( signalName ) {
234- injectSignalName ( t , path , signalName , this . filename ) ;
235- }
238+ const signalName = getSignalName ( path , this . filename ) ;
239+ if ( signalName ) injectSignalName ( t , path , signalName ) ;
236240 }
237241 }
238242 } ,
0 commit comments