@nodesecure/scanner
Version:
A package API to run a static analysis of your module's dependencies.
33 lines • 1 kB
JavaScript
// Import Third-party Dependencies
import { formatBytes } from "@nodesecure/utils";
export class Size {
level = "manifest";
#size = {
all: 0,
internal: 0,
external: 0
};
#organizationPrefix = null;
constructor(options = {}) {
const { organizationPrefix = null } = options;
this.#organizationPrefix = organizationPrefix;
}
next(_, version, parent) {
const { size } = version;
const isExternal = this.#organizationPrefix === null ?
true :
!parent.name.startsWith(`${this.#organizationPrefix}/`);
this.#size.all += size;
this.#size[isExternal ? "external" : "internal"] += size;
}
done() {
return {
size: {
all: formatBytes(this.#size.all),
internal: formatBytes(this.#size.internal),
external: formatBytes(this.#size.external)
}
};
}
}
//# sourceMappingURL=SizeExtractor.class.js.map