{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:73afc67b-d64c-4073-b06e-98372d8b8b13",
  "version": 1,
  "metadata": {
    "timestamp": "2026-09-14T04:27:48Z",
    "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": "hooks",
      "group": "@garfish",
      "version": "1.19.12",
      "description": "hooks module.",
      "purl": "pkg:npm/%40garfish/hooks@1.19.12",
      "bom-ref": "pkg:npm/@garfish/hooks@1.19.12",
      "author": "chentao.arthur <chentao.arthur@bytedance.com>",
      "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": "http://garfish.bytedance.com"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/bytedance/garfish.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@garfish"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@garfish/utils/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "zhouxiao <codingzx@gmail.com>"
        }
      ],
      "group": "@garfish",
      "name": "utils",
      "version": "1.19.12",
      "description": "utils module.",
      "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/%40garfish/utils@1.19.12",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/bytedance/garfish"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/bytedance/garfish.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@garfish/utils@1.19.12",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@garfish/utils/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@garfish/utils,warn,@garfish/utils/warn,error,@garfish/utils/error,isObject,@garfish/utils/isObject,assert,@garfish/utils/assert,isPlainObject,@garfish/utils/isPlainObject"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@garfish/utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@garfish/utils/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/esm/index.js",
            "line": 2
          },
          {
            "location": "dist/esm/index.js",
            "line": 14
          },
          {
            "location": "dist/esm/index.js",
            "line": 60
          },
          {
            "location": "dist/esm/index.js",
            "line": 62
          },
          {
            "location": "dist/esm/index.js",
            "line": 80
          },
          {
            "location": "dist/esm/index.js",
            "line": 81
          },
          {
            "location": "dist/esm/index.js",
            "line": 93
          },
          {
            "location": "dist/esm/index.js",
            "line": 102
          },
          {
            "location": "dist/esm/index.js",
            "line": 110
          },
          {
            "location": "dist/esm/index.js",
            "line": 111
          },
          {
            "location": "dist/esm/index.js",
            "line": 117
          },
          {
            "location": "dist/esm/index.js",
            "line": 145
          },
          {
            "location": "dist/esm/index.js",
            "line": 153
          },
          {
            "location": "dist/esm/index.js",
            "line": 155
          },
          {
            "location": "dist/esm/index.js",
            "line": 165
          },
          {
            "location": "dist/esm/index.js",
            "line": 169
          },
          {
            "location": "dist/esm/index.js",
            "line": 171
          },
          {
            "location": "dist/esm/index.js",
            "line": 181
          },
          {
            "location": "dist/esm/index.js",
            "line": 185
          },
          {
            "location": "dist/index.js",
            "line": 35
          },
          {
            "location": "dist/index.js",
            "line": 93
          },
          {
            "location": "dist/index.js",
            "line": 135
          },
          {
            "location": "dist/index.js",
            "line": 178
          },
          {
            "location": "src/asyncWaterfallHooks.ts",
            "line": 1
          },
          {
            "location": "src/asyncWaterfallHooks.ts",
            "line": 19
          },
          {
            "location": "src/asyncWaterfallHooks.ts",
            "line": 20
          },
          {
            "location": "src/asyncWaterfallHooks.ts",
            "line": 27
          },
          {
            "location": "src/pluginSystem.ts",
            "line": 1
          },
          {
            "location": "src/pluginSystem.ts",
            "line": 21
          },
          {
            "location": "src/pluginSystem.ts",
            "line": 24
          },
          {
            "location": "src/pluginSystem.ts",
            "line": 37
          },
          {
            "location": "src/pluginSystem.ts",
            "line": 42
          },
          {
            "location": "src/pluginSystem.ts",
            "line": 44
          },
          {
            "location": "src/pluginSystem.ts",
            "line": 56
          },
          {
            "location": "src/pluginSystem.ts",
            "line": 64
          },
          {
            "location": "src/syncHook.ts",
            "line": 1
          },
          {
            "location": "src/syncHook.ts",
            "line": 18
          },
          {
            "location": "src/syncWaterfallHook.ts",
            "line": 1
          },
          {
            "location": "src/syncWaterfallHook.ts",
            "line": 5
          },
          {
            "location": "src/syncWaterfallHook.ts",
            "line": 28
          },
          {
            "location": "src/syncWaterfallHook.ts",
            "line": 29
          },
          {
            "location": "src/syncWaterfallHook.ts",
            "line": 41
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@garfish/hooks@1.19.12"
      ],
      "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-14T04:27:48Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Monday, September 14, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'hooks' with version '1.19.12'. The package type in this SBOM is npm with a single purl namespace '@garfish' described under components. The components were identified from the source files: node_modules/@garfish/utils/package.json."
    }
  ]
}