@freemework/common
Version:
Common library of the Freemework Project.
21 lines • 1.05 kB
JavaScript
export function FModuleVersionGuard(packageInfo) {
const { name: packageName, version: packageVersion } = packageInfo;
const G = global || window || undefined;
if (G !== undefined) {
const PACKAGE_GUARD = Symbol.for(packageName);
if (PACKAGE_GUARD in G) {
const conflictVersion = G[PACKAGE_GUARD];
const msg = `Conflict module version. Looks like two different version of package ${packageName} was loaded inside the process: ${conflictVersion} and ${packageVersion}.`;
if (process !== undefined && process.env !== undefined && process.env["NODE_ALLOW_CONFLICT_MODULES"] === "1") {
console.warn(msg + " This treats as warning because NODE_ALLOW_CONFLICT_MODULES is set.");
}
else {
throw new Error(msg + " Use NODE_ALLOW_CONFLICT_MODULES=\"1\" to treats this error as warning.");
}
}
else {
G[PACKAGE_GUARD] = packageVersion;
}
}
}
//# sourceMappingURL=f_module_version_guard.js.map