{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:8a15b9f3-4472-485b-bb78-069c5f336a2b",
  "version": 1,
  "metadata": {
    "timestamp": "2026-09-03T18:56:07Z",
    "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": "ts-invariant",
      "group": "",
      "version": "0.9.4",
      "description": "TypeScript implementation of invariant(condition, message)",
      "purl": "pkg:npm/ts-invariant@0.9.4",
      "bom-ref": "pkg:npm/ts-invariant@0.9.4",
      "author": "Ben Newman <ben@apollographql.com>",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, tsc, rollup, mocha, prepublish, pretest, test, test:mocha, test:no-node"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build"
        },
        {
          "name": "cdx:npm:hasInstallScript",
          "value": "true"
        },
        {
          "name": "cdx:npm:risky_scripts",
          "value": "prepublish"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/apollographql/invariant-packages"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/apollographql/invariant-packages.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@types"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "package-lock.json"
      }
    ]
  },
  "components": [
    {
      "group": "",
      "name": "tslib",
      "version": "2.3.0",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "37cda8a32c55366ea1d6b88b0a8c92f5eddfb89dc0306db3219b3619dd404dc4858d2036dd0d1fce38d97a1d236c9bd65436747094fcc9a34d69a5c7cee78d8e"
        }
      ],
      "purl": "pkg:npm/tslib@2.3.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tslib@2.3.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "tslib,__extends,tslib/__extends"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/invariant.esm.js",
            "line": 1
          },
          {
            "location": "lib/invariant.esm.js",
            "line": 9
          },
          {
            "location": "lib/invariant.js",
            "line": 5
          },
          {
            "location": "lib/tests.js",
            "line": 3
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "invariant",
      "version": "2.2.34",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "95852d989f41a9437af3c7c66355351d9a164f5fc9ae6822831da5a2ae19709a480840a6fce9b7577d78071773ca93b4bb93ce44a18c33ac743976a58d5d5816"
        }
      ],
      "purl": "pkg:npm/%40types/invariant@2.2.34",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.34.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/invariant@2.2.34",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.34.tgz"
        },
        {
          "name": "LocalNodeModulesPath",
          "value": "node_modules/@types/invariant"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "invariant",
      "version": "2.2.4",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "a6125f41506e689339ada3a926349f9220fa0696c213836cfff2da5e5eb0198b54058f379d64ba45ff6d5e6d9ef1568aeb42448d895d6cf89ffc0d81d42da034"
        }
      ],
      "purl": "pkg:npm/invariant@2.2.4",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/invariant@2.2.4",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "invariant"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "lib/tests.js",
            "line": 6
          },
          {
            "location": "src/tests.ts",
            "line": 8
          },
          {
            "location": "src/tests.ts",
            "line": 45
          }
        ]
      }
    },
    {
      "group": "",
      "name": "loose-envify",
      "version": "1.4.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "972bb13c6aff59f86b95e9b608bfd472751cd7372a280226043cee918ed8e45ff242235d928ebe7d12debe5c351e03324b0edfeb5d54218e34f04b71452a0add"
        }
      ],
      "purl": "pkg:npm/loose-envify@1.4.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/loose-envify@1.4.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
        },
        {
          "name": "cdx:npm:binPaths",
          "value": "/app/packages/ts-invariant/node_modules/.bin/loose-envify"
        },
        {
          "name": "cdx:npm:bin",
          "value": "loose-envify"
        },
        {
          "name": "cdx:npm:has_binary",
          "value": "true"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "js-tokens",
      "version": "4.0.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "45d2547e5704ddc5332a232a420b02bb4e853eef5474824ed1b7986cf84737893a6a9809b627dca02b53f5b7313a9601b690f690233a49bce0e026aeb16fcf29"
        }
      ],
      "purl": "pkg:npm/js-tokens@4.0.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/js-tokens@4.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    }
  ],
  "dependencies": [
    {
      "ref": "pkg:npm/tslib@2.3.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/@types/invariant@2.2.34",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/js-tokens@4.0.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/loose-envify@1.4.0",
      "dependsOn": [
        "pkg:npm/js-tokens@4.0.0"
      ]
    },
    {
      "ref": "pkg:npm/invariant@2.2.4",
      "dependsOn": [
        "pkg:npm/loose-envify@1.4.0"
      ]
    },
    {
      "ref": "pkg:npm/ts-invariant@0.9.4",
      "dependsOn": [
        "pkg:npm/@types/invariant@2.2.34",
        "pkg:npm/invariant@2.2.4",
        "pkg:npm/tslib@2.3.0"
      ]
    }
  ],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/ts-invariant@0.9.4"
      ],
      "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-03T18:56:07Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Thursday, September 3, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'ts-invariant' with version '0.9.4'. The package type in this SBOM is npm with a single purl namespace '@types' described under components. The components were identified from the source files: package-lock.json."
    }
  ]
}