@@ -98,11 +98,9 @@ func (s *Local) RemoveExtension(ctx context.Context, publisher, name, version st
9898func (s * Local ) Versions (ctx context.Context , publisher , name string ) ([]string , error ) {
9999 dir := filepath .Join (s .extdir , publisher , name )
100100 versions , err := s .getDirNames (ctx , dir )
101- if err != nil {
102- return nil , err
103- }
101+ // Return anything we did get even if there was an error.
104102 sort .Sort (sort .Reverse (semver .ByVersion (versions )))
105- return versions , nil
103+ return versions , err
106104}
107105
108106func (s * Local ) WalkExtensions (ctx context.Context , fn func (manifest * VSIXManifest , versions []string ) error ) error {
@@ -120,13 +118,10 @@ func (s *Local) WalkExtensions(ctx context.Context, fn func(manifest *VSIXManife
120118 }
121119 for _ , extension := range extensions {
122120 ctx := slog .With (ctx , slog .F ("extension" , extension ))
123- dir := filepath .Join (s .extdir , publisher , extension )
124-
125- versions , err := s .getDirNames (ctx , dir )
121+ versions , err := s .Versions (ctx , publisher , extension )
126122 if err != nil {
127123 s .logger .Error (ctx , "Error reading versions" , slog .Error (err ))
128124 }
129- sort .Sort (sort .Reverse (semver .ByVersion (versions )))
130125 if len (versions ) == 0 {
131126 continue
132127 }
0 commit comments