@@ -68,6 +68,7 @@ const (
6868 CallbackGetAccessibleEntries
6969 CallbackReadFile
7070 CallbackRealpath
71+ CallbackResolveJsxImportSource
7172 CallbackResolveModuleName
7273 CallbackResolveTypeReferenceDirective
7374 CallbackGetPackageJsonScopeIfApplicable
@@ -257,6 +258,24 @@ func (r *resolverWrapper) GetPackageScopeForPath(directory string) *packagejson.
257258 return r .inner .GetPackageScopeForPath (directory )
258259}
259260
261+ // ResolveJsxImportSource implements module.ResolverInterface.
262+ func (r * resolverWrapper ) ResolveJsxImportSource (referrerPath string ) string {
263+ if r .server .CallbackEnabled (CallbackResolveJsxImportSource ) {
264+ result , err := r .server .call ("resolveJsxImportSource" , referrerPath )
265+ if err != nil {
266+ panic (err )
267+ }
268+ if len (result ) > 0 {
269+ var res string
270+ if err := json .Unmarshal (result , & res ); err != nil {
271+ panic (err )
272+ }
273+ return res
274+ }
275+ }
276+ return r .inner .ResolveJsxImportSource (referrerPath )
277+ }
278+
260279// ResolveModuleName implements module.ResolverInterface.
261280func (r * resolverWrapper ) ResolveModuleName (moduleName string , containingFile string , importAttributeType * string , resolutionMode core.ResolutionMode , redirectedReference module.ResolvedProjectReference ) (* module.ResolvedModule , []module.DiagAndArgs ) {
262281 if r .server .CallbackEnabled (CallbackResolveModuleName ) {
@@ -524,6 +543,8 @@ func (s *Server) enableCallback(callback string) error {
524543 s .enabledCallbacks |= CallbackReadFile
525544 case "realpath" :
526545 s .enabledCallbacks |= CallbackRealpath
546+ case "resolveJsxImportSource" :
547+ s .enabledCallbacks |= CallbackResolveJsxImportSource
527548 case "resolveModuleName" :
528549 s .enabledCallbacks |= CallbackResolveModuleName
529550 case "resolveTypeReferenceDirective" :
0 commit comments