MCPcopy Create free account
hub / github.com/formkit/formkit / flattenDependencyTree

Function flattenDependencyTree

scripts/utils.mjs:164–187  ·  view source on GitHub ↗
(
  tree = [],
  orderedList = new Set()
)

Source from the content-addressed store, hash-verified

162 * of dependency
163 */
164export async function flattenDependencyTree(
165 tree = [],
166 orderedList = new Set()
167) {
168 const buildOrder = getBuildOrder(await getPackages())
169 if (!Array.isArray(tree)) return []
170 for (const branch of tree) {
171 const pkg = branch[0]
172 const subtree = branch[1]
173
174 if (!orderedList.has(pkg)) {
175 orderedList = new Set([
176 ...orderedList,
177 pkg,
178 ...(await flattenDependencyTree(subtree)),
179 ])
180 }
181 }
182 orderedList = [...orderedList]
183 orderedList.sort(function (a, b) {
184 return buildOrder.indexOf(a) - buildOrder.indexOf(b)
185 })
186 return orderedList
187}
188
189/**
190 * Given a package and a dependency, see if the given package includes

Callers 2

getPublishOrderFunction · 0.90
getPublishOrderFunction · 0.90

Calls 2

getBuildOrderFunction · 0.85
getPackagesFunction · 0.85

Tested by

no test coverage detected