{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:49d90573-129f-4b8f-a027-d00dc4a6e0b9",
  "version": 1,
  "metadata": {
    "timestamp": "2026-08-25T13:07:05Z",
    "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": "runner",
      "group": "@vitest",
      "version": "4.1.0",
      "description": "Vitest test runner",
      "purl": "pkg:npm/%40vitest/runner@4.1.0",
      "bom-ref": "pkg:npm/@vitest/runner@4.1.0",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, dev"
        },
        {
          "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://vitest.dev/api/advanced/runner"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@vitest"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@vitest/utils/package.json\\nnode_modules/pathe/package.json"
      }
    ]
  },
  "components": [
    {
      "group": "",
      "name": "pathe",
      "version": "2.0.3",
      "description": "Universal filesystem path utils",
      "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/pathe@2.0.3",
      "type": "library",
      "bom-ref": "pkg:npm/pathe@2.0.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/pathe/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "pathe,relative,pathe/relative"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/pathe/package.json"
              }
            ],
            "concludedValue": "node_modules/pathe/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/chunk-tasks.js",
            "line": 3
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 190
          },
          {
            "location": "dist/index.js",
            "line": 7
          },
          {
            "location": "dist/utils.js",
            "line": 4
          },
          {
            "location": "src/utils/collect.ts",
            "line": 5
          },
          {
            "location": "src/utils/collect.ts",
            "line": 203
          }
        ]
      }
    },
    {
      "group": "@vitest",
      "name": "utils",
      "version": "4.1.0",
      "description": "Shared Vitest utility functions",
      "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/%40vitest/utils@4.1.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vitest-dev/vitest/tree/main/packages/utils"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vitest/utils@4.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vitest/utils/package.json"
        },
        {
          "name": "ExportedModules",
          "value": "utils/chain,utils/collect,utils/limit-concurrency,utils/suite,utils/tags,utils/tasks,ChainableFunction,chain/ChainableFunction,createChainable,chain/createChainable,calculateSuiteHash,collect/calculateSuiteHash,createFileTask,collect/createFileTask,findTestFileStackTrace,collect/findTestFileStackTrace,generateFileHash,collect/generateFileHash,generateHash,collect/generateHash,interpretTaskModes,collect/interpretTaskModes,someTasksAreOnly,collect/someTasksAreOnly,createTagsFilter,tags/createTagsFilter,validateTags,tags/validateTags,createTaskName,tasks/createTaskName,getFullName,tasks/getFullName,getNames,tasks/getNames,getSuites,tasks/getSuites,getTasks,tasks/getTasks,getTestName,tasks/getTestName,getTests,tasks/getTests,hasFailed,tasks/hasFailed,hasTests,tasks/hasTests,isTestCase,tasks/isTestCase"
        },
        {
          "name": "ImportedModules",
          "value": "@vitest/utils/error,processError,@vitest/utils/error/processError,@vitest/utils/source-map,parseSingleStack,@vitest/utils/source-map/parseSingleStack,@vitest/utils/helpers,toArray,@vitest/utils/helpers/toArray,isObject,@vitest/utils/helpers/isObject,filterOutComments,@vitest/utils/helpers/filterOutComments,ordinal,@vitest/utils/helpers/ordinal,createDefer,@vitest/utils/helpers/createDefer,assertTypes,@vitest/utils/helpers/assertTypes,isNegativeNaN,@vitest/utils/helpers/isNegativeNaN,unique,@vitest/utils/helpers/unique,objectAttr,@vitest/utils/helpers/objectAttr,shuffle,@vitest/utils/helpers/shuffle,@vitest/utils/timers,getSafeTimers,@vitest/utils/timers/getSafeTimers,@vitest/utils/display,format,@vitest/utils/display/format,formatRegExp,@vitest/utils/display/formatRegExp,objDisplay,@vitest/utils/display/objDisplay,@vitest/utils,Awaitable,@vitest/utils/Awaitable,TestError,@vitest/utils/TestError,ParsedStack,@vitest/utils/ParsedStack,Arrayable,@vitest/utils/Arrayable,@vitest/utils/diff,DiffOptions,@vitest/utils/diff/DiffOptions"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vitest/utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@vitest/utils/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/chunk-tasks.js",
            "line": 1
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 129
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 162
          },
          {
            "location": "dist/index.js",
            "line": 1
          },
          {
            "location": "dist/index.js",
            "line": 1836
          },
          {
            "location": "dist/index.js",
            "line": 2395
          },
          {
            "location": "dist/index.js",
            "line": 2424
          },
          {
            "location": "dist/index.js",
            "line": 2544
          },
          {
            "location": "dist/index.js",
            "line": 2586
          },
          {
            "location": "dist/utils.js",
            "line": 2
          },
          {
            "location": "src/collect.ts",
            "line": 3
          },
          {
            "location": "src/collect.ts",
            "line": 106
          },
          {
            "location": "src/collect.ts",
            "line": 107
          },
          {
            "location": "src/run.ts",
            "line": 22
          },
          {
            "location": "src/run.ts",
            "line": 767
          },
          {
            "location": "src/run.ts",
            "line": 805
          },
          {
            "location": "src/run.ts",
            "line": 806
          },
          {
            "location": "src/run.ts",
            "line": 953
          },
          {
            "location": "src/run.ts",
            "line": 1014
          },
          {
            "location": "src/utils/collect.ts",
            "line": 3
          },
          {
            "location": "src/utils/collect.ts",
            "line": 122
          },
          {
            "location": "src/utils/collect.ts",
            "line": 162
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 2
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 221
          },
          {
            "location": "dist/index.js",
            "line": 6
          },
          {
            "location": "dist/utils.js",
            "line": 3
          },
          {
            "location": "src/utils/collect.ts",
            "line": 4
          },
          {
            "location": "src/utils/collect.ts",
            "line": 239
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 4
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 553
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 573
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 576
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 579
          },
          {
            "location": "dist/chunk-tasks.js",
            "line": 582
          },
          {
            "location": "dist/index.js",
            "line": 2
          },
          {
            "location": "dist/index.js",
            "line": 162
          },
          {
            "location": "dist/index.js",
            "line": 402
          },
          {
            "location": "dist/index.js",
            "line": 409
          },
          {
            "location": "dist/index.js",
            "line": 481
          },
          {
            "location": "dist/index.js",
            "line": 503
          },
          {
            "location": "dist/index.js",
            "line": 504
          },
          {
            "location": "dist/index.js",
            "line": 602
          },
          {
            "location": "dist/index.js",
            "line": 628
          },
          {
            "location": "dist/index.js",
            "line": 651
          },
          {
            "location": "dist/index.js",
            "line": 680
          },
          {
            "location": "dist/index.js",
            "line": 764
          },
          {
            "location": "dist/index.js",
            "line": 800
          },
          {
            "location": "dist/index.js",
            "line": 845
          },
          {
            "location": "dist/index.js",
            "line": 1069
          },
          {
            "location": "dist/index.js",
            "line": 1202
          },
          {
            "location": "dist/index.js",
            "line": 1218
          },
          {
            "location": "dist/index.js",
            "line": 1347
          },
          {
            "location": "dist/index.js",
            "line": 1413
          },
          {
            "location": "dist/index.js",
            "line": 1533
          },
          {
            "location": "dist/index.js",
            "line": 1543
          },
          {
            "location": "dist/index.js",
            "line": 1550
          },
          {
            "location": "dist/index.js",
            "line": 1551
          },
          {
            "location": "dist/index.js",
            "line": 1801
          },
          {
            "location": "dist/index.js",
            "line": 2508
          },
          {
            "location": "dist/index.js",
            "line": 2509
          },
          {
            "location": "dist/utils.js",
            "line": 5
          },
          {
            "location": "src/collect.ts",
            "line": 4
          },
          {
            "location": "src/collect.ts",
            "line": 59
          },
          {
            "location": "src/fixture.ts",
            "line": 3
          },
          {
            "location": "src/fixture.ts",
            "line": 128
          },
          {
            "location": "src/fixture.ts",
            "line": 486
          },
          {
            "location": "src/fixture.ts",
            "line": 495
          },
          {
            "location": "src/fixture.ts",
            "line": 608
          },
          {
            "location": "src/fixture.ts",
            "line": 635
          },
          {
            "location": "src/fixture.ts",
            "line": 639
          },
          {
            "location": "src/hooks.ts",
            "line": 19
          },
          {
            "location": "src/hooks.ts",
            "line": 81
          },
          {
            "location": "src/hooks.ts",
            "line": 123
          },
          {
            "location": "src/hooks.ts",
            "line": 158
          },
          {
            "location": "src/hooks.ts",
            "line": 205
          },
          {
            "location": "src/hooks.ts",
            "line": 328
          },
          {
            "location": "src/hooks.ts",
            "line": 381
          },
          {
            "location": "src/hooks.ts",
            "line": 449
          },
          {
            "location": "src/run.ts",
            "line": 23
          },
          {
            "location": "src/run.ts",
            "line": 911
          },
          {
            "location": "src/run.ts",
            "line": 913
          },
          {
            "location": "src/suite.ts",
            "line": 28
          },
          {
            "location": "src/suite.ts",
            "line": 320
          },
          {
            "location": "src/suite.ts",
            "line": 498
          },
          {
            "location": "src/suite.ts",
            "line": 518
          },
          {
            "location": "src/suite.ts",
            "line": 728
          },
          {
            "location": "src/suite.ts",
            "line": 828
          },
          {
            "location": "src/suite.ts",
            "line": 1011
          },
          {
            "location": "src/suite.ts",
            "line": 1022
          },
          {
            "location": "src/suite.ts",
            "line": 1029
          },
          {
            "location": "src/suite.ts",
            "line": 1030
          },
          {
            "location": "src/utils/tasks.ts",
            "line": 3
          },
          {
            "location": "src/utils/tasks.ts",
            "line": 11
          },
          {
            "location": "src/utils/tasks.ts",
            "line": 34
          },
          {
            "location": "src/utils/tasks.ts",
            "line": 40
          },
          {
            "location": "src/utils/tasks.ts",
            "line": 46
          },
          {
            "location": "src/utils/tasks.ts",
            "line": 52
          },
          {
            "location": "dist/index.js",
            "line": 3
          },
          {
            "location": "dist/index.js",
            "line": 1620
          },
          {
            "location": "dist/index.js",
            "line": 1870
          },
          {
            "location": "src/context.ts",
            "line": 11
          },
          {
            "location": "src/context.ts",
            "line": 51
          },
          {
            "location": "src/run.ts",
            "line": 24
          },
          {
            "location": "src/run.ts",
            "line": 38
          },
          {
            "location": "dist/index.js",
            "line": 4
          },
          {
            "location": "dist/index.js",
            "line": 1552
          },
          {
            "location": "dist/index.js",
            "line": 1563
          },
          {
            "location": "src/suite.ts",
            "line": 21
          },
          {
            "location": "src/suite.ts",
            "line": 1031
          },
          {
            "location": "src/suite.ts",
            "line": 1045
          },
          {
            "location": "src/context.ts",
            "line": 1
          },
          {
            "location": "src/map.ts",
            "line": 1
          },
          {
            "location": "src/run.ts",
            "line": 1
          },
          {
            "location": "src/utils/collect.ts",
            "line": 1
          },
          {
            "location": "src/utils/tasks.ts",
            "line": 1
          },
          {
            "location": "src/run.ts",
            "line": 2
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@vitest/runner@4.1.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:07:05Z",
      "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 'runner' with version '4.1.0'. The package type in this SBOM is npm with a single purl namespace '@vitest' described under components. The components were identified from the source files: node_modules/@vitest/utils/package.json, node_modules/pathe/package.json."
    }
  ]
}