{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:5c4267df-27e0-49cf-b493-6108211af726",
  "version": 1,
  "metadata": {
    "timestamp": "2026-09-15T15:28:09Z",
    "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": "rules",
      "group": "@commitlint",
      "version": "21.2.2",
      "description": "Lint your commit messages",
      "purl": "pkg:npm/%40commitlint/rules@21.2.2",
      "bom-ref": "pkg:npm/@commitlint/rules@21.2.2",
      "author": "Mario Nebl <hello@herebecode.com>",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "deps, pkg"
        },
        {
          "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": "website",
          "url": "https://commitlint.js.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/commitlint.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@commitlint\\n@types"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@commitlint/ensure/package.json\\nnode_modules/@commitlint/message/package.json\\nnode_modules/@commitlint/parse/package.json\\nnode_modules/@commitlint/test/package.json\\nnode_modules/@commitlint/to-lines/package.json\\nnode_modules/@commitlint/types/package.json\\nnode_modules/@commitlint/utils/package.json\\nnode_modules/@types/node/package.json\\nnode_modules/conventional-changelog-angular/package.json\\nnode_modules/conventional-commits-parser/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "Steve Mao <maochenyan@gmail.com> (https://github.com/stevemao)"
        }
      ],
      "group": "",
      "name": "conventional-commits-parser",
      "version": "7.1.2",
      "description": "Parse raw conventional commits.",
      "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/conventional-commits-parser@7.1.2",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://conventional-changelog.js.org/commits-parser/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/conventional-changelog.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/conventional-commits-parser@7.1.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/conventional-commits-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/conventional-commits-parser/package.json"
              }
            ],
            "concludedValue": "node_modules/conventional-commits-parser/package.json"
          }
        ]
      },
      "tags": [
        "parse"
      ]
    },
    {
      "authors": [
        {
          "name": "Steve Mao"
        }
      ],
      "group": "",
      "name": "conventional-changelog-angular",
      "version": "9.2.1",
      "description": "Angular preset for conventional-changelog.",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "ISC",
            "url": "https://opensource.org/licenses/ISC",
            "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/conventional-changelog-angular@9.2.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://conventional-changelog.js.org/presets/angular/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/conventional-changelog.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/conventional-changelog-angular@9.2.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/conventional-changelog-angular/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/conventional-changelog-angular/package.json"
              }
            ],
            "concludedValue": "node_modules/conventional-changelog-angular/package.json"
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "node",
      "version": "22.20.1",
      "description": "TypeScript definitions for node",
      "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/%40types/node@22.20.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/node@22.20.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/node/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/node/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/node/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Mario Nebl <hello@herebecode.com>"
        }
      ],
      "group": "@commitlint",
      "name": "utils",
      "version": "21.0.1",
      "description": "Development utilities for @commitlint",
      "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/%40commitlint/utils@21.0.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://commitlint.js.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/commitlint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@commitlint/utils@21.0.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@commitlint/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/@commitlint/utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@commitlint/utils/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Mario Nebl <hello@herebecode.com>"
        }
      ],
      "group": "@commitlint",
      "name": "types",
      "version": "21.2.0",
      "description": "Shared types for commitlint packages",
      "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/%40commitlint/types@21.2.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://commitlint.js.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/commitlint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@commitlint/types@21.2.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@commitlint/types/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@commitlint/types,TargetCaseType,@commitlint/types/TargetCaseType,SyncRule,@commitlint/types/SyncRule"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@commitlint/types/package.json"
              }
            ],
            "concludedValue": "node_modules/@commitlint/types/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/body-case.ts",
            "line": 3
          },
          {
            "location": "src/body-empty.ts",
            "line": 3
          },
          {
            "location": "src/body-full-stop.ts",
            "line": 2
          },
          {
            "location": "src/body-leading-blank.ts",
            "line": 3
          },
          {
            "location": "src/body-max-length.ts",
            "line": 2
          },
          {
            "location": "src/body-max-line-length.ts",
            "line": 2
          },
          {
            "location": "src/body-min-length.ts",
            "line": 2
          },
          {
            "location": "src/breaking-change-exclamation-mark.ts",
            "line": 2
          },
          {
            "location": "src/footer-empty.ts",
            "line": 3
          },
          {
            "location": "src/footer-leading-blank.ts",
            "line": 3
          },
          {
            "location": "src/footer-max-length.ts",
            "line": 2
          },
          {
            "location": "src/footer-max-line-length.ts",
            "line": 2
          },
          {
            "location": "src/footer-min-length.ts",
            "line": 2
          },
          {
            "location": "src/header-case.ts",
            "line": 3
          },
          {
            "location": "src/header-full-stop.ts",
            "line": 2
          },
          {
            "location": "src/header-max-length.ts",
            "line": 2
          },
          {
            "location": "src/header-min-length.ts",
            "line": 2
          },
          {
            "location": "src/header-trim.ts",
            "line": 2
          },
          {
            "location": "src/references-empty.ts",
            "line": 2
          },
          {
            "location": "src/scope-case.ts",
            "line": 3
          },
          {
            "location": "src/scope-delimiter-style.ts",
            "line": 3
          },
          {
            "location": "src/scope-empty.ts",
            "line": 3
          },
          {
            "location": "src/scope-enum.ts",
            "line": 3
          },
          {
            "location": "src/scope-max-length.ts",
            "line": 2
          },
          {
            "location": "src/scope-min-length.ts",
            "line": 2
          },
          {
            "location": "src/signed-off-by.ts",
            "line": 3
          },
          {
            "location": "src/subject-case.ts",
            "line": 3
          },
          {
            "location": "src/subject-empty.ts",
            "line": 3
          },
          {
            "location": "src/subject-exclamation-mark.ts",
            "line": 2
          },
          {
            "location": "src/subject-full-stop.ts",
            "line": 2
          },
          {
            "location": "src/subject-max-length.ts",
            "line": 2
          },
          {
            "location": "src/subject-min-length.ts",
            "line": 2
          },
          {
            "location": "src/trailer-exists.ts",
            "line": 4
          },
          {
            "location": "src/type-case.ts",
            "line": 3
          },
          {
            "location": "src/type-empty.ts",
            "line": 3
          },
          {
            "location": "src/type-enum.ts",
            "line": 3
          },
          {
            "location": "src/type-max-length.ts",
            "line": 2
          },
          {
            "location": "src/type-min-length.ts",
            "line": 2
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Mario Nebl <hello@herebecode.com>"
        }
      ],
      "group": "@commitlint",
      "name": "to-lines",
      "version": "21.0.1",
      "description": "Lint your commit messages",
      "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/%40commitlint/to-lines@21.0.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://commitlint.js.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/commitlint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@commitlint/to-lines@21.0.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@commitlint/to-lines/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@commitlint/to-lines"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@commitlint/to-lines/package.json"
              }
            ],
            "concludedValue": "node_modules/@commitlint/to-lines/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/body-leading-blank.js",
            "line": 1
          },
          {
            "location": "lib/body-leading-blank.js",
            "line": 9
          },
          {
            "location": "lib/footer-leading-blank.js",
            "line": 1
          },
          {
            "location": "lib/footer-leading-blank.js",
            "line": 9
          },
          {
            "location": "lib/footer-leading-blank.js",
            "line": 10
          },
          {
            "location": "lib/signed-off-by.js",
            "line": 2
          },
          {
            "location": "lib/signed-off-by.js",
            "line": 5
          },
          {
            "location": "lib/trailer-exists.js",
            "line": 3
          },
          {
            "location": "lib/trailer-exists.js",
            "line": 8
          },
          {
            "location": "src/body-leading-blank.ts",
            "line": 1
          },
          {
            "location": "src/body-leading-blank.ts",
            "line": 12
          },
          {
            "location": "src/footer-leading-blank.ts",
            "line": 1
          },
          {
            "location": "src/footer-leading-blank.ts",
            "line": 12
          },
          {
            "location": "src/footer-leading-blank.ts",
            "line": 13
          },
          {
            "location": "src/signed-off-by.ts",
            "line": 2
          },
          {
            "location": "src/signed-off-by.ts",
            "line": 8
          },
          {
            "location": "src/trailer-exists.ts",
            "line": 3
          },
          {
            "location": "src/trailer-exists.ts",
            "line": 11
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Mario Nebl <hello@herebecode.com>"
        }
      ],
      "group": "@commitlint",
      "name": "test",
      "version": "21.2.0",
      "description": "test utilities for @commitlint",
      "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/%40commitlint/test@21.2.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://commitlint.js.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/commitlint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@commitlint/test@21.2.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@commitlint/test/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/@commitlint/test/package.json"
              }
            ],
            "concludedValue": "node_modules/@commitlint/test/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Mario Nebl <hello@herebecode.com>"
        }
      ],
      "group": "@commitlint",
      "name": "parse",
      "version": "21.2.2",
      "description": "Lint your commit messages",
      "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/%40commitlint/parse@21.2.2",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://commitlint.js.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/commitlint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@commitlint/parse@21.2.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@commitlint/parse/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/@commitlint/parse/package.json"
              }
            ],
            "concludedValue": "node_modules/@commitlint/parse/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Mario Nebl <hello@herebecode.com>"
        }
      ],
      "group": "@commitlint",
      "name": "message",
      "version": "21.2.0",
      "description": "Lint your commit messages",
      "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/%40commitlint/message@21.2.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://commitlint.js.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/commitlint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@commitlint/message@21.2.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@commitlint/message/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@commitlint/message"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@commitlint/message/package.json"
              }
            ],
            "concludedValue": "node_modules/@commitlint/message/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/body-case.js",
            "line": 2
          },
          {
            "location": "lib/body-case.js",
            "line": 25
          },
          {
            "location": "lib/body-empty.js",
            "line": 2
          },
          {
            "location": "lib/body-empty.js",
            "line": 8
          },
          {
            "location": "lib/body-full-stop.js",
            "line": 1
          },
          {
            "location": "lib/body-full-stop.js",
            "line": 11
          },
          {
            "location": "lib/body-leading-blank.js",
            "line": 2
          },
          {
            "location": "lib/body-leading-blank.js",
            "line": 14
          },
          {
            "location": "lib/breaking-change-exclamation-mark.js",
            "line": 1
          },
          {
            "location": "lib/breaking-change-exclamation-mark.js",
            "line": 18
          },
          {
            "location": "lib/footer-empty.js",
            "line": 2
          },
          {
            "location": "lib/footer-empty.js",
            "line": 8
          },
          {
            "location": "lib/footer-leading-blank.js",
            "line": 2
          },
          {
            "location": "lib/footer-leading-blank.js",
            "line": 17
          },
          {
            "location": "lib/header-case.js",
            "line": 2
          },
          {
            "location": "lib/header-case.js",
            "line": 25
          },
          {
            "location": "lib/header-full-stop.js",
            "line": 1
          },
          {
            "location": "lib/header-full-stop.js",
            "line": 8
          },
          {
            "location": "lib/header-trim.js",
            "line": 1
          },
          {
            "location": "lib/header-trim.js",
            "line": 9
          },
          {
            "location": "lib/header-trim.js",
            "line": 11
          },
          {
            "location": "lib/header-trim.js",
            "line": 13
          },
          {
            "location": "lib/references-empty.js",
            "line": 1
          },
          {
            "location": "lib/references-empty.js",
            "line": 7
          },
          {
            "location": "lib/scope-case.js",
            "line": 2
          },
          {
            "location": "lib/scope-case.js",
            "line": 32
          },
          {
            "location": "lib/scope-delimiter-style.js",
            "line": 2
          },
          {
            "location": "lib/scope-delimiter-style.js",
            "line": 20
          },
          {
            "location": "lib/scope-empty.js",
            "line": 2
          },
          {
            "location": "lib/scope-empty.js",
            "line": 8
          },
          {
            "location": "lib/scope-enum.js",
            "line": 2
          },
          {
            "location": "lib/scope-enum.js",
            "line": 23
          },
          {
            "location": "lib/signed-off-by.js",
            "line": 1
          },
          {
            "location": "lib/signed-off-by.js",
            "line": 19
          },
          {
            "location": "lib/subject-case.js",
            "line": 2
          },
          {
            "location": "lib/subject-case.js",
            "line": 41
          },
          {
            "location": "lib/subject-empty.js",
            "line": 2
          },
          {
            "location": "lib/subject-empty.js",
            "line": 8
          },
          {
            "location": "lib/subject-exclamation-mark.js",
            "line": 1
          },
          {
            "location": "lib/subject-exclamation-mark.js",
            "line": 11
          },
          {
            "location": "lib/subject-full-stop.js",
            "line": 1
          },
          {
            "location": "lib/subject-full-stop.js",
            "line": 15
          },
          {
            "location": "lib/trailer-exists.js",
            "line": 2
          },
          {
            "location": "lib/trailer-exists.js",
            "line": 13
          },
          {
            "location": "lib/type-case.js",
            "line": 2
          },
          {
            "location": "lib/type-case.js",
            "line": 25
          },
          {
            "location": "lib/type-empty.js",
            "line": 2
          },
          {
            "location": "lib/type-empty.js",
            "line": 8
          },
          {
            "location": "lib/type-enum.js",
            "line": 2
          },
          {
            "location": "lib/type-enum.js",
            "line": 12
          },
          {
            "location": "src/body-case.ts",
            "line": 2
          },
          {
            "location": "src/body-case.ts",
            "line": 37
          },
          {
            "location": "src/body-empty.ts",
            "line": 2
          },
          {
            "location": "src/body-empty.ts",
            "line": 11
          },
          {
            "location": "src/body-full-stop.ts",
            "line": 1
          },
          {
            "location": "src/body-full-stop.ts",
            "line": 16
          },
          {
            "location": "src/body-leading-blank.ts",
            "line": 2
          },
          {
            "location": "src/body-leading-blank.ts",
            "line": 19
          },
          {
            "location": "src/breaking-change-exclamation-mark.ts",
            "line": 1
          },
          {
            "location": "src/breaking-change-exclamation-mark.ts",
            "line": 24
          },
          {
            "location": "src/footer-empty.ts",
            "line": 2
          },
          {
            "location": "src/footer-empty.ts",
            "line": 11
          },
          {
            "location": "src/footer-leading-blank.ts",
            "line": 2
          },
          {
            "location": "src/footer-leading-blank.ts",
            "line": 22
          },
          {
            "location": "src/header-case.ts",
            "line": 2
          },
          {
            "location": "src/header-case.ts",
            "line": 37
          },
          {
            "location": "src/header-full-stop.ts",
            "line": 1
          },
          {
            "location": "src/header-full-stop.ts",
            "line": 11
          },
          {
            "location": "src/header-trim.ts",
            "line": 1
          },
          {
            "location": "src/header-trim.ts",
            "line": 13
          },
          {
            "location": "src/header-trim.ts",
            "line": 15
          },
          {
            "location": "src/header-trim.ts",
            "line": 17
          },
          {
            "location": "src/references-empty.ts",
            "line": 1
          },
          {
            "location": "src/references-empty.ts",
            "line": 9
          },
          {
            "location": "src/scope-case.ts",
            "line": 2
          },
          {
            "location": "src/scope-case.ts",
            "line": 54
          },
          {
            "location": "src/scope-delimiter-style.ts",
            "line": 2
          },
          {
            "location": "src/scope-delimiter-style.ts",
            "line": 27
          },
          {
            "location": "src/scope-empty.ts",
            "line": 2
          },
          {
            "location": "src/scope-empty.ts",
            "line": 10
          },
          {
            "location": "src/scope-enum.ts",
            "line": 2
          },
          {
            "location": "src/scope-enum.ts",
            "line": 35
          },
          {
            "location": "src/signed-off-by.ts",
            "line": 1
          },
          {
            "location": "src/signed-off-by.ts",
            "line": 27
          },
          {
            "location": "src/subject-case.ts",
            "line": 2
          },
          {
            "location": "src/subject-case.ts",
            "line": 54
          },
          {
            "location": "src/subject-empty.ts",
            "line": 2
          },
          {
            "location": "src/subject-empty.ts",
            "line": 11
          },
          {
            "location": "src/subject-exclamation-mark.ts",
            "line": 1
          },
          {
            "location": "src/subject-exclamation-mark.ts",
            "line": 15
          },
          {
            "location": "src/subject-full-stop.ts",
            "line": 1
          },
          {
            "location": "src/subject-full-stop.ts",
            "line": 20
          },
          {
            "location": "src/trailer-exists.ts",
            "line": 2
          },
          {
            "location": "src/trailer-exists.ts",
            "line": 18
          },
          {
            "location": "src/type-case.ts",
            "line": 2
          },
          {
            "location": "src/type-case.ts",
            "line": 37
          },
          {
            "location": "src/type-empty.ts",
            "line": 2
          },
          {
            "location": "src/type-empty.ts",
            "line": 10
          },
          {
            "location": "src/type-enum.ts",
            "line": 2
          },
          {
            "location": "src/type-enum.ts",
            "line": 17
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Mario Nebl <hello@herebecode.com>"
        }
      ],
      "group": "@commitlint",
      "name": "ensure",
      "version": "21.2.0",
      "description": "Lint your commit messages",
      "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/%40commitlint/ensure@21.2.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://commitlint.js.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/conventional-changelog/commitlint.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@commitlint/ensure@21.2.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@commitlint/ensure/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@commitlint/ensure,case,@commitlint/ensure/case,maxLength,@commitlint/ensure/maxLength,maxLineLength,@commitlint/ensure/maxLineLength,minLength,@commitlint/ensure/minLength"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@commitlint/ensure/package.json"
              }
            ],
            "concludedValue": "node_modules/@commitlint/ensure/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/body-case.js",
            "line": 1
          },
          {
            "location": "lib/body-case.js",
            "line": 19
          },
          {
            "location": "lib/body-empty.js",
            "line": 1
          },
          {
            "location": "lib/body-empty.js",
            "line": 5
          },
          {
            "location": "lib/body-max-length.js",
            "line": 1
          },
          {
            "location": "lib/body-max-length.js",
            "line": 7
          },
          {
            "location": "lib/body-max-line-length.js",
            "line": 1
          },
          {
            "location": "lib/body-max-line-length.js",
            "line": 7
          },
          {
            "location": "lib/body-min-length.js",
            "line": 1
          },
          {
            "location": "lib/body-min-length.js",
            "line": 6
          },
          {
            "location": "lib/footer-empty.js",
            "line": 1
          },
          {
            "location": "lib/footer-empty.js",
            "line": 5
          },
          {
            "location": "lib/footer-max-length.js",
            "line": 1
          },
          {
            "location": "lib/footer-max-length.js",
            "line": 7
          },
          {
            "location": "lib/footer-max-line-length.js",
            "line": 1
          },
          {
            "location": "lib/footer-max-line-length.js",
            "line": 8
          },
          {
            "location": "lib/footer-min-length.js",
            "line": 1
          },
          {
            "location": "lib/footer-min-length.js",
            "line": 6
          },
          {
            "location": "lib/header-case.js",
            "line": 1
          },
          {
            "location": "lib/header-case.js",
            "line": 19
          },
          {
            "location": "lib/header-max-length.js",
            "line": 1
          },
          {
            "location": "lib/header-max-length.js",
            "line": 4
          },
          {
            "location": "lib/header-min-length.js",
            "line": 1
          },
          {
            "location": "lib/header-min-length.js",
            "line": 4
          },
          {
            "location": "lib/scope-case.js",
            "line": 1
          },
          {
            "location": "lib/scope-case.js",
            "line": 26
          },
          {
            "location": "lib/scope-delimiter-style.js",
            "line": 1
          },
          {
            "location": "lib/scope-delimiter-style.js",
            "line": 15
          },
          {
            "location": "lib/scope-empty.js",
            "line": 1
          },
          {
            "location": "lib/scope-empty.js",
            "line": 5
          },
          {
            "location": "lib/scope-enum.js",
            "line": 1
          },
          {
            "location": "lib/scope-enum.js",
            "line": 14
          },
          {
            "location": "lib/scope-max-length.js",
            "line": 1
          },
          {
            "location": "lib/scope-max-length.js",
            "line": 7
          },
          {
            "location": "lib/scope-min-length.js",
            "line": 1
          },
          {
            "location": "lib/scope-min-length.js",
            "line": 7
          },
          {
            "location": "lib/subject-case.js",
            "line": 1
          },
          {
            "location": "lib/subject-case.js",
            "line": 35
          },
          {
            "location": "lib/subject-empty.js",
            "line": 1
          },
          {
            "location": "lib/subject-empty.js",
            "line": 5
          },
          {
            "location": "lib/subject-max-length.js",
            "line": 1
          },
          {
            "location": "lib/subject-max-length.js",
            "line": 7
          },
          {
            "location": "lib/subject-min-length.js",
            "line": 1
          },
          {
            "location": "lib/subject-min-length.js",
            "line": 7
          },
          {
            "location": "lib/type-case.js",
            "line": 1
          },
          {
            "location": "lib/type-case.js",
            "line": 19
          },
          {
            "location": "lib/type-empty.js",
            "line": 1
          },
          {
            "location": "lib/type-empty.js",
            "line": 5
          },
          {
            "location": "lib/type-enum.js",
            "line": 1
          },
          {
            "location": "lib/type-enum.js",
            "line": 9
          },
          {
            "location": "lib/type-max-length.js",
            "line": 1
          },
          {
            "location": "lib/type-max-length.js",
            "line": 7
          },
          {
            "location": "lib/type-min-length.js",
            "line": 1
          },
          {
            "location": "lib/type-min-length.js",
            "line": 7
          },
          {
            "location": "src/body-case.ts",
            "line": 1
          },
          {
            "location": "src/body-case.ts",
            "line": 29
          },
          {
            "location": "src/body-empty.ts",
            "line": 1
          },
          {
            "location": "src/body-empty.ts",
            "line": 7
          },
          {
            "location": "src/body-max-length.ts",
            "line": 1
          },
          {
            "location": "src/body-max-length.ts",
            "line": 11
          },
          {
            "location": "src/body-max-line-length.ts",
            "line": 1
          },
          {
            "location": "src/body-max-line-length.ts",
            "line": 11
          },
          {
            "location": "src/body-min-length.ts",
            "line": 1
          },
          {
            "location": "src/body-min-length.ts",
            "line": 9
          },
          {
            "location": "src/footer-empty.ts",
            "line": 1
          },
          {
            "location": "src/footer-empty.ts",
            "line": 7
          },
          {
            "location": "src/footer-max-length.ts",
            "line": 1
          },
          {
            "location": "src/footer-max-length.ts",
            "line": 11
          },
          {
            "location": "src/footer-max-line-length.ts",
            "line": 1
          },
          {
            "location": "src/footer-max-line-length.ts",
            "line": 12
          },
          {
            "location": "src/footer-min-length.ts",
            "line": 1
          },
          {
            "location": "src/footer-min-length.ts",
            "line": 9
          },
          {
            "location": "src/header-case.ts",
            "line": 1
          },
          {
            "location": "src/header-case.ts",
            "line": 29
          },
          {
            "location": "src/header-max-length.ts",
            "line": 1
          },
          {
            "location": "src/header-max-length.ts",
            "line": 6
          },
          {
            "location": "src/header-min-length.ts",
            "line": 1
          },
          {
            "location": "src/header-min-length.ts",
            "line": 6
          },
          {
            "location": "src/scope-case.ts",
            "line": 1
          },
          {
            "location": "src/scope-case.ts",
            "line": 44
          },
          {
            "location": "src/scope-delimiter-style.ts",
            "line": 1
          },
          {
            "location": "src/scope-delimiter-style.ts",
            "line": 21
          },
          {
            "location": "src/scope-empty.ts",
            "line": 1
          },
          {
            "location": "src/scope-empty.ts",
            "line": 7
          },
          {
            "location": "src/scope-enum.ts",
            "line": 1
          },
          {
            "location": "src/scope-enum.ts",
            "line": 25
          },
          {
            "location": "src/scope-max-length.ts",
            "line": 1
          },
          {
            "location": "src/scope-max-length.ts",
            "line": 11
          },
          {
            "location": "src/scope-min-length.ts",
            "line": 1
          },
          {
            "location": "src/scope-min-length.ts",
            "line": 9
          },
          {
            "location": "src/subject-case.ts",
            "line": 1
          },
          {
            "location": "src/subject-case.ts",
            "line": 46
          },
          {
            "location": "src/subject-empty.ts",
            "line": 1
          },
          {
            "location": "src/subject-empty.ts",
            "line": 7
          },
          {
            "location": "src/subject-max-length.ts",
            "line": 1
          },
          {
            "location": "src/subject-max-length.ts",
            "line": 11
          },
          {
            "location": "src/subject-min-length.ts",
            "line": 1
          },
          {
            "location": "src/subject-min-length.ts",
            "line": 9
          },
          {
            "location": "src/type-case.ts",
            "line": 1
          },
          {
            "location": "src/type-case.ts",
            "line": 29
          },
          {
            "location": "src/type-empty.ts",
            "line": 1
          },
          {
            "location": "src/type-empty.ts",
            "line": 7
          },
          {
            "location": "src/type-enum.ts",
            "line": 1
          },
          {
            "location": "src/type-enum.ts",
            "line": 13
          },
          {
            "location": "src/type-max-length.ts",
            "line": 1
          },
          {
            "location": "src/type-max-length.ts",
            "line": 11
          },
          {
            "location": "src/type-min-length.ts",
            "line": 1
          },
          {
            "location": "src/type-min-length.ts",
            "line": 9
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@commitlint/rules@21.2.2"
      ],
      "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-15T15:28:09Z",
      "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 'rules' with version '21.2.2'. The package type in this SBOM is npm with 2 purl namespaces described under components. The components were identified from 10 source files."
    }
  ]
}