comfy-org/ComfyUI-Manager
View on GitHub ↗
Unique within the repo — the other 15% repeats across its own files.
Unique across all public code — a further 28% is its own but appears in other public repos too.
Tidy, but not new — the code doesn't repeat itself, yet a large share already exists across other public repos. A strong candidate for pulling from (or publishing as) a shared package.
Worth consolidating — in the code
Real, actionable duplication in this repo's source, most concrete first.
Longest identical blocks
The longest runs of identical consecutive lines copied between two files (indentation ignored) — the most concrete copy-paste. Lift the block into a shared function or module.
| Lines | File A | File B | Cross-repo |
|---|---|---|---|
| 69 | comfy-org/ComfyUI-Manager/js/comfyui-manager.js:533 |
comfy-org/ComfyUI-Manager/js/custom-nodes-manager.js:161 |
same repo |
| 26 | comfy-org/ComfyUI-Manager/js/comfyui-share-copus.js:663 |
comfy-org/ComfyUI-Manager/js/comfyui-share-openart.js:320 |
same repo |
| 23 | comfy-org/ComfyUI-Manager/js/comfyui-share-common.js:981 |
comfy-org/ComfyUI-Manager/js/comfyui-share-openart.js:541 |
same repo |
| 18 | comfy-org/ComfyUI-Manager/js/model-manager.js:179 |
comfy-org/ComfyUI-Manager/js/node-usage-analyzer.js:109 |
same repo |
| 14 | comfy-org/ComfyUI-Manager/js/comfyui-share-openart.js:519 |
comfy-org/ComfyUI-Manager/js/comfyui-share-youml.js:427 |
same repo |
| 14 | comfy-org/ComfyUI-Manager/js/custom-nodes-manager.js:510 |
comfy-org/ComfyUI-Manager/js/model-manager.js:182 |
same repo |
| 14 | comfy-org/ComfyUI-Manager/js/custom-nodes-manager.js:510 |
comfy-org/ComfyUI-Manager/js/node-usage-analyzer.js:112 |
same repo |
| 13 | comfy-org/ComfyUI-Manager/glob/manager_server.py:65 |
comfy-org/ComfyUI-Manager/prestartup_script.py:159 |
same repo |
| 12 | comfy-org/ComfyUI-Manager/tests/test_install_flags_config.py:59 |
comfy-org/ComfyUI-Manager/tests/test_write_config_persistence.py:111 |
same repo |
| 11 | comfy-org/ComfyUI-Manager/js/comfyui-share-copus.js:726 |
comfy-org/ComfyUI-Manager/js/comfyui-share-youml.js:309 |
same repo |
| 10 | comfy-org/ComfyUI-Manager/js/comfyui-share-common.js:981 |
comfy-org/ComfyUI-Manager/js/comfyui-share-copus.js:910 |
same repo |
| 9 | comfy-org/ComfyUI-Manager/glob/manager_downloader.py:39 |
comfy-org/ComfyUI-Manager/scanner.py:138 |
same repo |
| 8 | comfy-org/ComfyUI-Manager/git_helper.py:35 |
comfy-org/ComfyUI-Manager/glob/manager_downloader.py:39 |
same repo |
| 8 | comfy-org/ComfyUI-Manager/git_helper.py:35 |
comfy-org/ComfyUI-Manager/scanner.py:138 |
same repo |
| 7 | comfy-org/ComfyUI-Manager/cm-cli.py:88 |
comfy-org/ComfyUI-Manager/prestartup_script.py:504 |
same repo |
| 7 | comfy-org/ComfyUI-Manager/git_helper.py:441 |
comfy-org/ComfyUI-Manager/glob/manager_util.py:580 |
same repo |
Top duplication hotspots
| Similarity | Overlap | File A | File B | Cross-repo |
|---|---|---|---|---|
| 57% | 615 | comfy-org/ComfyUI-Manager/js/comfyui-share-copus.js |
comfy-org/ComfyUI-Manager/js/comfyui-share-openart.js |
same repo |
| 19% | 531 | comfy-org/ComfyUI-Manager/js/custom-nodes-manager.js |
comfy-org/ComfyUI-Manager/js/model-manager.js |
same repo |
| 42% | 518 | comfy-org/ComfyUI-Manager/js/model-manager.js |
comfy-org/ComfyUI-Manager/js/node-usage-analyzer.js |
same repo |
| 16% | 466 | comfy-org/ComfyUI-Manager/js/custom-nodes-manager.js |
comfy-org/ComfyUI-Manager/js/node-usage-analyzer.js |
same repo |
| 39% | 396 | comfy-org/ComfyUI-Manager/js/comfyui-share-openart.js |
comfy-org/ComfyUI-Manager/js/comfyui-share-youml.js |
same repo |
| 30% | 365 | comfy-org/ComfyUI-Manager/js/comfyui-share-copus.js |
comfy-org/ComfyUI-Manager/js/comfyui-share-youml.js |
same repo |
| 8% | 290 | comfy-org/ComfyUI-Manager/js/comfyui-manager.js |
comfy-org/ComfyUI-Manager/js/custom-nodes-manager.js |
same repo |
| 16% | 258 | comfy-org/ComfyUI-Manager/js/comfyui-share-common.js |
comfy-org/ComfyUI-Manager/js/comfyui-share-openart.js |
same repo |
| 14% | 250 | comfy-org/ComfyUI-Manager/js/comfyui-share-common.js |
comfy-org/ComfyUI-Manager/js/comfyui-share-copus.js |
same repo |
| 7% | 246 | comfy-org/ComfyUI-Manager/js/common.js |
comfy-org/ComfyUI-Manager/js/custom-nodes-manager.js |
same repo |
| 5% | 229 | comfy-org/ComfyUI-Manager/cm-cli.py |
comfy-org/ComfyUI-Manager/glob/manager_server.py |
same repo |
| 5% | 221 | comfy-org/ComfyUI-Manager/glob/manager_server.py |
comfy-org/ComfyUI-Manager/prestartup_script.py |
same repo |
| 11% | 180 | comfy-org/ComfyUI-Manager/js/comfyui-share-common.js |
comfy-org/ComfyUI-Manager/js/comfyui-share-youml.js |
same repo |
| 7% | 174 | comfy-org/ComfyUI-Manager/js/comfyui-manager.js |
comfy-org/ComfyUI-Manager/js/comfyui-share-common.js |
same repo |
| 7% | 171 | comfy-org/ComfyUI-Manager/js/common.js |
comfy-org/ComfyUI-Manager/js/node-usage-analyzer.js |
same repo |
| 10% | 160 | comfy-org/ComfyUI-Manager/tests/test_install_flags_config.py |
comfy-org/ComfyUI-Manager/tests/test_write_config_persistence.py |
same repo |
| 3% | 159 | comfy-org/ComfyUI-Manager/glob/manager_server.py |
comfy-org/ComfyUI-Manager/scanner.py |
same repo |
| 7% | 151 | comfy-org/ComfyUI-Manager/js/common.js |
comfy-org/ComfyUI-Manager/js/model-manager.js |
same repo |
| 6% | 148 | comfy-org/ComfyUI-Manager/cm-cli.py |
comfy-org/ComfyUI-Manager/prestartup_script.py |
same repo |
| 5% | 145 | comfy-org/ComfyUI-Manager/js/comfyui-manager.js |
comfy-org/ComfyUI-Manager/js/common.js |
same repo |
Duplicate declarations
The same function, variable, class, or type name declared in more than one file — a fast copy-paste signal. Consider extracting a shared definition.
| Files | Declaration | Where |
|---|---|---|
| 4 | type output |
comfy-org/ComfyUI-Manager/js/comfyui-share-common.jscomfy-org/ComfyUI-Manager/js/comfyui-share-copus.jscomfy-org/ComfyUI-Manager/js/comfyui-share-openart.js+1 more |
| 4 | type temp |
comfy-org/ComfyUI-Manager/js/comfyui-share-common.jscomfy-org/ComfyUI-Manager/js/comfyui-share-copus.jscomfy-org/ComfyUI-Manager/js/comfyui-share-openart.js+1 more |
| 3 | type blob |
comfy-org/ComfyUI-Manager/js/comfyui-share-copus.jscomfy-org/ComfyUI-Manager/js/comfyui-share-openart.jscomfy-org/ComfyUI-Manager/js/comfyui-share-youml.js |
| 3 | fn download_url |
comfy-org/ComfyUI-Manager/git_helper.pycomfy-org/ComfyUI-Manager/glob/manager_downloader.pycomfy-org/ComfyUI-Manager/scanner.py |
| 3 | type events |
comfy-org/ComfyUI-Manager/js/custom-nodes-manager.jscomfy-org/ComfyUI-Manager/js/model-manager.jscomfy-org/ComfyUI-Manager/js/node-usage-analyzer.js |
| 3 | fn restore_snapshot |
comfy-org/ComfyUI-Manager/cm-cli.pycomfy-org/ComfyUI-Manager/glob/manager_server.pycomfy-org/ComfyUI-Manager/js/snapshot.js |
| 3 | type type |
comfy-org/ComfyUI-Manager/js/custom-nodes-manager.jscomfy-org/ComfyUI-Manager/js/model-manager.jscomfy-org/ComfyUI-Manager/js/node-usage-analyzer.js |
| 2 | fn _post |
comfy-org/ComfyUI-Manager/tests/test_csrf_content_type_helper.pycomfy-org/ComfyUI-Manager/tests/test_install_flags_gates.py |
| 2 | fn _run_child |
comfy-org/ComfyUI-Manager/tests/test_install_flags_config.pycomfy-org/ComfyUI-Manager/tests/test_write_config_persistence.py |
| 2 | type base |
comfy-org/ComfyUI-Manager/js/model-manager.jscomfy-org/ComfyUI-Manager/js/node-usage-analyzer.js |
| 2 | fn disable_node |
comfy-org/ComfyUI-Manager/cm-cli.pycomfy-org/ComfyUI-Manager/glob/manager_server.py |
| 2 | fn emit |
comfy-org/ComfyUI-Manager/prestartup_script.pycomfy-org/ComfyUI-Manager/tests/test_install_flags_gates.py |
| 2 | fn get_commit_hash |
comfy-org/ComfyUI-Manager/glob/git_utils.pycomfy-org/ComfyUI-Manager/glob/node_package.py |
| 2 | fn get_risky_level |
comfy-org/ComfyUI-Manager/glob/manager_server.pycomfy-org/ComfyUI-Manager/tests/test_install_flags_gates.py |
| 2 | fn handle_stream |
comfy-org/ComfyUI-Manager/glob/manager_server.pycomfy-org/ComfyUI-Manager/prestartup_script.py |
| 2 | fn has_system_user_api |
comfy-org/ComfyUI-Manager/glob/manager_migration.pycomfy-org/ComfyUI-Manager/tests/test_install_flags_gates.py |
| 2 | fn install_node |
comfy-org/ComfyUI-Manager/cm-cli.pycomfy-org/ComfyUI-Manager/glob/cnr_utils.py |
| 2 | fn load_components |
comfy-org/ComfyUI-Manager/glob/manager_server.pycomfy-org/ComfyUI-Manager/js/components-manager.js |
| 2 | fn name |
comfy-org/ComfyUI-Manager/js/model-manager.jscomfy-org/ComfyUI-Manager/js/node-usage-analyzer.js |
| 2 | fn options |
comfy-org/ComfyUI-Manager/js/comfyui-manager.jscomfy-org/ComfyUI-Manager/js/node_fixer.js |
| 2 | fn process_custom_node |
comfy-org/ComfyUI-Manager/cm-cli.pycomfy-org/ComfyUI-Manager/glob/manager_server.py |
| 2 | fn read_downgrade_blacklist |
comfy-org/ComfyUI-Manager/cm-cli.pycomfy-org/ComfyUI-Manager/prestartup_script.py |
| 2 | fn remove_snapshot |
comfy-org/ComfyUI-Manager/glob/manager_server.pycomfy-org/ComfyUI-Manager/js/snapshot.js |
| 2 | fn restore_pip_snapshot |
comfy-org/ComfyUI-Manager/git_helper.pycomfy-org/ComfyUI-Manager/glob/manager_util.py |
| 2 | fn save_snapshot |
comfy-org/ComfyUI-Manager/cm-cli.pycomfy-org/ComfyUI-Manager/glob/manager_server.py |
Docs & prose
Near-identical documentation — often translations (e.g. README.md ⇄ README_zh-CN.md) or mirrored guides. Usually intentional, not cleanup — listed separately so it doesn't inflate the code signal above.
Top duplication hotspots
| Similarity | Overlap | File A | File B | Cross-repo |
|---|---|---|---|---|
| 6% | 138 | comfy-org/ComfyUI-Manager/CHANGELOG.md |
comfy-org/ComfyUI-Manager/README.md |
same repo |
| 3% | 137 | comfy-org/ComfyUI-Manager/LICENSE.txt |
comfy-org/ComfyUI-Manager/README.md |
same repo |
| 5% | 123 | comfy-org/ComfyUI-Manager/README.md |
comfy-org/ComfyUI-Manager/docs/en/cm-cli.md |
same repo |
| 12% | 120 | comfy-org/ComfyUI-Manager/docs/en/cm-cli.md |
comfy-org/ComfyUI-Manager/docs/ko/cm-cli.md |
same repo |
| 3% | 84 | comfy-org/ComfyUI-Manager/README.md |
comfy-org/ComfyUI-Manager/docs/en/v3.38-userdata-security-migration.md |
same repo |
| 2% | 67 | comfy-org/ComfyUI-Manager/LICENSE.txt |
comfy-org/ComfyUI-Manager/docs/en/cm-cli.md |
same repo |
| 1% | 49 | comfy-org/ComfyUI-Manager/LICENSE.txt |
comfy-org/ComfyUI-Manager/docs/en/v3.38-userdata-security-migration.md |
same repo |
| 1% | 31 | comfy-org/ComfyUI-Manager/README.md |
comfy-org/ComfyUI-Manager/node_db/README.md |
same repo |
Largest files
Largest files
| LOC | File | Status |
|---|---|---|
| 2229 | comfy-org/ComfyUI-Manager/js/custom-nodes-manager.js | indexed |
| 2107 | comfy-org/ComfyUI-Manager/glob/manager_server.py | indexed |
| 1750 | comfy-org/ComfyUI-Manager/js/comfyui-manager.js | indexed |
| 1657 | comfy-org/ComfyUI-Manager/scanner.py | indexed |
| 1288 | comfy-org/ComfyUI-Manager/cm-cli.py | indexed |
| 1168 | comfy-org/ComfyUI-Manager/js/comfyui-share-copus.js | indexed |
| 1102 | comfy-org/ComfyUI-Manager/js/comfyui-share-common.js | indexed |
| 1086 | comfy-org/ComfyUI-Manager/openapi.yaml | indexed |
| 1058 | comfy-org/ComfyUI-Manager/js/common.js | indexed |
| 869 | comfy-org/ComfyUI-Manager/prestartup_script.py | indexed |