* feat: adds dev-cli * feat: adds dev-cli * fix: works with org package names * fix: medusa cli bin * hotfix(brightpearl): rounding errors + failing customer test (#199) * fix: verdacio publish * fix: update yarn lock * fix(CI): update node * fix: update yarn lock
31 lines
678 B
JavaScript
31 lines
678 B
JavaScript
/**
|
|
* Recursively get set of packages that depend on given package.
|
|
* Set also includes passed package.
|
|
*/
|
|
const getDependantPackages = ({
|
|
packageName,
|
|
depTree,
|
|
packagesToPublish = new Set(),
|
|
}) => {
|
|
if (packagesToPublish.has(packageName)) {
|
|
// bail early if package was already handled
|
|
return packagesToPublish
|
|
}
|
|
|
|
packagesToPublish.add(packageName)
|
|
const dependants = depTree[packageName]
|
|
if (dependants) {
|
|
dependants.forEach(dependant =>
|
|
getDependantPackages({
|
|
packageName: dependant,
|
|
depTree,
|
|
packagesToPublish,
|
|
})
|
|
)
|
|
}
|
|
|
|
return packagesToPublish
|
|
}
|
|
|
|
exports.getDependantPackages = getDependantPackages
|