{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:cc46386a-4959-4dc4-b1c5-f701ff660254",
  "version": 1,
  "metadata": {
    "timestamp": "2026-09-15T19:58:19Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.4",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.4",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.4",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "react",
      "group": "@ts-graphviz",
      "version": "0.12.0",
      "description": "Graphviz-dot Renderer for React.",
      "purl": "pkg:npm/%40ts-graphviz/react@0.12.0",
      "bom-ref": "pkg:npm/@ts-graphviz/react@0.12.0",
      "author": "kamiazya <yuki@kamiazya.tech>",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, example"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/ts-graphviz/ts-graphviz#readme"
        },
        {
          "type": "vcs",
          "url": "https://github.com/ts-graphviz/ts-graphviz.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@testing-library\\n@ts-graphviz\\n@types"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@testing-library/react/package.json\\nnode_modules/@ts-graphviz/common/package.json\\nnode_modules/@types/react-reconciler/package.json\\nnode_modules/@types/react/package.json\\nnode_modules/react-reconciler/package.json\\nnode_modules/react-test-renderer/package.json\\nnode_modules/react/package.json\\nnode_modules/ts-graphviz/package.json\\nnode_modules/typescript/package.json\\nnode_modules/vite-plugin-dts/package.json\\nnode_modules/vite/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "qmhc"
        }
      ],
      "group": "",
      "name": "vite-plugin-dts",
      "version": "4.5.4",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vite-plugin-dts@4.5.4",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "git+https://github.com/qmhc/vite-plugin-dts.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/vite-plugin-dts@4.5.4",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vite-plugin-dts/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "vite-plugin-dts"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vite-plugin-dts/package.json"
              }
            ],
            "concludedValue": "node_modules/vite-plugin-dts/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "vite.config.ts",
            "line": 1
          },
          {
            "location": "vite.config.ts",
            "line": 25
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Evan You"
        }
      ],
      "group": "",
      "name": "vite",
      "version": "7.2.2",
      "description": "Native-ESM powered web dev build tool",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vite@7.2.2",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vite.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitejs/vite.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/vite@7.2.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vite/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vite/package.json"
              }
            ],
            "concludedValue": "node_modules/vite/package.json"
          }
        ]
      },
      "tags": [
        "web"
      ]
    },
    {
      "authors": [
        {
          "name": "Microsoft Corp."
        }
      ],
      "group": "",
      "name": "typescript",
      "version": "5.8.3",
      "description": "TypeScript is a language for application scale JavaScript development",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0",
            "url": "https://opensource.org/licenses/Apache-2.0",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/typescript@5.8.3",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://www.typescriptlang.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/microsoft/TypeScript.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/typescript@5.8.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/typescript/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/typescript/package.json"
              }
            ],
            "concludedValue": "node_modules/typescript/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "kamiazya <yuki@kamiazya.tech>"
        }
      ],
      "group": "",
      "name": "ts-graphviz",
      "version": "3.0.7",
      "description": "Graphviz library for TypeScript",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ts-graphviz@3.0.7",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://ts-graphviz.github.io/ts-graphviz/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/ts-graphviz/ts-graphviz.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ts-graphviz@3.0.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/ts-graphviz/package.json"
        },
        {
          "name": "ExportedModules",
          "value": "ts-graphviz,FilterableModel,ts-graphviz/FilterableModel,isAttributeListModel,ts-graphviz/isAttributeListModel,isEdgeModel,ts-graphviz/isEdgeModel,isNodeModel,ts-graphviz/isNodeModel,isRootGraphModel,ts-graphviz/isRootGraphModel,isSubgraphModel,ts-graphviz/isSubgraphModel"
        },
        {
          "name": "ImportedModules",
          "value": "ts-graphviz,Digraph,ts-graphviz/Digraph,Graph,ts-graphviz/Graph,Subgraph,ts-graphviz/Subgraph,isRootGraphModel,ts-graphviz/isRootGraphModel,toDot,ts-graphviz/toDot,isAttributeListModel,ts-graphviz/isAttributeListModel,isEdgeModel,ts-graphviz/isEdgeModel,isNodeModel,ts-graphviz/isNodeModel,isSubgraphModel,ts-graphviz/isSubgraphModel,DotObjectModel,ts-graphviz/DotObjectModel,FilterableModel,ts-graphviz/FilterableModel,RootGraphModel,ts-graphviz/RootGraphModel,EdgeModel,ts-graphviz/EdgeModel,EdgeTargetLikeTuple,ts-graphviz/EdgeTargetLikeTuple,AttributeKey,ts-graphviz/AttributeKey,AttributesObject,ts-graphviz/AttributesObject,DotObjectType,ts-graphviz/DotObjectType,GraphAttributesObject,ts-graphviz/GraphAttributesObject,GraphBaseModel,ts-graphviz/GraphBaseModel,SubgraphAttributesObject,ts-graphviz/SubgraphAttributesObject,SubgraphModel,ts-graphviz/SubgraphModel,HasAttributes,ts-graphviz/HasAttributes,HasComment,ts-graphviz/HasComment,NodeModel,ts-graphviz/NodeModel"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/ts-graphviz/package.json"
              }
            ],
            "concludedValue": "node_modules/ts-graphviz/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/react.js",
            "line": 1
          },
          {
            "location": "lib/react.js",
            "line": 2
          },
          {
            "location": "lib/react.js",
            "line": 742
          },
          {
            "location": "lib/react.js",
            "line": 796
          },
          {
            "location": "lib/react.js",
            "line": 810
          },
          {
            "location": "src/contexts/ModelCollector.ts",
            "line": 2
          },
          {
            "location": "src/createRoot.ts",
            "line": 2
          },
          {
            "location": "src/createRoot.ts",
            "line": 3
          },
          {
            "location": "src/createRoot.ts",
            "line": 273
          },
          {
            "location": "src/hooks/useDigraph.ts",
            "line": 2
          },
          {
            "location": "src/hooks/useEdge.ts",
            "line": 2
          },
          {
            "location": "src/hooks/useGraph.ts",
            "line": 2
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 11
          },
          {
            "location": "src/hooks/useGraphvizContext.ts",
            "line": 3
          },
          {
            "location": "src/hooks/useHasAttributes.ts",
            "line": 6
          },
          {
            "location": "src/hooks/useHasComment.ts",
            "line": 2
          },
          {
            "location": "src/hooks/useNode.ts",
            "line": 2
          },
          {
            "location": "src/hooks/useSubgraph.ts",
            "line": 2
          },
          {
            "location": "src/react.ts",
            "line": 9
          },
          {
            "location": "src/renderToDot.ts",
            "line": 2
          },
          {
            "location": "src/renderToDot.ts",
            "line": 79
          },
          {
            "location": "src/renderToDot.ts",
            "line": 97
          },
          {
            "location": "src/test-utils/assertions.ts",
            "line": 7
          }
        ]
      }
    },
    {
      "group": "",
      "name": "react-test-renderer",
      "version": "19.1.0",
      "description": "React package for snapshot testing.",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/react-test-renderer@19.1.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://react.dev/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/facebook/react.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/react-test-renderer@19.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/react-test-renderer/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/react-test-renderer/package.json"
              }
            ],
            "concludedValue": "node_modules/react-test-renderer/package.json"
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "",
      "name": "react-reconciler",
      "version": "0.32.0",
      "description": "React package for creating custom renderers.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/react-reconciler@0.32.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://react.dev/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/facebook/react.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/react-reconciler@0.32.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/react-reconciler/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "react-reconciler"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/react-reconciler/package.json"
              }
            ],
            "concludedValue": "node_modules/react-reconciler/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/react.js",
            "line": 5
          },
          {
            "location": "lib/react.js",
            "line": 633
          },
          {
            "location": "src/reconciler.ts",
            "line": 1
          },
          {
            "location": "src/reconciler.ts",
            "line": 454
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "",
      "name": "react",
      "version": "19.1.0",
      "description": "React is a JavaScript library for building user interfaces.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/react@19.1.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://react.dev/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/facebook/react.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/react@19.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/react/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "react/jsx-runtime,react/jsx-runtime/jsx,react,createContext,react/createContext,useLayoutEffect,react/useLayoutEffect,useContext,react/useContext,useMemo,react/useMemo,useEffect,react/useEffect,isValidElement,react/isValidElement,useImperativeHandle,react/useImperativeHandle,createElement,react/createElement,ReactElement,react/ReactElement,ReactNode,react/ReactNode,react/Ref,react/FC"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/react/package.json"
              }
            ],
            "concludedValue": "node_modules/react/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/react.js",
            "line": 3
          },
          {
            "location": "lib/react.js",
            "line": 255
          },
          {
            "location": "lib/react.js",
            "line": 349
          },
          {
            "location": "lib/react.js",
            "line": 359
          },
          {
            "location": "lib/react.js",
            "line": 437
          },
          {
            "location": "lib/react.js",
            "line": 4
          },
          {
            "location": "lib/react.js",
            "line": 6
          },
          {
            "location": "lib/react.js",
            "line": 8
          },
          {
            "location": "lib/react.js",
            "line": 11
          },
          {
            "location": "lib/react.js",
            "line": 15
          },
          {
            "location": "lib/react.js",
            "line": 19
          },
          {
            "location": "lib/react.js",
            "line": 23
          },
          {
            "location": "lib/react.js",
            "line": 28
          },
          {
            "location": "lib/react.js",
            "line": 31
          },
          {
            "location": "lib/react.js",
            "line": 42
          },
          {
            "location": "lib/react.js",
            "line": 49
          },
          {
            "location": "lib/react.js",
            "line": 56
          },
          {
            "location": "lib/react.js",
            "line": 64
          },
          {
            "location": "lib/react.js",
            "line": 66
          },
          {
            "location": "lib/react.js",
            "line": 71
          },
          {
            "location": "lib/react.js",
            "line": 79
          },
          {
            "location": "lib/react.js",
            "line": 82
          },
          {
            "location": "lib/react.js",
            "line": 220
          },
          {
            "location": "lib/react.js",
            "line": 226
          },
          {
            "location": "lib/react.js",
            "line": 246
          },
          {
            "location": "lib/react.js",
            "line": 247
          },
          {
            "location": "lib/react.js",
            "line": 250
          },
          {
            "location": "lib/react.js",
            "line": 259
          },
          {
            "location": "lib/react.js",
            "line": 268
          },
          {
            "location": "lib/react.js",
            "line": 279
          },
          {
            "location": "lib/react.js",
            "line": 285
          },
          {
            "location": "lib/react.js",
            "line": 298
          },
          {
            "location": "lib/react.js",
            "line": 299
          },
          {
            "location": "lib/react.js",
            "line": 308
          },
          {
            "location": "lib/react.js",
            "line": 315
          },
          {
            "location": "lib/react.js",
            "line": 340
          },
          {
            "location": "lib/react.js",
            "line": 341
          },
          {
            "location": "lib/react.js",
            "line": 344
          },
          {
            "location": "lib/react.js",
            "line": 354
          },
          {
            "location": "lib/react.js",
            "line": 355
          },
          {
            "location": "lib/react.js",
            "line": 365
          },
          {
            "location": "lib/react.js",
            "line": 371
          },
          {
            "location": "lib/react.js",
            "line": 387
          },
          {
            "location": "lib/react.js",
            "line": 388
          },
          {
            "location": "lib/react.js",
            "line": 398
          },
          {
            "location": "lib/react.js",
            "line": 409
          },
          {
            "location": "lib/react.js",
            "line": 428
          },
          {
            "location": "lib/react.js",
            "line": 429
          },
          {
            "location": "lib/react.js",
            "line": 432
          },
          {
            "location": "lib/react.js",
            "line": 647
          },
          {
            "location": "lib/react.js",
            "line": 650
          },
          {
            "location": "lib/react.js",
            "line": 653
          },
          {
            "location": "lib/react.js",
            "line": 656
          },
          {
            "location": "lib/react.js",
            "line": 659
          },
          {
            "location": "src/contexts/CurrentGraph.ts",
            "line": 1
          },
          {
            "location": "src/contexts/CurrentGraph.ts",
            "line": 4
          },
          {
            "location": "src/contexts/GraphContainer.ts",
            "line": 1
          },
          {
            "location": "src/contexts/GraphContainer.ts",
            "line": 4
          },
          {
            "location": "src/contexts/GraphMap.ts",
            "line": 1
          },
          {
            "location": "src/contexts/GraphMap.ts",
            "line": 4
          },
          {
            "location": "src/contexts/GraphvizContext.ts",
            "line": 1
          },
          {
            "location": "src/contexts/GraphvizContext.ts",
            "line": 10
          },
          {
            "location": "src/contexts/ModelCollector.ts",
            "line": 1
          },
          {
            "location": "src/contexts/ModelCollector.ts",
            "line": 9
          },
          {
            "location": "src/createRoot.ts",
            "line": 1
          },
          {
            "location": "src/createRoot.ts",
            "line": 128
          },
          {
            "location": "src/createRoot.ts",
            "line": 131
          },
          {
            "location": "src/createRoot.ts",
            "line": 134
          },
          {
            "location": "src/createRoot.ts",
            "line": 137
          },
          {
            "location": "src/createRoot.ts",
            "line": 141
          },
          {
            "location": "src/hooks/useCurrentGraph.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useCurrentGraph.ts",
            "line": 11
          },
          {
            "location": "src/hooks/useDigraph.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useDigraph.ts",
            "line": 16
          },
          {
            "location": "src/hooks/useDigraph.ts",
            "line": 24
          },
          {
            "location": "src/hooks/useEdge.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useEdge.ts",
            "line": 22
          },
          {
            "location": "src/hooks/useEdge.ts",
            "line": 28
          },
          {
            "location": "src/hooks/useGraph.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraph.ts",
            "line": 16
          },
          {
            "location": "src/hooks/useGraph.ts",
            "line": 24
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 41
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 45
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 50
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 55
          },
          {
            "location": "src/hooks/useGraphContainer.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraphContainer.ts",
            "line": 9
          },
          {
            "location": "src/hooks/useGraphMap.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraphMap.ts",
            "line": 6
          },
          {
            "location": "src/hooks/useGraphvizContext.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraphvizContext.ts",
            "line": 2
          },
          {
            "location": "src/hooks/useGraphvizContext.ts",
            "line": 10
          },
          {
            "location": "src/hooks/useHasAttributes.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useHasAttributes.ts",
            "line": 12
          },
          {
            "location": "src/hooks/useHasComment.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useHasComment.ts",
            "line": 5
          },
          {
            "location": "src/hooks/useModelCollector.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useModelCollector.ts",
            "line": 5
          },
          {
            "location": "src/hooks/useNode.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useNode.ts",
            "line": 16
          },
          {
            "location": "src/hooks/useNode.ts",
            "line": 23
          },
          {
            "location": "src/hooks/useRenderedID.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useRenderedID.ts",
            "line": 5
          },
          {
            "location": "src/hooks/useSubgraph.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useSubgraph.ts",
            "line": 18
          },
          {
            "location": "src/hooks/useSubgraph.ts",
            "line": 31
          },
          {
            "location": "src/renderHTMLLike.ts",
            "line": 1
          },
          {
            "location": "src/renderId.ts",
            "line": 1
          },
          {
            "location": "src/renderId.ts",
            "line": 5
          },
          {
            "location": "src/renderToDot.ts",
            "line": 1
          },
          {
            "location": "src/types.ts",
            "line": 13
          },
          {
            "location": "src/components/Digraph.tsx",
            "line": 6
          },
          {
            "location": "src/components/Digraph.tsx",
            "line": 39
          },
          {
            "location": "src/components/Digraph.tsx",
            "line": 42
          },
          {
            "location": "src/components/Digraph.tsx",
            "line": 46
          },
          {
            "location": "src/components/Edge.tsx",
            "line": 1
          },
          {
            "location": "src/components/Edge.tsx",
            "line": 2
          },
          {
            "location": "src/components/Edge.tsx",
            "line": 20
          },
          {
            "location": "src/components/Edge.tsx",
            "line": 23
          },
          {
            "location": "src/components/Graph.tsx",
            "line": 6
          },
          {
            "location": "src/components/Graph.tsx",
            "line": 38
          },
          {
            "location": "src/components/Graph.tsx",
            "line": 41
          },
          {
            "location": "src/components/Graph.tsx",
            "line": 45
          },
          {
            "location": "src/components/GraphPortal.tsx",
            "line": 1
          },
          {
            "location": "src/components/GraphPortal.tsx",
            "line": 12
          },
          {
            "location": "src/components/GraphPortal.tsx",
            "line": 13
          },
          {
            "location": "src/components/Node.tsx",
            "line": 1
          },
          {
            "location": "src/components/Node.tsx",
            "line": 2
          },
          {
            "location": "src/components/Node.tsx",
            "line": 24
          },
          {
            "location": "src/components/Node.tsx",
            "line": 27
          },
          {
            "location": "src/components/Subgraph.tsx",
            "line": 6
          },
          {
            "location": "src/components/Subgraph.tsx",
            "line": 30
          },
          {
            "location": "src/components/Subgraph.tsx",
            "line": 33
          },
          {
            "location": "src/components/Subgraph.tsx",
            "line": 37
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "@types",
      "name": "react-reconciler",
      "version": "0.32.0",
      "description": "TypeScript definitions for react-reconciler",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/react-reconciler@0.32.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-reconciler"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/react-reconciler@0.32.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/react-reconciler/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@types/react-reconciler/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/react-reconciler/package.json"
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "react",
      "version": "19.1.8",
      "description": "TypeScript definitions for react",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/react@19.1.8",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/react@19.1.8",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/react/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@types/react/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/react/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Yuki Yamazaki <yuki@kamiazya.tech>"
        }
      ],
      "group": "@ts-graphviz",
      "name": "common",
      "version": "3.0.5",
      "description": "Graphviz Types and Utilities",
      "scope": "excluded",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40ts-graphviz/common@3.0.5",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/ts-graphviz/ts-graphviz#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/ts-graphviz/ts-graphviz.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@ts-graphviz/common@3.0.5",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ts-graphviz/common/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ts-graphviz/common,EdgeAttributesObject,@ts-graphviz/common/EdgeAttributesObject,EdgeModel,@ts-graphviz/common/EdgeModel,EdgeTargetLikeTuple,@ts-graphviz/common/EdgeTargetLikeTuple,GraphAttributesObject,@ts-graphviz/common/GraphAttributesObject,GraphBaseModel,@ts-graphviz/common/GraphBaseModel,HasComment,@ts-graphviz/common/HasComment,HTMLLikeLabel,@ts-graphviz/common/HTMLLikeLabel,NodeAttributesObject,@ts-graphviz/common/NodeAttributesObject,NodeModel,@ts-graphviz/common/NodeModel,SubgraphAttributesObject,@ts-graphviz/common/SubgraphAttributesObject"
        },
        {
          "name": "cdx:npm:package:type-only",
          "value": "true"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@ts-graphviz/common/package.json"
              }
            ],
            "concludedValue": "node_modules/@ts-graphviz/common/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/types.ts",
            "line": 12
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Kent C. Dodds <me@kentcdodds.com> (https://kentcdodds.com)"
        }
      ],
      "group": "@testing-library",
      "name": "react",
      "version": "16.3.0",
      "description": "Simple and complete React DOM testing utilities that encourage good testing practices.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40testing-library/react@16.3.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/testing-library/react-testing-library#readme"
        },
        {
          "type": "vcs",
          "url": "https://github.com/testing-library/react-testing-library"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@testing-library/react@16.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@testing-library/react/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "react/jsx-runtime,react/jsx-runtime/jsx,react,createContext,react/createContext,useLayoutEffect,react/useLayoutEffect,useContext,react/useContext,useMemo,react/useMemo,useEffect,react/useEffect,isValidElement,react/isValidElement,useImperativeHandle,react/useImperativeHandle,createElement,react/createElement,ReactElement,react/ReactElement,ReactNode,react/ReactNode,react/Ref,react/FC"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@testing-library/react/package.json"
              }
            ],
            "concludedValue": "node_modules/@testing-library/react/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/react.js",
            "line": 3
          },
          {
            "location": "lib/react.js",
            "line": 255
          },
          {
            "location": "lib/react.js",
            "line": 349
          },
          {
            "location": "lib/react.js",
            "line": 359
          },
          {
            "location": "lib/react.js",
            "line": 437
          },
          {
            "location": "lib/react.js",
            "line": 4
          },
          {
            "location": "lib/react.js",
            "line": 6
          },
          {
            "location": "lib/react.js",
            "line": 8
          },
          {
            "location": "lib/react.js",
            "line": 11
          },
          {
            "location": "lib/react.js",
            "line": 15
          },
          {
            "location": "lib/react.js",
            "line": 19
          },
          {
            "location": "lib/react.js",
            "line": 23
          },
          {
            "location": "lib/react.js",
            "line": 28
          },
          {
            "location": "lib/react.js",
            "line": 31
          },
          {
            "location": "lib/react.js",
            "line": 42
          },
          {
            "location": "lib/react.js",
            "line": 49
          },
          {
            "location": "lib/react.js",
            "line": 56
          },
          {
            "location": "lib/react.js",
            "line": 64
          },
          {
            "location": "lib/react.js",
            "line": 66
          },
          {
            "location": "lib/react.js",
            "line": 71
          },
          {
            "location": "lib/react.js",
            "line": 79
          },
          {
            "location": "lib/react.js",
            "line": 82
          },
          {
            "location": "lib/react.js",
            "line": 220
          },
          {
            "location": "lib/react.js",
            "line": 226
          },
          {
            "location": "lib/react.js",
            "line": 246
          },
          {
            "location": "lib/react.js",
            "line": 247
          },
          {
            "location": "lib/react.js",
            "line": 250
          },
          {
            "location": "lib/react.js",
            "line": 259
          },
          {
            "location": "lib/react.js",
            "line": 268
          },
          {
            "location": "lib/react.js",
            "line": 279
          },
          {
            "location": "lib/react.js",
            "line": 285
          },
          {
            "location": "lib/react.js",
            "line": 298
          },
          {
            "location": "lib/react.js",
            "line": 299
          },
          {
            "location": "lib/react.js",
            "line": 308
          },
          {
            "location": "lib/react.js",
            "line": 315
          },
          {
            "location": "lib/react.js",
            "line": 340
          },
          {
            "location": "lib/react.js",
            "line": 341
          },
          {
            "location": "lib/react.js",
            "line": 344
          },
          {
            "location": "lib/react.js",
            "line": 354
          },
          {
            "location": "lib/react.js",
            "line": 355
          },
          {
            "location": "lib/react.js",
            "line": 365
          },
          {
            "location": "lib/react.js",
            "line": 371
          },
          {
            "location": "lib/react.js",
            "line": 387
          },
          {
            "location": "lib/react.js",
            "line": 388
          },
          {
            "location": "lib/react.js",
            "line": 398
          },
          {
            "location": "lib/react.js",
            "line": 409
          },
          {
            "location": "lib/react.js",
            "line": 428
          },
          {
            "location": "lib/react.js",
            "line": 429
          },
          {
            "location": "lib/react.js",
            "line": 432
          },
          {
            "location": "lib/react.js",
            "line": 647
          },
          {
            "location": "lib/react.js",
            "line": 650
          },
          {
            "location": "lib/react.js",
            "line": 653
          },
          {
            "location": "lib/react.js",
            "line": 656
          },
          {
            "location": "lib/react.js",
            "line": 659
          },
          {
            "location": "src/contexts/CurrentGraph.ts",
            "line": 1
          },
          {
            "location": "src/contexts/CurrentGraph.ts",
            "line": 4
          },
          {
            "location": "src/contexts/GraphContainer.ts",
            "line": 1
          },
          {
            "location": "src/contexts/GraphContainer.ts",
            "line": 4
          },
          {
            "location": "src/contexts/GraphMap.ts",
            "line": 1
          },
          {
            "location": "src/contexts/GraphMap.ts",
            "line": 4
          },
          {
            "location": "src/contexts/GraphvizContext.ts",
            "line": 1
          },
          {
            "location": "src/contexts/GraphvizContext.ts",
            "line": 10
          },
          {
            "location": "src/contexts/ModelCollector.ts",
            "line": 1
          },
          {
            "location": "src/contexts/ModelCollector.ts",
            "line": 9
          },
          {
            "location": "src/createRoot.ts",
            "line": 1
          },
          {
            "location": "src/createRoot.ts",
            "line": 128
          },
          {
            "location": "src/createRoot.ts",
            "line": 131
          },
          {
            "location": "src/createRoot.ts",
            "line": 134
          },
          {
            "location": "src/createRoot.ts",
            "line": 137
          },
          {
            "location": "src/createRoot.ts",
            "line": 141
          },
          {
            "location": "src/hooks/useCurrentGraph.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useCurrentGraph.ts",
            "line": 11
          },
          {
            "location": "src/hooks/useDigraph.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useDigraph.ts",
            "line": 16
          },
          {
            "location": "src/hooks/useDigraph.ts",
            "line": 24
          },
          {
            "location": "src/hooks/useEdge.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useEdge.ts",
            "line": 22
          },
          {
            "location": "src/hooks/useEdge.ts",
            "line": 28
          },
          {
            "location": "src/hooks/useGraph.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraph.ts",
            "line": 16
          },
          {
            "location": "src/hooks/useGraph.ts",
            "line": 24
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 41
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 45
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 50
          },
          {
            "location": "src/hooks/useGraphAttributes.ts",
            "line": 55
          },
          {
            "location": "src/hooks/useGraphContainer.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraphContainer.ts",
            "line": 9
          },
          {
            "location": "src/hooks/useGraphMap.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraphMap.ts",
            "line": 6
          },
          {
            "location": "src/hooks/useGraphvizContext.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useGraphvizContext.ts",
            "line": 2
          },
          {
            "location": "src/hooks/useGraphvizContext.ts",
            "line": 10
          },
          {
            "location": "src/hooks/useHasAttributes.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useHasAttributes.ts",
            "line": 12
          },
          {
            "location": "src/hooks/useHasComment.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useHasComment.ts",
            "line": 5
          },
          {
            "location": "src/hooks/useModelCollector.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useModelCollector.ts",
            "line": 5
          },
          {
            "location": "src/hooks/useNode.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useNode.ts",
            "line": 16
          },
          {
            "location": "src/hooks/useNode.ts",
            "line": 23
          },
          {
            "location": "src/hooks/useRenderedID.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useRenderedID.ts",
            "line": 5
          },
          {
            "location": "src/hooks/useSubgraph.ts",
            "line": 1
          },
          {
            "location": "src/hooks/useSubgraph.ts",
            "line": 18
          },
          {
            "location": "src/hooks/useSubgraph.ts",
            "line": 31
          },
          {
            "location": "src/renderHTMLLike.ts",
            "line": 1
          },
          {
            "location": "src/renderId.ts",
            "line": 1
          },
          {
            "location": "src/renderId.ts",
            "line": 5
          },
          {
            "location": "src/renderToDot.ts",
            "line": 1
          },
          {
            "location": "src/types.ts",
            "line": 13
          },
          {
            "location": "src/components/Digraph.tsx",
            "line": 6
          },
          {
            "location": "src/components/Digraph.tsx",
            "line": 39
          },
          {
            "location": "src/components/Digraph.tsx",
            "line": 42
          },
          {
            "location": "src/components/Digraph.tsx",
            "line": 46
          },
          {
            "location": "src/components/Edge.tsx",
            "line": 1
          },
          {
            "location": "src/components/Edge.tsx",
            "line": 2
          },
          {
            "location": "src/components/Edge.tsx",
            "line": 20
          },
          {
            "location": "src/components/Edge.tsx",
            "line": 23
          },
          {
            "location": "src/components/Graph.tsx",
            "line": 6
          },
          {
            "location": "src/components/Graph.tsx",
            "line": 38
          },
          {
            "location": "src/components/Graph.tsx",
            "line": 41
          },
          {
            "location": "src/components/Graph.tsx",
            "line": 45
          },
          {
            "location": "src/components/GraphPortal.tsx",
            "line": 1
          },
          {
            "location": "src/components/GraphPortal.tsx",
            "line": 12
          },
          {
            "location": "src/components/GraphPortal.tsx",
            "line": 13
          },
          {
            "location": "src/components/Node.tsx",
            "line": 1
          },
          {
            "location": "src/components/Node.tsx",
            "line": 2
          },
          {
            "location": "src/components/Node.tsx",
            "line": 24
          },
          {
            "location": "src/components/Node.tsx",
            "line": 27
          },
          {
            "location": "src/components/Subgraph.tsx",
            "line": 6
          },
          {
            "location": "src/components/Subgraph.tsx",
            "line": 30
          },
          {
            "location": "src/components/Subgraph.tsx",
            "line": 33
          },
          {
            "location": "src/components/Subgraph.tsx",
            "line": 37
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@ts-graphviz/react@0.12.0"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.4",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.4",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.4",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-09-15T19:58:19Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Tuesday, September 15, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'react' with version '0.12.0'. The package type in this SBOM is npm with 3 purl namespaces described under components. The components were identified from 11 source files."
    }
  ]
}