{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:ba5d41bb-52e3-40aa-821c-b5f623840455",
  "version": 1,
  "metadata": {
    "timestamp": "2026-08-25T13:36:54Z",
    "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": "test-utils",
      "group": "@angular-eslint",
      "version": "21.3.0",
      "purl": "pkg:npm/%40angular-eslint/test-utils@21.3.0",
      "bom-ref": "pkg:npm/@angular-eslint/test-utils@21.3.0",
      "properties": [
        {
          "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/angular-eslint/angular-eslint.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@angular-eslint\\n@typescript-eslint"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@angular-eslint/template-parser/package.json\\nnode_modules/@typescript-eslint/parser/package.json\\nnode_modules/@typescript-eslint/rule-tester/package.json\\nnode_modules/@typescript-eslint/utils/package.json\\nnode_modules/eslint/package.json\\nnode_modules/typescript/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "Microsoft Corp."
        }
      ],
      "group": "",
      "name": "typescript",
      "version": "5.9.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.9.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.9.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": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>"
        }
      ],
      "group": "",
      "name": "eslint",
      "version": "10.0.2",
      "description": "An AST-based pattern checker for JavaScript.",
      "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/eslint@10.0.2",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://eslint.org"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/eslint@10.0.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/eslint/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/eslint/package.json"
              }
            ],
            "concludedValue": "node_modules/eslint/package.json"
          }
        ]
      }
    },
    {
      "group": "@typescript-eslint",
      "name": "utils",
      "version": "8.56.1",
      "description": "Utilities for working with TypeScript + ESLint together",
      "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/%40typescript-eslint/utils@8.56.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://typescript-eslint.io/packages/utils"
        },
        {
          "type": "vcs",
          "url": "https://github.com/typescript-eslint/typescript-eslint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@typescript-eslint/utils@8.56.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@typescript-eslint/utils/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@typescript-eslint/utils,TSESLint,@typescript-eslint/utils/TSESLint"
        },
        {
          "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/@typescript-eslint/utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@typescript-eslint/utils/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/rule-tester.ts",
            "line": 6
          }
        ]
      }
    },
    {
      "group": "@typescript-eslint",
      "name": "rule-tester",
      "version": "8.56.1",
      "description": "Tooling to test ESLint rules",
      "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/%40typescript-eslint/rule-tester@8.56.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://typescript-eslint.io/packages/rule-tester"
        },
        {
          "type": "vcs",
          "url": "https://github.com/typescript-eslint/typescript-eslint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@typescript-eslint/rule-tester@8.56.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@typescript-eslint/rule-tester/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@typescript-eslint/rule-tester,InvalidTestCase,@typescript-eslint/rule-tester/InvalidTestCase,SuggestionOutput,@typescript-eslint/rule-tester/SuggestionOutput,TestCaseError,@typescript-eslint/rule-tester/TestCaseError,TestLanguageOptions,@typescript-eslint/rule-tester/TestLanguageOptions,RunTests,@typescript-eslint/rule-tester/RunTests,RuleTesterConfig,@typescript-eslint/rule-tester/RuleTesterConfig,RuleTester,@typescript-eslint/rule-tester/RuleTester"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@typescript-eslint/rule-tester/package.json"
              }
            ],
            "concludedValue": "node_modules/@typescript-eslint/rule-tester/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/rule-tester.js",
            "line": 37
          },
          {
            "location": "src/convert-annotated-source-to-failure-case.ts",
            "line": 6
          },
          {
            "location": "src/rule-tester.ts",
            "line": 4
          },
          {
            "location": "src/rule-tester.ts",
            "line": 5
          }
        ]
      },
      "tags": [
        "test"
      ]
    },
    {
      "group": "@typescript-eslint",
      "name": "parser",
      "version": "8.56.1",
      "description": "An ESLint custom parser which leverages TypeScript ESTree",
      "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/%40typescript-eslint/parser@8.56.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://typescript-eslint.io/packages/parser"
        },
        {
          "type": "vcs",
          "url": "https://github.com/typescript-eslint/typescript-eslint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@typescript-eslint/parser@8.56.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@typescript-eslint/parser/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@typescript-eslint/parser"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@typescript-eslint/parser/package.json"
              }
            ],
            "concludedValue": "node_modules/@typescript-eslint/parser/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/rule-tester.js",
            "line": 56
          },
          {
            "location": "src/rule-tester.ts",
            "line": 29
          }
        ]
      },
      "tags": [
        "parse"
      ]
    },
    {
      "group": "@angular-eslint",
      "name": "template-parser",
      "version": "21.3.0",
      "description": "Angular Template parser for ESLint",
      "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/%40angular-eslint/template-parser@21.3.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/angular-eslint/angular-eslint.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@angular-eslint/template-parser@21.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@angular-eslint/template-parser/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@angular-eslint/template-parser"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@angular-eslint/template-parser/package.json"
              }
            ],
            "concludedValue": "node_modules/@angular-eslint/template-parser/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/rule-tester.js",
            "line": 48
          },
          {
            "location": "src/rule-tester.ts",
            "line": 22
          }
        ]
      },
      "tags": [
        "framework",
        "parse",
        "template"
      ]
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@angular-eslint/test-utils@21.3.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-08-25T13:36:55Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Tuesday, August 25, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'test-utils' with version '21.3.0'. The package type in this SBOM is npm with 2 purl namespaces described under components. The components were identified from 6 source files."
    }
  ]
}