mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-02-17 08:32:35 +08:00
switch to nodeCreated
This commit is contained in:
parent
929d0f5bdf
commit
3242443c1e
@ -47,46 +47,36 @@ class WorkflowMetadataExtension {
|
|||||||
this.comfyCoreVersion = (await api.getSystemStats()).system.comfyui_version;
|
this.comfyCoreVersion = (await api.getSystemStats()).system.comfyui_version;
|
||||||
}
|
}
|
||||||
|
|
||||||
setup() {
|
/**
|
||||||
const extension = this;
|
* Called when any node is created
|
||||||
const originalSerialize = LGraph.prototype.serialize;
|
* @param {LGraphNode} node The newly created node
|
||||||
|
*/
|
||||||
|
nodeCreated(node) {
|
||||||
|
try {
|
||||||
|
// nodeData doesn't exist if node is missing or node is frontend only node
|
||||||
|
if (!node?.constructor?.nodeData?.python_module) return;
|
||||||
|
|
||||||
LGraph.prototype.serialize = function () {
|
const nodeProperties = (node.properties ??= {});
|
||||||
const workflow = originalSerialize.apply(this, arguments);
|
const modules = node.constructor.nodeData.python_module.split(".");
|
||||||
const graph = this;
|
const moduleType = modules[0];
|
||||||
|
|
||||||
try {
|
if (moduleType === "custom_nodes") {
|
||||||
// Add version metadata to each node in the workflow
|
const nodePackageName = modules[1];
|
||||||
for (const node of workflow.nodes) {
|
const { cnr_id, ver } =
|
||||||
const graphNode = graph.getNodeById(node.id);
|
this.installedNodes[nodePackageName] ??
|
||||||
if (!graphNode?.constructor?.nodeData?.python_module) continue;
|
this.installedNodes[nodePackageName.toLowerCase()] ??
|
||||||
|
{};
|
||||||
|
|
||||||
const nodeProperties = (node.properties ??= {});
|
if (cnr_id === "comfy-core") return; // don't allow hijacking comfy-core name
|
||||||
const modules =
|
if (cnr_id) nodeProperties.cnr_id = cnr_id;
|
||||||
graphNode.constructor.nodeData.python_module.split(".");
|
if (ver) nodeProperties.ver = ver;
|
||||||
const moduleType = modules[0];
|
} else if (["nodes", "comfy_extras"].includes(moduleType)) {
|
||||||
|
nodeProperties.cnr_id = "comfy-core";
|
||||||
if (moduleType === "custom_nodes") {
|
nodeProperties.ver = this.comfyCoreVersion;
|
||||||
const nodePackageName = modules[1];
|
|
||||||
const { cnr_id, ver } =
|
|
||||||
extension.installedNodes[nodePackageName] ??
|
|
||||||
extension.installedNodes[nodePackageName.toLowerCase()] ??
|
|
||||||
{};
|
|
||||||
|
|
||||||
if (cnr_id === "comfy-core") continue; // reserved name
|
|
||||||
if (cnr_id) nodeProperties.cnr_id = cnr_id;
|
|
||||||
if (ver) nodeProperties.ver = ver;
|
|
||||||
} else if (["nodes", "comfy_extras"].includes(moduleType)) {
|
|
||||||
nodeProperties.cnr_id = "comfy-core";
|
|
||||||
nodeProperties.ver = extension.comfyCoreVersion;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
console.error(e);
|
|
||||||
}
|
}
|
||||||
|
} catch (e) {
|
||||||
return workflow;
|
console.error(e);
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user