UNPKG

@alwatr/dedupe

Version:

A package manager helper tool for debug list of defined (imported) packages in your ecosystem and prevent to duplicate import (install) multiple versions of the same package in your project (deduplicate packages).

51 lines (49 loc) 1.31 kB
/* @alwatr/dedupe v5.5.2 */ // src/main.ts import { getGlobalThis } from "@alwatr/global-this"; import { packageTracer } from "@alwatr/package-tracer"; import "@alwatr/polyfill-has-own"; __dev_mode__: packageTracer.add("@alwatr/dedupe", "5.5.2"); var globalThis_ = getGlobalThis(); if (typeof globalThis_.__alwatr_dedupe__ === "undefined") { globalThis_.__alwatr_dedupe__ = "5.5.2"; } else { if (globalThis_.__alwatr_dedupe__ === true) { globalThis_.__alwatr_dedupe__ = "1.0.x"; } console.error( new Error("duplication_detected", { cause: { name: "@alwatr/dedupe", oldVersion: globalThis_.__alwatr_dedupe__, newVersion: "5.5.2" } }) ); } var list = {}; function deduplicate(args) { if (Object.hasOwn(list, args.name)) { const error = new Error("duplication_detected", { cause: { name: args.name } }); if (args.strict) { throw error; } else { console.error(error); } } list[args.name] = true; } deduplicate({ name: "@alwatr/dedupe" }); function definePackage(packageName, _) { console.warn("`definePackage` in `@alwatr/dedupe` is deprecated. Use `deduplicate` instead."); deduplicate({ name: packageName }); } export { deduplicate, definePackage }; //# sourceMappingURL=main.mjs.map