{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:40103961-8c46-4fcd-a79f-b81addd0be31",
  "version": 1,
  "metadata": {
    "timestamp": "2026-09-21T17:26:14Z",
    "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",
      "group": "@unhead",
      "version": "3.3.1",
      "description": "ESLint rules for catching unhead misuse, type-narrowing issues, and v2-to-v3 migration problems.",
      "purl": "pkg:npm/%40unhead/eslint-plugin@3.3.1",
      "bom-ref": "pkg:npm/@unhead/eslint-plugin@3.3.1",
      "author": "Harlan Wilton <harlan@harlanzw.com>",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, stub, test, prepack"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "website",
          "url": "https://unhead.unjs.io"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/unjs/unhead.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@types"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@types/estree/package.json\\nnode_modules/eslint/package.json\\nnode_modules/unhead/package.json\\nnode_modules/vitest/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "",
      "name": "vitest",
      "version": "4.1.10",
      "description": "Next generation testing framework powered by Vite",
      "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/vitest@4.1.10",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vitest.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/vitest@4.1.10",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vitest/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/vitest/package.json"
              }
            ],
            "concludedValue": "node_modules/vitest/package.json"
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "authors": [
        {
          "name": "Harlan Wilton <harlan@harlanzw.com> (https://harlanzw.com/)"
        }
      ],
      "group": "",
      "name": "unhead",
      "version": "3.3.1",
      "description": "Full-stack <head> manager built for any framework.",
      "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/unhead@3.3.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://unhead.unjs.io"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/unjs/unhead.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/unhead@3.3.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/unhead/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "unhead/validate,nonAbsoluteCanonical,unhead/validate/nonAbsoluteCanonical,emptyMetaContent,unhead/validate/emptyMetaContent,validateInputShape,unhead/validate/validateInputShape,noDeprecatedProps,unhead/validate/noDeprecatedProps,noUnknownMeta,unhead/validate/noUnknownMeta,numericTagPriority,unhead/validate/numericTagPriority,preferDefineHelpers,unhead/validate/preferDefineHelpers,preloadMissingAs,unhead/validate/preloadMissingAs,preloadFontCrossorigin,unhead/validate/preloadFontCrossorigin,robotsConflict,unhead/validate/robotsConflict,deferOnModuleScript,unhead/validate/deferOnModuleScript,scriptSrcWithContent,unhead/validate/scriptSrcWithContent,noHtmlInTitle,unhead/validate/noHtmlInTitle,twitterHandleMissingAt,unhead/validate/twitterHandleMissingAt,viewportUserScalable,unhead/validate/viewportUserScalable,Diagnostic,unhead/validate/Diagnostic,PredicateFix,unhead/validate/PredicateFix,HeadInputPredicate,unhead/validate/HeadInputPredicate,InputShapeContext,unhead/validate/InputShapeContext,InputShapePredicate,unhead/validate/InputShapePredicate,PredicateContext,unhead/validate/PredicateContext,TagInput,unhead/validate/TagInput,TagPredicate,unhead/validate/TagPredicate,HeadInputView,unhead/validate/HeadInputView,InputShapeView,unhead/validate/InputShapeView,InputValueKind,unhead/validate/InputValueKind"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/unhead/package.json"
              }
            ],
            "concludedValue": "node_modules/unhead/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.mjs",
            "line": 1
          },
          {
            "location": "src/rules/canonical-rules.ts",
            "line": 2
          },
          {
            "location": "src/rules/empty-meta-content.ts",
            "line": 2
          },
          {
            "location": "src/rules/input-shape.ts",
            "line": 2
          },
          {
            "location": "src/rules/no-deprecated-props.ts",
            "line": 2
          },
          {
            "location": "src/rules/no-unknown-meta.ts",
            "line": 2
          },
          {
            "location": "src/rules/numeric-tag-priority.ts",
            "line": 2
          },
          {
            "location": "src/rules/prefer-define-helpers.ts",
            "line": 2
          },
          {
            "location": "src/rules/preload-rules.ts",
            "line": 2
          },
          {
            "location": "src/rules/robots-conflict.ts",
            "line": 2
          },
          {
            "location": "src/rules/script-rules.ts",
            "line": 2
          },
          {
            "location": "src/rules/title-rules.ts",
            "line": 2
          },
          {
            "location": "src/rules/twitter-handle-missing-at.ts",
            "line": 2
          },
          {
            "location": "src/rules/viewport-user-scalable.ts",
            "line": 2
          },
          {
            "location": "src/utils/applyDiagnostic.ts",
            "line": 3
          },
          {
            "location": "src/utils/createPredicateRule.ts",
            "line": 3
          },
          {
            "location": "src/utils/materialize.ts",
            "line": 2
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "authors": [
        {
          "name": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>"
        }
      ],
      "group": "",
      "name": "eslint",
      "version": "10.8.0",
      "description": "An AST-based pattern checker for JavaScript.",
      "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/eslint@10.8.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://eslint.org"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/eslint@10.8.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/eslint/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "eslint,Linter,eslint/Linter,ESLint,eslint/ESLint,Rule,eslint/Rule"
        },
        {
          "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"
          }
        ],
        "occurrences": [
          {
            "location": "src/configs/recommended.ts",
            "line": 1
          },
          {
            "location": "src/index.ts",
            "line": 1
          },
          {
            "location": "src/rules/canonical-rules.ts",
            "line": 1
          },
          {
            "location": "src/rules/empty-meta-content.ts",
            "line": 1
          },
          {
            "location": "src/rules/input-shape.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-deprecated-props.ts",
            "line": 1
          },
          {
            "location": "src/rules/no-unknown-meta.ts",
            "line": 1
          },
          {
            "location": "src/rules/numeric-tag-priority.ts",
            "line": 1
          },
          {
            "location": "src/rules/prefer-define-helpers.ts",
            "line": 1
          },
          {
            "location": "src/rules/preload-rules.ts",
            "line": 1
          },
          {
            "location": "src/rules/robots-conflict.ts",
            "line": 1
          },
          {
            "location": "src/rules/script-rules.ts",
            "line": 1
          },
          {
            "location": "src/rules/title-rules.ts",
            "line": 1
          },
          {
            "location": "src/rules/twitter-handle-missing-at.ts",
            "line": 1
          },
          {
            "location": "src/rules/viewport-user-scalable.ts",
            "line": 1
          },
          {
            "location": "src/utils/applyDiagnostic.ts",
            "line": 1
          },
          {
            "location": "src/utils/createPredicateRule.ts",
            "line": 1
          },
          {
            "location": "src/utils/visitor.ts",
            "line": 1
          },
          {
            "location": "dist/index.d.mts",
            "line": 1
          },
          {
            "location": "dist/index.d.mts",
            "line": 2
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "estree",
      "version": "1.0.9",
      "description": "TypeScript definitions for estree",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/estree@1.0.9",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/estree"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/estree@1.0.9",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/estree/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/estree/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/estree/package.json"
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@unhead/eslint-plugin@3.3.1"
      ],
      "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-21T17:26:14Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Monday, September 21, 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' with version '3.3.1'. The package type in this SBOM is npm with a single purl namespace '@types' described under components. The components were identified from 4 source files."
    }
  ]
}