@@ -68,6 +68,7 @@ const (
6868 CallbackGetAccessibleEntries
6969 CallbackReadFile
7070 CallbackRealpath
71+ CallbackResolveJsxImportSource
7172 CallbackResolveModuleName
7273 CallbackResolveTypeReferenceDirective
7374 CallbackGetPackageJsonScopeIfApplicable
@@ -290,6 +291,24 @@ func (r *resolverWrapper) GetPackageScopeForPath(directory string) *packagejson.
290291 return r .inner .GetPackageScopeForPath (directory )
291292}
292293
294+ // ResolveJsxImportSource implements module.ResolverInterface.
295+ func (r * resolverWrapper ) ResolveJsxImportSource (referrerPath string ) string {
296+ if r .server .CallbackEnabled (CallbackResolveJsxImportSource ) {
297+ result , err := r .server .call ("resolveJsxImportSource" , referrerPath )
298+ if err != nil {
299+ panic (err )
300+ }
301+ if len (result ) > 0 {
302+ var res string
303+ if err := json .Unmarshal (result , & res ); err != nil {
304+ panic (err )
305+ }
306+ return res
307+ }
308+ }
309+ return r .inner .ResolveJsxImportSource (referrerPath )
310+ }
311+
293312// ResolveModuleName implements module.ResolverInterface.
294313func (r * resolverWrapper ) ResolveModuleName (moduleName string , containingFile string , importAttributeType * string , resolutionMode core.ResolutionMode , redirectedReference module.ResolvedProjectReference ) (* module.ResolvedModule , []module.DiagAndArgs ) {
295314 if r .server .CallbackEnabled (CallbackResolveModuleName ) {
@@ -534,6 +553,8 @@ func (s *Server) enableCallback(callback string) error {
534553 s .enabledCallbacks |= CallbackReadFile
535554 case "realpath" :
536555 s .enabledCallbacks |= CallbackRealpath
556+ case "resolveJsxImportSource" :
557+ s .enabledCallbacks |= CallbackResolveJsxImportSource
537558 case "resolveModuleName" :
538559 s .enabledCallbacks |= CallbackResolveModuleName
539560 case "resolveTypeReferenceDirective" :
0 commit comments