PHP WebShell
Текущая директория: /opt/BitGoJS/node_modules/@lerna/collect-updates/lib
Просмотр файла: collect-packages.js
"use strict";
const { collectDependents } = require("./collect-dependents");
module.exports.collectPackages = collectPackages;
/**
* @typedef {object} PackageCollectorOptions
* @property {(node: import("@lerna/package-graph").PackageGraphNode, name: string) => boolean} [isCandidate] By default, all nodes passed in are candidates
* @property {(name: string) => void} [onInclude]
* @property {boolean} [excludeDependents]
*/
/**
* Build a list of graph nodes, possibly including dependents, using predicate if available.
* @param {Map<string, import("@lerna/package-graph").PackageGraphNode>} packages
* @param {PackageCollectorOptions} options
*/
function collectPackages(packages, { isCandidate = () => true, onInclude, excludeDependents } = {}) {
/** @type {Set<import("@lerna/package-graph").PackageGraphNode>} */
const candidates = new Set();
packages.forEach((node, name) => {
if (isCandidate(node, name)) {
candidates.add(node);
}
});
if (!excludeDependents) {
collectDependents(candidates).forEach((node) => candidates.add(node));
}
// The result should always be in the same order as the input
/** @type {import("@lerna/package-graph").PackageGraphNode[]} */
const updates = [];
packages.forEach((node, name) => {
if (candidates.has(node)) {
if (onInclude) {
onInclude(name);
}
updates.push(node);
}
});
return updates;
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!