Skip to content

Commit 8f76075

Browse files
Fix Question: Best practice for automating UI Builder dependency installation? #186
1 parent 9a3906c commit 8f76075

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Diff for: nodes/libs/package-mgt.js

+13-4
Original file line numberDiff line numberDiff line change
@@ -297,11 +297,20 @@ class UibPackages {
297297
lsParsed = JSON.parse(ls)
298298
} catch {}
299299

300-
// Make sure we have package details for all installed packages
301-
await Object.keys(lsParsed.dependencies || {}).forEach( async pkgName => {
300+
// Make sure we have package details for all installed packages - NB: don't use await with forEach!
301+
let depPkgNames = Object.keys(lsParsed.dependencies || {})
302+
// await depPkgNames.forEach( async pkgName => {
303+
// await this.updIndividualPkgDetails(pkgName, lsParsed)
304+
// })
305+
//! EITHER (serial)
306+
// for ( const pkgName of depPkgNames ) {
307+
// await this.updIndividualPkgDetails(pkgName, lsParsed)
308+
// }
309+
//! OR (parallel)
310+
await Promise.all( depPkgNames.map(async (pkgName) => {
302311
await this.updIndividualPkgDetails(pkgName, lsParsed)
303-
})
304-
312+
}))
313+
305314
// (re)Write package.json
306315
this.writePackageJson(rootFolder, pj)
307316
}

0 commit comments

Comments
 (0)