{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:09e63574-cbbb-49b2-90b2-af57c36fc998",
  "version": 1,
  "metadata": {
    "timestamp": "2026-07-23T21:28:09Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.3.3",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.3.3",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.3.3",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "detect-europe-js",
      "group": "",
      "version": "0.1.2",
      "description": "Detect if a user is from a country around the European Union (EU) area",
      "purl": "pkg:npm/detect-europe-js@0.1.2",
      "bom-ref": "pkg:npm/detect-europe-js@0.1.2",
      "author": "Faisal Salman <f@faisalman.com>",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build:cjs, build:esm, build, build+test, test"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT"
          }
        }
      ],
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/faisalman/detect-europe-js#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/faisalman/detect-europe-js.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@playwright\\n@types"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "package-lock.json"
      }
    ]
  },
  "components": [
    {
      "group": "@playwright",
      "name": "test",
      "version": "1.32.3",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "06f58dbcad117c1ae28a777184b55a6e2f0145edd7d09f445632a57268718e0e20896043ff195e2dc836773ed3c746a0bb6f2b7338cd20f416ce7c330f056c65"
        }
      ],
      "purl": "pkg:npm/%40playwright/test@1.32.3",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@playwright/test@1.32.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz"
        },
        {
          "name": "LocalNodeModulesPath",
          "value": "node_modules/@playwright/test"
        },
        {
          "name": "cdx:npm:deprecated",
          "value": "Please update to the latest version of Playwright to test up-to-date browsers."
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "@types",
      "name": "node",
      "version": "22.5.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "2a41ecc5e8f48fd216d4a28e38003f5c1034cf4f14152ad140712bcc47c0dd582ae7b79720c61ba0894726e6087ddfa5c02423b4aa94bb752798a6ed51cf7247"
        }
      ],
      "purl": "pkg:npm/%40types/node@22.5.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/node@22.5.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz"
        },
        {
          "name": "LocalNodeModulesPath",
          "value": "node_modules/@types/node"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "undici-types",
      "version": "6.19.8",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "bded8a3fa7ff2676cf045ca86c61ee7ab0bd8351581a7fc5f27d4b593c0dc4213377a21fa93c1441c357804b66990e83951ac2d61ad2ac19c264fa2446b0c78f"
        }
      ],
      "purl": "pkg:npm/undici-types@6.19.8",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/undici-types@6.19.8",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz"
        },
        {
          "name": "LocalNodeModulesPath",
          "value": "node_modules/undici-types"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "playwright-core",
      "version": "1.32.3",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "481f9c76b9eeef86489f93a087ff36efc9e0121f4d104574bd1e2c24598ad38876899a726df6ea058d1b5faf812d8595755d7624b2c8f89105b529d8811fa65a"
        }
      ],
      "purl": "pkg:npm/playwright-core@1.32.3",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/playwright-core@1.32.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz"
        },
        {
          "name": "LocalNodeModulesPath",
          "value": "node_modules/playwright-core"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "",
      "name": "fsevents",
      "version": "2.3.2",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "c62a8c411e3101e1d3b81f6e5a6f9f1517083a02813223813fe7978b24fb8ec8150aad5b915ca0b74d28012a3007b11db6938769a3e02adf35d8ff5a6fe0c328"
        }
      ],
      "purl": "pkg:npm/fsevents@2.3.2",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/fsevents@2.3.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
        },
        {
          "name": "LocalNodeModulesPath",
          "value": "node_modules/@playwright/test/node_modules/fsevents"
        },
        {
          "name": "cdx:npm:hasInstallScript",
          "value": "true"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "typescript",
      "version": "5.5.4",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "32dab6f6c28300460feda963460b4f3a94ef39f6f0456952e9d3d1cf08dd13e0b44786eb5ff194ca11d279c6c73052cd04b70920fb7d9e5f721b94d9d70787f9"
        }
      ],
      "purl": "pkg:npm/typescript@5.5.4",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/typescript@5.5.4",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz"
        },
        {
          "name": "LocalNodeModulesPath",
          "value": "node_modules/typescript"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    }
  ],
  "dependencies": [
    {
      "ref": "pkg:npm/undici-types@6.19.8",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/@types/node@22.5.1",
      "dependsOn": [
        "pkg:npm/undici-types@6.19.8"
      ]
    },
    {
      "ref": "pkg:npm/playwright-core@1.32.3",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/fsevents@2.3.2",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/@playwright/test@1.32.3",
      "dependsOn": [
        "pkg:npm/@types/node@22.5.1",
        "pkg:npm/fsevents@2.3.2",
        "pkg:npm/playwright-core@1.32.3"
      ]
    },
    {
      "ref": "pkg:npm/typescript@5.5.4",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/detect-europe-js@0.1.2",
      "dependsOn": [
        "pkg:npm/@playwright/test@1.32.3",
        "pkg:npm/typescript@5.5.4"
      ]
    }
  ],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/detect-europe-js@0.1.2"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.3.3",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.3.3",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.3.3",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-07-23T21:28:09Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Thursday, July 23, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'detect-europe-js' with version '0.1.2'. The package type in this SBOM is npm with 2 purl namespaces described under components. The components were identified from the source files: package-lock.json."
    }
  ]
}