@@ -98,11 +98,9 @@ func (s *Local) RemoveExtension(ctx context.Context, publisher, name, version st
98
98
func (s * Local ) Versions (ctx context.Context , publisher , name string ) ([]string , error ) {
99
99
dir := filepath .Join (s .extdir , publisher , name )
100
100
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.
104
102
sort .Sort (sort .Reverse (semver .ByVersion (versions )))
105
- return versions , nil
103
+ return versions , err
106
104
}
107
105
108
106
func (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
120
118
}
121
119
for _ , extension := range extensions {
122
120
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 )
126
122
if err != nil {
127
123
s .logger .Error (ctx , "Error reading versions" , slog .Error (err ))
128
124
}
129
- sort .Sort (sort .Reverse (semver .ByVersion (versions )))
130
125
if len (versions ) == 0 {
131
126
continue
132
127
}
0 commit comments