{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:1d9f217a-5cb5-43c2-bd02-2ab6888a55e4",
  "version": 1,
  "metadata": {
    "timestamp": "2026-09-14T07:54:03Z",
    "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": "workbox-precaching",
      "group": "",
      "version": "5.1.4",
      "description": "This module efficiently precaches assets.",
      "purl": "pkg:npm/workbox-precaching@5.1.4",
      "bom-ref": "pkg:npm/workbox-precaching@5.1.4",
      "author": "Google's Web DevRel Team",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, version, prepare"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build"
        },
        {
          "name": "cdx:npm:hasInstallScript",
          "value": "true"
        },
        {
          "name": "cdx:npm:risky_scripts",
          "value": "prepare"
        },
        {
          "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/GoogleChrome/workbox"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "package-lock.json"
      }
    ]
  },
  "components": [
    {
      "group": "",
      "name": "workbox-core",
      "version": "5.0.0-alpha.0",
      "scope": "required",
      "purl": "pkg:npm/workbox-core@5.0.0-alpha.0",
      "type": "library",
      "bom-ref": "pkg:npm/workbox-core@5.0.0-alpha.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:versionMismatchError",
          "value": "5.1.4 used instead of 5.0.0-alpha.0"
        },
        {
          "name": "ImportedModules",
          "value": "workbox-core/_private/assert.js,assert,workbox-core/_private/assert.js/assert,workbox-core/_private/cacheNames.js,cacheNames,workbox-core/_private/cacheNames.js/cacheNames,workbox-core/_private/cacheWrapper.js,cacheWrapper,workbox-core/_private/cacheWrapper.js/cacheWrapper,workbox-core/_private/fetchWrapper.js,fetchWrapper,workbox-core/_private/fetchWrapper.js/fetchWrapper,workbox-core/_private/logger.js,logger,workbox-core/_private/logger.js/logger,workbox-core/_private/WorkboxError.js,WorkboxError,workbox-core/_private/WorkboxError.js/WorkboxError,workbox-core/copyResponse.js,copyResponse,workbox-core/copyResponse.js/copyResponse,workbox-core/_private/getFriendlyURL.js,getFriendlyURL,workbox-core/_private/getFriendlyURL.js/getFriendlyURL,workbox-core/types.js,RouteHandlerCallback,workbox-core/types.js/RouteHandlerCallback,RouteHandlerCallbackOptions,workbox-core/types.js/RouteHandlerCallbackOptions,WorkboxPlugin,workbox-core/types.js/WorkboxPlugin"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "PrecacheController.js",
            "line": 8
          },
          {
            "location": "PrecacheController.js",
            "line": 47
          },
          {
            "location": "PrecacheController.js",
            "line": 112
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 9
          },
          {
            "location": "PrecacheController.js",
            "line": 9
          },
          {
            "location": "PrecacheController.js",
            "line": 10
          },
          {
            "location": "PrecacheController.js",
            "line": 11
          },
          {
            "location": "PrecacheController.js",
            "line": 12
          },
          {
            "location": "PrecacheController.js",
            "line": 13
          },
          {
            "location": "PrecacheController.js",
            "line": 14
          },
          {
            "location": "cleanupOutdatedCaches.js",
            "line": 8
          },
          {
            "location": "cleanupOutdatedCaches.js",
            "line": 9
          },
          {
            "location": "precache.js",
            "line": 8
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 8
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 9
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 10
          },
          {
            "location": "utils/createCacheKey.js",
            "line": 8
          },
          {
            "location": "utils/printCleanupDetails.js",
            "line": 8
          },
          {
            "location": "utils/printInstallDetails.js",
            "line": 8
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 10
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 11
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 12
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 13
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 14
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 15
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 17
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 18
          },
          {
            "location": "src/addPlugins.ts",
            "line": 9
          },
          {
            "location": "src/cleanupOutdatedCaches.ts",
            "line": 9
          },
          {
            "location": "src/cleanupOutdatedCaches.ts",
            "line": 10
          },
          {
            "location": "src/precache.ts",
            "line": 9
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 9
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 10
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 11
          },
          {
            "location": "src/utils/createCacheKey.ts",
            "line": 9
          },
          {
            "location": "src/utils/precachePlugins.ts",
            "line": 9
          },
          {
            "location": "src/utils/printCleanupDetails.ts",
            "line": 9
          },
          {
            "location": "src/utils/printInstallDetails.ts",
            "line": 9
          },
          {
            "location": "PrecacheController.js",
            "line": 32
          },
          {
            "location": "cleanupOutdatedCaches.js",
            "line": 21
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 41
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 45
          },
          {
            "location": "src/cleanupOutdatedCaches.ts",
            "line": 24
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 57
          },
          {
            "location": "PrecacheController.js",
            "line": 240
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 287
          },
          {
            "location": "PrecacheController.js",
            "line": 203
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 245
          },
          {
            "location": "PrecacheController.js",
            "line": 94
          },
          {
            "location": "PrecacheController.js",
            "line": 339
          },
          {
            "location": "cleanupOutdatedCaches.js",
            "line": 25
          },
          {
            "location": "precache.js",
            "line": 18
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 52
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 66
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 76
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 78
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 79
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 80
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 81
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 82
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 83
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 84
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 85
          },
          {
            "location": "utils/printCleanupDetails.js",
            "line": 17
          },
          {
            "location": "utils/printCleanupDetails.js",
            "line": 19
          },
          {
            "location": "utils/printCleanupDetails.js",
            "line": 21
          },
          {
            "location": "utils/printCleanupDetails.js",
            "line": 32
          },
          {
            "location": "utils/printCleanupDetails.js",
            "line": 36
          },
          {
            "location": "utils/printInstallDetails.js",
            "line": 20
          },
          {
            "location": "utils/printInstallDetails.js",
            "line": 22
          },
          {
            "location": "utils/printInstallDetails.js",
            "line": 24
          },
          {
            "location": "utils/printInstallDetails.js",
            "line": 42
          },
          {
            "location": "utils/printInstallDetails.js",
            "line": 45
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 112
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 391
          },
          {
            "location": "src/cleanupOutdatedCaches.ts",
            "line": 29
          },
          {
            "location": "src/precache.ts",
            "line": 29
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 69
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 85
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 97
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 99
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 101
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 102
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 103
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 105
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 106
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 107
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 109
          },
          {
            "location": "src/utils/printCleanupDetails.ts",
            "line": 20
          },
          {
            "location": "src/utils/printCleanupDetails.ts",
            "line": 23
          },
          {
            "location": "src/utils/printCleanupDetails.ts",
            "line": 26
          },
          {
            "location": "src/utils/printCleanupDetails.ts",
            "line": 38
          },
          {
            "location": "src/utils/printCleanupDetails.ts",
            "line": 42
          },
          {
            "location": "src/utils/printInstallDetails.ts",
            "line": 24
          },
          {
            "location": "src/utils/printInstallDetails.ts",
            "line": 27
          },
          {
            "location": "src/utils/printInstallDetails.ts",
            "line": 30
          },
          {
            "location": "src/utils/printInstallDetails.ts",
            "line": 53
          },
          {
            "location": "src/utils/printInstallDetails.ts",
            "line": 57
          },
          {
            "location": "PrecacheController.js",
            "line": 238
          },
          {
            "location": "src/PrecacheController.ts",
            "line": 284
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 53
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 67
          },
          {
            "location": "utils/addFetchListener.js",
            "line": 77
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 70
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 86
          },
          {
            "location": "src/utils/addFetchListener.ts",
            "line": 98
          }
        ]
      }
    }
  ],
  "dependencies": [
    {
      "ref": "pkg:npm/workbox-core@5.0.0-alpha.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/workbox-precaching@5.1.4",
      "dependsOn": [
        "pkg:npm/workbox-core@5.0.0-alpha.0"
      ]
    }
  ],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/workbox-precaching@5.1.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-14T07:54:03Z",
      "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 'workbox-precaching' with version '5.1.4'."
    }
  ]
}