workspace-tools
Version:
A collection of tools that are useful in a git-controlled monorepo that is managed by one of these tools:
26 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDependencyMap = void 0;
const getPackageDependencies_1 = require("./getPackageDependencies");
function createDependencyMap(packages, options = { withDevDependencies: true, withPeerDependencies: false }) {
const map = {
dependencies: new Map(),
dependents: new Map(),
};
for (const [pkg, info] of Object.entries(packages)) {
const deps = (0, getPackageDependencies_1.getPackageDependencies)(info, packages, options);
for (const dep of deps) {
if (!map.dependencies.has(pkg)) {
map.dependencies.set(pkg, new Set());
}
map.dependencies.get(pkg).add(dep);
if (!map.dependents.has(dep)) {
map.dependents.set(dep, new Set());
}
map.dependents.get(dep).add(pkg);
}
}
return map;
}
exports.createDependencyMap = createDependencyMap;
//# sourceMappingURL=createDependencyMap.js.map