@nodesecure/scanner
Version:
A package API to run a static analysis of your module's dependencies.
28 lines • 1.08 kB
JavaScript
// Import Third-party Dependencies
import { UnlitContact, extractMetadataContacts } from "@nodesecure/contact/web";
export class HighlightedContacts {
level = "packument";
#unlitContacts;
constructor(contacts) {
this.#unlitContacts = contacts.map((contact) => new UnlitContact(contact));
}
next(packageName, dependency) {
const extractedContacts = extractMetadataContacts(dependency.metadata);
this.addDependencyToUnlitContacts(extractedContacts, packageName);
}
addDependencyToUnlitContacts(contacts, packageName) {
for (const unlit of this.#unlitContacts) {
const isMaintainer = contacts.some((contact) => unlit.compareTo(contact));
if (isMaintainer) {
unlit.dependencies.add(packageName);
}
}
}
done() {
const illuminated = this.#unlitContacts.flatMap((unlit) => (unlit.dependencies.size > 0 ? [unlit.illuminate()] : []));
return {
illuminated
};
}
}
//# sourceMappingURL=HighlightedContactsExtractor.class.js.map