@@ -98,11 +98,11 @@ class Packages {
9898 * Loads all packages
9999 * @return {Promise<Package[]> }
100100 */
101- createLoader ( ) {
101+ async createLoader ( ) {
102102 let result = [ ] ;
103103 const { discoveredFile, manifestFile} = this . options ;
104- const discovered = readOrDefault ( discoveredFile ) ;
105- const manifest = readOrDefault ( manifestFile ) ;
104+ const discovered = await readOrDefault ( discoveredFile ) ;
105+ const manifest = await readOrDefault ( manifestFile ) ;
106106 const sources = discovered . map ( d => path . join ( d , 'metadata.json' ) ) ;
107107
108108 logger . info ( 'Using package discovery file' , relative ( discoveredFile ) ) ;
@@ -204,6 +204,7 @@ class Packages {
204204 const target = await realpath ( `${ userRoot } /${ name } ` , user ) ;
205205
206206 if ( await fs . exists ( target ) ) {
207+ // FIXME: Secure this
207208 await fs . remove ( target ) ;
208209 await this . writeUserManifest ( userRoot , user ) ;
209210 } else {
@@ -226,7 +227,7 @@ class Packages {
226227 // TODO: Check conflicts ?
227228 const root = await realpath ( userRoot , user ) ;
228229 const manifest = await realpath ( `${ userRoot } /metadata.json` , user ) ;
229- const filenames = await fg ( root + '/*/metadata.json' ) ; // FIXME: Windows!
230+ const filenames = await fg ( root . replace ( / \\ / g , '/' ) + '/*/metadata.json' ) ;
230231 const metadatas = await Promise . all ( filenames . map ( f => fs . readJson ( f ) ) ) ;
231232
232233 await fs . writeJson ( manifest , metadatas ) ;
0 commit comments