{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:b2de0bf6-df0d-4d0a-b0fa-f0ff2d1a3ebe",
  "version": 1,
  "metadata": {
    "timestamp": "2026-08-25T13:36:52Z",
    "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": "eslint-plugin-template",
      "group": "@angular-eslint",
      "version": "21.3.0",
      "description": "ESLint plugin for Angular Templates",
      "purl": "pkg:npm/%40angular-eslint/eslint-plugin-template@21.3.0",
      "bom-ref": "pkg:npm/@angular-eslint/eslint-plugin-template@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@types\\n@typescript-eslint"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@angular-eslint/bundled-angular-compiler/package.json\\nnode_modules/@angular-eslint/template-parser/package.json\\nnode_modules/@angular-eslint/test-utils/package.json\\nnode_modules/@angular-eslint/utils/package.json\\nnode_modules/@types/aria-query/package.json\\nnode_modules/@typescript-eslint/types/package.json\\nnode_modules/@typescript-eslint/utils/package.json\\nnode_modules/aria-query/package.json\\nnode_modules/axobject-query/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": "required",
      "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": "ImportedModules",
          "value": "typescript"
        },
        {
          "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"
          }
        ],
        "occurrences": [
          {
            "location": "dist/processors.js",
            "line": 10
          },
          {
            "location": "src/processors.ts",
            "line": 2
          },
          {
            "location": "src/processors.ts",
            "line": 60
          },
          {
            "location": "src/processors.ts",
            "line": 77
          },
          {
            "location": "src/processors.ts",
            "line": 83
          },
          {
            "location": "src/processors.ts",
            "line": 84
          },
          {
            "location": "src/processors.ts",
            "line": 107
          },
          {
            "location": "src/processors.ts",
            "line": 108
          },
          {
            "location": "src/processors.ts",
            "line": 115
          },
          {
            "location": "src/processors.ts",
            "line": 135
          },
          {
            "location": "src/processors.ts",
            "line": 142
          },
          {
            "location": "src/processors.ts",
            "line": 146
          },
          {
            "location": "src/processors.ts",
            "line": 152
          },
          {
            "location": "src/processors.ts",
            "line": 212
          },
          {
            "location": "src/processors.ts",
            "line": 253
          }
        ]
      }
    },
    {
      "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"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Jesse Beach <splendidnoise@gmail.com>"
        }
      ],
      "group": "",
      "name": "axobject-query",
      "version": "4.1.0",
      "description": "Programmatic access to information about the AXObject Model",
      "scope": "required",
      "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/axobject-query@4.1.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/A11yance/axobject-query#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/A11yance/axobject-query.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/axobject-query@4.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/axobject-query/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "axobject-query"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/axobject-query/package.json"
              }
            ],
            "concludedValue": "node_modules/axobject-query/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/utils/is-interactive-element/get-interactive-element-ax-object-schemas.js",
            "line": 12
          },
          {
            "location": "dist/utils/is-semantic-role-element.js",
            "line": 13
          },
          {
            "location": "src/utils/is-interactive-element/get-interactive-element-ax-object-schemas.ts",
            "line": 17
          },
          {
            "location": "src/utils/is-semantic-role-element.ts",
            "line": 23
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Jesse Beach <splendidnoise@gmail.com>"
        }
      ],
      "group": "",
      "name": "aria-query",
      "version": "5.3.2",
      "description": "Programmatic access to the ARIA specification",
      "scope": "required",
      "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/aria-query@5.3.2",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/A11yance/aria-query#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/A11yance/aria-query.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/aria-query@5.3.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/aria-query/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "aria-query,ARIARole,aria-query/ARIARole,ARIARoleDefinitionKey,aria-query/ARIARoleDefinitionKey,roles,aria-query/roles,ARIAProperty,aria-query/ARIAProperty,ARIAPropertyDefinition,aria-query/ARIAPropertyDefinition,aria,aria-query/aria,ARIARoleRelationConceptAttribute,aria-query/ARIARoleRelationConceptAttribute,aria-query/dom,ARIARoleRelationConcept,aria-query/ARIARoleRelationConcept,elementRoles,aria-query/elementRoles"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/aria-query/package.json"
              }
            ],
            "concludedValue": "node_modules/aria-query/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/rules/role-has-required-aria.js",
            "line": 5
          },
          {
            "location": "dist/rules/valid-aria.js",
            "line": 6
          },
          {
            "location": "dist/utils/get-dom-elements.js",
            "line": 4
          },
          {
            "location": "dist/utils/is-interactive-element/get-interactive-element-role-schemas.js",
            "line": 4
          },
          {
            "location": "dist/utils/is-interactive-element/get-non-interactive-element-role-schemas.js",
            "line": 5
          },
          {
            "location": "src/rules/click-events-have-key-events.ts",
            "line": 9
          },
          {
            "location": "src/rules/role-has-required-aria.ts",
            "line": 6
          },
          {
            "location": "src/rules/role-has-required-aria.ts",
            "line": 7
          },
          {
            "location": "src/rules/role-has-required-aria.ts",
            "line": 55
          },
          {
            "location": "src/rules/valid-aria.ts",
            "line": 11
          },
          {
            "location": "src/rules/valid-aria.ts",
            "line": 12
          },
          {
            "location": "src/rules/valid-aria.ts",
            "line": 58
          },
          {
            "location": "src/utils/attributes-comparator.ts",
            "line": 2
          },
          {
            "location": "src/utils/get-dom-elements.ts",
            "line": 1
          },
          {
            "location": "src/utils/get-dom-elements.ts",
            "line": 15
          },
          {
            "location": "src/utils/is-interactive-element/get-interactive-element-role-schemas.ts",
            "line": 4
          },
          {
            "location": "src/utils/is-interactive-element/get-interactive-element-role-schemas.ts",
            "line": 5
          },
          {
            "location": "src/utils/is-interactive-element/get-interactive-element-role-schemas.ts",
            "line": 15
          },
          {
            "location": "src/utils/is-interactive-element/get-interactive-element-role-schemas.ts",
            "line": 16
          },
          {
            "location": "src/utils/is-interactive-element/get-interactive-element-role-schemas.ts",
            "line": 23
          },
          {
            "location": "src/utils/is-interactive-element/get-non-interactive-element-role-schemas.ts",
            "line": 4
          },
          {
            "location": "src/utils/is-interactive-element/get-non-interactive-element-role-schemas.ts",
            "line": 5
          },
          {
            "location": "src/utils/is-interactive-element/get-non-interactive-element-role-schemas.ts",
            "line": 17
          },
          {
            "location": "src/utils/is-interactive-element/get-non-interactive-element-role-schemas.ts",
            "line": 35
          },
          {
            "location": "src/utils/is-interactive-element/get-non-interactive-element-role-schemas.ts",
            "line": 39
          },
          {
            "location": "src/utils/is-interactive-element/index.ts",
            "line": 2
          }
        ]
      }
    },
    {
      "group": "@typescript-eslint",
      "name": "utils",
      "version": "8.56.1",
      "description": "Utilities for working with TypeScript + ESLint together",
      "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/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,TSESTree,@typescript-eslint/utils/TSESTree,TSESLint,@typescript-eslint/utils/TSESLint,ESLintUtils,@typescript-eslint/utils/ESLintUtils,@typescript-eslint/utils/ts-eslint,ReportFixFunction,@typescript-eslint/utils/ts-eslint/ReportFixFunction,SourceCode,@typescript-eslint/utils/ts-eslint/SourceCode,RuleFix,@typescript-eslint/utils/ts-eslint/RuleFix"
        },
        {
          "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": "dist/utils/create-eslint-rule.js",
            "line": 4
          },
          {
            "location": "src/rules/attributes-order.ts",
            "line": 18
          },
          {
            "location": "src/rules/eqeqeq.ts",
            "line": 8
          },
          {
            "location": "src/rules/i18n.ts",
            "line": 19
          },
          {
            "location": "src/rules/mouse-events-have-key-events.ts",
            "line": 3
          },
          {
            "location": "src/rules/prefer-contextual-for-variables.ts",
            "line": 15
          },
          {
            "location": "src/utils/create-eslint-rule.ts",
            "line": 1
          },
          {
            "location": "src/utils/create-eslint-rule.ts",
            "line": 26
          },
          {
            "location": "src/utils/get-nearest-node-from.ts",
            "line": 5
          },
          {
            "location": "src/rules/prefer-at-else.ts",
            "line": 12
          },
          {
            "location": "src/rules/prefer-contextual-for-variables.ts",
            "line": 16
          },
          {
            "location": "src/rules/prefer-template-literal.ts",
            "line": 7
          }
        ]
      }
    },
    {
      "group": "@typescript-eslint",
      "name": "types",
      "version": "8.56.1",
      "description": "Types for the TypeScript-ESTree AST spec",
      "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/types@8.56.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://typescript-eslint.io"
        },
        {
          "type": "vcs",
          "url": "https://github.com/typescript-eslint/typescript-eslint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@typescript-eslint/types@8.56.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@typescript-eslint/types/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@typescript-eslint/types,AST_NODE_TYPES,@typescript-eslint/types/AST_NODE_TYPES"
        },
        {
          "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/types/package.json"
              }
            ],
            "concludedValue": "node_modules/@typescript-eslint/types/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/utils/get-nearest-node-from.js",
            "line": 4
          },
          {
            "location": "src/utils/get-nearest-node-from.ts",
            "line": 6
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "aria-query",
      "version": "5.0.4",
      "description": "TypeScript definitions for aria-query",
      "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/aria-query@5.0.4",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/aria-query"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/aria-query@5.0.4",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/aria-query/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/aria-query/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/aria-query/package.json"
          }
        ]
      }
    },
    {
      "group": "@angular-eslint",
      "name": "utils",
      "version": "21.3.0",
      "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/utils@21.3.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/angular-eslint/angular-eslint.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@angular-eslint/utils@21.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@angular-eslint/utils/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@angular-eslint/utils,getTemplateParserServices,@angular-eslint/utils/getTemplateParserServices,ensureTemplateParser,@angular-eslint/utils/ensureTemplateParser"
        },
        {
          "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/utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@angular-eslint/utils/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/rules/alt-text.js",
            "line": 4
          },
          {
            "location": "dist/rules/attributes-order.js",
            "line": 5
          },
          {
            "location": "dist/rules/banana-in-box.js",
            "line": 4
          },
          {
            "location": "dist/rules/button-has-type.js",
            "line": 5
          },
          {
            "location": "dist/rules/click-events-have-key-events.js",
            "line": 4
          },
          {
            "location": "dist/rules/conditional-complexity.js",
            "line": 5
          },
          {
            "location": "dist/rules/cyclomatic-complexity.js",
            "line": 5
          },
          {
            "location": "dist/rules/elements-content.js",
            "line": 4
          },
          {
            "location": "dist/rules/eqeqeq.js",
            "line": 5
          },
          {
            "location": "dist/rules/i18n.js",
            "line": 5
          },
          {
            "location": "dist/rules/interactive-supports-focus.js",
            "line": 4
          },
          {
            "location": "dist/rules/label-has-associated-control.js",
            "line": 4
          },
          {
            "location": "dist/rules/mouse-events-have-key-events.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-any.js",
            "line": 5
          },
          {
            "location": "dist/rules/no-autofocus.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-call-expression.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-distracting-elements.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-duplicate-attributes.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-empty-control-flow.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-inline-styles.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-negated-async.js",
            "line": 5
          },
          {
            "location": "dist/rules/no-nested-tags.js",
            "line": 5
          },
          {
            "location": "dist/rules/no-non-null-assertion.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-positive-tabindex.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-at-else.js",
            "line": 5
          },
          {
            "location": "dist/rules/prefer-at-empty.js",
            "line": 5
          },
          {
            "location": "dist/rules/prefer-built-in-pipes.js",
            "line": 5
          },
          {
            "location": "dist/rules/prefer-class-binding.js",
            "line": 5
          },
          {
            "location": "dist/rules/prefer-contextual-for-variables.js",
            "line": 5
          },
          {
            "location": "dist/rules/prefer-control-flow.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-ngsrc.js",
            "line": 5
          },
          {
            "location": "dist/rules/prefer-self-closing-tags.js",
            "line": 5
          },
          {
            "location": "dist/rules/prefer-static-string-properties.js",
            "line": 5
          },
          {
            "location": "dist/rules/prefer-template-literal.js",
            "line": 5
          },
          {
            "location": "dist/rules/role-has-required-aria.js",
            "line": 4
          },
          {
            "location": "dist/rules/table-scope.js",
            "line": 4
          },
          {
            "location": "dist/rules/use-track-by-function.js",
            "line": 4
          },
          {
            "location": "dist/rules/valid-aria.js",
            "line": 5
          },
          {
            "location": "src/rules/alt-text.ts",
            "line": 5
          },
          {
            "location": "src/rules/alt-text.ts",
            "line": 28
          },
          {
            "location": "src/rules/attributes-order.ts",
            "line": 17
          },
          {
            "location": "src/rules/attributes-order.ts",
            "line": 123
          },
          {
            "location": "src/rules/banana-in-box.ts",
            "line": 2
          },
          {
            "location": "src/rules/banana-in-box.ts",
            "line": 28
          },
          {
            "location": "src/rules/button-has-type.ts",
            "line": 9
          },
          {
            "location": "src/rules/button-has-type.ts",
            "line": 63
          },
          {
            "location": "src/rules/click-events-have-key-events.ts",
            "line": 2
          },
          {
            "location": "src/rules/click-events-have-key-events.ts",
            "line": 91
          },
          {
            "location": "src/rules/conditional-complexity.ts",
            "line": 14
          },
          {
            "location": "src/rules/conditional-complexity.ts",
            "line": 51
          },
          {
            "location": "src/rules/cyclomatic-complexity.ts",
            "line": 10
          },
          {
            "location": "src/rules/cyclomatic-complexity.ts",
            "line": 46
          },
          {
            "location": "src/rules/elements-content.ts",
            "line": 2
          },
          {
            "location": "src/rules/elements-content.ts",
            "line": 53
          },
          {
            "location": "src/rules/eqeqeq.ts",
            "line": 7
          },
          {
            "location": "src/rules/eqeqeq.ts",
            "line": 52
          },
          {
            "location": "src/rules/i18n.ts",
            "line": 18
          },
          {
            "location": "src/rules/i18n.ts",
            "line": 223
          },
          {
            "location": "src/rules/interactive-supports-focus.ts",
            "line": 2
          },
          {
            "location": "src/rules/interactive-supports-focus.ts",
            "line": 91
          },
          {
            "location": "src/rules/label-has-associated-control.ts",
            "line": 5
          },
          {
            "location": "src/rules/label-has-associated-control.ts",
            "line": 85
          },
          {
            "location": "src/rules/mouse-events-have-key-events.ts",
            "line": 2
          },
          {
            "location": "src/rules/mouse-events-have-key-events.ts",
            "line": 37
          },
          {
            "location": "src/rules/no-any.ts",
            "line": 9
          },
          {
            "location": "src/rules/no-any.ts",
            "line": 33
          },
          {
            "location": "src/rules/no-autofocus.ts",
            "line": 2
          },
          {
            "location": "src/rules/no-autofocus.ts",
            "line": 32
          },
          {
            "location": "src/rules/no-call-expression.ts",
            "line": 2
          },
          {
            "location": "src/rules/no-call-expression.ts",
            "line": 49
          },
          {
            "location": "src/rules/no-distracting-elements.ts",
            "line": 2
          },
          {
            "location": "src/rules/no-distracting-elements.ts",
            "line": 26
          },
          {
            "location": "src/rules/no-duplicate-attributes.ts",
            "line": 7
          },
          {
            "location": "src/rules/no-duplicate-attributes.ts",
            "line": 70
          },
          {
            "location": "src/rules/no-empty-control-flow.ts",
            "line": 9
          },
          {
            "location": "src/rules/no-empty-control-flow.ts",
            "line": 31
          },
          {
            "location": "src/rules/no-inline-styles.ts",
            "line": 5
          },
          {
            "location": "src/rules/no-inline-styles.ts",
            "line": 51
          },
          {
            "location": "src/rules/no-negated-async.ts",
            "line": 3
          },
          {
            "location": "src/rules/no-negated-async.ts",
            "line": 40
          },
          {
            "location": "src/rules/no-nested-tags.ts",
            "line": 2
          },
          {
            "location": "src/rules/no-nested-tags.ts",
            "line": 28
          },
          {
            "location": "src/rules/no-non-null-assertion.ts",
            "line": 2
          },
          {
            "location": "src/rules/no-non-null-assertion.ts",
            "line": 24
          },
          {
            "location": "src/rules/no-positive-tabindex.ts",
            "line": 6
          },
          {
            "location": "src/rules/no-positive-tabindex.ts",
            "line": 31
          },
          {
            "location": "src/rules/prefer-at-else.ts",
            "line": 9
          },
          {
            "location": "src/rules/prefer-at-else.ts",
            "line": 49
          },
          {
            "location": "src/rules/prefer-at-empty.ts",
            "line": 12
          },
          {
            "location": "src/rules/prefer-at-empty.ts",
            "line": 38
          },
          {
            "location": "src/rules/prefer-built-in-pipes.ts",
            "line": 6
          },
          {
            "location": "src/rules/prefer-built-in-pipes.ts",
            "line": 69
          },
          {
            "location": "src/rules/prefer-class-binding.ts",
            "line": 8
          },
          {
            "location": "src/rules/prefer-class-binding.ts",
            "line": 32
          },
          {
            "location": "src/rules/prefer-contextual-for-variables.ts",
            "line": 14
          },
          {
            "location": "src/rules/prefer-contextual-for-variables.ts",
            "line": 119
          },
          {
            "location": "src/rules/prefer-control-flow.ts",
            "line": 2
          },
          {
            "location": "src/rules/prefer-control-flow.ts",
            "line": 25
          },
          {
            "location": "src/rules/prefer-ngsrc.ts",
            "line": 9
          },
          {
            "location": "src/rules/prefer-ngsrc.ts",
            "line": 40
          },
          {
            "location": "src/rules/prefer-self-closing-tags.ts",
            "line": 7
          },
          {
            "location": "src/rules/prefer-self-closing-tags.ts",
            "line": 32
          },
          {
            "location": "src/rules/prefer-static-string-properties.ts",
            "line": 6
          },
          {
            "location": "src/rules/prefer-static-string-properties.ts",
            "line": 59
          },
          {
            "location": "src/rules/prefer-template-literal.ts",
            "line": 6
          },
          {
            "location": "src/rules/prefer-template-literal.ts",
            "line": 131
          },
          {
            "location": "src/rules/role-has-required-aria.ts",
            "line": 5
          },
          {
            "location": "src/rules/role-has-required-aria.ts",
            "line": 35
          },
          {
            "location": "src/rules/table-scope.ts",
            "line": 5
          },
          {
            "location": "src/rules/table-scope.ts",
            "line": 30
          },
          {
            "location": "src/rules/use-track-by-function.ts",
            "line": 6
          },
          {
            "location": "src/rules/use-track-by-function.ts",
            "line": 43
          },
          {
            "location": "src/rules/valid-aria.ts",
            "line": 10
          },
          {
            "location": "src/rules/valid-aria.ts",
            "line": 43
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "@angular-eslint",
      "name": "test-utils",
      "version": "21.3.0",
      "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/test-utils@21.3.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/angular-eslint/angular-eslint.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@angular-eslint/test-utils@21.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@angular-eslint/test-utils/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/@angular-eslint/test-utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@angular-eslint/test-utils/package.json"
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "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": "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"
          }
        ]
      },
      "tags": [
        "framework",
        "parse",
        "template"
      ]
    },
    {
      "group": "@angular-eslint",
      "name": "bundled-angular-compiler",
      "version": "21.3.0",
      "description": "A CJS bundled version of @angular/compiler",
      "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/bundled-angular-compiler@21.3.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/angular-eslint/angular-eslint.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@angular-eslint/bundled-angular-compiler@21.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@angular-eslint/bundled-angular-compiler/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@angular-eslint/bundled-angular-compiler,Node,@angular-eslint/bundled-angular-compiler/Node,TmplAstElement,@angular-eslint/bundled-angular-compiler/TmplAstElement,Attribute,@angular-eslint/bundled-angular-compiler/Attribute,TmplAstBoundAttribute,@angular-eslint/bundled-angular-compiler/TmplAstBoundAttribute,TmplAstBoundEvent,@angular-eslint/bundled-angular-compiler/TmplAstBoundEvent,TmplAstNode,@angular-eslint/bundled-angular-compiler/TmplAstNode,TmplAstReference,@angular-eslint/bundled-angular-compiler/TmplAstReference,TmplAstTextAttribute,@angular-eslint/bundled-angular-compiler/TmplAstTextAttribute,TmplAstVariable,@angular-eslint/bundled-angular-compiler/TmplAstVariable,Element,@angular-eslint/bundled-angular-compiler/Element,HtmlParser,@angular-eslint/bundled-angular-compiler/HtmlParser,ParseSourceSpan,@angular-eslint/bundled-angular-compiler/ParseSourceSpan,TmplAstTemplate,@angular-eslint/bundled-angular-compiler/TmplAstTemplate,ASTWithSource,@angular-eslint/bundled-angular-compiler/ASTWithSource,LiteralPrimitive,@angular-eslint/bundled-angular-compiler/LiteralPrimitive,@angular-eslint/bundled-angular-compiler/AST,Binary,@angular-eslint/bundled-angular-compiler/Binary,BindingPipe,@angular-eslint/bundled-angular-compiler/BindingPipe,Conditional,@angular-eslint/bundled-angular-compiler/Conditional,Interpolation,@angular-eslint/bundled-angular-compiler/Interpolation,Lexer,@angular-eslint/bundled-angular-compiler/Lexer,Parser,@angular-eslint/bundled-angular-compiler/Parser,TmplAstIfBlock,@angular-eslint/bundled-angular-compiler/TmplAstIfBlock,TmplAstForLoopBlock,@angular-eslint/bundled-angular-compiler/TmplAstForLoopBlock,TmplAstSwitchBlockCase,@angular-eslint/bundled-angular-compiler/TmplAstSwitchBlockCase,TmplAstIcu,@angular-eslint/bundled-angular-compiler/TmplAstIcu,TmplAstText,@angular-eslint/bundled-angular-compiler/TmplAstText,I18nMeta,@angular-eslint/bundled-angular-compiler/I18nMeta,TmplAstBoundText,@angular-eslint/bundled-angular-compiler/TmplAstBoundText,Message,@angular-eslint/bundled-angular-compiler/Message,ImplicitReceiver,@angular-eslint/bundled-angular-compiler/ImplicitReceiver,PropertyRead,@angular-eslint/bundled-angular-compiler/PropertyRead,ThisReceiver,@angular-eslint/bundled-angular-compiler/ThisReceiver,KeyedRead,@angular-eslint/bundled-angular-compiler/KeyedRead,Call,@angular-eslint/bundled-angular-compiler/Call,TmplAstBlockNode,@angular-eslint/bundled-angular-compiler/TmplAstBlockNode,TmplAstForLoopBlockEmpty,@angular-eslint/bundled-angular-compiler/TmplAstForLoopBlockEmpty,TmplAstIfBlockBranch,@angular-eslint/bundled-angular-compiler/TmplAstIfBlockBranch,TmplAstSwitchBlock,@angular-eslint/bundled-angular-compiler/TmplAstSwitchBlock,ParseLocation,@angular-eslint/bundled-angular-compiler/ParseLocation,PrefixNot,@angular-eslint/bundled-angular-compiler/PrefixNot,NonNullAssert,@angular-eslint/bundled-angular-compiler/NonNullAssert,LiteralMap,@angular-eslint/bundled-angular-compiler/LiteralMap,TmplAstContent,@angular-eslint/bundled-angular-compiler/TmplAstContent,TemplateLiteral,@angular-eslint/bundled-angular-compiler/TemplateLiteral,LiteralArray,@angular-eslint/bundled-angular-compiler/LiteralArray,Chain,@angular-eslint/bundled-angular-compiler/Chain,SafeCall,@angular-eslint/bundled-angular-compiler/SafeCall,SafeKeyedRead,@angular-eslint/bundled-angular-compiler/SafeKeyedRead,SafePropertyRead,@angular-eslint/bundled-angular-compiler/SafePropertyRead,TypeofExpression,@angular-eslint/bundled-angular-compiler/TypeofExpression,Unary,@angular-eslint/bundled-angular-compiler/Unary,ParenthesizedExpression,@angular-eslint/bundled-angular-compiler/ParenthesizedExpression"
        },
        {
          "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/bundled-angular-compiler/package.json"
              }
            ],
            "concludedValue": "node_modules/@angular-eslint/bundled-angular-compiler/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/rules/attributes-order.js",
            "line": 4
          },
          {
            "location": "dist/rules/button-has-type.js",
            "line": 4
          },
          {
            "location": "dist/rules/conditional-complexity.js",
            "line": 4
          },
          {
            "location": "dist/rules/cyclomatic-complexity.js",
            "line": 4
          },
          {
            "location": "dist/rules/eqeqeq.js",
            "line": 4
          },
          {
            "location": "dist/rules/i18n.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-any.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-negated-async.js",
            "line": 4
          },
          {
            "location": "dist/rules/no-nested-tags.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-at-else.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-at-empty.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-built-in-pipes.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-class-binding.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-contextual-for-variables.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-ngsrc.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-self-closing-tags.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-static-string-properties.js",
            "line": 4
          },
          {
            "location": "dist/rules/prefer-template-literal.js",
            "line": 4
          },
          {
            "location": "dist/rules/valid-aria.js",
            "line": 4
          },
          {
            "location": "dist/utils/are-equivalent-asts.js",
            "line": 4
          },
          {
            "location": "dist/utils/ast-types.js",
            "line": 5
          },
          {
            "location": "dist/utils/get-attribute-value.js",
            "line": 4
          },
          {
            "location": "dist/utils/get-original-attribute-name.js",
            "line": 4
          },
          {
            "location": "dist/utils/is-bound-event.js",
            "line": 4
          },
          {
            "location": "dist/utils/is-child-node-of.js",
            "line": 4
          },
          {
            "location": "dist/utils/is-hidden-from-screen-reader.js",
            "line": 4
          },
          {
            "location": "dist/utils/literal-primitive.js",
            "line": 6
          },
          {
            "location": "dist/utils/unwrap-parenthesized-expression.js",
            "line": 4
          },
          {
            "location": "src/rules/alt-text.ts",
            "line": 4
          },
          {
            "location": "src/rules/attributes-order.ts",
            "line": 10
          },
          {
            "location": "src/rules/attributes-order.ts",
            "line": 16
          },
          {
            "location": "src/rules/banana-in-box.ts",
            "line": 1
          },
          {
            "location": "src/rules/button-has-type.ts",
            "line": 4
          },
          {
            "location": "src/rules/button-has-type.ts",
            "line": 8
          },
          {
            "location": "src/rules/click-events-have-key-events.ts",
            "line": 1
          },
          {
            "location": "src/rules/conditional-complexity.ts",
            "line": 5
          },
          {
            "location": "src/rules/conditional-complexity.ts",
            "line": 13
          },
          {
            "location": "src/rules/cyclomatic-complexity.ts",
            "line": 9
          },
          {
            "location": "src/rules/elements-content.ts",
            "line": 1
          },
          {
            "location": "src/rules/eqeqeq.ts",
            "line": 1
          },
          {
            "location": "src/rules/eqeqeq.ts",
            "line": 6
          },
          {
            "location": "src/rules/i18n.ts",
            "line": 11
          },
          {
            "location": "src/rules/i18n.ts",
            "line": 16
          },
          {
            "location": "src/rules/i18n.ts",
            "line": 17
          },
          {
            "location": "src/rules/interactive-supports-focus.ts",
            "line": 1
          },
          {
            "location": "src/rules/label-has-associated-control.ts",
            "line": 4
          },
          {
            "location": "src/rules/mouse-events-have-key-events.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-any.ts",
            "line": 8
          },
          {
            "location": "src/rules/no-autofocus.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-call-expression.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-distracting-elements.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-duplicate-attributes.ts",
            "line": 6
          },
          {
            "location": "src/rules/no-empty-control-flow.ts",
            "line": 8
          },
          {
            "location": "src/rules/no-inline-styles.ts",
            "line": 4
          },
          {
            "location": "src/rules/no-interpolation-in-attributes.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-negated-async.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-negated-async.ts",
            "line": 2
          },
          {
            "location": "src/rules/no-nested-tags.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-non-null-assertion.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-positive-tabindex.ts",
            "line": 5
          },
          {
            "location": "src/rules/prefer-at-else.ts",
            "line": 8
          },
          {
            "location": "src/rules/prefer-at-empty.ts",
            "line": 11
          },
          {
            "location": "src/rules/prefer-built-in-pipes.ts",
            "line": 5
          },
          {
            "location": "src/rules/prefer-class-binding.ts",
            "line": 1
          },
          {
            "location": "src/rules/prefer-class-binding.ts",
            "line": 7
          },
          {
            "location": "src/rules/prefer-contextual-for-variables.ts",
            "line": 13
          },
          {
            "location": "src/rules/prefer-control-flow.ts",
            "line": 1
          },
          {
            "location": "src/rules/prefer-ngsrc.ts",
            "line": 1
          },
          {
            "location": "src/rules/prefer-ngsrc.ts",
            "line": 8
          },
          {
            "location": "src/rules/prefer-self-closing-tags.ts",
            "line": 6
          },
          {
            "location": "src/rules/prefer-static-string-properties.ts",
            "line": 5
          },
          {
            "location": "src/rules/prefer-template-literal.ts",
            "line": 5
          },
          {
            "location": "src/rules/role-has-required-aria.ts",
            "line": 4
          },
          {
            "location": "src/rules/table-scope.ts",
            "line": 4
          },
          {
            "location": "src/rules/use-track-by-function.ts",
            "line": 5
          },
          {
            "location": "src/rules/valid-aria.ts",
            "line": 1
          },
          {
            "location": "src/rules/valid-aria.ts",
            "line": 9
          },
          {
            "location": "src/utils/are-equivalent-asts.ts",
            "line": 24
          },
          {
            "location": "src/utils/ast-types.ts",
            "line": 5
          },
          {
            "location": "src/utils/attributes-comparator.ts",
            "line": 1
          },
          {
            "location": "src/utils/get-attribute-value.ts",
            "line": 1
          },
          {
            "location": "src/utils/get-attribute-value.ts",
            "line": 7
          },
          {
            "location": "src/utils/get-nearest-node-from.ts",
            "line": 4
          },
          {
            "location": "src/utils/get-original-attribute-name.ts",
            "line": 4
          },
          {
            "location": "src/utils/get-original-attribute-name.ts",
            "line": 5
          },
          {
            "location": "src/utils/is-ast-with-name.ts",
            "line": 1
          },
          {
            "location": "src/utils/is-bound-event.ts",
            "line": 1
          },
          {
            "location": "src/utils/is-child-node-of.ts",
            "line": 1
          },
          {
            "location": "src/utils/is-content-editable.ts",
            "line": 1
          },
          {
            "location": "src/utils/is-disabled-element.ts",
            "line": 1
          },
          {
            "location": "src/utils/is-hidden-from-screen-reader.ts",
            "line": 1
          },
          {
            "location": "src/utils/is-interactive-element/index.ts",
            "line": 1
          },
          {
            "location": "src/utils/is-presentation-role.ts",
            "line": 1
          },
          {
            "location": "src/utils/is-semantic-role-element.ts",
            "line": 4
          },
          {
            "location": "src/utils/literal-primitive.ts",
            "line": 4
          },
          {
            "location": "src/utils/to-range.ts",
            "line": 1
          },
          {
            "location": "src/utils/unwrap-parenthesized-expression.ts",
            "line": 4
          }
        ]
      },
      "tags": [
        "framework"
      ]
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@angular-eslint/eslint-plugin-template@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:52Z",
      "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 'eslint-plugin-template' with version '21.3.0'. The package type in this SBOM is npm with 3 purl namespaces described under components. The components were identified from 11 source files."
    }
  ]
}