Skip to content

Latest commit

 

History

History
40 lines (25 loc) · 1.78 KB

README.md

File metadata and controls

40 lines (25 loc) · 1.78 KB

SBOM Generation for JavaScript

JavaScript

Target Project

This benchmark uses workers-sdk, Cloudflare's monorepo containing Wrangler (the CLI for Cloudflare Workers), Miniflare, and related tooling. It's a large-scale TypeScript/JavaScript project with complex dependency management.

Version: [email protected]

Tools

Tools from the sbomify resource list, specifically:

  • Trivy
  • Syft
  • sbomify github-action

Process

The benchmark workflow:

  1. Clones the workers-sdk repository at the specified tag
  2. Runs each SBOM generator against the project's pnpm-lock.yaml and source tree
  3. Scores each generated SBOM using sbomqs
  4. Produces a comparison table in the workflow summary

The full process is automated and you can see the exact commands in javascript.yml.

If you look at the JavaScript CI/CD run, you can see the quality score of the SBOMs (from sbomqs) as well as download the actual SBOMs as artifacts.

Why workers-sdk?

workers-sdk was chosen as a benchmark target because:

  • Monorepo structure: Multiple packages (Wrangler, Miniflare, C3) in a pnpm workspace
  • Production TypeScript: Powers Cloudflare's developer tooling used by millions
  • Complex dependencies: Hundreds of npm packages across multiple workspaces
  • pnpm lockfile: Tests SBOM generators' support for modern package managers
  • Widely used: 106k+ dependent repositories on GitHub